8.4 数字证书与公钥基础设施
8.4.1 数字证书
8.4.2 公钥基础设施
第 8章 网络安全
8.4.1 数字证书
数字证书, 即数字 ID,是一种由 CA签发用于识别的电子形式的个人证
书 。 这里, 数字证书 指 X.509公钥证书, 即数字证书的一个标准格式 。 数
字证书可以用于身份验证, 方便地保证由鲜为人知的网络发来信息的可靠
性, 同时建立收到信息的拥有权及完整性 。
1,证书结构
尽管 X.509已经定义了证书的标准字段和扩展字段的具体要求, 仍有很
多的证书在颁发时需要一个专门的协议子集来进一步定义说明 。 Internet
工程任务组 PKI X.509工作组就制定了这样一个协议子集, 即 RFC2459。
图 8.20给出了第 3版的证书结构 。 除了 X.509格式的证书外, 还有 SPKI、
PGP,SET和属性证书等形式 。
第 8章 网络安全
8.4.1 数字证书
图 8.10 X.509版本 3的证书格式
版本号 表示证书的版本,如版本 1,版本 3等; 序列号 是由证书颁发者分配
给证书的惟一标识符; 签名算法 是由对象标识符加上相关参数组成的标识符,
用于说明证书所用的数字签名算法; 颁发者 是证书颁发者的可识别名; 有效期
是证书有效的时间段; 主体 是证书拥有者的可识别名,此字段必须为非空; 主
体公钥信息 是对主体的公钥以及算法标识符进行说明; 颁发者惟一标识符 是证
书颁发者的惟一标识符,仅在版本 2和版本 3中要求,属于可选项; 主体惟一
标识符 是证书拥有者惟一标识符,仅在版本 2和版本 3中要求,属于可选项;
扩展 是专用的标准和专用功能字段; 签名 是认证机构的数字签名。
版本号 序列号 签名算法 颁发者 有效期 主体 主体公钥信息 颁发者唯一标识符 扩展 签名
第 8章 网络安全
8.4.1 数字证书
2,证书的用途和功能
从证书的用途上看,数字证书可分为 签名证书和加密证书。签名证书
主要用于对用户信息进行签名,以保证信息的不可否认性;加密证书主
要用于对用户传送信息进行加密,以保护认证信息以及公开密钥的文件。
3,认证机构系统
CA系统为实现其功能,主要由 3部分组成:
? 认证机构
? 注册机构
? 证书目录服务器
第 8章 网络安全
8.4.1 数字证书
下面以 OpenCA身份认证系统为例说明 CA系统的工作流程 。 整个 CA
采用图 8.11所示的体系结构模型 。
图 8.11 CA系统结构
在 OpenCA认证系统当中,整个 CA系统由注册机构 RA、认证机构 CA、
CA管理员平台、访问控制系统以及目录服务器组成。
交叉认证
客户实体 访问控制
RA C A 1
C A 2
L
D
A
P
管理控制台
数据库
W e b接口
第 8章 网络安全
8.5.1 数字证书
4,数字认证
数字认证是 检查一份给定的证书是否可用的过程,也称为证书验证。
数字认证引入了一种机制来确保证书的完整性和证书颁发者的可信赖
性。在考虑证书的有效性或可用性时,除了简单的完整性检查还需要
其他的机制 。数字认证包括确定如下主要内容:
? 一个可信的 CA已经在证书上签名。
? 证书有良好的完整性。
? 证书处在有效期内 。
? 证书没有被撤消。
? 证书的使用方式与任何声明的策略和 /或使用限制相一致 。
第 8章 网络安全
8.4.2 公钥基础设施
1,PKI的组成
一个实用的 PKI体系应该是安全的、易用的、灵活的和经济的,它必
须充分考虑互操作性和可扩展性。 从系统构建的角度,PKI由三个层次构
成,如图 8.13所示。
PKI系统的最底层 位于操作系统之上,为密码技术、网络技术和通信
技术等,包括各种硬件和软件; 中间层 为安全服务 API和 CA服务,以及证
书,CRL和密钥管理服务; 最高层 为安全应用 API,包括数字信封、基于
证书的数字签名和身份认证等 API,为上层各种业务应用提供标准的接口。
一个完整的 PKI系统具体包括 认证机构 CA、数据证书库、密钥备份及
恢复系统、证书作废处理系统和客户端证书处理系统等部分。
第 8章 网络安全
8.4.2 公钥基础设施
图 8.13 PKI系统应用框架
第 8章 网络安全
8.4.2 公钥基础设施
? 认证机构。 认证机构 CA是证书的签发机构,是保证电子商务、
电子政务等交易的权威性、可信任性和公正性的第三方机构。
? 数据证书库。 证书库是 CA颁发证书和撤消证书的集中存放地,
可供用户进行开放式查询,获得其他用户的证书和公钥。
? 密钥备份及恢复系统。 PKI提供的密钥备份和恢复解密密钥机
制是为了解决用户丢失了密钥使得密文数据无法被解密的情形。
? 证书作废处理系统。 证书的有效期是有限的,证书和密钥必须
由 PKI系统自动进行定期的更换,超过其有效期限就要被作废处理。
? 客户端证书处理系统。 为了方便客户操作,在客户端装有软件,
申请人通过浏览器申请、下载证书,并可以查询证书的各种信息,
对特定的文档提供时间戳请求等。
第 8章 网络安全
8.4.2 公钥基础设施
2,PKI 的运行模型
在 PKI的基本框架中,具体包括管理实体、端实体和证书库三类实体,
其功能如下:
? 管理实体 。它包括证书签发机构 CA和注册机构 RA,是 PKI的核
心,是 PKI服务的提供者。 CA和 RA以证书方式向端实体提供公开密
钥的分发服务。
? 端实体。 它包括证书持有者和验证者,它们是 PKI服务的使用
者。 持有者 向管理实体申请并获得证书,也可以在需要时请求撤销
或更新证书; 验证者 通常是授权方,确认持有者所提供的证书的有
效性和对方是否为该证书的真正拥有者,只有在成功鉴别之后才可
授权对方。
? 证书库。 它是一个分布式数据库,用于证书及撤销证书列表存
放和检索。
第 8章 网络安全
8.4.2 公钥基础设施
PKI操作分为 存取操作和管理操作两类。 前者 涉及管理实体或端实体
与证书库之间的交互,操作的目的是向证书库存放、读取证书和作废证
书列表; 后者 涉及管理实体与端实体之间或管理实体内部的交互,操作
的目的 是完成证书的各项管理任务和建立证书链。
具体 PKI系统的运作流程, 如图 8.14所示。用户向 RA提交证书申请或
证书注销请求,由 RA审核; RA将审核后的用户证书申请或证书注销请求
提交给 CA; CA最终签署并颁发用户证书,并且登记在证书库中,同时定
期更新证书失效列表 CRL,供用户查询;从根 CA到本地 CA的存在一条链,
下一级 CA有上一级 CA授权; CA还可能承担密钥备份及恢复工作。
第 8章 网络安全
8.4.2 公钥基础设施
图 8.14 PKI的运行模型
用户向 RA提交证书申请或证书注销请求,由 RA审核; RA将审核后
的用户证书申请或证书注销请求提交给 CA; CA最终签署并颁发用户证
书,并且登记在证书库中,同时定期更新证书撤消列表 CRL,供用户查
询。从根 CA到本地 CA之间存在一条链,下一级 CA有上一级 CA授权。
目录服务器( L D A P )
发布
证书和 CRL
获取
证书和 CRL
获取
证书
终端实体 CA CA
RA
登记注册信息
和发布证书注册
获取证书,CRL,登记、查询
CA 间管
理操作
存放证书读取证书
证书库
第 8章 网络安全
8.4.2 公钥基础设施
4,PKI的信任模型
? 严格等级结构的信任模型。 这个模型可以描述为一棵翻转的
树,其中树根代表整个 PKI系统中信任的起始点,称为 根 CA,PKI
系统中的所有实体都信任根 CA。根 CA下存在多级子 CA,根 CA为自
己和下级子 CA 颁发数字证书,但不为用户颁发证书。无下级的 CA
称为 叶 CA,叶 CA为用户颁发证书。除根 CA外的其他 CA都由父 CA颁
发证书,如图 8.15所示。
图 8.15 严格等级结构的信任模型
根 CA
根 C A 1 根 C A n
根 C A 1 1 根 C A 1 2 根 C A 2 1
U 1 1 1 U 1 1 2 U 1 2 1 U 2 1 1
根 C A 2
根 C A n 1
U n 1 1 U n 1 n
第 8章 网络安全
8.4.2 公钥基础设施
? 网状信任模型。 这种模型中没有所有实体都信任的根 CA,终
端用户通常选择给自己颁发证书的 CA为根 CA,各根 CA之间通过
交叉认证的方式互相颁发证书。网状信任模型比较灵活,验证速度
较快。但由于存在多条证书验证路径,存在如何有效地选择一条最
短的验证路径的问题,如图 8.16所示。
图 8.16 网状信任模型
C A 1
U 2 1
U 1 2U 1 1
U 3 2U 3 1U 2 2
C A 2 C A 3
第 8章 网络安全
8.4.2 公钥基础设施
? WEB信任模型。 WEB信任模型在浏览器产品中物理地嵌入多个根
CA证书,用户在验证证书时,从被验证的证书开始向上查找,直到
找到一个自签名的根证书,即可完成验证过程。
? 桥信任模型。 这种模型也叫中心辐射式信任模型。它被设计成
用来克服分级模型和网状模型的缺点和连接不同的 PKI体系,如图
8.17所示。
图 8.17 桥信任模型
桥 CA根 C A 1
根 C A 1 1 根 C A 1 2
U 1 1 1 U 1 1 2 U 1 2 1
根 C A n
根 C A n 1
U n 1 1 U n 1 n
第 8章 网络安全
8.4.2 公钥基础设施
5,PKI提供的服务
? 认证。 认证就是确认实体是它自己所申明的主体。在应用程序
中有实体鉴别和数据来源鉴别这两种情形。
? 机密性。 机密性就是确保数据的秘密,除了指定的实体外,无
人能读出这段数据。
? 完整性。 数据完整性就是确认数据没有被非法修改。
? 不可否认。 通常指的是对数据来源的不可否认和接受后的不可
否认。
? 安全时间戳。 安全时间戳就是一个可信的时间权威机构用一段
可认证的完整的数据表示时间戳。
? 特权管理。 在一个特定的环境中,必须为单个实体、特定的实
体组和指定的实体角色制定策略。