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