蒲金偉,高傾健,鄭欣,徐迎暉
SM4抗差分功耗分析輕量級門限實現(xiàn)
蒲金偉,高傾健,鄭欣*,徐迎暉
(廣東工業(yè)大學 自動化學院,廣州 510006)( ? 通信作者電子郵箱xinzheng9209@gmail.com)
針對SM4門限實現(xiàn)(TI)面積大、隨機數(shù)消耗多的問題,提出一種SM4門限實現(xiàn)的改進方案。在滿足門限實現(xiàn)理論的情況下,對S盒非線性求逆進行了無隨機共享,并引入面向域的乘法掩碼方案,將S盒隨機數(shù)消耗減少至12 bit;基于流水線思想,設計了新的8 bit數(shù)據(jù)位寬的SM4串行體系結構,復用門限S盒,并優(yōu)化SM4線性函數(shù),使SM4門限實現(xiàn)面積更加緊湊,僅6 513 GE,相較于128 bit數(shù)據(jù)位寬的SM4門限實現(xiàn)方案,所提方案的面積減小了63.7%以上,并且更好地權衡了速度和面積。經側信道檢驗,所提出的改進方案具備抗一階差分功耗分析(DPA)能力。
SM4;差分功耗分析;門限實現(xiàn);S盒;非線性求逆;無隨機共享;面向域的乘法掩碼方案
SM4算法[1]是我國國家密碼管理局于2012年3月公布的第一個完全自主設計的商用對稱加密算法,是主要用于無線局域網和可信計算系統(tǒng)的專用分組密碼算法,在不同場景下對數(shù)據(jù)加密保護,目前在金融交易、物聯(lián)網、通信等領域被廣泛應用。因此SM4安全性的研究對我國密碼學發(fā)展、社會經濟發(fā)展、信息安全等具有重要意義。
美國密碼學家Kocher[2]在20世紀90年代末首次提出了側信道分析(Side Channel Analysis, SCA),并成功對一些主流加密算法進行了攻擊,SCA成為加密算法實現(xiàn)的最大的安全威脅之一。在密碼學領域為擊敗SCA而開發(fā)的眾多對策中,Nikova等[3]和Bilgin等[4]提出的基于門限實現(xiàn)的對策無疑是當今最流行的對策,該對策基于秘密共享的思想,使用多個隨機變量作用于一個中間值,即使在探針攻擊[3]的情況下,依然能保證安全性,并且具備抗差分功耗分析(Differential Power Analysis, DPA)的能力。自2006年以來,門限實現(xiàn)被廣泛應用于應用于高級加密標準(Advanced Encryption Standard,AES)、PRINCE、數(shù)據(jù)加密標準(Data Encryption Standard, DES)等國際加密算法中,有效降低了加密算法在側信道攻擊中的脆弱性,但針對SM4的門限實現(xiàn)方案較少。2007年,Liu等[5]給出了SM4算法S盒的代數(shù)表達式,奠定了SM4算法的研究基礎;2014年,Liang等[6]利用正則基在復合域中實現(xiàn)求逆,提出了更緊湊的S盒;2018年,李新超等[7-8]構造秘密共享函數(shù)代替仿射變換,提出了兩種基于門限實現(xiàn)的SM4 S盒結構,并具備抗一階、抗二階DPA的能力,但并未在實際應用中進行側信道安全分析;2022年,武小年等[9]基于多項式基設計了面積更緊湊的門限SM4方案,具備抗一階DPA能力。就目前來說,現(xiàn)有文獻主要關注SM4 S盒的門限實現(xiàn)設計方案,但S盒門限實現(xiàn)仍存在整體實現(xiàn)硬件開銷大、隨機數(shù)使用多等缺點。此外門限SM4均采用128 bit數(shù)據(jù)位寬的結構,存在S盒門限實現(xiàn)面積增大導致SM4整體實現(xiàn)面積顯著增加的缺點,在門限AES實現(xiàn)中,均采用8 bit數(shù)據(jù)位寬的串行結構以克服上述缺點。
本文基于正則基S盒結構,對復合域求逆均勻共享進行優(yōu)化實現(xiàn),并引入面向域掩碼(Domain Oriented Masking, DOM)方案,設計更緊湊、隨機數(shù)更少的SM4門限S盒;基于8 bit數(shù)據(jù)位寬的串行SM4以及門限S盒結構,提出SM4輪函數(shù)中線性函數(shù)的優(yōu)化實現(xiàn),設計了新的基于流水線設計的門限SM4結構,正確實現(xiàn)SM4加密運算;相較于文獻[7-9]采用的128 bit數(shù)據(jù)位寬的門限SM4,本文結構中門限S盒的數(shù)量僅為1,有效避免了門限S盒面積較大導致整體SM4面積大幅增加的問題,具有更好的時間-面積積(Area-Time Product, ATP)性能指標。仿真結果表明,本文設計的SM4硬件結構面積更加緊湊,所需隨機數(shù)更少,在一階DPA下具備安全性。
性質1 正確性(Correctness)。異或所有共享分量值等于未共享變量值。
其中:為仿射矩陣;表示輸入的第 bit;為行向量。
在復合域進行S盒計算時,需要先進行前仿射、同構映射運算,在設計中,兩個運算進行合并可提高計算效率,定義線性運算LM如下:
在S盒復合域計算末尾,會進行逆同構映射、仿射運算,同樣采用合并的方法進行實現(xiàn),定義線性運算ILM如下:
圖1描述了本文采用的復合域分解的S盒,根據(jù)各函數(shù)的線性和非線性,將它劃分為了5個部分,并且采用2輸入共享方案,由性質2可知,可以抵御一階DPA。接下來以一種分階段的方式來介紹門限S盒設計,其中每個階段由流水線寄存器進行分隔。完整的門限S盒如圖2所示。
圖 2 SM4 S盒門限實現(xiàn)結構
其中:
算法1 檢驗掩蔽均勻性。
輸出 True,F(xiàn)alse。
end For
end For
Return False
end if
end For
end For
Return True
(19)
文獻[3-4]中所設計的門限AES電路結構,均采用8 bit數(shù)據(jù)位寬的串行AES結構,例化一個門限S盒模塊,按行逐字節(jié)加載明文和密鑰,進而避免門限S盒面積過大導致整體AES面積大幅增加。本文結合文獻[3,15]的方法,并考慮SM4以及門限S盒的整體硬件結構,設計了基于門限S盒實現(xiàn)的SM4加密電路結構,如圖5所示。采用串行實現(xiàn)來進行輪操作和密鑰調度,總體結構包括2個狀態(tài)寄存器,1個密鑰寄存器、1個門限S盒、1個偽隨機數(shù)生成模塊。在數(shù)據(jù)路徑上8 bit和128 bit數(shù)據(jù)位寬,128 bit數(shù)據(jù)位寬僅用于加密開始前后的明文共享、密鑰、密文共享的讀寫。
圖5 SM4門限實現(xiàn)串行體系結構
圖6 SM4狀態(tài)寄存器
為了對SM4門限實現(xiàn)的安全性進行評估,本設計在SPARTAN-6 XC6SLX9 型號芯片的FPGA開發(fā)板中進行實現(xiàn),使用PICO 3206D數(shù)字示波器采集電路加密時的實際功耗曲線,采樣頻率為250 MHz。在本設計中采用偽隨機數(shù)發(fā)生器(Pseudo-Random Number Generator,PRNG)為門限S盒提供隨機數(shù),因此分別采集關閉PRNG和開啟PRNG的1萬條功耗曲線進行安全性對比,圖8展示了門限SM4加密前4輪的功耗曲線,可以觀察到由于PRNG的使用,圖8(b)的功耗略高于圖8(a)。
圖8 關閉與開啟PRNG的功耗曲線
首先,采用相關能量分析(Correlation Power Analysis, CPA)[17]方法對無保護和有保護的1萬條SM4第一輪加密功耗曲線進行安全性分析。選擇對SM4第1字節(jié)密鑰進行攻擊,攻擊結果如圖9所示。圖9(a)可以看出存在1個密鑰猜測值的相關系數(shù)遠大于其他密鑰猜測值,表明無保護的SM4第1字節(jié)密鑰被成功攻擊,這是由于門限S盒每個階段不滿足均勻性從而導致了信息泄露。從圖9(b)可以看出所有密鑰猜測值的相關系數(shù)無明顯差異,表明有保護的門限SM4則無法通過CPA獲取密鑰。
圖9 關閉與開啟PRNG的CPA結果
圖10 關閉與開啟PRNG的一階檢驗結果
使用Verilog語言實現(xiàn)本文基于門限實現(xiàn)的SM4方案,并在Xilinx ISE Design Suite上對方案的正確性進行仿真驗證,使用Synopsys Design Compiler工具以及SMIC 55 nm工藝庫進行邏輯綜合,與現(xiàn)有的一些掩碼方案對比如表1所示。
表1 SM4門限實現(xiàn)設計比較
由表1可知在相同條件下,與文獻[7-9]采用128 bit數(shù)據(jù)位寬實現(xiàn)的門限SM4相比,本文方案面積減小約63.7%~75.7%,門限S盒消耗的隨機掩碼數(shù)量僅為12 bit,遠低于文獻[7-8]方案中S盒的隨機掩碼消耗數(shù)量,但SM4門限實現(xiàn)完成整個加密過程所需時鐘數(shù)增加了52.1%~82.5%。此外,本文采用ATP指標對不同門限SM4方案進行對比。假設時鐘頻率均為50 MHz,文獻[7-9]方案的ATP指標分別為89.60、84.40、59.86,本文ATP指標為38.00,更好地權衡了面積和性能。本文也給出了門限SM4各模塊的面積,如表2所示。因此,本文8 bit數(shù)據(jù)位寬的門限SM4具有更好的性能,面積更加緊湊,門限S盒所需隨機數(shù)更少。
表2 SM4門限實現(xiàn)模塊面積
目前SCA手段不斷更新,如高階探針攻擊、DPA。因而,具備抵御高階SCA能力的密碼算法實現(xiàn)研究依舊是一個研究重點。本文采用2共享方案,因此僅能抵御一階DPA,能夠抵御高階DPA的SM4算法實現(xiàn)是下一階段的研究工作所重點追求的目標。
[1] Office of State Commercial Cipher Administration. Block cipher for WLAN products — SMS4 [EB/OL]. [2022-03-21]. http://www.oscca.gov.cn/UpFile/2006021016423197990.pdf.
[2] KOCHER P C. Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems[C]// Proceedings of the 1996 Annual International Cryptology Conference, LNCS 1109. Cham: Springer, 1996: 104-113.
[3] NIKOVA S, RECHBERGER C, RIJMEN V. Threshold implementations against side-channel attacks and glitches[C]// Proceedings of the 2006 International Conference on Information and Communications Security, LNCS 4307. Cham: Springer, 2006: 529-545.
[4] BILGIN B, GIERLICHS B, NIKOVA S, et al. Trade-offs for threshold implementations illustrated on AES[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2015, 34(7): 1188-1200.
[5] LIU F, JI W, HU L, et al. Analysis of the SMS4 block cipher[C]// Proceedings of the 2007 Australasian Conference on Information Security and Privacy, LNCS 4586. Berlin: Springer, 2007: 158-170.
[6] LIANG H, WU L J, ZHANG X M, et al. Design of a masked S-box for SM4 based on composite field[C]// Proceedings of the 10th International Conference on Computational Intelligence and Security. Piscataway: IEEE, 2014: 387-391.
[7] 李新超,鐘衛(wèi)東,張帥偉,等.一種基于門限實現(xiàn)的SM4算法S盒實現(xiàn)方案[J].計算機工程與應用,2018,54(17):83-88. (LI X C, ZHONG W D, ZHANG S W, et al. New S-box of SM4 based on threshold implementation [J]. Computer Engineering and Applications, 2018, 54(17): 83-88.)
[8] 李新超,鐘衛(wèi)東,張帥偉,等.一種SM4算法S盒的門限實現(xiàn)方案[J].密碼學報,2018,5(6):641-650.(LI X C, ZHONG W D, ZHANG S W, et al. A new threshold implementation of the S-box in SM4[J]. Journal of Cryptologic Research, 2018, 5(6): 641-650.)
[9] 武小年,李金林,潘晟,等.SM4算法門限掩碼方案設計與實現(xiàn)[J].計算機應用研究,2022,39(2):572-576.(WU X N, LI J L, PAN S, et al. Threshold masking schema design and implementation on SM4 algorithm[J]. Application Research of Computers.2022,39(2): 572-576.)
[10] NIKOVA S, RIJMEN V, SCHLAFFER M. Secure hardware implementation of nonlinear functions in the presence of glitches[J]. Journal of Cryptology, 2011, 24(2): 292-321.
[11] BILGIN B, GIERLICHS B, NIKOVA S, et al. A more efficient AES threshold implementation[C]// Proceedings of the 2014 International Conference on Cryptology in Africa, LNCS 8469. Cham: Springer, 2014: 267-284.
[12] DE CNUDDE T, REPARAZ O, BILGIN B, et al. Masking AES with+1 shares in hardware[C]// Proceedings of the 2016 International Conference on Cryptographic Hardware and Embedded Systems, LNCS 9813. Berlin: Springer, 2016: 194-212.
[13] WEI M, SUN S W, WEI Z H, et al. A small first-order DPA resistant AES implementation with no fresh randomness [J]. Science China Information Sciences, 2022, 65(6): No.169102.
[14] GROSS H, MANGARD S, KORAK T. Domain-oriented masking: compact masked hardware implementations with arbitrary protection order [C]// Proceedings of the 2016 ACM Workshop on Theory of Implementation Security. New York: ACM, 2016: 3.
[15] SHANG M, ZHANG Q L, LIU Z B, et al. An ultra-compact hardware implementation of SMS4[C]// Proceedings of the 2014 IIAI 3rd International Conference on Advanced Applied Informatics. Piscataway: IEEE, 2014:86-90.
[16] 鄭朝霞,資義純,吳旭峰,等.SMS4算法串行化設計及其輕量級電路實現(xiàn)[J].華中科技大學學報(自然科學版),2016,44(2):61-64.(ZHENG Z X, ZI Y C, WU X F, et al. Serialized design of SMS4 and lightweight implement[J]. Journal of Huazhong University of Science and Technology (Nature Science Edition), 2016, 44(2): 61-64.)
[17] BRIER E, CLAVIER C, OLIVIER F. Correlation power analysis with a leakage model [C]// Proceedings of the 6th International Workshop on Cryptographic Hardware and Embedded Systems, LNCS 3156. Berlin: Springer, 2004: 16-29.
[18] ROY D B, BHASIN S, PATRANABIS S, et al. Testing of side-channel leakage of cryptographic intellectual properties: metrics and evaluations[M]// Hardware IP Security and Trust. Cham: Springer, 2017: 99-131.
SM4 resistant differential power analysis lightweight threshold implementation
PU Jinwei, GAO Qingjian, ZHENG Xin*, XU Yinghui
(,,510006,)
Aiming at the problems of large area and large consumption of fresh randomness in Threshold Implementation (TI) of SM4, an improved threshold implementation scheme of SM4 was proposed. In the case of satisfying the threshold implementation theory, the operation of S-box nonlinear inversion was shared with no fresh randomness, and a domain-oriented multiplication mask scheme was introduced to reduce the fresh randomness consumption of S-box to 12 bits. Based on the idea of the pipeline, a new SM4 serial architecture with 8-bit data width was designed. The threshold implementation of S-box was reused, and the linear function of SM4 was optimized to make the area of threshold implementation of SM4 more compact, only 6 513 GE. In comparison with the TI scheme of SM4 with 128-bit data width, the area of the proposed scheme is reduced by more than 63.7%, and there is a better trade-off between speed and area. The side-channel experimental results show that the proposed scheme has the capability of anti-first-order Differential Power Analysis (DPA).
SM4; Differential Power Analysis (DPA); Threshold Implementation (TI); S-box; nonlinear inversion; shared with no fresh randomness; domain-oriented multiplication mask scheme
1001-9081(2023)11-3490-07
10.11772/j.issn.1001-9081.2022101579
2022?10?24;
2022?12?29;
廣東省基礎與應用基礎研究基金資助項目(2021A1515110777)。
蒲金偉(1998—),男,重慶人,碩士研究生,主要研究方向:密碼算法側信道防護; 高傾?。?997—),男,廣東普寧人,碩士研究生,主要研究方向:密碼算法側信道防護; 鄭欣(1993—),女,湖北咸寧人,博士,主要研究方向:SoC設計、軟硬件協(xié)同設計、圖神經網絡; 徐迎暉(1977—),男,湖南長沙人,副教授,博士,主要研究方向:信息安全、嵌入式系統(tǒng)、多媒體信號處理。
TP309.2
A
2023?01?03。
This work is partially supported by Guangdong Basic and Applied Basic Research Foundation (2021A1515110777).
PU Jinwei, born in 1998, M. S. candidate. His research interests include cryptographic algorithm side-channel protection.
GAO Qingjian, born in 1997, M. S. candidate. His research interests include cryptographic algorithm side-channel protection.
ZHENG Xin, born in 1993, Ph. D. Her research interests include SoC (System on Chip) design, software and hardware co-design, graph neural network.
XU Yinghui, born in 1977, Ph. D., associate professor. His research interests include information security, embedded systems, multimedia signal processing.