智能IC卡的安全機制、攻擊方法以及防范策略
文章出處:http://m.overnightmodel.com 作者:未知 人氣: 發(fā)表時間:2012年01月23日
1 智能卡簡介
智能卡又名IC卡、智慧卡、聰明卡,它是由一個或多個集成電路芯片組成,并封裝成便于人們攜帶的卡片,在集成電路中具有微電腦CPU和存儲器。隨著超大規(guī)模集成電路技術、計算機技術和信息安全技術等的發(fā)展,智能卡技術也更成熟,目前已廣泛應用到銀行、電信、交通、社會保險、電子商務等領域。
2 智能卡的安全機制
與磁條卡相比較,智能卡的優(yōu)勢不僅在于存儲容量的大幅度提高、應用功能的加強和擴充,更重要的是CPU所提供的安全機制。其中安全機制可以歸納為:認證操作、存取權限控制和數據加密三個方面。
2. 1 認證操作。認證操作包括持卡人的認證、卡的認證和終端的認證三個方面。持卡人的認證一般采用提交密碼的方法,也就是由持卡人通過輸入設備輸入只有本人知曉的特殊字符串,然后由操作系統(tǒng)對其進行核對??ǖ恼J證和終端的認證多采用某種加密算法,被認證方用事先約定的密碼對隨機數進行加密,由認證方解密后進行核對。
2. 2 存取權限控制。存取權限控制主要是對涉及被保護存儲區(qū)的操作進行權限限制,包括對用戶資格、權限加以審查和限制,防止非法用戶存取數據或合法用戶越權存取數據等。每個被保護存儲區(qū)都設置有讀、寫、擦除的操作存取權限值,當用戶對存儲區(qū)進行操作時,操作系統(tǒng)會對操作的合法性進行檢驗。
2. 3 數據加密技術。加密技術是為了提高信息系統(tǒng)和通訊數據的安全性及保密性,防止秘密數據被外部破析而采取的技術手段。數據加密技術按照密鑰的公開與否可以分為對稱加密算法和不對稱加密算法兩種。
3 智能卡的攻擊方法
對智能卡的攻擊可分為三種基本類型:物理攻擊、邏輯攻擊和邊頻攻擊。下面就這三種攻擊技術的具體實施方式加以分析。
3. 1 物理攻擊。物理攻擊主要是分析或更改智能卡硬件。用于實現物理攻擊的手段和工具包括化學溶劑、蝕刻與著色材料、顯微鏡、亞微米探針臺以及粒子束F IB等。用于實施物理攻擊的主要方法包括:
?、傥⑻结樇夹g:攻擊者通常在去除芯片封裝之后,通過恢復芯片功能焊盤與外界的電氣連接,最后可以使用微探針獲取感興趣的信號,從而分析出智能卡的有關設計信息和存儲結構,甚至直接讀取出存儲器的信息進行分析。
?、诎鎴D重構:利用高倍光學及射電顯微鏡研究電路的連接模式,可以迅速識別芯片上的一些基本結構,如數據線和地址線。
3. 2 邏輯攻擊。邏輯攻擊是軟件的執(zhí)行過程中插入竊聽程序。智能卡及其COS中存在多種潛在的邏輯缺陷,諸如潛藏的命令、不良參數與緩沖器溢出、文件存取、惡意進程、通信協(xié)議、加密協(xié)議等。邏輯攻擊者利用這些缺陷誘騙卡主泄露機密數據或允許非期望的數據修改。
3. 3 邊頻攻擊。邊頻攻擊是通過觀察電路中的某些物理量,如能量消耗、電磁輻射、時間等的變化規(guī)律,來分析智能卡的加密數據;或通過干擾電路中的某些物理量,如電壓、電磁輻射、溫度、光和X射線、頻率等,來操縱智能卡的行為。
4 智能卡的防范策略
針對智能卡的以上種種攻擊方法,下面我們來分析一下應對各種攻擊的防范策略。
4. 1 物理攻擊的防范策略
?、贉p小形體尺寸:使攻擊者無法使用光學顯微鏡來分析芯片的電路結構,但仍無法抵制高倍顯微鏡。
?、诙鄬与娐吩O計:將包含敏感數據的層隱藏在較不敏感的層之下,使得微探針技術的使用受到一定限制。
③頂層傳感器保護網:在芯片的表面加上一層格狀的帶有保護信號的激活網絡,當入侵行為發(fā)生時,該信號中斷,使內存的內容清零。
?、苕i存電路:在智能卡的處理器中設置鎖存位。當出現異常情況時,它會發(fā)出鎖存信號,立即清除芯片中的敏感數據。
4. 2 邏輯攻擊的防范策略
?、俳Y構化設計:以小的功能模塊構建軟件,使程序易于理解和校驗
?、谡?guī)的校驗:使用數學模型進行功能校驗
?、蹨y試:對軟件的運行情況進行測試
4. 3 DPA攻擊的防范策略
應對DPA攻擊的安全策略基本分為三個層面:硬件、軟件和應用層面:
(1)硬件層面的防范措施:
?、俨捎闷胶怆娐方档托盘柲芰?以及設置金屬防護以抑制電磁發(fā)射。
②執(zhí)行并行隨機處理來加大幅值噪聲水平。
③隨時處理中斷引入的時間噪聲和不同的時鐘頻率。對差分軌跡進行計算機處理的基礎是軌跡可排列。在加入軌跡之前處理器的工作步驟應是同步的。時間噪聲會防止或至少妨礙軌跡很好地排列。
(2)軟件層面的防范措施:
?、俨捎秒S機處理順序來減少相關的信號。例如,算法中的平行置換(諸如DES中的S盒)可依隨機的順序來完成,置換的數目重新排序,則可將一次置換產生的信號分解。
②利用隨機延時和改變路徑來增加計時噪聲。計時噪聲會妨礙軌跡的排列,并降低差分軌跡的質量。
(3)應用層面的防范措施:
?、僭O置計數器,用于限制攻擊者試探的次數。連續(xù)三次P IN校驗失敗后自鎖是防范差分能量分析的有效方法。
?、谙拗萍用芩惴ㄖ休斎胼敵龅目刂坪涂梢姸取H绻荒苓x擇部分輸入,或只有部分算法的結果返回,攻擊者就無法完成差分能量分析。
5 結束語
智能卡應用系統(tǒng)的安全環(huán)境很復雜,智能卡攻擊方法的有效性以攻擊者所獲得的效益高于其耗費的時間、精力、經費等作為標準,防范措施的技巧多在于增加攻擊成功的難度和成本。然而這些防范措施將增加設計的復雜程度和成本。因此在具體應用時必須根據系統(tǒng)所要求的安全級別,來探索在降低安全威脅與增加安全成本之間尋找最佳平衡點的安全設計策略。