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