文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.05.011
中文引用格式: 嚴迎建,王壽成,許紀鈞,等. 面向并發(fā)錯誤檢測機制的故障靈敏度零值分析[J].電子技術應用,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.
0 引言
故障靈敏度分析[1](Fault Sensitivity Analysis,F(xiàn)SA)是利用故障產(chǎn)生臨界條件與中間值的相關性推斷密鑰信息的新型故障攻擊方法。近年來,F(xiàn)SA攻擊逐漸走向成熟,具有極強的破壞性,能夠成功破解多種防御措施。自2010年提出以來,針對故障攻擊的防御方法如波動差分邏輯[2]、掩碼預充電邏輯[3-4]等已經(jīng)被其成功破解,使用傳統(tǒng)抗故障攻擊方法已無法抵抗故障靈敏度分析。
同時,結合零值分析的故障靈敏分析方法越來越受到關注。文獻[5]針對掩碼實現(xiàn)的AES算法S盒實施了FSA攻擊,并提出了零值模型攻擊方法,實現(xiàn)了對密鑰信息的高效破解。文獻[6]針對并發(fā)錯誤檢測機制(Concurrent Error Detection,CED)[7-8]提出了一種高效的FSA攻擊方法,不同于模板攻擊以及碰撞攻擊,該方法僅需要知道故障是否發(fā)生即可完成密鑰破解,能夠在8個小時內(nèi)完全破解密鑰信息。為提升FSA攻擊效率,本文在深入分析并發(fā)錯誤檢測機制的基礎上,提出了一種高效的FSA攻擊方法。
1 零值分析的基本原理研究
零值攻擊[9]是利用密碼算法零值的特殊區(qū)分特性作為區(qū)分模型的一種攻擊方法,具有非常高的攻擊效率,對密碼芯片具有很大的威脅性。最先提出的零值攻擊方法主要用于破解乘法掩碼技術[10],其理論依據(jù)是當乘法掩碼的輸入值為0時,其掩碼的輸出值為0,與掩碼的取值無關,導致零值輸入與非零值輸入時測得的能耗具有明顯的區(qū)別。攻擊者利用這個顯著區(qū)別作為區(qū)分函數(shù),建立了基于差分能量攻擊的攻擊模型[11]。文獻[5]提出了針對掩碼AES的故障靈敏度零值分析方法,其攻擊模型基于故障靈敏度的區(qū)分模型提出,結果表明加法掩碼同樣存在零值模型的區(qū)分。
本文以并發(fā)錯誤檢測機制防護的AES算法為攻擊對象,收集故障靈敏度信息后,統(tǒng)計分析故障靈敏度的零值區(qū)分模型,確定區(qū)分零值輸入和非零值輸入的區(qū)分函數(shù),從而達到攻擊目的,具體步驟如圖1所示。通過分析發(fā)現(xiàn),并發(fā)錯誤檢測機制同樣存在可以被攻擊者利用的零值區(qū)分模型,因此本文利用該區(qū)分模型對CED實現(xiàn)的AES算法進行攻擊分析。
2 并發(fā)錯誤檢測機制通用評估模型研究
并發(fā)錯誤檢測機制是抵御故障攻擊的常用方法,通過檢測故障的存在,并將輸出置為零,用以阻止攻擊者收集故障輸出進行故障分析。為了建立一個統(tǒng)一的評估系統(tǒng),本文構建了一種通用的并發(fā)錯誤檢測機制的架構,通過改變不同P操作的配置參數(shù),實現(xiàn)對不同冗余機制的模擬,整體結構如圖2所示。
加密時,每輪運算需要兩個時鐘周期,第一個時鐘周期內(nèi)完成計算步驟,即對寄存器1中數(shù)據(jù)通過數(shù)據(jù)路徑完成加密運算,將運算結果存儲至寄存器2中;第二個時鐘周期內(nèi)完成校驗步驟,即將寄存器1中的數(shù)據(jù)再次加密,并將運算結果存儲在寄存器1中作為下一輪的輸入,同時將結果與寄存器2中的數(shù)據(jù)進行對比分析。若兩個數(shù)據(jù)相同,則加密運算正確,反之加密運算發(fā)生故障。
P操作的配置通過外部連接的控制信號PRNG實現(xiàn),通過配置不同的P操作能夠選擇不同的并發(fā)錯誤檢測機制:
(1)將P配置為在每一輪的運算過程中兩個時鐘周期都運行,此時的并發(fā)錯誤檢測機制可以實現(xiàn)時間冗余;
(2)將P配置成在第一個時鐘周期中正常運行,而第二個時鐘輪中進行列循環(huán)右移,此時的并發(fā)錯誤檢測機制可以實現(xiàn)基于不變的混合冗余機制;
(3)在兩個時鐘周期中隨機選擇列順序,此時可以實現(xiàn)一種用于抵抗側信道攻擊的防御措施。
由上述分析可知,由于密鑰替代(SubBytes,SB)僅僅是對單個獨立字節(jié)進行操作,同時P操作只在完整列中有效,圖2所示CED電路不會影響面積或者性能。與此同時,通過對行移位操作位置進行簡單有效的修正與改進,P操作的控制由固定置換轉變?yōu)閯討B(tài)矩陣,列交換可以以任意方式進行,同時每一輪運算也不相同,列混合可能達到的正確置換的數(shù)量增至4!=24種,大大增加了攻擊難度,具有很強的靈活性、實用性、安全性和通用性。
3 區(qū)分模型的選取方案研究
3.1 區(qū)分模型的選取規(guī)則
為了降低FSA攻擊的計算復雜度,增加成功率,區(qū)分模型的選取應該遵循以下規(guī)則:
規(guī)則1:區(qū)分模型須能夠正確反映故障靈敏度零值攻擊的本質信息。
規(guī)則2:區(qū)分模型須具有清楚的區(qū)分特性,能夠易于觀察、便于統(tǒng)計。
規(guī)則3:盡可能實現(xiàn)在算法前兩輪中選擇攻擊點。
3.2 區(qū)分模型的選取
對AES算法S盒不同輸入下所需要的計算時間進行統(tǒng)計分析,其結果如圖3所示,具有以下規(guī)律:一是關鍵路徑延時與電路的輸入具有很強的相關性;二是關鍵路徑延時不僅與下一狀態(tài)輸入的值有關,與上一狀態(tài)的值同樣有關;三是當S盒的輸入值存在零值時得到穩(wěn)定輸出需要的時間比其他情況要少。
相關研究表明,零值輸入的規(guī)律也適用于非掩碼電路,如復合域生成的S盒。S盒由求逆運算和仿射變換的復合來設計得到,當輸入為0時,所有的乘法都為零,關鍵路徑延時非常小。而引入毛刺時鐘后,關鍵路徑越小,受到時鐘變化的影響越小,出錯的概率也會大大減小,因此存在零值和其他值的正確率可以明顯區(qū)分的情況。對于AES算法而言,明文完成初始輪密鑰加后再進入輪運算,為了使S盒的輸入為零,明文字節(jié)與密鑰字節(jié)必須相等,即xj=kj,j表示字節(jié)數(shù),j∈{1,…,16}。這一特點在求解密鑰的過程中可以充分利用,將會降低密鑰恢復的復雜度。
綜上所述,本文選取S盒的零值輸入與非零值輸入對應的正確率作為區(qū)分模型,通過分析零值與非零時的統(tǒng)計特性,根據(jù)計算結果的正確率來推斷出泄露的密鑰信息。
4 實驗結果分析
4.1 攻擊方法分析
綜合考慮來說,將攻擊目標選在第一輪更加簡單、直接、高效。具體的攻擊流程如下。
由于直接計算每一個明文字節(jié)的影響是不可能的,如果運算時時鐘脈沖引起了故障,僅僅表明16個字節(jié)中至少有一個引起了故障。因此,只有通過多次重復實驗,統(tǒng)計出每一個字節(jié)對應的正確率,同時可以根據(jù)需求丟棄一些不符合條件的密鑰候選。
算法1中ε的設置用來減小密鑰搜索空間,每次迭代過程中,設定值越大,則丟棄的密鑰候選值越多。同時,越大的ε將會增加錯誤丟棄正確密鑰候選的幾率,當一個字節(jié)的正確密鑰候選在前面的運行中被丟棄后,算法1將會丟棄其他所有的候選值,并跳轉到算法2中恢復密鑰信息,密鑰恢復流程如算法2:
算法2: 故障靈敏度零值分析的密鑰恢復方法
輸入:明文字節(jié)j候選的正確率,j*,閾值λ
4.2 攻擊結果分析
本節(jié)主要對基于不變的并發(fā)錯誤檢測機制展開研究,此時P操作配置為置換矩陣,攻擊目標為算法運算的第一輪,攻擊模型如圖4所示。
攻擊時,由于S盒時間延遲最長,因此改變時鐘頻率時,其最容易發(fā)生故障,通過同步檢測機制的判斷,可以收集第一輪生成的結果,進而通過E(error)的值統(tǒng)計正確率。由于AES算法的S盒可以獨立進行運算,因此攻擊目標選擇單個S盒。以第4個S盒為例進行攻擊分析。統(tǒng)計S盒輸入的不同取值下的正確率,可以得到圖5。結果表明,本文設計的區(qū)分模型能夠清晰地區(qū)分零值與非零值的狀態(tài)。
得到S盒輸入的正確率分布后,根據(jù)結果即可猜測密鑰信息。只有在S盒的輸入為0時,其正確率最高且具有良好的區(qū)分度。通過分析發(fā)現(xiàn),S盒的輸入就是明文P經(jīng)過與輪密鑰K的異或運算得到的,因此為了使S盒的輸入為零,只需要滿足式(1)即可。
由于明文已知,選定一個P即完成一次實驗,子密鑰遍歷256次完成256次加密,可得不同明文正確率如圖6所示。當P=53H時,正確率最高,表示S盒輸入為零,此時明文字節(jié)與密鑰字節(jié)相等。因此密鑰的猜測值為K=53H(二進制為83d)。
分析發(fā)現(xiàn),基于零值分析的FSA攻擊不需要建立特定模型即可完成零值與非零值的區(qū)分,一組實驗即可完成分析,降低了分析的復雜度。為了展現(xiàn)故障靈敏度分析與零值分析的高效性,橫向對比其他方法,如表1所示。
表1對比了3種針對并發(fā)錯誤檢測機制的AES算法的攻擊方法。通過對比發(fā)現(xiàn),零值分析具有顯著的優(yōu)勢,其實現(xiàn)的實驗條件簡單,準確性高,且其計算復雜度相較于其他兩種方法都很低。
5 結論
本文基于并行錯誤檢測機制的故障靈敏度零值分析展開研究,實現(xià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] 常小龍,丁國良,武翠霞,等.抗電磁側信道攻擊的AES S盒設計[J].計算機工程,2011,37(17):93-95.
[5] 王茜.分組密碼算法故障靈敏度分析研究與抗故障攻擊實現(xiàn)[D].北京:清華大學,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模塊設計及其VLSI實現(xiàn)[J].電子學報,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.
作者信息:
嚴迎建,王壽成,許紀鈞,王 忠
(解放軍信息工程大學 密碼工程學院,河南 鄭州450001)