智能卡抗DPA攻擊的設(shè)計與實現(xiàn)
對于智能卡的DPA攻擊,主要是利用在卡上嵌入式微處理器運(yùn)作時,某個特定指令的執(zhí)行或數(shù)據(jù)存取所消耗功率,在供應(yīng)電壓源上所表現(xiàn)特定的電流頻譜提供的有用信息。故可以通過外加額外的電路造成額外的電流消耗,從而改變電流頻譜以達(dá)到抗DPA攻擊。同時額外的電流消耗電路必須通過采用隨機(jī)數(shù)隨機(jī)的方式,產(chǎn)生隨機(jī)數(shù)消耗電流,以達(dá)到芯片消耗電力無法預(yù)測性,使其不能被分析與統(tǒng)計。
為此,可以在隨機(jī)數(shù)產(chǎn)生電路中設(shè)計如圖2所示的隨機(jī)數(shù)消耗電路,電路由比較器、移位寄存器、譯碼器組成;當(dāng)電阻噪聲產(chǎn)生的噪聲電壓經(jīng)過放大器、比較器后,產(chǎn)生“1”或“0”數(shù)字信號,存入移位寄存器,這樣寄存器內(nèi)的值已經(jīng)類似混沌式RNG所產(chǎn)生的隨機(jī)數(shù),此隨機(jī)數(shù)經(jīng)譯碼器編碼后,控制三態(tài)充放電緩沖器的充放電個數(shù),最終達(dá)到以隨機(jī)數(shù)控制電流消耗的目的。本文引用地址:http://www.ex-cimer.com/article/188877.htm
3.2 組合邏輯防DPA攻擊設(shè)計
防DPA攻擊的主要目的是使電路特性在運(yùn)算時保持相同,而保持電特性相同很重要的一點是使翻轉(zhuǎn)的晶體管數(shù)量在任何運(yùn)算步驟中都是一個常數(shù)。為實現(xiàn)這個目的可在電路運(yùn)算步驟之間增加一個中間步驟,這樣能防止有用信息從功耗分析中泄漏出去。最簡單的中間步驟設(shè)置是在輸入?yún)?shù)和電路運(yùn)算完成之后設(shè)置系統(tǒng)中間值。
為此,參考異步邏輯電路的雙軌編碼方式中對信息的每一位用兩根信號線進(jìn)行編碼的方式。采用兩位信號線的組合值“01”和“10”來表示數(shù)字邏輯的“真”和“假”,而組合值“00”和“01”則為中間值。這樣的編碼方式下,設(shè)計的基本邏輯單元電路如圖3所示。
如圖3(a)電路對于輸入A(A1A2)和B(B1B2),輸出只有O1O2和R1R2有效,當(dāng)輸入A1A2B1B2為0000或1111時,輸出O1O2和R1R2的值是11或00,這樣實現(xiàn)了編碼中間態(tài)的傳遞。而當(dāng)輸入A1A2B1B2為有效數(shù)據(jù)0101,0110,1001和1010時,輸出O1O2和R1的值就得到相關(guān)的NAND,AND,NOR和OR四個邏輯功能;其中,輸出O1O2→NAND,O2O1→AND,R1R2→NoR,R2R1→OR。至于NOT的實現(xiàn)如圖3(b)的電路所示。所以,上述基本的邏輯電路足以實現(xiàn)復(fù)雜的數(shù)字組合邏輯運(yùn)算功能。
3.3 時序邏輯防DPA攻擊設(shè)計
針對差分功耗分析,除了利用增加電路噪聲以降低差分功耗分析的信噪比的防御方案外。通過減小差分功率信號的值,同樣可以降低差分功耗分析的信噪比;若電路不同狀態(tài)下的功率差異趨于零,則差分功耗分析將失效。于是基于上述思路,在時序邏輯電路設(shè)計上可采用如圖4所示的互補(bǔ)結(jié)構(gòu)寄存器電路。
設(shè)寄存器初始狀態(tài)相同,輸出負(fù)載相同,時鐘沿賦值,如圖4不論輸入為O或1,兩個互補(bǔ)寄存器必是一個翻轉(zhuǎn),另一個不翻轉(zhuǎn),因此總的功耗在兩種情況下沒有差別。
另外,對于采用前面所述的雙線信號編碼方式,在時序邏輯電路的設(shè)計上,可采用在輸入任何有效的數(shù)據(jù)01和10之前,都先把寄存器設(shè)置為00或11中間態(tài)的協(xié)議。這樣,無論進(jìn)行何種操作,則時序邏輯中相關(guān)的寄存器都只有一個寄存器翻轉(zhuǎn),有效地防止了寄存器在數(shù)據(jù)傳輸過程中的信息泄漏。
4 結(jié) 語
智能卡是一種高安全性、高可靠性和復(fù)雜的片上系統(tǒng),具有抗功率分析攻擊、時間分析攻擊和故障分析攻擊的能力,但在一些新型的智能卡攻擊技術(shù)下其安全受到巨大的挑戰(zhàn),例如DPA攻擊。本文針對DPA攻擊智能卡的特點,在智能卡的硬件電路上進(jìn)行了抗DPA攻擊的設(shè)計,采用此設(shè)計,再結(jié)合一些軟件上的抗DPA攻擊措施,就能構(gòu)成一個完善的智能卡安全體系結(jié)構(gòu),能十分有效地保證智能卡免受DPA攻擊。
評論