張金中,寇應(yīng)展,王韜,郭世澤,趙新杰
(1. 軍械工程學(xué)院 計(jì)算機(jī)工程系,河北 石家莊 050003;
2. 北方電子設(shè)備研究所,北京 100083)
現(xiàn)代密碼算法可用于保證數(shù)據(jù)傳送的保密性、完整性和真實(shí)性,因而被廣泛應(yīng)用于政治、經(jīng)濟(jì)和軍事活動(dòng)等領(lǐng)域。但是密碼算法的實(shí)際安全性不等同于設(shè)計(jì)安全性,密碼算法執(zhí)行所依附的物理平臺(tái)會(huì)泄露出時(shí)間、電磁、功耗、聲音、故障等與密鑰密切相關(guān)的旁路信息,利用這些旁路信息進(jìn)行密鑰破解的方法稱為旁路攻擊[1]。其中,故障攻擊主要利用密碼算法執(zhí)行過(guò)程中的故障信息,結(jié)合算法結(jié)構(gòu)破解密鑰。從故障攻擊提出至今,研究者先后對(duì) RSA[2],AES[3]、SMS4[4]、MIBS[5]、RC4[6]等密碼進(jìn)行了故障攻擊。顯然,不論公鑰密碼、分組密碼還是流密碼,都面臨著故障攻擊的嚴(yán)重威脅。
橢圓曲線密碼(ECC,elliptic curve cryptosystem)是近年來(lái)密碼學(xué)領(lǐng)域研究的熱點(diǎn)之一,有密鑰短、安全性高、計(jì)算速度快的特點(diǎn),已被廣泛應(yīng)用于移動(dòng)通信、電子商務(wù)等領(lǐng)域,也是衛(wèi)星網(wǎng)絡(luò)、物聯(lián)網(wǎng)等新型網(wǎng)絡(luò)的首選,對(duì)其安全性進(jìn)行研究顯得尤為重要。自1999年Coron[7]提出針對(duì) ECC的簡(jiǎn)單功耗分析(SPA, simple power analysis)和差分功耗分析(DPA, differential power analysis)開始,ECC的功耗攻擊及相關(guān)的防御措施已經(jīng)逐步走向成熟,但ECC故障攻擊相關(guān)研究相對(duì)較少。
目前針對(duì)ECC故障攻擊方法主要有3類。
1) ECC差分故障攻擊[8]。通過(guò)注入故障改變基點(diǎn)、基域或曲線參數(shù),使得破解密鑰變?yōu)榻鉀Q非安全橢圓曲線上的離散對(duì)數(shù)問(wèn)題。研究者先后攻擊了 IEEE 802.15制定的加密方案(ECDH、ECIES和 ECMQV)[9]和蒙哥馬利算法實(shí)現(xiàn)的ECC[10]。
2) 符號(hào)變換故障攻擊[11]。通過(guò)注入故障改變乘運(yùn)算中間變量的符號(hào),Bl?mer成功攻擊了采用二進(jìn)制非相鄰表示(NAF2)算法實(shí)現(xiàn)的ECC,但是密鑰恢復(fù)算法中仍存在“零塊失效”(密鑰中連續(xù)大量的零位所導(dǎo)致的密鑰恢復(fù)算法失效)問(wèn)題。
3) 基于“漏操作”(skip instruction)的故障攻擊[12]。使橢圓曲線簽名算法在點(diǎn)乘運(yùn)算執(zhí)行過(guò)程中少執(zhí)行幾次循環(huán),有研究者通過(guò)分析故障簽名獲取部分密鑰,最終結(jié)合攻擊獲取完整密鑰。
分析表明,1)類、3)類攻擊方法的故障信息偏離了原有安全橢圓曲線,可通過(guò)檢測(cè)輸入、中間變量和輸出是否在原安全橢圓曲線上來(lái)進(jìn)行防御[13]。由于符號(hào)變換故障并不使故障點(diǎn)偏離原安全橢圓曲線,上述措施對(duì)2)類攻擊是失效的。本文選取廣泛應(yīng)用的基于滑動(dòng)窗口算法的 ECC為研究對(duì)象,在點(diǎn)乘運(yùn)算過(guò)程中引入符號(hào)變換故障,結(jié)合算法分析獲取密鑰。
通過(guò)分析滑動(dòng)窗口算法查表特性,分別基于倍點(diǎn)和加法運(yùn)算的符號(hào)變換故障模型,給出了這 2種故障模型下的密鑰恢復(fù)過(guò)程,主要?jiǎng)?chuàng)新點(diǎn)如下。
1) 將符號(hào)變換故障攻擊思想引入至滑動(dòng)窗口算法實(shí)現(xiàn)的ECC,在故障位置未知情況下,討論了倍點(diǎn)運(yùn)算故障下的密鑰恢復(fù)過(guò)程,給出了能有效消除文獻(xiàn)[11]中“零塊失效”的密鑰恢復(fù)算法。仿真實(shí)驗(yàn)表明:10~20個(gè)故障可在30min左右恢復(fù)完整NIST-192bit密鑰。因?yàn)檫@種故障分析方法主要針對(duì)倍點(diǎn)運(yùn)算,所以對(duì)基于平方乘算法、固定窗口算法實(shí)現(xiàn)的ECC同樣具有威脅。
2) 基于滑動(dòng)窗口算法查表特性,提出了針對(duì)查表操作的故障分析方法。仿真實(shí)驗(yàn)表明:當(dāng)故障精確注入到每次查表操作時(shí),1min即可恢復(fù)完整密鑰。當(dāng)故障僅注入到部分查表操作時(shí),可恢復(fù)部分密鑰,1個(gè)故障可降低27~215的密鑰空間。
GF(p), E:有p個(gè)元素的有限域,橢圓曲線為E。
P1, P2:橢圓曲線上的點(diǎn)為P1, P2。
P, k, Q, R:基點(diǎn)為P,私鑰為k,正確公鑰為Q,故障公鑰為R。
ki:私鑰NAF2表示的第i位為ki。
w, t:最大窗口寬度為w,算法執(zhí)行中窗口的實(shí)際寬度為t。
ti:第i輪循環(huán)中窗口寬度為ti。
u, Pu:查表索引為u,查表得到的預(yù)計(jì)算值為Pu。
Qi:計(jì)算公鑰的中間變量為Qi。
橢圓曲線密碼是一種基于橢圓曲線離散對(duì)數(shù)問(wèn)題的公鑰密碼。定義在GF(p)上的橢圓曲線E為:y2=x3+ ax + b,其上的點(diǎn)可構(gòu)成一個(gè)有限可交換群。令 P1=(x1, y1)∈E,則-P1=(x1,-y1)∈E,若 P2=(x2, y2)∈E,則 P1+P2=(x3,y3),x3=(λ2-x1-x2)mod p, y3= (λ(x1-x3)-y1)mod p,其中:
前者 P1≠P2的情形稱為點(diǎn)加運(yùn)算;后者 P1=P2的情形稱為點(diǎn)倍運(yùn)算。對(duì)于給定橢圓曲線E,曲線上一點(diǎn)P以及正整數(shù)k,點(diǎn)kP計(jì)算稱為橢圓曲線上的點(diǎn)乘(標(biāo)量乘),ECC主要根據(jù)點(diǎn)乘運(yùn)算生成公鑰Q=kP。目前點(diǎn)乘運(yùn)算的實(shí)現(xiàn)方式主要有平方乘算法、蒙哥馬利算法、固定窗口算法和滑動(dòng)窗口算法等[14]?;瑒?dòng)窗口算法用二進(jìn)制非相鄰表示型表示私鑰其中,ki∈{-1,0,1},該方法可有效降低密鑰漢明重,提高計(jì)算效率,并能抵御計(jì)時(shí)[15]和功耗旁路攻擊[16]。本文主要針對(duì)滑動(dòng)窗口算法展開故障分析研究。
算法1 滑動(dòng)窗口算法
輸入:最大窗口w,私鑰NAF2(k),基點(diǎn)P;
輸出:公鑰Q = kP;
1) 對(duì)于 i∈{1,3,…,2(2w-(-1)w/3-1)},計(jì)算Pi= iP;
2) Q為無(wú)窮遠(yuǎn)點(diǎn),i = l-1;
3) while (i≥0) do;
① 若ki= 0, 則t =1, u =0;
② 否則,尋找滿足t≤w且u = (ki,…,ki-t+1) 為奇數(shù)時(shí)t的最大值;
③ Q = 2tQ;
④ 若 u >0, 則 Q = Q +Pu;
若 u <0, 則 Q = Q-P-u;
⑤ i = i-t;
4) 返回Q。
滑動(dòng)窗口算法引入預(yù)計(jì)算表以提高密碼執(zhí)行效率,但由于每次查表索引即為窗口中密鑰絕對(duì)值,攻擊者如果能夠在查表過(guò)程中注入故障,密鑰信息極有可能隨之泄露。此外,算法引入了變量 t和u來(lái)控制滑動(dòng)窗口大小和滑動(dòng)距離,使得不同密鑰對(duì)應(yīng)窗口大小和滑動(dòng)次數(shù)不同,增加了故障分析難度。下文將通過(guò)建立故障攻擊模型,進(jìn)一步討論不同故障下的密鑰恢復(fù)過(guò)程。
故障模型通常指故障注入時(shí)機(jī)、位置、數(shù)目、寬度等。故障模型不同,產(chǎn)生的故障信息也不盡相同,對(duì)應(yīng)的故障分析方法和結(jié)果也不同。需要說(shuō)明的是故障攻擊包括故障注入和故障分析2個(gè)部分,本文主要研究故障分析方法,故障注入方法不作為本文研究重點(diǎn),讀者可參考文獻(xiàn)[17]。下面給出本文符號(hào)變換故障攻擊模型。
如圖1所示,滑動(dòng)窗口算法的最大窗口寬度w是固定的, t由當(dāng)前待計(jì)算的密鑰值kj~ kj-w+1決定, t≤w。設(shè)一次點(diǎn)乘窗口滑動(dòng)次數(shù)為 l,l不大于密鑰長(zhǎng)度n。為形式化表示公鑰推算過(guò)程,用Pui表示第i輪循環(huán)中Pu或-P-u的值,即當(dāng)u>0時(shí),Pui表示 Pu,當(dāng) u<0時(shí),Pui表示-P-u,則公鑰可表示為
從式(2)可知公鑰計(jì)算過(guò)程中與私鑰最相關(guān)的操作為算法 1中的第③和④步,即圖 1中倍點(diǎn)運(yùn)算(a)和加法運(yùn)算(b),因此本文選取到(a)、(b)2 處為故障注入位置;故障寬度為 1bit,僅改變符號(hào)位;故障數(shù)目由密鑰分片大小和實(shí)驗(yàn)條件決定。下面分情況討論不同故障位置和注入時(shí)機(jī)對(duì)密鑰分析結(jié)果影響,以及具體的密鑰恢復(fù)過(guò)程。
2.4.1 故障分析
依據(jù)算法1,首先根據(jù)當(dāng)前待處理的密鑰值kj~kj-w+1計(jì)算得到ti(當(dāng)kj=0時(shí)t=1),然后執(zhí)行倍點(diǎn)運(yùn)算(a)操作。若在第i-1輪(a)執(zhí)行結(jié)束后注入一個(gè)符號(hào)變換故障,使得Qi→Qi’,則產(chǎn)生的故障公鑰可以表示為
圖1 針對(duì)滑動(dòng)窗口算法的故障模型
當(dāng)窗口滑動(dòng)次數(shù)為 i且已計(jì)算的密鑰長(zhǎng)度為 v時(shí),Ui(Pu) = Lv(k),那么式(4)可以轉(zhuǎn)化為
可見由于故障的引入,導(dǎo)致故障公鑰 R的產(chǎn)生,并且通過(guò)變換得到的正確公鑰 Q、故障公鑰R之間的函數(shù)關(guān)系式(5)與文獻(xiàn)[11]相同,可采用文獻(xiàn)[11]中的密鑰恢復(fù)算法進(jìn)行密鑰推算。算法 4采用分而治之的思想逐片恢復(fù)密鑰(假設(shè)每個(gè)片段中都注入故障),由于片段中故障位置的任意性,將分 2種情況討論其對(duì)密鑰恢復(fù)過(guò)程的影響。
情況1 故障注入時(shí)當(dāng)前待處理的密鑰位kj≠0,則u≠0,需查找預(yù)計(jì)算表并對(duì)Qi進(jìn)行2次更新(乘法運(yùn)算和加法運(yùn)算)。
片段密鑰恢復(fù)過(guò)程如圖2所示:在n-i輪注入故障,設(shè) Q + R= Tx,由式(5)可知 Tx= 2Li(k)。ks~ k0表示已恢復(fù)密鑰片段?;謴?fù)片段X的過(guò)程即尋找可能的組合,使其滿足其中,,滿足條件的 xs+r~xs+1即為 kj~ks+1。
圖2 u≠0時(shí)片段密鑰的恢復(fù)過(guò)程
情況 2 故障注入時(shí)當(dāng)前待處理的密鑰位 kj=0,則u=0,不需要查找預(yù)計(jì)算表,對(duì)Qi只進(jìn)行1次更新(只執(zhí)行乘法運(yùn)算)。
如圖3所示,kz1~kzr為0,假設(shè)故障注入于kzr處,使Qi+1產(chǎn)生符號(hào)變化,則由式(2)可得故障公鑰的表達(dá)式為
由于ti=1,因此有
同樣,如果將故障注入到kz1~kzr的任一位,均可得到Ri=R,說(shuō)明u=0時(shí)故障注入分析結(jié)果等效于下一個(gè)查表操作(u≠0時(shí))注入故障。所以滑動(dòng)窗口算法故障攻擊中每次所恢復(fù)密鑰長(zhǎng)度并不是與故障位置嚴(yán)格對(duì)應(yīng),而是與故障影響的密鑰位數(shù)密切相關(guān)。
圖3 u=0時(shí)片段密鑰的恢復(fù)過(guò)程
2.4.2 針對(duì)“零塊失效”的改進(jìn)密鑰恢復(fù)算法
文獻(xiàn)[11]中密鑰恢復(fù)算法中的“零塊失效”(zero block failure)指密鑰中存在長(zhǎng)段的連續(xù)0bit所導(dǎo)致的攻擊算法失效。這是由于相鄰2個(gè)故障之間密鑰位全是0,使得2片故障信息完全相同而無(wú)法確定中間0的個(gè)數(shù)。本文將出現(xiàn)“零塊”密鑰與臨近密鑰片段合并,對(duì)文獻(xiàn)[11]中的恢復(fù)算法加以改進(jìn)。改進(jìn)算法在出現(xiàn)“零塊”時(shí)仍然可在有效時(shí)間內(nèi)恢復(fù)完整密鑰。
算法2 存在“零塊失效”的片段密鑰恢復(fù)算法
輸入:“零塊失效”出現(xiàn)時(shí)已恢復(fù)的密鑰片段k0~ks,“零塊失效”片段故障R1,“零塊失效”片段下一段故障R2,正確公鑰Q;
輸出:ks+1~ ks+w+r;
2) w = 1;
3) while ( w < 2m) ;
4) for(所有的長(zhǎng)度 r = 1, 2,…,m)do;
5) for(所有的二進(jìn)制組合 x =(xs+1, xs+2,…,xs+r))do;
7) if ( Q + R2= Tx) then;
8) ks+1~ ks+w= 0;
9) else w = w + 1。
圖1中加法操作(b)只有在當(dāng)前待計(jì)算的密鑰位kj≠0時(shí)才執(zhí)行,并非任意位置都可以注入故障,所以本節(jié)討論情形在一定程度依賴于密鑰數(shù)值。下面就故障注入于運(yùn)算(b)中2個(gè)不同變量分別討論。
2.5.1 針對(duì)變量Pu的故障分析
圖1中kj≠0時(shí),需先執(zhí)行查表操作再執(zhí)行加法運(yùn)算。文中假設(shè)故障注入到查表操作之后,令 Pu產(chǎn)生符號(hào)變換故障,即Pui→Pui’,產(chǎn)生故障信息為
從式(8)可知R僅與查表索引和故障密鑰位置j相關(guān),因此一個(gè)故障僅能恢復(fù)一個(gè)窗口密鑰,下面給出故障位于Pu時(shí)的密鑰恢復(fù)算法。
算法3 故障位于Pu的密鑰恢復(fù)算法
輸入:最大窗口數(shù)w,正確公鑰Q,故障公鑰R;
輸出:密鑰k;
1) 設(shè)集合S={R|R表示故障公鑰};
2) 初始化密鑰 kn-1~k0=0;
3) 根據(jù) w 計(jì)算 X={xP|x=P,3P,…,2(2w- (-1)w/3-1)P};
4) for(S中每一個(gè)元素);
5) for(i=0; i<n; i++);
6) for(X中的每一個(gè)元素xP);
7) if(2ixP+R=Q 或-2ixP+R=Q);
8) 則 kj~kr=NAF2(x) ;
9) if(Q=kP),輸出 k。
對(duì)于一次特定的故障攻擊,最理想的情況是每次查找預(yù)計(jì)算表都能成功注入一個(gè)符號(hào)變換故障,利用算法3可成功恢復(fù)完整密鑰。但實(shí)際情況下,故障往往不能精確注入到每次滑動(dòng),此時(shí)算法 3僅能恢復(fù)產(chǎn)生故障的密鑰片段,需結(jié)合格攻擊恢復(fù)完整密鑰。格攻擊所需條件是已知三元組(si,mi,ki),即簽名、消息、部分私鑰(可根據(jù)公鑰獲取到簽名)[18]。Bob[15]等人通過(guò)監(jiān)視Cache中預(yù)計(jì)算表的訪存時(shí)間差異,利用Cache旁路模板信息結(jié)合隱馬爾科夫模型,獲取到部分滑動(dòng)窗口中的密鑰值,在不到一小時(shí)的時(shí)間恢復(fù)了160bit完整密鑰。這與本節(jié)的情形是一致的,具體細(xì)節(jié)請(qǐng)參閱文獻(xiàn)[15]。
2.5.2 針對(duì)變量Qi的故障分析
加法操作(b)中的 Qi也是可能的故障注入點(diǎn),其故障分析類似于下一輪循環(huán)時(shí)(a)操作注入故障的分析過(guò)程,這里不再贅述。二者區(qū)別是:2.4節(jié)中將故障注入于(a)處,恢復(fù)的密鑰位為圖4中ki~ks+1,即從故障注入位至已恢復(fù)密鑰位;2.5節(jié)故障位于(b)處時(shí),所恢復(fù)密鑰位為圖中kj~ks+1,即從故障位的下一窗口(非零窗口)至已恢復(fù)密鑰位。
圖4 故障位于(a)、(b)處恢復(fù)密鑰位區(qū)別
在普通 PC機(jī)(CPU為 Athlon 64 3000+1.81GHz,內(nèi)存為1GB)上使用C++語(yǔ)言(Visual C++6.0環(huán)境)編程實(shí)現(xiàn)了本文ECC故障攻擊,其中,故障誘導(dǎo)是通過(guò)軟件模擬的。
利用 2.4節(jié)故障分析方法,對(duì) OpenSSL0.9.8a中SECG和NIST X9.62提供的8條安全橢圓曲線進(jìn)行了攻擊仿真實(shí)驗(yàn),密鑰長(zhǎng)度為192bit,故障樣本數(shù)分別為30、20、15這3種。
實(shí)驗(yàn)結(jié)果如圖5所示,結(jié)果表明以下3個(gè)結(jié)論。
1) 在相同曲線條件下,3組實(shí)驗(yàn)的攻擊時(shí)間有明顯不同。攻擊時(shí)間差異是由于密鑰片段大小m決定了搜索空間3m,故障樣本數(shù)越大,密鑰片段越小,攻擊時(shí)間越短。
2) 在相同故障樣本下,11條曲線的攻擊時(shí)間有明顯不同。攻擊時(shí)間差異主要是由點(diǎn)乘運(yùn)算開銷M所引起的,即基域越大,點(diǎn)乘運(yùn)算開銷越大。
3) 基域相同的 3條曲線(NIST 192、NIST 192v2、NIST 192v3)攻擊時(shí)間差異不大。這是由于相同基域下的曲線參數(shù) a、b和基點(diǎn)對(duì)點(diǎn)乘運(yùn)算的影響不大。
由于OpenSSL0.9.8a中自動(dòng)生成的密鑰不存在大段的連續(xù)的零,為驗(yàn)證算法 2,將密鑰中的一段置零,再對(duì)NIST 192 3條曲線進(jìn)行故障攻擊(樣本量選取 20)。當(dāng)出現(xiàn)“零塊”時(shí)調(diào)用算法 2,攻擊時(shí)間如圖5所示:攻擊時(shí)間比不存在“零塊”的密鑰多耗時(shí)70s左右,多余耗時(shí)主要消耗在合并密鑰塊的窮舉上。同時(shí)作者發(fā)現(xiàn)出現(xiàn)“零塊”的位置與攻擊時(shí)間也密切相關(guān),即出現(xiàn)“零塊”時(shí)已知的密鑰位越多,算法2進(jìn)行窮舉時(shí)點(diǎn)乘開銷越大,完成攻擊所需時(shí)間越多。
圖5 針對(duì)不同曲線參數(shù)恢復(fù)192bit完整密鑰所需時(shí)間
表1 針對(duì)不同密鑰、不同故障樣本的密鑰搜索空間
利用 2.5節(jié)中針對(duì) Pu的故障分析方法,針對(duì)NIST 192的3個(gè)不同私鑰k進(jìn)行故障攻擊,表1給出了不同私鑰、不同故障數(shù)樣本數(shù)的密鑰搜索空間。在每次滑動(dòng)都能引入故障的情況下,恢復(fù)完整密鑰僅需1min;當(dāng)故障不能精確注入到每一次滑動(dòng)時(shí),1個(gè)故障大約可以將密鑰空間降低27~215。R?mer[19]證明了在已知 12bit的密鑰和 50個(gè)簽名的情況下,格攻擊成功率可達(dá)到99%。所以利用算法 3結(jié)合攻擊,3~5個(gè)故障樣本即可恢復(fù)完整密鑰。
現(xiàn)有 ECC故障攻擊研究大都在仿真環(huán)境下進(jìn)行,且已發(fā)表文獻(xiàn)中尚未有針對(duì)滑動(dòng)窗口算法的ECC故障攻擊?;诜?hào)變換的ECC故障攻擊只有一例[12],主要針對(duì)采用 NAF2實(shí)現(xiàn)點(diǎn)乘的ECC,文中也并沒(méi)有給出具體攻擊時(shí)間。本文針對(duì)滑動(dòng)窗口算法實(shí)現(xiàn)的 ECC進(jìn)行了故障攻擊仿真實(shí)驗(yàn),給出了一種可消除了“零塊失效”問(wèn)題的改進(jìn)算法,通過(guò)改變故障注入點(diǎn)提出了一種新的故障分析方法,對(duì)不同基域下的ECC進(jìn)行了攻擊仿真實(shí)驗(yàn),并給出了恢復(fù)完整密鑰所需時(shí)間。由于點(diǎn)乘運(yùn)算實(shí)現(xiàn)方式中都存在倍點(diǎn)運(yùn)算,故2.4節(jié)的故障分析方法也適用于其他采用點(diǎn)乘運(yùn)算的密碼算法。
在故障攻擊方面主要有3個(gè)研究方向:故障注入、故障分析、故障攻擊檢測(cè)與防護(hù),本文主要對(duì)滑動(dòng)窗口算法的橢圓曲線密碼故障分析進(jìn)行了研究,并通過(guò)軟件仿真進(jìn)行了驗(yàn)證。以下方面值得在將來(lái)進(jìn)行后續(xù)研究和關(guān)注:第一,研究FPGA上的故障注入方法,利用文中故障分析方法,開展對(duì)ECC故障攻擊物理實(shí)驗(yàn);第二,研究ECC故障攻擊檢測(cè)與防護(hù)措施。
[1] KOEUNE F, STANDAERT F X. A tutorial on physical security and side-channel attacks[A]. Foundations of Security Analysis and Design III: FOSAD 2004/2005 Tutorial Lectures[C]. Forli, Italy, 2005.78-108.
[2] BONEH D, DEMILLO R, LIPTON R. On the importance of checking cryptographic protocols for faults[A]. Eurocrypt 1997[C]. Konstanz,Germany, 1997. 37-51.
[3] MUKHPOADHYAY D. An improved fault based attack of the advanced encryption standard[A]. AFRICACRYPT 2009[C]. Gammarth,Tunisia, 2009. 421-434.
[4] 李瑋, 谷大武. 基于密鑰編排故障的SMS4算法的差分故障分析[J].通信學(xué)報(bào), 2008, 29(10): 135-142.LI W, GU D W. Differential fault analysis on the SMS4 cipher by schedule[J]. Journal on Communications, 2008, 29(10):135-142.
[5] 趙新杰, 王韜, 王素貞等. 針對(duì) MIBS的深度差分故障分析[J]. 通信學(xué)報(bào), 2010, 31(12): 82-89.ZHAO X J, WANG T, WANG S Z, et al. Research on deep differntial fault analysis against MIBS[J]. Journal on Communications, 2010,31(12): 82-89.
[6] BIHAM E, GRANBOULAN L, NGUYN P Q. Impossible fault analysis of RC4 and differential fault analysis of RC4[A]. FSE 2005[C].Lisbon, Portugal, 2005. 359-367.
[7] CORON J S. Resistance against differential power analysis for elliptic curve cryptosystems[A]. CHES 1999[C]. Massachusetts, USA, 1999.292-302.
[8] BIEHL I, MEYER B, MLLER V. Differential fault attacks on elliptic curve cryptosystems[A]. CRYPTO 2000[C]. Berlin, Germany, 2000.131-146.
[9] ANTIPA A, DANIEL B, MENEZES A, et al. Validation of elliptic curve public keys[A]. PKC 2003[C]. Miami, USA, 2003.211-223.
[10] FOUQUE P A, LERCIER R. Fault attack on elliptic curve with montgomery ladder implementation[A]. FDTC 2008[C]. Washington DC,USA, 2008. 92-98.
[11] BLOMER J, OTTO M, SEIFERT J P. Sign change fault attacks on elliptic curve cryptosystems[A]. FDTC 2006[C]. Yokohama, Japan,2006. 36-52.
[12] SCHMIDT J M, MEDWED M. A fault attack on ECDSA[A]. FDTC 2009[C]. Lausanne, Switzerland, 2009. 93-99
[13] EBEID N, LAMBERT B. Securing the elliptic curve montgomery ladder against fault attacks[A]. FDTC 2009[C]. Lausanne, Switzerland,2009. 46-50.
[14] 王潮, 時(shí)向勇,牛志華. 基于Montgomery曲線改進(jìn)ECDSA算法的研究[J]. 通信學(xué)報(bào), 2010, 31(1): 9-13.WANG C, SHI X Y, NIU Z H. The research of the promotion for ECDSA algorithm based on Montgomery-form ECC[J]. Journal on Communications, 2010, 31(1): 9-13.
[15] BRUMLEY B B, RISTO M H. Cache-timing template attacks[A].ASIACRYPT 2009[C]. Tokyo, Japan, 2009. 667-684.
[16] REDDY E K. Elliptic curve cryptosystems and side-channel attacks[J]. International Journal of Network Security, 2011,12(3): 151-158.
[17] GIRAUD C, THIEBEAULD H. A survey on fault attacks[A].CARDIS 2004[C]. Toulouse, France, 2004. 22-27.
[18] SMART N P, GRAHAM N H. Lattice attacks on digital signature schemes[J]. Codes and Cryptography, 2001, 23(3): 283-290.
[19] ROMER T, SEIFERT J P. Information leakage attacks against smart card implementations of the elliptic curve digital signature algorithm[A]. E-smart 2001[C]. Cannes, France, 2001. 211-219.