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