《能量分析攻击》可以作为密码学、电子工程、信息安全等专业的教材,也可以供相关专业人员参考。能量分析攻击旨在通过分析密码设备的能量消耗这一物理特性来恢复设备内部的秘密信息,这种基于实现特性的密码分析对广泛应用的各类密码模块的实际安全性造成了严重威胁,《能量分析攻击》是关于能量分析攻击的综合性专著,系统阐述了能量分析攻击的基本原理、技术方法以及防御对策的设计与分析。
更多科学出版社服务,请扫码获取。
1996年,Paul Kocher博士(2009年1月当选为美国工程院院士)首次提出计时攻击的重要奠基性思想并发表相关研究成果,此后十余年来,侧信道攻击及防御对策研究便成为密码学研究中的一个重要分支,受到了国际学术界与产业界的广泛关注,能量分析攻击是最重要、最有效的侧信道攻击形式之一,对诸如智能卡这样的智能设备的实际安全性造成了极大的威胁,相关研究是当前侧信道攻击研究领域的热点方向,近年来,内嵌密码模块的智能设备和嵌入式设备已广泛应用于各类信息产品与通信系统中,在这类应用环境与应用模式下,能量分析攻击对系统安全性造成的实际威胁将更加严重。
能量分析攻击是什么?实施能量分析攻击需要什么样的设备与技术条件?这种攻击对密码设备的实际安全性将会造成什么样的影响?如何设计可靠、高效、低廉的防御对策来有效地防御这类攻击?如何客观、合理地评估各种防御措施的有效性?本书作者在侧信道攻击、防御措施设计以及有效性评估方面进行了一系列先锋性的研究和实践,本书就是他们近几年来一系列优秀工作成果和经验的总结,将会对上述问题进行解答。
正所谓“知己知彼,百战不殆”,试图有效地抵御能量分析攻击,最有效的途径就是深入地剖析它,本书系统地论述了能量分析攻击的理论基础、技术条件、实施方法以及相应的防御对策;基于一系列的实验结果和理论分析,将能量分析攻击的相关研究成果融入一个具有创新性的理论框架,同时,本书也是国际上关于能量分析攻击(甚至是侧信道攻击)研究的第一部学术专著,因此,在承担国家自然科学基金、国家高技术研究发展计划以及北京市自然科学基金等相关项目的过程中,我们组织项目组主要成员翻译了本书,希望对国内密码学的研究与密码技术的应用起到一定的推动作用。
目录
译者序
序
前言
符号说明
术语
第1章 引言 1
1.1 密码学与密码设备 1
1.2 密码设备攻击 3
1.3 能量分析攻击 5
1.4 能量分析攻击防御对策 10
1.5 小结 11
第2章 密码设备 12
2.1 组成部件 12
2.2 设计与实现 13
2.2.1 设计步骤 14
2.2.2 半定制化设计 15
2.3 逻辑元件 18
2.3.1 逻辑元件类型 18
2.3.2 互补型CMOS 19
2.4 小结 20
第3章 能量消耗 22
3.1 CMOS电路的能量消耗 22
3.1.1 静态能量消耗 23
3.1.2 动态能量消耗 24
3.1.3 毛刺 26
3.2 适用于设计者的能量仿真与能量模型 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 数字采样示波器 38
3.4.4 测量配置示例 39
3.5 测量配置质量标准 42
3.5.1 电子噪声 43
3.5.2 转换噪声 44
3.6 小结 47
第4章 能量迹的统计特征 49
4.1 能量迹的组成 49
4.2 能量迹单点特征 50
4.2.1 电子噪声 50
4.2.2 数据依赖性 53
4.2.3 操作依赖性 56
4.3 能量迹单点泄漏 56
4.3.1 信号与噪声 56
4.3.2 信噪比 58
4.4 能量迹多点特征 63
4.4.1 相关性 63
4.4.2 多元高斯模型 65
4.5 能量迹压缩 66
4.5.1 能量迹关联点 67
4.5.2 示例 68
4.6 置信区间与假设检验 70
4.6.1 采样分布 70
4.6.2 置信区间 71
4.6.3 置信区间与假设检验 71
4.6.4 ux-uy的置信区间与假设检验 75
4.6.5 p置信区间与假设检验 77
4.6.6 p0-p1置信区间与假设检验 78
4.7 小结 79
第5章 简单能量分析 81
5.1 概述 81
5.2 能量迹直观分析 82
5.2.1 软件实现的能量迹直观分析示例 82
5.3 模板攻击 84
5.3.1 概述 85
5.3.2 模板构建 85
5.3.3 模板匹配 87
5.3.4 对MOV指令的模板攻击示例 88
5.3.5 对AES密钥编排的模板攻击示例 90
5.4 碰撞攻击 91
5.4.1 对软件实现的碰撞攻击示例 92
5.5 注记与补充阅读 93
第6章 差分能量分析 97
6.1 概述 97
6.2 基于相关系数的攻击 100
6.2.1 对软件实现的攻击示例 101
6.2.2 对硬件实现的攻击示例 105
6.3 相关系数的计算与仿真 111
6.3.1 软件示例 113
6.3.2 硬件示例 116
6.4 能量迹数量估算 119
6.4.1 经验法则 120
6.4.2 示例 121
6.5 相关系数的替代方法 122
6.5.1 均值差 123
6.5.2 均值距 125
6.5.3 广义极大似然检验 125
6.6 基于模板的DPA攻击 126
6.6.1 概述 127
6.6.2 对软件实现的攻击示例 128
6.7 注记与补充阅读 129
第7章 隐藏技术 135
7.1 概述 135
7.1.1 时间维度 135
7.1.2 振幅维度 136
7.1.3 隐藏技术的实现方法 138
7.2 体系结构级对策 138
7.2.1 软件实现 138
7.2.2 硬件实现 139
7.3 元件级对策 141
7.3.1 DRP 逻辑结构概述 141
7.3.2 DRP 逻辑结构的恒定能量消耗 143
7.3.3 半定制化设计与DRP 逻辑结构 144
7.4 DRP 逻辑结构示例 146
7.4.1 基于灵敏放大器的DRP 逻辑 147
7.4.2 波动差分逻辑 152
7.5 注记与补充阅读 156
第8章 对隐藏技术的攻击 160
8.1 概述 160
8.1.1 时间维度 160
8.1.2 振幅维度 161
8.2 对失调能量迹的DPA 攻击 163
8.2.1 失调缘由 163
8.2.2 能量迹对齐 164
8.2.3 能量迹预处理 166
8.2.4 示例 169
8.3 对DRP逻辑的攻击 172
8.3.1 平衡互补性导线 172
8.3.2 非平衡互补性逻辑 174
8.4 注记与补充阅读 175
第9章 掩码技术 178
9.1 概述 178
9.1.1 布尔掩码与算术掩码 179
9.1.2 秘密共享 179
9.1.3 盲化 180
9.1.4 可证明安全性 180
9.2 体系结构级对策 180
9.2.1 软件实现 181
9.2.2 硬件实现 183
9.3 元件级对策 188
9.3.1 掩码型逻辑结构概述 188
9.3.2 半定制化设计与掩码型逻辑结构 190
9.4 掩码型逻辑结构示例 190
9.4.1 掩码型DRPL逻辑结构 190
9.5 注记与补充阅读 193
第10章 对掩码技术的攻击 196
10.1 概述 196
10.1.1 二阶DPA攻击 197
10.2 DPA攻击 198
10.2.1 乘积类掩码技术 198
10.2.2 掩码重用攻击 199
10.2.3 有偏掩码攻击 200
10.3 对软件实现的二阶DPA攻击 200
10.3.1 预处理 200
10.3.2 基于预处理后能量迹的DPA攻击 201
10.3.3 对掩码型AES实现的攻击示例 203
10.3.4 对掩码乱序型AES实现的攻击示例 204
10.4 对软件实现的基于模板的二阶DPA攻击 205
10.4.1 在能量迹预处理前使用模板 206
10.4.2 在能量迹预处理中使用模板 207
10.4.3 在能量迹预处理后使用模板 207
10.5 基于模板的DPA攻击 208
10.5.1 概述 209
10.5.2 对掩码型AES实现的攻击示例 209
10.6 对硬件实现的二阶DPA攻击 210
10.6.1 预处理 211
10.6.2 基于预处理后能量迹的DPA攻击 211
10.6.3 对掩码型S盒实现的攻击示例 212
10.6.4 对MDPL的攻击示例 212
10.7 注记与补充阅读 214
第11章 结论 218
11.1 特定结论 218
11.2 一般性结论 223
参考文献 225
附录A 差分能量分析 250
A.1 背景知识 250
A.2 能量分析简介 251
A.3 防御SPA 253
A.4 对DES实现的差分能量分析 253
A.5 对其他算法实现的差分能量分析 257
A.6 防御DPA 257
A.7 其他相关攻击 258
A.8 结论 258
参考文献 258
附录B 高级加密标准 260
B.1 算法描述 261
B.1.1 AES加密算法的结构 261
B.1.2 轮变换 261
B.1.3 密钥编排 264
B.2 软件实现 265
B.2.1 微控制器 265
B.2.2 AES汇编实现 266
B.3 硬件实现 268
B.3.1 加密核 268
B.3.2 S盒 270
作者索引 271
主题索引 276
被动型半入侵式攻击的目标通常是在无需利用或者探测储存单元的数据读取电路的情况下,读取出储存元件中的内容,文献[ssAQ02]公开发表了一种成功的此类攻击。
主动型半入侵式攻击的目标是诱发设备产生故障,这项工作可以通过使用x射线、电磁场或者光学手段等来完成,例如,文献[sA031中发表了关于通过光学手段实施故障诱发攻击的描述。
通常,半入侵式攻击不需要使用实施入侵式攻击所需要的那样昂贵的设备,然而其成本仍然相对高昂,特别地,在现代芯片的表面,选择一个实施半入侵式攻击的正确部位就需要花费一些时间,同时也需要一定的专业知识,关于半入侵式攻击最全面的已公开文献可参见Skorobogatov的博士论文(Sko05),非入侵式攻击非入侵式攻击中,被攻击的密码设备本质上和其正常工作时的状态没有任何区别,也就是说,这种攻击仅仅利用了设备上可被直接访问的接口,设备自身永远不会发生改变,因而实施这种攻击之后不会遗留下任何痕迹,大多数非入侵式攻击都可以借助于价格相对低廉的设备来实施,因此,这类攻击对密码设备的安全性造成了严重的实际威胁,
特别地,近几年来,被动型非入侵式攻击受到了极大的关注,这种攻击通常也称为“侧信道攻击”(side-channelattacks,SCA),其中,最重要的侧信道攻击有三类:计时攻击(Koc96)、能量分析攻击(KJJ99)以及电磁攻击(GM001,Qs01)。
除了侧信道攻击之外,还存在主动型非入侵式攻击,这类攻击的目标是在无需拆解设备的情况下诱发设备产生故障,例如,可以通过时钟突变、电压突变或者改变环境温度等手段来诱发密码设备产生故障,关于这类攻击的综述,可查阅文献(BEcN+04)。
……