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