《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 針對密碼算法的高階DPA攻擊方法研究
針對密碼算法的高階DPA攻擊方法研究
來源:電子技術(shù)應(yīng)用2013年第10期
趙東艷,,何 軍
北京南瑞智芯微電子科技有限公司,,北京100192
摘要: 差分能量分析(DPA)是一種強(qiáng)大的密碼算法攻擊技術(shù)。一種有效的防御措施是對參與運(yùn)算的中間數(shù)據(jù)進(jìn)行掩碼,,然而采用掩碼技術(shù)的密碼算法仍然可以用高階DPA進(jìn)行攻擊,。高階DPA攻擊與一般DPA攻擊相比較存在很多難點(diǎn),,包括建立正確的攻擊模型、選取正確的攻擊點(diǎn),、構(gòu)造適當(dāng)?shù)慕M合函數(shù)以及提高攻擊模型的信噪比等,。通過對一種經(jīng)典的掩碼方案進(jìn)行分析,逐一闡述在高階DPA攻擊中如何解決上述難點(diǎn),,并在硬件實(shí)現(xiàn)的算法協(xié)處理器上對攻擊方法進(jìn)行了驗(yàn)證,。
中圖分類號: TP309
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)10-0056-03
Investigation of high order DPA against cryptographic algorithm
Zhao Dongyan,He Jun
Beijing NARI SmartChip Microelectronics Company Limited,,Beijing 100192,,China
Abstract: Differential power analysis is a powerful attack against cryptographic algorithms. An effective protection method is to mask the intermediate data during calculation. However, cryptographic algorithms with masking technology are still susceptible to high order DPA. Compared with normal DPA, there are more difficulties to be solved in high order DPA such as correct attack modeling, right choices of attack points, right construction of composition function and ways of improving s/n rate, etc. In this paper, by analyzing a classic masking scheme, we will demonstrate how to solve the difficulties mentioned above during a high order DPA attack, and then verify it on a hardware-implemented cryptographic coprocessor.
Key words : high order DPA;differential power analysis,;side channel analysis

    近幾年來,,針對密碼算法的DPA攻擊得到越來越多的關(guān)注。通過對設(shè)備的功耗進(jìn)行分析發(fā)現(xiàn),,密碼設(shè)備在執(zhí)行相同指令的情況下,,功耗與參與運(yùn)算的密鑰有一定的關(guān)系。攻擊者利用這種關(guān)系對采集到的能量跡進(jìn)行DPA攻擊,,可以分析出密鑰[1-3],。

    為了防御DPA攻擊,,一種有效的技術(shù)是對參與運(yùn)算的數(shù)據(jù)進(jìn)行隨機(jī)掩碼,,也稱為信息盲化[4]。加了掩碼的數(shù)據(jù)在進(jìn)行密碼運(yùn)算時(shí),,包含密鑰信息的中間數(shù)據(jù)被掩碼保護(hù)起來,,因此能夠抵抗一階DPA攻擊,。然而這種防御技術(shù)仍然可以用高階DPA進(jìn)行攻擊。相對一階DPA攻擊來說,,高階DPA需要攻擊者了解更多的算法實(shí)現(xiàn)細(xì)節(jié),,并且需要選擇恰當(dāng)?shù)墓裟P停怨暨^程也比一階DPA復(fù)雜得多,。
1 能量泄露模型和DPA攻擊原理
1.1 能量泄露模型

    設(shè)備的功耗可以通過在設(shè)備的GND管腳和地之間插入一個(gè)電阻,,然后用示波器測量電阻兩端的電壓變化來獲得。為了建立能量泄露模型,,用P[t]表示設(shè)備在特定t時(shí)刻的功耗,。P[t]可以分成兩部分,第一部分是與運(yùn)算相關(guān)的功耗d[t],,第二部分是所有與運(yùn)算無關(guān)的功耗n,,包括常量部分以及各種噪聲。因此P[t]可以表示為[5]:
 

    從表1可以看出,,在泄露漢明重量的情況下,,使用絕對差組合函數(shù)能達(dá)到更好的效果。

2 掩碼技術(shù)和高階DPA攻擊
2.1 掩碼技術(shù)原理

    掩碼技術(shù)的核心思想是使密碼設(shè)備的功耗不依賴于設(shè)備所執(zhí)行的密碼算法的中間值,。掩碼技術(shù)通過隨機(jī)化密碼設(shè)備所處理的中間值來實(shí)現(xiàn)這個(gè)目標(biāo),。掩碼方案可以用下式來表示:
    

 


2.3 變形掩碼方案的高階DPA攻擊
    在上述掩碼方案中,整個(gè)加密過程每個(gè)中間值都帶著掩碼,,因此可以抵抗一階DPA攻擊,。掩碼方案為了保證每輪運(yùn)算的結(jié)構(gòu)相同,在輪運(yùn)算結(jié)束時(shí)通過非線性的SBOX變換將掩碼重新設(shè)置為每輪開始的的掩碼值X132-63,。

    在同時(shí)攻擊12 bit子密鑰時(shí),,密鑰組合為212個(gè),即需要攻擊4 096個(gè)假設(shè)密鑰,。
3 高階DPA攻擊實(shí)驗(yàn)驗(yàn)證
    基于以上分析,,對FPGA上實(shí)現(xiàn)的帶變形掩碼方案的DES算法進(jìn)行了攻擊實(shí)驗(yàn)。首先在DES運(yùn)算過程中采集2 000條能量跡,,在該能量跡上可以清晰地識別出每輪DES運(yùn)算過程,,如圖4所示。

    為了抵抗DPA攻擊,,掩碼技術(shù)越來越多地被采用,。但掩碼方案可能受到高階DPA的攻擊,因此在設(shè)計(jì)掩碼方案時(shí),,需要充分考慮抵抗高階DPA攻擊的措施,。本文首先介紹了能量泄露模型以及一階和高階DPA的攻擊原理。然后結(jié)合變形掩碼方案,從理論上證明可以采用二階DPA實(shí)施攻擊,,并且論述了組合函數(shù)的選擇以及在攻擊中提高信噪比的方法,。本文最后在FPGA上對掩碼方案的硬件實(shí)現(xiàn)進(jìn)行了攻擊實(shí)驗(yàn),并成功獲得密鑰,。
參考文獻(xiàn)
[1] KOCHER P,,JAFFE J,JUN B.Introduction to differential  power analysis and related attacks[A].Cryptography Research  Inc.,,1998.
[2] KOCHER P,,JAE J,JUN B.Differential power analysis[C].  In Proceedings of CRYPTO'99,,Springer-Verlag,,1999.
[3] MESSERGES T S,DABBISH E A,,SLOAN R H,Investigations of power analysis attacks on smartcards[C].In Proceedings of the USENIX Workshop on Smartcard Technology,,Chicago,1999.
[4] AKKAR M L,,GIRAUD C.An implementation of DES and  AES secure against some attacks[C].In Proceedings of  CHES'2001,,Springer-Verlag,2001.
[5] BRIER E,,CLAVIER C,,OLIVIER F.Correlation power  analysis with a leakage model[C].In Cryptographic Hardware  and Embedded Systems-CHES 2004,Springer-Verlag,,2004.
[6] MESSERGES T S.Using second-order power analysis to  attack DPA resistant software[C].In Proceedings of CHES’ 2000,,Springer-Verlag,2000.

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