專利名稱:一種抗側(cè)信道攻擊的對(duì)策方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于分組密碼的抗側(cè)信道攻擊的對(duì)策方法,尤其,但不排他地,涉及一種使用適當(dāng)匹配(match-in-place)函數(shù)的對(duì)策方法。
背景技術(shù):
現(xiàn)今使用的許多現(xiàn)有加密算法,比如最廣泛使用的‘高級(jí)加密標(biāo)準(zhǔn)(AES) ’的加密算法易受差分功率分析(DPA)的攻擊。DPA是側(cè)信道攻擊,其主要在于,首先測(cè)量當(dāng)執(zhí)行密碼算法時(shí)微處理器的功率消耗然后執(zhí)行統(tǒng)計(jì)分析以便恢復(fù)在用于加密的密碼算法中使用的秘密密鑰。一旦秘密密鑰已經(jīng)確定,就可能解密經(jīng)加密的信息。微處理器的電磁放射也可以被測(cè)量并利用以確定在用于加密的密碼算法中使用的秘密密鑰。
為保護(hù)抗DPA的秘密密鑰算法的常見技術(shù)包括利用隨機(jī)掩碼(mask)來(lái)屏蔽(mask)每一個(gè)中間變量。然后,屏蔽的數(shù)據(jù)和隨機(jī)掩碼可以被獨(dú)立地處理并且最終在算法結(jié)束時(shí)重新結(jié)合。試圖分析微處理器在單個(gè)點(diǎn)處功率消耗的攻擊者會(huì)獲得隨機(jī)值(隨機(jī)數(shù)據(jù)值和隨機(jī)掩碼值);因此,這種屏蔽對(duì)于抵抗一階DPA將是安全的。屏蔽對(duì)策由用于保護(hù)給定的敏感變量的隨機(jī)掩碼的數(shù)量進(jìn)行表征;具有d個(gè)隨機(jī)掩碼的屏蔽稱作d階屏蔽。d階屏蔽只能通過(guò)(d+Ι)階側(cè)信道分析進(jìn)行破解,即,需要同時(shí)處理d+Ι個(gè)變量的攻擊。破解一種對(duì)策所需要的執(zhí)行數(shù)量隨著階數(shù)d而指數(shù)地增長(zhǎng)。因此,階數(shù)d是良好的安全準(zhǔn)則。然而,實(shí)際上最有效的對(duì)策是僅階數(shù)d= I。已示出了二階DPA攻擊來(lái)對(duì)屏蔽的數(shù)據(jù)進(jìn)行解密是可能的。因此,為了獲得對(duì)數(shù)據(jù)的完全安全的加密,需要更好的對(duì)策。對(duì)策中的進(jìn)一步的發(fā)展已經(jīng)實(shí)現(xiàn);最新的抗信道攻擊的對(duì)策中的一個(gè)是具有階數(shù)d = 2的對(duì)策。對(duì)于任何屏蔽對(duì)策來(lái)說(shuō),最主要的困難是保護(hù)算法的非線性部分;對(duì)于高級(jí)加密標(biāo)準(zhǔn)(AES)來(lái)說(shuō),算法的非線性部分實(shí)質(zhì)上是SBOX函數(shù)。使用的技術(shù)包括針對(duì)每個(gè)SBOX查找在整個(gè)SBOX函數(shù)上進(jìn)行迭代,利用被實(shí)施為子例程的比較算法。為每個(gè)SBOX輸入調(diào)用該比較算法,可以示出該對(duì)策可以抵抗任何二階側(cè)信道攻擊。然而因?yàn)樵趫?zhí)行期間需要許多操作并且在執(zhí)行期間也使用許多微處理器存儲(chǔ)器,這樣的屏蔽對(duì)策效率低下。本發(fā)明的目的是避免或減緩上述缺點(diǎn)的至少一些。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,通過(guò)一種抗側(cè)信道攻擊的對(duì)策方法來(lái)實(shí)現(xiàn)這些目的,該方法包括執(zhí)行分組密碼算法來(lái)屏蔽中間變量,其中分組密碼算法包括一個(gè)或多個(gè)非線性函數(shù),其特征在于使用適當(dāng)匹配函數(shù)來(lái)實(shí)施至少一個(gè)非線性函數(shù)。本發(fā)明的方法利用適當(dāng)匹配函數(shù)來(lái)提高該方法的效率。使用適當(dāng)匹配函數(shù)降低了為提供抗側(cè)信道攻擊的有效對(duì)策所需的操作的數(shù)量。另外,相比已知的方法,執(zhí)行本發(fā)明的方法需要更少的存儲(chǔ)器。適當(dāng)匹配函數(shù)可以是位隨機(jī)化的(bit-randomized)適當(dāng)匹配函數(shù)(MIPI (data ;adr, b))??梢詫⑽浑S機(jī)化的適當(dāng)匹配函數(shù)定義為
權(quán)利要求
1.一種抗側(cè)信道攻擊的對(duì)策方法,該方法包括執(zhí)行分組密碼算法來(lái)屏蔽中間變量,其中分組密碼算法包括一個(gè)或多個(gè)非線性函數(shù),其特征在于使用適當(dāng)匹配函數(shù)來(lái)實(shí)施至少一個(gè)非線性函數(shù)。
2.根據(jù)權(quán)利要求I的方法,其中所述適當(dāng)匹配函數(shù)是位隨機(jī)化的適當(dāng)匹配函數(shù)(MIP1 (data ;adr, b))。
3.根據(jù)權(quán)利要求2的方法,其中將位隨機(jī)化的適當(dāng)匹配函數(shù)定義為
4.根據(jù)權(quán)利要求3的方法,其中ΜΖΡΥ /α α,·adr; b) = MIP(data; adr)Q &其中f是b的補(bǔ)數(shù)。
5.根據(jù)權(quán)利要求2的方法,其中至少一個(gè)非線性函數(shù)包括Compareb函數(shù),其定義為
6.根據(jù)權(quán)利要求I的方法,其中,非線性函數(shù)包括在SubByte操作中。
7.根據(jù)權(quán)利要求I的方法,其中所述分組密碼算法進(jìn)一步包括一個(gè)或多個(gè)線性函數(shù),其中所述一個(gè)或多個(gè)線性函數(shù)中的至少一個(gè)通過(guò)對(duì)函數(shù)的變量進(jìn)行異或來(lái)加密。
8.根據(jù)權(quán)利要求I的方法,其中所述分組密碼算法是高級(jí)加密標(biāo)準(zhǔn)(AES)算法。
9.一種包括計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)程序被配置來(lái)實(shí)施根據(jù)權(quán)利要求I的方法。
10.一種從二階屏蔽輸入計(jì)算二階屏蔽Sbox函數(shù)的方法,包括如下的步驟 (i)b 一 rand (I)(ii)for a = O to 2n_l do(si)write (r;十 a; adr) (b)cmp — MIP1 (r2 ;adr ;b)(c)Rcinp (S(^ 十 fl)十 57)十 &(iii)Return Rb 其中,b是表示對(duì)寄存器進(jìn)行索引的隨機(jī)位的變量,并且a是表示定義步驟(a)-(c)應(yīng)被執(zhí)行的次數(shù)的指數(shù)的變量,1*2是一對(duì)輸入掩碼,文是屏蔽值,其中5c 二 χΦ ν\Φτ2Φ E 并且S:、S2是一對(duì)輸出掩碼,且acr是空閑存儲(chǔ)器地址,cmp是對(duì)寄存器進(jìn)行索引的位變量并且是函數(shù)MIPYr2 ;adr ;b)的輸出,且Rcmp和Rb均是微處理器的寄存器的寄存器地址,并且其中,MIPiO^2 ;adr ;b)是位隨機(jī)化的適當(dāng)匹配函數(shù),定義為MIP1(Ciata^dnb)= { b ^ead (adr) = data F否則
11.一種包括計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)程序被配置來(lái)執(zhí)行根據(jù)權(quán)利要求10的方法。
全文摘要
本發(fā)明涉及一種抗側(cè)信道攻擊的對(duì)策方法。根據(jù)本發(fā)明,提供了一種抗側(cè)信道攻擊的對(duì)策方法,該方法包括執(zhí)行分組密碼算法來(lái)屏蔽中間變量,其中分組密碼算法包括一個(gè)或多個(gè)非線性函數(shù),其特征在于使用適當(dāng)匹配函數(shù)來(lái)實(shí)施至少一個(gè)非線性函數(shù)。
文檔編號(hào)H04L9/28GK102904716SQ20121032407
公開日2013年1月30日 申請(qǐng)日期2012年7月25日 優(yōu)先權(quán)日2011年7月26日
發(fā)明者J-S·科龍 申請(qǐng)人:克羅科斯科技公司