信息安全技术[按需印刷]

更多详情


内容简介: 《信息安全技术》从我国国情出发,结合我国网络基础设施和重要信息系统安全保障的实际需求,以知识体系的全面性为原则,明确了注册信息安全专业人员应该掌握的信息安全技术方面的主体内容。
《信息安全技术》从密码基础及其应用谈起,详细解释了访问控制模型及技术等信息安全保障技术的原理和基本实现方法,介绍了网络安全协议、网络安全设备和网络架构安全的基础知识。对Windows和Linux等常见操作系统和数据库的安全加固做了详细讲解。接着对Web、FTP、电子邮件、即时通信等应用安全问题进行了描述,介绍了恶意代码的基本原理及防范技巧。同时,本书对信息安全漏洞和网络安全攻击常用的攻击手段、工具以及防护方法进行了说明。最后,本书还探讨了软件开发中的安全问题,以及计算、物联网等新技术的安全保护措施。

目录: 《信息安全技术》
前 言
第1章 密码学基础 1
1.1 密码学发展简史 1
1.2 密码学基本概念 2
1.2.1 概述 2
1.2.2 密码系统安全性 3
1.2.3 古典密码 4
1.2.4 密码体制的分类 5
1.2.5 密钥管理 6
1.2.6 密码协议 7
1.3 对称密码算法 10
1.3.1 概述 10
1.3.2 DES算法 10
1.3.3 3DES算法 12
1.3.4 AES算法 13
1.3.5 IDEA算法 14
1.4 非对称密码算法 14
1.4.1 概述 14
1.4.2 RSA公钥密码体制 15
1.4.3 其他非对称密码算法 16
1.5 哈希函数和数字签名 17
1.5.1 哈希函数 17
1.5.2 消息鉴别码 19
1.5.3 数字签名 20
参考文献 22
思考题 23
第2章 密码学应用 24
2.1 概述 24
2.2 密码学应用基础 24
2.2.1 使用密码技术保护应用安全 24
2.2.2 典型密码应用产品 26
2.3 公钥基础设施 27
2.3.1 基本概念 27
2.3.2 数字证书 28
2.3.3 CA 29
2.3.4 PKI互操作模型 31
2.3.5 PKI的应用与发展 33
2.4 虚拟专用网络 34
2.4.1 概述 34
2.4.2 IPSec 36
2.4.3 SSL 41
2.5 特权管理基础设施 44
2.5.1 概述 44
2.5.2 架构 44
2.5.3 属性证书 45
2.5.4 应用结构 46
2.6 其他密码学应用介绍 47
2.6.1 动态口令认证 47
2.6.2 PGP 51
2.6.3 OpenSSL 52
参考文献 54
思考题 54
第3章 鉴别与访问控制 55
3.1 鉴别 55
3.1.1 鉴别的类型 55
3.1.2 鉴别的方法 56
3.2 访问控制模型 58
3.2.1 基本概念 58
3.2.2 自主访问控制 60
3.2.3 强制访问控制 62
3.2.4 基于角色的访问控制 66
3.3 访问控制技术 69
3.3.1 集中访问控制 69
3.3.2 非集中访问控制 73
参考文献 73
思考题 74
第4章 操作系统安全 75
4.1 概述 75
4.1.1 操作系统的作用与功能 75
4.1.2 操作系统安全机制设计 76
4.1.3 操作系统安全配置要点 81
4.2 Windows系统安全机制 82
4.2.1 标识与鉴别 83
4.2.2 访问控制 84
4.2.3 用户账户控制 85
4.2.4 安全审计 86
4.2.5 文件系统 86
4.2.6 Windows XP安全设置参考 87
4.3 Linux系统安全机制 90
4.3.1 标识与鉴别 90
4.3.2 访问控制 92
4.3.3 安全审计 93
4.3.4 文件系统 94
4.3.5 特权管理 95
4.3.6 Linux安全设置参考 95
4.4 安全操作系统 102
4.4.1 安全操作系统研究概况 102
4.4.2 安全操作系统设计的原则 103
4.4.3 SELinux简介 103
参考文献 104
思考题 104
第5章 网络安全 105
5.1 网络协议安全 105
5.1.1 OSI七层模型及安全架构 105
5.1.2 TCP/IP安全 109
5.1.3 无线局域网协议安全 114
5.1.4 移动通信网络安全 119
5.2 网络安全设备 123
5.2.1 防火墙 123
5.2.2 入侵检测系统 131
5.2.3 其他网络安全设备 137
5.3 网络架构安全 142
5.3.1 网络架构安全的含义 142
5.3.2 网络架构安全设计 143
参考文献 148
思考题 148
第6章 数据库安全 149
6.1 数据库系统概述 149
6.2 数据库安全概述 151
6.2.1 数据库安全要求 152
6.2.2 数据库安全措施 153
6.2.3 数据库完整性 158
6.2.4 数据库备份和恢复 161
6.3 数据库运行安全防护 162
6.3.1 数据库安全防护 162
6.3.2 事前安全检测 164
6.3.3 事中运行监控 166
6.3.4 事后安全审计 168
参考文献 169
思考题 169
第7章 应用安全 170
7.1 应用安全概述 170
7.1.1 什么是应用安全 170
7.1.2 常见应用安全威胁 171
7.1.3 OSI通信协议应用安全防护要点 173
7.1.4 等级保护规范应用安全防护要点 174
7.2 Web应用安全 175
7.2.1 Web应用安全问题产生的原因 176
7.2.2 Web程序安全开发要点 179
7.2.3 Web服务运行平台安全配置 179
7.2.4 IE浏览器安全配置参考 182
7.2.5 Web安全防护产品介绍 183
7.3 常用互联网服务安全 185
7.3.1 电子邮件安全 185
7.3.2 FTP安全 186
7.3.3 远程管理安全 187
7.3.4 域名应用安全 187
7.4 办公软件使用安全 187
7.4.1 Office字处理程序安全防护要点 187
7.4.2 即时通信软件安全防护要点 188
参考文献 189
思考题 189
第8章 安全漏洞与恶意代码 190
8.1 安全漏洞的产生与发展 190
8.1.1 安全漏洞的含义 190
8.1.2 安全漏洞的产生 192
8.1.3 安全漏洞的分类 194
8.1.4 安全漏洞的发展趋势 195
8.2 安全漏洞的发现与修复 195
8.2.1 安全漏洞的发现 195
8.2.2 安全漏洞的修复 198
8.3 恶意代码的产生与发展 199
8.3.1 恶意代码的产生 199
8.3.2 恶意代码的分类 202
8.3.3 恶意代码的传播方式 203
8.4 恶意代码的实现技术 204
8.4.1 恶意代码的加载 204
8.4.2 恶意代码的隐藏 204
8.4.3 恶意代码的自我保护 207
8.5 恶意代码的防御技术 208
8.5.1 恶意代码的预防 208
8.5.2 恶意代码的检测 210
8.5.3 恶意代码的分析 211
8.5.4 恶意代码的清除 211
参考文献 212
思考题 213
第9章 安全攻击与防护 214
9.1 信息收集与分析 214
9.1.1 信息收集与分析的作用 214
9.1.2 信息收集与分析的方法 214
9.1.3 信息收集与分析的防范 217
9.2 常见攻击与防范 217
9.2.1 口令破解 217
9.2.2 社会工程学 218
9.2.3 欺骗攻击 220
9.2.4 拒绝服务攻击 222
9.2.5 缓冲区溢出攻击 225
9.2.6 SQL注入攻击 226
9.2.7 跨站脚本攻击 227
9.3 后门设置与防范 228
9.4 痕迹清除与防范 230
参考文献 231
思考题 231
第10章 软件安全开发 232
10.1 软件安全开发背景 232
10.1.1 软件的发展和安全问题 232
10.1.2 软件安全问题产生的原因 234
10.2 软件安全开发的必要性 235
10.2.1 软件安全保障 235
10.2.2 传统软件开发的局限性 236
10.2.3 软件安全开发生命周期 237
10.3 软件安全开发模型及研究 238
10.3.1 安全开发生命周期 238
10.3.2 BSI系列模型 240
10.3.3 综合的轻量级应用安全过程 241
10.3.4 软件保障成熟度模型 242
10.3.5 特点分析 243
10.4 软件安全需求和设计 245
10.4.1 软件安全设计原则 245
10.4.2 威胁建模 247
10.5 软件安全编码 250
10.5.1 通用安全编码准则 250
10.5.2 安全编译 254
10.5.3 源代码审核 255
10.6 软件安全测试 256
10.6.1 概述 256
10.6.2 模糊测试 256
10.6.3 渗透测试 257
参考文献 259
思考题 260
第11章 新技术安全 261
11.1 云计算安全 261
11.1.1 云计算概述 261
11.1.2 云计算安全体系 262
11.1.3 云计算安全关键技术 265
11.1.4 云计算安全标准 270
11.2 物联网安全 272
11.2.1 物联网概述 272
11.2.2 物联网安全体系 274
11.2.3 物联网安全的关键技术 277
11.2.4 物联网安全标准 280
11.3 工业控制系统安全 283
11.3.1 工业控制系统的基本结构 283
11.3.2 工业控制系统的主要安全威胁 285
11.3.3 工业控制系统安全架构 286
11.3.4 工业控制系统安全标准 290
参考文献 291
思考题 292
附录 缩略语 293

前言: 随着信息化不断深入,信息安全上升到关系社会稳定、经济发展和公民权益的地位,成为国家安全的重要组成部分。在整个信息安全保障工作中,人是最核心、最活跃的因素,信息安全保障工作最终也是通过人来落实的。因此,加快信息安全人才培养体系建设是发展我国信息安全保障体系必备的基础和先决条件。
多年来,国家高度重视我国信息安全人才队伍的培养和建设,明确提出要加强信息安全人才培养。2003年9月,中共中央办公厅、国务院办公厅转发了《国家信息化领导小组关于加强信息安全保障工作的意见》(中办发[2003] 27号),提出了“加快信息安全人才培养,增强全民信息安全意识”的指导精神。中国信息安全测评中心依据中央赋予的职能,自2002年起,积极推动我国信息安全专业人才培养工作。一方面支持并配合国内多所大学开办了信息安全专业,有力促进了信息安全学历教育的开展;另一方面在原国务院信息化办公室的支持下,开创性地开展了信息安全职业教育与能力认证工作,面向社会提供“注册信息安全专业人员(CISP)”培训服务,十余年来培养专业人才逾万名,为党政军机关和职能部门以及金融、交通、能源等行业和国有大型企业的信息安全保障工作填补了专业人才队伍的空白。
教材和知识体系是信息安全职业培训认证工作的核心要素。中国信息安全测评中心在全面考察国际知名信息安全职业教育知识体系的基础上,汇集国内诸多院士、专家和学者智慧,汲取教学实践体验,提出信息安全人才需要全面涵盖理论、技术、管理、工程、标准和法律法规等知识域,在此基础上编撰了《信息安全理论与技术》、《信息安全工程与管理》及《信息安全标准与法律法规》系列教材,于2003年由人民邮电出版社正式出版。该系列教材填补了国内空白,成为信息安全保障工作中的必备参考书。
信息安全是动态发展变化的。新技术不断推陈出新,信息安全态势不断演变,需要不断地更新知识。经过十余年的积累,我们编撰了《信息安全技术》和《信息安全保障》两本书,这是在原版本系列教材基础上的全面修订,经过了三年试用和多次完善。与上版相比,修订后的教材具有以下三个特点。
一是主线更清晰,内容更全面。《信息安全技术》增加了安全攻击与防护、软件安全开发等章节。《信息安全保障》新增了信息安全管理基础、信息安全风险管理、信息安全等级保护等章节,进一步充实了信息安全法律、法规和标准体系等方面的内容。整套教材系统地阐述了当前我国信息安全保障体系的主要工作,以及各项工作涵盖的关键技术。
二是知识进行了全面更新。在《信息安全技术》中,增加了云计算、物联网和工业控制系统等新领域的安全防护技术,以及主流安全管理平台、统一威胁管理系统、网络准入控制系统、Web应用安全防护产品的技术原理与应用。在《信息安全保障》中,信息安全战略、法律、法规、政策及标准更新截至2013年。本套教材全面体现了信息安全领域各方面的最新发展状况,与国外同类信息安全培训教材知识体系总体保持同步。
三是吸收了十余年来中国信息安全测评中心在漏洞分析与风险评估等领域的最新科研成果与工作积累,同时,汇聚了知名高校、科研院所、行业及产业信息安全专家的知识与经验。与国外同类信息安全培训教材相比,本套教材更加贴合我国信息安全保障的实际工作要求,技术理论、政策指导与实践应用相结合,满足国家对信息安全人才的深层次需求。
本套教材以知识体系的全面性和实用性为原则,涵盖信息安全保障、技术、工程、管理、法律、法规及标准等领域知识,为信息安全管理与技术人员解决实际工作问题提供参考。本套教材主要面向国家部委、重要行业、科研院所及企事业单位的信息安全从业人员,适用于信息技术产品研发测试、信息系统安全规划与建设运维、信息安全服务等方面的专业技术人员,以及信息安全总体规划、策略制度制定、风险评估和监督审计等方面的管理人员。
本套教材在修订完善的过程中得到社会各界人士的关心与支持,特别是中国信息安全测评中心刘晖、郭涛、彭勇、张涛、班晓芳、姚轶崭、郭颖、戴忠华、任望、王庆、王星、邹静,上海信息安全工程技术研究中心谢安明,清华大学叶晓俊,北京交通大学李勇,中国科学院软件研究所苏璞睿,华东师范大学张雪芹,北京信息科技大学刘凯,北京江南天安科技有限公司陈冠直、胡杰,北京时代新威信息技术有限公司王连强,上海三零卫士信息安全有限公司邬敏华、陈锡军、陈长松,北京奇虎测腾科技有限公司张䶮,南京翰海源信息技术有限公司方兴,在此表示衷心的感谢。
教材中不妥或错误之处恳请广大读者批评指正。

书摘: 第2章
密码学应用
阅读提示 随着人类对密码技术研究的不断深入,密码学的应用范围和领域也越来越广。本章主要介绍常见密码技术应用场景和产品分类、虚拟专用网络协议的工作原理和特点、公钥基础设施和特权管理基础设施的体系结构,以及其他常见密码产品,如PGP、OpenSSL等。通过本章的学习,读者能够根据不同信息系统的运行环境,选择适当的密码产品,经过正确的部署和配置,使其提供有效的信息保护。
2.1 概述
信息安全技术的发展经历了从20世纪60年代到70年代以密码为主要研究内容的通信保密阶段,到20世纪80年代到90年代计算机系统安全阶段,再到20世纪90年代以来以立体防御、深度防御为核心思想的信息安全保障(information assurance)阶段。信息安全的核心是通过计算机、网络、密码技术和安全技术,保护在信息系统中传输、交换和存储的消息的机密性、完整性、可用性、不可否认性、认证、可靠性和可控性。
本章将介绍基于密码学知识的典型应用,如虚拟专用网、公开密钥基础设施、特权管理基础设施,以及其他常见的密码产品。
2.2 密码学应用基础
2.2.1 使用密码技术保护应用安全
常见安全威胁包括窃听、假冒、篡改、越权以及否认等,应用系统采用密码算法和协议,能够解决上述安全问题。
1.-机密性保护
机密性(confidentiality)用于防止信息的未授权公开,确保信息存储、传输、处理的安全保密。如A发送给B的私人消息,不应该被其他人获知。
机密性通常通过加密来解决。加密可以采用对称密码算法,也可以采用非对称密码算法,还可使用这两类算法的混合密码体制。
对称密码算法的特点是加解密速度快,可以用来对明文加密变换得到密文,保护原有数据的机密性,常见对称加密算法有DES、AES、IDEA等。
非对称密码算法可以用来对数据进行加密得到密文,其特点是不需要预先设置共享密钥,常见的非对称密码算法有RSA、ECC等。
混合密码体制即同时采用对称算法和非对称算法加密。其中,对称算法用于加密明文,非对称算法用于加密对称密钥。常见的“数字信封”加密方式就使用了这种方法,公钥密码学标准(Public-Key Cryptography Standards,PKCS)的第七号标准PKCS#7(Cryptographic Message Syntax Standard)定义了相关内容。
2.-完整性保护
完整性(integrity)是指确保数据的一致性,不被未授权的用户创建、修改而损坏。如A发送给B一封关于A所在单位情况的公函,A不希望公函在传送中被人篡改,如果有人篡改了公函,A和B能立即识别出来。
循环冗余校验码(Cyclic Redundancy Check,CRC)就是一种完整性保护措施。基于现代密码学知识,完整性保护可以采用多种方法实现。
(1)哈希算法
哈希算法是一种单向函数,其特点是正向计算很容易,而反向计算非常困难。可以将要保护的数据通过哈希函数计算得到一个摘要值,用来保护数据的完整性,常见的哈希函数包括MD5、SHA-1等。
(2)消息鉴别码
MAC利用密钥来生成一个固定长度的短数据块,它的计算速度也比较快。MAC和单向函数的区别在于前者需要使用一个密钥,只有拥有同样密钥的实体才能鉴别该消息。常见的MAC包括CBC-MAC、HMAC等。
(3)对称或非对称加密算法
事实上,对数据进行加密也可以用于保护数据的完整性。攻击者若不知道加、解密密钥,则无法破解加密后的数据,一般也不可能篡改明文。如果仅为了保护数据的完整性,那么使用对称或非对称加密算法效率较低。
(4)数字签名
数字签名中采用哈希算法对明文运算得到摘要值,因此数字签名算法也可以用于保护数据的完整性。数字签名适用于发布公告,并对公告做完整性保护的场合。
3.-可鉴别性保护
可鉴别性(authenticability)是指对用户、进程、系统或消息等进行鉴别,确保被鉴别者的身份准确、消息正确。如,A发送给B一封邮件,B希望能判断出邮件确实来自于A,而不是别人。
可鉴别性一般用于身份鉴别和消息鉴别两种情形。身份鉴别是指通信各方鉴别身份的准确性和有效性。根据鉴别的目的不同,又可以分为单向鉴别和双向鉴别。
单向鉴别是指只有通信的一方鉴别另外一方。用于知名网站的一般性浏览,单向对网站进行鉴别可以帮助浏览者找到正确的网站,防止假冒网站;
双向鉴别是指通信双方互相做身份鉴别。在网银登录中,个人不仅需要验证网上银行服务器的真实性,网银服务器也需要验证登录者身份的合法性。
消息鉴别是验证消息的正确性和完整性。如用于保护网银转账的金额、账号等数据不被网络攻击者篡改,保护软件代码来源的真实性,确保未被修改。
数字签名可以产生仅由签名者生成且难以伪造的签名结果,是可鉴别性保护的首选方法。对称加密算法和MAC算法在一定环境下也可以用于鉴别性保护,通信双方(如A和B)预先共享某个秘密,并将其运用到通信消息的加密或MAC运算中,接收方能够鉴别出这个消息来自对方。但是通信方无法向第三方(如Mary)证实这个鉴别结果。
为了防止中间人攻击、重放攻击等造成的假冒用户身份和伪造消息,常使用各种鉴别协议,常见的鉴别协议包括单向SKEY、SKID、Kerberos等。
4.-不可否认性保护
不可否认性(non-repudiation)是指确保用户行为和系统行为是不可抵赖的,用于信息的事后追查和验证。简单地说,不可否认性就是发送者事后不可能否认他发送的消息或行为。如A向B发送过公司的业绩报表,A不能否认该发送行为;或者B收到报表后,故意篡改表格中某个数据,公布说这是A发送的数据,B应该无法拿出证据来证明这个“发送事实”。
不可否认性通常通过在发送数据中嵌入或附加一段只有发送者能够生成的数据,这段数据是别人不可伪造的,可以证实这些数据来源的真实性,数字签名是实现不可否认性的密码技术。
5.-授权与访问控制
授权与访问控制(authorization & access control)是指某个实体持有预先授予的权限或许可来访问系统资源。这里的权限或许可是管理系统授予被授权者的,在访问时需要加以检查。
网络应用常使用自主访问、强制访问等模型来实施控制,在用户提出访问、获取资源时进行检查和控制。密码学中的哈希函数、数字签名算法等技术,可以更有效地帮助用户实施权限的分配和访问控制。
授权证书(或属性证书)能保证授权访问的有效性,即将被授权者的身份以及对应的权限、许可绑定在一起,然后让授权者通过使用数字签名算法进行签名,使之无法被伪造和篡改。在实际访问系统资源时,通过验证授权证书来确定访问者是否有权访问该资源。
2.2.2 典型密码应用产品
密码产品指应用密码学技术,提供加解密服务、密钥管理、身份鉴别等功能的产品。随着信息技术的发展,密码学应用越来越广泛,信息系统中很多软硬件产品都或多或少地使用了密码技术,用于保护这些产品自身的安全性或安全地对外提供服务。随着产品功能的不断增加,普通产品和密码产品之间的界限越来越模糊。比如,加密电话机同时包括了普通电话和通信加密的功能,加密电视机具有普通电视和数字加密的功能,很多场合也将这些产品纳入密码产品的范畴。
由于产品功能的多样性和应用场景的复杂性,目前还没有公认的密码产品分类方法,可以从下述几个方面对密码产品进行分类。
(1)根据密码算法的类型分类
根据密码算法类型分类,包括对称密码算法类、非对称密码算法类、混合算法类和其他。
(2)根据密钥的强度分类
一般用在密码产品的进出口管控上,如对称密码算法产品以56位密钥长度为界划分,非对称密码算法产品以512位密钥长度为界划分。随着密码分析学的技术发展和计算机能力的增加,这种分类界限在不同时期会发生变化。
(3)根据密码算法的实现方式分类
根据密码算法实现方式,可以分为硬件算法产品和软件算法产品。硬件算法产品是指产品中的密码算法使用专用密码硬件实现,而软件算法产品是指产品中算法使用软件实现,并运行在通用硬件上。硬件算法产品可以保证密码算法代码以及加、解密所用的密钥仅出现在硬件内部,因此,一般用在对安全性要求较高的场合。
(4)根据算法来源分类
根据算法来源,可以划分为通用算法类和专用算法类,其中,通用算法类是指使用如DES、AES、RSA等国际上公开、通用的算法的产品;专用算法类是指使用某些指定、不公开的算法(如政府、军队或内部使用的算法)的产品。
(5)根据产品主要功能分类
根据产品主要功能,可以划分为算法支持类、通信保护类、密钥管理类、认证鉴别类、加密存储类等。其中,算法支持类产品主要对外提供密码算法运算服务功能;通信保护类产品主要为通信提供加密保护功能;密钥管理类产品指以密钥的生命周期管理(包括密钥产生、分发、归档等)为主要功能的密码产品;认证鉴别类产品指以认证鉴别为主要功能的密码产品;加密存储类产品指以加密存储信息为主要功能的密码产品。
2.3 公钥基础设施
2.3.1 基本概念
公钥基础设施(Public Key Infrastructure,PKI),也称公开密钥基础设施。按照国际电联(International Telecommunication Union,ITU)制定的X.509标准,PKI“是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。”简单地说,PKI是一种遵循标准、利用公钥加密技术提供安全基础平台的技术和规范,能够为网络应用提供密码服务的一种基本解决方案。PKI解决了大规模网络中的公钥分发和信任建立问题。
为了使用户在不可靠的网络环境中得到真实的公钥,同时避免集中存放密钥和在线查询产生的瓶颈问题,PKI引入数字证书(也称公钥证书)的概念。通过可信第三方——认证权威机构(Certification Authority,CA)或称为认证中心,把用户公钥和用户的真实身份绑定在一起,产生数字证书。通过数字证书,用户能方便、安全地获取对方公钥,可以离线验证公钥的真实性。
PKI一般由CA、注册权威机构(Registration Authority,RA)、证书/CRL库和终端实体等部分组成,如图2-1所示,主要元素说明如下。
图2-1 PKI架构
(1)CA
CA是证书签发权威机构,也称数字证书管理中心,它作为PKI管理实体和服务的提供者,管理用户数字证书的生成、发放、更新和撤销等。
(2)RA
RA又称证书注册中心,是数字证书的申请、审核和注册中心,同时也是CA认证机构的延伸。在逻辑上RA和CA是一个整体,主要负责证书注册、审核以及发证。
(3)证书/CRL(Certificate Revocation List)库
证书/CRL库主要用来发布、存储数字证书和证书撤销列表,供用户查询、获取其他用户的数字证书,为系统中的CRL所用。
(4)终端实体
终端实体(end entity)指拥有公/私钥对和相应公钥证书的最终用户,可以是人、设备、进程等。
2.3.2 数字证书
数字证书是一段经CA签名的、包含拥有者身份信息和公开密钥的数据体。数字证书和一对公、私钥相对应。公钥以明文形式放到数字证书中,私钥为拥有者秘密掌握。CA确保数字证书中信息的真实性,可以作为终端实体的身份证明。在电子商务和网络信息交流中,数字证书常用来解决相互间的信任问题。可以说,数字证书类似于现实生活中公安部门发放的居民身份证。
国际标准X.509定义了规范的数字证书格式,它是PKI技术体系中应用最广泛、最基础的一个国际标准。许多与PKI相关的协议标准(如PKIX、S/MIME、SSL、TLS、IPsec等)都是在X.509基础上发展起来的。
在X.509标准中,数字证书主要包括3部分内容:证书体、签名算法以及CA签名数据。其中,CA签名数据是指CA使用指定的“签名算法”对“证书体”执行签名的结果。证书体一般包括以下内容:
版本号(version):标识证书的版本。
序列号(serial number):由证书颁发者分配的证书的唯一标识符,通常为一个整数。
签名算法标识(signature):签署证书所用的算法及相应的参数,由对象标识符加上相关参数组成。
签发者(issuer):指建立和签署证书的CA名称。
有效期(validity):包括证书有效期的起始时间和终止时间。
主体名(subject):指证书拥有者的名称。
主体的公钥(subject public key info):证书拥有者的公钥。
发行者唯一识别符(issuer unique identifier):可选项,标识唯一的CA。
主体唯一识别符(subject unique identifier):可选项,用来识别唯一的主体。
扩展域(extension):包括一个或多个扩展的数据项,在第3版中开始使用,具体包括:Authority密钥标识符、主体密钥标识符、密钥使用用途、主体别名、颁发者别名等。
数字证书的生命周期一般包含以下阶段。
(1)证书申请
用户通过支持PKI的应用程序,如Web浏览器向CA申请数字证书的过程,该过程从用户生成密钥对(公钥和私钥)时开始。
(2)证书生成
一旦用户请求了证书,CA就根据其建立的认证策略验证用户信息。如果确定信息有效,则CA创建该证书。
(3)证书存储
CA在生成用户证书之后,通过安全的途径把证书发送给用户,或通知用户自行下载。数字证书将被保存在用户计算机里。为了防止证书丢失或损坏,证书持有者应将证书导出并保存在安全的存储介质里,如智能卡等。
(4)证书发布
CA在生成用户证书之后,会把用户的公钥发送到指定的资源库,如内部目录或公用服务器,以方便人们获得或验证证书持有者的公钥。
(5)证书废止
当证书发出时,将根据分发策略为其配置特定的到期时间。如果需要在该日期之前撤销证书,可以由CA将这一撤销事实发布到CRL中,让所有用户都可以查询到。CRL是由CA签名的一组电子文档,包括了被撤销证书的唯一标识(证书序列号)。CRL为应用程序和其他系统提供了一种检验证书有效性的方式。
按照数字证书的拥有者,可以分为人员证书、设备证书、机构证书等类型;按照数字证书的用途,可分为签名证书和加密证书,其中签名证书主要用于用户信息签名,以保证信息的不可否认性;加密证书主要用于用户传送信息的加密,以保证信息的真实性和完整性。
2.3.3 CA
数字证书是各实体的身份证明,具有唯一性和权威性。为满足这一要求,需要建立一个可信的机构,专门负责数字证书的产生、发放和管理,以保证数字证书真实可靠,这个机构就是认证权威机构CA。CA是PKI的核心组成部分,PKI体系也往往被称为PKI/CA体系。
它的主要功能如下:
(1)证书的签发和管理
接受终端实体的证书申请,验证审查用户身份,生成数字证书,并负责数字证书的分发、发布、更新和撤销等。
(2)CRL的签发和管理
CA需要发布和维护CRL,将已作废的证书作为“黑名单”,连同作废原因一起发布到CRL。
(3)RA的设立、审核及管理
RA是受CA委派,负责和终端实体交互的、接受数字证书申请并进行审核的机构,有时也称为用户注册系统。
为了便于CA进行数字证书的申请、签发、发布、更新以及撤销等管理,CA内部各个系统在逻辑上可以分为核心层、管理层和服务层,如图2-2所示。其中,核心层由密钥管理系统、证书签发系统和证书存储发布系统组成;管理层由证书管理系统和安全管理系统组成;服务层由本地注册系统、远程注册系统和发布/查询系统等组成。
图2-2 CA逻辑结构
一个完整的证书认证服务系统一般采用层次结构,即根CA(Root CA,RCA)下设CA,CA下设子CA(Subordinate CA,SCA),SCA下设RA。根据行业或地区,一个RCA可以下设多个CA、一个CA可以管理多个RA。通常按照PKI系统建设规模的大小,可以灵活地设计成RCA-CA-SCA-RA四层结构、RCA-CA-RA三层结构或CA-RA两层结构。
2.3.4 PKI互操作模型
跨国、跨行业、跨地区不同的PKI之间需要互联、互通和相互信任。信任模型就是一个建立和管理信任关系的框架。信任模型描述了如何建立不同认证机构之间的认证路径,以及构建和寻找信任路径的规则。
为了描述互操作模型,先介绍信任相关的基本概念。
信任(trust):在X.509的2000年版中,对信任的定义为:如果一个实体假定另一个实体会严格并准确地像它期望的那样行动,那么就称它信任那个实体。其中的实体是指在网络或分布式环境中具有独立决策和行动能力的终端、服务器或智能代理等。信任包含了双方的一种关系以及对该关系的期望。
信任域(trust domain):指一个组织内的实体在一组公共安全策略控制下所能信任的实体集合,即信任的范围。公共安全策略是指系统颁发、管理和验证证书所依据的一系列规定、规则的集合。
信任锚(trust anchor):PKI体系中信任的起点。
信任关系:在PKI中,当两个认证机构中的一方给对方的公钥或双方给互相的公钥颁发证书时,两者之间就建立了信任关系。
信任路径(trust path):在一个实体需要确认另一个实体身份时,它先需要确定信任锚,再由信任锚找出一条到达待确认实体的各个证书组成的路径,该路径称为信任路径,通常也称信任链。实体之间的信任通过信任路径传递。
目前常用的PKI互操作模型主要有以下几种结构:严格层次结构模型、网状信任结构模型、桥信任结构模型和混合信任结构模型。
1.-严格层次结构模型
严格层次结构模型是一种集中式的信任模型,又称树模型或层次模型。严格层次结构模型是一棵树,它比较适合具有层次结构的机构,如军队、垂直性行业、学校等。在严格层次结构模型中,多级CA和最终用户构成一棵倒转的树,图2-3表示了一个四层的严格层次结构模型。
图2-3 严格层次结构模型
假设实体A收到B的一个数字证书,而A和B的数字证书由不同的CA签发,则A验证B的数字证书时,需找到B数字证书中签发的CA的信息后,沿着层次树往上找,直到可以和A数字证书签发的CA相同或处于A的CA的垂直上级CA时,方可以完成验证。从树的角度看,即A和B必须找到相同的祖先节点(中间CA或根CA)才可以互相验证。
层次结构模型中信任建立在严格的层次机制上,优点是其结构与许多组织或单位的结构相似,容易规划,缺点是不同单位的CA必须在一个共同的根CA管理之下,根CA会导致风险集中。
2. 网状信任结构模型
网状信任结构模型,也称为分布式信任模型。与严格层次结构模型相反,网状信任结构把信任分散到两个或更多个CA上。在该结构中,每个终端实体都信任其证书签发CA,而CA之间如果信任,则以点对点的方式相互签发证书。网状信任结构模型的优点是结构灵活、扩展容易、适合动态变化的组织机构,单CA安全性的削弱不会影响到整个PKI的运行,缺点是证书路径的扩展与层次结构比较复杂,选择证书路径比较困难。网状信任结构模型如图2-4所示。
图2-4 网状信任结构模型
3. 桥信任结构模型
桥信任结构模型也称中心辐射式信任模型。每个根CA都与单一的用作相互连接的处于中心地位的CA进行交叉认证,处于中心地位的CA称为桥CA。任何结构类型的PKI都可以通过桥CA连接在一起,实现相互信任,每个单独的信任域可通过桥CA扩展到多个CA之间,如图2-5所示。
4. 混合信任结构模型
如果实际网络结构的复杂性决定了单一的某类信任模型不能满足现实的需要,可以使用混合信任模型来解决。严格层次结构信任模型和网状信任模型相结合形成混合信任模型。该模型分为两个部分,一部分是在单一信任域内的信任结构,通常采用严格层次信任模型;另一部分是在多个信任域之间的信任模型,通常采用网状信任模型。在大型的域间采用网状信任模型,虽然有着很好的灵活性和可扩展性,但也存在证书路径选择困难,以及信任度降低的问题。
图2-5 桥信任结构模型
2.3.5 PKI的应用与发展
PKI作为一种安全基础设施,应用非常广泛,如虚拟专用网、安全电子邮件、Web安全应用、电子商务/电子政务等领域。其中,基于PKI技术的IPSec(Internet Protocol Security)协议已经成为构建VPN的基础,它可以实现经过加密和认证的通信。
常用浏览器都支持SSL协议。利用PKI技术,SSL协议支持在浏览器和服务器之间进行加密通信。此外,还可以利用数字证书保证通信安全,服务器端和浏览器端分别由可信的第三方颁发数字证书,这样在交易时,双方可以通过数字证书确认对方的身份。结合SSL协议和数字证书,PKI技术可以保证在进行Web交易时多方面的安全需求。
随着PKI技术应用的不断深入,PKI技术本身也在不断发展与变化,主要表现在以下几方面。
1. 属性证书
X.509 v4增加了属性证书 (AC)的概念,AC是特权管理基础设施的重要组成部分。其核心思想是以资源管理为目标,将对资源的访问控制权统一交由资源的所有者来进行访问控制管理。
2. 漫游证书
证书应用的普及产生了便携性的要求,一个解决方案是使用漫游证书,它由第三方软件提供,只需在系统中正确地配置,该软件(或者插件)就可以允许用户访问自己的公/私钥对。漫游证书的原理是将用户的证书和私钥放在一个中央服务器上,当用户登录到本地系统时,从该服务器中安全地检索出公/私钥对,并将其放在本地系统的内存中以备后用,当用户完成工作并从本地系统注销后,该软件自动删除存放在本地系统中的用户证书和私钥。
3. 无线PKI
将PKI技术直接应用于无线通信领域存在两方面的问题:一是无线终端的资源有限(运算能力、存储能力、电源等);二是通信模式不同。目前,已公布了无线公钥基础设施(Wireless Public Key Infrastructure,WPKI)草案,内容涉及WPKI的运作方式,以及如何与现行的PKI服务相结合等。
WPKI中定义了三种不同的通信安全模式,在证书编码方面,WPKI证书降低了存储量,实现机制有两种,一种方法是重新定义证书格式,减少X.509证书尺寸;另一种方法是采用ECC算法减少证书的尺寸,ECC密钥的长度比其他算法的密钥要短得多。同时,互联网工程任务组(Internet Engineering Task Force,IETF)也在WPKI、PKIX证书中限制了数据区的大小。