針對DES密碼芯片的CPA攻擊仿真設計方案
1.2 功耗泄漏模型
目前絕大多數密碼芯片都是基于CMOS工藝,CMOS邏輯電路的動態(tài)功耗取決于邏輯門的翻轉率。單個邏輯門的功耗可以表示為:
式中, f表示邏輯門最大變化率,P0→1表示0→1轉換的概率,CL是邏輯門的負載電容,VDD是電源電壓。功耗分析正是以式?。?)中動態(tài)功耗對數據的依賴性為理論基礎的。整個電路硬件內部結構非常復雜,動態(tài)功耗取決于整個邏輯電路的整體翻轉率的統(tǒng)計特性和電路所采用的工藝。為簡單起見,可以簡化地認為電路的總功耗與整體翻轉率成一定的正比關系?;谶@種相關性建立起來的功耗模型能夠反映出當前密碼算法電路所處理的數據引起的瞬時功耗的變化情況。功耗分析攻擊是通過對多次測量得到的功耗曲線,進行統(tǒng)計分析出電路中相應數據位的變化來破解密鑰的。
功耗泄漏模型一般是在寄存器級建立。攻擊者經常把攻擊點選在DES密碼算法首輪或最后一輪的寄存器輸出處,記輸出時刻為t,則瞬時能耗T(t1)如下:
式中,D0(t0)代表寄存器中在前1個時刻t0所存儲的二進制序列, D0(t1)代表寄存器中在下1個時刻t1所存儲的二進制序列,δ代表轉換時的1個因子。通過比較前后時刻相應碼字的變化,當碼字由0→1時,總模擬功耗值加1;當碼字由1→0時,總模擬功耗值加1×(1-δ)。δ的大小根據算法實現的平臺統(tǒng)計分析得到,對于一般的CMOS邏輯電路,δ通常取值為0.17。
2 CPA攻擊原理
功耗模型一般是基于所處理數據的線性漢明距建立。如1.2節(jié)所述的瞬時功耗為:
式中所示的相關系數說明部分密鑰位猜測正確時,中間計算結果與加密器件的瞬時功耗在被攻擊時刻能夠關聯(lián)起來,對應時刻的相關系數也是最大的。而用錯誤的猜測密鑰計算出來的中間結果與功耗之間不具有相關性或僅有弱相關性,其相關系數很小。根據這一原理,可以用仿真的方法對密碼算法電路進行攻擊,根據攻擊的難度可以判斷抗功耗分析性能。
評論