第1章 计算机安全引论 1
1.1 计算机安全 2
1.1.1 计算机安全的定义 2
1.1.2 计算机系统面临的威胁和攻击 4
1.1.3 计算机系统的脆弱性 7
1.1.4 计算机危害与其他危害的区别 8
1.2 计算机系统安全的重要性 9
1.2.1 计算机安全技术发展 9
1.2.2 计算机系统安全的重要性 10
1.2.3 计算机信息系统安全的基本要求 11
1.3 计算机系统的安全对策 13
1.3.1 安全对策的一般原则 13
1.3.2 安全策略的职能 14
1.3.3 安全机制 14
1.3.4 安全对策与安全措施 15
1.4 计算机系统的安全技术 16
1.4.1 计算机系统的安全需求 16
1.4.2 安全系统的设计原则 17
1.5 计算机安全的内容及专业层次 20
1.5.1 计算机系统安全的主要内容 21
1.5.2 计算机系统的分层防护 22
1.5.3 计算机系统安全的专业层次 22
习题 23
第2章 计算机安全策略 24
2.1 系统的安全需求及安全策略的定义 24
2.1.1 信息的机密性要求 24
2.1.2 信息的完整性要求 25
2.1.3 信息的可记账性要求 25
2.1.4 信息的可用性要求 25
2.2 安全策略的分类 26
2.2.1 访问控制相关因素及其策略 26
2.2.2 访问支持策略 31
2.3 安全策略的形式化描述 33
2.4 安全策略的选择 33
2.5 小结 34
习题 34
第3章 访问控制策略 35
3.1 访问控制 35
3.2 访问控制策略 36
3.2.1 关于安全性管理方式的策略 36
3.2.2 访问控制的规范策略 37
3.3 安全核与引用监控器 38
3.4 访问矩阵模型 40
3.4.1 模型描述 40
3.4.2 状态转换 43
3.4.3 模型评价 47
3.4.4 模型的实现方法 48
习题 49
第4章 Bell-LaPadula多级安全模型 50
4.1 军用安全格模型 50
4.2 BLP模型介绍 52
4.3 BLP模型元素 53
4.3.1 模型元素的含义 53
4.3.2 系统状态表示 54
4.3.3 安全系统的定义 55
4.4 BLP模型的几个重要公理 55
4.5 BLP状态转换规则 55
4.6 BLP模型的几个重要定理 61
4.7 Bell-LaPadula模型的局限性 62
习题 66
第5章 安全模型的构建 67
5.1 建模的方法步骤 67
5.2 模型构建实例 68
5.2.1 安全策略的描述 68
5.2.2 实例模型的定义 70
5.2.3 实例模型的安全性分析 74
5.2.4 模型的安全约束条件 76
5.2.5 从模型到系统的映射 79
习题 80
第6章 可信操作系统设计 81
6.1 什么是可信的操作系统 82
6.2 安全策略 82
6.2.1 军用安全策略 82
6.2.2 商业安全策略 84
6.3 安全模型 87
6.3.1 多级安全模型 87
6.3.2 模型证明安全系统的理论局限 90
6.3.3 小结 94
6.4 设计可信操作系统 94
6.4.1 可信操作系统设计的基本要素 95
6.4.2 普通操作系统的安全特性 96
6.4.3 可信操作系统(TOS)的安全特性 97
6.4.4 内核化设计 100
6.4.5 分离 104
6.4.6 虚拟技术 105
6.4.7 层次化设计 107
6.5 可信操作系统的保证 109
6.5.1 传统操作系统的缺陷 109
6.5.2 保证方法 111
6.5.3 开放资源 114
6.5.4 评估 114
6.6 实例分析 124
6.6.1 多用途操作系统 125
6.6.2 操作系统的安全性设计 126
6.7 可信操作系统总结 127
习题 128
第7章 通用操作系统的保护 130
7.1 被保护的对象和保护方法 130
7.1.1 历史 130
7.1.2 被保护的对象 131
7.1.3 操作系统安全方法 131
7.2 内存和地址保护 132
7.2.1 电子篱笆 132
7.2.2 重定位 133
7.2.3 基址/边界寄存器 134
7.2.4 标记体系结构 135
7.2.5 段式保护 136
7.2.6 页式保护 138
7.2.7 页式与段式管理结合 139
7.3 一般对象的访问控制 140
7.3.1 索引 141
7.3.2 访问控制表 143
7.3.3 访问控制矩阵 144
7.3.4 权力 145
7.3.5 面向过程的访问控制 147
7.4 文件保护机制 147
7.4.1 基本保护形式 147
7.4.2 单一权限 149
7.4.3 每对象和每用户保护 151
7.5 用户认证 151
7.5.1 使用口令 151
7.5.2 对口令的攻击 153
7.5.3 口令选择准则 157
7.5.4 认证过程 159
7.5.5 除了口令之外的认证 160
7.6小结 161
7.7 未来发展方向 161
习题 161
第8章 数据库安全模型与机制 163
8.1 数据库安全概述 163
8.1.1 数据库安全目标 163
8.1.2 数据库的安全威胁 164
8.1.3 数据库的安全需求 164
8.1.4 数据库安全评价标准 165
8.1.5 数据库安全研究的发展 165
8.2 数据库系统的安全模型与实现策略 166
8.2.1 数据库系统的安全模型 166
8.2.2 多级安全数据库实现策略 171
8.3 数据库系统安全机制 171
8.3.1 用户身份认证 171
8.3.2 访问控制 172
8.3.3 数据库加密 175
8.3.4 推理控制 178
8.3.5 数据库审计 181
习题 182
第9章 密码学基本理论 183
9.1 密码学介绍 183
9.2 对称密码 183
9.2.1 数据加密标准DES 184
9.2.2 IDEA 189
9.2.3 AES 191
9.2.4 流密码 197
9.3 公钥密码 207
9.3.1 RSA 207
9.3.2 Rabin 209
9.3.3 ElGamal 210
9.3.4 McEliece 211
9.3.5 椭圆曲线密码系统(ECC) 211
习题 214
第10章 密码协议基本理论 215
10.1 引言 215
10.2 身份鉴别(认证)协议 216
10.2.1 口令鉴别 216
10.2.2 挑战—响应式认证 217
10.2.3 基于零知识证明的身份鉴别 218
10.3 数字签名 220
10.3.1 RSA签名体系 221
10.3.2 Rabin签名体系 221
10.3.3 Feige-Fiat-Shamir签名方案 222
10.3.4 GQ签名方案 223
10.3.5 DSA 223
10.3.6 一次性数字签名 225
10.3.7 具有特殊性质的一些签名方案 227
10.3.8 基于椭圆曲线的签名算法 230
10.4 密钥分配协议 233
10.4.1 使用对称密码技术的密钥传输协议 233
10.4.2 基于对称密码技术的密钥协商协议 236
10.4.3 基于公钥密码技术的密钥传输协议 236
10.4.4 基于公钥密码技术的密钥协商协议 238
10.5 秘密共享 240
习题 241
第11章 计算机病毒基本知识及其防治 243
11.1 计算机病毒的定义 243
11.2 计算机病毒存在的原因 244
11.3 计算机病毒的历史 245
11.3.1 国外情况概述 245
11.3.2 国内情况概述 247
11.4 计算机病毒的生命周期 247
11.5 计算机病毒的特性 248
11.5.1 计算机病毒的传染性 248
11.5.2 计算机病毒的隐蔽性 249
11.5.3 计算机病毒的潜伏性 250
11.5.4 计算机病毒的破坏性 250
11.5.5 计算机病毒的针对性 250
11.5.6 计算机病毒的衍生性 251
11.5.7 计算机病毒的寄生性 251
11.5.8 计算机病毒的不可预见性 251
11.6 计算机病毒的传播途径及危害 251
11.7 计算机病毒的分类 254
11.7.1 文件型计算机病毒 254
11.7.2 引导型计算机病毒 255
11.7.3 宏病毒 255
11.7.4 目录(链接)计算机病毒 255
11.8 理论上预防计算机病毒的方法 256
11.9 计算机病毒结构的基本模式 257
11.10 病毒判定问题与说谎者悖论 259
11.11 计算机病毒变体 260
11.11.1 什么是计算机病毒变体 261
11.11.2 计算机病毒变体的再生机制 262
11.11.3 计算机病毒变体的基本属性 262
习题 264
第12章 计算机病毒检测与标识的几个理论结果 265
12.1 计算机病毒的非形式描述 265
12.1.1 计算机病毒 266
12.1.2 压缩病毒 266
12.1.3 病毒的破坏性 267
12.2 计算机病毒的防治 268
12.2.1 计算机病毒的检测 268
12.2.2 计算机病毒变体 268
12.2.3 计算机病毒行为判定 270
12.2.4 计算机病毒防护 270
12.3 计算机病毒的可计算性 271
12.3.1 逻辑符号 271
12.3.2 病毒的形式化定义 272
12.3.3 基本定理 274
12.3.4 简缩表定理 279
12.3.5 病毒和病毒检测的可计算性 285
12.4 一种不可检测的计算机病毒 290
习题 292
第13章 入侵检测的方法与技术 293
13.1 入侵检测技术概述 293
13.1.1 入侵检测技术简介 293
13.1.2 入侵检测的安全任务 294
13.1.3 入侵检测系统的历史 295
13.2 入侵的主要方法和手段 296
13.2.1 主要漏洞 296
13.2.2 入侵系统的主要途径 298
13.2.3 主要的攻击方法 298
13.3 入侵检测技术的基础知识 300
13.3.1 入侵检测系统要实现的功能 300
13.3.2 入侵检测系统的基本构成 301
13.3.3 入侵检测系统的体系结构 302
13.3.4 入侵检测系统的分类 304
13.4 入侵检测系统的关键技术 305
13.4.1 入侵检测系统的信息源 306
13.4.2 入侵检测技术 309
13.4.3 入侵响应技术 312
13.4.4 安全部件互动协议和接口标准 313
13.4.5 代理和移动代理技术 315
13.5 入侵检测的描述、评测与部署 318
13.5.1 入侵检测系统描述 318
13.5.2 入侵检测系统的测试与评估 321
13.5.3 入侵检测在网络中的部署 324
13.6 入侵检测系统的发展趋势和研究方向 326
习题 328
第14章 计算机网络系统的可生存性 329
14.1 引言 329
14.1.1 可生存性的定义 329
14.1.2 可生存性研究与相关研究 330
14.2 可生存网络系统的体系结构与设计方法 332
14.2.1 可生存网络系统的体系结构 332
14.2.2 可生存网络系统的设计方法 334
14.3 网络系统安全性和可生存性的形式化描述 339
14.3.1 网络系统安全性的形式化描述 340
14.3.2 网络系统可生存性的形式化描述 341
14.4 网络系统可生存性的评估 345
14.4.1 与安全性相关的可量化属性 345
14.4.2 形式化的可生存性评估方法 346
14.4.3 网络系统可生存性的定量评估 350
14.5 小结 353
习题 353
参考文献 354