嚴迎建 許紀鈞 于敬超
(解放軍信息工程大學(xué) 河南 鄭州 450000)
基于電流補償電路的密碼芯片抗功耗攻擊設(shè)計
嚴迎建 許紀鈞 于敬超
(解放軍信息工程大學(xué) 河南 鄭州 450000)
為了建立具有普適性的功耗攻擊防御單元,從系統(tǒng)級功耗恒定設(shè)計思想出發(fā),設(shè)計一種電流補償電路。首先,通過構(gòu)建高線性轉(zhuǎn)換I→V模塊和V→I模塊,實現(xiàn)準確模擬出密碼算法IP核動態(tài)電流變化的功能;其次,通過電路的對稱性設(shè)計,使得電流和電壓變化相互補償,抑制溫度漂移效應(yīng)對電流補償電路的影響;最后,通過UltraSim仿真評估其抗功耗攻擊效果,并分析其面積消耗。
功耗恒定 電流補償電路 功耗攻擊
對于密碼芯片攻擊者而言,在實際功耗攻擊中一般采用在密碼芯片的電源引腳和內(nèi)核電源之間串聯(lián)一個小電阻的方法,通過分析電阻兩端的差分電壓變化獲取有關(guān)密鑰信息。為了防御這種攻擊方法,密碼芯片設(shè)計者可以在密碼SoC系統(tǒng)頂層添加抗功耗攻擊模塊,以掩蓋密碼芯片的功耗泄露。Shamir等提出了一種基于獨立電源結(jié)構(gòu)的智能卡抗功耗攻擊設(shè)計方案[1];Muresan等提出在芯片內(nèi)集成一個動態(tài)功耗檢測的模擬電路,使得芯片的功耗始終處于一定的范圍之內(nèi)[2];Zafar和Güneysu等提出了基于多時鐘源隨機切換的方法實現(xiàn)時間隨機化[3-4]。但是這些防御技術(shù)的安全性較低,如果攻擊者掌握較高的降噪技術(shù),就可以有效地過濾無關(guān)噪聲,提高信噪比,獲得有用的動態(tài)功耗信息。為此,王晨旭等提出了一種抗功耗攻擊的電流平整電路[5],通過使密碼設(shè)備供電電源端的電流保持恒定,消除了功耗與數(shù)據(jù)之間的相關(guān)性,但是其存在電路工作頻率低、普適性差的缺點。
針對以上問題,本文從安全性和普適性角度出發(fā),研究了系統(tǒng)級功耗恒定設(shè)計思路。同時為了保證模擬出的動態(tài)電流的準確性以及電流補償電路的穩(wěn)定性,本文設(shè)計一種電流補償電路的硬件架構(gòu),其由動態(tài)電流檢測模塊、高線性轉(zhuǎn)換I→V模塊和高線性轉(zhuǎn)換V→I模塊,并通過UltraSim仿真[6]對其安全性、面積消耗進行了評估。
根據(jù)功耗測量的基本原理,由于密碼芯片運行過程中的能量泄露無法直接獲得,對于攻擊者而言,一般采用在密碼設(shè)備和電源之間插入測量電路。首先在密碼芯片開發(fā)板上找到內(nèi)核電源引腳,然后切斷其與密碼芯片的電源引腳,再串聯(lián)上10 Ω小電阻。假如電源電壓Vdd保持恒定,由于電阻上的壓降正比于流經(jīng)密碼芯片的電流,可以將該電阻上電壓變化作為能量泄露大小的衡量工具。如圖1所示為實測能量泄露采集平臺架構(gòu),整個密碼芯片功耗信息采集平臺包括FPGA開發(fā)板、DE2開發(fā)板、示波器和PC機。
圖1 功耗采集與分析平臺整體架構(gòu)
系統(tǒng)級功耗恒定模塊設(shè)計思想是通過補償待測電阻的電流變化,使得電阻上的壓降保持恒定,從而使攻擊者無法準確采集到密碼芯片運算過程中的能量泄露。如圖2所示為基于電流補償設(shè)計的系統(tǒng)級防護原理[7]。ΔItotal表示流經(jīng)密碼芯片的總電流變化,也就是待測電阻上的電流變化;ΔIchip表示在密碼芯片運算過程中,密碼算法IP核的總電流變化,也就是實際上的能量泄露;ΔIfeedback表示電流補償電路產(chǎn)生的補償電流變化。當補償電流ΔIfeedback變化與密碼算法IP核電流ΔIchip變化大小相等并且同步時,內(nèi)核電源端和密碼芯片電源端之間的電流變化保持恒定,即采樣電阻上的電壓恒定,密碼芯片的功耗泄露被“隱藏”,功耗攻擊失效。
圖2 電流補償電路設(shè)計的系統(tǒng)級防護原理
在實際電路設(shè)計過程中,無法通過鏡像電路或者其他放大器電路直接準確模擬出密碼算法IP核動態(tài)電流變化ΔIchip。因此,為了得到準確的補償電流ΔIfeedback,本文設(shè)計了如圖3所示的電流補償電路架構(gòu)。
圖3 電流補償電路架構(gòu)
2.1 動態(tài)電流檢測電路
鏡像電路如圖4所示,能夠復(fù)制輸入端電流變化,并且不受制造工藝和環(huán)境溫度的影響,因為鏡像電路具備溫度補償效應(yīng)。
圖4 鏡像電流源
但是,其也存在以下兩方面的缺陷:(1) 影響電路電壓的穩(wěn)定性;(2) 鏡像電路的準確性低。
為改善上述缺陷,本節(jié)對鏡像電路進行了改進,并設(shè)計如圖5所示的動態(tài)電流檢測電路,其由性能參數(shù)相同的晶體管M1-M7以及參考偏置電壓構(gòu)成。
圖5 動態(tài)電流檢測電路
如圖5所示右側(cè)為差分放大器,電路的對稱性使得電流、電壓變化相互補償,能夠抑制溫度漂移效應(yīng)對電路性能的影響。對于晶體管M5和M6而言,柵極輸入電壓為共模信號,使得兩只晶體管柵極和源極的電流變化相近,即IG5≈IG6,IS5≈IS6。因此,漏極電壓變化也相近,使得差分輸出電壓極小,可以忽略不計。實際上,差分放大器對共模輸入電壓的抑制,不僅利用了電路的對稱性原理,而且利用了鏡像電路的負反饋原理,抑制了M5和M6的漏極電流變化,使得差分輸出電壓極小。
差分放大器的差分輸出電壓作為鏡像電路M1管和M2管的柵極電壓,可以通過反饋作用,將鏡像電路中M1管的漏極—源極電壓變化固定在較小的范圍內(nèi),且電壓值也較低,從而可以保證晶體管M1和M2工作在飽和區(qū)內(nèi),電流復(fù)制效應(yīng)也相應(yīng)的提高。在不影響密碼芯片正常工作的前提下,當密碼算法IP核工作電流變化ΔIchip時,M2管的電流變化也為ΔIchip,從而起到精準復(fù)制密碼算法IP核電流變化的作用。
2.2 線性轉(zhuǎn)換I→V電路設(shè)計
圖6為本節(jié)設(shè)計的高線性轉(zhuǎn)換I→V電路。電流Iin注入跨導(dǎo)放大器中,作為晶體管M8和M9源極輸入電流,節(jié)點S為一個低阻抗節(jié)點,輸入M8管和M9管的電流之比為gm8/gm9。晶體管M10和M12構(gòu)成一組鏡像電路,晶體管M11和M13構(gòu)成一組鏡像電路,輸入電流Iin經(jīng)過晶體管M8和M9分流后,經(jīng)過鏡像電路、放大電路,轉(zhuǎn)化為輸出電壓變化Vm。其中,Vm表示由鏡像電路配置提供的偏差電壓,輸入電流Iin和輸出電壓Vm之間存在式(1)所示關(guān)系:
(1)
其中,W和L分別表示晶體管的寬度和長度設(shè)計尺寸,Rm表示在節(jié)點Vm處產(chǎn)生的輸出寄生阻抗,則Rm可以用式(2)表示:
(2)
其中,rDS12和rDS13分別表示晶體管M12和晶體管M13漏極-源極的寄生阻抗,ID12和ID13分別表示晶體管M12和晶體管M13的漏極電流,λ表示溝道長度調(diào)制參數(shù)。
圖6 高線性轉(zhuǎn)換I→V模塊
通過以上分析可知,假設(shè)不考慮晶體管的失調(diào)效應(yīng)以及外部環(huán)境因素對I→V轉(zhuǎn)換電路的影響,通過I→V轉(zhuǎn)換電路能夠?qū)⑤斎腚娏髯兓呔€性的轉(zhuǎn)換為輸出電壓變化。
2.3 線性轉(zhuǎn)換V→I電路設(shè)計
將集成運算放大器的同相輸入端連接輸入電壓,反相輸入端連接負反饋電路,則集成運算放大器可以構(gòu)成一種線性V→I轉(zhuǎn)換電路。但是集成運算放大器一般面臨以下兩種威脅:(1) 輸入電壓或電流過大,導(dǎo)致PN結(jié)被擊穿;(2) 輸出端直接接地或電源,導(dǎo)致輸出功耗過高。
為了提高集成運算放大器的安全性,以及結(jié)合實際應(yīng)用環(huán)境,本節(jié)設(shè)計了一種負載電阻接地的電壓—電流線性轉(zhuǎn)換電路。如圖7所示,兩個集成運算放大器都采用了負反饋效應(yīng):A1在同相輸入端和輸出端之間并聯(lián)引入電流負反饋電路,實現(xiàn)同相求和功能,并且能夠防止輸入電壓過大而引起的PN結(jié)擊穿效應(yīng);A2在同相輸入端和輸出端之間并聯(lián)引入電壓負反饋電路,實現(xiàn)電壓跟隨器功能,而且能夠防止在閉環(huán)狀態(tài)下由于共模電壓過大而引起的損壞。此外,在集成運算放大器的輸出端通過插入電阻RL,可以割斷輸出端與地或電源的直接連接。
圖7 實用型電壓—電流線性轉(zhuǎn)換電路
2.4 電流補償電路設(shè)計實現(xiàn)
本文提出了一種密碼芯片電流補償電路,其晶體管級電路設(shè)計如圖8所示,由密碼算法IP核、測量電阻R、鏡像電路、高線性轉(zhuǎn)換I→V、高線性轉(zhuǎn)換V→I以及鏡像補償電路組成,Vref、Vb為偏置電壓輸入,IR為電流源,R0為1Ω小電阻,VDD為I/O電源的供電電壓。
圖8 電流補償電路的晶體管級設(shè)計實現(xiàn)
本文設(shè)計的電流補償電路的工作原理為:首先鏡像電路通過檢測密碼算法IP核的電流變化映射出與IS變化方向和大小都相等的鏡像電流ID2,即IS≈ID2;之后,在固定電流源IR的作用下,鏡像電路輸出與IS變化大小相等、方向相反的電流Iin,即Iin≈IR-IS;然后,將Iin作為高線性轉(zhuǎn)換I→V模塊的輸入電流,經(jīng)過鏡像、放大后,得到輸出電壓:
輸出電壓變化與密碼算法IP核的電流變化成線性關(guān)系,方向相反;其次,將輸出電壓Vm作為高線性轉(zhuǎn)換V→I模塊的輸入電壓,經(jīng)過轉(zhuǎn)換,得到輸出電流:
輸出電流變化與密碼算法IP核的電流變化成高線性關(guān)系,方向相反;最后,通過鏡像電流源電路,將輸出電流Im變化鏡像映射至Ifeedback,則Ifeedback≈Im。通過以上轉(zhuǎn)換可知,補償電流Ifeedback變化與密碼算法IP核電流IS變化大小相等、方向相反。當流經(jīng)密碼算法IP核的電流IS增大時,電流補償電路產(chǎn)生與之變化大小相等、方向相反的補償電流,則流經(jīng)待測電阻的電流保持不變;同樣,當流經(jīng)密碼算法IP核的電流IS降低時,電流補償電路產(chǎn)生的補償電流降低,則流經(jīng)待測電阻的電流同樣保持不變。因此,待測電阻兩端的電壓保持恒定不變,通過差分探頭無法獲得功耗信息與處理數(shù)據(jù)之間的相關(guān)性。
本文在0.18umCOMS工藝下,采用Cadence環(huán)境下UltraSim仿真工具對電流補償電路的安全性和功耗消耗進行仿真驗證。采用DES加密運算作為密碼芯片的算法,具體功耗采集步驟為:首先用Verilog語言描述DES算法;之后在后端布局布線的基礎(chǔ)上,提取帶有寄生參數(shù)的Spice網(wǎng)表;然后將電流補償電路添加到DES算法的Spice網(wǎng)表中,得到具有抗功耗攻擊效果的DES算法Spice網(wǎng)表;最后結(jié)合生產(chǎn)工藝參數(shù),通過UltraSim模擬出接近DES加密過程的瞬態(tài)電流曲線。
3.1 電流補償電路的抗功耗攻擊效果評估
電流補償電路能夠補償采樣電阻兩端的差分電壓變化,從而消除采樣功耗與處理數(shù)據(jù)之間的相關(guān)性,其中:電流變化抑制率A是衡量電流補償效果的最直接指標[8],可以用式(3)定義:
(3)
為了評估電流補償電路的抗功耗攻擊效果,本節(jié)采用1.8V工作電壓,電流源IR為7mA,參考電壓Vref為0.7V,V→I轉(zhuǎn)換模塊電阻R0為1Ω,電路工作頻率為100MHz,則通過UltraSim仿真得到的瞬態(tài)電流曲線如圖9所示。其中:曲線a表示流經(jīng)DES加密過程中的電流消耗ΔIchip,曲線b表示補償電流ΔIfeedback,曲線c表示流經(jīng)采樣電阻的電流ΔItotal。
圖9 加入電流補償電路的密碼芯片仿真瞬態(tài)電流
由圖9可知:補償電流的變化ΔIfeedback與DES加密芯片的電流變化ΔIchip,大小相等,方向相反;并且補償電流與密碼算法IP核電流之和基本上等于流經(jīng)采樣電阻的電流ΔItotal;ΔItotal變化范圍較小,可以忽略不計。在100MHz下,密碼芯片的瞬時電流變化最大范圍為2mA,采樣電阻的瞬時電流變化最大范圍為0.2mA,則電流變化抑制率A為90%。因此電流補償電路可以極大地降低采樣電阻兩端的功耗變化范圍,顯著增加了功耗攻擊的難度。
為了驗證電流補償電路的抗功耗攻擊效果,采用DPA攻擊所需樣本量作為量化指標,采用相同明文和密鑰對DES算法進行加密運算。
定義 假設(shè)正確密鑰的DPA曲線尖峰峰值為Icorrect,錯誤密鑰的DPA曲線尖峰峰值為Iwrong,定義SVI(SuccessValueIndicator)為功耗攻擊成功指標,并且SVI=min(Icorrect-Iwrong)。
分別攻擊未添加防護措施和添加電流補償電路的DES第一輪加密運算第一個S盒對應(yīng)的前6bits子密鑰,并以S盒輸出的第1位作為區(qū)分函數(shù)。通過綜合、布局布線以及網(wǎng)表抽取得到DES算法的Spice網(wǎng)表,使用UltraSim仿真得到15 000組隨機明文加密運算的功耗曲線,采用DPA攻擊,得到如圖10和圖11所示的樣本量與SVI之間的關(guān)系。分析可知,對于未添加防護措施DES密碼芯片而言,DPA攻擊成功所需的樣本量最少為600;對于添加補償電路設(shè)計的DES密碼芯片而言,DPA攻擊成功所需的樣本量最少為9500,增大了至少15倍。因此可以認為電流補償電路設(shè)計能夠顯著提高密碼芯片的安全性。
圖10 未加防護措施的DPA攻擊時SVI與樣本量的關(guān)系
圖11 加電流補償電路的DPA攻擊時SVI與樣本量的關(guān)系
3.2 電流補償電路的面積消耗評估
在0.18umCOMS工藝下,當密碼芯片的工作電流在1~10mA范圍內(nèi)時,本文提出的電流補償電路的版圖面積為12×103um2,而DES密碼算法的版圖面積為180×103um2,3-DES密碼算法的版圖面積為326×103um2。因此,電流補償電路占DES算法版圖面積的6.7%,占3-DES算法版圖面積的3.7%,可以認為電流補償電路占用密碼芯片的面積非常小,對設(shè)備面積的影響可以忽略不計。
在0.18um的COMS工藝下,將本文設(shè)計的電流補償電路的工作頻率、面積消耗、電流變化抑制率與文獻[5,9]相對比,得到表1。由表1可知,與文獻[9]和文獻[5]相比,本文設(shè)計的電流補償電路面積增益顯著降低。因此,本文設(shè)計的電流補償電路具有工作頻率高、面積消耗小、電流變化抑制率高的特點。
表1 不同電流補償電路的性能對比
本文從系統(tǒng)級防護技術(shù)出發(fā),研究了基于電流補償電路的功耗恒定模塊設(shè)計方案,提出了一種安全性高、工作頻率高、面積消耗低的電流補償電路。該電路由動態(tài)電流檢測模塊、高線性轉(zhuǎn)換I→V模塊和高線性轉(zhuǎn)換V→I模塊三個基本部分組成。通過UltraSim仿真發(fā)現(xiàn),面積增益不超過7%;針對DES算法,該電路設(shè)計使得DPA攻擊成功所需的樣本量至少增大了15倍,實現(xiàn)了系統(tǒng)級抗功耗攻擊的效果。
[1]ShamirA.ProtectingSmartCardsfromPassivePowerAnalysiswithDetachedPowerSupplies[C]//ProceedingsoftheSecondInternationalWorkshoponCryptographicHardwareandEmbeddedSystems.London:Springer,2000:71-77.
[2]MuresanR.ModelingandApplicationsofCurrentDynamicsinaComplexProcessorCore[D].Waterloo:UniversityofWaterloo,2003.
[3]ZafarY,HarDS.ANovelCountermeasuretoResistSideChannelAttacksonFPGAImplementations[J].InternationalJournalonAdvancesinSecurity,2009,2(1):1-7.
[4]GüneysuT,MoradiA.Genericside-channelcountermeasuresforreconfigurabledevices[C]//Proceedingsofthe13thInternationalConferenceonCryptographicHardwareandEmbeddedSystems.Springer,2011:33-48.
[5] 王晨旭,王進祥,韓志偉,等.一種用于DPA防御的電流平整電路設(shè)計[J].華中科技大學(xué)學(xué)報(自然科學(xué)版),2013,41(2):58-63.
[6] 羅俊,郝躍,秦國林,等.微納米CMOSVLSI電路可靠性仿真與設(shè)計[J].微電子學(xué),2012,42(2):255-260.
[7] 王晨旭.密碼芯片抗功耗攻擊技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[8]MuresanR,GregoriS.ProtectionCircuitagainstDifferentialPowerAnalysisAttacksforSmartCards[J].IEEETransactionsonComputers,2008,57(11):1540-1549.
[9]TiriK,VerbauwhedeI.Adigitaldesignflowforsecureintegratedcircuits[J].IEEETransactionsonComputer-AidedDesignofIntegratedCircuitsandSystems,2006,25(7):1197-1208.
A DESIGN OF CIPHER CHIP BASED ON CURRENT COMPENSATION CIRCUIT TO RESIST ANT POWER ATTACK
Yan Yingjian Xu Jijun Yu Jingchao
(ThePLAInformationEngineeringUniversity,Zhengzhou450000,Henan,China)
In order to design high universality units to resist ant power attack, a current compensation circuit is designed from the view of power consumption constant in system-level. Firstly, a high linearity I→V transformation module and a high linearity V→I transformation module is constructed, which realizes the function of accurate copying the current variation of cipher algorithm IP core. Secondly, the changes in current and voltage do compensate based on the symmetrical design, which inhibit the effect of temperature drift to current compensation circuit. Finally, the UltraSim simulation evaluates the effect of resisting power attack of this design, and analyzes the area consumption.
Consumption constant Current compensation circuit Power attack
2015-11-15。嚴迎建,教授,主研領(lǐng)域:芯片安全防護。許紀鈞,碩士生。于敬超,碩士生。
TP309.7
A
10.3969/j.issn.1000-386x.2017.01.056