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