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