亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        針對分組密碼的攻擊方法研究

        2020-01-16 07:32:20朱文鋒劉軍榮
        計(jì)算機(jī)工程 2020年1期
        關(guān)鍵詞:寄存器功耗密鑰

        朱文鋒,王 琴,郭 箏,2,劉軍榮,2

        (1.上海交通大學(xué) 微電子學(xué)院,上海 200240; 2.智巡密碼(上海)檢測技術(shù)有限公司,上海 201100)

        0 概述

        近年來,信息安全問題逐漸成為人們關(guān)注的焦點(diǎn)。由于密碼算法的計(jì)算依賴物理載體(如CPU和密碼芯片),在運(yùn)算過程中,物理器件總會(huì)泄露各種與密碼系統(tǒng)相關(guān)的物理信息,如運(yùn)行時(shí)間、能量消耗和電磁輻射等[1],攻擊者可以采集和利用這些旁路信息,根據(jù)它們與密鑰信息間的關(guān)聯(lián)性來進(jìn)行密鑰恢復(fù)[2]。一些先進(jìn)的攻擊手段可以繞開數(shù)學(xué)推理過程而通過其他途徑獲得秘密信息,其中的典型代表就是旁路攻擊(Side Channel Attacks,SCAs)[3]。

        文獻(xiàn)[4]提出了一種旁路功耗攻擊方法,該方法通過采集密碼設(shè)備運(yùn)行時(shí)的瞬時(shí)功耗,分析它們與算法處理的數(shù)據(jù)和進(jìn)行的操作之間的關(guān)聯(lián),進(jìn)而獲取設(shè)備存儲(chǔ)的秘密信息。功耗攻擊一般分為2種,一種為簡單功耗分析(Simple Power Analysis,SPA),另一種為差分功耗分析(Differential Power Analysis,DPA)[4]。SPA通過直接觀測少量曲線形態(tài)的方式獲取與密鑰相關(guān)的信息,而DPA則采集大量功耗信息,運(yùn)用數(shù)理統(tǒng)計(jì)分析恢復(fù)密鑰,該攻擊也是目前比較流行和常見的旁路攻擊方式[5]。文獻(xiàn)[6]提出了一種模板攻擊方法,模板是描述設(shè)備能量消耗特征的最優(yōu)方法。文獻(xiàn)[7]指出基于相關(guān)性系數(shù)的差分功耗分析(CPA)相比傳統(tǒng)DPA的優(yōu)勢。文獻(xiàn)[8]討論了基于互信息和線性回歸的通用DPA(對攻擊的密鑰模板不做任何假設(shè))具有一定局限性,并提出了一種近似通用DPA的概念[8]。近年來,基于深度學(xué)習(xí)的攻擊方法也得到學(xué)者們的廣泛關(guān)注[9-11]。

        由于分組密碼算法在硬件實(shí)現(xiàn)過程中存在大量的并行計(jì)算,噪聲中和中間值相關(guān)的真實(shí)功耗信息難以被區(qū)分出來?,F(xiàn)有針對硬件實(shí)現(xiàn)的分組密碼算法攻擊大多具有一定的局限性,如SPA適合信噪比很大且已知功耗模型的情況[12],DPA能利用的功耗占總功耗的比例較小,當(dāng)信噪降低到原先信噪的1/θ時(shí),攻擊成功所需的曲線數(shù)則降為原先的1/θ2,模板攻擊在噪聲特別大的情況下所描述的設(shè)備能量消耗特征也并非很準(zhǔn)確[13]。

        在實(shí)際攻擊中,可以將與中間值不相關(guān)的噪聲近似看成是隨機(jī)的,并根據(jù)中間值對這一部分功耗進(jìn)行分類,使每一類的功耗平均值都近似相等。本文以充分利用與中間值相關(guān)的功耗、消除和中間值無關(guān)的功耗分量為出發(fā)點(diǎn),提出一種針對分組密碼的攻擊方法,即功耗最小分類方法。該方法通過盡可能多地利用和中間值相關(guān)的功耗分量來增大信噪比并提升攻擊效果。

        1 旁路功耗分析的基本原理

        能夠?qū)崿F(xiàn)旁路功耗分析的原因在于,芯片產(chǎn)生的功耗與芯片在運(yùn)算過程中進(jìn)行的操作和處理的中間值數(shù)據(jù)存在關(guān)聯(lián)[14]。

        1.1 密碼設(shè)備的電路基礎(chǔ)

        現(xiàn)代密碼設(shè)備通常由數(shù)字電路構(gòu)成,數(shù)字電路(包括ASIC和FPGA)的基本單元是邏輯元件[15]。數(shù)字電路本質(zhì)上由電子開關(guān)組成,通常通過晶體管或MOS管實(shí)現(xiàn)。CMOS晶體管的NMOS管和PMOS管不會(huì)在同一時(shí)刻一起導(dǎo)通,因此,能夠保證CMOS晶體管的輸出電壓具有穩(wěn)定的邏輯1電平或者邏輯0電平。CMOS電路能構(gòu)造出復(fù)雜的組合邏輯和時(shí)序邏輯電路,最終形成完整電路。

        1.2 功耗的產(chǎn)生與組成

        數(shù)字CMOS邏輯單元的功耗主要由2個(gè)部分組成,一部分為負(fù)載電容充放電時(shí)引起的功耗,稱為動(dòng)態(tài)功耗,另一部分為漏電流引起的功耗,稱為靜態(tài)功耗。動(dòng)態(tài)功耗在電路總功耗中占主要部分[16]。

        在某一個(gè)固定的時(shí)刻,CMOS器件輸出端的電平會(huì)出現(xiàn)4種情況:保持原先的0不變,保持原先的1不變,發(fā)生0→1的變化,發(fā)生1→0的變化。這4種情況對應(yīng)的動(dòng)態(tài)功耗種類如圖1所示。

        圖1 CMOS器件輸出端4種情況對應(yīng)的功耗種類Fig.1 Power consumption types corresponding to 4 cases of CMOS device output

        由于數(shù)字電路中所用到的CMOS電路的寬長比都一樣,因此可以簡單地用輸出端是否發(fā)生翻轉(zhuǎn)來近似模擬CMOS電路的動(dòng)態(tài)功耗,若發(fā)生翻轉(zhuǎn)則將功耗記為1,否則將功耗記為0。

        1.3 旁路功耗的統(tǒng)計(jì)特征

        旁路功耗分析的主要依據(jù)是密碼芯片的瞬時(shí)功耗值與執(zhí)行的操作和處理的數(shù)據(jù)間有一定的關(guān)聯(lián)[17]。對這2種依賴性進(jìn)行細(xì)分,將功耗曲線上的每個(gè)點(diǎn)對操作的依賴分量記為Pop,對數(shù)據(jù)的依賴分量記為Pdata。另外,在現(xiàn)實(shí)中的每次功耗測量中均會(huì)存在電子噪聲,從而對功耗分析造成干擾,本文將該分量記為Pel.noise。還有一些功耗與操作和數(shù)據(jù)都無關(guān),相對于操作和數(shù)據(jù)都是隨機(jī)的,將該功耗分量記為Prandom。除此之外,每個(gè)點(diǎn)還包含一些功耗常量部分,記為Pconst。將上述分量疊加,可得到每個(gè)點(diǎn)的總功耗,如下:

        Ptotal=Pop+Pdata+Pel.noise+Prandom+Pconst

        (1)

        電子噪聲Pel.noise服從正態(tài)分布,通過平均可以去除Pel.noise和Prandom的影響。用Pexp表示給定攻擊場景中可以利用的功耗分量,將該場景中除電子噪聲外而無法利用的功耗分量表示為Psw.noise(稱為轉(zhuǎn)換噪聲),則有:

        Pdata=Pexp+Psw.noise

        (2)

        在數(shù)字電路中,信噪比(Signal to Noise Ratio,SNR)是一個(gè)重要的參數(shù),其表示電子系統(tǒng)中信號與噪聲的比例。信噪比的一般定義如式(3)所示。

        (3)

        其中,V(·)表示方差。

        對于一個(gè)給定的攻擊場景,功耗曲線中某一點(diǎn)的信噪比如式(4)所示[18]。信噪比越高,攻擊者能利用的有用信息就越多。

        (4)

        2 最小功耗分類方法

        2.1 DPA攻擊與零值攻擊

        DPA的目標(biāo)是記錄密碼設(shè)備對大量不同數(shù)據(jù)分組進(jìn)行加密或解密時(shí)的能量跡,并基于能量跡恢復(fù)出密碼設(shè)備中的密鑰。其攻擊過程描述為[19]:

        1)在密碼芯片系統(tǒng)中,將N組不同的明文(密文)數(shù)據(jù)和密鑰進(jìn)行加密或解密,并獲取密碼設(shè)備的能耗,將其記為T。

        2)基于猜測的密鑰和明文(密文),通過密碼算法產(chǎn)生相應(yīng)的中間值,根據(jù)功耗模型(漢明重量模型或者漢明距離模型),將中間值映射為能量消耗值H。

        3)計(jì)算假設(shè)的能量消耗與實(shí)測能量跡間的線性相關(guān)系數(shù)。

        一個(gè)操作數(shù)為0的乘法器往往需要很少的功耗,可以假設(shè)一個(gè)操作數(shù)為0的乘法器,其能量消耗就為0[20]。利用該特性,能夠通過類似DPA攻擊的方法攻擊出算法密鑰,這種攻擊方式稱為零值攻擊。

        2.2 功耗分類方法

        功耗最小分類方法具有通用的攻擊策略,與DPA攻擊的步驟類似,但兩者選取中間值時(shí)依據(jù)的功耗模型有很大差別。功耗最小分類方法分為以下5個(gè)步驟:

        1)選擇算法硬件實(shí)現(xiàn)電路中的某個(gè)寄存器變化量作為中間值,要求該寄存器變化前后的值都可以通過已知的非常量數(shù)據(jù)和猜測的少量密鑰而獲得,且要求該寄存器值改變的同時(shí)能引起足夠多的組合邏輯電路中間值發(fā)生改變,產(chǎn)生盡量多的功耗,在該寄存器值不變的情況下,這些組合邏輯電路中間值也不發(fā)生改變。

        2)測量密碼設(shè)備在加密或解密D個(gè)不同數(shù)據(jù)分組時(shí)產(chǎn)生的瞬時(shí)功耗。

        3)對于每一個(gè)可能的密鑰k值和D次加密過程,根據(jù)密碼算法計(jì)算出假設(shè)的中間值矩陣V。

        4)對于猜測密鑰kj對應(yīng)的矩陣V中的列,將中間值為0的曲線放入猜測密鑰kj對應(yīng)的曲線集合中,每一個(gè)猜測密鑰kj都得到一組曲線集合,如圖2所示。在中間值為0的情況下,寄存器沒有翻轉(zhuǎn)功耗,組合邏輯功耗也相對較小

        5)對于曲線上每一個(gè)確定的位置,都存在一個(gè)曲線集合Tj,其在該位置上的功耗平均值最小(相對于其他密鑰對應(yīng)的曲線集合在該點(diǎn)上的功耗平均值),則這個(gè)平均值最小的集合對應(yīng)的密鑰就是該位置攻擊出的密鑰結(jié)果。

        圖2 功耗曲線分類示意圖Fig.2 Classification diagram of power consumption curve

        2.3 最小功耗分類方法優(yōu)勢

        本文最小功耗分類方法優(yōu)勢分析如下:

        1)具有足夠大的Pexp。從2.2節(jié)可以看出,在中間值不為0的情況下,有足夠大的寄存器翻轉(zhuǎn)功耗和組合邏輯電路計(jì)算功耗,而在中間值為0的情況下,這些功耗都為0,從而保證了該方法具有足夠大的Pexp,在給定攻擊場景中能利用更多的功耗分量。

        2)能夠消除和中間值無關(guān)的功耗的影響。將功耗曲線組的功耗進(jìn)行平均之后,能夠消除電子噪聲Pel.noise、與操作和數(shù)據(jù)都無關(guān)的功耗Prandom、固定功耗Pconst,這些功耗和中間值沒有關(guān)聯(lián),在曲線集合中,它們的平均值近似相等。

        3)正確密鑰和錯(cuò)誤密鑰之間的系數(shù)差異很大。當(dāng)中間值為非線性函數(shù)(不是密鑰)時(shí),DPA方法應(yīng)用相關(guān)性系數(shù)的方法求正確密鑰的相關(guān)系數(shù),正確密鑰和錯(cuò)誤密鑰間的區(qū)分度較小。而在最小功耗分類方法下,如果密鑰正確,寄存器和組合邏輯電路的中間值都未發(fā)生改變,變量的改變引起的功耗最小,即分類方法中可以利用到的功耗分量Pexp當(dāng)前值最小;如果密鑰錯(cuò)誤,任何一個(gè)錯(cuò)誤密鑰對應(yīng)的中間值為0曲線的Pexp值遠(yuǎn)大于正確密鑰對應(yīng)的中間值為0曲線的Pexp。

        3 針對AES的最小功耗分類方法

        在分組密碼中,AES具有代表性且攻擊難度較高,其首輪運(yùn)算在全隨機(jī)明文的情況下很難攻擊,因此,本文選取AES進(jìn)行攻擊。

        3.1 AES硬件實(shí)現(xiàn)

        AES算法可在不同的軟硬件平臺(tái)上進(jìn)行實(shí)現(xiàn),由于FPGA具有配置硬件資源可重構(gòu)、運(yùn)算速度快等優(yōu)點(diǎn),因此,本文選擇在FPGA上實(shí)現(xiàn)AES硬件電路,如圖3所示[21],其中,陰影部分為寄存器,每一輪執(zhí)行SubBytes、ShiftRows、MixColumns及AddRoundKey后將新生成的AES狀態(tài)存入寄存器。圖3為AES硬件實(shí)現(xiàn)時(shí)的一種通用架構(gòu),能夠節(jié)省電路面積,且運(yùn)算速度較快。

        圖3 AES硬件實(shí)現(xiàn)原理圖Fig.3 Schematic diagram of AES hardware implementation

        3.2 AES每輪的整體功耗拆分

        AES每一輪的SubBytes、ShiftRows、MixColumns及AddRoundKey計(jì)算,可以近似拆分成16個(gè)單獨(dú)的功耗模塊。如圖4所示,每個(gè)模塊的功耗由其輸入所決定。上述功耗模塊分別用模塊1~模塊16表示,模塊1對應(yīng)AES狀態(tài)寄存器的第1個(gè)字節(jié)state[127:120]和密鑰的第1個(gè)字節(jié)key[127:120]。

        圖4 一個(gè)功耗模塊對應(yīng)的硬件架構(gòu)Fig.4 Hardware architecture of a power consumption module

        3.3 最小功耗分類方法應(yīng)用

        在應(yīng)用最小功耗分類方法時(shí),首先選擇攻擊算法的中間值。本文選擇的寄存器是AES狀態(tài)(8位)寄存器,時(shí)間節(jié)點(diǎn)為第1輪。在攻擊密鑰的第1個(gè)字節(jié)時(shí),中間值的表達(dá)式如下:

        v=Ttext_out(D-1,0)⊕Ttext_in(D,0)⊕Kkey

        (5)

        其中,Ttext_out(D-1,0)表示第D-1條曲線的密文的第1個(gè)字節(jié),Ttext_in(D,0)表示第D條曲線的明文的第1個(gè)字節(jié),Kkey表示猜測的8位密鑰。

        由圖4可以看出,該寄存器的變化也會(huì)引起中間變量表s1~s4的變化,且s1、s2、s3只會(huì)隨X的變化而變化,s4會(huì)受到X變化的影響。s1~s4的變化會(huì)引起較大的組合邏輯電路功耗,當(dāng)寄存器變化前后的值一樣,即異或值為0時(shí),寄存器翻轉(zhuǎn)功耗為0,s1~s3保持不變,此時(shí)產(chǎn)生的動(dòng)態(tài)功耗分量較小。

        然后,參照2.2節(jié)的內(nèi)容完成余下步驟。選擇AES功耗曲線的第2個(gè)尖峰附近的點(diǎn)進(jìn)行分類和平均,攻擊出密鑰,中間值V引起的寄存器翻轉(zhuǎn)泄露和組合邏輯泄露都發(fā)生在該時(shí)刻附近。

        3.4 算法偽代碼

        針對AES的最小功耗分類方法的實(shí)現(xiàn)偽代碼如算法1所示。其中,Ttrace為二維數(shù)組,存儲(chǔ)曲線上各個(gè)點(diǎn)的功耗信息,Ddata存儲(chǔ)曲線的明密文信息。算法輸出選定位置各密鑰對應(yīng)的曲線集合的功耗平均值。

        算法1最小功耗分類方法

        輸入Ttrace,Ddata

        輸出r4

        for ti=1:tracenum

        sample (ti)=trace(ti,point );

        end

        for byte=1:16

        for k0=0:255

        r2=0;

        r3=0;

        for ti=2:tracenum

        a=data(ti,byte)⊕data(ti-1,byte +16)⊕k0;

        if a==0

        r2(k0+1)=r2(k0+1)+sample(ti);

        r3(k0+1)=r3(k0+1)+1;

        end

        end

        r4(k0+1)=r2(k0+1)/r3(k0+1);

        end

        figure:plot(r4);

        end

        4 實(shí)驗(yàn)結(jié)果與分析

        本文通過一款專門用于研究硬件電路旁路安全的開發(fā)板SAKURA-G來模擬AES功耗曲線,以進(jìn)行實(shí)驗(yàn)對比與分析。

        4.1 針對AES的最小功耗分類方法性能分析

        對不帶防護(hù)的AES算法硬件實(shí)現(xiàn)電路的首輪運(yùn)算進(jìn)行攻擊,在100萬條全隨機(jī)明文的功耗曲線數(shù)量下(功耗曲線的密鑰為0x012345789abcdef、0x012345789 abcdef),攻擊結(jié)果如圖5所示,其中,縱坐標(biāo)表示猜測密鑰對應(yīng)的曲線集合的平均功耗和全部曲線的平均功耗的差值,曲線的縱坐標(biāo)越高,表示平均功耗越小,(X,Y)為最高點(diǎn)坐標(biāo)。從圖5可以看出,各猜測密鑰對應(yīng)的曲線集合的平均功耗差異較大,且正確密鑰與錯(cuò)誤密鑰區(qū)分明顯。圖5只選取了4個(gè)字節(jié)的攻擊結(jié)果,在實(shí)際實(shí)驗(yàn)中攻擊出了AES算法的全部密鑰。

        圖5 最小功耗分類方法攻擊結(jié)果Fig.5 Attack results of minimum power consumption classification method

        4.2 與DPA攻擊的比較

        對不帶防護(hù)的AES算法硬件實(shí)現(xiàn)電路的20萬條全隨機(jī)明文功耗曲線,分別應(yīng)用最小功耗分類方法和基于中間值的漢明重量模型DPA方法進(jìn)行首輪攻擊,密鑰第1個(gè)字節(jié)的攻擊結(jié)果對比如圖6所示,全部密鑰的攻擊結(jié)果對比如表1所示。其中,圖6(a)中的縱坐標(biāo)是猜測密鑰中間值矩陣和功耗矩陣的相關(guān)性,圖6(b)中的縱坐標(biāo)是猜測密鑰對應(yīng)的曲線集合的平均功耗。在表1中,系數(shù)差百分比為負(fù)數(shù)表示正確密鑰未排名第一,值的大小為正確密鑰相對排名第一的錯(cuò)誤密鑰的系數(shù)差百分比。從圖6和表1可以看出,最小功耗分類方法相比DPA方法具有更好的區(qū)分度,前者排名第二的錯(cuò)誤密鑰相對正確密鑰的系數(shù)差百分比大多都超過10%,平均超過20%,而DPA方法排名第二的錯(cuò)誤密鑰相對正確密鑰的系數(shù)差百分比都在0.2%以內(nèi),兩者相差100個(gè)數(shù)量級。

        圖6 2種方法對密鑰第1個(gè)字節(jié)的攻擊結(jié)果對比Fig.6 Comparison of attack results of 2 methods on the first byte of key

        表1 2種方法對全部密鑰的攻擊結(jié)果對比Table 1 Comparison of attack results of 2 methods on all keys

        5 結(jié)束語

        本文提出一種針對分組密碼的最小功耗分類方法。相對DPA攻擊方法,該方法能利用更多的組合邏輯功耗和寄存器翻轉(zhuǎn)功耗,提高有用功耗的比例。實(shí)驗(yàn)結(jié)果表明,最小功耗分類方法對不帶防護(hù)的AES算法硬件實(shí)現(xiàn)電路的攻擊具有有效性,可以恢復(fù)出全部密鑰,且恢復(fù)出的密鑰存在較高的區(qū)分度。由于分組密碼算法結(jié)構(gòu)類似,硬件實(shí)現(xiàn)時(shí)也存在寄存器功耗和組合邏輯功耗,因此在理論上最小功耗分類方法對其他分組密碼算法同樣有效。下一步將研究該方法對帶防護(hù)的分組密碼算法硬件實(shí)現(xiàn)電路的攻擊性能。

        猜你喜歡
        寄存器功耗密鑰
        探索企業(yè)創(chuàng)新密鑰
        密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        一種對稱密鑰的密鑰管理方法及系統(tǒng)
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
        揭開GPU功耗的面紗
        數(shù)字電路功耗的分析及優(yōu)化
        電子制作(2016年19期)2016-08-24 07:49:54
        “功耗”說了算 MCU Cortex-M系列占優(yōu)
        電子世界(2015年22期)2015-12-29 02:49:44
        IGBT模型優(yōu)化及其在Buck變換器中的功耗分析
        啪啪无码人妻丰满熟妇| 久久影院最新国产精品| 国产高清不卡二区三区在线观看| 在线精品首页中文字幕亚洲| 偷拍偷窥女厕一区二区视频| 国产欧美精品一区二区三区四区 | 毛多水多www偷窥小便| 亚洲欧美日韩在线一区| 欧美成人一级视频| 最新国产成人在线网站| 日韩有码中文字幕第一页| 亚洲中字永久一区二区三区| av成人一区二区三区| 色欲一区二区三区精品a片| 日韩欧群交p片内射中文| 人妻AV无码一区二区三区奥田咲 | 激情欧美日韩一区二区| 欧美性猛交xxxx乱大交蜜桃| 一区二区三区四区在线观看视频| 日韩av中文字幕波多野九色| 亚洲男人综合久久综合天堂| 亚洲综合色无码| 免费网站看v片在线18禁无码| 摸进她的内裤里疯狂揉她动视频| 一本色道久久99一综合| 一本色道久久综合亚洲精品蜜臀| 免费观看国产激情视频在线观看| 精品国产精品三级精品av网址| 人妻夜夜爽天天爽| 国产啪精品视频网给免丝袜| 国产成人自拍视频在线观看网站| 亚洲综合av一区二区三区蜜桃| 欧美猛男军警gay自慰| 91av国产视频| 亚洲成a人片在线观看高清| 亚洲免费福利视频网站| 免费人成视网站在线剧情| 在线视频观看免费视频18| 亚洲女同精品一区二区久久| 国产熟女乱综合一区二区三区| 国产精品亚洲一区二区三区在线 |