對智能卡微控制器的動態(tài)分析和防御:測量CPU的電流損耗
出處:computer00 發(fā)布于:2008-11-21 14:44:19
在1995年本書的第1版中,就這一點已經(jīng)作出了如下的闡述:“處理器的設(shè)計對安全性是關(guān)鍵的。智能卡 處理器對所有機器命令必須具有基本相同的電流損耗,否則基于電流損耗就可做出有關(guān)處理命令的判斷,一 定數(shù)量的秘密信息就可以從這些結(jié)論中推出。自從1998年6月PaulKocher,Joshua Jaffe和Benjεlmln Jun 發(fā)表了關(guān)于簡單功率分析SPA(Simple Pow·er Analysis)和差分功率分析DPA(Differential Powˉer Analysis)[ Kocher 98]以來,分析執(zhí)行命令時處理器的電流損耗可以推出處理器執(zhí)行的命令,甚至于所 處理的數(shù)據(jù)。這一結(jié)論多年來已是人所共知的事實了。
如圖1所示,比較起來簡單功率分析的工作原理并不復(fù)雜的,微控制器的電流損耗可由測量串接在電源回 路中的電阻上的電壓降而確定,用一個高時間分辨率的模數(shù)轉(zhuǎn)換器來測量。對于高性能的處理器,諸如 Pentium或Power PC困其內(nèi)部處理的復(fù)雜性不可能得出關(guān)于所執(zhí)行命令的結(jié)論。另一方面,對于智能卡用的 比較簡單的微控制器如:8051和6085 CPU的設(shè)計就是可測的,可以說明隨所處理的命令與數(shù)據(jù)的不同其電流 損耗的變化。
差分功率分析和簡單功率分析相比,甚至能揭示出微控制器的更細致的電流損耗的差別,用DPA技術(shù)先測 量微控制器處理已知數(shù)據(jù)的電流損耗,再測量未知數(shù)據(jù)時的電流損耗,測量應(yīng)多次重復(fù)以便取得平均值而排 除噪音影響,一旦測量完成并計算出差別,有關(guān)未知數(shù)據(jù)的結(jié)論即可由此結(jié)果得出,見圖2和圖3。
在Kocher等人的論文“高階差分功率分析”(HO-DPA)是作為DPA的進一步擴充來論述的,這里測量的不 僅是微控制器的電流損耗,還包括了依賴于處理器所執(zhí)行的程序的其他量,諸如芯片的電磁輻射。測量數(shù)據(jù) 按下述方式收集:即對于已知和未知數(shù)據(jù)二者的收集,然后使用和DPA技術(shù)中相同的方法去計算差別,即可 計算出秘密數(shù)據(jù)。

圖1 智能卡微處理器,執(zhí)行幾條不同的機器命令時的電流變化的簡略圖示(電流損耗依賴于所處理的數(shù)據(jù)和所執(zhí)行的機器命令)

圖2 用串連電阻進行簡單電流測量時,所需的智能卡微控制器的電路連接圖

圖3 智能卡微控制器在閑置狀態(tài)的電流損耗和工作時的電流變化的簡化顯示(基于微控制器所吸收的電流, 有可能識別出隨著I/0線上的第1個下降邊微控制器從睡眠狀態(tài)被喚醒。
接著由于執(zhí)行了不同的機器命令而呈 現(xiàn)出連續(xù)變化的功率損耗)
在尚未采取適當保護對策時,對智能卡微控制器的這三種類型的功率分析是對軟件和硬件的極為嚴重的攻擊形式。因為,對某些微控制器來說,其電流損耗是固定地依賴于所執(zhí)行的機器命令以及被此命令所處理的數(shù)據(jù)。此外,在此方法中為成功攻擊所需設(shè)各的價格和復(fù)雜性也比較有限。當然,也可以采取一系列的有效對策,它們一方面是基于改進的硬件而另一方面則是對軟件的改變。
簡單的硬件解決方案是在芯片中集成一個快速電壓調(diào)節(jié)器,它利用一系列的傳感電阻來保證微控制器的電流損耗與機器命令和數(shù)據(jù)無關(guān)。芯片上的人工電流噪音發(fā)生器也是一個有效的方案。技術(shù)上比較復(fù)雜的解決方案包括修改處理器的半導(dǎo)體設(shè)計,使得它的電流損耗總是固定不變的。
這里我們簡短地敘述某些代表性的例子,說明存在著范圍極其廣泛的軟件對策。簡單的方法是采用電流損耗非常接近的機器命令。在這種情況下,不允許使用那些電流損耗明顯地不同于平均電流損耗的機器命令,不允許它們出現(xiàn)在匯編代碼中。另外的方案是準備幾個執(zhí)行同一計算過程的加密算法,每次需要時就從這些過程中隨機選用一個,這使得觀察者去辨別已知和未知機器命令或被處理的數(shù)據(jù)的相互關(guān)系時顯得比較困難。為了使成功地實現(xiàn)功率分析前必須采集的數(shù)據(jù)更加難于獲取,所有的密鑰應(yīng)由不可逆的重試計數(shù)器保護。此外,必須閉鎖對所有可能用來傳送任何經(jīng)智能卡加密算法處理的預(yù)期數(shù)據(jù)的命令的自由訪問(例如INTERNAL AUTHENTICATE)。如果出于某些原因必須使用這類命令,在執(zhí)行它們之前智能卡必須測試終端的真實性,這種對命令在使用上的限制,使得為后繼的功率分析搜集基準數(shù)據(jù)變得困難多了。
歡迎轉(zhuǎn)載,信息來源維庫電子市場網(wǎng)(m.58mhw.cn)
版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識2025/6/18 16:30:52









