防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í)有相同的電特性?,F(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)在,它無法從電流/電源變化中取得任何有效信息,自然也無法破譯芯片。
特別推薦
- 車用開關(guān)電源的開關(guān)頻率定多高才不影響EMC?
- 大聯(lián)大世平集團(tuán)的駕駛員監(jiān)控系統(tǒng)(DMS)方案榮獲第六屆“金輯獎(jiǎng)之最佳技術(shù)實(shí)踐應(yīng)用”獎(jiǎng)
- 貿(mào)澤推出針對基礎(chǔ)設(shè)施和智慧城市的工程技術(shù)資源中心
- 大普技術(shù)自主可控、高精度、小型化TCXO——對講機(jī)應(yīng)用
- Melexis創(chuàng)新推出集成喚醒功能的汽車制動踏板位置傳感器芯片方案
- Vishay推出的新款高能浪涌限流PTC熱敏電阻,可提高有源充放電電路性能
- 美芯晟推出支持ALS和Flicker的小尺寸閃爍光傳感器芯片
技術(shù)文章更多>>
- 遠(yuǎn)山半導(dǎo)體發(fā)布新一代高壓氮化鎵功率器件
- Kvaser發(fā)布全新軟件CanKing 7:便捷CAN總線診斷與分析!
- 6秒速測!瑞典森爾(Senseair)高精度酒精檢測儀,守護(hù)公路貨運(yùn)安全,嚴(yán)防酒駕醉駕
- APSME 2025 亞洲國際功率半導(dǎo)體、材料及裝備技術(shù)展覽會
- 汽車電子展︱AUTO TECH 2025 廣州國際汽車電子技術(shù)展覽會
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
Cirrus Logic
CNR
CPU
CPU使用率高
Cree
DC/AC電源模塊
dc/dc
DC/DC電源模塊
DDR2
DDR3
DIY
DRAM
DSP
DSP
D-SUB連接器
DVI連接器
EEPROM
Element14
EMC
EMI
EMI濾波器
Energy Micro
EPB
ept
ESC
ESD
ESD保護(hù)
ESD保護(hù)器件
ESD器件
Eurotect