(北京銀聯(lián)金卡科技有限公司,北京 100041)
自2011年NIST召開的NIAT(Non-Invasive Attack Testing Workshop)研討會(huì)確定以Welch t檢驗(yàn)為基礎(chǔ)的TVLA(Test Vector Leakage Assessment)[1]檢測(cè)方法作為通用的檢測(cè)手段之后,學(xué)術(shù)界涌現(xiàn)出了多種檢驗(yàn)方法。2013年的連續(xù)互信息方法CMI(continuous mutual information)[2],離散互信息方法DMI(discrete mutual information)[3]。2013年,學(xué)術(shù)界對(duì)以上3種方法做了全面的評(píng)估,得出結(jié)論是基于Welch t檢驗(yàn)的方法由于其簡(jiǎn)單運(yùn)算快捷,所以在這3種方法中表現(xiàn)最好。2014年有學(xué)者提出基于標(biāo)準(zhǔn)類間方差的NICV(Normalized Inter-Class Variance)檢測(cè)方法[4]。最新的研究提出使用卡方檢驗(yàn)的方法可以用于側(cè)信道泄漏檢測(cè),并且具有更高的效率。本節(jié)主要介紹基于Welch t檢驗(yàn)和卡方檢驗(yàn)的兩種泄漏認(rèn)證方法。
假如兩個(gè)樣本集是Q0和Q1,樣本量分別是n0和n1,樣本均值分別是μ0和μ1,方差分別是Welch t檢驗(yàn)用于判斷兩個(gè)樣本總體的期望是否相等。在Welch t檢驗(yàn)中,零假設(shè)和備用假設(shè)分別是:
拒絕或者接受H0假設(shè)是由統(tǒng)計(jì)量t和自由度v決定,根據(jù)自由度,t分布的概率密度函數(shù)可以被刻畫出來,如下式:
其中,Γ(.) 是伽瑪函數(shù)(Gamma Function),對(duì)上面的概率密度函數(shù)積分可以得到概率p,
或者通過累加的方法得到p,
其中2F1(.,.;.;.)是超幾何函數(shù),p的值可以由如下給出:
通常而言,當(dāng)|t|>4.5時(shí),自由度v>1000(這個(gè)條件通常能滿足),p=2F(-4.5,v>1000)<0.00001,導(dǎo)致t檢驗(yàn)以大于0.999 99的概率拒絕零假設(shè)。所以通??梢砸揽縯值判斷零假設(shè)是否被拒絕。
在實(shí)際的泄漏評(píng)估當(dāng)中,將采集的信號(hào)分成兩個(gè)組,然后利用Welch t檢驗(yàn)檢測(cè)這兩個(gè)組的期望是否一致,以判斷是否存在泄漏。這種方法實(shí)際上是與最早的差分能量分析(CPA)的思想一致。
卡方檢驗(yàn)可以用于檢測(cè)多個(gè)樣本總體是否來自同一個(gè)分布,與Welch t檢驗(yàn)通過均值計(jì)算統(tǒng)計(jì)值t不同,卡方檢驗(yàn)通過分析直方圖計(jì)算統(tǒng)計(jì)值。
假設(shè)有r類樣本,每類樣本有c組數(shù)據(jù),第i類樣本的第j組數(shù)據(jù)的發(fā)生的次數(shù)是F i,j,這樣總的樣本個(gè)數(shù)N是卡方檢驗(yàn)的統(tǒng)計(jì)值x和自由度v計(jì)算方法如下:
在卡方檢驗(yàn)中,接受假設(shè)的概率由下式給出:
在實(shí)際檢測(cè)中,可以將采集的信號(hào)分成多個(gè)類,每個(gè)類的數(shù)據(jù)也可以分成多個(gè)組。由于信號(hào)是由示波器采集到的,根據(jù)示波器的精度,每個(gè)類的數(shù)據(jù)可以分成的組個(gè)數(shù)是固定的(例如8比特精度的示波器有256種可能)。然后,利用卡方檢驗(yàn)檢測(cè)這些不同類的數(shù)據(jù),以評(píng)估他們是否來自同一個(gè)分布(確定是否有泄漏)??ǚ綑z驗(yàn)評(píng)估泄漏的思想與目前側(cè)信道分析中相關(guān)性系數(shù)分析(CPA)的思想一致。
本節(jié)針對(duì)目前國內(nèi)常用密碼算法SM4的實(shí)現(xiàn)進(jìn)行分析,評(píng)估其運(yùn)行過程中的側(cè)信道泄漏信號(hào)是否存在攻擊的可能。
SM4算法是一個(gè)分組算法,其分組長(zhǎng)度為128比特,密鑰長(zhǎng)度為128比特。加密算法與密鑰擴(kuò)展算法都采用32輪非線性迭代結(jié)構(gòu)。實(shí)驗(yàn)數(shù)據(jù)是通過Riscure的Power Tracer給一張嵌入了SM4算法的智能卡下發(fā)加密指令,并隨機(jī)加密100萬條明文,使用Lecroy示波器對(duì)加密過程采集能量消耗數(shù)據(jù)。
本小節(jié)將利用Welch t檢驗(yàn)對(duì)泄漏進(jìn)行評(píng)估分析。首先對(duì)第一輪的第一個(gè)S盒輸出的第一比特作為中間值進(jìn)行分析。對(duì)100萬條數(shù)據(jù)做完分析后得到的結(jié)果可以看出利用T檢驗(yàn)對(duì)SM4單比特做評(píng)估時(shí),得到的t統(tǒng)計(jì)量在所有的待評(píng)估點(diǎn)中沒有出現(xiàn)絕對(duì)值大于4.5的情況,但是已經(jīng)出現(xiàn)了若干尖峰,所以其實(shí)可以大致判定該卡存在泄漏。
其次,利用S盒輸出的漢明重量作為中間值(大于4和小于等于4)將原始100萬數(shù)據(jù)分為兩類進(jìn)行評(píng)估,從評(píng)估結(jié)果可以看出利用了S盒輸出的8個(gè)比特位,所以得到的區(qū)分度比單比特模型的結(jié)果要明顯。
最后,利用聚類模型進(jìn)行泄漏分析。由于是刻畫模型,所以先對(duì)數(shù)據(jù)進(jìn)行刻畫。利用相關(guān)性系數(shù)選擇與S盒輸出相關(guān)的200個(gè)特征點(diǎn)。再對(duì)10萬條曲線其中每條曲線只有這200個(gè)點(diǎn)的數(shù)據(jù)進(jìn)行主成分分析降維,對(duì)降維后的數(shù)據(jù)進(jìn)行K-means聚類聚成2類,這樣就得到了256到2的映射關(guān)系。利用該模型,對(duì)100萬條數(shù)據(jù)進(jìn)行泄漏評(píng)估得到的結(jié)果從幅值上看,基于聚類模型的T檢驗(yàn)是基于比特模型和漢明重量模型的T檢驗(yàn)的2倍。說明此時(shí)基于聚類的模型更加有效。
本小節(jié)將利用卡方檢驗(yàn)對(duì)泄漏數(shù)據(jù)進(jìn)行進(jìn)一步的評(píng)估,用到的模型是漢明重量模型和聚類模型。對(duì)100萬條數(shù)據(jù)用基于漢明重量模型進(jìn)行卡方檢驗(yàn),其結(jié)果可以看到,經(jīng)過卡方檢驗(yàn),明顯出現(xiàn)尖峰,雖然沒有計(jì)算拒絕空假設(shè)的置信水平,但是此時(shí)可以判斷在這些點(diǎn)存在泄漏。而且,隨著數(shù)據(jù)量的增大,幅值也逐漸增大,表明這種芯片在一定數(shù)據(jù)量后是可以被破解密鑰的。為了驗(yàn)證尖峰處代表泄漏特征點(diǎn),本小節(jié)對(duì)第二個(gè)S盒利用相同的方式進(jìn)行評(píng)估,其結(jié)果可以看出,尖峰的位置隨著S盒在移動(dòng),說明此處確實(shí)是泄漏點(diǎn),后文將繼續(xù)對(duì)這個(gè)區(qū)間做實(shí)際的側(cè)信道分析。
下一步,利用聚類模型對(duì)數(shù)據(jù)進(jìn)行泄漏評(píng)估。由于漢明重量模型實(shí)際上是分為9類的模型,所以為了與之不同,本節(jié)的聚類模型將設(shè)置成7類和10類。與漢明重量情況類似,使用100萬進(jìn)行分析實(shí)驗(yàn)。從實(shí)驗(yàn)結(jié)果可以看到,雖然統(tǒng)計(jì)值沒有基于漢明重量的大,但是隨著數(shù)據(jù)量增大,卡方統(tǒng)計(jì)值的幅值也隨之增大,說明基于聚類模型的檢驗(yàn)也是穩(wěn)健的。此處,智能卡的泄漏模型與漢明重量模型接近,所以基于此模型的檢驗(yàn)效果比其他模型高。而在一些無法用漢明重量刻畫模型的芯片泄漏檢驗(yàn)中,聚類模型具有更大的優(yōu)勢(shì)。
最后,由于本小節(jié)的結(jié)果中可以看到明顯的尖峰,所以選擇尖峰處為分析的特征點(diǎn)以減小側(cè)信道分析的復(fù)雜度。對(duì)這些點(diǎn)進(jìn)行相關(guān)性系數(shù)分析(10萬條曲線),得到的相分析結(jié)果關(guān)性系數(shù)說明正確密鑰已被恢復(fù),從而驗(yàn)證了前述泄漏評(píng)估方案的有效性。
本文提出的檢測(cè)項(xiàng)對(duì)SM4可以做全面的泄漏評(píng)估,實(shí)驗(yàn)分析也驗(yàn)證了該點(diǎn)。但是在時(shí)間效率上有點(diǎn)不足,下一步將在實(shí)際檢驗(yàn)中發(fā)現(xiàn)冗余檢測(cè)項(xiàng)進(jìn)一步優(yōu)化SM4泄漏評(píng)估過程。實(shí)驗(yàn)結(jié)果表明本文設(shè)計(jì)的檢驗(yàn)項(xiàng)可以為SM4做全面的泄漏評(píng)估,并且檢驗(yàn)的結(jié)果可以為側(cè)信道分析的特征點(diǎn)的選擇提供參考,提高側(cè)信道分析的效率。