摘要:隨著量子計(jì)算的進(jìn)步,傳統(tǒng)公鑰密碼體系(如RSA、ECC)面臨被量子計(jì)算機(jī)破解的風(fēng)險(xiǎn)。為此,NIST自2016年起啟動(dòng)了抗量子密碼算法(PQC)的標(biāo)準(zhǔn)制定工作,并于2022年選擇了CRYSTALS-Kyber作為公鑰加密密鑰封裝機(jī)制(KEM)之一。盡管Kyber在理論上具有很高的安全性,但實(shí)際應(yīng)用中仍需防范側(cè)信道攻擊。據(jù)此,研究了Kyber算法的掩碼防護(hù)方案實(shí)現(xiàn)及其性能分析。首先,介紹了Kyber算法的基本原理和其在NIST標(biāo)準(zhǔn)化過(guò)程中的重要性。接著,詳細(xì)探討了如何將掩碼技術(shù)應(yīng)用于Kyber算法的關(guān)鍵步驟,以提高其抗側(cè)信道攻擊的能力,并通過(guò)實(shí)驗(yàn)評(píng)估,對(duì)比了掩碼方案與未使用掩碼的Kyber算法在抗側(cè)信道攻擊方面的性能差異。最后,總結(jié)了Kyber掩碼方案的優(yōu)勢(shì)與局限,并提出了未來(lái)的研究方向,強(qiáng)調(diào)了掩碼技術(shù)在提高Kyber密碼體制下的抗側(cè)信道攻擊安全性方面的重要作用,以及進(jìn)一步優(yōu)化掩碼方案以適應(yīng)更多硬件環(huán)境的需求。
關(guān)鍵詞:密碼學(xué);Kyber;抗側(cè)信道攻擊;掩碼算法
中圖分類(lèi)號(hào):TN918.91 收稿日期:2024-07-15
DOI:10.19999/j.cnki.1004-0226.2024.10.013
1 前言
隨著量子計(jì)算技術(shù)的快速發(fā)展,現(xiàn)有的基于數(shù)學(xué)難題的公鑰密碼系統(tǒng),如RSA和橢圓曲線密碼系統(tǒng)等,都面臨著被量子計(jì)算機(jī)破解的潛在風(fēng)險(xiǎn)。因此,開(kāi)發(fā)一種能夠抵抗量子計(jì)算攻擊的后量子密碼學(xué)算法成為了一個(gè)緊迫的現(xiàn)實(shí)任務(wù)。Kyber算法作為一種基于模容錯(cuò)學(xué)習(xí)問(wèn)題(Module Learning with Errors,MLWE)的后量子密鑰封裝機(jī)制[1],因其高效性和安全性已被NIST選為后量子密碼標(biāo)準(zhǔn)化算法的最終候選者[2]。
然而,除了量子計(jì)算的威脅,側(cè)信道攻擊也是密碼系統(tǒng)安全的重要考量因素。側(cè)信道攻擊通過(guò)分析密碼算法執(zhí)行過(guò)程中的物理特性(如功耗、電磁輻射、執(zhí)行時(shí)間等)來(lái)提取敏感信息[3]。為了增強(qiáng)密碼系統(tǒng)的抗側(cè)信道攻擊能力,掩碼技術(shù)被廣泛研究和應(yīng)用。掩碼技術(shù)通過(guò)引入隨機(jī)化元素來(lái)掩蓋計(jì)算過(guò)程中的敏感數(shù)據(jù),使得即使在側(cè)信道泄露的情況下,攻擊者也無(wú)法獲取足夠的信息來(lái)破解密碼系統(tǒng)[4]。
本文的研究背景植根于當(dāng)前密碼學(xué)領(lǐng)域面臨的兩大挑戰(zhàn):量子計(jì)算機(jī)的崛起和側(cè)信道攻擊的威脅。筆者通過(guò)對(duì)Kyber算法實(shí)施掩碼技術(shù)來(lái)提高抗側(cè)信道攻擊安全能力,并對(duì)其安全性進(jìn)行深入的理論分析和實(shí)驗(yàn)評(píng)估。
2 基礎(chǔ)知識(shí)
2.1 MLWE問(wèn)題
模容錯(cuò)學(xué)習(xí)問(wèn)題(MLWE)是LWE問(wèn)題的一個(gè)推廣。LWE問(wèn)題主要基于有噪聲情況下解決線性方程組的困難性,而MLWE則將其擴(kuò)展到了更高維度的多線性空間中,通過(guò)引入環(huán)結(jié)構(gòu),增加了計(jì)算復(fù)雜度,從而增強(qiáng)了安全性。在MLWE中,不再只處理單一的線性變換,而是將問(wèn)題擴(kuò)展到mod q的多項(xiàng)式環(huán)[Rq]中。其可以表述如下:
環(huán)的維度為d,其中[d>1]。選取一個(gè)大素?cái)?shù)q,再隨機(jī)選擇一個(gè)秘密多項(xiàng)式[s∈Rq],s可以看做是一個(gè)長(zhǎng)度為d的向量,對(duì)于每個(gè)[i=1,2,…,d],選取一個(gè)隨機(jī)矩陣[ai∈Rq],噪聲分布為x,計(jì)算:
[bi=(ai?s+ei) mod q] (1)
式中,[ei∈Rq]是根據(jù)噪聲分布x獨(dú)立同分布生成的誤差多項(xiàng)式,目標(biāo)是恢復(fù)秘密多項(xiàng)式s。
MLWE問(wèn)題的困難性在于,即使提供了多個(gè)帶有噪聲的多項(xiàng)式方程,準(zhǔn)確地恢復(fù)出s但在計(jì)算上仍然是不可行的,特別是當(dāng)d和q足夠大的時(shí)候。噪聲的存在使得方程的直接求解變得極其困難,因?yàn)檫@需要解決一個(gè)高維的最短向量問(wèn)題,也就是NP難問(wèn)題。
2.2 掩碼算法
在密碼學(xué)和計(jì)算機(jī)科學(xué)中,掩碼算法是一種重要的安全防護(hù)措施,它主要用于保護(hù)數(shù)據(jù)處理過(guò)程中的敏感信息,尤其是加密算法的內(nèi)部狀態(tài)以及密鑰。掩碼算法的實(shí)現(xiàn)主要基于“秘密分享”思想,即將一個(gè)秘密(比如一個(gè)密鑰)分割成多個(gè)子秘密,單個(gè)子秘密的擁有者無(wú)法通過(guò)該子秘密分析出原秘密,但當(dāng)這些子秘密以特殊方式組合時(shí)可以恢復(fù)出原始秘密[5]。也就是說(shuō),掩碼算法通常會(huì)將敏感數(shù)據(jù)分割成多個(gè)部分(通常稱(chēng)為“shares”),再引用不同的隨機(jī)值(也稱(chēng)為掩碼或mask)對(duì)每個(gè)部分進(jìn)行按位異或等操作,從而模糊側(cè)信道信息與真實(shí)數(shù)據(jù)之間的聯(lián)系,以防止直接暴露原始數(shù)據(jù)。這種方法可以顯著降低側(cè)信道攻擊的風(fēng)險(xiǎn)[6]。側(cè)信道攻擊是指通過(guò)分析密碼算法執(zhí)行過(guò)程中的物理特性(如功耗、電磁輻射、執(zhí)行時(shí)間、聲音、溫度變化等)來(lái)提取敏感信息的攻擊方式[7]。這些物理特性通常是算法執(zhí)行的副產(chǎn)品,與實(shí)際的計(jì)算邏輯無(wú)關(guān),但卻可以反向推斷出關(guān)于具體加密操作的信息。
掩碼算法按照運(yùn)算方式來(lái)講,通常分為布爾掩碼與加性掩碼:
布爾掩碼(Boolean Masking):假設(shè)有一個(gè)原始數(shù)據(jù)向量[D=d1,d2,…,dn],想對(duì)其進(jìn)行加密以保護(hù)數(shù)據(jù)的隱私。為此,引入一個(gè)隨機(jī)生成的布爾掩碼向量[M=m1,m2,…,mn],其中[mi]是與[di]相異或的掩碼值。應(yīng)用布爾掩碼的加密過(guò)程可以用以下公式表示:
[E=(DM) mod q] (2)
這里的[E=e1,e2,…,en]是加密后的數(shù)據(jù)向量,每個(gè)元素[ei=di°mi],運(yùn)算符[°]表示異或操作。
解密過(guò)程則是簡(jiǎn)單的逆運(yùn)算:
[D=(EM) mod q] (3)
通過(guò)這種方式,布爾掩碼提供了數(shù)據(jù)保護(hù),同時(shí)允許在特定條件下(知道掩碼值)恢復(fù)出原始數(shù)據(jù)。
加性掩碼(Additive Masking):加性掩碼又稱(chēng)算術(shù)掩碼,與布爾掩碼類(lèi)似,只是將布爾掩碼中的異或操作換成了加法運(yùn)算。
即應(yīng)用加性掩碼進(jìn)行的加密操作可以用以下公式表示:
[E=(D+M) mod q] (4)
解密過(guò)程則是從加密數(shù)據(jù)中減去原來(lái)的掩碼值:
[D=(E?M) mod q] (5)
總的來(lái)說(shuō),掩碼技術(shù)的核心目的是通過(guò)增加計(jì)算過(guò)程中的復(fù)雜性和不確定性,使得攻擊者即使能夠獲取到某些中間結(jié)果或觀測(cè)到系統(tǒng)的行為變化,也無(wú)法直接利用這些信息還原出敏感數(shù)據(jù),從而提高了系統(tǒng)的整體安全性。
2.3 Welch's t-test
Welch's t-test,也被稱(chēng)為Welch's t檢驗(yàn)或不等方差t檢驗(yàn),是一種用于比較兩個(gè)獨(dú)立樣本均值是否存在顯著差異的統(tǒng)計(jì)方法,尤其適用于兩組樣本方差不相等的情況[8]。
在進(jìn)行兩獨(dú)立樣本均值差異檢驗(yàn)時(shí),若直接使用Student's t-test,通常要求兩組數(shù)據(jù)不僅來(lái)自正態(tài)分布,而且方差相等。然而,在現(xiàn)實(shí)研究中,兩組數(shù)據(jù)的方差往往不相等,此時(shí)使用Student's t-test可能導(dǎo)致檢驗(yàn)結(jié)果不可靠,犯一類(lèi)或二類(lèi)錯(cuò)誤的風(fēng)險(xiǎn)增加[9]。Welch's t-test通過(guò)放松方差相等的假設(shè),提供了更合適的解決方案。
Welch's t-test的計(jì)算步驟如下:
首先,分別計(jì)算兩組樣本的平均值[(x1,x2)]和樣本方差[(s21,s22)]。由于假設(shè)方差不等,Welch's t-test采用兩組樣本方差的無(wú)偏估計(jì)來(lái)代替總體方差,有時(shí)還會(huì)對(duì)小樣本進(jìn)行校正。接著,基于兩組樣本的均值差、各自樣本方差的估計(jì)以及樣本大小計(jì)算t值。公式如下:
[t=x1?x2s21n1+s22n2] (6)
式中,[n1]和[n2]分別是兩組樣本的大小。
與Student's t-test不同,Welch's t-test的自由度(下文用F表示)不是簡(jiǎn)單地基于樣本大小,而是通過(guò)Satterthwaite近似法得到,該方法考慮到方差的不確定性:
[F≈s21n1+s22n22s41n21n1?1+s42n22n2?1] (7)
實(shí)際應(yīng)用中,這個(gè)自由度經(jīng)常進(jìn)行近似計(jì)算,以簡(jiǎn)化過(guò)程。
接著,使用得到的t統(tǒng)計(jì)量和自由度查找t分布表或使用統(tǒng)計(jì)軟件計(jì)算相應(yīng)的p值,以判斷兩組均值差異的顯著性。
最后,如果p值小于預(yù)設(shè)的顯著性水平(一般設(shè)為0.05),則拒絕原假設(shè),即認(rèn)為兩組均值存在顯著差異;如果p值大于顯著性水平,則接受原假設(shè),即認(rèn)為沒(méi)有足夠證據(jù)表明兩組均值有顯著差異。
3 Kyber掩碼方案
3.1 Kyber算法分析
基于MLWE問(wèn)題構(gòu)造的Kyber算法作為當(dāng)前KEM的標(biāo)準(zhǔn),其安全性主要依賴(lài)于解決MLWE問(wèn)題的困難性。這里本文先簡(jiǎn)單介紹一下Kyber算法的基本步驟,其主要分為兩個(gè)部分:密鑰生成、封裝與解封裝。
3.1.1 密鑰生成
首先確定算法所需要的參數(shù),包括模數(shù)q、多項(xiàng)式度數(shù)(使用多項(xiàng)式的最大次數(shù))n、每個(gè)向量的維度(即每個(gè)向量包含幾個(gè)多項(xiàng)式)k、控制小系數(shù)的范圍[η1、η2]([η1]控制s、e和r的系數(shù)范圍,[η2]控制[e1、e2]的系數(shù)范圍)、控制多少(u,v)被壓縮的[du和dv],以及解密出現(xiàn)錯(cuò)誤的概率[δ]。不同標(biāo)準(zhǔn)的Kyber算法參數(shù)總結(jié)如表1所示。
密鑰生成階段會(huì)生成一個(gè)私鑰s,一個(gè)公鑰(A,b)。對(duì)于私鑰,需要先生成一個(gè)大矩陣A,A中的元素都來(lái)自于特定的環(huán)[Rq],也就是說(shuō)要對(duì)矩陣A中的元素進(jìn)行模q運(yùn)算,通常使用拒絕采樣技術(shù)來(lái)保證矩陣的質(zhì)量,進(jìn)而保證隨機(jī)性,再根據(jù)其生成一個(gè)私鑰s。而公鑰包含兩個(gè)部分,分別是隨機(jī)矩陣A和多項(xiàng)式向量b,其中[b=A?s+e],這里e是一個(gè)帶有噪音的向量,用來(lái)提高安全性。整個(gè)算法過(guò)程都建立在MLWE問(wèn)題上,即已知(A,b)求解s,這對(duì)于量子計(jì)算機(jī)來(lái)講也是一個(gè)難以解決的問(wèn)題。
3.1.2 封裝與解封裝
在Kyber中,多項(xiàng)式環(huán)一般為[Rq=Zqx/xn+1],其中q=3 329,n=256。并且每一個(gè)多項(xiàng)式都滿足[fx=a0+a1x+…+an?1xn?1∈Rq]、每一個(gè)系數(shù)滿足[ai∈Zq0≤i≤n?1],其中[Zq]表示模q的整數(shù)環(huán),所有的多項(xiàng)式加法和乘法的結(jié)果都需要對(duì)多項(xiàng)式[xn+1]進(jìn)行約簡(jiǎn)。
在Kyber中,不同的k值代表著不同級(jí)別的安全性。目前,在安全防護(hù)能力方面,Kyber算法共有3種等級(jí)分類(lèi),即k分別取值為2、3、4時(shí)的Kyber-512、Kyber-768和Kyber-1024,分別與NIST定義的3種安全級(jí)別1(AES-128)、3(AES-192)和5(AES-256)相對(duì)應(yīng)。
這里,首先定義兩個(gè)主要函數(shù)[Comqx,d]和[Decqx,d]。
定義Compress函數(shù):[Zq→Z2d]。
[Comqx,d=(2d/q)x(mod 2d)] (8)
定義Decompress函數(shù):[Z2d]→[Zq]。
[Decqx,d=(q/2d)x] (9)
上述Compress和Decompress函數(shù)中的輸入x均從[Zq]中選取,參數(shù)d指的是[du]或[dv]。在表2的封裝與解封裝算法中,[←]表示隨機(jī)選擇操作,角標(biāo)[T]表示矩陣的轉(zhuǎn)置,G和H表示對(duì)應(yīng)的哈希函數(shù),KDF表示密鑰派生函數(shù)。Kyber算法通過(guò)使用FO變換(Fujisaki Okamoto Transform)將CPA(選擇明文攻擊)安全的公鑰加密技術(shù)轉(zhuǎn)換為CCA(選擇密文攻擊)安全的密鑰封裝機(jī)制。在CCAKEM.Encaps中,使用加密算法CPA.Enc來(lái)生成密文[c1]和[c2],其中可以通過(guò)修改[Comqx,d]和[Decqx,d]函數(shù)中用到的參數(shù)[du]和[dv]來(lái)達(dá)到不同的安全級(jí)別。
3.2 實(shí)驗(yàn)方案
帶掩碼的中心二項(xiàng)抽樣(Masked Centered Binomial Distribution,MCBD)是一種應(yīng)用于密碼學(xué)中的技術(shù),這里本方案將其應(yīng)用于Kyber,用于增強(qiáng)側(cè)信道攻擊的防御能力。中心二項(xiàng)分布抽樣是Kyber密碼系統(tǒng)中的一個(gè)重要步驟,它用來(lái)生成具有特定統(tǒng)計(jì)特性的隨機(jī)數(shù),這些隨機(jī)數(shù)對(duì)于保513614fd62c3e69f83a2a312873626cf證密鑰交換協(xié)議的安全性至關(guān)重要。
為了使用隨機(jī)種子作為輸入從中心二項(xiàng)分布進(jìn)行確定性采樣,Kyber指定使用SHA-3(SHAKE)作為偽隨機(jī)函數(shù)(PRF)來(lái)生成足夠多的隨機(jī)位。對(duì)于掩碼實(shí)現(xiàn),隨機(jī)種子以布爾掩碼的形式給出,使用Keccak的一階掩碼對(duì)其進(jìn)行加密處理。這樣,即使是在側(cè)信道攻擊的環(huán)境下,帶掩碼的中心二項(xiàng)抽樣也能安全地生成所需的隨機(jī)樣本,進(jìn)而保障了整個(gè)加密過(guò)程的安全性。
掩碼技術(shù)主要是將敏感變量與隨機(jī)掩碼進(jìn)行特定運(yùn)算,以此來(lái)混淆真實(shí)數(shù)據(jù)的蹤跡,避免被硬件信息泄露。這些掩碼會(huì)隨著運(yùn)算一起傳播,并在適當(dāng)?shù)臅r(shí)候去除,以回復(fù)原始數(shù)據(jù)。
因此,方案還需要將掩碼技術(shù)添加到Kyber算法的重要數(shù)學(xué)運(yùn)算中。根據(jù)對(duì)Kyber算法代碼的嚴(yán)格審計(jì),方案主要是對(duì)以下8個(gè)關(guān)鍵函數(shù)增添了掩碼技術(shù)的改進(jìn)。
a.poly_invntt()→masked_poly_invntt()。
b.poly_sub()→masked_poly_sub()。
c.poly_basemul()→masked_poly_basemul()。
d.poly_tomsg()→masked_poly_tomsg()。
e.poly_frommsg()→masked_poly_frommsg()。
f.poly_reduce()→masked_poly_reduce()。
g.poly_compress()→masked_poly_compress()。
h.cbd()→masked_cbd()。
4 實(shí)驗(yàn)結(jié)果與分析
4.1 測(cè)試環(huán)境
本次方案安全性測(cè)試主要使用基于Qt實(shí)現(xiàn)的電磁波形采集平臺(tái),采集電磁波形,再使用t檢驗(yàn)對(duì)Kyber掩碼方案進(jìn)行抗側(cè)信道攻擊的安全性評(píng)估。
測(cè)試環(huán)境如圖1所示。主要使用STM32F103開(kāi)發(fā)板的串口通信模塊與Qt上位機(jī)進(jìn)行交互。完成代碼的燒錄,與上位機(jī)通信進(jìn)而調(diào)用其上Kyber算法。測(cè)試過(guò)程中Qt程序主機(jī)作為上位機(jī)與STM32F407G開(kāi)發(fā)板進(jìn)行交互,其中STM32F103開(kāi)發(fā)板載CH340用于將USB接口轉(zhuǎn)換為串口(UART)接口的應(yīng)用中,主要用于連接計(jì)算機(jī)與STM32F407G開(kāi)發(fā)板之間的通信。STM32F407G開(kāi)發(fā)板上運(yùn)行Kyber算法。
EM5030系列近場(chǎng)探頭用來(lái)收集Cortex-M4芯片運(yùn)行Kyber算法時(shí)的電磁輻射信號(hào)。探頭內(nèi)的天線處于發(fā)射天線的電磁場(chǎng)范圍內(nèi)時(shí),它會(huì)感應(yīng)到電磁場(chǎng)的變化,并將其轉(zhuǎn)換為電信號(hào)。EM5030系列探頭具有寬頻帶和高靈敏度的特點(diǎn),能夠有效地接收來(lái)自被測(cè)設(shè)備的電磁信號(hào),并將其傳輸?shù)角爸梅糯笃鬟M(jìn)行后續(xù)處理。它們通常具有不同的設(shè)計(jì)和頻率范圍,可以適應(yīng)本次安全性測(cè)試中的測(cè)量需求。
圖1中Pico觸發(fā)器的主要功能是接收觸發(fā)信號(hào),進(jìn)而將信號(hào)傳輸給示波器,開(kāi)啟波形的采集。Picoscope 3203D示波器的分辨率為8bits at 1GS/s,帶寬為50 MHz,存儲(chǔ)深度為64 MS。
EM5030系列前置放大器具有高增益和低噪聲特性,能夠有效地放大接收到的信號(hào),并提供清晰的測(cè)量結(jié)果。在本次測(cè)試中,前置放大器用于放大EM5030系列近場(chǎng)探頭接收到的微弱信號(hào),以便更好地進(jìn)行測(cè)量和分析。其主要作用是提高信號(hào)的靈敏度和可靠性,并降低噪聲干擾對(duì)測(cè)量結(jié)果的影響。
4.2 測(cè)試結(jié)果分析
圖2和圖3分別是對(duì)poly_basemul()函數(shù)和masked_poly_basemul()函數(shù)運(yùn)算過(guò)程采集的電磁輻射信號(hào)波形圖。
圖4是未加掩碼的poly_basemul()函數(shù)的TVLA圖。一般認(rèn)為t值超過(guò)4.5的點(diǎn)就是興趣點(diǎn),也就是存在信息泄露風(fēng)險(xiǎn)的點(diǎn)。經(jīng)觀察可得,該圖中存在大量興趣點(diǎn),即未加掩碼的poly_basemul()函數(shù)運(yùn)算過(guò)程中存在信息泄露風(fēng)險(xiǎn),也就是說(shuō)可以通過(guò)TVLA對(duì)側(cè)信道采集的波形分析來(lái)獲取秘密信息。
圖5是添加了掩碼的masked_poly_basemul()函數(shù)的TVLA圖。經(jīng)觀察可得,圖中t值都小于4.5,即未檢測(cè)到存在秘密信息泄露風(fēng)險(xiǎn),也就是說(shuō)無(wú)法通過(guò)TVLA對(duì)側(cè)信道采集的波形分析來(lái)獲取masked_poly_basemul()函數(shù)運(yùn)算過(guò)程中的秘密信息。
圖6和圖7分別是對(duì)poly_compress()函數(shù)和masked_poly_compress()函數(shù)運(yùn)算過(guò)程采集的電磁輻射信號(hào)波形圖。
圖8是未加掩碼的poly_compress()函數(shù)的TVLA圖。經(jīng)觀察可得,側(cè)信道攻擊者可以通過(guò)TVLA對(duì)側(cè)信道采集的波形分析來(lái)獲取秘密信息。
圖9是添加了掩碼的masked_poly_compress()函數(shù)的TVLA圖。經(jīng)觀察可得,圖中t值基本都小于4.5,無(wú)法通過(guò)TVLA對(duì)側(cè)信道采集的波形分析來(lái)獲取masked_poly_compress()函數(shù)運(yùn)算過(guò)程中的秘密信息。
綜上所述,添加了掩碼之后的關(guān)鍵函數(shù)已經(jīng)無(wú)法再通過(guò)TVLA對(duì)側(cè)信道采集的波形分析來(lái)獲取運(yùn)算過(guò)程中的秘密信息,也就是說(shuō)該Kyber掩碼方案已經(jīng)具有較強(qiáng)的抗側(cè)信道攻擊安全性。
5 總結(jié)與展望
5.1 主要研究成果
本文主要針對(duì)后量子密碼領(lǐng)域中的Kyber算法,提出并實(shí)現(xiàn)了一種一階掩碼方案,旨在顯著提升其在物理安全層面的防御能力,尤其是針對(duì)日益嚴(yán)峻的側(cè)信道攻擊威脅。通過(guò)深入分析Kyber算法的運(yùn)算流程與潛在的側(cè)信道泄漏點(diǎn),本文設(shè)計(jì)了一套高效且針對(duì)性強(qiáng)的掩碼機(jī)制,成功將一階掩碼技術(shù)融入算法的核心計(jì)算環(huán)節(jié),有效抑制了敏感數(shù)據(jù)處理過(guò)程中泄露的信息量,從而加強(qiáng)了算法的整體安全性。
針對(duì)Kyber算法中的關(guān)鍵運(yùn)算,如NTT變換、多項(xiàng)式乘法等,本文設(shè)計(jì)并實(shí)現(xiàn)了有效的掩碼生成與融合策略。該方案利用隨機(jī)掩碼覆蓋了運(yùn)算中的中間結(jié)果,確保了算法執(zhí)行過(guò)程中的信息泄露最小化,同時(shí)保持了算法的正確執(zhí)行。
本文還針對(duì)該方案進(jìn)行了側(cè)信道攻擊的測(cè)試向量泄漏評(píng)估實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果顯示,加入掩碼后的Kyber算法在側(cè)信道攻擊下的信息泄漏顯著減少,驗(yàn)證了掩碼方案的有效性。
本文通過(guò)為Kyber算法添加掩碼方案,有效地提升了其在實(shí)際部署中抵御側(cè)信道攻擊的能力,不僅鞏固了Kyber作為后量子密碼標(biāo)準(zhǔn)算法的地位,也為后量子密碼技術(shù)在物理安全領(lǐng)域的廣泛應(yīng)用提供了一定的參考。
5.2 研究方向
盡管本文成功實(shí)現(xiàn)了Kyber算法的一階掩碼方案,并在一定程度上驗(yàn)證了其對(duì)抗側(cè)信道攻擊的有效性,但仍存在幾個(gè)值得進(jìn)一步探索的方向。
a.高階掩碼技術(shù)的應(yīng)用:雖然本實(shí)驗(yàn)已經(jīng)成功實(shí)施了一階掩碼方案,但面對(duì)日益復(fù)雜的側(cè)信道攻擊技術(shù),探索二階乃至更高階掩碼技術(shù)的集成與優(yōu)化成為必然趨勢(shì)。研究應(yīng)聚焦于如何高效地生成和管理高階掩碼,同時(shí)減少計(jì)算和存儲(chǔ)開(kāi)銷(xiāo),確保算法的實(shí)時(shí)性和資源效率。高階掩碼技術(shù)相比一階掩碼,提供了更高級(jí)別的安全性,能有效防御更廣泛的側(cè)信道攻擊,尤其是那些能夠利用更高階統(tǒng)計(jì)信息的復(fù)雜攻擊。
b.跨平臺(tái)適應(yīng)性研究:為了使Kyber掩碼方案能夠在多樣化的硬件環(huán)境中廣泛應(yīng)用,確保掩碼機(jī)制的泛用性和實(shí)用性,適配與優(yōu)化工作至關(guān)重要,尤其是在資源受限的環(huán)境下。未來(lái)研究可以開(kāi)發(fā)一套通用的接口和編譯指導(dǎo)原則,確保掩碼代碼能夠容易地在不同的處理器架構(gòu)(如x86、ARM等)和操作系統(tǒng)之間移植。并且針對(duì)特定硬件特性設(shè)計(jì)對(duì)應(yīng)運(yùn)算加速方案,利用并行處理能力提升加解密速度。
通過(guò)這些研究,不僅能夠擴(kuò)大Kyber掩碼方案的應(yīng)用范圍,還能提升其在各類(lèi)硬件平臺(tái)上的執(zhí)行效率和能源效率,增強(qiáng)其實(shí)用價(jià)值和市場(chǎng)競(jìng)爭(zhēng)力。
參考文獻(xiàn):
[1]Lu X,Liu Y,Zhang Z,et al.Lac:Practical ring-lwe based public-key encryption with byte-level modulus[J].Cryptology ePrint Archive,2018.
[2]Seo S,Kim H.Portable and Efficient Implementation of CRYSTALS-Kyber Based on WebAssembly[J].Computer Systems Science and Engineering,2023,46(2):2091-2107.
[3]Rajendran G,Ravi P,D’Anvers J P,et al.Pushing the limits of generic side-channel attacks on lwe-based kems-parallel pc oracle attacks on kyber kem and beyond[C]//IACR Transactions on Cryptographic Hardware and Embedded Systems,2023:418-446.
[4]Minkyu S,Junyeon L,Taeweon S,et al.RT-Sniper:A Low-Overhead Defense Mechanism Pinpointing Cache Side-Channel Attacks[J].Electronics,2021,10(22):2748-2748.
[5]Ngo K,Dubrova E,Guo Q,et al.A side-channel attack on a masked ind-cca secure saberkem implementation[C]//IACR Transactions on Cryptographic Hardware and Embedded Systems,2021:676-707.
[6]EMPIRE TECHNOLOGY DEVELOPMENT LLC:Patent Issued for Detection of Side Channel Attacks between Virtual Machines (USPTO 9438624)[J].Journal of Engineering,2016.
[7]Marie D,Dani?l L,Christophe L.Why Psychologists Should by Default Use Welch’s t-test Instead of Student’s t-test[J].International Review of Social Psychology,2017,30(1):92-98.
[8]Radha P A.Modeling Volatility under Normal and Student-t Distributional Assumptions(A Case Study of the Kenyan Exchange Rates)[J].American Journal of Applied Mathematics and Statistics,2014,2(4):179-184.
[9]He S,Li H,Li F,et al.A lightweight hardware implementation of CRYSTALS-Kyber[J].Journal of Information and Intelligence, 2024,2(2):167-176.
作者簡(jiǎn)介:
肖旭,女,1992年生,工程師,研究方向?yàn)檎?chē)測(cè)試。