《密码故障分析与防护》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(法)马克裘依,(英)腾斯托尔编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2015
  • ISBN:9787030450227
  • 页数:315 页
图书介绍:本书是目前国际上第一本,也是唯一一本系统介绍密码故障分析技术的的一本编著,编写组由国际上40多位知名密码学家组成,涵盖了密码算法故障分析、密码芯片物理攻击与防护等研究内容。全书分为5部分,其中第一部分介绍密码旁路分析与故障分析的关系;第二部分介绍典型分组密码故障分析和防护措施的研究进展;第三部分介绍典型公钥密码故障分析和防护措施的研究进展;第四部分介绍典型序列密码故障分析和防护措施的研究进展,以及故障分析与功耗分析防护措施的关系;第五部分介绍了故障注入技术、故障攻击物理实验、密码芯片抗故障攻击安全性评估等研究进展。本书中的故障分析方法、物理攻击实例和防御措施大都来自于经典的学术论文,总结较为全面,能够反映本方向的国内外最新研究进展,可对读者开展相关研究提供借鉴和参考。

绪论 3

第1章 旁路分析及其与故障攻击的相关性 3

1.1 引言 3

1.2 背景介绍 4

1.3 简单功耗分析 5

1.3.1 案例研究:RSA签名运算SPA 5

1.3.2 案例研究:AES加密SPA 6

1.3.3 案例研究:文件访问SPA 9

1.4 差分功耗分析 10

1.4.1 基于DPA的故障注入触发 11

1.5 高级场景 12

1.6 小结 13

私钥密码体制故障分析 17

第2章 分组密码攻击 17

2.1 引言 17

2.2 利用相同输出的分组密码攻击 18

2.2.1 三种相似却不同的故障分析方法 18

2.2.2 AES按位碰撞/无效故障分析 20

2.2.3 DES碰撞故障分析 20

2.2.4 针对抗DPA的AES实现的CFA攻击 21

2.2.5 针对外部编码DES实现的IFA攻击 24

2.2.6 针对AES的被动和主动组合攻击 26

2.3 针对分组密码的其他故障攻击 27

2.3.1 减少密码算法轮数 27

2.3.2 破坏DES的掩码S盒 28

第3章 DES差分故障分析 32

3.1 引言 32

3.2 数据加密标准 32

3.3 基本攻击 35

3.3.1 第16轮攻击 35

3.3.2 第15轮攻击 36

3.3.3 攻击结果 38

3.4 攻击的通用化以及向中间轮的扩展 38

3.4.1 通用DFA的基本原理 38

3.4.2 错误密钥区分器 39

3.4.3 攻击结果 41

3.4.4 基于解密问询器将攻击扩展至前几轮 42

3.5 基于内部碰撞的前几轮故障攻击 42

3.5.1 符号说明和定义 42

3.5.2 攻击描述 43

3.5.3 攻击改进 45

3.5.4 选择较好的特征 45

3.5.5 攻击结果 46

第4章 AES差分故障分析 48

4.1 引言 48

4.2 针对AES算法的DFA 51

4.2.1 AES密码DEA原理 51

4.2.2 AES标准DFA 51

4.2.3 AES中间轮DFA 54

4.2.4 AES对角线DFA 56

4.2.5 AES前几轮DFA 58

4.3 针对AES的DFA方法比较 58

4.3.1 故障模型 59

4.3.2 对比分析 60

4.4 防御对策 61

4.5 小结 62

第5章 对称密码算法抗故障攻击防御对策 63

5.1 引言 63

5.2 抗故障攻击的通用构建模块 64

5.2.1 循环保护 64

5.2.2 循环冗余校验 64

5.2.3 模块冗余 65

5.2.4 双轨实现 65

5.2.5 随机时延和掩码 65

5.3 基于DMR的分组密码故障攻击防御对策 66

5.3.1 逆运算 66

5.3.2 对合密码 67

5.3.3 反馈模式 68

5.4 基于编码理论的AES故障攻击防御对策 69

5.4.1 奇偶校验 69

5.4.2 计算摘要值 70

5.4.3 嵌入环 72

5.4.4 感染运算 72

5.5 协议层防御 73

5.5.1 “全有或全无”变换 73

5.5.2 消息修改 74

5.5.3 密钥更新 74

5.6 小结 75

第6章 AES故障攻击防御对策 76

6.1 引言 76

6.2 AES密码算法 77

6.2.1 算法描述 77

6.2.2 硬件实现 79

6.3 故障攻击 80

6.4 错误检测方法 81

6.4.1 硬件冗余与时间冗余 82

6.4.2 信息冗余 83

6.5 故障与错误 90

6.6 小结 93

公钥密码体制故障分析 97

第7章 经典RSA实现差分故障分析综述 97

7.1 引言 97

7.2 RSA实现 98

7.2.1 标准RSA 98

7.2.2 模幂运算方法 99

7.3 针对标准RSA实现的经典故障分析 101

7.3.1 中间计算扰动 101

7.4 利用RSA公开模数的扰动 103

7.4.1 签名前修改N,解决小离散对数问题 104

7.4.2 利用RSA签名运算中N的故障 106

7.5 小结 108

第8章 RSA-CRT实现故障攻击 109

8.1 引言 109

8.2 针对RSA-CRT的故障攻击 109

8.3 基本防御对策 110

8.4 Shamir方法和变种 110

8.4.1 感染运算 112

8.4.2 BOS算法与攻击方法 112

8.4.3 Ciet-Joye算法与攻击方法 114

8.4.4 Vigilant算法与攻击方法 115

8.4.5 Shamir方法和变种总结 115

8.5 Giraud方法和变种 117

8.6 嵌入法 118

8.7 二阶故障攻击 118

第9章 椭圆曲线密码系统故障攻击 120

9.1 引言 120

9.2 背景知识 121

9.2.1 预备知识 121

9.2.2 椭圆曲线群 122

9.2.3 椭圆曲线标量乘法 123

9.2.4 数字系统中的故障 125

9.3 无效曲线故障攻击 126

9.3.1 基点故障注入攻击 126

9.3.2 系统参数故障注入攻击 129

9.3.3 中间变量故障注入攻击 131

9.4 符号改变故障攻击 131

9.4.1 防御对策 133

9.5 针对虚假运算和验证运算的故障攻击 134

9.5.1 安全错误故障攻击 134

9.5.2 二阶故障攻击 134

9.6 ECC故障攻击防御对策总结 135

9.7 小结 136

第10章 基于故障检测的ECC故障攻击防御对策 137

10.1 引言 137

10.2 基于奇偶校验码的故障检测 137

10.2.1 基于单比特奇偶校验的故障检测方法 138

10.2.2 基于多比特奇偶校验的故障检测方法 142

10.3 基于时间冗余的故障检测 145

10.4 椭圆曲线标量乘法中的故障检测 146

第11章 基于非线性鲁棒编码的抗故障注入攻击密码设备设计 149

11.1 引言 149

11.2 攻击者故障模型 150

11.3 鲁棒编码的定义和基本性质 151

11.4 边界、最优性和完美鲁棒编码 152

11.5 最优系统鲁棒编码的构建 154

11.5.1 部分鲁棒编码 157

11.5.2 鲁棒编码和部分鲁棒编码的变种 157

11.6 基于非线性编码的安全AES架构 158

11.6.1 AES非线性模块的保护 159

11.6.2 AES线性模块的保护 160

11.7 基于非线性编码的安全FSM设计 163

11.7.1 错误检测技术 164

11.7.2 案例研究 166

11.7.3 实现结果 168

11.8 基于非线性编码的安全ECC实现 169

11.8.1 ECC概述 169

11.8.2 错误检测技术 170

11.8.3 点加-倍点构建方案 171

11.8.4 引入面积开销估算 173

11.9 小结 174

第12章 结合格基规约的签名故障攻击 175

12.1 引言 175

12.2 格的基础知识 176

12.2.1 符号说明与背景知识 176

12.2.2 格与格基 176

12.2.3 格容积 177

12.2.4 格基规约 178

12.2.5 实际应用中的格问题 180

12.3 针对DSA签名的故障攻击 181

12.3.1 DSA签名方案 181

12.3.2 攻击模型 182

12.3.3 攻击描述 182

12.3.4 防御对策 185

12.4 针对随机RSA签名的故障攻击 185

12.4.1 ISO/IEC 9797-2签名方案 186

12.4.2 攻击模型 187

12.4.3 单个故障攻击 188

12.4.4 多个故障攻击 189

12.4.5 防御对策 192

第13章 配对密码学故障攻击 193

13.1 引言 193

13.2 背景知识与符号说明 195

13.2.1 Weil配对 196

13.2.2 Tate配对 196

13.2.3 η和ηG配对 197

13.2.4 Ate配对 198

13.3 攻击 199

13.3.1 攻击1 199

13.3.2 攻击2 201

13.4 防护对策 202

13.4.1 重复计算 203

13.4.2 中间结果校验 203

13.4.3 随机化或故障容忍的米勒循环计数器 204

13.4.4 输入随机化与隐藏 204

13.5 小结 205

混合部分 209

第14章 序列密码故障攻击 209

14.1 引言 209

14.2 基于不可能状态的RC4故障分析 211

14.2.1 密码描述与性质 211

14.2.2 不可能状态与故障 212

14.3 Trivium差分故障分析 213

14.3.1 密码描述 213

14.3.2 攻击技术 214

14.4 高级案例:HC-128差分故障分析 216

14.4.1 密码描述 216

14.4.2 攻击描述 218

14.5 Grain、Rabbit和SNOW 3G故障分析综述 219

14.6 小结 220

第15章 故障攻击防御对策对抗功耗分析攻击能力的影响 223

15.1 引言 223

15.2 错误检测和纠正电路 224

15.3 实验配置 225

15.4 故障攻击对功耗分析攻击防御的影响评估 227

15.4.1 新增校验位对Kocher的均值差DPA攻击的影响评估 228

15.4.2 校验位对基于Pearson相关性系数的DPA攻击的影响评估 229

15.4.3 基于信息论的校验位影响评估 231

15.4.4 校验位对成功率的影响评估 233

15.5 小结 235

故障攻击实现 239

第16章 微处理器攻击中的故障注入技术 239

16.1 引言 239

16.2 故障注入技术 240

16.2.1 高成本故障注入技术 240

16.2.2 低成本故障注入技术 242

16.3 通用处理器的低压故障 245

16.3.1 CPU架构和实验设置 245

16.3.2 故障注入 247

16.3.3 故障类型描述 249

16.3.4 故障扩张 250

16.3.5 错误描述和频率调节的影响 250

16.3.6 计算错误的影响 251

16.4 小结 253

第17章 密码电路全局故障 254

17.1 引言 254

17.2 故障模型 257

17.2.1 CMOS逻辑门的传输延迟 257

17.2.2 同步逻辑的时间约束 257

17.2.3 比特翻转故障模型的物理解释 259

17.2.4 非CMOS逻辑的全局故障模型 260

17.3 FPGA仿真和ASIC硬件故障攻击实验 261

17.3.1 AES硬件实现中的故障统计 261

17.3.2 其他目标的故障统计 267

17.4 小结 268

第18章 针对评估板的故障注入和密钥恢复实验 269

18.1 引言 269

18.2 故障注入机理 270

18.3 故障注入实验环境 271

18.3.1 实验环境 271

18.3.2 目标加密LSI 274

18.4 故障注入实验结果 275

18.4.1 分组密码故障注入实验结果 275

18.4.2 公钥密码故障注入实验结果 279

18.5 基于故障密文的密钥恢复 280

18.5.1 AES差分故障分析攻击 280

18.5.2 Boneh等针对CRT-RSA的故障攻击 281

18.5.3 Yen等针对存在虚假运算的RSA故障攻击(安全错误攻击) 283

18.6 小结 284

参考文献 285