鄭 震 嚴迎建 劉燕江
(戰(zhàn)略支援部隊信息工程大學 鄭州 450001)
1999年Kocher等人[1]通過收集密碼設(shè)備運行過程中的能量消耗獲取了密碼算法密鑰等信息,該研究催生了新的密碼攻擊形式——側(cè)信道能量分析攻擊。自此之后,經(jīng)過20余年發(fā)展,能量分析攻擊已經(jīng)發(fā)展成為包含差分能量分析(Differential Power Analysis, DPA)、簡單能量分析(Simple Power Analysis, SPA)和相關(guān)能量分析(Correlation Power Analysis, CPA)等多種形式的密碼分析技術(shù),對各類密碼產(chǎn)品的機密性和其中的數(shù)據(jù)完整性構(gòu)成了嚴重的現(xiàn)實威脅[2,3]。為應(yīng)對這些威脅,將針對能量分析攻擊的防護措施整合到密碼產(chǎn)品上已成為必然,因此對能量信息安全性和防護措施有效性的評估已經(jīng)逐漸成為密碼學領(lǐng)域的關(guān)注熱點之一。目前為止,任何評估方法都無法保證檢測出所有類型的能量信息泄漏,抗能量分析攻擊評估實驗的目的是判斷密碼產(chǎn)品或模塊中是否存在能量信息泄漏,或是否能夠提供與所需安全級別相稱的防護能力。一個合格的能量信息泄漏評估方案應(yīng)滿足有效性(評估結(jié)果應(yīng)是可重復(fù)實現(xiàn)的)和簡易性(不應(yīng)消耗過多的評估時間或要求評估人員掌握過于專業(yè)的技能等)兩方面要求[4,5]。
在ANSSI和BSI等機構(gòu)定義的標準[6]中,通過實施能量分析攻擊的方式對待測設(shè)備抗能量分析攻擊的能力進行評估,若攻擊成功,則根據(jù)攻擊所消耗的時間等資源對待測設(shè)備的安全級別進行評定。但是這種基于攻擊的評估策略所需時間成本較大且通用性較差:在密碼產(chǎn)品的使用過程中,任何一種能量分析攻擊方法都可能被用于對其發(fā)起攻擊,因此為確保評估的全面性,應(yīng)盡可能地遍歷更多的能量分析攻擊方法,同時兼顧密碼算法的各個中間值以及各種能量模型。然而,即使只嘗試個別已知的攻擊方法,密碼算法中大量的中間值和可供選擇的不同能量模型仍會使得評估過程相當耗時,且由于保密的能量分析攻擊方法的存在,仍無法保證評估結(jié)果的全面性。當密碼算法被攻破時,也不能保證該攻擊方法即是最有效的攻擊手段,因此難以建立一個客觀的安全級別的標準。同時,基于攻擊的評估策略對評估人員的要求較高,一方面要掌握盡可能多的能量分析攻擊方法,另一方面,實施攻擊時能量模型的選擇很大程度上取決于評估人員的專業(yè)知識和經(jīng)驗,如果因能量模型選擇不當導致攻擊沒有成功,存在安全隱患的設(shè)備就會被誤判為安全[7]。隨著新型能量分析攻擊方法不斷被提出,這種評估策略的實施成本變得越來越大,局限性變得越來越突出。因此,當前評估人員更加傾向于標準化的評估程序,通過實施較為固定的步驟對泄漏情況進行評估。
與其尋找針對特定待測設(shè)備的最佳攻擊方法并以攻破設(shè)備所需的資源消耗量來衡量設(shè)備的安全級別,可以利用假設(shè)檢驗的統(tǒng)計手段,先對待測設(shè)備的泄漏情況作出假設(shè),然后通過分析采集的能耗數(shù)據(jù)的統(tǒng)計特征來決定是否接受該決定。這種策略不必確定如何利用或量化這些泄漏,可用于決策待測設(shè)備是否能夠通過某項安全性測評,但不可用于破獲明文或密鑰等秘密信息?;谶@一思路,Goodwill等人[8]在2011年美國國家標準技術(shù)研究院主辦的研討會上針對AES算法提出了一種評估泄漏的新方法,使用一組預(yù)先指定的輸入明文作為測試向量執(zhí)行加密操作,然后對收集的能耗數(shù)據(jù)執(zhí)行假設(shè)檢驗測試并計算得到置信度,對該置信度的數(shù)值設(shè)置閾值以建立一個明確的失敗/通過標準從而判定是否存在泄漏。Cooper等人[9]對該方法進行了整理并將其命名為測試向量泄漏評估(Test Vector Leakage Assessment, TVLA),TVLA將泄漏評估與不斷發(fā)展的能量分析攻擊技術(shù)分離開來,將復(fù)雜的泄漏檢測問題轉(zhuǎn)化為簡捷的數(shù)理統(tǒng)計步驟,使用固定的統(tǒng)計步驟來捕獲能量信息泄漏。TVLA不需要評估人員掌握過多的密碼算法或能量分析攻擊知識,且可以通過修改測試向量等方法來捕捉能量信息泄漏,并根據(jù)所需的安全要求調(diào)整閾值,具有簡單高效等優(yōu)勢。
目前,TVLA已被廣泛應(yīng)用于對后量子密碼等各類密碼實現(xiàn)的泄漏評估中。Wang等人[10]利用TVLA對ARM Cortex-M4單片機上實現(xiàn)的SABER KEM的解密過程進行了評估,結(jié)果表明該實現(xiàn)中的增量存儲步驟可能導致密鑰信息的泄漏。Saarinen等人[11]討論了TVLA在KEM的硬件實現(xiàn)上的實施并指出,由于后量子密碼的各密鑰對間的緊密聯(lián)系,用固定密鑰和隨機密鑰實施的非特定TVLA的效果不理想,實施TVLA前需對測試向量進行謹慎的選擇。Krausz等人[12]針對后量子密碼提出了一個基于多項式反演的掩碼方案,并通過實施TVLA證明了其有效性。此外,TVLA還被用于其他平臺上不同密碼體制的安全性測評實驗中[13–16]。
本文以TVLA為研究對象,對其研究現(xiàn)狀進行歸納總結(jié)。首先在第2節(jié)對TVLA技術(shù)進行了概述,對TVLA的實現(xiàn)機制進行了介紹,并對特定和非特定兩種TVLA進行了對比分析。然后在第3節(jié)根據(jù)已有文獻中的研究對TVLA的局限性進行了分析和歸納。接著在第4節(jié)對TVLA的研究現(xiàn)狀進行了歸納整理,對現(xiàn)有的各類TVLA的優(yōu)化和替代方法的優(yōu)勢與不足進行了闡述和深入分析,最后在第5節(jié)對本文進行了總結(jié)并對TVLA的發(fā)展前景進行了展望。
在各種能量分析攻擊中,攻擊者嘗試設(shè)計各種數(shù)學公式以捕捉由明文或密鑰的變化等因素造成的能耗數(shù)據(jù)的統(tǒng)計學差異,進而破解密碼算法。因此,設(shè)備能耗中任何的由所處理數(shù)據(jù)變化引起的顯著性的統(tǒng)計學差異都可能會被攻擊者加以利用,故當密碼算法的明文或敏感中間值等操作數(shù)發(fā)生變化時,若設(shè)備的能耗也隨之發(fā)生顯著性變化,即說明能耗中有攻擊者可利用的信息,即存在泄漏。TVLA正是基于這樣的原理,對能量信息泄漏進行評估。
TVLA使用Welch's t檢驗[17]來確定操作數(shù)和密碼設(shè)備能耗間是否存在依賴關(guān)系,Welch's t檢驗是針對不同樣本量和不同方差的student t檢驗的擴展形式。具體地,在實施TVLA時,根據(jù)操作數(shù)將能耗數(shù)據(jù)分為兩組,并通過檢驗兩組能耗數(shù)據(jù)之間的均值差異來判斷是否存在泄漏。檢驗的零假設(shè)是兩組能耗數(shù)據(jù)均值相同(即相應(yīng)的操作數(shù)對設(shè)備能耗沒有影響,不存在泄漏),備擇假設(shè)是兩組能耗數(shù)據(jù)均值不同(即相應(yīng)的操作數(shù)對設(shè)備能耗有影響,存在泄漏)。TVLA的檢驗統(tǒng)計量t值的計算如式(1)
其中, (n0,μ0,) 和(n1,μ1,)分別為兩組能耗數(shù)據(jù)的樣本量、樣本均值和樣本方差。TVLA需要對能量跡中的采樣點逐個實施檢驗,Welch’s t檢驗則用于判斷所采集的能耗數(shù)據(jù)是否提供了足夠的證據(jù)來拒絕零假設(shè),檢驗統(tǒng)計量t出現(xiàn)高正值或負值表明零假設(shè)不正確的置信度較高,任一處采樣點處的t值超出閾值即可判定待測設(shè)備或算法存在能量信息泄漏。
對t值選擇不同的閾值C可以使得t>C或t<–C的概率對應(yīng)于零假設(shè)被拒絕的不同置信度。選擇一個較大的閾值可以使犯假陽性(實際無泄漏卻判定存在泄漏)誤判錯誤的可能性較小,但大閾值會增加犯假陰性(實際有泄漏卻判定不存在泄漏)誤判錯誤的概率,因此為平衡泄漏檢測的需求,同時控制假陽性和假陰性錯誤出現(xiàn)的概率,閾值不能過大也不能過小,TVLA可以實施兩次相互獨立的實驗,只有在兩次實驗中檢驗統(tǒng)計量t在同一方向上均超過閾值(均大于C或均小于–C),才能判定存在泄漏。如果能量跡的某個采樣點處存在能量信息的泄漏,那么在兩次獨立測試實驗中t值均應(yīng)大于C或均小于–C;而如果檢驗統(tǒng)計量t在某采樣點處因噪聲等偶然因素超過了閾值,那么這種偶然情況在另一次獨立實驗中幾乎不可能再次出現(xiàn)。
根據(jù)對能耗數(shù)據(jù)分組依據(jù)的不同,TVLA可分為特定TVLA和非特定TVLA,其中特定TVLA根據(jù)密碼算法中間值進行分組,非特定TVLA根據(jù)輸入明文或密鑰對能耗數(shù)據(jù)進行分組。
特定TVLA選擇密碼算法中間值的某一位或幾位作為分組判定位,根據(jù)判定位的值是否等于檢測前設(shè)置的數(shù)值將能耗數(shù)據(jù)分為兩組。特定TVLA判定位的設(shè)置和DPA等常見的能量分析攻擊的形式較為相似,因此其針對這些常見攻擊形式的測試效果較好。然而,由于可選擇的密碼算法中間值數(shù)目龐大,特定TVLA所需耗費的成本非常大。以AES-128算法為例,在僅考慮圈密鑰加、字節(jié)置換、行移位和列混合4種密碼操作的情況下,在第1輪加密中就可以進行4×128種位測試,4×16×256種字節(jié)測試,或更多種判定位數(shù)為其他值的測試。因此,特定TVLA同基于攻擊的測試方法一樣,難以保證評估的全面性。
根據(jù)輸入明文的不同,非特定TVLA又可分為“固定-固定”和“固定-隨機”兩種,其中前者的兩組輸入明文(密鑰)均為固定值,后者兩組能耗對應(yīng)的輸入明文(密鑰)分別為固定值和隨機值。在“固定-固定”非特定TVLA中,評估人員事先選定兩個固定的測試向量,并以隨機交錯的方式輸入密碼設(shè)備中進行加密,得到兩組能耗數(shù)據(jù)。在“固定-隨機”非特定TVLA中,評估人員事先選定一個固定測試向量,并以隨機交錯的方式依次將該固定和隨機測試向量輸入密碼設(shè)備進行加密,得到兩組能耗數(shù)據(jù)。在非特定TVLA中,選擇不同的輸入向量可能導致非特定TVLA結(jié)果不同,為保證評估結(jié)果的可靠性,應(yīng)選擇不同的測試向量重復(fù)實施TVLA。表1是特定和非特定TVLA的對比情況。
表1 特定和非特定TVLA的對比
TVLA的局限性主要體現(xiàn)在以下方面:
(1) TVLA只考慮了1階原點矩(均值)和單變量(針對能量跡中的單個采樣點)泄漏,其可能對存在高階或多變量泄漏的待測設(shè)備作出“假陰性”誤判[18,19]。
一方面,以2階中心矩(方差)上存在泄漏的情況為例,設(shè)某采樣點能耗X的均值為E (X),方差為D(X), 分布律為P{X=xk}=pk,k=1,2,...,有
由式(2)可知,即使兩個采樣點處能耗數(shù)據(jù)的1階矩相同,其2階矩仍可能存在差異。結(jié)合式(1)分析可知,TVLA檢驗統(tǒng)計量t值的構(gòu)造形式為能耗數(shù)據(jù)的1階矩,因此當兩組能耗數(shù)據(jù)間的統(tǒng)計差異只體現(xiàn)在高階矩上時,TVLA無法探測到存在的泄漏。
另一方面,以信息泄漏以積的形式分散在兩個采樣點上的情況為例,設(shè)對這兩個采樣點實施TVLA得到的能耗分組分別為 (GX1,GX2) 和(GY1,GY2),積運算后對該“組合”采樣點實施TVLA得到的兩個能耗分組為 (G1,G2),則結(jié)合TVLA的分組原理可知
當E(GX1)=E(GX2) 且E(GY1)=E(GY2)時,TVLA會判定不存在泄漏,而實際上泄漏是存在的:由式(3)和式(4)可知,由于 C ov(GX1,GY1)與Cov(GX2,GY2) 不一定相等,仍可能出現(xiàn)E(G1)?=E(G2)。因此當對加掩碼防護措施或?qū)Υ羞\行的軟件密碼產(chǎn)品實施泄漏檢測時,各個共享因子產(chǎn)生泄漏的時刻可能不同,需要利用覆蓋所有共享因子泄漏時刻的組合能耗來確定是否有泄漏,而TVLA只針對單個采樣點的能耗,會導致漏檢。
(2) 根據(jù)TVLA的t值僅能判斷待測設(shè)備是否存在泄漏,而不能進一步解釋泄漏的具體情況或量化能量信息泄漏的多少,對后續(xù)攻防的參考意義有限[20,21]。
完整的TVLA中,求得t值后,還需根據(jù)式(5)—式(7)分別求得自由度v,t分布的概率密度函數(shù)f(t,v) 和 t檢驗中零假設(shè)成立的概率p
綜合分析式(5)—式(7)以及TVLA的完整過程可知,t值和p值是相互對應(yīng)的,t值越大或p值越小僅能表示零假設(shè)成立的概率越小。因此TVLA的結(jié)果并不能用于量化側(cè)信道能量信息泄漏,檢驗統(tǒng)計量t值的大小不能代表能量信息泄漏的多少,其與能量分析攻擊的成功率之間也無確定性關(guān)系。即使TVLA判定待測設(shè)備存在泄漏,能量分析攻擊仍不一定能夠攻破設(shè)備,導致將實際安全的密碼設(shè)備判定為存在泄漏而造成資源浪費。
(3) TVLA對能耗數(shù)據(jù)的信噪比要求較高,噪聲較大時TVLA評估效果會受到顯著影響[18,22]。
密碼設(shè)備的能耗依賴于其中執(zhí)行的密碼操作和處理的操作數(shù),將能耗中的操作依賴分量記為Pop,數(shù)據(jù)依賴分量記為Pda;同時,能耗中不可避免地含有與執(zhí)行的密碼操作和處理的中間值無關(guān)的隨機噪聲Pno,以及由漏電流等產(chǎn)生的常量部分Pco。據(jù)此可用式(8)刻畫密碼設(shè)備的總能耗Pto
TVLA中,評估人員對多條能量跡中相同采樣點處的能耗值進行分析,相同采樣點對應(yīng)的密碼操作相同,故各能耗值中的Pop相等。根據(jù)定義,各能耗值中的Pco同樣相等??芍煌芎闹甸g的差異是由Pda和Pno造成的。Pno較大時會掩蓋Pda中存在的統(tǒng)計差異導致漏檢,因此實施TVLA前需進行對齊和降噪等預(yù)處理步驟。
(4) TVLA只關(guān)注了在能量跡的單個采樣點處能耗值和設(shè)備中操作數(shù)的依賴關(guān)系,這導致TVLA整體犯誤判錯誤的概率隨能量跡中采樣點數(shù)量的增加而變大[23,24]。
設(shè)能量跡中采樣點數(shù)量為l,單次t檢驗犯假陽性誤判錯誤的概率為α,則一次完整的TVLA犯假陽性誤判錯誤的概率為1 -(1-α)l,犯假陰性誤判錯誤的情況同理。因此采樣點數(shù)量l越大,TVLA犯誤判錯誤的概率越大。當能量跡中的采樣點數(shù)量非常龐大時,TVLA很難避免犯誤判錯誤。
(5) TVLA僅將能耗數(shù)據(jù)分為兩組,只能發(fā)現(xiàn)這兩個能耗分組之間表現(xiàn)出的統(tǒng)計差異性,而無法檢測到能耗數(shù)據(jù)更一般的分布差異,導致泄漏可能被隱藏在其中的一個分組中[19,24]。
在TVLA中選擇不同的輸入測試向量時,能耗數(shù)據(jù)的分組情況不同,當所選測試向量不正確時,存在差異的能耗數(shù)據(jù)可能被分至同一分組中,導致存在的統(tǒng)計差異被隱藏。
本節(jié)根據(jù)第2節(jié)所歸納的TVLA的各項局限性,對已有具代表性的各類TVLA的改進方法進行介紹和分析。
(1) 針對TVLA對高階多變量的泄漏檢測效果不佳的問題
文獻[25]提出一種基于Hotelling’s T2檢驗的泄漏檢測方法,Hotelling’s T2檢驗本質(zhì)上是t檢驗由單變量向多變量的擴展形式,利用其代替Welch’s t檢驗,能夠顯著提高泄漏信號分散在多個能量跡采樣點時的泄漏檢測率。然而由于需要對能耗數(shù)據(jù)的協(xié)方差矩陣進行求逆運算,Hotelling’s T2檢驗的計算復(fù)雜度隨能量跡中采樣點數(shù)量的增加呈指數(shù)增長,當能量跡中的采樣點數(shù)量非常大時,Hotelling’s T2檢驗在計算上可能具有不可實現(xiàn)性。因此該文中又對Hotelling’s T2檢驗進一步改進,提出對角檢驗以提升檢測效率,對角檢驗的計算復(fù)雜度隨采樣點數(shù)量的增加呈線性增長,但其對多變量泄漏的檢測性能低于Hotelling’s T2檢驗。
文獻[26]通過增量算法將泄漏檢測的統(tǒng)計矩由1階擴展到了任意階,由單變量擴展到了任意變量,使TVLA可以檢測任意變量和任意階的泄漏。增量算法使得泄漏檢測過程能夠同時進行能耗數(shù)據(jù)的采集和檢驗統(tǒng)計量的計算,當檢驗統(tǒng)計量超過閾值時即可終止整個評估過程,因此可以提升泄漏檢測的效率,并減小評估所需成本。
文獻[27]針對兩組能耗數(shù)據(jù)在1階矩上統(tǒng)計差異較小時TVLA存在漏檢的問題,提出對兩組能耗數(shù)據(jù)的1階原點矩均值與2階中心矩方差進行綜合差異評估,當能耗數(shù)據(jù)均值間的差異大于方差間的差異時實施多分類F檢驗,當樣本均值間的差異小于方差間的差異時實施Bartlett檢驗。由于一般的能量信息泄漏主要分布在能耗數(shù)據(jù)的低階矩上,因此該方案能夠有效控制TVLA犯假陰性誤判錯誤的概率。
文獻[28]提出一種基于KS檢驗的泄漏檢測方法。該文證明了KS檢驗可作為一種基于信息論的泄漏檢測工具對任意變量的泄漏進行檢測,并提出了基于直方圖的快速實現(xiàn)方法提升了KS檢驗的效率。與TVLA的對比實驗結(jié)果顯示,當實驗參數(shù)等設(shè)置不同時,KS檢驗的魯棒性明顯強于TVLA。該文指出,KS檢驗可作為TVLA的補充方案對泄漏進行檢測。
此外,文獻[29]提出一種基于統(tǒng)計直方圖的泄漏檢測方法,該方法僅需在初始化時訪問能耗數(shù)據(jù)集,對每個能量跡采樣點建立各能耗分組的直方圖,并在檢測過程中不斷對直方圖進行更新。由于直方圖攜帶了大量能耗分布的信息,因此該方法可直接對任意階的統(tǒng)計矩和檢驗統(tǒng)計量等參數(shù)進行統(tǒng)計。由于無需重復(fù)訪問整個能耗數(shù)據(jù)集,該方法能夠有效提升泄漏檢測過程中數(shù)據(jù)統(tǒng)計的效率。
(2) 針對檢驗統(tǒng)計量t值的參考意義有限的問題
文獻[30]推導并證明了TVLA和能耗數(shù)據(jù)信噪比之間的等價關(guān)系,并參考文獻[31]中的成果,用TVLA的結(jié)果估計了能量分析攻擊成功率的理論界限,從而建立了TVLA結(jié)果、信噪比和能量分析攻擊成功率之間的聯(lián)系。由此,由TVLA結(jié)果即可得到相應(yīng)的能量分析攻擊的成功率。實驗結(jié)果表明,這種端到端方法的預(yù)測結(jié)果與實際攻擊結(jié)果能較好地吻合。
文獻[32]將泄漏檢測過程轉(zhuǎn)換為建立一個依賴于密鑰的回歸模型的過程,當該模型能夠?qū)Υ蟛糠值哪芎臄?shù)據(jù)作出解釋時,說明能耗數(shù)據(jù)和密鑰間存在依賴關(guān)系,此時應(yīng)判定存在泄漏。同時,根據(jù)回歸模型的具體情況即可量化泄漏的可利用性,并構(gòu)造出攻擊向量。該方法將泄漏檢測的結(jié)果與密鑰聯(lián)系了起來,可以回答TVLA所檢測出的泄漏是否可以利用的問題。
(3) 針對TVLA對能耗數(shù)據(jù)的信噪比依賴性較強,需進行降噪和對齊等預(yù)處理的問題
通過時域頻域結(jié)合分析的方法能夠減小能量跡在時域上未對齊對TVLA的影響,基于該原理,文獻[22]提出先通過快速傅里葉變換將采集到的能耗數(shù)據(jù)從時域變換到頻域進行頻譜分析;然后對頻譜的每個頻率分量實施t檢驗評估是否存在泄漏。文獻[33]指出,能耗中存在信息泄漏的部分是由設(shè)備所處理的數(shù)據(jù)和運行的密碼操作引起的,而噪聲部分是由環(huán)境和元器件間的相互影響等不確定因素引起的,因此將能耗信息由時域轉(zhuǎn)換至頻域時,泄漏分量和噪聲分量分布在不同的頻率分量上。據(jù)此,該文提出了多源時頻融合信息泄漏檢測方案,綜合利用多個信道的時域信息及頻域信息對泄漏進行檢測。該方案無需對能耗數(shù)據(jù)進行對齊和降噪等預(yù)處理,可以提高泄漏檢測效率,同時有利于發(fā)現(xiàn)單信道檢測中的漏檢。
文獻[34]提出一種基于配對的t檢驗方案,對密碼算法相鄰的兩次加密進行配對,由于實際中執(zhí)行1次加密的時間非常短,可以近似地認為相鄰的兩次加密是在相同的外界環(huán)境下進行的,因此在配對時做差即可減小環(huán)境噪聲對能耗的影響,進一步得到更加穩(wěn)定的檢驗統(tǒng)計量,從而提高泄漏檢測的準確性。文獻[35]對配對t檢驗方案進行了優(yōu)化研究,該文指出,文獻[34]中的方法沒有考慮到配對的能量跡組間采樣點的相關(guān)性對配對t檢驗的影響,當兩者間呈負相關(guān)關(guān)系時采取配對的方法不僅會導致檢測效率下降,還可能導致犯誤判錯誤。因此,應(yīng)該先對該相關(guān)系數(shù)進行判斷,當其大于0時方可實施配對t檢驗,否則只能實施Welch’s t檢驗。
文獻[36]提出將深度學習技術(shù)應(yīng)用于泄漏評估中,通過有監(jiān)督學習的方法用訓練集構(gòu)造出一個卷積神經(jīng)網(wǎng)絡(luò),并將其作為待測數(shù)據(jù)集的區(qū)分器。當該區(qū)分器對待測能耗數(shù)據(jù)進行分組的正確率和隨機地對待測能耗數(shù)據(jù)分組的正確率存在顯著性區(qū)別時,說明訓練過程獲取了能量信息,故應(yīng)判定存在泄漏。深度學習中卷積神經(jīng)網(wǎng)絡(luò)的特點使得評估人員不必考慮能量跡是否對齊和泄漏的統(tǒng)計矩階數(shù)等問題,且涵蓋了多變量的泄漏情形,大大簡化了泄漏檢測的預(yù)處理步驟。但深度學習檢測方法由于需要對神經(jīng)網(wǎng)絡(luò)進行訓練,所需時間成本較大,訓練過程中參數(shù)的設(shè)置對最終的泄漏檢測效果影響較大,并且存在概率適應(yīng)性和過擬合等問題。
(4) 針對TVLA犯誤判錯誤的概率隨能量跡中采樣點數(shù)量增加而增大的問題
文獻[37]中實施了一個“隨機-隨機”的TVLA實驗,實驗過程中將同一明文總體中的全部明文隨機地分成兩組并據(jù)此對采集的能耗數(shù)據(jù)進行分組,因此t檢驗的零假設(shè)是正確的。在能量跡中設(shè)置5×106萬個采樣點,多次重復(fù)迭代實施TVLA,得到的最大的t值的絕對值為5.608 8??紤]到該實驗中采樣點數(shù)量過大,該文提出將t值的閾值設(shè)置為5。但這種通過設(shè)置檢驗統(tǒng)計量閾值來控制誤判錯誤的方法具有一定的片面性,大閾值會導致假陰性錯誤的概率增加,反之,小閾值會導致假陽性錯誤的概率增加。
文獻[38]提出一種基于HC(Higher Criticism)檢驗的TVLA方案,對TVLA得到的各采樣點處的p值實施HC檢驗,通過比較p值在無泄漏情況下預(yù)期的分布和實際檢驗得到的p值的分布之間的差異對泄漏情況進行判斷,當該差異較為顯著時即可判定存在泄漏。該方法綜合利用能量跡中全部采樣點處的能耗數(shù)據(jù)的統(tǒng)計特征,而非僅根據(jù)單個采樣點的t值判定泄漏情況,能夠有效控制TVLA犯誤判錯誤的概率。
(5) 針對能量信息泄漏可能被隱藏在能耗數(shù)據(jù)的某個分組中的問題
文獻[39]提出用卡方檢驗結(jié)合TVLA進行泄漏檢測,卡方檢驗將泄漏檢測自然而然地擴展到了多個能耗分組上,有效控制了因分組數(shù)過小造成的假陰性誤判錯誤。同時卡方檢驗可以捕獲多個統(tǒng)計矩中的泄漏,而非只關(guān)注某一個統(tǒng)計矩。然而,實驗結(jié)果顯示,當信噪比較低時,t檢驗的效果優(yōu)于卡方檢驗的效果,因此該文提出卡方檢驗可以和TVLA技術(shù)結(jié)合使用以提高評估的準確性。
上述各TVLA改進方法的簡要情況如表2。
表2 TVLA改進方法匯總表
側(cè)信道能量分析攻擊以其通用性強、計算成本低和成功率高等優(yōu)點,目前已被廣泛應(yīng)用于對密碼算法的破解中,各類密碼產(chǎn)品面臨著嚴峻的安全性挑戰(zhàn)。因此,對密碼產(chǎn)品的抗側(cè)信道能量分析攻擊能力進行評估已經(jīng)成為密碼設(shè)計過程中不可或缺的環(huán)節(jié),該評估用于判斷是否存在能量信息的泄漏,也可以對施加的防護措施的安全等級進行評定。評估可以通過實施攻擊的方式來實現(xiàn),也可通過統(tǒng)計測試的方式實現(xiàn),由于具體攻擊方法的種類繁多,攻擊型評估難以保證全面性,因此統(tǒng)計測試方法已成為主流的評估形式。TVLA是目前為止最為常見的一種統(tǒng)計測試型評估方法,本文首先對TVLA的原理進行了分析,對其實現(xiàn)過程進行了介紹,然后對特定和非特定兩種TVLA的優(yōu)點和缺點分別進行了歸納和對比,接著根據(jù)目前已有研究中的觀點對TVLA的局限性進行了剖析和分類,針對這些不同方面的局限,對各TVLA改進方法的優(yōu)缺點分別進行了分析。
后期,TVLA可能向以下方向和領(lǐng)域發(fā)展延伸:
(1)更加廣泛地用于對后量子密碼算法的安全性進行評估。鑒于量子攻擊的巨大潛在威脅,發(fā)展后量子密碼體制機制的需求已十分迫切,TVLA可用于對后量子密碼算法及其實現(xiàn)過程中的安全性進行評估。
(2)基于深度學習技術(shù)的TVLA不斷發(fā)展,實現(xiàn)準確性更高,耗時更短的評估。泄漏檢測的本質(zhì)在于分類,深度學習技術(shù)一經(jīng)提出就成為分類器的一個很好的選擇。深度學習效果的好壞主要取決于神經(jīng)網(wǎng)絡(luò)的訓練效果,而目前神經(jīng)網(wǎng)絡(luò)的訓練過程迭代次數(shù)較多,所引入的參數(shù)較復(fù)雜,仍有對其進行優(yōu)化的必要。
(3)與人工智能技術(shù)結(jié)合實現(xiàn)智能化泄漏評估。近年來人工智能技術(shù)的迅猛發(fā)展催化了包括密碼學在內(nèi)的各學術(shù)領(lǐng)域的深刻變革,將人工智能技術(shù)應(yīng)用于密碼產(chǎn)品的安全性評估中已是可以預(yù)見的發(fā)展趨勢。