防DPA攻擊的集成電路設(shè)計方法
發(fā)布時間:2007/8/28 0:00:00 訪問次數(shù):761
與傳統(tǒng)的攻擊技術(shù)相比,差分功耗分析(DPA,Differential Power Analysis)攻擊技術(shù)具有更強的攻擊性和解密效率,因此防DPA攻擊的設(shè)計方法越來越引起電路設(shè)計工程師的重視。本文從組合邏輯、寄存器、存儲器、傳輸數(shù)據(jù)結(jié)構(gòu)和中間狀態(tài)等幾個方面對防DPA攻擊的電路設(shè)計方法進行了介紹。
最近,一種DPA攻擊技術(shù)被用來破譯集成電路中的重要信息。DPA攻擊技術(shù)的原理是:當芯片在執(zhí)行不同的指令進行各種運算時,對應(yīng)的功率消耗也相應(yīng)變化。通過使用特殊的電子測量儀和數(shù)學(xué)統(tǒng)計技術(shù),來檢測和分析這些變化,從而得到芯片中的特定關(guān)鍵信息。這種利用指令的電流變化來分析密碼算法和密碼的方法,和以往的攻擊技術(shù)有根本的不同,因此防DPA攻擊的設(shè)計方法越來越引起電路設(shè)計工程師的重視。align="right" BORDER=0 >
CLASS="maintext">
圖1:CMOS AND電路由一個
NAND電路和一個NOT電路組成。
傳統(tǒng)的防DPA攻擊的方法有兩種:一種是用隨機數(shù)發(fā)生器產(chǎn)生額外的噪聲和干擾信號,另一種是通過增加濾波電路來消除噪聲。這兩種方法都具有其固有缺陷,它們都會增加芯片的面積,其中前一種方法還會增加額外功耗,后一種方法則只是相對增加了DPA攻擊的難度,并不能徹底解決DPA攻擊問題。
本文介紹的防DPA攻擊的電路設(shè)計方法不同于傳統(tǒng)方法,它從DPA的攻擊原理出發(fā),專門針對DPA攻擊而設(shè)計,能有效解決通過分析芯片電流變化來進行攻擊的問題。這種防DPA攻擊的電路設(shè)計方法從分析集成電路的基本電路單元開始,由簡到繁設(shè)計出防DPA攻擊的復(fù)雜電路,從根本上解決了DPA攻擊問題。
防DPA攻擊的基本電路單元
一個典型的CMOS NAND電路通常由4個MOS管組成,包括2個PMOS管和2個NMOS管。圖1是一個CMOS AND電路,它是由一個NAND電路(P1和P2的參數(shù)相同,N1和N2的參數(shù)相同)和一個NOT電路組成。
由于P1和P2的參數(shù)相同,而且這兩個晶體管是并行的,所以當輸入信號A變化或者B發(fā)生變化時,這兩個PMOS管對AND的瞬態(tài)變化的影響一樣。而N1和N2是串行的,因此當輸入A=1、B=0時,NAND的瞬態(tài)特性與輸入A=0、B=1時的瞬態(tài)特性不同。雖然理想CMOS數(shù)字邏輯門在靜態(tài)條件下不會消耗電流,但當輸入信號變化時,它會消耗一定電流。這是因為MOSFET和信號傳輸線都存在寄生電容,并且當邏輯門處于變化狀態(tài)時,Vdd和Gnd都存在瞬態(tài)電流。因此,這個與門的瞬態(tài)電流大小不僅與輸入信號的變化有關(guān),還與輸出值Q有關(guān)。align="LEFT" BORDER=0 >
CLASS="maintext">
圖2:防DPA攻擊的基本電
路單元的電路結(jié)構(gòu)。
本文介紹的防DPA攻擊的基本電路單元,對所有可能的輸入信號都表現(xiàn)出相同的電特性。這些電特性包括導(dǎo)通和閉合的PMOS管和NMOS管的數(shù)量、輸入線的電容負載、輸出線的負載以及電路單元自身的瞬態(tài)電流。圖2為該基本電路單元的電路結(jié)構(gòu)。
這個門電路有A和B兩個輸入,輸入信號是2位的常數(shù)漢明權(quán)重碼(constant Hamming weight representation),即A1和A2分別是0、1時對應(yīng)“假”邏輯,1、0時對應(yīng)“真”邏輯。在圖2中,信號傳輸都是以2位漢明碼形式進行,因此無論A和B信號如何變化,翻轉(zhuǎn)的MOS管的數(shù)量都相同,且是一個常數(shù)10。
這個防DPA攻擊的基本電路單元還可以表達多種邏輯。當需要表達AND邏輯時,輸出為O1、O2,其中O1為漢明碼指示位;當需要表達NAND邏輯時,輸出為O2、O1,其中O2為2位漢明碼指示位;當需要表達OR邏輯時,輸出為O7、O8,其中O7為漢明碼指示位;當需要表達NOR邏輯時,輸出為O8、O7,其中O8為漢明碼指示位。而O3、O4、O5和O6是沒有作用的輸出信號,但為保證各種輸入情況下基本單元的對稱性和相同性,這幾個輸出管腳在實際電路設(shè)計中應(yīng)盡量和O1、O2、O7、O8接相同的負載。
防DPA攻擊的主要目的是使電路電特性在運算時保持相同,而保持電特性相同很重要的一點是使整個電路在運算時翻轉(zhuǎn)的晶體管數(shù)量是一個常數(shù)。在傳統(tǒng)電路中,翻轉(zhuǎn)的晶體管數(shù)量與當前狀態(tài)和先前狀態(tài)相關(guān),跟輸入?yún)?shù)也相關(guān)。本文介紹的電路設(shè)計方法能使翻轉(zhuǎn)的晶體管數(shù)量在任何運算步驟中都是一個常數(shù)。為實現(xiàn)這個目的,電路運算步驟之間增加了一個中間步驟,最簡單的中間步驟的設(shè)置是在輸入?yún)?shù)和電路運算完成之后設(shè)置系統(tǒng)中間值。中間步驟的設(shè)置能防止有用信息從功耗分析中泄漏出去。align="right" BORDER=0 >
CLASS="maintext">
圖3:一種可傳輸中間態(tài)
的防DPA攻擊的基本單元。
假設(shè)這個基本電路單元處于中間步驟,即所有輸入都是同一個邏輯(都是1或都是0),若所有輸入都是0,那么4個與邏輯都進行0 AND 0操作,然后再輸入有效的常數(shù)漢明權(quán)重碼數(shù)據(jù),則A1、A2和B1、B2各有一位從0翻轉(zhuǎn)到1。因此,在這個基本電路單元中,翻轉(zhuǎn)的晶體管數(shù)量總是一樣的。無論漢明碼的值是什
與傳統(tǒng)的攻擊技術(shù)相比,差分功耗分析(DPA,Differential Power Analysis)攻擊技術(shù)具有更強的攻擊性和解密效率,因此防DPA攻擊的設(shè)計方法越來越引起電路設(shè)計工程師的重視。本文從組合邏輯、寄存器、存儲器、傳輸數(shù)據(jù)結(jié)構(gòu)和中間狀態(tài)等幾個方面對防DPA攻擊的電路設(shè)計方法進行了介紹。
最近,一種DPA攻擊技術(shù)被用來破譯集成電路中的重要信息。DPA攻擊技術(shù)的原理是:當芯片在執(zhí)行不同的指令進行各種運算時,對應(yīng)的功率消耗也相應(yīng)變化。通過使用特殊的電子測量儀和數(shù)學(xué)統(tǒng)計技術(shù),來檢測和分析這些變化,從而得到芯片中的特定關(guān)鍵信息。這種利用指令的電流變化來分析密碼算法和密碼的方法,和以往的攻擊技術(shù)有根本的不同,因此防DPA攻擊的設(shè)計方法越來越引起電路設(shè)計工程師的重視。align="right" BORDER=0 >
CLASS="maintext">
圖1:CMOS AND電路由一個
NAND電路和一個NOT電路組成。
傳統(tǒng)的防DPA攻擊的方法有兩種:一種是用隨機數(shù)發(fā)生器產(chǎn)生額外的噪聲和干擾信號,另一種是通過增加濾波電路來消除噪聲。這兩種方法都具有其固有缺陷,它們都會增加芯片的面積,其中前一種方法還會增加額外功耗,后一種方法則只是相對增加了DPA攻擊的難度,并不能徹底解決DPA攻擊問題。
本文介紹的防DPA攻擊的電路設(shè)計方法不同于傳統(tǒng)方法,它從DPA的攻擊原理出發(fā),專門針對DPA攻擊而設(shè)計,能有效解決通過分析芯片電流變化來進行攻擊的問題。這種防DPA攻擊的電路設(shè)計方法從分析集成電路的基本電路單元開始,由簡到繁設(shè)計出防DPA攻擊的復(fù)雜電路,從根本上解決了DPA攻擊問題。
防DPA攻擊的基本電路單元
一個典型的CMOS NAND電路通常由4個MOS管組成,包括2個PMOS管和2個NMOS管。圖1是一個CMOS AND電路,它是由一個NAND電路(P1和P2的參數(shù)相同,N1和N2的參數(shù)相同)和一個NOT電路組成。
由于P1和P2的參數(shù)相同,而且這兩個晶體管是并行的,所以當輸入信號A變化或者B發(fā)生變化時,這兩個PMOS管對AND的瞬態(tài)變化的影響一樣。而N1和N2是串行的,因此當輸入A=1、B=0時,NAND的瞬態(tài)特性與輸入A=0、B=1時的瞬態(tài)特性不同。雖然理想CMOS數(shù)字邏輯門在靜態(tài)條件下不會消耗電流,但當輸入信號變化時,它會消耗一定電流。這是因為MOSFET和信號傳輸線都存在寄生電容,并且當邏輯門處于變化狀態(tài)時,Vdd和Gnd都存在瞬態(tài)電流。因此,這個與門的瞬態(tài)電流大小不僅與輸入信號的變化有關(guān),還與輸出值Q有關(guān)。align="LEFT" BORDER=0 >
CLASS="maintext">
圖2:防DPA攻擊的基本電
路單元的電路結(jié)構(gòu)。
本文介紹的防DPA攻擊的基本電路單元,對所有可能的輸入信號都表現(xiàn)出相同的電特性。這些電特性包括導(dǎo)通和閉合的PMOS管和NMOS管的數(shù)量、輸入線的電容負載、輸出線的負載以及電路單元自身的瞬態(tài)電流。圖2為該基本電路單元的電路結(jié)構(gòu)。
這個門電路有A和B兩個輸入,輸入信號是2位的常數(shù)漢明權(quán)重碼(constant Hamming weight representation),即A1和A2分別是0、1時對應(yīng)“假”邏輯,1、0時對應(yīng)“真”邏輯。在圖2中,信號傳輸都是以2位漢明碼形式進行,因此無論A和B信號如何變化,翻轉(zhuǎn)的MOS管的數(shù)量都相同,且是一個常數(shù)10。
這個防DPA攻擊的基本電路單元還可以表達多種邏輯。當需要表達AND邏輯時,輸出為O1、O2,其中O1為漢明碼指示位;當需要表達NAND邏輯時,輸出為O2、O1,其中O2為2位漢明碼指示位;當需要表達OR邏輯時,輸出為O7、O8,其中O7為漢明碼指示位;當需要表達NOR邏輯時,輸出為O8、O7,其中O8為漢明碼指示位。而O3、O4、O5和O6是沒有作用的輸出信號,但為保證各種輸入情況下基本單元的對稱性和相同性,這幾個輸出管腳在實際電路設(shè)計中應(yīng)盡量和O1、O2、O7、O8接相同的負載。
防DPA攻擊的主要目的是使電路電特性在運算時保持相同,而保持電特性相同很重要的一點是使整個電路在運算時翻轉(zhuǎn)的晶體管數(shù)量是一個常數(shù)。在傳統(tǒng)電路中,翻轉(zhuǎn)的晶體管數(shù)量與當前狀態(tài)和先前狀態(tài)相關(guān),跟輸入?yún)?shù)也相關(guān)。本文介紹的電路設(shè)計方法能使翻轉(zhuǎn)的晶體管數(shù)量在任何運算步驟中都是一個常數(shù)。為實現(xiàn)這個目的,電路運算步驟之間增加了一個中間步驟,最簡單的中間步驟的設(shè)置是在輸入?yún)?shù)和電路運算完成之后設(shè)置系統(tǒng)中間值。中間步驟的設(shè)置能防止有用信息從功耗分析中泄漏出去。align="right" BORDER=0 >
CLASS="maintext">
圖3:一種可傳輸中間態(tài)
的防DPA攻擊的基本單元。
假設(shè)這個基本電路單元處于中間步驟,即所有輸入都是同一個邏輯(都是1或都是0),若所有輸入都是0,那么4個與邏輯都進行0 AND 0操作,然后再輸入有效的常數(shù)漢明權(quán)重碼數(shù)據(jù),則A1、A2和B1、B2各有一位從0翻轉(zhuǎn)到1。因此,在這個基本電路單元中,翻轉(zhuǎn)的晶體管數(shù)量總是一樣的。無論漢明碼的值是什
熱門點擊
- 分析封裝過程中的彈坑與失鋁現(xiàn)象
- 光電二極管前置放大器設(shè)計
- 什么是滯后現(xiàn)象,如何應(yīng)用到比較器?
- 富康轎車空調(diào)控制系統(tǒng)常見故障及檢修
- 歌樂汽車多媒體音響技術(shù)詳解
- 基于VHDL語言的出租車計費系統(tǒng)設(shè)計
- 寶來轎車電子穩(wěn)定系統(tǒng)的結(jié)構(gòu)與檢修
- 單片、同步、降壓轉(zhuǎn)換器LTC3414及其應(yīng)用
- 應(yīng)分析好SAR ADC才能為寬廣應(yīng)用開導(dǎo)
- 一種VME橋接芯片VIC068A/VIC64
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究