針對DES密碼芯片的CPA攻擊仿真設(shè)計(jì)方案
摘 要: 為研究密碼芯片抗功耗分析性能,構(gòu)造了一個(gè)功耗分析研究平臺,結(jié)合DES算法在平臺上進(jìn)行了相關(guān)性功耗分析(CPA)攻擊仿真實(shí)驗(yàn)。根據(jù)猜測部分密鑰時(shí)的模擬功耗與猜測整個(gè)密鑰時(shí)模擬功耗之間的相關(guān)系數(shù)大小來確定猜測密鑰的正確性,由此可以確定整個(gè)密鑰。這種功耗分析仿真方法,能夠揭示未經(jīng)防御的DES算法面臨CPA攻擊時(shí)的脆弱性。
本文引用地址:http://www.ex-cimer.com/article/150541.htm隨著Interne的迅猛發(fā)展,智能卡、掌上電腦和移動(dòng)電話的不斷普及應(yīng)用,不犯罪分子就利用網(wǎng)絡(luò)對別人進(jìn)行信息的偷盜,人們需要對一些信息隱私進(jìn)行保護(hù),因此信息安全問題日益突出。近年來,出現(xiàn)了一種新的攻擊方法,通常被稱為旁道攻擊。它是根據(jù)密碼芯片在加解密時(shí)所泄漏的一些微弱的旁道信息,如功耗、時(shí)間、電磁輻射及差錯(cuò)信息等進(jìn)行攻擊。攻擊者利用旁道泄漏信息,結(jié)合統(tǒng)計(jì)學(xué)等學(xué)科的知識,能夠在短時(shí)間內(nèi)成功破解一些密碼算法的密鑰。以下本文的分析結(jié)果。
在旁道攻擊方法中,功耗分析方法應(yīng)用得最為廣泛和成熟,因?yàn)楣男畔⒆钊菀诇y量和分析。研究針對密碼芯片的功耗分析方法是為了檢驗(yàn)芯片是否具有抗功耗分析能力或是檢驗(yàn)密碼芯片抗功耗分析攻擊能力的大小。相關(guān)性功耗分析是功耗分析中一種,相關(guān)性功耗分析每次考慮的相關(guān)位比傳統(tǒng)的差分功耗分析多,所以更具有威脅性。
1 DES密碼算法的硬件結(jié)構(gòu)及功耗泄漏模型
數(shù)據(jù)加密算法(Data Encryption Algorithm,DEA)是一種對稱加密算法,很可能是使用最廣泛的密鑰系統(tǒng),特別是在保護(hù)金融數(shù)據(jù)的安全中,最初開發(fā)的DEA是嵌入硬件中的。DES 使用一個(gè) 56 位的密鑰以及附加的 8 位奇偶校驗(yàn)位,產(chǎn)生最大 64 位的分組大小。這是一個(gè)迭代的分組密碼,使用稱為 Feistel 的技術(shù),其中將加密的文本塊分成兩半。使用子密鑰對其中一半應(yīng)用循環(huán)功能,然后將輸出與另一半進(jìn)行“異或”運(yùn)算;接著交換這兩半,這一過程會(huì)繼續(xù)下去,但最后一個(gè)循環(huán)不交換。DES 使用 16 個(gè)循環(huán),使用異或,置換,代換,移位操作四種基本運(yùn)算。
1.1 DES密碼算法的硬件結(jié)構(gòu)
DES密碼算法是分組加密算法,能夠?qū)潭ㄩL度的一組明文進(jìn)行加解密,如果采用ASIC方式實(shí)現(xiàn),固定長度意味著運(yùn)算時(shí)的中間結(jié)果所需要的存儲寬度是相同的。DES密碼算法的輪結(jié)構(gòu)也是相同的,每輪運(yùn)算可以共用一個(gè)硬件結(jié)構(gòu)體,所不同的是每輪運(yùn)算時(shí)所用的子密鑰是不同的。DES算法的結(jié)構(gòu)特點(diǎn)適合ASIC方式實(shí)現(xiàn),其通用的硬件結(jié)構(gòu)如圖1所示。
在ASIC方式實(shí)現(xiàn)的硬件電路中,攻擊者經(jīng)常針對寄存器進(jìn)行攻擊。之所以選擇寄存器攻擊主要原因有:
?。?)寄存器在ASIC中通常被用來做存儲器,包括暫存一些與密鑰相關(guān)的關(guān)鍵數(shù)據(jù)。
?。?)與反相器、“與非門”等非時(shí)序邏輯相比較,寄存器的功耗大一些。
(3)寄存器是時(shí)鐘沿觸發(fā)電路,易于在時(shí)序上定位。
評論