《能量分析攻擊》可以作為密碼學(xué)、電子工程、信息安全等專業(yè)的教材,也可以供相關(guān)專業(yè)人員參考。能量分析攻擊旨在通過分析密碼設(shè)備的能量消耗這一物理特性來恢復(fù)設(shè)備內(nèi)部的秘密信息,這種基于實現(xiàn)特性的密碼分析對廣泛應(yīng)用的各類密碼模塊的實際安全性造成了嚴重威脅,《能量分析攻擊》是關(guān)于能量分析攻擊的綜合性專著,系統(tǒng)闡述了能量分析攻擊的基本原理、技術(shù)方法以及防御對策的設(shè)計與分析。
更多科學(xué)出版社服務(wù),請掃碼獲取。
1996年,Paul Kocher博士(2009年1月當選為美國工程院院士)首次提出計時攻擊的重要奠基性思想并發(fā)表相關(guān)研究成果,此后十余年來,側(cè)信道攻擊及防御對策研究便成為密碼學(xué)研究中的一個重要分支,受到了國際學(xué)術(shù)界與產(chǎn)業(yè)界的廣泛關(guān)注,能量分析攻擊是最重要、最有效的側(cè)信道攻擊形式之一,對諸如智能卡這樣的智能設(shè)備的實際安全性造成了極大的威脅,相關(guān)研究是當前側(cè)信道攻擊研究領(lǐng)域的熱點方向,近年來,內(nèi)嵌密碼模塊的智能設(shè)備和嵌入式設(shè)備已廣泛應(yīng)用于各類信息產(chǎn)品與通信系統(tǒng)中,在這類應(yīng)用環(huán)境與應(yīng)用模式下,能量分析攻擊對系統(tǒng)安全性造成的實際威脅將更加嚴重。
能量分析攻擊是什么?實施能量分析攻擊需要什么樣的設(shè)備與技術(shù)條件?這種攻擊對密碼設(shè)備的實際安全性將會造成什么樣的影響?如何設(shè)計可靠、高效、低廉的防御對策來有效地防御這類攻擊?如何客觀、合理地評估各種防御措施的有效性?本書作者在側(cè)信道攻擊、防御措施設(shè)計以及有效性評估方面進行了一系列先鋒性的研究和實踐,本書就是他們近幾年來一系列優(yōu)秀工作成果和經(jīng)驗的總結(jié),將會對上述問題進行解答。
正所謂“知己知彼,百戰(zhàn)不殆”,試圖有效地抵御能量分析攻擊,最有效的途徑就是深入地剖析它,本書系統(tǒng)地論述了能量分析攻擊的理論基礎(chǔ)、技術(shù)條件、實施方法以及相應(yīng)的防御對策;基于一系列的實驗結(jié)果和理論分析,將能量分析攻擊的相關(guān)研究成果融入一個具有創(chuàng)新性的理論框架,同時,本書也是國際上關(guān)于能量分析攻擊(甚至是側(cè)信道攻擊)研究的第一部學(xué)術(shù)專著,因此,在承擔國家自然科學(xué)基金、國家高技術(shù)研究發(fā)展計劃以及北京市自然科學(xué)基金等相關(guān)項目的過程中,我們組織項目組主要成員翻譯了本書,希望對國內(nèi)密碼學(xué)的研究與密碼技術(shù)的應(yīng)用起到一定的推動作用。
目錄
譯者序
序
前言
符號說明
術(shù)語
第1章 引言 1
1.1 密碼學(xué)與密碼設(shè)備 1
1.2 密碼設(shè)備攻擊 3
1.3 能量分析攻擊 5
1.4 能量分析攻擊防御對策 10
1.5 小結(jié) 11
第2章 密碼設(shè)備 12
2.1 組成部件 12
2.2 設(shè)計與實現(xiàn) 13
2.2.1 設(shè)計步驟 14
2.2.2 半定制化設(shè)計 15
2.3 邏輯元件 18
2.3.1 邏輯元件類型 18
2.3.2 互補型CMOS 19
2.4 小結(jié) 20
第3章 能量消耗 22
3.1 CMOS電路的能量消耗 22
3.1.1 靜態(tài)能量消耗 23
3.1.2 動態(tài)能量消耗 24
3.1.3 毛刺 26
3.2 適用于設(shè)計者的能量仿真與能量模型 28
3.2.1 模擬級 28
3.2.2 邏輯級 29
3.2.3 行為級 30
3.2.4 比較 31
3.3 適用于攻擊者的能量仿真與能量模型 31
3.3.1 漢明距離模型 32
3.3.2 漢明重量模型 32
3.3.3 其他能量模型 34
3.3.4 比較 35
3.4 能量分析攻擊測量配置 35
3.4.1 典型測量配置 35
3.4.2 能量測量電路與電磁探針 37
3.4.3 數(shù)字采樣示波器 38
3.4.4 測量配置示例 39
3.5 測量配置質(zhì)量標準 42
3.5.1 電子噪聲 43
3.5.2 轉(zhuǎn)換噪聲 44
3.6 小結(jié) 47
第4章 能量跡的統(tǒng)計特征 49
4.1 能量跡的組成 49
4.2 能量跡單點特征 50
4.2.1 電子噪聲 50
4.2.2 數(shù)據(jù)依賴性 53
4.2.3 操作依賴性 56
4.3 能量跡單點泄漏 56
4.3.1 信號與噪聲 56
4.3.2 信噪比 58
4.4 能量跡多點特征 63
4.4.1 相關(guān)性 63
4.4.2 多元高斯模型 65
4.5 能量跡壓縮 66
4.5.1 能量跡關(guān)聯(lián)點 67
4.5.2 示例 68
4.6 置信區(qū)間與假設(shè)檢驗 70
4.6.1 采樣分布 70
4.6.2 置信區(qū)間 71
4.6.3 置信區(qū)間與假設(shè)檢驗 71
4.6.4 ux-uy的置信區(qū)間與假設(shè)檢驗 75
4.6.5 p置信區(qū)間與假設(shè)檢驗 77
4.6.6 p0-p1置信區(qū)間與假設(shè)檢驗 78
4.7 小結(jié) 79
第5章 簡單能量分析 81
5.1 概述 81
5.2 能量跡直觀分析 82
5.2.1 軟件實現(xiàn)的能量跡直觀分析示例 82
5.3 模板攻擊 84
5.3.1 概述 85
5.3.2 模板構(gòu)建 85
5.3.3 模板匹配 87
5.3.4 對MOV指令的模板攻擊示例 88
5.3.5 對AES密鑰編排的模板攻擊示例 90
5.4 碰撞攻擊 91
5.4.1 對軟件實現(xiàn)的碰撞攻擊示例 92
5.5 注記與補充閱讀 93
第6章 差分能量分析 97
6.1 概述 97
6.2 基于相關(guān)系數(shù)的攻擊 100
6.2.1 對軟件實現(xiàn)的攻擊示例 101
6.2.2 對硬件實現(xiàn)的攻擊示例 105
6.3 相關(guān)系數(shù)的計算與仿真 111
6.3.1 軟件示例 113
6.3.2 硬件示例 116
6.4 能量跡數(shù)量估算 119
6.4.1 經(jīng)驗法則 120
6.4.2 示例 121
6.5 相關(guān)系數(shù)的替代方法 122
6.5.1 均值差 123
6.5.2 均值距 125
6.5.3 廣義極大似然檢驗 125
6.6 基于模板的DPA攻擊 126
6.6.1 概述 127
6.6.2 對軟件實現(xiàn)的攻擊示例 128
6.7 注記與補充閱讀 129
第7章 隱藏技術(shù) 135
7.1 概述 135
7.1.1 時間維度 135
7.1.2 振幅維度 136
7.1.3 隱藏技術(shù)的實現(xiàn)方法 138
7.2 體系結(jié)構(gòu)級對策 138
7.2.1 軟件實現(xiàn) 138
7.2.2 硬件實現(xiàn) 139
7.3 元件級對策 141
7.3.1 DRP 邏輯結(jié)構(gòu)概述 141
7.3.2 DRP 邏輯結(jié)構(gòu)的恒定能量消耗 143
7.3.3 半定制化設(shè)計與DRP 邏輯結(jié)構(gòu) 144
7.4 DRP 邏輯結(jié)構(gòu)示例 146
7.4.1 基于靈敏放大器的DRP 邏輯 147
7.4.2 波動差分邏輯 152
7.5 注記與補充閱讀 156
第8章 對隱藏技術(shù)的攻擊 160
8.1 概述 160
8.1.1 時間維度 160
8.1.2 振幅維度 161
8.2 對失調(diào)能量跡的DPA 攻擊 163
8.2.1 失調(diào)緣由 163
8.2.2 能量跡對齊 164
8.2.3 能量跡預(yù)處理 166
8.2.4 示例 169
8.3 對DRP邏輯的攻擊 172
8.3.1 平衡互補性導(dǎo)線 172
8.3.2 非平衡互補性邏輯 174
8.4 注記與補充閱讀 175
第9章 掩碼技術(shù) 178
9.1 概述 178
9.1.1 布爾掩碼與算術(shù)掩碼 179
9.1.2 秘密共享 179
9.1.3 盲化 180
9.1.4 可證明安全性 180
9.2 體系結(jié)構(gòu)級對策 180
9.2.1 軟件實現(xiàn) 181
9.2.2 硬件實現(xiàn) 183
9.3 元件級對策 188
9.3.1 掩碼型邏輯結(jié)構(gòu)概述 188
9.3.2 半定制化設(shè)計與掩碼型邏輯結(jié)構(gòu) 190
9.4 掩碼型邏輯結(jié)構(gòu)示例 190
9.4.1 掩碼型DRPL邏輯結(jié)構(gòu) 190
9.5 注記與補充閱讀 193
第10章 對掩碼技術(shù)的攻擊 196
10.1 概述 196
10.1.1 二階DPA攻擊 197
10.2 DPA攻擊 198
10.2.1 乘積類掩碼技術(shù) 198
10.2.2 掩碼重用攻擊 199
10.2.3 有偏掩碼攻擊 200
10.3 對軟件實現(xiàn)的二階DPA攻擊 200
10.3.1 預(yù)處理 200
10.3.2 基于預(yù)處理后能量跡的DPA攻擊 201
10.3.3 對掩碼型AES實現(xiàn)的攻擊示例 203
10.3.4 對掩碼亂序型AES實現(xiàn)的攻擊示例 204
10.4 對軟件實現(xiàn)的基于模板的二階DPA攻擊 205
10.4.1 在能量跡預(yù)處理前使用模板 206
10.4.2 在能量跡預(yù)處理中使用模板 207
10.4.3 在能量跡預(yù)處理后使用模板 207
10.5 基于模板的DPA攻擊 208
10.5.1 概述 209
10.5.2 對掩碼型AES實現(xiàn)的攻擊示例 209
10.6 對硬件實現(xiàn)的二階DPA攻擊 210
10.6.1 預(yù)處理 211
10.6.2 基于預(yù)處理后能量跡的DPA攻擊 211
10.6.3 對掩碼型S盒實現(xiàn)的攻擊示例 212
10.6.4 對MDPL的攻擊示例 212
10.7 注記與補充閱讀 214
第11章 結(jié)論 218
11.1 特定結(jié)論 218
11.2 一般性結(jié)論 223
參考文獻 225
附錄A 差分能量分析 250
A.1 背景知識 250
A.2 能量分析簡介 251
A.3 防御SPA 253
A.4 對DES實現(xiàn)的差分能量分析 253
A.5 對其他算法實現(xiàn)的差分能量分析 257
A.6 防御DPA 257
A.7 其他相關(guān)攻擊 258
A.8 結(jié)論 258
參考文獻 258
附錄B 高級加密標準 260
B.1 算法描述 261
B.1.1 AES加密算法的結(jié)構(gòu) 261
B.1.2 輪變換 261
B.1.3 密鑰編排 264
B.2 軟件實現(xiàn) 265
B.2.1 微控制器 265
B.2.2 AES匯編實現(xiàn) 266
B.3 硬件實現(xiàn) 268
B.3.1 加密核 268
B.3.2 S盒 270
作者索引 271
主題索引 276
被動型半入侵式攻擊的目標通常是在無需利用或者探測儲存單元的數(shù)據(jù)讀取電路的情況下,讀取出儲存元件中的內(nèi)容,文獻[ssAQ02]公開發(fā)表了一種成功的此類攻擊。
主動型半入侵式攻擊的目標是誘發(fā)設(shè)備產(chǎn)生故障,這項工作可以通過使用x射線、電磁場或者光學(xué)手段等來完成,例如,文獻[sA031中發(fā)表了關(guān)于通過光學(xué)手段實施故障誘發(fā)攻擊的描述。
通常,半入侵式攻擊不需要使用實施入侵式攻擊所需要的那樣昂貴的設(shè)備,然而其成本仍然相對高昂,特別地,在現(xiàn)代芯片的表面,選擇一個實施半入侵式攻擊的正確部位就需要花費一些時間,同時也需要一定的專業(yè)知識,關(guān)于半入侵式攻擊最全面的已公開文獻可參見Skorobogatov的博士論文(Sko05),非入侵式攻擊非入侵式攻擊中,被攻擊的密碼設(shè)備本質(zhì)上和其正常工作時的狀態(tài)沒有任何區(qū)別,也就是說,這種攻擊僅僅利用了設(shè)備上可被直接訪問的接口,設(shè)備自身永遠不會發(fā)生改變,因而實施這種攻擊之后不會遺留下任何痕跡,大多數(shù)非入侵式攻擊都可以借助于價格相對低廉的設(shè)備來實施,因此,這類攻擊對密碼設(shè)備的安全性造成了嚴重的實際威脅,
特別地,近幾年來,被動型非入侵式攻擊受到了極大的關(guān)注,這種攻擊通常也稱為“側(cè)信道攻擊”(side-channelattacks,SCA),其中,最重要的側(cè)信道攻擊有三類:計時攻擊(Koc96)、能量分析攻擊(KJJ99)以及電磁攻擊(GM001,Qs01)。
除了側(cè)信道攻擊之外,還存在主動型非入侵式攻擊,這類攻擊的目標是在無需拆解設(shè)備的情況下誘發(fā)設(shè)備產(chǎn)生故障,例如,可以通過時鐘突變、電壓突變或者改變環(huán)境溫度等手段來誘發(fā)密碼設(shè)備產(chǎn)生故障,關(guān)于這類攻擊的綜述,可查閱文獻(BEcN+04)。
……