《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 面向并發(fā)錯(cuò)誤檢測(cè)機(jī)制的故障靈敏度零值分析
面向并發(fā)錯(cuò)誤檢測(cè)機(jī)制的故障靈敏度零值分析
2017年電子技術(shù)應(yīng)用第5期
嚴(yán)迎建,王壽成,許紀(jì)鈞,王 忠
解放軍信息工程大學(xué) 密碼工程學(xué)院,河南 鄭州450001
摘要: 通過(guò)研究零值分析的基本原理與故障靈敏度分析的本質(zhì),提出了針對(duì)現(xiàn)有并發(fā)錯(cuò)誤檢測(cè)機(jī)制安全性的通用評(píng)估模型。為減小攻擊分析的復(fù)雜度,提出了一套完整的區(qū)分模型選取準(zhǔn)則。為驗(yàn)證提出的故障靈敏度零值分析方法的高效性,構(gòu)建了故障靈敏度分析平臺(tái),并對(duì)提出的攻擊方法進(jìn)行驗(yàn)證分析。實(shí)驗(yàn)結(jié)果表明,提出的零值分析方法具有計(jì)算復(fù)雜度低、準(zhǔn)確性高、實(shí)現(xiàn)簡(jiǎn)單的優(yōu)點(diǎn)。
中圖分類(lèi)號(hào): TP309.7
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2017.05.011
中文引用格式: 嚴(yán)迎建,王壽成,許紀(jì)鈞,等. 面向并發(fā)錯(cuò)誤檢測(cè)機(jī)制的故障靈敏度零值分析[J].電子技術(shù)應(yīng)用,2017,43(5):48-51.
英文引用格式: Yan Yingjian,Wang Shoucheng,Xu Jijun,et al. Research on fault sensitivity zero-value analysis for concurrent error detection[J].Application of Electronic Technique,2017,43(5):48-51.
Research on fault sensitivity zero-value analysis for concurrent error detection
Yan Yingjian,Wang Shoucheng,Xu Jijun,Wang Zhong
College of Cipher Engineering,PLA Information Engineering University,Zhengzhou 450001,China
Abstract: Researching the basic principle of zero-value analysis and the essence of fault sensitivity analysis, the universal security evaluation model for concurrent error detection mechanism and a complete selection criteria of differentiation model is proposed to reduce the complexity of attack analysis. To verify the efficiency of the proposed fault sensitivity zero-value analysis method, the platform for fault sensitivity analysis is builted, and the proposed attack method is verified. Experimental results show that the proposed zero-value analysis method has the advantage of low computational complexity, high accuracy, and simple realization.
Key words : fault sensitivity analysis;zero-value analysis;concurrent error detection;evaluation model;differentiation model

0 引言

    故障靈敏度分析[1](Fault Sensitivity Analysis,F(xiàn)SA)是利用故障產(chǎn)生臨界條件與中間值的相關(guān)性推斷密鑰信息的新型故障攻擊方法。近年來(lái),F(xiàn)SA攻擊逐漸走向成熟,具有極強(qiáng)的破壞性,能夠成功破解多種防御措施。自2010年提出以來(lái),針對(duì)故障攻擊的防御方法如波動(dòng)差分邏輯[2]、掩碼預(yù)充電邏輯[3-4]等已經(jīng)被其成功破解,使用傳統(tǒng)抗故障攻擊方法已無(wú)法抵抗故障靈敏度分析。

    同時(shí),結(jié)合零值分析的故障靈敏分析方法越來(lái)越受到關(guān)注。文獻(xiàn)[5]針對(duì)掩碼實(shí)現(xiàn)的AES算法S盒實(shí)施了FSA攻擊,并提出了零值模型攻擊方法,實(shí)現(xiàn)了對(duì)密鑰信息的高效破解。文獻(xiàn)[6]針對(duì)并發(fā)錯(cuò)誤檢測(cè)機(jī)制(Concurrent Error Detection,CED)[7-8]提出了一種高效的FSA攻擊方法,不同于模板攻擊以及碰撞攻擊,該方法僅需要知道故障是否發(fā)生即可完成密鑰破解,能夠在8個(gè)小時(shí)內(nèi)完全破解密鑰信息。為提升FSA攻擊效率,本文在深入分析并發(fā)錯(cuò)誤檢測(cè)機(jī)制的基礎(chǔ)上,提出了一種高效的FSA攻擊方法。

1 零值分析的基本原理研究

    零值攻擊[9]是利用密碼算法零值的特殊區(qū)分特性作為區(qū)分模型的一種攻擊方法,具有非常高的攻擊效率,對(duì)密碼芯片具有很大的威脅性。最先提出的零值攻擊方法主要用于破解乘法掩碼技術(shù)[10],其理論依據(jù)是當(dāng)乘法掩碼的輸入值為0時(shí),其掩碼的輸出值為0,與掩碼的取值無(wú)關(guān),導(dǎo)致零值輸入與非零值輸入時(shí)測(cè)得的能耗具有明顯的區(qū)別。攻擊者利用這個(gè)顯著區(qū)別作為區(qū)分函數(shù),建立了基于差分能量攻擊的攻擊模型[11]。文獻(xiàn)[5]提出了針對(duì)掩碼AES的故障靈敏度零值分析方法,其攻擊模型基于故障靈敏度的區(qū)分模型提出,結(jié)果表明加法掩碼同樣存在零值模型的區(qū)分。

    本文以并發(fā)錯(cuò)誤檢測(cè)機(jī)制防護(hù)的AES算法為攻擊對(duì)象,收集故障靈敏度信息后,統(tǒng)計(jì)分析故障靈敏度的零值區(qū)分模型,確定區(qū)分零值輸入和非零值輸入的區(qū)分函數(shù),從而達(dá)到攻擊目的,具體步驟如圖1所示。通過(guò)分析發(fā)現(xiàn),并發(fā)錯(cuò)誤檢測(cè)機(jī)制同樣存在可以被攻擊者利用的零值區(qū)分模型,因此本文利用該區(qū)分模型對(duì)CED實(shí)現(xiàn)的AES算法進(jìn)行攻擊分析。

wdz5-t1.gif

2 并發(fā)錯(cuò)誤檢測(cè)機(jī)制通用評(píng)估模型研究

    并發(fā)錯(cuò)誤檢測(cè)機(jī)制是抵御故障攻擊的常用方法,通過(guò)檢測(cè)故障的存在,并將輸出置為零,用以阻止攻擊者收集故障輸出進(jìn)行故障分析。為了建立一個(gè)統(tǒng)一的評(píng)估系統(tǒng),本文構(gòu)建了一種通用的并發(fā)錯(cuò)誤檢測(cè)機(jī)制的架構(gòu),通過(guò)改變不同P操作的配置參數(shù),實(shí)現(xiàn)對(duì)不同冗余機(jī)制的模擬,整體結(jié)構(gòu)如圖2所示。

wdz5-t2.gif

    加密時(shí),每輪運(yùn)算需要兩個(gè)時(shí)鐘周期,第一個(gè)時(shí)鐘周期內(nèi)完成計(jì)算步驟,即對(duì)寄存器1中數(shù)據(jù)通過(guò)數(shù)據(jù)路徑完成加密運(yùn)算,將運(yùn)算結(jié)果存儲(chǔ)至寄存器2中;第二個(gè)時(shí)鐘周期內(nèi)完成校驗(yàn)步驟,即將寄存器1中的數(shù)據(jù)再次加密,并將運(yùn)算結(jié)果存儲(chǔ)在寄存器1中作為下一輪的輸入,同時(shí)將結(jié)果與寄存器2中的數(shù)據(jù)進(jìn)行對(duì)比分析。若兩個(gè)數(shù)據(jù)相同,則加密運(yùn)算正確,反之加密運(yùn)算發(fā)生故障。

    P操作的配置通過(guò)外部連接的控制信號(hào)PRNG實(shí)現(xiàn),通過(guò)配置不同的P操作能夠選擇不同的并發(fā)錯(cuò)誤檢測(cè)機(jī)制:

    (1)將P配置為在每一輪的運(yùn)算過(guò)程中兩個(gè)時(shí)鐘周期都運(yùn)行,此時(shí)的并發(fā)錯(cuò)誤檢測(cè)機(jī)制可以實(shí)現(xiàn)時(shí)間冗余;

    (2)將P配置成在第一個(gè)時(shí)鐘周期中正常運(yùn)行,而第二個(gè)時(shí)鐘輪中進(jìn)行列循環(huán)右移,此時(shí)的并發(fā)錯(cuò)誤檢測(cè)機(jī)制可以實(shí)現(xiàn)基于不變的混合冗余機(jī)制;

    (3)在兩個(gè)時(shí)鐘周期中隨機(jī)選擇列順序,此時(shí)可以實(shí)現(xiàn)一種用于抵抗側(cè)信道攻擊的防御措施。

    由上述分析可知,由于密鑰替代(SubBytes,SB)僅僅是對(duì)單個(gè)獨(dú)立字節(jié)進(jìn)行操作,同時(shí)P操作只在完整列中有效,圖2所示CED電路不會(huì)影響面積或者性能。與此同時(shí),通過(guò)對(duì)行移位操作位置進(jìn)行簡(jiǎn)單有效的修正與改進(jìn),P操作的控制由固定置換轉(zhuǎn)變?yōu)閯?dòng)態(tài)矩陣,列交換可以以任意方式進(jìn)行,同時(shí)每一輪運(yùn)算也不相同,列混合可能達(dá)到的正確置換的數(shù)量增至4!=24種,大大增加了攻擊難度,具有很強(qiáng)的靈活性、實(shí)用性、安全性和通用性。

3 區(qū)分模型的選取方案研究

3.1 區(qū)分模型的選取規(guī)則

    為了降低FSA攻擊的計(jì)算復(fù)雜度,增加成功率,區(qū)分模型的選取應(yīng)該遵循以下規(guī)則:

    規(guī)則1:區(qū)分模型須能夠正確反映故障靈敏度零值攻擊的本質(zhì)信息。

    規(guī)則2:區(qū)分模型須具有清楚的區(qū)分特性,能夠易于觀察、便于統(tǒng)計(jì)。

    規(guī)則3:盡可能實(shí)現(xiàn)在算法前兩輪中選擇攻擊點(diǎn)。

3.2 區(qū)分模型的選取

    對(duì)AES算法S盒不同輸入下所需要的計(jì)算時(shí)間進(jìn)行統(tǒng)計(jì)分析,其結(jié)果如圖3所示,具有以下規(guī)律:一是關(guān)鍵路徑延時(shí)與電路的輸入具有很強(qiáng)的相關(guān)性;二是關(guān)鍵路徑延時(shí)不僅與下一狀態(tài)輸入的值有關(guān),與上一狀態(tài)的值同樣有關(guān);三是當(dāng)S盒的輸入值存在零值時(shí)得到穩(wěn)定輸出需要的時(shí)間比其他情況要少。

wdz5-t3.gif

    相關(guān)研究表明,零值輸入的規(guī)律也適用于非掩碼電路,如復(fù)合域生成的S盒。S盒由求逆運(yùn)算和仿射變換的復(fù)合來(lái)設(shè)計(jì)得到,當(dāng)輸入為0時(shí),所有的乘法都為零,關(guān)鍵路徑延時(shí)非常小。而引入毛刺時(shí)鐘后,關(guān)鍵路徑越小,受到時(shí)鐘變化的影響越小,出錯(cuò)的概率也會(huì)大大減小,因此存在零值和其他值的正確率可以明顯區(qū)分的情況。對(duì)于AES算法而言,明文完成初始輪密鑰加后再進(jìn)入輪運(yùn)算,為了使S盒的輸入為零,明文字節(jié)與密鑰字節(jié)必須相等,即xj=kj,j表示字節(jié)數(shù),j∈{1,…,16}。這一特點(diǎn)在求解密鑰的過(guò)程中可以充分利用,將會(huì)降低密鑰恢復(fù)的復(fù)雜度。

    綜上所述,本文選取S盒的零值輸入與非零值輸入對(duì)應(yīng)的正確率作為區(qū)分模型,通過(guò)分析零值與非零時(shí)的統(tǒng)計(jì)特性,根據(jù)計(jì)算結(jié)果的正確率來(lái)推斷出泄露的密鑰信息。

4 實(shí)驗(yàn)結(jié)果分析

4.1 攻擊方法分析

    綜合考慮來(lái)說(shuō),將攻擊目標(biāo)選在第一輪更加簡(jiǎn)單、直接、高效。具體的攻擊流程如下。

wdz5-4.1-x1.gif

    由于直接計(jì)算每一個(gè)明文字節(jié)的影響是不可能的,如果運(yùn)算時(shí)時(shí)鐘脈沖引起了故障,僅僅表明16個(gè)字節(jié)中至少有一個(gè)引起了故障。因此,只有通過(guò)多次重復(fù)實(shí)驗(yàn),統(tǒng)計(jì)出每一個(gè)字節(jié)對(duì)應(yīng)的正確率,同時(shí)可以根據(jù)需求丟棄一些不符合條件的密鑰候選。

  算法1中ε的設(shè)置用來(lái)減小密鑰搜索空間,每次迭代過(guò)程中,設(shè)定值越大,則丟棄的密鑰候選值越多。同時(shí),越大的ε將會(huì)增加錯(cuò)誤丟棄正確密鑰候選的幾率,當(dāng)一個(gè)字節(jié)的正確密鑰候選在前面的運(yùn)行中被丟棄后,算法1將會(huì)丟棄其他所有的候選值,并跳轉(zhuǎn)到算法2中恢復(fù)密鑰信息,密鑰恢復(fù)流程如算法2:

    算法2: 故障靈敏度零值分析的密鑰恢復(fù)方法

    輸入:明文字節(jié)j候選的正確率,j*,閾值λ

wdz5-4.2-s1.gif

4.2 攻擊結(jié)果分析

    本節(jié)主要對(duì)基于不變的并發(fā)錯(cuò)誤檢測(cè)機(jī)制展開(kāi)研究,此時(shí)P操作配置為置換矩陣,攻擊目標(biāo)為算法運(yùn)算的第一輪,攻擊模型如圖4所示。

wdz5-t4.gif

    攻擊時(shí),由于S盒時(shí)間延遲最長(zhǎng),因此改變時(shí)鐘頻率時(shí),其最容易發(fā)生故障,通過(guò)同步檢測(cè)機(jī)制的判斷,可以收集第一輪生成的結(jié)果,進(jìn)而通過(guò)E(error)的值統(tǒng)計(jì)正確率。由于AES算法的S盒可以獨(dú)立進(jìn)行運(yùn)算,因此攻擊目標(biāo)選擇單個(gè)S盒。以第4個(gè)S盒為例進(jìn)行攻擊分析。統(tǒng)計(jì)S盒輸入wdz5-t4-x1.gif的不同取值下的正確率,可以得到圖5。結(jié)果表明,本文設(shè)計(jì)的區(qū)分模型能夠清晰地區(qū)分零值與非零值的狀態(tài)。

wdz5-t5.gif

    得到S盒輸入的正確率分布后,根據(jù)結(jié)果即可猜測(cè)密鑰信息。只有在S盒的輸入為0時(shí),其正確率最高且具有良好的區(qū)分度。通過(guò)分析發(fā)現(xiàn),S盒的輸入就是明文P經(jīng)過(guò)與輪密鑰K的異或運(yùn)算得到的,因此為了使S盒的輸入為零,只需要滿足式(1)即可。

     wdz5-gs1.gif

    由于明文已知,選定一個(gè)P即完成一次實(shí)驗(yàn),子密鑰遍歷256次完成256次加密,可得不同明文正確率如圖6所示。當(dāng)P=53H時(shí),正確率最高,表示S盒輸入為零,此時(shí)明文字節(jié)與密鑰字節(jié)相等。因此密鑰的猜測(cè)值為K=53H(二進(jìn)制為83d)。

wdz5-t6.gif

    分析發(fā)現(xiàn),基于零值分析的FSA攻擊不需要建立特定模型即可完成零值與非零值的區(qū)分,一組實(shí)驗(yàn)即可完成分析,降低了分析的復(fù)雜度。為了展現(xiàn)故障靈敏度分析與零值分析的高效性,橫向?qū)Ρ绕渌椒?,如?所示。

wdz5-b1.gif

    表1對(duì)比了3種針對(duì)并發(fā)錯(cuò)誤檢測(cè)機(jī)制的AES算法的攻擊方法。通過(guò)對(duì)比發(fā)現(xiàn),零值分析具有顯著的優(yōu)勢(shì),其實(shí)現(xiàn)的實(shí)驗(yàn)條件簡(jiǎn)單,準(zhǔn)確性高,且其計(jì)算復(fù)雜度相較于其他兩種方法都很低。

5 結(jié)論

    本文基于并行錯(cuò)誤檢測(cè)機(jī)制的故障靈敏度零值分析展開(kāi)研究,實(shí)現(xiàn)了基于故障靈敏度的高效零值攻擊。本文設(shè)計(jì)的通用并行錯(cuò)誤檢測(cè)機(jī)制評(píng)估模型,能夠?qū)崿F(xiàn)不同并行錯(cuò)誤檢測(cè)方案,并能評(píng)估每種方案的抗攻擊性能。實(shí)驗(yàn)結(jié)果表明,本文提出的分析方法能夠高效準(zhǔn)確地進(jìn)行故障靈敏度分析。

參考文獻(xiàn)

[1] LI Y,SAKIYAMA K,GOMISAWA S,et al.Fault sensitivity analysis[M].Cryptographic Hardware and Embedded Systems(CHES 2010).Springer Berlin Heidelberg,2010:320-334.

[2] KRIS T,INGRID V.A logic level design methodology for a secure DPA resistant ASIC or FPGA implementation[C].Proceedings of the conference on Design,automation and test in Europe-Volume 1.IEEE Computer Society,2004:246-251.

[3] THOMAS P,STEFAN M.Masked dual-rail pre-charge logic:DPA-resistance without routing constraints[C].Cryptographic Hardware and Embedded Systems-CHES 2005.Springer Berlin Heidelberg,2005:172-186.

[4] 常小龍,丁國(guó)良,武翠霞,等.抗電磁側(cè)信道攻擊的AES S盒設(shè)計(jì)[J].計(jì)算機(jī)工程,2011,37(17):93-95.

[5] 王茜.分組密碼算法故障靈敏度分析研究與抗故障攻擊實(shí)現(xiàn)[D].北京:清華大學(xué),2014.

[6] MISCHKE O,MORADI A,GUNEYSU T.Fault sensitivity analysis meets zero-value attack[J].IEEE Computer Society,2014:59-67.

[7] GUO X,MUKHOPADHYAY D,KARRI R.Provably secure concurrent error detection against differential fault analysis[J].Iacr Cryptology Eprint Archive,2014:1-24.

[8] KARRI R,WU K,MISHRA P,et al.Concurrent error detection schemes for fault-based side-channel cryptanalysis of symmetric block ciphers[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2002,21(12):1509-1517.

[9] 汪鵬君,郝李鵬,張躍軍.防御零值功耗攻擊的AES SubByte模塊設(shè)計(jì)及其VLSI實(shí)現(xiàn)[J].電子學(xué)報(bào),2012,40(11):2183-2187.

[10] AKKAR M L,GIRAUD C.An implementation of DES and AES,secure against some attacks[M].Cryptographic Hardware and Embedded Systems(CHES 2001).Springer Berlin Heidelberg,2001:309-318.

[11] JOVAN D G,TYMEN C.Multiplicative masking and power analysis of AES[C].Revised Papers From the International Workshop on Cryptographic Hardware and Embedded Systems.Springer-Verlag,2002:31-47.

[12] MORADI A,MISCHKE O,PAAR C.One attack to rule them all: collision timing attack versus 42 AES ASIC cores[J].IEEE Transactions on Computers,2013,62(9):1786-1798.

[13] MISCHKE O,MORADI A,GUNEYSU T.Fault sensitivity analysis meet zero-value attack[C].IEEE the Workshop on Fault Diagnosis & Tolerance in Cryptography.2014:59-67.



作者信息:

嚴(yán)迎建,王壽成,許紀(jì)鈞,王  忠

(解放軍信息工程大學(xué) 密碼工程學(xué)院,河南 鄭州450001)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。