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

        ?

        針對AES加密算法的安全檢測

        2022-05-30 04:29:34何利文國海輪
        計算機技術與發(fā)展 2022年5期
        關鍵詞:實驗分析

        何利文,安 聰,國海輪

        (南京郵電大學,江蘇 南京 210003)

        0 引 言

        近年來,信息安全問題日益突出,已成為人類共同面臨的挑戰(zhàn),側信道攻擊對信息安全構成了巨大的威脅。密碼芯片在工作過程中不可避免地會產生時間、功耗、電磁輻射等旁道信息[1]。這些信息與芯片內部的數(shù)據(jù)和操作有關。因此,側信道信息可用于攻擊密碼芯片。利用側信道信息破解密文信息的方法最早由Kocher于1996年提出,隨后逐漸發(fā)現(xiàn)了差分功耗分析(DPA)、相關功耗分析(CPA)等側信道攻擊方法[2]。目前,已經成功地在許多設備上實現(xiàn)了多種側信道攻擊[3]。

        差分功耗分析(differential power analysis,DPA)[4]可以從功耗曲線微小的差分信號分析出所需的關鍵信息,但需要采集大量的信息,并采集多組功耗曲線以及每條曲線對應的明文、密文記錄,通常需要很強的分析經驗和較長時間的分析運算,對分析平臺的設備要求也比較高。而相關功耗分析(correlation power analysis,CPA)[5]是選擇一個未知但是恒定的參考態(tài),建立一個具有數(shù)據(jù)相關性的漢明模型,利用功耗樣點與被處理數(shù)據(jù)的漢明權重之間的相關因子進行分析。因此CPA攻擊的準確性要比DPA高很多。

        1 背景介紹

        1.1 高級加密標準

        高級加密標準[6](advanced encryption standard,AES)是最常見的對稱加密算法,加解密使用相同的密鑰,可以在不同的平臺上實現(xiàn):

        明文(p),可理解的消息或數(shù)據(jù),機密算法的輸入,解密算法的輸出。AES-128的明文長度為128位。

        密鑰(k),在將明文轉換為密文或者將密文轉換為明文算法中輸入的數(shù)據(jù)。AES-128的密鑰長度為128位。

        輪數(shù)(r),AES-128的加密輪數(shù)為10輪。

        其中AES-128加密算法由10輪組成,每一輪使用一個由原始密鑰產生的密鑰。每一輪由四個基本步驟組成:字節(jié)替換、行移位、列混合變幻、輪密鑰加密變換。

        密文(c),加密算法的輸出,解密算法的輸入,其依賴于明文和密鑰。AES-128的密文長度為128位。

        1.2 相關功耗分析(CPA)

        相關系數(shù)攻擊模型是經典差分攻擊的一個延伸[7],它選擇一個未知但是恒定的參考態(tài),建立一個具有數(shù)據(jù)相關性的漢明模型,利用功耗樣點與被處理數(shù)據(jù)的漢明權重之間的相關性因子進行分析。其主要思路是攻擊者已知明文,并可變化明文并采集相應的功耗曲線。攻擊者猜測密鑰,根據(jù)明文和密鑰計算出某中間變量[8]。以中間變量的漢明權重(邏輯1的個數(shù))和功耗的相關系數(shù)做分析,相關系數(shù)最高的即猜測正確的密鑰。否則由于錯誤的密鑰,導致中間變量必然與功耗沒有預期的正比關系。這種分析是以功耗與處理的1的個數(shù)成正比為理論前提的,由芯片原理可知[9]:功耗是與邏輯門輸出的0、1的轉換次數(shù)(漢明距)成正比的,而不是與處理的1(漢明權重)的個數(shù)成正比。

        1.3 側信道分析攻擊

        側信道分析攻擊技術是相對于傳統(tǒng)意義上基于通信的密碼分析而言的。傳統(tǒng)的密碼分析是通過對密碼處理器的算法進行破解分析,并對輸入輸出等數(shù)據(jù)輔之以監(jiān)聽等手段,在流程內實現(xiàn)攻擊[10]。側信道分析攻擊技術的對象則是密碼處理器的實現(xiàn),即不是對加解密數(shù)據(jù)本身分析,而是對加解密過程中的時序、功耗等其他信道的信息進行分析,從而得到密鑰等敏感信息[11]。

        和傳統(tǒng)的密碼分析相比,側信道分析攻擊技術有成本上的優(yōu)勢。密碼分析雖然通過一些分析方法可降低密碼破解的強度,即縮小窮舉密鑰的空間,但目前通常采取的延長密鑰位的辦法可使實現(xiàn)窮舉攻擊需要的時間遠遠長于密鑰的生存期。側信道分析攻擊技術的破解效率與密鑰長度無關或只是線性相關,而非傳統(tǒng)密碼分析中,其效率與密鑰長度的冪相關。若集成電路沒有保護措施,那么側信道分析攻擊技術可能僅需很小的代價就能得到密鑰。

        1.4 ChipWhisperer

        ChipWhisperer[12]是一種開源工具鏈,使學習側信道攻擊變得簡單。它還充當一個平臺,以有據(jù)可查、經濟高效且可重復的方式執(zhí)行側信道研究。ChipWhisperer主要側重于電源分析攻擊以及電壓和時鐘故障,這些故障會中斷設備的電源或時鐘信號,從而導致意外行為。

        1.5 Jupyter Notebook

        Jupyter Notebook是基于網頁的用于交互計算的應用程序。其可被應用于全過程計算:開發(fā)、文檔編寫、運行代碼和展示結果[13]。Jupyter Notebook是以網頁的形式打開,可以在網頁頁面中直接編寫代碼和運行代碼,代碼的運行結果也會直接在代碼塊下顯示。如在編程過程中需要編寫說明文檔,可在同一個頁面中直接編寫,便于作及時的說明和解釋。同時Jupyter Notebook也支持python語言,ChipWhisperer的Version5就是使用的Jupyter Notebook。

        2 CPA攻擊檢測算法安全性

        2.1 CPA攻擊步驟

        第一步:將密鑰分成16個子密鑰分別破解,每一子密鑰為一個字節(jié)[14]。首先考慮第一個子密鑰GuessKey的破解。根據(jù)能量跡隨機地選擇明文中的字節(jié)P1,P2,…,PN,將P輸入到目標密碼算法的執(zhí)行單元。

        第二步:猜測K的候選值,然后每遍歷一個值,參照AES的一輪加密過程,將其與明文P進行異或得到X,異或之后再經過S-BOX的字節(jié)替換即可得到用于求解漢明重量的輸入Y,求出Y的漢明重量后最終得到h的樣本值[15],如圖1所示。

        第三步:計算V和h的person相關系數(shù)r(v,h),相關性最大的那個點就是S盒的輸出。

        在CPA攻擊中,根據(jù)不同采樣點位置的電壓值與漢明重量的關系可以判斷正確和錯誤密鑰[16],也就是有無明顯的尖峰。只需要對全部的位置都做相關系數(shù),然后找到最大值,這樣就找到了正確的密鑰,S盒的輸出位置也就找到了

        圖1 樣本值h

        2.2 CPA完整攻擊流程

        高級加密標準是最常見的對稱加密算法,加解密使用相同的密鑰,可以在不同的平臺上實現(xiàn)。

        CPA完整攻擊流程[17]程序的主體是兩個循環(huán),隨機選擇明文P1,P2,…,PN,采集加密規(guī)程中的能量跡:電壓V,每條能量跡上有M個采樣點。

        For byte = 1∶16//外部循環(huán):循環(huán)猜測16個byte的密鑰;

        ForK= 0∶255 //內部循環(huán):每個猜測的密鑰共有256種可能需要將其從0遍歷到255;

        H=HW(Sbox(Pbyte⊕K))//猜測密鑰與明文異或,經過S盒處理后計算漢明重量,Pbyte表示各PN的第byte個字節(jié)[18];

        Form= 1∶M//計算每個采樣點的person相關系數(shù);

        V=Vm//Vm各能量跡V的第m個采樣點;

        Corr(K)=r(V,h)Rightkeybyte = find(max (corr))//取相關系數(shù)最大的值。

        3 ChipWhisperer使用CPA檢測AES-128加密算法

        3.1 捕獲部分

        首先在命令行下啟動Jupyter Notebook,啟動成功后可以在網頁上打開。在Jupyter Notebook下找到ChipWhisperer的項目位置,打開ChipWhisperer里面的CPA攻擊腳本,這個腳本里的內容是CW預設的一些參數(shù)和攻擊步驟,需要根據(jù)攻擊環(huán)境進行更改。

        在CPA的攻擊腳本中,需要修改PLATFORM的值,這個值是根據(jù)目標板的種類修改的,本實驗使用的是CW303的目標板,因此需要把PLATFORM的值改為PLATFORM='CW303'。

        ChipWhisperer的連接是寫在腳本Setup_Generic.ipynb中的,里面含有一些參數(shù)的設置,例如:PLATFORM值、間隔時間、時鐘頻率等。如果要在攻擊腳本里進行連接,需要運行這個腳本進行連接。但是單獨運行其他的腳本會使實驗結構復雜化,每次調試都要去重啟它,增加實驗的難度,本實驗利用run命令在攻擊腳本中直接調用Setup_Generic.ipynb連接設備,避免了每次調試都需要單獨連接設備。

        本實驗使用XMEGA目標進行實驗,XMEGA目標需要對XMEGA進行編程,XMEGA編程需要首先將XMEGA設備里的內容清空,然后重新寫入需要的內容[19],成功寫入后并給出提示。

        成功連接并確認內容已編程到XMEGA設備中,就可以捕獲目標的能量跡了。為了更好地展示能量跡的捕獲進程,該文利用python里面的tqdm模塊,構建進度條[20]。因此從運行結果中可以看到捕獲能量跡的進度,成功運行后還需要把捕獲到的能量跡保存下來。本實驗統(tǒng)一把能量跡保存在project下,方便后續(xù)的使用。

        本實驗使用Python中的holoviewsSuJu數(shù)據(jù)分析/可視化庫具有快速生成交互性和高維可視化非常適合于數(shù)據(jù)的交互式探索的特點,利用其功能對捕獲到的能量跡進行制作[21],以采樣點位5 000為例,捕獲到的能量跡如圖2所示。

        圖2 捕獲能量跡

        3.2 分析部分

        計算相關性之前需要獲取一個字節(jié)的輸入和一個字節(jié)的猜測密鑰,并且返回S-Box的輸出,根據(jù)猜測密鑰計算其漢明權重,利用下面的公式:

        HW=[bin(n).count(″1″) fornin range(0,256)]

        來計算漢明權重。

        首先是計算相關性問題。Personal相關系數(shù)[22](皮爾遜相關系數(shù))的計算方法如下:

        根據(jù)皮爾遜相關系數(shù)的計算方法可以得到每個猜測密鑰的相關性,利用這些相關性可以找出那些猜測密鑰符合捕捉到的能量軌跡。對于相關系數(shù)而言,只需要關注其絕對值[23](即存在線性相關性),而不關心符號。此外,雖然沒考慮到相關性的計算,但是每條記錄的trace實際上是由一堆樣本點組成的,這意味著實驗實際擁有的是每個子猜測密鑰與每個樣本點的相關性[24]。通常只有跟蹤中的幾個點是相關的,它是需要關注的整個跟蹤中的最大值,因此本實驗通過獲取最大值的方式選擇每個子猜測密鑰的相關性。最后,通過找到相關性最大的子猜測密鑰確定與數(shù)據(jù)最匹配的子猜測密鑰[25]。

        經過以上部分計算皮爾遜相關系數(shù)并得出相關性最大的猜測子密鑰,本實驗將這些猜測子密鑰存在results中,利用print函數(shù)可以輸出這些猜測子密鑰,輸出的內容為最大猜測子密鑰的值以及相關系數(shù)的值。本實驗還使用python里面的pandas庫,更好地在數(shù)據(jù)幀中輸出它們[26]。

        除此之外,還使用style方法來進一步刻畫它,使它可以鏈接格式化函數(shù)。例如,由于猜測密鑰是從0-255,因此有很多相關性很小甚至無限趨近于0的數(shù)據(jù),可以刪除多余的0并清理數(shù)據(jù)。本實驗更進一步地對得到的密鑰進行處理,如輸出不同顏色的密鑰,并把正確密鑰用紅色輸出且在表格的最頂部。這樣,就完成了對AES-128的CPA攻擊。

        4 相關系數(shù)方法的改進

        相關函數(shù)的實現(xiàn)可以作為一個遍歷所有跟蹤的循環(huán)運行。理想情況下,希望將相關系數(shù)作為一種“在線”計算。為了實現(xiàn)這種“在線”計算,可以添加一個跟蹤,觀察輸出,再添加另一個跟蹤,觀察輸出[27]。當生成部分猜測熵(PGE)與軌跡數(shù)量的圖時,這是非??扇〉模绻麤]有這種輸出的存儲方法,在得到最后的結果時需要多次運行循環(huán),這些循環(huán)是用來計算不同階段的輸出[28]。

        根據(jù)上面這種情況,可以使用相關方程的另一種形式,它會顯式地存儲變量的和,這更容易執(zhí)行在線計算。它把每次添加跟蹤得到的結果保存起來,當添加新的跟蹤時,根據(jù)之前存儲的計算結果,很容易更新這些總和,而不需要循環(huán)地運行之前得到的計算結果[29]。

        下面兩個公式就是改進后顯式的存儲變量的和。

        5 實驗結果分析

        通過捕獲到的能量跡上的采樣點設置猜測密鑰,計算各個明文在猜測密鑰下的S和輸出得到的樣本值,并利用能量跡和樣本值計算相關系數(shù)。實驗成功破解出AES的16組密鑰,如圖3和圖4所示。

        (a)前8組

        (b)后8組圖3 密鑰

        (a)前8組

        (b)后8組圖4 密鑰

        CPA破解密鑰的成功率與能量跡的條數(shù)和采樣點的個數(shù)有很大的關系,實驗首先固定能量跡的數(shù)量對采樣點的數(shù)量進行修改,得到圖4(3 000采樣點)和圖5(4 000采樣點)的密鑰破解結果。

        (a)前8組

        (b)后8組圖5 密鑰

        固定能量跡的條數(shù)以及調整采樣點的大小反復實驗,最終得到采樣點與成功率之間的關系圖。根據(jù)實驗結果可以發(fā)現(xiàn),在采樣點數(shù)量為0到5 000之間時,成功率會隨著采樣點數(shù)量的增加而增加,超過5 000之后,成功率基本處于平穩(wěn)狀態(tài),如圖6所示。

        圖6 采樣點個數(shù)和密鑰破解成功率

        固定最佳采樣點5 000,調整能量跡的條數(shù),每次增加5條能量跡,實驗得到具體的密鑰破解結果如圖7(20條能量跡)和圖8(25條能量跡)。

        (a)前8組

        (b)后8組圖7 密鑰

        (a)前8組

        (b)后8組圖8 密鑰

        實驗中固定采樣點的大小以及調整能量跡的條數(shù)實驗,最終得到能量跡與成功率之間的關系圖。根據(jù)實驗結果可以發(fā)現(xiàn),在采樣點數(shù)量為0到30之間時,成功率會隨著采樣點數(shù)量的增加而增加,超過30之后,成功率處于平穩(wěn)狀態(tài),如圖9所示。

        圖9 能量跡條數(shù)和密鑰破解成功率

        CPA攻擊的成功率正常情況下會隨著采樣點和能量跡數(shù)量的增加而增加,但同時運算速度也會下降,本實驗在保證成功率的同時提高了運算速度,采用不同的采樣點和能量跡進行反復實驗,最終得到能量跡為30條、采樣點位5 000時,CPA對AES的密鑰破解情況最好,此時幾乎可以達到100%的密鑰破解率,再增加數(shù)量就會導致運算速度降低。

        6 結束語

        隨著信息化水平的不斷提高,AES加密算法的安全問題尤為重要。雖然AES加密算法可以防御一些基本的攻擊方式,但針對側信道攻擊的防御還是較為薄弱的。該文針對AES-128加密算法實施了相關功耗分析攻擊,并成功破解了128位完整的密鑰。攻擊過程中使用ChipWhisperer成功捕獲了功耗曲線,通過計算漢明權重,得出了功耗數(shù)據(jù)的相關系數(shù),并推測密鑰是否正確。實驗結果表明,對AES-128加密算法的破解成功率達到了90%以上。AES-128加密算法容易受到相關功耗分析的攻擊,因此,在實際中使用AES加密算法時需要考慮芯片的安全測試,增加芯片抗側信道攻擊的防護。

        猜你喜歡
        實驗分析
        記一次有趣的實驗
        微型實驗里看“燃燒”
        隱蔽失效適航要求符合性驗證分析
        做個怪怪長實驗
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        電力系統(tǒng)及其自動化發(fā)展趨勢分析
        NO與NO2相互轉化實驗的改進
        實踐十號上的19項實驗
        太空探索(2016年5期)2016-07-12 15:17:55
        中西醫(yī)結合治療抑郁癥100例分析
        在線教育與MOOC的比較分析
        亚洲国产一区二区三区,| 免费无遮挡无码永久在线观看视频| 熟女肥臀白浆一区二区| 手机看片久久第一人妻| 国产自国产在线观看免费观看| 女人夜夜春高潮爽a∨片传媒| 日本一卡2卡3卡四卡精品网站| 真实国产乱啪福利露脸| 黑人性受xxxx黑人xyx性爽| 精品亚洲女同一区二区| 91精品国产综合久久青草| 一区二区三区黄色一级片| 亚洲av有码精品天堂| 精品日韩av专区一区二区| 国产在线一区二区三区香蕉| 人妻有码中文字幕在线| 成熟妇女毛茸茸性视频| 国产午夜精品视频观看| 久久人妻中文字幕精品一区二区| 风韵丰满熟妇啪啪区99杏| 中文乱码字字幕在线国语| 亚洲中国精品精华液| 国产精品视频亚洲二区| 国产精品国产三级国产av中文| 国产欧美日韩中文久久| 波多野结衣爽到高潮大喷| 久久精品女人天堂av免费观看| 台湾佬中文网站| 野外亲子乱子伦视频丶| 国产精品嫩草99av在线| 中文字幕乱伦视频| 天天插视频| 日韩av天堂综合网久久| 亚洲天堂精品一区入口| 婷婷成人丁香五月综合激情| 性欧美videofree高清精品| 亚洲 欧美 国产 日韩 精品 | 亚洲男人的天堂精品一区二区| 中文字幕日本女优在线观看| 国产亚洲av夜间福利在线观看| 尤物在线观看一区蜜桃|