智能卡的安全機制及其防范策略
文章出處:http://botanicstilllife.com 作者:馮清枝 王志群 人氣: 發(fā)表時間:2011年09月29日
0 引言
伴隨信息識別技術的發(fā)展和社會對信息安全要求的日益提高,作為一種新型的信息存儲媒體,智能卡應運而生。智能卡的研制和應用涉及微電子技術、計算機技術和信息安全技術等學科,其廣泛應用于行業(yè)管理、網絡通訊、醫(yī)療衛(wèi)生、社會保險、公用事業(yè)、金融證券以及電子商務等方面,極大地提高了人們生活和工作的現代化程度,已經成為衡量一個國家科技發(fā)展水平的標志之一。智能卡是將具有存儲、加密及數據處理能力的集成電路芯片鑲嵌于塑料基片上制成的卡片,具有暫時或永久的數據存儲能力,數據內容可供內部處理、判斷或外部讀取;具有邏輯和數學運算處理能力,用于芯片本身的處理需求以及識別、響應外部提供的信息,其外形與普通磁卡制成的信用卡十分相似,只是略厚一些。智能卡的硬件主要包括微處理器和存儲器兩部分,邏輯結構如圖1 所示。
智能卡內部的微處理器一般采用8 位字長的中央處理器,當然更高位的微處理器也正在開始應用。微處理器的主要功能是接受外部設備發(fā)送的命令,對其進行分析后,根據需要控制對存儲器的訪問。訪問時,微處理器向存儲器提供要訪問的數據單元地址和必要的參數,存儲器則根據地址將對應的數據傳輸給微處理器,最后由微處理器對這些數據進行處理操作。此外,智能卡進行的各種運算(如加密運算) 也是由微處理器完成的。而控制和實現上述過程的是智能卡的操作系統COS??▋鹊拇鎯ζ魅萘恳话愣疾皇呛艽? 存儲器通常是由只讀存儲器ROM、隨機存儲器RAM 和電擦除可編程存儲器EEPROM組成。其中,ROM 中固化的是操作系統代碼,其容量取決于所采用的微處理器;RAM 用于存放操作數據,容量通常不超過1KB ; EEPROM中則存儲了智能卡的各種信息,如加密數據和應用文件等,容量通常介于2KB 到32KB 之間,這部分存儲資源可供用戶開發(fā)利用。
圖1 智能卡的硬件結構
1 智能卡的安全機制
智能卡的優(yōu)勢主要體現在廣闊的存儲空間和可靠的安全機制等方面。其中安全機制可以歸納為:認證操作、存取權限控制和數據加密三個方面。
1.1.1 認證操作
認證操作包括持卡人的認證、卡的認證和終端的認證三個方面。持卡人的認證一般采用提交密碼的方法,也就是由持卡人通過輸入設備輸入只有本人知曉的特殊字符串,然后由操作系統對其進行核對??ǖ恼J證和終端的認證多采用某種加密算法,被認證方用事先約定的密碼對隨機數進行加密,由認證方解密后進行核對。
1.1.2 存取權限控制
存取權限控制主要是對涉及被保護存儲區(qū)的操作進行權限限制,包括對用戶資格、權限加以審查和限制,防止非法用戶存取數據或合法用戶越權存取數據等。每個被保護存儲區(qū)都設置有讀、寫、擦除的操作存取權限值,當用戶對存儲區(qū)進行操作時,操作系統會對操作的合法性進行檢驗。如果允許本項操作,則用戶正常進行操作;反之,如果本項操作受到限制,則要求用戶提供相關參數。當用戶不能提供正確的參數時,則此項操作被中止。
在智能卡系統中,信息存儲的組織方式為文件形式。每一文件都有一個文件頭,文件頭的主要內容包括文件標志碼、文件長度、文件起始地址、文件層次隸屬和存取權限值等信息,其中存取權限值表明此文件所支持的操作。
在實際應用中,所有智能卡與讀卡器等終端設備之間的傳送信息都是經過加密處理的,以避免通信線路上的竊取和篡改。目前廣泛流行的加密算法有對稱加密算法、非對稱加密算法等。理論證明,當對稱加密算法采用的密鑰長度為64 位時,如果對加密算法進行密鑰搜索破譯,采用一般的處理器,需要耗費數萬年的時間;而要縮短時間,則需要耗費巨大的財力和物力。同時,為了確保安全,人們還對密鑰采取了限制試探次數的方法,如果在給定次數的密鑰輸入過程中未能輸入正確的密碼,那么卡將進入死鎖狀態(tài),不響應任何的用戶操作,只有發(fā)行商才能恢復,這樣可防止非法用戶采用窮舉法或猜測法試探出密碼。
2 數據加密技術
加密技術是為了提高信息系統和通訊數據的安全性及保密性,防止秘密數據被外部破析而采取的技術手段。隨著信息技術的發(fā)展,信息安全日益引起人們的關注。目前各國除了在法律上、管理上加強數據信息的安全保護以外,在技術上也從硬件和軟件兩個方面采取措施,推動物理防范技術和數據加密技術的不斷發(fā)展。數據加密技術按照密鑰的公開與否可以分為對稱加密(DES) 算法和不對稱加密(RSA) 算法兩種。
在對稱加密算法中,加密密鑰和解密密鑰是相同的,為了安全起見,密鑰要定期地改變。對稱加密算法速度快,所以廣泛應用于處理大量數據信息的場合,其技術關鍵是保證密鑰的安全。對稱加密系統是迄今為止應用最廣泛、最安全的加密系統,也是傳統的分組密碼學的典型代表。在對稱加密算法設計中,人們采用散布和混亂兩種技術來隱蔽信息,選取置換、移位和模2 加運算等來構成算法的基本單元,因而加密算法可以在任何普通計算機上實現。對稱加密算法最引人注目的地方是它的算法和數據完全公開,以DES 算法的特點,理論上采用窮舉法肯定可以找到所用的密鑰,但是,以目前的計算機處理速度和費用還是無法做到的。此外,DES 發(fā)表近20 年來,無數專業(yè)人員已經對DES 的安全性做了大量的研究工作,迄今為止,還沒有人確信它是可以攻破的。但是,DES 的一個令人擔憂的問題是:傳輸密鑰時容易被截獲,從而對安全性構成威脅。
在不對稱加密算法中,分別存在公鑰和私鑰,公鑰公開,私鑰保密。公鑰和私鑰具有一一對應的關系,用公鑰加密的數據只有用私鑰才能解開,其效率低于對稱加密算法。數據發(fā)送方采用自己的私鑰加密數據,接受方用發(fā)送方的公鑰解密,由于私鑰和公鑰之間的嚴格對應性,使用其中一個密鑰只能用另一個密鑰來解密,從而保證了發(fā)送方不能抵賴發(fā)送過數據,完全模擬了現實生活中的簽名。非對稱加密算法是從一個著名的數學難題中產生的,即求兩個大素數的乘積容易,而分解兩個大素數的乘積困難,它屬于NPI 類問題,至今還沒有有效的解法。
RSA 算法本身在概念上很簡單,它將明文作為數字處理,并進行特定的指數運算,加密、解密可以按照任意次序進行,并且多個加密、解密可以相互交換,這些特性使它成為一個非常理想的算法。但是,使用此算法對200 位十進制數和以200 位十進制數為指數的大數值數據進行運算時,普通計算機是很難勝任的,因此,RSA 的應用還極少見。盡管如此,它的更為可靠、有效的安全性為數據加密技術提供了發(fā)展的基礎。
對持卡人、卡和終端設備之間的相互認證以及數據的加密均可采用上述兩種加密算法中的一種。
3 智能卡的防范策略
盡管智能卡具有更大的信息存儲容量和更高的信息安全性,但是某些行為人出于政治狂熱、經濟利益,或是智力挑戰(zhàn)等目的,會采取多種方式對智能卡安全系統實施內部攻擊或外部攻擊。這些攻擊可以表現為:持卡人可能嘗試那些系統沒有賦予他們權限的行為,或者使用設計者忽略的程序;惡意的或者缺少誠信的持卡人通過破析加密算法,獲取和分析系統存儲的信息以牟取暴利;智能卡發(fā)行部門的雇員或方案操作人員伺機復制、分析或盜取數據和硬件,或者對與他們有關系的人員給予特殊的權利和利益;偽卡犯罪團伙可能采用分析系統的辦法獲得權利,或者使用計算機系統建立虛假帳戶或進行虛假交易;狂熱的黑客熱衷于破壞系統,這是所有攻擊中最危險的攻擊,但是,只有政府或國家金融系統可能會遭受這種攻擊。只要動機足夠強烈,加之足夠的資源和時間,總是有攻擊成功的機會,甚至最好的加密系統也會遭受“碰大運”式的冒險攻擊,從而給智能卡系統的經營者和用戶帶來巨大損失。
為了進一步提高智能卡對各種攻擊的抵御能力,需要采取以下策略來保證它的安全性:
(1) 在制造智能卡和卡芯時,必須著重強調制造過程的安全性。工廠的物理安全需要仔細地控制。制造商的身份號和序列號應當寫入一次性可編程存儲器中,用以鎖存數據。此外,在離開生產車間時,需要對智能卡進行測試,測試合格后加注安全注冊標識。
(2) 智能卡系統的安全性還體現在軟件設計上。應當對照現有的國際標準和國內標準,規(guī)范制定智能卡軟件安全規(guī)范;充分地分析和利用開發(fā)平臺的安全特征,建立功能齊全的智能卡安全功能模塊庫,構造高效的智能卡安全集成系統,以滿足高安全性要求的應用需求,對信息安全提供多方面的保護。軟件系統的安全機制包括:引入安全管理員的機制,負責網絡安全管理,并與系統管理員協同進行資源訪問的管理;采用高強度的加密算法和一次一密的口令,保障通信傳輸的安全;提供數字簽名的功能,檢驗數據的完整性,確保不可抵賴性;添加審計監(jiān)控的功能,對非法訪問行為給以預警告示。
(3) 數據安全是建立在密鑰安全的基礎上。密鑰管理是保證數據安全的重要手段,密鑰管理包括密鑰生成和密鑰發(fā)送兩個環(huán)節(jié)。先進的密鑰管理系統應當安全地產生智能卡讀寫及認證操作所需的各種密鑰,并確保密鑰生成與發(fā)送過程中的安全性和一致性,實現集中式的密鑰管理。同時還必須配以嚴格的管理規(guī)章制度。
(4) 生物識別技術是利用人的生理特征和行為特征,如顏面、指紋、聲紋、虹膜掃描和動力學簽名等來識別個人的身份,是目前最為方便和安全的個人識別技術。生物識別技術包括特征提取、模型訓練和模式識別等環(huán)節(jié),在智能卡中存入用戶的特征模式能夠極大地提高其安全性,當對智能卡進行認證時,計算機能夠精確地測定持卡人和卡上存儲模式的匹配程度,從而有效地增強了智能卡的防偽能力。
(文/中國刑警學院刑事科學技術系,馮清枝 王志群)