楊 蘇,楊穎輝
(河南牧業經濟學院 a.實踐教學設備管理處; b.信息與電子工程學院,鄭州 450044)
一種高效的安全SoC芯片抗功耗攻擊方案
楊 蘇a,楊穎輝b
(河南牧業經濟學院 a.實踐教學設備管理處; b.信息與電子工程學院,鄭州 450044)
安全芯片有資源受限的問題,這致使橢圓曲線密碼算法抵抗功耗攻擊的方案在效率和安全兩方面產生了矛盾。首先利用帶符號的整數拆分形式對標量進行編碼,并采用預計算和標量分割技術把標量乘運算變換成一組橢圓曲線上的點的點加運算,進而利用基點掩碼實現橢圓曲線密碼的抗功耗攻擊。算法安全性及性能分析結果表明,基于整數拆分的抗功耗攻擊方案的運算效率與傳統的抗功耗攻擊方法相比明顯提高,可以很好地滿足安全芯片等資源受限的應用系統。
橢圓曲線密碼; 功耗攻擊分析; 整數拆分形式; 多標量乘算法
功耗攻擊技術是1998年由Paul Kocher率先提出的一種利用芯片工作時泄露的功耗信息來獲取密鑰信息的密碼分析方法,這種攻擊方法實現簡單,攻擊成功率高,比傳統的數學攻擊方法具有更大的威脅[1-4]。根據攻擊手段不同,可分為簡單功耗分析(Simple Power Attack, SPA)與差分功耗分析(Differential Power Attack, DPA)。由于橢圓曲線密碼算法(Elliptic Curve Cryptogram, ECC)與其他傳統公鑰密碼算法相比,在相同安全級別下需要的密鑰更短,存儲空間更小的優點,更適合密碼芯片等資源受限的設備,所以出現大量針對橢圓曲線密碼的功耗攻擊。目前,主要有零值寄存器功耗分析(Zero-value Power Analysis, ZPA)和零值點功耗分析(Refined Power Analysis, RPA)[5-8]。本文通過對標量進行帶符號整數拆分形式編碼(signed integer splitting form, SISF),將大標量乘運算轉換成一組帶系數的由固定且已知標量的小標量乘運算累加和的形式,然后利用標量分割隨機化技術,并結合預計算表方法,提出一種橢圓曲線密碼的抗功耗攻擊方案,可以滿足密碼芯片等資源受限系統兼顧效率和安全的需求。

(1)
式中:n為任意正整數;ui表示拆分系數;a(i)為拆分數列。
文獻[6]中根據數學模型抽象出了拆分數列a(n)的定義,即有

其中a(1)=1,n≥2,并且使用歸納法對于該定理的正確性進行了證明,同時也具體描述了整數k的帶符號整數拆分形式編碼算法。通過將整數拆分表示形式應用于橢圓曲線密碼標量乘法運算中,并利用預計算方法,可以將大標量乘法運算變換成一組橢圓曲線上的點的點加運算形式,所以標量乘kP的形式能轉化成:

u1·a(1)P+u2·a(2)P+…+un·a(n)P=
u1·P1+u2·P2+…+un·Pn
(2)

算法1基于SISF的橢圓曲線標量乘算法。
輸入:k,P;
輸出:Q=kP。
1.計算(um,um-1,…,u1);
2.構造預計算表Pi;
3.令Q=O;
4.對于i從1到n,重復執行:
4.1 如果ui=1,則Q=Q+Pi;
4.2 如果ui=-1,則Q=Q-Pi;
5.返回Q。
其中,預計算表Pi=a(i)P是固定并且也是已知的,其詳細的構造算法為:
算法2預計算表Pi生成算法。
輸入:n,P;
輸出:預計算表Pi。
1.令Q=O;
2.對于i從1到n,重復執行:
2.1S=2Q;
2.2Pi=S+P;
2.3Q=Pi+Q;
3.返回Pi。
算法1步驟4循環操作中,雖然只執行點加操作,然而在整個循環過程中仍然存在功耗差異,當拆分系數ui=±1時,需實施一次點加運算,而當ui=0時,執行空操作。由于基點P固定,致使密鑰信息與輸入之間具有相關性,從而導致標量乘法運算中存在有特殊點。所以算法1易遭受SPA、DPA、RPA和ZPA攻擊。根據標量的拆分表示形式可知,對于所有不大于該標量的整數都可以由相同個數的類基表示,則可以利用標量分割的方法,不僅可以用來抵抗功耗攻擊,而且通過引入一個隨機整數,將大標量化為一組小標量,共用一張較小的預計算表,能夠進一步提高運算效率。標量分割法是橢圓曲線標量乘運算中用于抵抗功耗攻擊的一種盲乘數隨機化技術,利用加上隨機數r的乘數k′=k+r來替代標量k進行標量乘運算,轉化為多標量乘運算,基于標量分割方法的標量乘運算一般形式為[7-10]:
kP=(xk+pr)(uP)+(yk+qr)(vP)
(3)
式中:r為隨機整數;x,y,p,q,u,v為標量分割系數。為了能有效提升標量乘運算的效率,常常令x,y,p,q,u,v∈{-2,-1,0,1,2},標量的分割次數可根據所選用的快速算法和安全性需求確定。
由于基點固定時,預計算表具有反復可利用性,所以將大標量分割成一組小標量,共用同一張較小的預計算表。以一次分割為例,令x=u=q=v=1,p=-1,y=0,則有標量乘運算kP=(k-r)P+rP。通過減去隨機數r,掩蓋了原始標量信息與功耗的相關性,因而可以抵抗DPA攻擊。然而攻擊者仍可利用拆分系數為0和1時執行不同操作而產生的功耗差異實施SPA攻擊,而通過添加偽操作抵抗SPA攻擊會造成不必要的效率損失。經分析可知,添加偽操作的位與拆分系數為0的位有關,可通過將兩個拆分系數相加得到一個和系數li,減少ui和vi單獨為0的位,以減少需要添加偽操作的個數,從而降低效率損失。同時可以將和系數ki看作一個窗口,窗口寬度為標量分割的次數的和[12],則有基于SISF標量乘法運算kP可變換為:
kP=(k-r)P+rP=
(u1·a(1)P+u2·a(2)P+…+ua·a(t)P)+
(v1·a(1)P+v2·a(2)P+…+vt·a(t)P)=
(u1·P1+u2·P2+…+ut·Pt)+
(v1·P1+v2·P2+…+vt·Pt)=
(u1+v1)P1+(u2+v2)P2+…+(ut+vt)Pt=
(4)

根據式(4)可知,標量乘法運算轉化為一個窗口寬度為2的基于SISF標量乘運算,結合抵抗SPA攻擊的偽操作法,給出兼顧效率與安全的橢圓曲線密碼抗功耗攻擊方案。基于SISF的ECC抗功耗攻擊算法的詳細過程描述為:
算法3基于SISF的橢圓曲線密碼抗功耗攻擊算法。
輸入:k,P;
輸出:kP。
1.r=random(),h=k-r;
2.計算SISF(h)=(ut,ut-1,…,u1);
3.計算SISF(r)=(vt,vt-1,…,v1);
4.計算和系數li=(lt,lt-1,…,l1);
5.構造預計算表Pi;
6.令Q=O,E=O;
7.對于e從2到1,重復執行:
7.1 對于i從1到t,重復執行:
7.1.1 如果li=e,則E=E+Pi;
7.1.2 如果li=-e,則E=E-Pi;
7.1.3 否則li=0,則T=E+P;
7.2Q=Q+E;
8.返回Q。
算法3中,通過采用標量分割的方法,將標量減去一個隨機整數,使得密鑰信息隨機化,攻擊者無法獲得中間結果與輸入之間的相關性信息,因而該方案可抵抗DPA攻擊。且由于參與標量乘法運算的標量已被隨機化,使得攻擊者無法找到特殊點可以利用,所以該算法也可以抵抗ZPA和RPA攻擊。在步驟7的循環運算中,由于此時的和系數li仍然可為0,故在步驟7.1.3添加偽操作,從而每次循環運算中都執行兩次點加操作,使其能量圖譜不存在功耗差異,因此,攻擊者無法獲取相關信息進行密鑰猜測,故該算法可以抵抗SPA攻擊。


表1 算法3與WBRIP算法、EBRIP算法抗功耗攻擊方案效率分析比較
從表1可以看出,算法3與WBRIP算法和EBRIP算法功耗攻擊方案相比效率分別提高了69.72%和10.94%,這會大大滿足芯片等便攜式設備的高效性需求,說明固定基點標量乘運算中,所給方案具有更好的性能。另外,該方案還可以根據安全和效率需求進行多次標量分割。由性能分析結果表明:該方案可以滿足安全和效率兩方面的需求,尤其適用于對存儲空間要求不高的密碼加密部件等應用系統中。
通過結合基于帶符號整數拆分形式多標量乘快速算法和標量分割隨機化方法,從而給出了一種新的ECC抗功耗攻擊方案,既能抵御多種功耗攻擊,同時也有更高的運算效率。并且由于該方案所構造生成的預計算表是固定且已知的,所以可以預先存儲到應用系統中,不需要再重新計算,這樣就只需要考慮主循環加密運算,能夠更好地應用于安全芯片等資源受限的便攜式系統中,具有較好理論研究和實際應用價值。
[1] Kocher P, Jaffe J, Jun B.Introcuction to differential power analysis and related attacks [EB/OL].http://www.Cryptography.com/dpa/ technical,1998.
[2] Kocher P, Jaffe J, Jun B.Differential power analysis [C]//Advanced in Cryptology-CRYPTO’99.California, USA: Springer Verlag, 1999: 388-397.
[3] Coron J S.Resistance against differential power analysis for elliptic curve cryptosystems[J].Crypt- ographic Hardware and Embedded Systems, 1999, 292-302.
[4] 王正義, 趙俊閣.基于帶符號雙基數系統的抗功耗攻擊方案算法[J].計算機應用, 2011, 31(11): 2973-2974.
[5] 陳 俊, 陳 運.抗功耗分析攻擊的橢圓曲線梳狀優化算法[J].成都信息工程學院學報, 2010, 25(4): 341-344.
[6] 石潤華, 鐘 誠.一種快速的橢圓曲線標量乘方法[J].計算機工程與應用, 2006(2): 156-158.
[7] 張 寧.能量分析攻擊下安全的橢圓曲線標量乘法[D].西安:西安電子科技大學, 2007.
[8] 劉 鐸, 戴一奇.計算橢圓曲線上多標量乘的快速算法[J].計算機學報, 2008, 31(7): 1131-1137.
[9] 賴 暉.橢圓曲線密碼體制中的快速點乘算法[J].微計算機信息, 2007, 23(3): 228-229.
[10] 馬 博.基于ECC算法的智能卡抗功耗攻擊研究[D].西安:西安電子科技大學, 2010.
[11] Knudsen E.Elliptic scalar multiplication using point halving [C]//Advances in Cryptology-ASIACRYPT’99.New Youk: Springer-Verlag, 1999, 1716(274): 135-149.
[12] Morain F, Olivos J.Speeding up the computations on an elliptic curve using addition-subtraction chains [J].Theoretical Informatics and Applications, 1990, 24(6): 120-126.
[13] Purohit G N, Rawat S A, Kumar M.Elliptic curve point multiplication using MBNR and point halving [J].International Journal of Advanced Networking and Applications, 2012, 3(5): 1329-1337.
[14] 王玉璽,張串絨,張柄虹.一種改進的固定基點標量乘快速算法[J].計算機科學,2013,40(10):135-138.
[15] Fong K, Hankerson D, Lopez J, et al.Field inversion and point halving revisited[J].IEEE Transactions on Computers, 2004, 53(8): 1047-1059.
[16] Barua R, Pandey S K, Pankaj R.Efficient window-based scalar multiplication on elliptic curves using double- base number system [C]//Lecture Notes in Computer Science.Berlin: Springer-Verlag, 2007: 351-360.
ASecurityandEfficiencySchemeofResistingPowerAttacksforSoC
YANGSua,YANGYinghuib
(a.Practice Teaching Equipment Management Office; b.School of Information and Electronic Engineering, Henan University of Animal Husbandry and Economy, Zhengzhou 450044, China)
The contradiction between efficiency and security lies in the scheme of resisting power analysis attack for ellipse curve cryptography due to the limited resource of security chip.Firstly, combining with the method of the pre-computation table and scalar division, scalar multiplication was turned into a set of point addition of ellipse curve by coding the scalar with signed integer splitting form.And then a scheme based on signed integer splitting form was presented by basic point masking algorithm.Security and performance analysis shows that the improved scheme has higher efficiency comparing with other resisting power analysis attacks, and can be used in the limited resource system preferably.
ellipse curve cryptography; power analysis attack; integer splitting form; multiple scalar multiplication algorithm

TP 309
A
1006-7167(2017)10-0149-04
2017-01-12
楊 蘇(1982-),男,河南商丘人,學士,實驗師,主要從事計算機網絡及安全研究。Tel.: 18037277061; E-mail: 59732376@qq.com