《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA實(shí)現(xiàn)AES的側(cè)信道碰撞攻擊
基于FPGA實(shí)現(xiàn)AES的側(cè)信道碰撞攻擊
2014年電子技術(shù)應(yīng)用第10期
郭建飛,王 忠,嚴(yán)迎建,郭朋飛
解放軍信息工程大學(xué),河南 鄭州450004
摘要: 為了解決攻擊點(diǎn)在能量跡中具體位置的識(shí)別問(wèn)題,在對(duì)側(cè)信道碰撞攻擊技術(shù)研究的基礎(chǔ)上,提出了通過(guò)計(jì)算能量跡中每個(gè)采樣點(diǎn)的方差來(lái)識(shí)別攻擊點(diǎn)的方差檢查技術(shù)。
中圖分類(lèi)號(hào): TP309.7
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)10-0066-03
中文引用格式:郭建飛,王忠,嚴(yán)迎建,郭朋飛.基于FPGA實(shí)現(xiàn)AES的側(cè)信道碰撞攻擊[J].電子技術(shù)應(yīng)用,2014,40(10):66-68+71.
Side-channel collision attack based on the FPGA implementation of AES
Guo Jianfei,Wang Zhong,Yan Yingjian,Guo Pengfei
PLA Information Engineering University,Zhengzhou 450004,China
Abstract: To solve the problem on the identification of location of the attack point in the energy traces, this paper puts forward the variance inspection technology, which computes variance of every sampling points in energy traces to identify the attack point, based on the research of side-channel collision attack. What′s more, this paper implements an attack to the AES FPGA implemented by the use of correlation-based collision detection method. The result shows that the variance detection technology can effectively identify the location of the attack point in the energy traces.
Key words : side-channel collision attack;AES;variance inspection;correlation;collision detection

0 引言

    2003年Schramm等在FSE上提出碰撞攻擊[1],參考文獻(xiàn)[2]首次將側(cè)信道碰撞應(yīng)用到AES上。隨后,Bogdanov[3]對(duì)AES的側(cè)信道碰撞攻擊進(jìn)行了改進(jìn),Moradi等人[4]提出對(duì)使用掩碼S盒的AES進(jìn)行碰撞攻擊。側(cè)信道碰撞攻擊不需要依賴(lài)任何泄露模型,只需擁有識(shí)別攻擊點(diǎn)在能量跡中位置的能力。

    本文在對(duì)側(cè)信道碰撞攻擊技術(shù)研究的基礎(chǔ)上,提出了方差檢查技術(shù),并利用基于相關(guān)系數(shù)碰撞檢測(cè)方法,對(duì)AES實(shí)施了攻擊。

1 碰撞攻擊流程及AES碰撞分析

1.1 碰撞攻擊流程

    碰撞攻擊可按圖1所示的步驟實(shí)施。側(cè)信道碰撞攻擊技術(shù)可分為4個(gè)階段:碰撞分析、側(cè)信息測(cè)量、碰撞檢測(cè)和密鑰恢復(fù)。其中,碰撞分析和碰撞檢測(cè)為側(cè)信道碰撞攻擊的關(guān)鍵,本文主要對(duì)這兩個(gè)階段進(jìn)行研究。

xxaq4-t1.gif

1.2 AES碰撞分析及密鑰恢復(fù)

    本文選擇AES進(jìn)行側(cè)信道碰撞攻擊的研究。記K=xxaq4-gs.gif

    如圖2所示,假設(shè)在AES第一輪S盒中的第4個(gè)字節(jié)和第11個(gè)字節(jié)位置處發(fā)生一次碰撞,則:

xxaq4-gs1-3.gif

xxaq4-t2.gif

    即第一輪子密鑰字節(jié)k2,…,k16均可由k1表示,然后在給定明密文對(duì)的條件下遍歷k1,就可確定k1,根據(jù)k1和方程組(3)就可求出其他比特密鑰。

2 算法實(shí)現(xiàn)及能量采集

2.1 算法實(shí)現(xiàn)

    對(duì)面積和功耗有較高要求的分組密碼算法在硬件實(shí)現(xiàn)時(shí),會(huì)對(duì)S盒采取復(fù)用[4-6],這為側(cè)信道碰撞攻擊的實(shí)施提供了契機(jī)。本文以如圖3所示AES為攻擊對(duì)象。

xxaq4-t3.gif

    圖中,控制模塊控制寄存器組1每一個(gè)時(shí)鐘周期輸出輸入選擇模塊結(jié)果的8位,最后一圈時(shí),寄存器組1中的128比特?cái)?shù)值為密文;寄存器組2用于寄存16個(gè)時(shí)鐘周期中S盒運(yùn)算的輸出。

2.2 能量采集平臺(tái)

    采用如圖4所示的能量采集平臺(tái)[7]對(duì)本文的研究進(jìn)行驗(yàn)證。其中,PC對(duì)控制模塊和密碼芯片進(jìn)行信息配置,并對(duì)示波器采集到的波形數(shù)據(jù)進(jìn)行分析;控制模塊控制密碼芯片的加解密運(yùn)算;信號(hào)發(fā)生器提供系統(tǒng)時(shí)鐘;密碼芯片中下載待攻擊密碼算法;示波器采集密碼芯片的電磁輻射信息。

xxaq4-t4.gif

3 基于相關(guān)系數(shù)的碰撞檢測(cè)方法

    本文提出通過(guò)計(jì)算能量跡中每一采樣點(diǎn)的方差來(lái)識(shí)別攻擊點(diǎn)的方差檢查技術(shù),并利用基于相關(guān)系數(shù)的碰撞檢測(cè)方法對(duì)其進(jìn)行了驗(yàn)證。

3.1 方差檢查

    概率論上,方差用于度量隨機(jī)變量和其數(shù)學(xué)期望之間的偏離程度,隨機(jī)變量X的方差如式(4)所示:

    xxaq4-gs4.gif

    當(dāng)不同算法操作處理不同輸入時(shí),對(duì)應(yīng)的側(cè)信息有差別,基于此,可利用方差來(lái)檢查電磁曲線中碰撞攻擊點(diǎn)的位置信息,具體步驟如下:

    (1)針對(duì)某一攻擊點(diǎn),遍歷所有對(duì)應(yīng)明文位作為能量采集平臺(tái)中算法的明文輸入;

    (2)利用能量采集平臺(tái)采集對(duì)應(yīng)明文的電磁曲線波形;

    (3)對(duì)電磁曲線中每一個(gè)采樣點(diǎn)進(jìn)行方差計(jì)算。

    具體地,針對(duì)AES算法,將第一輪第一個(gè)S盒視為碰撞攻擊點(diǎn),對(duì)其進(jìn)行方差檢查。

    首先,遍歷對(duì)應(yīng)第一個(gè)S盒輸入的8位明文;然后,利用能量采集平臺(tái)重復(fù)采集y次對(duì)應(yīng)遍歷明文的電磁曲線,對(duì)每個(gè)明文對(duì)應(yīng)的電磁曲線做平均,得到28條平均電磁曲線,記第i條平均電磁曲線為:

xxaq4-gs5-6.gif

    利用式(6)對(duì)28條平均電磁曲線計(jì)算每一個(gè)采樣點(diǎn)的方差,就可得到對(duì)應(yīng)第一個(gè)S盒的方差圖。

3.2 碰撞檢測(cè)方法

xxaq4-gs6-1.gif

xxaq4-t5.gif

    對(duì)應(yīng)第j個(gè)采樣點(diǎn)的相關(guān)系數(shù)可利用下式進(jìn)行計(jì)算:

xxaq4-gs7.gif

4 攻擊驗(yàn)證

    本節(jié)從實(shí)測(cè)驗(yàn)證、方差計(jì)算、相關(guān)系數(shù)計(jì)算三個(gè)方面對(duì)AES的實(shí)現(xiàn)進(jìn)行攻擊驗(yàn)證。

4.1 實(shí)測(cè)驗(yàn)證

    按照側(cè)信道信息采集平臺(tái)的工作流程,采集AES密碼芯片運(yùn)行時(shí)16個(gè)S盒運(yùn)算的泄露信息如圖6所示。

xxaq4-t6.gif

    從圖6可以看出示波器上的能量跡與AES的16個(gè)時(shí)鐘周期的S盒運(yùn)算十分吻合。因此,能量采集平臺(tái)下觀測(cè)到的能量跡曲線可以作為攻擊的信息源。

4.2 方差計(jì)算

    如3.1節(jié)的描述對(duì)個(gè)別S盒發(fā)生泄露的位置進(jìn)行檢測(cè)。選擇兩個(gè)S盒為碰撞點(diǎn)時(shí),固定α∈GF(28),遍歷Δa,b,對(duì)每個(gè)明文重復(fù)50次測(cè)量,對(duì)應(yīng)每個(gè)S盒可各得50×28條跡,對(duì)兩組28條平均跡分別求方差,得到圖7所示兩個(gè)方差圖。

xxaq4-t7.gif

    從圖中可以看出,在第110個(gè)采樣點(diǎn)附近和第160個(gè)采樣點(diǎn)附近兩圖有明顯差異,說(shuō)明算法執(zhí)行時(shí)對(duì)這兩部分操作處理的數(shù)據(jù)有明顯不同,這與遍歷輸入明文字節(jié)的位置不同相對(duì)應(yīng),印證了第一個(gè)S盒和第二個(gè)S盒作為碰撞攻擊點(diǎn)的事實(shí)。

4.3 相關(guān)系數(shù)計(jì)算

xxaq4-gs7-1.gif

xxaq4-t8.gif

    從圖8中可以看出,當(dāng)Δa,b=128’h0000 0000 0000 0000 0000 0000 0000 2200時(shí),對(duì)應(yīng)P和Pxxaq3-t3-.gifΔa,b的相關(guān)系數(shù)曲線有明顯的尖峰,則碰撞檢測(cè)成功。

5 結(jié)論

    為了識(shí)別攻擊點(diǎn),本文提出方差檢查技術(shù),在對(duì)AES進(jìn)行攻擊的過(guò)程中,利用基于相關(guān)系數(shù)的碰撞檢測(cè)方法對(duì)其進(jìn)行了驗(yàn)證,結(jié)果表明方差檢查技術(shù)可以有效地識(shí)別攻擊點(diǎn)在能量跡中的位置信息。

參考文獻(xiàn)

[1] SCHRAMM K,WOLLINGER T,PAAR C.A new class of collision attacks and its application to DES[C].Johansson,T.(ed.)FSE 2003,LNCS,Springer,Heidelberg,2003:206-222.

[2] SCHRAMM K,LEANDER G,F(xiàn)ELKE P,et al.A collisionattack on AES:combining side channel and differentialattack[C].Joye,M.,Quisquater,J.-J.(eds.) CHES 2004,LNCS,Springer,Heidelberg,2004:163-175.

[3] BOGDANOV A.Improved side-channel collision attacks on AES[C].Selected Areas in Cryptography-SAC 2007,2007:84-95.

[4] MORADI A,MISCHKE O,EISENBARTH T.Correlationenhanced power analysis collision attack[C].CHES,2010:125-139.

[5] CANRIGHT D.A very compact S-Box for AES[C].CHES 2005,volume 3659 of LNCS,Springer,2005:441-455.

[6] SATOH A,MORIOKA S,TAKANO K,et al.A compact rijndael hardware architecture with S-Box optimization[C].Advances in Cryptology-ASIACRYPT 2001,volume 2248 of LNCS,Springer,2001:239-254.

[7] 段二朋,嚴(yán)迎建,李佩之.針對(duì)AES密碼算法FPGA實(shí)現(xiàn)的CEMA攻擊[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(8):2926-2930.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。