時(shí)爭(zhēng)光,鄭夢(mèng)策,胡紅鋼,俞能海
基于在線計(jì)數(shù)的改進(jìn)快速泄露評(píng)估
時(shí)爭(zhēng)光1,2,鄭夢(mèng)策1,2,胡紅鋼1,2,俞能海1,2
(1. 中國(guó)科學(xué)院電磁空間信息重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230027; 2. 中國(guó)科學(xué)技術(shù)大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,安徽 合肥 230027)
快速泄露評(píng)估(FLA,fast leakage assessment)在2017年被提出,利用“計(jì)數(shù)”的思想極大地提升了計(jì)算效率。首先對(duì)快速泄露評(píng)估的性能進(jìn)行分析,然后提出基于在線計(jì)數(shù)的方法對(duì)評(píng)估流程進(jìn)行改進(jìn),并使用FPGA對(duì)該方法進(jìn)行實(shí)現(xiàn)。根據(jù)實(shí)驗(yàn)結(jié)果對(duì)比,所提方法不僅可以減少評(píng)估中所需要占用的內(nèi)存,而且能夠縮短評(píng)估所用時(shí)間,使評(píng)估效率得到明顯提升。
泄露評(píng)估;在線處理;高效計(jì)算;側(cè)信道防護(hù)
側(cè)信道分析攻擊是目前密碼學(xué)領(lǐng)域一個(gè)比較熱門的課題,它揭示了密碼算法本身的安全性與實(shí)際的安全性之間的差距,即使是理論上安全的密碼算法,在實(shí)際運(yùn)行過(guò)程中也不一定是安全的,它可能會(huì)存在其他形式的安全薄弱點(diǎn),如側(cè)信道信息泄露。側(cè)信道分析技術(shù)始于Kocher等[1]在1999年提出的差分能量分析,他們發(fā)現(xiàn)密碼設(shè)備運(yùn)行過(guò)程中能量消耗與密碼算法的中間值之間存在聯(lián)系,原因是密碼設(shè)備的某些操作在處理“0”和“1”時(shí)會(huì)產(chǎn)生不同的能量消耗,而這些不同可能與密鑰有關(guān)系。因此,攻擊者可以通過(guò)側(cè)信道信息間接獲取到密碼設(shè)備的中間值信息,從而破解出設(shè)備的密鑰。
側(cè)信道分析技術(shù)發(fā)展至今,給密碼設(shè)備的安全性帶來(lái)了極大的威脅,在FIPS 140-3標(biāo)準(zhǔn)草案中已經(jīng)明確要求商用密碼設(shè)備需要能夠抵抗側(cè)信道分析攻擊[2]。出于安全需求,研究者提出了一些防護(hù)措施,最常見的兩種方法是隱藏[3]和掩碼[4],其目的是掩蓋能量消耗的不同或者打破能量消耗與密碼算法中間值之間的聯(lián)系,而如何驗(yàn)證防護(hù)措施的有效性成為一個(gè)新的問(wèn)題。
泄露評(píng)估是檢驗(yàn)密碼設(shè)備測(cè)信道信息泄露和驗(yàn)證防護(hù)措施有效性中最常用的手段。Coron等[5]在2001年首次提出了泄露評(píng)估的概念,其目的是檢驗(yàn)兩組數(shù)據(jù)是否有明顯的不同。目前的主流方法是由密碼學(xué)研究機(jī)構(gòu)在2013年提出的測(cè)試向量泄露評(píng)估(TVLA,test vector leakage assessment)[2],該方法基于檢驗(yàn),它精心選擇輸入數(shù)據(jù)得到兩組能量曲線作為待測(cè)數(shù)據(jù),然后使用檢驗(yàn)對(duì)兩組數(shù)據(jù)進(jìn)行兩組非特定的Fixed-VS.-Random檢驗(yàn)與896組特定的Fixed-VS.-Fixed檢驗(yàn),以判斷這兩組待測(cè)數(shù)據(jù)是否有明顯的不同,TVLA因其標(biāo)準(zhǔn)的評(píng)估流程和對(duì)泄露的敏感性成為廣泛接受的評(píng)估方法。之后,Ding等在文獻(xiàn)[6]中提出了一些檢驗(yàn)的使用建議,可以加速采集過(guò)程并增強(qiáng)對(duì)泄露的檢測(cè)能力。然而,檢驗(yàn)的方法存在一些局限性,它只能在檢測(cè)到泄露時(shí)聲明泄露存在,卻不能在未檢測(cè)到泄露時(shí)聲明泄露不存在,并且統(tǒng)計(jì)值的計(jì)算受到能量曲線條數(shù)等因素的影響。因此,Bache等[7]提出了一種基于置信區(qū)間的評(píng)估方法對(duì)檢驗(yàn)進(jìn)行了擴(kuò)展,并在此基礎(chǔ)上提出了一個(gè)評(píng)估流程的框架[8]。
無(wú)論是檢驗(yàn)還是置信區(qū)間的方法,都需要先得到兩組待檢驗(yàn)數(shù)據(jù)各自的均值和方差。因此,在數(shù)據(jù)量較大時(shí),如何盡可能提升計(jì)算效率成為一個(gè)研究重點(diǎn)。傳統(tǒng)的基于定義的方法計(jì)算均值和方差需要多次遍歷整個(gè)數(shù)據(jù)集合,效率較低[9]。2015年,Schneider等[10]提出了基于增量計(jì)算的方法,該方法只需要遍歷整個(gè)數(shù)據(jù)集合一次便可以迭代地更新數(shù)據(jù)的均值和方差;在2017年,Reparaz等[11]基于計(jì)數(shù)的思想,提出了快速泄露評(píng)估,該方法遍歷一遍數(shù)據(jù)集合,將數(shù)據(jù)處理為計(jì)數(shù)矩陣的形式并存儲(chǔ),之后使用計(jì)數(shù)矩陣可以快速地計(jì)算出均值和方差,比文獻(xiàn)[10]的方法計(jì)算效率高了幾個(gè)量級(jí)。
本文對(duì)快速泄露評(píng)估的性能進(jìn)行了分析,探究影響其性能的因素并給出了相應(yīng)的使用建議;之后基于在線計(jì)數(shù)的思想對(duì)快速泄露評(píng)估進(jìn)行了改進(jìn),并將改進(jìn)前后的評(píng)估方法使用FPGA進(jìn)行了實(shí)現(xiàn);根據(jù)實(shí)驗(yàn)結(jié)果,改進(jìn)后的方法能夠顯著地減少評(píng)估所用的內(nèi)存和時(shí)間,極大地提升評(píng)估效率。
本節(jié)首先對(duì)主要使用的符號(hào)進(jìn)行說(shuō)明,然后對(duì)檢驗(yàn)和快速泄露評(píng)估進(jìn)行簡(jiǎn)要的介紹。
檢驗(yàn)是TVLA中常用的檢驗(yàn)方法,它于2011年在文獻(xiàn)[12]中首次被應(yīng)用于泄露評(píng)估。檢驗(yàn)通過(guò)計(jì)算兩組待檢驗(yàn)數(shù)據(jù)的相似性,來(lái)檢驗(yàn)設(shè)備的同一操作在處理不同數(shù)據(jù)時(shí)消耗的能量是否有明顯的差異。對(duì)于兩組待測(cè)數(shù)據(jù),檢驗(yàn)通常將它們?nèi)∽酝环植甲鳛榱慵僭O(shè),之后通過(guò)計(jì)算得出一個(gè)概率來(lái)檢驗(yàn)是否接受零假設(shè)。
表1 符號(hào)說(shuō)明
基于TVLA的泄露評(píng)估方法通常采用分步的策略來(lái)部署,其流程主要分為以下幾個(gè)階段。
預(yù)處理階段:遍歷原始數(shù)據(jù)矩陣將其轉(zhuǎn)化為對(duì)應(yīng)計(jì)數(shù)矩陣。
計(jì)算階段:基于所得計(jì)數(shù)矩陣計(jì)算各列數(shù)據(jù)的均值和方差,并進(jìn)行檢驗(yàn)。
(2)采樣點(diǎn)的采樣精度,即的大小,因?yàn)橛?jì)數(shù)矩陣的行數(shù)為2,所以采樣精度的增加會(huì)影響到所構(gòu)建的計(jì)數(shù)矩陣的規(guī)模。對(duì)于0來(lái)說(shuō),值的增加會(huì)使集合中的元素個(gè)數(shù)以指數(shù)量級(jí)增長(zhǎng),之后計(jì)算階段需要遍歷的次數(shù)和所用時(shí)間會(huì)隨之增加。
根據(jù)實(shí)驗(yàn)結(jié)果,本節(jié)得到一些結(jié)論,并給出如下使用建議。
③預(yù)處理階段:無(wú)。
考慮到方案實(shí)現(xiàn)需要幾個(gè)核心功能,即數(shù)據(jù)采集、在線處理(即可編程)和數(shù)據(jù)發(fā)送功能,本文選擇了一塊FPGA作為開發(fā)平臺(tái),其型號(hào)為賽靈思Virtex-7XC7VX485T-2FFG1761,簡(jiǎn)稱VC707(如圖1所示),在該FPGA上主要實(shí)現(xiàn)兩種方案采集階段和發(fā)送階段的功能。
圖1 實(shí)驗(yàn)所用VC707FPGA開發(fā)板
Figure 1 The VC707 FPGA board
實(shí)驗(yàn)中所選用的待測(cè)設(shè)備(DUT)為ChipWhisperCW303測(cè)試板,在其上運(yùn)行的是無(wú)防護(hù)的串行AES算法,算法運(yùn)行過(guò)程中測(cè)量板上的電壓變化作為能量曲線。在VC707上有一個(gè)1M采樣率的ADC模塊——XADC,實(shí)驗(yàn)使用專用外部差分模擬輸入信道來(lái)采集能量曲線。在實(shí)驗(yàn)中,XADC被設(shè)置工作在雙端輸入,連續(xù)采樣模式,在每次采樣的轉(zhuǎn)換階段,它會(huì)在狀態(tài)寄存器中產(chǎn)生一個(gè)16 bit的值,其中高12 bit為有效值,為了實(shí)驗(yàn)方便,取其高8 bit作為采樣結(jié)果。在發(fā)送階段,F(xiàn)PGA上的UART模塊將所采集的數(shù)據(jù)發(fā)送到PC上。
根據(jù)兩組實(shí)驗(yàn)結(jié)果,本文分別對(duì)各個(gè)階段的運(yùn)行時(shí)間進(jìn)行單獨(dú)分析。
圖2 在Np= 1 000 時(shí),兩種方案在不同N0下各階段的運(yùn)行時(shí)間
Figure 2 Required time of each stage over0withN= 1 000 in two designs
圖3 在N0= 2 000時(shí),兩種方案在不同Np下各階段的運(yùn)行時(shí)間
Figure 3 Required time of each stage overNwith0= 2 000 in two designs
圖4 兩種方案在不同N0和Np下的總運(yùn)行時(shí)間
Figure 4 Total required time of two designs over0andN
本文首先分析了快速泄露評(píng)估能夠提升評(píng)估效率的原因,之后提出了兩個(gè)影響其性能的因素,分別是計(jì)數(shù)矩陣的變量類型和采樣精度;對(duì)這兩個(gè)因素分別進(jìn)行了分析和實(shí)驗(yàn),并根據(jù)結(jié)果給出了使用建議。
然后,在保留快速泄露評(píng)估特點(diǎn)的基礎(chǔ)上,本文基于在線計(jì)數(shù)思想對(duì)其進(jìn)行了改進(jìn),通過(guò)將預(yù)處理階段的操作加入采集階段的方法,可以在采集階段直接獲得相應(yīng)的計(jì)數(shù)矩陣。這樣不僅可以減少存儲(chǔ)數(shù)據(jù)所需的內(nèi)存,簡(jiǎn)化采集流程,使其適用于可用內(nèi)存有限的評(píng)估場(chǎng)景,而且可以在原始能量曲線條數(shù)較多時(shí)顯著減少評(píng)估所用時(shí)間,提升整個(gè)評(píng)估流程的效率。
雖然在線計(jì)數(shù)帶來(lái)了明顯的提升,但是有一些局限性,因?yàn)樗鎯?chǔ)的是處理后的計(jì)數(shù)矩陣,而非原始的能量曲線,所以該方法在處理階段只適用于使用快速泄露評(píng)估的方法來(lái)處理,且后續(xù)難以進(jìn)一步對(duì)原始數(shù)據(jù)進(jìn)行分析和利用。此外,當(dāng)采集過(guò)程中出現(xiàn)錯(cuò)誤時(shí)該方法不能發(fā)現(xiàn)和處理,因此該方法要求實(shí)驗(yàn)中有良好的采集環(huán)境。
[1] KOCHER P, JAFFE J, JUN B. Differential power analysis[C]//Advances in Cryptology -CRYPTO' 99. 1999: 388-397.
[2] BECKER G, COOPER J, DEMULDER E, et al. Test vector leakage assessment (TVLA) methodology in practice[C]//International Cryptographic Module Conference 2013.
[3] TIRI K, VERBAUWHEDE I. A logic level design methodology for a secure DPA resistant ASIC or FPGA implementation[C]//Proceedings Design, Automation and Test in Europe Conference and Exhibition. 2004, 1: 246-251.
[4] CNUDDE T D, REPARAZ O, BILGIN B, et alMasking AES with d+1 shares in hardware[C]//Cryptographic Hardware and Embedded Systems-CHES. 2016: 194-212.
[5] CORON J S, KOCHER P, NACCACHE D. Statistics and secret leakage[C]//International Conference on Financial Cryptography. 2001: 157-173.
[6] DING A ASimpler, faster, and more robust t-test based leakage detection[C]//Constructive Side-Channel Analysis and Secure Design. 2016: 163-183.
[7] BACHE FConfdent leakage assessment—a side-channel evaluation framework basedon confdence intervals[C]//Design, Automation Test in Europe Conference Exhibition-DATE. 2018. 1117-1122.
[8] BACHEFEvaluation of (power) side-channels in cryptographic implementations[J]. IT-Information Technology, 2019,61(1): 15-28.
[9] CHAN T F, GOLUB G H, LEVEQUE R J. Algorithms for computing the sample variance: analysis and recommendations[J]. American Statistician, 1983, 37(3): 242-247.
[10] SCHNEIDER T, MORADI A. Leakage assessment methodology[C]//Cryptographic Hardware and Embedded Systems – CHES. 2015: 495-513.
[11] REPARAZ O, GIERLICHS B, VERBAUWHEDE I. Fast leakage assessment[C]//Cryptographic Hardware and Embedded Systems(CHES). 2017: 495-513.
[12] GILBERT G, BENJAMIN J, JAFFE J, et alA testing methodology for side-channel resistance validation [C]//NIST Non-Invasive Attack Testing Workshop, 2011.
[13] UG960-7 series FPGA AMS targeted reference design[EB].
Improved fast leakage assessment based on online counting
SHI Zhengguang1,2, ZHENG Mengce1,2, HU Honggang1,2, YU Nenghai1,2
1. Key Laboratory of Electromagnetic Space Information, Chinese Academy of Science, Hefei 230027, China 2. School of Cyber Science, University of Science and Technology of China, Hefei 230027, China
Fast leakage assessment (FLA) was proposed in 2017, which made use of the idea of "counter" and significantly improves the computing efficiency. The performance of FLA was analyzed, an online-counting based method was proposed to improve the evaluation flow, and the method was also validated via FPGA implementation. According to the comparisons of experimental results, the proposed method could not only decrease the required memory but also lower the runtime of the evaluation flow. Hence it can improve the evaluation efficiency significantly.
leakage assessment, online processing, efficient computation, side-channel countermeasures
TP309
A
10.11959/j.issn.2096?109x.2021017
2020?10?22;
2021?01?18
胡紅鋼,hghu2005@ustc.edu.cn
國(guó)家自然科學(xué)基金(61632013, 61972370, 62002335);中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金(WK3480000007)
The National Natural Science Foundation of China (61632013, 61972370, 62002335), Fundamental Research Funds for Central Universities in China (WK3480000007)
時(shí)爭(zhēng)光, 鄭夢(mèng)策, 胡紅鋼, 等. 基于在線計(jì)數(shù)的改進(jìn)快速泄露評(píng)估[J]. 網(wǎng)絡(luò)與信息安全學(xué)報(bào), 2021, 7(2): 141-150.
SHI Z G, ZHENG M C, HU H G, et al. Improved fast leakage assessment based on online counting[J]. Chinese Journal of Network and Information Security, 2021, 7(2): 141-150.
時(shí)爭(zhēng)光(1994? ),男,河南開封人,中國(guó)科學(xué)技術(shù)大學(xué)碩士生,主要研究方向?yàn)槊艽a學(xué)、側(cè)信道分析與泄露評(píng)估。
鄭夢(mèng)策(1990? ),男,浙江寧波人,博士,主要研究方向?yàn)閼?yīng)用密碼學(xué)。
胡紅鋼(1978? ),男,四川彭州人,中國(guó)科學(xué)技術(shù)大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)槊艽a學(xué)、編碼、網(wǎng)絡(luò)安全。
俞能海(1964? ),男,安徽無(wú)為人,中國(guó)科學(xué)技術(shù)大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)槎嗝襟w數(shù)據(jù)處理與分析和數(shù)字內(nèi)容安全。