防DPA攻擊的集成電路設(shè)計(jì)方法
發(fā)布時(shí)間:2014-09-26 責(zé)任編輯:sherryyu
【導(dǎo)讀】與傳統(tǒng)的攻擊技術(shù)相比,差分功耗分析(DPA,Differential Power Analysis)攻擊技術(shù)具有更強(qiáng)的攻擊性和解密效率,因此防DPA攻擊的設(shè)計(jì)方法越來越引起電路設(shè)計(jì)工程師的重視。本文從組合邏輯、寄存器、存儲器、傳輸數(shù)據(jù)結(jié)構(gòu)和中間狀態(tài)等幾個(gè)方面對防DPA攻擊的電路設(shè)計(jì)方法進(jìn)行了介紹。
最近,一種DPA攻擊技術(shù)被用來破譯集成電路中的重要信息。DPA攻擊技術(shù)的原理是:當(dāng)芯片在執(zhí)行不同的指令進(jìn)行各種運(yùn)算時(shí),對應(yīng)的功率消耗也相應(yīng)變化。通過使用特殊的電子測量儀和數(shù)學(xué)統(tǒng)計(jì)技術(shù),來檢測和分析這些變化,從而得到芯片中的特定關(guān)鍵信息。這種利用指令的電流變化來分析密碼算法和密碼的方法,和以往的攻擊技術(shù)有根本的不同,因此防DPA攻擊的設(shè)計(jì)方法越來越引起電路設(shè)計(jì)工程師的重視。
傳統(tǒng)的防DPA攻擊的方法有兩種:一種是用隨機(jī)數(shù)發(fā)生器產(chǎn)生額外的噪聲和干擾信號,另一種是通過增加濾波電路來消除噪聲。這兩種方法都具有其固有缺陷,它們都會增加芯片的面積,其中前一種方法還會增加額外功耗,后一種方法則只是相對增加了DPA攻擊的難度,并不能徹底解決DPA攻擊問題。
本文介紹的防DPA攻擊的電路設(shè)計(jì)方法不同于傳統(tǒng)方法,它從DPA的攻擊原理出發(fā),專門針對DPA攻擊而設(shè)計(jì),能有效解決通過分析芯片電流變化來進(jìn)行攻擊的問題。這種防DPA攻擊的電路設(shè)計(jì)方法從分析集成電路的基本電路單元開始,由簡到繁設(shè)計(jì)出防DPA攻擊的復(fù)雜電路,從根本上解決了DPA攻擊問題。
防DPA攻擊的基本電路單元
一個(gè)典型的CMOS NAND電路通常由4個(gè)MOS管組成,包括2個(gè)PMOS管和2個(gè)NMOS管。圖1是一個(gè)CMOS AND電路,它是由一個(gè)NAND電路(P1和P2的參數(shù)相同,N1和N2的參數(shù)相同)和一個(gè)NOT電路組成。
圖1:CMOS AND電路由一個(gè)NAND電路和一個(gè)NOT電路組成
由于P1和P2的參數(shù)相同,而且這兩個(gè)晶體管是并行的,所以當(dāng)輸入信號A變化或者B發(fā)生變化時(shí),這兩個(gè)PMOS管對AND的瞬態(tài)變化的影響一樣。而N1和N2是串行的,因此當(dāng)輸入A=1、B=0時(shí),NAND的瞬態(tài)特性與輸入A=0、B=1時(shí)的瞬態(tài)特性不同。雖然理想CMOS數(shù)字邏輯門在靜態(tài)條件下不會消耗電流,但當(dāng)輸入信號變化時(shí),它會消耗一定電流。這是因?yàn)镸OSFET和信號傳輸線都存在寄生電容,并且當(dāng)邏輯門處于變化狀態(tài)時(shí),Vdd和Gnd都存在瞬態(tài)電流。因此,這個(gè)與門的瞬態(tài)電流大小不僅與輸入信號的變化有關(guān),還與輸出值Q有關(guān)。
本文介紹的防DPA攻擊的基本電路單元,對所有可能的輸入信號都表現(xiàn)出相同的電特性。這些電特性包括導(dǎo)通和閉合的PMOS管和NMOS管的數(shù)量、輸入線的電容負(fù)載、輸出線的負(fù)載以及電路單元自身的瞬態(tài)電流。圖2為該基本電路單元的電路結(jié)構(gòu)。
這個(gè)門電路有A和B兩個(gè)輸入,輸入信號是2位的常數(shù)漢明權(quán)重碼(constant Hamming weight representation),即A1和A2分別是0、1時(shí)對應(yīng)“假”邏輯,1、0時(shí)對應(yīng)“真”邏輯。在圖2中,信號傳輸都是以2位漢明碼形式進(jìn)行,因此無論A和B信號如何變化,翻轉(zhuǎn)的MOS管的數(shù)量都相同,且是一個(gè)常數(shù)10。
圖2:防DPA攻擊的基本電路單元的電路結(jié)構(gòu)
這個(gè)防DPA攻擊的基本電路單元還可以表達(dá)多種邏輯。當(dāng)需要表達(dá)AND邏輯時(shí),輸出為O1、O2,其中O1為漢明碼指示位;當(dāng)需要表達(dá)NAND邏輯時(shí),輸出為O2、O1,其中O2為2位漢明碼指示位;當(dāng)需要表達(dá)OR邏輯時(shí),輸出為O7、O8,其中O7為漢明碼指示位;當(dāng)需要表達(dá)NOR邏輯時(shí),輸出為O8、O7,其中O8為漢明碼指示位。而O3、O4、O5和O6是沒有作用的輸出信號,但為保證各種輸入情況下基本單元的對稱性和相同性,這幾個(gè)輸出管腳在實(shí)際電路設(shè)計(jì)中應(yīng)盡量和O1、O2、O7、O8接相同的負(fù)載。
[page]
防DPA攻擊的主要目的是使電路電特性在運(yùn)算時(shí)保持相同,而保持電特性相同很重要的一點(diǎn)是使整個(gè)電路在運(yùn)算時(shí)翻轉(zhuǎn)的晶體管數(shù)量是一個(gè)常數(shù)。在傳統(tǒng)電路中,翻轉(zhuǎn)的晶體管數(shù)量與當(dāng)前狀態(tài)和先前狀態(tài)相關(guān),跟輸入?yún)?shù)也相關(guān)。本文介紹的電路設(shè)計(jì)方法能使翻轉(zhuǎn)的晶體管數(shù)量在任何運(yùn)算步驟中都是一個(gè)常數(shù)。為實(shí)現(xiàn)這個(gè)目的,電路運(yùn)算步驟之間增加了一個(gè)中間步驟,最簡單的中間步驟的設(shè)置是在輸入?yún)?shù)和電路運(yùn)算完成之后設(shè)置系統(tǒng)中間值。中間步驟的設(shè)置能防止有用信息從功耗分析中泄漏出去。
假設(shè)這個(gè)基本電路單元處于中間步驟,即所有輸入都是同一個(gè)邏輯(都是1或都是0),若所有輸入都是0,那么4個(gè)與邏輯都進(jìn)行0 AND 0操作,然后再輸入有效的常數(shù)漢明權(quán)重碼數(shù)據(jù),則A1、A2和B1、B2各有一位從0翻轉(zhuǎn)到1。因此,在這個(gè)基本電路單元中,翻轉(zhuǎn)的晶體管數(shù)量總是一樣的。無論漢明碼的值是什么,基本單元的4個(gè)與門分別進(jìn)行了1 AND 0、1 AND 1、0 AND 0和0 AND 1操作。因?yàn)?個(gè)與門的結(jié)構(gòu)是相同的,不管A和B的輸入值是什么,這個(gè)基本單元的電特性都相同,所以DPA攻擊并不能從電特性中分析出輸入信號。表1根據(jù)晶體管的翻轉(zhuǎn)情況對基本單元的相同電特性進(jìn)行了統(tǒng)計(jì)說明(假設(shè)先設(shè)置所有輸入為0)。
表1:無論輸入信號是什么,
基本電路單元中翻轉(zhuǎn)的晶體管數(shù)量保持恒定
在基本單元進(jìn)行下一次運(yùn)算之前,其所有輸入值需要重新設(shè)置為0,這個(gè)操作使同等數(shù)量的晶體管翻轉(zhuǎn),攻擊者將無法從功耗分析上看出先前的輸入值。同樣,如果將所有輸入值設(shè)置為1也具有相同效果。本文把每次運(yùn)算之間的設(shè)置初始值的操作狀態(tài)稱為“中間態(tài)”。
多級組合邏輯的設(shè)計(jì)
在實(shí)際電路中,多級的組合邏輯將串接在一起,即基本單元的輸出端連接到下一級基本單元的輸入端。在這種情況下,中間態(tài)必須能非常方便地在各級基本單元之間傳輸,以保證整個(gè)電路的不可攻擊性。圖3顯示了一種可傳輸中間態(tài)的防DPA攻擊的基本單元。
圖3:一種可傳輸中間態(tài)的防DPA攻擊的基本單元
這種基本單元可以級連起來,連接成復(fù)雜的數(shù)字組合邏輯。該基本單元與圖2描述的電路具有相同的邏輯特性,但當(dāng)輸入0000或者1111時(shí),它的輸出值是11或者00。輸出值11或者00能對下一級的基本單元進(jìn)行置位或者清零,這就實(shí)現(xiàn)了中間態(tài)的傳輸。
[page]
當(dāng)輸入是常數(shù)漢明權(quán)重碼時(shí),該基本單元可實(shí)現(xiàn)NAND、AND、NOR和OR四個(gè)邏輯功能。輸出O1O2是NAND功能,輸出O2O1是AND功能,輸出N1、N2是NOR功能,輸出N2N1是OR功能。圖4所示的基本單元?jiǎng)t可實(shí)現(xiàn)NOT邏輯。當(dāng)輸入是常數(shù)漢明權(quán)重碼時(shí),輸出是反相的漢明碼;當(dāng)輸入進(jìn)行置位或者清零,輸出是00或者11,也能實(shí)現(xiàn)中間態(tài)的傳輸。以上這五種邏輯足以組合成復(fù)雜的數(shù)字邏輯運(yùn)算。
圖4:實(shí)現(xiàn)NOT邏輯的基本單元
防DPA攻擊的系統(tǒng)結(jié)構(gòu)
前面介紹了組合邏輯防DPA攻擊的電路設(shè)計(jì)方法,現(xiàn)在將介紹時(shí)序邏輯防DPA攻擊的設(shè)計(jì)方法及防DPA攻擊的系統(tǒng)結(jié)構(gòu)。
舉個(gè)例子,當(dāng)電路傳輸?shù)臄?shù)據(jù)都是常數(shù)漢明權(quán)重碼時(shí),輸入數(shù)據(jù)01給兩位寄存器,當(dāng)這兩位寄存器的值是10時(shí),兩位寄存器都會翻轉(zhuǎn),而當(dāng)兩位寄存器的值是01時(shí),兩位寄存器都不會翻轉(zhuǎn)。這個(gè)不同點(diǎn)會把有用信息泄漏給DPA攻擊者。而在輸入數(shù)據(jù)之前,先把寄存器設(shè)置為00或11,那么當(dāng)輸入數(shù)據(jù)是常數(shù)漢明權(quán)重碼時(shí),無論輸入值是01還是10,都只有一個(gè)寄存器翻轉(zhuǎn),從運(yùn)算狀態(tài)到中間狀態(tài)也只有一個(gè)寄存器翻轉(zhuǎn)。這樣可有效防止寄存器在數(shù)據(jù)傳輸過程中的信息泄漏。
在有存儲器的電路中,存儲器在存儲0或者存儲1時(shí)有不同的電特性,如電流大小不同;同樣,存儲器在讀取0或者讀取1時(shí)也有不同的電特性,如電流大小不同。DPA攻擊者會利用這個(gè)特性對芯片進(jìn)行分析,所以必須保證在對存儲器進(jìn)行操作時(shí)有相同的電特性。現(xiàn)在,由于系統(tǒng)傳輸?shù)氖浅?shù)漢明權(quán)重碼,所以在讀取存儲器的數(shù)據(jù)時(shí),無論讀取的是什么值,都具有相同個(gè)數(shù)的1和相同個(gè)數(shù)的0。例如當(dāng)數(shù)據(jù)線是8位時(shí),每次傳輸數(shù)據(jù)都有4位0以及4位1。同樣,在存儲數(shù)據(jù)時(shí),無論存儲的是什么值,只要是常數(shù)漢明權(quán)重碼,都將存儲相同個(gè)數(shù)的1和相同個(gè)數(shù)的0。這樣,在所有存儲器操作過程中都不會出現(xiàn)信息泄漏。
以上從組合邏輯、寄存器、存儲器、傳輸數(shù)據(jù)結(jié)構(gòu)和中間狀態(tài)等幾個(gè)方面對防DPA攻擊的電路設(shè)計(jì)方法進(jìn)行了介紹和說明,而組合邏輯基本單元、寄存器、存儲器等器件完全可以構(gòu)成一個(gè)復(fù)雜的防DPA攻擊的電路。
為證明這種方法的有效性,對兩種智能卡芯片進(jìn)行了對比。這兩種芯片都基于ISO/IEC7816協(xié)議,內(nèi)部加密系統(tǒng)采用192位3DES來實(shí)現(xiàn)。一種芯片是采用普通的電路設(shè)計(jì)方法設(shè)計(jì)實(shí)現(xiàn),另一種芯片在關(guān)鍵設(shè)計(jì)上采用了本文介紹的方法。用Cryptography Research 公司的DPA Workstation測試系統(tǒng)對前一種芯片進(jìn)行分析,15分鐘內(nèi)就破譯了芯片加密電路,取得密鑰。而對采用本方法實(shí)現(xiàn)的芯片,則無法用DPA Workstation測試系統(tǒng)進(jìn)行分析,因?yàn)樵摐y試系統(tǒng)是基于數(shù)據(jù)在加密算法的運(yùn)行中出現(xiàn)的電流/電源變化來獲得密鑰,而現(xiàn)在,它無法從電流/電源變化中取得任何有效信息,自然也無法破譯芯片。
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計(jì)
- ADI電機(jī)運(yùn)動(dòng)控制解決方案 驅(qū)動(dòng)智能運(yùn)動(dòng)新時(shí)代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 邁向更綠色的未來:GaN技術(shù)的變革性影響
- 集成電阻分壓器如何提高電動(dòng)汽車的電池系統(tǒng)性能
- 帶硬件同步功能的以太網(wǎng) PHY 擴(kuò)大了汽車?yán)走_(dá)的覆蓋范圍
- 精準(zhǔn)監(jiān)測電離分?jǐn)?shù)與沉積通量,助力PVD/IPVD工藝與涂層質(zhì)量雙重提升
- ADC 總諧波失真
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖
電路圖符號
電路圖知識
電腦OA
電腦電源
電腦自動(dòng)斷電
電能表接線
電容觸控屏
電容器
電容器單位
電容器公式
電聲器件
電位器
電位器接法
電壓表
電壓傳感器
電壓互感器
電源變壓器