專利名稱:一種dpa安全性評(píng)測與對(duì)抗方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本專利涉及密碼芯片安全領(lǐng)域,尤其是涉及一種DPA安全性評(píng)測與對(duì)抗方法及其
直ο
背景技術(shù):
旁路攻擊(Side Channel Attack)是依靠加密過程中泄露的功耗,時(shí)間與電磁輻射等物理信息來破解密鑰的分析方式。DPA (Differential Power Analysis)攻擊是旁路式攻擊(SCA)的一種,利用功耗與正在運(yùn)行的指令,正在執(zhí)行的數(shù)據(jù)之間的關(guān)系攻擊密鑰。DPA攻擊利用數(shù)字示波器測量電路板,在加密大量隨機(jī)明文數(shù)據(jù)的同時(shí)記錄若干條功耗曲線,并根據(jù)某一比特劃分曲線組。 正確的劃分將導(dǎo)致差分功耗曲線上產(chǎn)生一個(gè)峰值,從而得到密鑰,攻擊成功。作為最有效的 SCA之一,它已攻破50余種智能卡,能廣泛應(yīng)用于各種加密機(jī)制?;谠糄PA我們提出了極性DPA的分析方法,并將極性DPA延伸至逆向分析當(dāng)中。功耗互補(bǔ)邏輯是現(xiàn)在比較有效的DPA對(duì)抗方式之一,現(xiàn)有的功耗互補(bǔ)邏輯包括 SABL, WDDL、DyCML, SDPL, SDRL、DCVSL等方法。對(duì)于對(duì)抗DPA攻擊,這些方法都能達(dá)到從底層來消除DPA攻擊的峰值,從而有效的達(dá)到對(duì)抗DPA攻擊的作用。但是功耗互補(bǔ)邏輯的缺點(diǎn)在于它們的面積。和功耗都顯著的高于傳統(tǒng)CMOS電路,另外這些方法比起標(biāo)準(zhǔn)單元電路還明顯提高了設(shè)計(jì)時(shí)間。因此在實(shí)際應(yīng)用中,如果在完整的處理器及ASIC上實(shí)現(xiàn)這些對(duì)抗方式的話,代價(jià)過于昂貴,并很可能造成產(chǎn)量低的風(fēng)險(xiǎn)。鑒于以上原因,我們在WDDL的基礎(chǔ)上,改進(jìn)并提出了 KANO的對(duì)抗方法。由于旁路攻擊的存在,使芯片的安全性難以保證,那么芯片設(shè)計(jì)者需要對(duì)芯片的安全性作出合理的評(píng)價(jià)。另外,在專用集成電路加入對(duì)抗的過程中,由于對(duì)抗方式之間存在差異,這就要求計(jì)算機(jī)輔助設(shè)計(jì)工具必須能夠支持混合了不同風(fēng)格邏輯的復(fù)雜設(shè)計(jì)流程, 在提高安全性的同時(shí),還必須考慮電路資源與功耗等方面問題,這樣也需要一個(gè)合理的評(píng)價(jià)來權(quán)衡安全性與電路代價(jià)兩者的關(guān)系。鑒于以上原因,就需要一個(gè)統(tǒng)一的綜合評(píng)價(jià)框架, 綜合不同模擬環(huán)境和適當(dāng)?shù)闹笜?biāo),為不同的標(biāo)準(zhǔn)的芯片電路設(shè)計(jì),提供一個(gè)準(zhǔn)確的評(píng)價(jià)。
發(fā)明內(nèi)容
本發(fā)明主要是解決上述現(xiàn)有技術(shù)所存在的技術(shù)問題;提供了一種DPA安全性評(píng)測與對(duì)抗方法及其裝置。本發(fā)明的上述技術(shù)問題主要是通過下述技術(shù)方案得以解決的 一種DPA安全性評(píng)測與對(duì)抗方法,其特征在于,包括以下步驟
步驟1,由系統(tǒng)配置模塊進(jìn)行系統(tǒng)配置包括擬合的工具設(shè)置、分析過程中使用的元件庫設(shè)置與工具路徑設(shè)置;
步驟2,由參數(shù)設(shè)置模塊進(jìn)行參數(shù)設(shè)置包括分析方式,對(duì)抗方式,分析報(bào)表中的性能參數(shù)與安全性參數(shù)設(shè)置;
步驟3,由數(shù)據(jù)來源模塊根據(jù)用戶選擇進(jìn)行功耗數(shù)據(jù)來源的設(shè)置根據(jù)用戶的選擇,功耗數(shù)據(jù)為仿真數(shù)據(jù)或者實(shí)測數(shù)據(jù);
步驟4,由功耗分析模塊根據(jù)步驟1以及步驟2配置針對(duì)完成步驟3后的功耗數(shù)據(jù)來源進(jìn)行功耗分析并得到相應(yīng)分析結(jié)果;
步驟5,由分析模塊針對(duì)完成步驟4后的分析結(jié)果進(jìn)行分析報(bào)表包括功耗分析的數(shù)據(jù)與圖表、電路資源情況、能量跡數(shù)量,在綜合報(bào)表中給出對(duì)抗方法的合理性建議。本發(fā)明以多個(gè)層次的芯片開發(fā)工具、功耗測試工具、以及多種功耗泄露分析模型等為基礎(chǔ),同時(shí)加入新型DPA分析方法以及對(duì)抗方法,擬合成一套適應(yīng)多角度、多層次的, 集功耗采樣、泄露分析、評(píng)價(jià)與對(duì)抗于一身的自動(dòng)化平臺(tái),以盡量方便、透明的方式幫助芯片設(shè)計(jì)者進(jìn)行客觀、合理的抗功耗能力分析與評(píng)價(jià)。在上述的一種DPA安全性評(píng)測與對(duì)抗方法,所述的步驟3中,數(shù)據(jù)來源模塊包括仿真單元以及實(shí)測單元,根據(jù)用戶選擇后選擇執(zhí)行以下步驟,若用戶選擇功耗數(shù)據(jù)為仿真數(shù)據(jù)執(zhí)行步驟3. 1 ;若用戶選擇功耗數(shù)據(jù)為實(shí)測數(shù)據(jù)執(zhí)行步驟3. 2
步驟3. 1,由仿真單元對(duì)芯片電路進(jìn)行仿真,并得到相應(yīng)數(shù)據(jù),所述芯片電路是由用戶輸入的設(shè)計(jì)文件,由仿真單元生成Verilog的網(wǎng)表描述,然后通過仿真單元轉(zhuǎn)換成SPICE網(wǎng)表電路描述并用于電路仿真,所述得到相應(yīng)數(shù)據(jù)為電路仿真后得到的仿真功耗數(shù)據(jù);
步驟3. 2,由用戶將實(shí)測數(shù)據(jù)導(dǎo)入實(shí)測單元并由實(shí)測單元對(duì)數(shù)據(jù)進(jìn)行分析,所述的實(shí)測數(shù)據(jù)為測試向量文件與實(shí)測功耗數(shù)據(jù)文件。在上述的一種DPA安全性評(píng)測與對(duì)抗方法,所述的功耗分析模塊包括仿真分析單元和實(shí)測分析單元,并根據(jù)用戶的選擇進(jìn)行選擇執(zhí)行若用戶選擇仿真數(shù)據(jù),則使用用戶在步驟2中設(shè)置的分析方法針對(duì)仿真數(shù)據(jù)進(jìn)行數(shù)據(jù)分析;若用戶選擇實(shí)測數(shù)據(jù),則使用步驟2 中設(shè)置的分析方法進(jìn)行分析,所述使用的數(shù)據(jù)是用戶自行提交的實(shí)測數(shù)據(jù)與相應(yīng)的測試向量。在上述的一種DPA安全性評(píng)測與對(duì)抗方法,所述的仿真分析單元包括原始DPA分析以及極性DPA分析、CPA分析、逆向分析、用戶自定義;根據(jù)用戶選擇的分析方法,執(zhí)行進(jìn)行步驟4. 1或步驟4. 2或步驟4. 3或步驟4. 4或步驟4. 5
步驟4. 1,若用戶選擇原始DPA分析方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下
A、平臺(tái)上生成用于仿真的測試向量;
B、進(jìn)行電路功耗仿真得到相應(yīng)仿真功耗數(shù)據(jù);
C、用戶導(dǎo)入前階段生成的測試向量文件與功耗數(shù)據(jù)文件并設(shè)置好測試數(shù)據(jù)輸出路徑后即可開始分析;
D、系統(tǒng)分析完成后,用戶可看到攻擊成功所需能量跡數(shù)量,電路資源報(bào)表中包含前階段設(shè)定的性能參數(shù),另外得到差分功耗數(shù)據(jù),用戶可觀察通過形象的圖表來觀測數(shù)據(jù)相關(guān)性;
步驟4. 2,若用戶選擇極性DPA分析方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下
A、第一階段功耗采集中先生成第一階段功耗采集中所需要的測試向量,并設(shè)置需要攻擊獲取的密鑰;
B、平臺(tái)利用A中生成的測試向量進(jìn)行第一階段功耗仿真,得到相應(yīng)的功耗數(shù)據(jù)并進(jìn)行相應(yīng)的數(shù)據(jù)分析,得到相應(yīng)的極性數(shù)組;
C、第二階段功耗采集中需要生成此階段功耗采集所需要的測試向量,并自行設(shè)置密鑰,此處為已知密鑰,置為全0,實(shí)際中可通過燒毀密鑰寄存器的方式實(shí)現(xiàn);
D、平臺(tái)進(jìn)行第二階段功耗仿真,得到相應(yīng)的數(shù)據(jù)并進(jìn)行相應(yīng)數(shù)據(jù)分析,得到相應(yīng)極性數(shù)組;
E、利用兩個(gè)階段得到的極性數(shù)組,完成相應(yīng)的攻擊過程并得到攻擊難度;所述攻擊過程就是將兩個(gè)階段得到的極性數(shù)組相異或得到攻擊的密鑰,攻擊難度通過上述安全性參數(shù)設(shè)置來衡量;
F、系統(tǒng)分析完成后,用戶可獲得攻擊成功所需能量跡數(shù)量,電路資源報(bào)表中包含前階段設(shè)定的性能參數(shù);
步驟4. 3,若用戶選擇CPA分析方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下
A、用戶導(dǎo)入前階段生成的測試向量文件與功耗數(shù)據(jù)文件并設(shè)置好測試數(shù)據(jù)輸出路徑后即可開始分析;
B、系統(tǒng)分析完成后,用戶可看到攻擊成功所需能量跡數(shù)量,電路資源報(bào)表中包含前階段設(shè)定的性能參數(shù),另外得到相關(guān)系數(shù)數(shù)據(jù),用戶可觀察通過形象的圖表來觀測數(shù)據(jù);
C、系統(tǒng)內(nèi)部將加入用戶設(shè)定的對(duì)抗后的效果進(jìn)行分析,并在綜合報(bào)表中為用戶制定合理的對(duì)抗方案建議;
步驟4. 4,若用戶選擇逆向分析方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下
A、用戶設(shè)置導(dǎo)入前階段生成的測試向量文件與功耗數(shù)據(jù)文件并設(shè)置好測試數(shù)據(jù)輸出路徑后即可開始分析;
B、系統(tǒng)分析完后,用戶可觀測到還原的S盒參數(shù),以及能量跡數(shù)量與電路資源統(tǒng)計(jì)情
況;
C、系統(tǒng)內(nèi)部將加入用戶設(shè)定的對(duì)抗后的效果進(jìn)行分析,并在綜合報(bào)表中為用戶制定合理的對(duì)抗方案建議; 步驟4. 5,若用戶選擇用戶自定義方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下
A、用戶自行提交相應(yīng)方法的代碼;所述代碼為
B、使用相應(yīng)的分析方法進(jìn)行數(shù)據(jù)分析。(相應(yīng)的分析方法為?)
在上述的一種DPA安全性評(píng)測與對(duì)抗方法,所述的步驟1中,工具設(shè)置包括=HSPICE、 Design Compiler、HSIM 元件庫設(shè)置包括HSPICE ,Design Compiler、HSIM 對(duì)應(yīng)的元件庫; 工具路徑設(shè)置包括HSPICE、Design Compiler、HSIM對(duì)應(yīng)的安裝路徑。在上述的一種DPA安全性評(píng)測與對(duì)抗方法,所述的步驟2中,所述的對(duì)抗方式包括WDDL對(duì)抗方法,KANO對(duì)抗方法,用戶自定義方法;分析報(bào)表中的性能參數(shù)包括電路資源情況、信噪比;安全性參數(shù)設(shè)置包括相關(guān)系數(shù)、條件熵與互信息、能量跡數(shù)量。一種使用DPA安全性評(píng)測與對(duì)抗方法的裝置,其特征在于,包括依次相連的系統(tǒng)配置模塊、參數(shù)設(shè)置模塊、數(shù)據(jù)來源模塊、功耗分析模塊以及分析模塊,所述數(shù)據(jù)來源模塊包括仿真單元以及實(shí)測單元,所述功耗分析模塊包括仿真分析單元和實(shí)測分析單元。因此,本發(fā)明具有如下優(yōu)點(diǎn)1.平臺(tái)中加入了引入新型的極性DPA和逆向分析攻擊方法,可以對(duì)電路作出更加合理的評(píng)測;2.平臺(tái)加入新型的KANO對(duì)抗方法,為用戶的提供新的對(duì)抗方式;3.平臺(tái)具有可制定性與智能性,平臺(tái)在不同環(huán)境的使用過程中,對(duì)不同數(shù)據(jù)進(jìn)行分析的同時(shí)積累分析經(jīng)驗(yàn),不斷提升平臺(tái)自身的分析能力,更好的實(shí)現(xiàn)智能化;
4.通過一個(gè)統(tǒng)一的平臺(tái),對(duì)多種不同的密碼電路設(shè)計(jì)以及面向多種攻擊方法與對(duì)抗方法;
5.平臺(tái)具有操作的便利性特點(diǎn),另外平臺(tái)具有可升級(jí)性,平臺(tái)中的攻擊方法、對(duì)抗方法、評(píng)價(jià)指標(biāo)均可定制與升級(jí)。
圖1表示系統(tǒng)總體框架圖2表示原始DPA仿真分析流程圖; 圖3表示極性DPA仿真分析流程圖。
具體實(shí)施例方式下面通過實(shí)施例,并結(jié)合附圖,對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步具體的說明。實(shí)施例
一種DPA安全性評(píng)測與對(duì)抗方法,包括以下步驟
步驟1,由系統(tǒng)配置模塊進(jìn)行系統(tǒng)配置包括擬合的工具設(shè)置、分析過程中使用的元件庫設(shè)置與工具路徑設(shè)置;工具設(shè)置包括HSPICE、Design Compiler、HSIM元件庫設(shè)置包括HSPICE、Design Compiler、HSIM對(duì)應(yīng)的元件庫;工具路徑設(shè)置包括HSPICE、Design Compiler、HSIM對(duì)應(yīng)的安裝路徑;對(duì)抗方式包括WDDL對(duì)抗方法,KANO對(duì)抗方法,用戶自定義方法;分析報(bào)表中的性能參數(shù)包括電路資源情況、信噪比;安全性參數(shù)設(shè)置包括相關(guān)系數(shù)、條件熵與互信息、能量跡數(shù)量。步驟2,由參數(shù)設(shè)置模塊進(jìn)行參數(shù)設(shè)置包括分析方式,對(duì)抗方式,分析報(bào)表中的性能參數(shù)與安全性參數(shù)設(shè)置;
步驟3,由數(shù)據(jù)來源模塊根據(jù)用戶選擇進(jìn)行功耗數(shù)據(jù)來源的設(shè)置根據(jù)用戶的選擇,功耗數(shù)據(jù)為仿真數(shù)據(jù)或者實(shí)測數(shù)據(jù);數(shù)據(jù)來源模塊包括仿真單元以及實(shí)測單元,根據(jù)用戶選擇后選擇執(zhí)行以下步驟,若用戶選擇功耗數(shù)據(jù)為仿真數(shù)據(jù)執(zhí)行步驟3. 1 ;若用戶選擇功耗數(shù)據(jù)為實(shí)測數(shù)據(jù)執(zhí)行步驟3. 2:
步驟3. 1,由仿真單元對(duì)芯片電路進(jìn)行仿真,并得到相應(yīng)數(shù)據(jù),所述芯片電路是由用戶輸入的設(shè)計(jì)文件,由仿真單元生成Verilog的網(wǎng)表描述,然后通過仿真單元轉(zhuǎn)換成SPICE網(wǎng)表電路描述并用于電路仿真,所述得到相應(yīng)數(shù)據(jù)為電路仿真后得到的仿真功耗數(shù)據(jù);
步驟3. 2,由用戶將實(shí)測數(shù)據(jù)導(dǎo)入實(shí)測單元并由實(shí)測單元對(duì)數(shù)據(jù)進(jìn)行分析,所述的實(shí)測數(shù)據(jù)為測試向量文件與實(shí)測功耗數(shù)據(jù)文件。步驟4,由功耗分析模塊根據(jù)步驟1以及步驟2配置針對(duì)完成步驟3后的功耗數(shù)據(jù)來源進(jìn)行功耗分析并得到相應(yīng)分析結(jié)果;功耗分析模塊包括仿真分析單元和實(shí)測分析單元,并根據(jù)用戶的選擇進(jìn)行選擇執(zhí)行若用戶選擇仿真數(shù)據(jù),則使用用戶在步驟2中設(shè)置的分析方法針對(duì)仿真數(shù)據(jù)進(jìn)行數(shù)據(jù)分析;若用戶選擇實(shí)測數(shù)據(jù),則使用步驟2中設(shè)置的分析方法進(jìn)行分析,所述使用的數(shù)據(jù)是用戶自行提交的實(shí)測數(shù)據(jù)與相應(yīng)的測試向量。 仿真分析單元包括原始DPA分析以及極性DPA分析、CPA分析、逆向分析、用戶自
定義;根據(jù)用戶選擇的分析方法,執(zhí)行進(jìn)行步驟4. 1或步驟4. 2,4. 3,4. 4,4. 5
步驟4. 1,若用戶選擇原始DPA分析方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下
D、平臺(tái)上生成用于仿真的測試向量;
E、進(jìn)行電路功耗仿真得到相應(yīng)仿真功耗數(shù)據(jù);
F、用戶導(dǎo)入前階段生成的測試向量文件與功耗數(shù)據(jù)文件并設(shè)置好測試數(shù)據(jù)輸出路徑后即可開始分析;
D、系統(tǒng)分析完成后,用戶可看到攻擊成功所需能量跡數(shù)量,電路資源報(bào)表中包含前階段設(shè)定的性能參數(shù),另外得到差分功耗數(shù)據(jù),用戶可觀察通過形象的圖表來觀測數(shù)據(jù)相關(guān)性;
步驟4. 2,若用戶選擇極性DPA分析方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下
G、第一階段功耗采集中先生成第一階段功耗采集中所需要的測試向量,并設(shè)置需要攻擊獲取的密鑰;
H、平臺(tái)利用A中生成的測試向量進(jìn)行第一階段功耗仿真,得到相應(yīng)的功耗數(shù)據(jù)并進(jìn)行相應(yīng)的數(shù)據(jù)分析,得到相應(yīng)的極性數(shù)組;
I、第二階段功耗采集中需要生成此階段功耗采集所需要的測試向量,并自行設(shè)置密鑰,此處為已知密鑰,置為全0,實(shí)際中可通過燒毀密鑰寄存器的方式實(shí)現(xiàn);
J、平臺(tái)進(jìn)行第二階段功耗仿真,得到相應(yīng)的數(shù)據(jù)并進(jìn)行相應(yīng)數(shù)據(jù)分析,得到相應(yīng)極性數(shù)組;
K、利用兩個(gè)階段得到的極性數(shù)組,完成相應(yīng)的攻擊過程并得到攻擊難度;所述攻擊過程就是將兩個(gè)階段得到的極性數(shù)組相異或得到攻擊的密鑰,攻擊難度通過上述安全性參數(shù)設(shè)置來衡量;
L、系統(tǒng)分析完成后,用戶可獲得攻擊成功所需能量跡數(shù)量,電路資源報(bào)表中包含前階段設(shè)定的性能參數(shù);
步驟4. 3,若用戶選擇CPA分析方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下
D、用戶導(dǎo)入前階段生成的測試向量文件與功耗數(shù)據(jù)文件并設(shè)置好測試數(shù)據(jù)輸出路徑后即可開始分析;
E、系統(tǒng)分析完成后,用戶可看到攻擊成功所需能量跡數(shù)量,電路資源報(bào)表中包含前階段設(shè)定的性能參數(shù),另外得到相關(guān)系數(shù)數(shù)據(jù),用戶可觀察通過形象的圖表來觀測數(shù)據(jù);
F、系統(tǒng)內(nèi)部將加入用戶設(shè)定的對(duì)抗后的效果進(jìn)行分析,并在綜合報(bào)表中為用戶制定合理的對(duì)抗方案建議;
步驟4. 4,若用戶選擇逆向分析方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下
D、用戶設(shè)置導(dǎo)入前階段生成的測試向量文件與功耗數(shù)據(jù)文件并設(shè)置好測試數(shù)據(jù)輸出路徑后即可開始分析;
E、系統(tǒng)分析完后,用戶可觀測到還原的S盒參數(shù),以及能量跡數(shù)量與電路資源統(tǒng)計(jì)情
況;
F、系統(tǒng)內(nèi)部將加入用戶設(shè)定的對(duì)抗后的效果進(jìn)行分析,并在綜合報(bào)表中為用戶制定合理的對(duì)抗方案建議;步驟4. 5,若用戶選擇用戶自定義方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下
A.用戶自行提交相應(yīng)分析方法的代碼;所述代碼為使用與制作平臺(tái)相同的編程語言或者相兼容的編程語言,如c#,java等,來編寫用戶自己定義的分析方法的程序代碼;
B.使用相應(yīng)的分析方法進(jìn)行數(shù)據(jù)分析,所戶相應(yīng)的分析方法為步驟A中用戶提交的程序語言所描述的分析方法。步驟5,由分析模塊針對(duì)完成步驟4后的分析結(jié)果進(jìn)行分析報(bào)表包括功耗分析的數(shù)據(jù)與圖表、電路資源情況、能量跡數(shù)量,在綜合報(bào)表中給出對(duì)抗方法的合理性建議;對(duì)抗方法是在分析過程中加入,并與原設(shè)計(jì)作對(duì)比,得出對(duì)抗方法中的最佳對(duì)抗方式。本文中所描述的具體實(shí)施例僅僅是對(duì)本發(fā)明精神作舉例說明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對(duì)所描述的具體實(shí)施例做各種各樣的修改或補(bǔ)充或采用類似的方式替代,但并不會(huì)偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍。盡管本文較多地使用了系統(tǒng)配置模塊、參數(shù)設(shè)置模塊、數(shù)據(jù)來源模塊、功耗分析模塊、分析模塊、仿真單元、實(shí)測單元、仿真分析單元、實(shí)測分析單元等術(shù)語,但并不排除使用其它術(shù)語的可能性。使用這些術(shù)語僅僅是為了更方便地描述和解釋本發(fā)明的本質(zhì);把它們解釋成任何一種附加的限制都是與本發(fā)明精神相違背的。
權(quán)利要求
1.一種DPA安全性評(píng)測與對(duì)抗方法,其特征在于,包括以下步驟步驟1,由系統(tǒng)配置模塊進(jìn)行系統(tǒng)配置包括擬合的工具設(shè)置、分析過程中使用的元件庫設(shè)置與工具路徑設(shè)置;步驟2,由參數(shù)設(shè)置模塊進(jìn)行參數(shù)設(shè)置包括分析方式,對(duì)抗方式,分析報(bào)表中的性能參數(shù)與安全性參數(shù)設(shè)置;步驟3,由數(shù)據(jù)來源模塊根據(jù)用戶選擇進(jìn)行功耗數(shù)據(jù)來源的設(shè)置根據(jù)用戶的選擇,功耗數(shù)據(jù)為仿真數(shù)據(jù)或者實(shí)測數(shù)據(jù);步驟4,由功耗分析模塊根據(jù)步驟1以及步驟2配置針對(duì)完成步驟3后的功耗數(shù)據(jù)來源進(jìn)行功耗分析并得到相應(yīng)分析結(jié)果;步驟5,由分析模塊針對(duì)完成步驟4后的分析結(jié)果進(jìn)行分析報(bào)表包括功耗分析的數(shù)據(jù)與圖表、電路資源情況、能量跡數(shù)量,在綜合報(bào)表中給出對(duì)抗方法的合理性建議。
2.根據(jù)權(quán)利要求1所述的一種DPA安全性評(píng)測與對(duì)抗方法,其特征在于,所述的步驟3 中,數(shù)據(jù)來源模塊包括仿真單元以及實(shí)測單元,根據(jù)用戶選擇后選擇執(zhí)行以下步驟,若用戶選擇功耗數(shù)據(jù)為仿真數(shù)據(jù)執(zhí)行步驟3. 1 ;若用戶選擇功耗數(shù)據(jù)為實(shí)測數(shù)據(jù)執(zhí)行步驟3. 2 步驟3. 1,由仿真單元對(duì)芯片電路進(jìn)行仿真,并得到相應(yīng)數(shù)據(jù),所述芯片電路是由用戶輸入的設(shè)計(jì)文件,由仿真單元生成Verilog的網(wǎng)表描述,然后通過仿真單元轉(zhuǎn)換成SPICE網(wǎng)表電路描述并用于電路仿真,所述得到相應(yīng)數(shù)據(jù)為電路仿真后得到的仿真功耗數(shù)據(jù);步驟3. 2,由用戶將實(shí)測數(shù)據(jù)導(dǎo)入實(shí)測單元并由實(shí)測單元對(duì)數(shù)據(jù)進(jìn)行分析,所述的實(shí)測數(shù)據(jù)為測試向量文件與實(shí)測功耗數(shù)據(jù)文件。
3.根據(jù)權(quán)利要求1所述的一種DPA安全性評(píng)測與對(duì)抗方法,其特征在于,所述的功耗分析模塊包括仿真分析單元和實(shí)測分析單元,并根據(jù)用戶的選擇進(jìn)行選擇執(zhí)行若用戶選擇仿真數(shù)據(jù),則使用用戶在步驟2中設(shè)置的分析方法針對(duì)仿真數(shù)據(jù)進(jìn)行數(shù)據(jù)分析;若用戶選擇實(shí)測數(shù)據(jù),則使用步驟2中設(shè)置的分析方法進(jìn)行分析,所述使用的數(shù)據(jù)是用戶自行提交的實(shí)測數(shù)據(jù)與相應(yīng)的測試向量。
4.根據(jù)權(quán)利要求3所述的一種DPA安全性評(píng)測與對(duì)抗方法,其特征在于,所述的仿真分析單元包括原始DPA分析以及極性DPA分析、CPA分析、逆向分析、用戶自定義;根據(jù)用戶選擇的分析方法,執(zhí)行進(jìn)行步驟4. 1或步驟4. 2或步驟4. 3或步驟4. 4或步驟4. 5 步驟4. 1,若用戶選擇原始DPA分析方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下平臺(tái)上生成用于仿真的測試向量;進(jìn)行電路功耗仿真得到相應(yīng)仿真功耗數(shù)據(jù);用戶導(dǎo)入前階段生成的測試向量文件與功耗數(shù)據(jù)文件并設(shè)置好測試數(shù)據(jù)輸出路徑后即可開始分析;D、系統(tǒng)分析完成后,用戶可看到攻擊成功所需能量跡數(shù)量,電路資源報(bào)表中包含前階段設(shè)定的性能參數(shù),另外得到差分功耗數(shù)據(jù),用戶可觀察通過形象的圖表來觀測數(shù)據(jù)相關(guān)性;步驟4. 2,若用戶選擇極性DPA分析方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下 A、第一階段功耗采集中先生成第一階段功耗采集中所需要的測試向量,并設(shè)置需要攻擊獲取的密鑰;B、平臺(tái)利用A中生成的測試向量進(jìn)行第一階段功耗仿真,得到相應(yīng)的功耗數(shù)據(jù)并進(jìn)行相應(yīng)的數(shù)據(jù)分析,得到相應(yīng)的極性數(shù)組;C、第二階段功耗采集中需要生成此階段功耗采集所需要的測試向量,并自行設(shè)置密鑰,此處為已知密鑰,置為全0,實(shí)際中可通過燒毀密鑰寄存器的方式實(shí)現(xiàn);D、平臺(tái)進(jìn)行第二階段功耗仿真,得到相應(yīng)的數(shù)據(jù)并進(jìn)行相應(yīng)數(shù)據(jù)分析,得到相應(yīng)極性數(shù)組;E、利用兩個(gè)階段得到的極性數(shù)組,完成相應(yīng)的攻擊過程并得到攻擊難度;所述攻擊過程就是將兩個(gè)階段得到的極性數(shù)組相異或得到攻擊的密鑰,攻擊難度通過上述安全性參數(shù)設(shè)置來衡量;F、系統(tǒng)分析完成后,用戶可獲得攻擊成功所需能量跡數(shù)量,電路資源報(bào)表中包含前階段設(shè)定的性能參數(shù);步驟4. 3,若用戶選擇CPA分析方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下A、用戶導(dǎo)入前階段生成的測試向量文件與功耗數(shù)據(jù)文件并設(shè)置好測試數(shù)據(jù)輸出路徑后即可開始分析;B、系統(tǒng)分析完成后,用戶可看到攻擊成功所需能量跡數(shù)量,電路資源報(bào)表中包含前階段設(shè)定的性能參數(shù),另外得到相關(guān)系數(shù)數(shù)據(jù),用戶可觀察通過形象的圖表來觀測數(shù)據(jù);C、系統(tǒng)內(nèi)部將加入用戶設(shè)定的對(duì)抗后的效果進(jìn)行分析,并在綜合報(bào)表中為用戶制定合理的對(duì)抗方案建議;步驟4. 4,若用戶選擇逆向分析方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下A、用戶設(shè)置導(dǎo)入前階段生成的測試向量文件與功耗數(shù)據(jù)文件并設(shè)置好測試數(shù)據(jù)輸出路徑后即可開始分析;B、系統(tǒng)分析完后,用戶可觀測到還原的S盒參數(shù),以及能量跡數(shù)量與電路資源統(tǒng)計(jì)情況;C、系統(tǒng)內(nèi)部將加入用戶設(shè)定的對(duì)抗后的效果進(jìn)行分析,并在綜合報(bào)表中為用戶制定合理的對(duì)抗方案建議;步驟4. 5,若用戶選擇用戶自定義方法進(jìn)行數(shù)據(jù)分析,則操作步驟如下A、用戶自行提交相應(yīng)分析方法的代碼;所述代碼為使用與制作平臺(tái)相同的編程語言或者相兼容的編程語言,來編寫用戶自己定義的分析方法的程序代碼;B、使用相應(yīng)的分析方法進(jìn)行數(shù)據(jù)分析,所述相應(yīng)的分析方法為是步驟A中用戶提交的程序語言所描述的分析方法。
5.根據(jù)權(quán)利要求1所述的一種DPA安全性評(píng)測與對(duì)抗方法,其特征在于,所述的步驟 1 中,工具設(shè)置包括HSPICE、Design Compiler、HSIM 元件庫設(shè)置包括HSPICE、Design Compiler、HSIM對(duì)應(yīng)的元件庫;工具路徑設(shè)置包括HSPICE、Design Compiler、HSIM對(duì)應(yīng)的安裝路徑。
6.根據(jù)權(quán)利要求1所述的一種DPA安全性評(píng)測與對(duì)抗方法,其特征在于,所述的步驟2 中,所述的對(duì)抗方式包括WDDL對(duì)抗方法,KANO對(duì)抗方法,用戶自定義方法;分析報(bào)表中的性能參數(shù)包括電路資源情況、信噪比;安全性參數(shù)設(shè)置包括相關(guān)系數(shù)、條件熵與互信息、 能量跡數(shù)量。
7.一種使用權(quán)利要求1所述的DPA安全性評(píng)測與對(duì)抗方法的裝置,其特征在于,包括依次相連的系統(tǒng)配置模塊、參數(shù)設(shè)置模塊、數(shù)據(jù)來源模塊、功耗分析模塊以及分析模塊,所述數(shù)據(jù)來源模塊包括仿真單元以及實(shí)測單元,所述功耗分析模塊包括仿真分析單元和實(shí)測分析單元。
全文摘要
本發(fā)明涉及密碼芯片安全領(lǐng)域,尤其是涉及一種DPA安全性評(píng)測與對(duì)抗方法及其裝置。本發(fā)明以多個(gè)層次的芯片開發(fā)工具、功耗測試工具、以及多種功耗泄露分析模型等為基礎(chǔ),同時(shí)加入新型DPA分析方法以及對(duì)抗方法,擬合成一套適應(yīng)多角度、多層次的,集功耗采樣、泄露分析、評(píng)價(jià)與對(duì)抗于一身的自動(dòng)化平臺(tái),以盡量方便、透明的方式幫助芯片設(shè)計(jì)者進(jìn)行客觀、合理的抗功耗能力分析與評(píng)價(jià)。因此,本發(fā)明具有如下優(yōu)點(diǎn)1.平臺(tái)中加入了引入新型的極性DPA和逆向分析攻擊方法,可以對(duì)電路作出更加合理的評(píng)測;2.平臺(tái)加入新型的KANO對(duì)抗方法,為用戶的提供新的對(duì)抗方式。
文檔編號(hào)H04L9/06GK102325021SQ201110127718
公開日2012年1月18日 申請(qǐng)日期2011年5月17日 優(yōu)先權(quán)日2011年5月17日
發(fā)明者伍前紅, 盧春紅, 唐明, 程平攀, 趙黎, 邱鎮(zhèn)龍, 高思 申請(qǐng)人:武漢大學(xué)