鄔可可 周瑩 孔令晶
摘 ? 要:密碼芯片中有復(fù)雜的加解密算法和密鑰保護機制,然而在計算過程中密碼芯片的功率泄露卻與所操作的密鑰相關(guān)。攻擊者利用統(tǒng)計學(xué)進(jìn)行功率泄露分析,則可逐步解析出密碼芯片所操作的密鑰,從而破解整個系統(tǒng)。為了解決這個問題,許多抵御功耗分析攻擊的安全算法與安全實現(xiàn)技術(shù)相繼提出,但是很少有針對這一套安全防護技術(shù)設(shè)計規(guī)范的研究。文章給出了密碼芯片安全算法的一套設(shè)計規(guī)范,分別基于算法設(shè)計維度規(guī)范和硬件設(shè)計維度的設(shè)計規(guī)范,來改變功率消耗的特征。這種設(shè)計規(guī)范除了能為密碼芯片企業(yè)提供芯片設(shè)計的效率和安全性技術(shù)支撐外,還能指導(dǎo)和規(guī)范其在產(chǎn)品投放市場前得到系統(tǒng)的測試、評估和設(shè)計,免除了一旦出現(xiàn)安全問題后給用戶和廠商帶來巨額損失。
關(guān)鍵詞:密碼芯片;密碼算法;功耗分析;設(shè)計規(guī)范
中圖分類號:TP309 . 7 ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A
Abstract: There are complex encryption and decryption algorithms and key protection mechanisms in cryptographic chips. However, the power leakage of cryptographic chips in the calculation process is related to the key operation. The attacker uses statistics to analyze the power leak, and they can gradually resolve the key operated by the cryptographic chip, until they can crack the whole system. To solve this problem, many security algorithms and security implementation techniques against power analysis attacks have been proposed, but there is no research on the design specifications of this set of security protection technologies. This paper presents a set of design specifications for cryptographic chip security algorithms. Based on the design specifications of time dimension and amplitude dimension, the characteristics of power consumption are changed. In addition to providing technical support for the efficiency and security of chip design for cryptographic chip enterprises, this design specification can also guide and standardize the systematic testing, evaluation and design of cryptographic chip enterprises before their products are put into the market, and avoid huge losses of users and manufacturers once security problems arise.
Key words: cryptographic chips; cryptographic algorithms; power analysis; design specifications
1 引言
密碼芯片大量地存在于電子產(chǎn)品中,比如銀行卡、可信計算模塊、USB Key、RFID等。一般來說,是通過增加密鑰的長度來增加密碼算法的安全性,而功耗分析攻擊(Power Analysis)[1,2]不因密鑰長度的增加而越難破解。
功耗分析是根據(jù)密碼芯片的功率消耗與所執(zhí)行的密碼算法程序之間產(chǎn)生關(guān)聯(lián)的中間值。因此,密碼算法設(shè)計的目標(biāo),就是切斷被處理的數(shù)據(jù)值與功率消耗之間的關(guān)聯(lián)。國內(nèi)外針對密碼芯片的防御功耗分析攻擊的研究[3-10],也是2019年信息安全領(lǐng)域的熱點。研究成果大致分為算法設(shè)計維度和硬件設(shè)計維度來防御功耗分析攻擊。從硬件層面防御的手段是割斷密碼芯片處理的中間值與功率的相關(guān)性。
Tiri和Verbauwhede提出動態(tài)差分型邏輯[6]。英國劍橋大學(xué)的Moore等人提出異步雙線邏輯(Asynchronous Dual-rail)[7],這樣的電路其電流特性與輸入無關(guān)。算法維度防御的手段是消除密碼算法與密碼芯片處理的中間值之間的關(guān)聯(lián),主要是掩碼技術(shù)。Mehdi-laurent Akkar和Christophe Giraud提出了掩碼技術(shù)[8],該方法是將中間數(shù)據(jù)與一個隨機數(shù)進(jìn)行異或。李子臣和孫亞飛等人提出了基于同態(tài)特性側(cè)信道攻擊防御技術(shù)的研究[9,10]。而更高階的功耗分析攻擊出現(xiàn)之后,更多元化的防御技術(shù)相繼提出[11~17]。
盡管國內(nèi)外對功耗分析攻擊防御技術(shù)的研究越來越深入,但是整體來說,在系統(tǒng)地研究功耗分析防御方法和進(jìn)一步形成設(shè)計規(guī)范方面,還缺乏細(xì)致有深度的研究。本文將從算法設(shè)計維度和硬件設(shè)計維度,給出防御功耗分析攻擊的密碼芯片安全算法的一套設(shè)計規(guī)范,從而為密碼芯片的功耗分析領(lǐng)域做好體系結(jié)構(gòu)級別的安全防護。
2 背景
2.1 功耗分析
在1999年Kocher等人又提出了差分功耗分析(Differential Power Analysis, DPA)方法[4],同時把功耗分析分為簡單功耗分析(SPA)和差分功耗分析(DPA)兩種方式。SPA是通過對測量得到的一條或幾條側(cè)信道曲線進(jìn)行仔細(xì)觀察來破解密鑰。而另一種更強的DPA則采用統(tǒng)計的方法來執(zhí)行程序多次來破解密鑰,如圖1所示闡述了DPA攻擊的過程。
2.2 掩碼和隱藏技術(shù)
隱藏技術(shù)[18]的目標(biāo)即是切斷處理的數(shù)據(jù)值與密碼芯片功率消耗之間的聯(lián)系。所以,隱藏技術(shù)使攻擊者難以從功耗曲線中獲得可利用的信息。
實質(zhì)上,可以通過兩種途徑實現(xiàn)這一目標(biāo)。第一種方法是“掩碼”,使芯片對于所有操作和操作數(shù)均具有同樣的功率消耗,即芯片在各個時鐘周期的功率消耗相等。這種方法僅僅在算法設(shè)計維度上改變了功率消耗的特征。第二種方法是“隱藏”,使用特殊的硬件方式設(shè)計密碼芯片,使其功率的消耗呈現(xiàn)隨機化,這意味著芯片在各個時鐘周期的功率消耗是隨機分布的??梢?,第二種方法在硬件設(shè)計維度改變了功率消耗的特征,如圖2所示。
針對掩碼技術(shù),本文將從算法設(shè)計規(guī)范的維度上改變功率消耗的特征。針對隱藏技術(shù),本文將從硬件設(shè)計規(guī)范的維度改變功率消耗的特征,從而實現(xiàn)體系結(jié)構(gòu)級別的安全防護。
3 算法設(shè)計規(guī)范
DPA攻擊需要將采集到的功率曲線進(jìn)行精確地對齊才能實施有效的攻擊。這意味著需要將每一個操作的功率消耗定位在各條功率曲線的相同位置。因此,算法執(zhí)行的隨機性越強,對設(shè)備的攻擊就越困難。本文提出在隨機化密碼算法執(zhí)行序列中插入偽操作或亂序操作。
3.1 隨機插入偽操作
隨機插入偽操作的基本思想是將偽操作隨機地插入在密碼算法執(zhí)行的整個過程,并根據(jù)每一次生成的隨機數(shù),來確定在不同位置插入偽操作的數(shù)量。
在此方法的實現(xiàn)中,每一個操作的執(zhí)行時間均取決于在該操作之前插入的偽操作的數(shù)量。在算法執(zhí)行中,該數(shù)量將隨機發(fā)生變化,變化越大,能力消耗的隨機性就越強。同樣,插入的偽操作越多,這種實現(xiàn)數(shù)據(jù)的吞吐量就越低。所以,必須對每一種實現(xiàn)都要打出一定的折扣。
3.2 亂序操作
一些密碼算法的某些特定操作執(zhí)行順序是可以隨意改變的,亂序操作就是在這類密碼算法中,通過隨機性地改變這些特定操作的執(zhí)行順序來實現(xiàn)的。
通過亂序操作來實現(xiàn)功率消耗隨機化的方式與隨機插入偽操作類似。但是,亂序操作的優(yōu)點是并不像隨機插入偽操作那樣會嚴(yán)重地影響數(shù)據(jù)的吞吐量,其缺點是它只針對非常有限的某些密碼算法中的特定操作,這嚴(yán)格地受限于密碼算法本身以及密碼算法的具體實現(xiàn)。因此,在現(xiàn)實具體的密碼算法設(shè)計中,經(jīng)常會把亂序操作與隨機插入的偽操作結(jié)合起來使用。
4 硬件設(shè)計規(guī)范
要使得密碼芯片具有防御功耗分析攻擊的能力,可以通過使其各個時鐘周期的功率消耗相等或者呈現(xiàn)隨機化的樣式。在上一節(jié)中,討論了對算法設(shè)計規(guī)范的維度,提出了隨機插入偽操作和執(zhí)行亂序操作的方法,本節(jié)將從硬件設(shè)計的維度,提出直接改變操作功率消耗特征的技術(shù)。
4.1 時鐘擾亂
時鐘擾亂技術(shù)是指針對密碼芯片時鐘頻率的隨機變化,來對功耗進(jìn)行擾亂的方法,為了得到更明顯的功耗統(tǒng)計特征,應(yīng)該保證所有功耗曲線的任意時間點,與其上面所進(jìn)行的操作保持一致。針對這個特點,時鐘擾亂技術(shù)使得功耗曲線各時間點上所發(fā)生的操作,無法實現(xiàn)真正的對準(zhǔn),故而差分統(tǒng)計特征無法凸顯出來。時鐘擾技術(shù)有兩種實現(xiàn)方式:一種是時鐘頻率將被每個時鐘周期來改變;另一種是隨機地抹去多個等長的時鐘周期中的一些時鐘周期。這兩種方式都將借助隨機數(shù)產(chǎn)生器。
時鐘擾亂技術(shù)的優(yōu)點是,既會降低密碼芯片的功耗,又會帶來功耗的安全性。而時鐘擾亂技術(shù)的不足之處是,在各種應(yīng)用實現(xiàn)中,時鐘加擾通常會帶來少量的時間損耗,從而會影響資源有限的密碼芯片的運算性能。
4.2 降低信號
其實,構(gòu)建一個對于所有操作和所有操作數(shù)均具有同樣功率消耗的設(shè)備并不困難。但是,當(dāng)著眼于該任務(wù)的更多細(xì)節(jié)時,就會發(fā)現(xiàn)這并非想象中的那么簡單。DPA攻擊基于大量的功率曲線,所以這種攻擊能夠利用到功率曲線中非常微小的差異。
降低信號可以通過雙軌CMOS電路,采用漢明擴展編碼來實現(xiàn)邏輯互補電路,從而實現(xiàn)充放電負(fù)載的等效電容總相等。所以,這種防御措施需要以犧牲一定的功耗和硬件實現(xiàn)為代價。提出的做法是在對安全算法電路的反標(biāo)網(wǎng)表進(jìn)行動態(tài)功耗模擬的形式,在VLSI所采用的標(biāo)準(zhǔn)單元庫中,將原標(biāo)準(zhǔn)單元替換為互補電路,并進(jìn)行功耗安全性評估與設(shè)計改進(jìn),從而明顯地降低芯片投片后的安全風(fēng)險。
在現(xiàn)實中,實現(xiàn)這些隱藏對策的途徑多種多樣。但是到目前為止,只有少量的文獻(xiàn)介紹隱藏技術(shù)的具體實現(xiàn),并且更少有文獻(xiàn)介紹隱藏技術(shù)的算法與硬件設(shè)計規(guī)范??磥黼[藏技術(shù)在工業(yè)界的流行程度,要遠(yuǎn)遠(yuǎn)地高于學(xué)術(shù)界。
5 結(jié)束語
本文從算法設(shè)計規(guī)范和硬件設(shè)計規(guī)范兩個維度,制定了一套密碼算法的安全設(shè)計規(guī)范。這種設(shè)計規(guī)范的實施,可以提高密碼芯片領(lǐng)域的理論和工程實踐水平,讓更多的集成電路企業(yè)能夠意識到密碼芯片算法和硬件設(shè)計規(guī)范的理論基礎(chǔ),研發(fā)出具有真正意義上安全的密碼集成電路芯片,以提升集成電路產(chǎn)業(yè)的整體實力,從而更好地的保證互聯(lián)網(wǎng)的安全。
基金項目:
1.廣東省自然科學(xué)基金項目(項目編號:2018A030313746 / 2018A0303130055 / 2018A030310664);
2.深圳市基礎(chǔ)研究項目(項目編號:JCYJ20170817114239348)。
參考文獻(xiàn)
[1] P.C. Kocher, J. Jaffe and B. Jun. Differential power analysis [J].19th Annual International Cryptology Conference-crypto99, Lncs, Springer-Verlag Berlin Heidelberg, 1999, 388-397.
[2] J.J. Quisquater and D. Samyde. Simple Electromagnetic analysis for Smart Cards: New Results [C].Rump session talk at Cyrpto 2000.
[3] T.S. Messerges. Securing the AES Finalists Against Power Analysis Attacks [J]. Proceedings of Fast Software Encryption Workshop 2000, LNCS, Springer-Verlag Berlin Heidelberg, 2001, 150-164.
[4] T.S. Messerges. Using Second-order Power Analysis to Attack DPA Resistant Software [J]. Proceedings of Cryptographic Hardware and Embedded System (CHES 2000), LNCS, Springer-Verlag Berlin Heidelberg, 2000, 238-251.
[5] S. Chari, J.R. Rao, P. Rohatgi. Template Attacks [J]. Proceedings of Cryptographic Hardware and Embedded System (Ches 2002), LNCS, Springer-Verlag Berlin Heidelberg, 2003, 13–28.
[6] K. Tiri, I. Verbauwhede. Securing Algorithms against DPA at the Logic Level: Next Generation Smart Card Technology [J]. Proceedings of Ches 2004, LNCS, Springer-Verlag, 2004, 125-136.
[7] S. Moore, R. Anderson, P. Cunningham, R. Mullins, and G. Taylor. Improving smart card security using self-timed circuits [C].Eighth IEEE International Symposium on Advanced Research in Asynchronous Circuits and Systems, 2002.
[8] M.L. Akkar and C. Giraud. An Implementation of DES and AES, Secure against Some Attacks [J]. Proceedings of Ches 2001, LNCS, Springer-verlag, 2001, 309-318.
[9] 李子臣,孫亞飛,楊亞濤,梁斕,湯永利.一種抗側(cè)信道攻擊的隨機功耗方法[J].計算機應(yīng)用與軟件,2018,35(03):299-303.
[10] 李子臣,孫亞飛,楊亞濤,梁斕,曹廣燦.一種改進(jìn)的R-LWE同態(tài)掩碼方案[J].計算機應(yīng)用研究,2019,36(01):243-245.
[11] M.K. Lee, J.E. Song, D. Choi, D.G. Han. Countermeasures against power analysis attacks for the NTRU public Key cryptosystem [J]. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 2010.
[12] E. Prouff, T. Roche. Higher-order Glitches Free Implementation of the AES Using Secure Multi-party Computation Protocols [J]. Proceedings of Ches 2011, Lncs, Springer-Verlag, 2011.
[13] P. Weibo, P William, A. Marnane. Correlation Power Analysis Attack against Tate Pairing on FPGA [C]. ARC 2011.
[14] R. Velegalati, J.P. Kaps. Improving Security of SDDL Designs through Interleaved Placement on Xilinx FPGAs [C]. International Conference on Field Programmable Logic and Applications, 2011.
[15] C.Y. Lu, S.M. Jen, C.S. Laih. A General Framework of Side-channel Atomicity for Elliptic Curve Scalar Multiplication [J]. IEEE Transactions on Computers, 62(3), 2015, 428–438.
[16] K. Wu. Flexible Parallel Computing for Elliptic Curve Scalar Multiplication with Resistance against Simple Side-Channel Attacks [J]. Journal of Computers (Taiwan), Vol. 28, No. 6, December, 2017, 64-78.
[17] M. Tang, Z. Qiu, Z. Guo, etal. A Generic Table Recomputation-based Higher-order Masking [J]. IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems, 2017.
[18] S. Mangard, E. Oswald, T. Popp. Power Analysis Attacks: Revealing the Secrets of Smart Cards[J]. Springer Science Business Media, 2007.