国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種新型的抗PAA攻擊的雙軌預(yù)充電電路邏輯

2022-12-05 09:20姚茂群薛紫微
關(guān)鍵詞:行波功耗差分

姚茂群,薛紫微

(杭州師范大學(xué)信息科學(xué)與技術(shù)學(xué)院,浙江 杭州 311121)

0 引言

功耗分析攻擊(power analysis attack, PAA)[1]是威脅硬件安全的一種強有力的攻擊手段,其利用硬件電路工作過程中必然產(chǎn)生的功耗與其所處理數(shù)據(jù)的相關(guān)性建立信息泄露模型,通過對示波器所采樣的能量曲線進(jìn)行統(tǒng)計學(xué)分析,提取出數(shù)字電路存儲或計算的重要信息,如智能卡的密鑰、密碼芯片的S盒運算等.

基于PAA的改進(jìn)攻擊方法近年來層出不窮,因此,對PAA的預(yù)防措施已經(jīng)成為工業(yè)界和學(xué)術(shù)界研究的重要方向.功耗攻擊防護(hù)措施可以分為算法級、系統(tǒng)級和電路級3個方面[2],其中電路級防護(hù)措施旨在從底層邏輯電路上根本性地消除由功耗變化所帶來的信息泄露.電路級抗PAA方案一般是設(shè)計出功耗恒定的邏輯電路,已有學(xué)者利用聯(lián)合的門電路實現(xiàn)了邏輯電路的功耗平衡[3],同時提出新型的門電路設(shè)計[4],但考慮到提前傳播效應(yīng)的影響和芯片面積的優(yōu)化,更多的基于雙軌預(yù)充電的門電路設(shè)計方案被提出[5].通過對現(xiàn)有方案的調(diào)研,本文基于雙軌預(yù)充電邏輯結(jié)合行波流水方法設(shè)計出一種新的門電路,該電路能平衡功耗且減少芯片中晶體管數(shù)量.

1 雙軌預(yù)充電邏輯

雙軌預(yù)充電邏輯(dual-rail precharge logic, DRPL)[4]是Tiri等提出的實現(xiàn)功耗平衡的一個重要方法,它基于動態(tài)差分邏輯設(shè)計[6],因此雙軌的輸出是一對差分信號,再結(jié)合預(yù)充電邏輯可以實現(xiàn)每個時鐘周期固定不變的功率消耗.

1.1 動態(tài)差分邏輯

差分邏輯電路的輸出端為一對差分信號,圖1是由上拉網(wǎng)絡(luò)和下拉網(wǎng)絡(luò)實現(xiàn)的差分邏輯,可以看到輸出了邏輯上互“反”的一對信號.所以差分電路在任何時刻都有一個“1”和一個“0”的輸出,這為電路的功耗恒定提供了一個邏輯上的思路和基礎(chǔ).

圖1 差分邏輯Fig.1 Differential logic圖2 動態(tài)邏輯Fig.2 Dynamic logic

圖2 動態(tài)邏輯Fig.2 Dynamic logic

動態(tài)邏輯將電路運算分為預(yù)充電階段和求值階段,如圖2所示,在預(yù)充電階段,負(fù)載電容將被充電,而在求值階段,負(fù)載電容將會放電.電容放電產(chǎn)生的功耗是PAA的基礎(chǔ),因此如果求值階段的放電功耗平衡在一個固定的值,將從物理基礎(chǔ)上預(yù)防PAA攻擊.將差分邏輯和動態(tài)邏輯結(jié)合可以實現(xiàn)平衡功耗的目的.

1.2 雙軌預(yù)充電實現(xiàn)功耗平衡

將動態(tài)邏輯和差分邏輯結(jié)合,同時每個輸入信號和輸出信號均為一對差分信號,這便是本文采用的雙軌預(yù)充電邏輯[4].由于寄生電容和負(fù)載電容效應(yīng)的影響,數(shù)字電路的輸出信號在由“1”跳變?yōu)椤?”或“0”跳變?yōu)椤?”時會產(chǎn)生功耗,這是功耗與電路中信息的相關(guān)性存在的基礎(chǔ).因此,為產(chǎn)生恒定的功耗,就要使電路無論輸入信號是什么,在輸出端都只出現(xiàn)相同的信號跳變.采用雙軌預(yù)充電邏輯正是為了實現(xiàn)這一特性.

圖3 DRPL實現(xiàn)與門Fig.3 DRPL AND gate

在雙軌預(yù)充電邏輯中,如圖3所示的二輸入與門(AND gate),每個輸入信號為一對差分信號,即以(1,0)代替?zhèn)鹘y(tǒng)邏輯電路的邏輯“1”,以(0,1)代替邏輯“0”.每個時鐘周期的前半周期為預(yù)充電階段,這一階段電路的輸出端為(0,0);每個時鐘周期的后半周期為求值階段,這一階段電路進(jìn)行正常的邏輯運算,因此輸出端為一對差分信號(0,1)或(1,0).這種設(shè)計保證了在每個時鐘周期內(nèi)電路的輸出端要么產(chǎn)生(0,0)到(1,0)的跳變,要么產(chǎn)生(0,0)到(0,1)的跳變,無論哪種跳變,一個周期內(nèi)均只有一個端子產(chǎn)生“0”到“1”的跳變,而另一個端子不發(fā)生跳變,不會有功耗泄露,因此,每個時鐘周期內(nèi)的功耗產(chǎn)生將是恒定的.

而在兩個時鐘周期之間,輸出信號將產(chǎn)生一個由求值階段的輸出到下一周期預(yù)充電階段的輸出跳變,即由(0,1)或(1,0)跳變到(0,0),同樣只有一個端子產(chǎn)生了由“1”到“0”的信號跳變,因此用DRPL實現(xiàn)的門電路在每個時鐘周期中及各時鐘周期之間分別產(chǎn)生的功耗是恒定不變的,這樣針對功耗的信息泄露分析將無法展開.

2 基于上下拉網(wǎng)絡(luò)的功耗恒定方案

本文提出一種新型的功耗恒定的門電路設(shè)計方案,以與門為例,基于上下拉網(wǎng)絡(luò)使單軌與門和與非門(NAND gate)實現(xiàn)雙軌差分與門邏輯.

2.1 單軌與門和與非門

雙軌邏輯的輸出端為一對差分信號,因此為實現(xiàn)雙軌與門,需要將單軌的與門和與非門結(jié)合在一起.基于上下拉網(wǎng)絡(luò)的單軌與門和與非門設(shè)計如圖4,其實現(xiàn)結(jié)構(gòu)簡單,每個門電路均只采用4個晶體管,這使得基于此的芯片的面積成本大大降低.

與門

與非門

由于本文雙軌電路方案采用的輸入和輸出信號均為差分信號,所以需要將圖4單軌門電路的兩個輸入信號變換為兩對差分信號,這也是實現(xiàn)行波流水預(yù)充電方法的基礎(chǔ).

2.2 行波流水預(yù)充電的雙軌與門

行波流水預(yù)充電是指在預(yù)充電階段,預(yù)充電信號逐級傳遞的一種預(yù)充電方法.如果采用一個時鐘信號控制所有門電路,會對電路的布線帶來巨大的挑戰(zhàn).為避免這種時鐘信號的“大扇出”問題,同時簡化電路結(jié)構(gòu),擬采用行波流水的預(yù)充電方法.從圖3可以看出,預(yù)充電階段輸出信號為(0,0),可以用時鐘來控制實現(xiàn);但要采用行波流水的預(yù)充電邏輯,就需要保證上一級預(yù)充電階段的輸出作為下一級的輸入,同時實現(xiàn)下一級的預(yù)充電.因此在本文的設(shè)計中,電路在預(yù)充電時,是由輸入信號的全“0”實現(xiàn)輸出信號的全“0”的.圖5展示了預(yù)充電階段前一級的門電路將全“0”的預(yù)充電信號傳遞到下一級,進(jìn)而實現(xiàn)電路統(tǒng)一預(yù)充電的過程.

圖5 行波流水預(yù)充電Fig.5 Wave precharge

圖6 雙軌與門Fig.6 Dual-rail AND gate

要實現(xiàn)行波流水預(yù)充電,輸入信號和輸出信號必須都為差分信號,且在預(yù)充電時,這些差分信號對不是互補的一對信號,而是均為“0”信號.因此對圖4的單軌門電路進(jìn)行了改進(jìn),使其輸入也為差分信號,并組合成雙軌與門,如圖6所示.這里以高電平代表邏輯“1”,低電平代表邏輯“0”,可以看出,在該電路中,當(dāng)輸入信號均為邏輯“0”時,輸出信號也均跳變到邏輯“0”,這樣就實現(xiàn)了預(yù)充電階段“0”信號的傳遞,使得預(yù)充電之后所有輸出信號被置零.

此電路可以完成行波流水預(yù)充電,再結(jié)合其雙軌特性,可以較好地實現(xiàn)功耗恒定.在預(yù)充電階段,輸入信號全“0”,輸出信號全“0”;在求值階段,輸入信號恢復(fù)為差分信號,輸出信號也因此變?yōu)檎5倪壿嬛?,且是互為相反的信?因此,在每個時鐘周期中,電路只發(fā)生了預(yù)充電階段到求值階段的一次“0”—“1”信號跳變,這使得電路的周期功耗變化是恒定的,消除了功耗分析所依賴的信號與功耗的相關(guān)性.

3 實驗仿真與驗證

3.1 實驗結(jié)果

用電路仿真軟件Multisim對按照上述思路所設(shè)計的電路進(jìn)行模擬測試,實驗結(jié)果如下:以時鐘信號控制預(yù)充電階段與求值階段的跳變,當(dāng)輸入信號(A,B)由(0,0)跳變?yōu)?1,1)時,輸出信號由(0,1)跳變?yōu)?1,0),電路的功耗變化情況如圖7所示.

圖7 輸出信號由雙軌“0”跳變?yōu)椤?”時的功耗變化Fig.7 Power consumption of 0-1 switch

圖8 輸出信號由雙軌“1”跳變?yōu)椤?”時的功耗變化FigFig.8 Power consumption of 1-0 switch

圖9 輸出信號保持“0”不變時的功耗變化Fig.9 Power consumption of 0-0 switch

當(dāng)輸入信號由(1,1)跳變?yōu)?1,0)時,輸出信號由(1,0)跳變?yōu)?0,1),電路的功耗變化如圖8所示.

當(dāng)輸入信號由(0,1)跳變?yōu)?1,0)時,輸出信號由(0,1)跳變?yōu)?0,1),電路的功耗變化如圖9所示.

其他信號跳變情況不再一一展示.從實驗結(jié)果可以看出,無論輸入信號如何跳變、輸出信號是否保持原值,電路都只會產(chǎn)生一樣的功耗變化,由此測量出來的電路功耗波形是周期性變化的,攻擊者將無法從中分析出信息泄露.

3.2 功耗恒定性分析

為驗證本方案的功耗恒定特性,選取輸入信號由(1,1)跳變?yōu)?1,0)時電源電流的變化情況進(jìn)行統(tǒng)計分析,得到了本方案在最差情況下的NED值(8.24).WDDL邏輯是Kris等提出的一種抗功耗攻擊電路,其NED值為11.50[9-10],可以看出本方案實現(xiàn)的門電路具有更小的功耗偏差.當(dāng)然,從圖8、圖9中發(fā)現(xiàn),電路在各周期功耗變化仍存在微小的差異,這是由于晶體管類型的不同及毛刺信號干擾造成的,下一步研究將就這些問題對方案進(jìn)行再次優(yōu)化.

猜你喜歡
行波功耗差分
RLW-KdV方程的緊致有限差分格式
帶有超二次位勢無限格點上的基態(tài)行波解
一類非局部擴(kuò)散的SIR模型的行波解
用Riccati方程的新解求Fitzhugh-Nagumo方程的新行波解
基于任務(wù)映射的暗硅芯片功耗預(yù)算方法
數(shù)列與差分
一類帶治療項的非局部擴(kuò)散SIR傳染病模型的行波解
揭開GPU功耗的面紗
數(shù)字電路功耗的分析及優(yōu)化
一種面向星載計算機(jī)的功能級功耗估計方法
南和县| 天全县| 石景山区| 新建县| 东乌珠穆沁旗| 监利县| 长子县| 湘潭县| 大厂| 恩施市| 乐安县| 合川市| 城口县| 遵义市| 元阳县| 廉江市| 南江县| 五指山市| 辉县市| 弋阳县| 南安市| 三河市| 中卫市| 重庆市| 咸丰县| 承德市| 呈贡县| 房产| 高密市| 上林县| 东乌| 公主岭市| 从江县| 舒兰市| 凤台县| 娄底市| 八宿县| 淳化县| 岳池县| 大足县| 雷州市|