第1章 安全协议概述 1
1.1 安全协议的概念 1
1.1.1 协议、算法与安全协议 1
1.1.2 协议运行环境中的角色 2
1.2 常用的安全协议 2
1.3 安全协议的安全性质 3
1.4 对安全协议的攻击 5
1.5 安全协议的三大理论分析方法 8
1.5.1 安全多方计算 8
1.5.2 形式化分析方法 9
1.5.3 可证明安全性理论 10
习题1 11
第2章 安全协议的密码学基础 12
2.1 密码学的基本概念 12
2.2 数论中的一些难题 13
2.3 随机数 13
2.4 分组密码 14
2.5 公开密钥密码 14
2.5.1 公开密钥密码的基本概念 15
2.5.2 RSA体制 15
2.5.3 Rabin体制 16
2.6 哈希函数 17
2.7 消息认证 17
2.8 数字签名 18
2.8.1 数字签名的基本概念 18
2.8.2 RSA签名 19
2.8.3 数字签名标准 20
2.8.4 ElGamal数字签名 21
2.8.5 Schnorr签名体制 21
2.8.6 基于椭圆曲线的数字签名算法 22
2.9 基于身份的公钥密码学 23
2.9.1 基于身份的加密方案 23
2.9.2 基于身份的签各方案 24
习题2 24
第3章 基本的安全协议 26
3.1 秘密分割 26
3.2 秘密共享 26
3.3 阈下信道 28
3.3.1 阈下信道的概念 28
3.3.2 基于ElGamal数字签名的阈下信道方案 30
3.3.3 基于RSA数字签名的阈下信道方案 30
3.4 时间戳协议 31
3.5 比特承诺 32
3.5.1 使用对称密码算法的比特承诺 32
3.5.2 使用单向函数的比特承诺 33
3.5.3 使用伪随机序列发生器的比特承诺 33
3.6 公平的硬币抛掷 33
3.6.1 单向函数抛币协议 34
3.6.2 公开密钥密码抛币协议 34
3.7 智力扑克 35
3.7.1 基本的智力扑克游戏 35
3.7.2 三方智力扑克 36
3.8 密钥托管 36
3.9 不经意传输 37
习题3 39
第4章 认证与密钥建立协议 41
4.1 认证与密钥建立协议简介 41
4.1.1 协议结构 41
4.1.2 协议目标 42
4.1.3 新鲜性 43
4.2 使用共享密钥密码的协议 43
4.2.1 实体认证协议 44
4.2.2 无服务器密钥建立 45
4.2.3 基于服务器的密钥建立 46
4.2.4 使用多服务器的密钥建立 50
4.3 使用公钥密码的认证与密钥传输 51
4.3.1 实体认证协议 51
4.3.2 密钥传输协议 53
4.4 密钥协商协议 58
4.4.1 Diffie-Hellman密钥协商 58
4.4.2 有基本消息格式的基于DH交换的协议 61
4.4.3 增强消息格式的DH交换协议 62
4.5 可证明安全的认证协议 64
4.6 基于口令的协议 65
4.6.1 口令协议概述 65
4.6.2 使用Diffie-Hellman进行加密密钥交换 66
4.6.3 强化的EKE 67
4.6.4 双因子认证 68
4.6.5 扫码登录 69
4.6.6 开放授权OAuth 70
4.7 基于图形口令的认证 71
4.7.1 图形口令概述 72
4.7.2 基于识别的图形口令 72
4.7.3 基于回忆的图形口令 73
4.7.4 混合型图形口令 75
4.8 基于验证码的认证 76
4.8.1 验证码概述 76
4.8.2 验证码的分类 78
4.8.3 Pinkas-Sander协议 82
4.9 具有隐私保护的认证密钥交换协议 82
4.9.1 可否认的认证密钥交换协议 83
4.9.2 通信匿名的认证密钥交换协议 83
4.9.3 用户匿名的认证密钥交换协议 84
4.10 会议密钥协商 84
习题4 87
第5章 零知识证明 90
5.1 零知识证明的概念 90
5.1.1 零知识证明的简单模型 90
5.1.2 交互式零知识证明 91
5.1.3 非交互零知识证明 92
5.2 零知识证明的例子 93
5.2.1 平方根问题的零知识 93
5.2.2 离散对数问题的零知识证明 93
5.3 知识签名 94
5.4 身份鉴别方案 95
5.4.1 身份的零知识证明 96
5.4.2 简化的Feige-Fiat-Shamir身份鉴别方案 97
5.4.3 Feige-Fiat-Shamir身份鉴别方案 97
5.4.4 Guillo-Quisquater身份鉴别方案 98
5.4.5 Schnorr身份鉴别方案 98
5.5 NP语言的零知识证明 99
习题5 100
第6章 选择性泄露协议 101
6.1 选择性泄露的概念 101
6.1.1 单一数字证书内容泄露 101
6.1.2 多个数字证书内容泄露 102
6.2 使用Hash函数的选择性泄露协议 103
6.3 改进的选择性泄露协议 105
6.3.1 Merkle树方案 105
6.3.2 Huffman树方案 106
6.4 数字证书出示中的选择性泄露 108
6.4.1 签名证明 108
6.4.2 选择性泄露签名证明 110
习题6 112
第7章 数字签名变种 113
7.1 不可否认签名 113
7.2 盲签名 115
7.2.1 RSA盲签名方案 115
7.2.2 Schnorr盲签名方案 116
7.3 部分盲签名 116
7.4 公平盲签名 117
7.5 一次性数字签名 118
7.6 群签名 119
7.7 环签名 120
7.8 代理签名 122
7.9 批验证与批签名 123
7.9.1 批验证 123
7.9.2 批签名 124
7.10 聚合签名 127
7.11 认证加密 127
7.12 签密 128
7.13 其他数字签名 129
7.13.1 失败-终止签名 129
7.13.2 指定验证者签名 130
7.13.3 记名签名 130
7.13.4 具有消息恢复功能的数字签名 131
7.13.5 多重签名 131
7.13.6 前向安全签名 132
7.13.7 门限签名 133
7.13.8 基于多个难题的数字签名方案 133
习题7 133
第8章 非否认协议 136
8.1 非否认协议的基本概念 136
8.1.1 非否认服务 136
8.1.2 非否认协议的步骤和性质 137
8.1.3 一个非否认协议的例子 138
8.2 无TTP参与的非否认协议 139
8.2.1 Markowitch和Roggeman协议 140
8.2.2 Mitsianis协议 140
8.3 基于TTP参与的非否认协议 141
8.3.1 TTP的角色 141
8.3.2 Zhou-Gollman协议 141
8.3.3 Online TTP非否认协议——CMP1协议 142
习题8 143
第9章 公平交换协议 145
9.1 公平交换协议的基本概念 145
9.1.1 公平交换协议的定义 145
9.1.2 公平交换协议的基本模型 145
9.1.3 公平交换协议的基本要求 146
9.2 同时签约 146
9.2.1 带有仲裁者的同时签约 147
9.2.2 无仲裁者的同时签约(面对面) 147
9.2.3 无仲裁者的同时签约(非面对面) 148
9.2.4 无须仲裁者的同时签约(使用密码技术) 148
9.3 数字证明邮件 150
9.4 秘密的同时交换 151
习题9 152
第10章 安全协议的应用 153
10.1 电子选举 153
10.1.1 简单投票协议 153
10.1.2 使用盲签名的投票协议 154
10.1.3 带两个中央机构的投票协议 155
10.1.4 FOO协议 155
10.1.5 无须投票中心的投票协议 158
10.2 电子现金 160
10.2.1 电子现金的概念 160
10.2.2 电子现金的优缺点 161
10.2.3 电子现金的攻击和安全需求 161
10.2.4 使用秘密分割的电子现金协议 163
10.2.5 基于RSA的电子现金协议 164
10.2.6 Brands电子现金协议 165
10.3 比特币 166
10.3.1 比特币概述 166
10.3.2 比特币的原理 167
10.3.3 比特币的安全性 172
10.4 电子拍卖 173
10.4.1 电子拍卖系统的模型和分类 173
10.4.2 电子拍卖的过程 173
10.4.3 电子拍卖的安全需求 174
10.4.4 NFW电子拍卖协议 174
10.4.5 NPS电子拍卖协议 175
10.5 云计算 176
10.5.1 云存储数据的持有性证明 176
10.5.2 云存储数据的可搜索加密 181
10.5.3 基于属性加密的云数据共享 183
10.5.4 基于代理重加密的云数据共享 185
10.5.5 云计算环境下的外包计算 186
10.6 物联网 187
10.6.1 RFID系统的基本构成 188
10.6.2 RFID系统的安全需求 189
10.6.3 RFID认证协议 190
10.7 量子密钥分发 195
10.7.1 量子密码基础 195
10.7.2 BB84协议 196
习题10 198
第11章 安全多方计算 200
11.1 安全多方计算的概念 200
11.2 安全多方计算的需求 202
11.2.1 安全多方计算的安全需求 202
11.2.2 用于函数的安全多方计算协议的要求 203
11.3 多方计算问题举例 203
11.3.1 点积协议 203
11.3.2 “百万富翁”协议 204
11.3.3 密码学家晚餐问题 205
11.4 一般安全多方计算协议 206
习题11 207
第12章 安全协议的形式化分析 209
12.1 形式化方法简介 209
12.2 安全协议形式化分析的历史 210
12.3 安全协议形式化分析的分类 211
12.3.1 定理证明方法 212
12.3.2 模拟检测方法 212
12.3.3 互模拟等价 213
12.4 基于逻辑推理的方法和模型 213
12.4.1 BAN逻辑的构成 213
12.4.2 理想化协议 215
12.4.3 示例分析 216
习题12 218
参考文献 219