《信息技术安全技术公钥基础设施PKI组件最小互操作规范(GB-T 19771-2005).pdf》由会员分享,可在线阅读,更多相关《信息技术安全技术公钥基础设施PKI组件最小互操作规范(GB-T 19771-2005).pdf(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ICS 35.100.70L79中中华华人人民民共共和和国国国国家家标标准准GB/T XXXX200X信息技术安全技术公钥基础设施PKI 组件最小互操作规范Information technology-Security technology-Public key infrastructure-Minimum interoperability specification for PKI components(报批稿)-发布-实施国国家家质质量量监监督督检检验验检检疫疫总总局局发发布布GB/T 200I目次前 言.III引 言.IV1范围.12规范性引用文件.23术语和定义.24缩略语.45PKI
2、 组件规范.55.1概述.55.2证书认证机构(CA).55.2.1概述.55.2.2与互操作性有关的 CA 功能要求.55.2.3电子事务集合.65.3注册机构(RA).75.3.1概述.75.3.2与互操作性有关的 RA 功能要求.75.3.3事务集合.75.4证书持有者规范.85.4.1概述.85.4.2与互操作性相关的 PKI 证书持有者功能要求.85.4.3证书持有者事务集合.85.5客户规范.85.5.1客户概述.85.5.2与互操作性相关的 PKI 客户功能要求.85.5.3PKI 客户事务集合.86数据格式.96.1数据格式概述.96.2证书格式.96.2.1证书字段.96.2
3、.2加密算法.106.3证书撤销列表.156.3.1证书撤销列表概述.156.3.2CRL 字段.156.3.3CRL 扩展.166.3.4CRL Entry 扩展.176.4证书认证路径.186.5事务消息格式.186.5.1事务消息格式概述.186.5.2全体 PKI 消息组件.186.5.3通用数据结构.206.5.4特殊操作的数据结构.246.6PKI 事务.266.6.1PKI 事务概述.266.6.2RA 发起的注册请求.266.6.3新实体的自我注册请求.276.6.4已知实体的自我注册请求.296.6.5证书更新.31GB/T 200II6.6.6PKCS#10 自我注册请求.
4、336.6.7撤销请求.346.6.8集中产生密钥对和密钥管理证书申请.366.6.9组合证书申请.386.6.10从资料库请求证书.396.6.11从资料库请求 CRL.39附录 A(规范性附录)X.509 v3 Certificate ASN.1.40附录 B(规范性附录)Certificate and CRL Extensions ASN.1.43附录 C(规范性附录)ASN.1 Module for transactions.50附录 D(规范性附录)Certificate Request Message Format ASN.1 Module.56GB/T 200III前言本标准是在
5、参考美国国家标准与技术研究院(NIST)提出的公钥基础设施 PKI 组件最小互操作规范第二版内容的基础上修改而成,同时本标准还参照了包括证书管理策略(CMP)、证书请求消息格式(CRMF)、FIPS 许可的密码算法和 X9 密码算法等相关的规范。本标准凡涉及密码算法相关内容,按国家有关法规实施。本标准中引用的 SHA-1、RSA、SHA1-MAC、SHA1-HMAC、DES-MAC、tDEA 密码算法均为举例性说明,具体使用时均须采用国家商用密码管理委员会批准的相应算法。本标准的附录 A、附录 B、附录 C、附录 D 为规范性附录。本标准由中华人民共和国信息产业部提出。本标准由全国信息安全标准
6、化技术委员会(TC260)归口。本标准起草单位:信息安全国家重点实验室、中国电子技术标准化研究所。本标准主要起草人:冯登国、吴志刚、荆继武、高 能、向 继、张 凯、周瑞辉、徐 佳、林璟锵、曹 政、余 婧、廖洪銮、李 丹、罗锋盈、陈 星。GB/T 200IV引言数字签名证书在政府服务商业和法律程序中代替手写签名,并且允许以前没有联系的双方可靠地鉴别对方以进行商业事务。加密证书提供了加密传输和加密算法的应用,来建立或保护对称密钥以提供机密性。这样的一个公钥基础设施(PKI)系统和它相应的证书,也许远远超出了一些应用的实际需要,对那些特别的应用要求来说改进的证书和协议更合适。GB/T 2001信息技
7、术安全技术公钥基础设施PKI 组件最小互操作规范1范围本标准支持大规模公钥基础设施(PKI 负责发布、撤销和管理用于数字签名及密钥管理的公钥证书)的互操作性。本标准为不同的 PKI 开发者所开发的组件产品提供了基本的互操作性参考。.本标准的内容涉及:公钥证书的产生、更新和撤销;签名的产生和验证;证书和证书认证路径验证。本标准主要包括了对证书、证书撤销列表(CRL)扩展和一套事务的描述。这些事务包括证书申请、证书更新、证书撤销以及从资料库检索证书和 CRL。本标准主要以最终用户的角度来看待 PKI 的互操作性,即怎样申请和获得一个证书;怎样签署文档;怎样检索他人的证书;怎样验证签名。就像下面所提
8、及的,PKI 的“内部”操作规范还没有达到足够成熟,因此它们没有被详细规定。在本标准中 PKI 被分成五个组件:颁发和撤销证书的证书认证机构(CAs);确保公钥和证书持有者的身份以及别的属性之间绑定的注册机构(RAs);获得证书和签署文档的证书持有者;验证签名并且执行密钥管理协议以及验证证书认证路径的客户;存储并提供对证书和 CRL 查询的资料库。许多实体在功能上既是证书持有者又是客户。CAs 和 RAs 也是如此。终端实体证书持有者通常也是客户。当然,也有一些客户并不是证书持有者。资料库不必是证书持有者和客户。本标准仅仅涉及资料库协议的一部分,那就是客户要求从资料库中获得证书和 CRL 的信
9、息。本标准将轻型目录访问协议(LDAP)版本 2 作为用户访问资料库的传输手段,因为它是被广泛接受和采用的方法。例如,这种选择既不强调 CA 用来更新资料库的标准化协议,也不强调资料库之间互相映射的协议,尽管它们都是需要的。前者可以具体情况具体分析以解决 CA 和资料库之间的协议,后者也许并不必要。在通常的证书状态确认(本标准遵循的)中,资料库不是可信实体,CA 对 CRL 的签名更可靠。在线证书状态实时确认机制要求资料库是可信实体,而且它们也能让客户相信他们的身份。这样的证书状态确认协议超出了本标准的范围,但是在一些应用中可能需要实时证书状态确认,所以在以后的修订版中可能会解决这个问题。本标
10、准中没有提供让资料库验证使用者的协议,该协议是资料库记费应用的前提。虽然这可能是资料库重要的商用模式,但目前人们对该模式的看法还没有达到一致,也没有统一的支撑协议。在以后的修订版中可能会解决这个问题。在一些情况下,带外事务也是本标准中事务的一部分。带外事务的形式和内容超出了本标准的范围。本标准假定 CA、RA 和证书持有者是物理上分离的。如果这些实体在物理上是在一起的话,那么对特定接口的支持是不需要的。具体地说,如果一个 PKI 组件既包含 RA 又包含 CA 的功能,那么就不必支持这两者之间的事务消息格式。然而,如果一个系统包括一个 CA,该 CA 除了具有本地 RA 功能以外还支持远程 R
11、A,那么它就必须支持和远程 RA 之间的事务。在以下的论述中,我们假设 CA 和 RA 是单独的PKI 组件。本标准把 CA 和 RA 当作 PKI 系统的功能实体。这些实体的内部设计超出了本标准的范围。本标准假设,从最小范围来讲,证书持有者有一个签名密钥和证书。可选的,证书持有者还可以获得一个加密密钥和证书。一旦证书持有者希望请求或者撤销加密证书,它就需要用签名密钥来向 CA 证明自己。项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:GB/T 2002对那些没有签名密钥对、不需要不可否认性服务的系统,本标准不予直接支持。当然,这些实体主要是这样
12、一些计算机系统(例如,路由器或是链路加密机),它们由管理员来维护。如果管理员有系统管理的签名密钥对,本标准的事务集合也可用来支持这些实体的证书请求和撤销。本标准选定了一个成熟重要的数字签名算法,新的标准算法很容易加入进来。本标准支持层状和网状信任模型。在层次模型中,CA 通过认证一个次级 CA 来提供可信性。信任授权从根 CA 开始,该 CA 被所有节点信任。在网状模型中,信任是建立在两个同等关系的 CA 中的(即交叉认证),因此两个 CA 之间可以有多个信任路径。最小互操作规范假设 GB/T 16264.8-200X 证书的扩展basicConstraintsbasicConstraints
13、,nameConstraints,nameConstraints,keyUsagekeyUsage 和 certificatePolicycertificatePolicy 都会包含在证书中,以便对信任关系进行明确管理。本标准假设无需确认就可以从资料库中检索证书和 CRL。客户可以从适当的资料库中获得证书和CRL 来进行路径验证。资料库可以是 X.500 目录或者使用通用资源标识符(URI)可访问的目录。希望资料库能够支持 LDAP(即 RFC 1777),因此相应的产品也要求支持这个协议。资料库不必连接在一起,别的协议也可以用来获得证书和 CRL。本标准要求明确所使用的证书资料库和检索证书以
14、及 CRL 的机制。CRL 是一个广泛使用的机制,它用于撤销证书和验证未到期证书的状态。CRL 的使用可能还没有统一。一些 CA 选择在线实时确认证书状态的机制,CRL 的产生对于别的 CA 的使用者来说应该具有互操作性。除了当前检查证书的有效性,CRL 还提供了一个重要的机制,即将证书以前的撤销状态存档。如果一个带日期签名的签名日期在证书的有效期内,那么该签名是合法的,当前的 CRL 不会显示证书被撤销的信息。在本标准中,假设 CA 可以产生 CRL,客户在验证证书时可以使用 CRL。2规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单
15、(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。GB/T 16263.1-200X信息技术ASN.1 编码规则第 1 部分:基本编码规则(BER)、正则编码规则(CER)和非典型编码规则(DER)规范(ISO/IEC 8825-1:2002,IDT)GB/T 16264.8-200X信息技术开发系统互连目录第 8 部分:公钥和属性证书框架(ISO/IEC9594-8:2001,IDT)ANSI X9.52用于金融服务业的公钥密码算法:三重 DES 操作模式ANSI X9.55用于金
16、融服务业的公钥密码算法:公钥证书扩展和证书撤销列表扩展RFC 822Internet 文本邮件的标准消息格式RFC 1766语言标识用标签RFC 1777轻量级目录访问协议RFC 1959LDAPURL 格式RFC 2104用于消息认证的带密钥散列函数RFC 2202HMAC-MD5 和 HMAC-SHA-1 测试用例RFC 2313PKCS#1RSA 加密版本 1.5RFC 2314PKCS#10认证请求语法版本 1.5RFC 2459因特网 X.509 公开密钥基础设施证书和证书撤销列表框架RFC 2510因特网 X.509 公开密钥基础设施证书管理协议RFC 2511因特网 X.509
17、公开密钥基础设施证书消息格式RFC 2559因特网 X.509 公开密钥基础设施操作协议-轻量目录访问协议版本 2RFC 2985PKCS#9可选的对象类和参数类型版本 2.0FIPS-113:1985计算机数据加密鉴别PKCS#11密码令牌接口标准版本 2.03术语和定义下列术语和定义适用于本标准。3.1抽象语法记法一(ASN.1)Abstract Syntax Notation 1(ASN.1)项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:GB/T 2003用来组织复杂数据对象的表示法。3.2许可accredit认可一个实体或个人去执行特定
18、动作。3.3公钥证书public key certificate用户的公钥连同其它信息,并由发布该证书的证书认证机构的私钥进行加密使其不可伪造。3.4证书持有者certificate holder有效证书的主体对应的实体。3.5证书策略certificate policy命名的一组规则,指出证书对具有公共安全要求的特定团体和/或应用的适用范围。例如,一个特定的证书策略表明,用于确认电子数据交换贸易证书的适用范围是价格在某一预定范围内的交易。3.6证书用户certificate user需要确切地知道另一实体的公开密钥的某一实体。3.7证书使用系统certificate-using system
19、证书用户使用的、本标准定义的那些功能实现。3.8证书认证机构(CA)Certificate Authority(CA)负责创建和分配证书,受用户信任的权威机构。用户可以选择该机构为其创建密钥。3.9证书认证路径certification path一个 DIT 中对象证书的有序序列,通过处理该有序序列及其起始对象的公钥可以获得该路径的末端对象的公钥。3.10认证业务说明(CPS)Certification Practice Statement(CPS)证书认证机构发放证书时遵循的业务说明。3.11CRL 分布点CRL distribution point一个 CRL 目录项或其它 CRL 分发源
20、;由 CRL 分布点分发的 CRL 可以包括仅对某 CA 所发证书全集某个子集的撤销条目,或者可以包括有多个 CA 的撤销条目。3.12证书撤销列表(CRL)Certificate Revocation List(CRL)一个已标识的列表,它指定了一套证书发布者认为无效的证书。除了普通 CRL 外,还定义了一些特殊的 CRL 类型用于覆盖特殊领域的 CRL。3.13发证certify颁发一个证书的行为。3.14客户client使用 PKI 来获得证书并且去验证证书和签名的功能。3.15增量 CRLdelta-CRL部分撤销列表,在可参考的基础CRL发布以后,这些证书更改了其撤销状态。3.16可
21、辨别编码规则(DER)Distinguished Encoding Rules(DER)项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:GB/T 2004对 ASN.1
22、 对象进行编码的规则。注:本标准中使用 DER 对 ASN.1 对象进行编码。3.17数字签名digital signature允许接收者验证签名人的身份和数据完整性的数据单元。3.18目录服务(DS)Directory Service(DS)分布在网络中的各种节点或服务器提供的分布式数据库服务。3.19终端实体end entity不以签署证书为目的而使用其私钥的证书主体或者是依赖(证书)方。3.20散列函数,哈希函数hash function将值从一个大的(可能很大)定义域映射到一个较小值域的(数学)函数。“好的”散列函数是把该函数应用到大的定义域中的若干值的(大)集合的结果可以均匀地(和随
23、机地)被分布在该范围上。3.21散列码hash code散列函数的输出比特串。3.22消息认证码(MAC)Message Authentication Code(MAC)通过密码技术由消息产生的认证数据。3.23消息摘要message digest散列一个消息后得到的固定长度数据。3.24带外事务out of band不是通过电子形式,而是通过通常的物理形式进行的一些 PKI 组件的事务。3.25策略映射policy mapping当某个域中的一个 CA 认证另一个域中的一个 CA 时,在第二个域中的特定证书策略可能被第一个域中的证书认证机构认为等价(但不必在各方面均相同)于第一个域中认可的特
24、定证书策略。3.26注册机构(RA)Registration Authority(RA)为用户办理证书申请,身份审核,证书下载、证书更新、证书注销以及密钥恢复等实际业务的办事机构或业务受理点。3.27资料库repository存储证书和 CRL 等信息,并提供无需验证的信息检索服务的数据库。3.28自颁发证书self-issued certificate证书的主体和颁发者相同的 CA 证书。3.29统一资源标识符(URI)Uniform Resource Identifier(URI)包含了名字或地址的短数据串,指向 web 上的某个对象。3.30统一资源定位符(URL)Uniform Res
25、ource Locator(URL)包含地址的短数据串,指向 web 上的某个对象,URL 是 URI 的子集。4缩略语下列缩略语适用于本标准。CA证书认证机构项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式W
26、UZG:项目符号和编号设置格式WUZG:GB/T 2005CRL证书撤销列表PKCS公钥密码系统PKI公钥基础设施POP拥有证明RA注册机构5PKI 组件规范5.1概述本章规定了 PKI 各组件进行互操作时所需的功能和事务的最小集合。它们分别是 CA、RA、证书持有者和 PKI 客户的规范。5.2证书认证机构(CA)5.2.1概述CA 负责生成、撤销、公布和存档证书。资料库使得所有证书使用者都可以获得证书和 CRLs 的信息。CA 生成自己的公私钥对并公布自己的证书。因此,CA 应当生成、估定相应的参数以便生成/验证它们的签名。为了使新的 CA 能加入到已有的层次结构中,它们应当可以从父 CA
27、 那里申请证书。CA 也应可以生成交叉证书,在其它 CA 的策略允许下支持与其它 CA 进行交叉认证。CA 对所有的事务进行存档,这些事务包括 PKI 各组件之间的服务请求与响应。CA 授权 RA 去确认那些申请证书的使用者的身份或其它的特征属性。这种授权通过离线接受来自某个 RA 的证书请求完成。CA 利用 X.500 的可辨别名(DN)来唯一标识证书持有者。CA 本身也具备证书持有者的功能:请求、撤销、更新由其它 CA 颁发的证书(5.4);检索证书和 CRLs,验证证书认证路径的客户功能(5.5)。5.2.2与互操作性有关的 CA 功能要求CA 执行下列功能:颁发并传送证书给终端实体和其
28、它的 CA;接收来自 RA 的证书撤销请求;将证书和 CRL 存入资料库;请求 CA 证书。a)颁发数字签名证书CA 支持三种有关数字签名证书的证书请求:RA 发起的注册请求,更新和自我注册请求。根据每种请求的不同,CA 以不同的方式来鉴别这些申请证书主体的身份。潜在的证书持有者在自我注册请求中提供一个证据证明自己的身份已经得到了 RA 的核实,该证据是由从 RA 那里获得的秘密信息导出的。当用户与 RA 物理上在一起时,RA 产生并签署基于 RA 的登记请求来保证该用户的身份。在证书更新请求中,当前有效证书的主体可以用它们的私钥签名来保证它们身份的真实性。RA 发起的证书请求,RA 保证该用
29、户的身份并将其和公钥绑定在一起。当 CA 接收到来自授权 RA的证书请求时,CA 就处理该请求,如果接受,就生成新证书,并将其放到资料库中,然后将证书发给相应的 RA。CA 也可以直接把新证书发给该证书的持有者。如果基于 RA 的证书请求不是来自一个授权的 RA,即签名无效,或者包含不匹配信息,CA 将会拒绝该证书请求。如果 CA 拒绝了该证书请求,它将会向 RA 报告失败并说明原因。在自我注册证书请求中,RA 为潜在证书持有者提供了一个秘密信息。请求实体产生自己的公私钥对,组成一个证书请求消息,并用相应的私钥签名,被签名部分包括基于 RA 提供的秘密导出的认证信息。CA 接收来自实体的证书请
30、求,通过认证信息验证请求者的身份并且验证实体拥有相应的私钥。如果接受,CA 就产生新证书,并将其放到资料库中,然后将证书发给证书持有者。如果认证信息验证不通过,签名无效,或者包含不匹配信息,CA 将会拒绝该证书请求。如果 CA拒绝了自我注册证书请求,它将会向申请者报告失败并说明原因。证书更新请求,申请者已确定的身份通过该更新请求消息来验证。证书持有者产生更新请求并直接发给 CA。CA 处理证书更新请求,如果正确的话,就把新证书发给证书持有者,并将其放入资料库。如果签名是无效的,或者请求实体当前是非法的,或者 CA 认证业务说明或证书策略不允许更新请求,CA 将会拒绝该证书更新请求。如果 CA
31、拒绝了更新请求,它将会向请求实体报项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:GB/T 2006告失败并说明原因。b)颁发加密证书CA 可以支持某个请求者发出的加密证书的证书请求,该请求者拥有该 CA 颁发的有效签名证书。请求者的身份由对请求的数字签名来验证。本标准中规定请求者的密钥对由第三方集中产生并通过带外方式提供给 CA。在集中密钥管理证书请求中,证书持有者生成一个证书请求,说明自己想要的加密算法,并用当前得到该 CA 认可的签名密钥来对该请求签名。CA 响应该请求,发还一个证书和加密私钥。c)交叉认证在
32、一定的约束条件下 CA 可向别的 CA 颁发证书。交叉认证的决定是在带外做出的,并且要通过认证业务说明和证书策略检查。每个 CA 都会对它们的使用者的路径验证做出适当的约束。在获得别的 CA 的公钥后,该 CA 生成证书并将其存放到资料库中。可选的,交叉认证的 CA 之间可以交换证书,构造证书对并把它们放入资料库。d)撤销证书CA 产生和发布证书撤销列表(CRLs)。CRL 中包括所有被撤销但没有到期的证书。可选的,CA也可以颁发间接的和增量 CRL。被颁发 CRL 的形式由 CA 的认证业务说明决定。在 CA 为所有的撤销证书仅颁布唯一的 CRL 的情况下:1)新的 CRL 产生时,老 CR
33、L 中的全部信息将放到它的里面,那些新被撤销的证书将被加入到新的 CRL。老 CRL 中带 certificateHoldcertificateHold 原因代码的证书也将被放入新的 CRL,继续保持同样的原因代码,变成一个不同的原因代码,或是被新 CRL 忽略。如果被忽略就表明 CA将保证证书主体和公钥之间的绑定。那种决定撤销但还没有被撤销的证书将放入新的 CRL,既使在新 CRL 发布之前它已经到期了。2)在这种情况下,CA 只撤销它们自己颁发的证书。(撤销可能来自一个签名请求,或是 CA自己决定撤销。本标准中不考虑 CA 自己撤销证书的情况)撤销请求的签署者或者是证书持有者,或者是代表证
34、书持有者或证书持有者组织的权威实体(比如被授权的 RA),在把证书放入 CRL 之前,CA 要确认验证撤销请求。撤销请求的合法性包括请求签名的合法性。对 RA 签名的撤销请求进行带外验证,根据证书策略是可选的。CA 发布 X.509 版本 2 的 CRL(版本 2 的 CRL 对应版本 3 的证书)。字段和扩展,以及赋给它们的值,要与 6.3.2 一致。产生和签署了 CRL 之后,CA 要把它放到资料库中去。e)颁发证书、交叉证书和 CRLCA 应当能够颁发证书,交叉证书对和 CRL 以供 PKI client 检索。CA 也应能颁发 CA 证书、交叉证书对、CRL 和终端实体的加密证书。终端
35、实体数字签名证书的颁发是可选的。用于更新目录的机制超出本标准范围。f)请求 CA 证书CA 应能向层次更高的 CA 申请证书,以支持 PKI 的层次信任模型。这个请求可以参考 6.6.2 中的描述。这个证书请求将通过 6.2.3.4 中描述的 basicConstraintsbasicConstraints 扩展来把该请求 CA 确定为一个实体。5.2.3电子事务集合提供证书管理服务所需的电子事务如下:处理终端实体的证书请求和证书撤销请求;将证书和 CRL 放入资料库;为了验证签名的有效性从资料库中检索证书和 CRL。CA 处理在 CertReqCertReq 消息中的 RA 发起的注册请求。
36、CertReqCertReq 消息由 RA 在 PKIProtectionPKIProtection 结构里签名。通过签署请求消息,RA 保证证书持有者的身份并且确认它拥有相应私钥。CA 以 CertRepCertRep 消息回复RA 或者证书持有者。如果接受请求,CertRepCertRep 中包含新的证书。如果拒绝请求,报文中包含错误代码。(见 6.6.2)CA 支持自我注册证书请求,此时请求实体还不是证书持有者。CA 要求请求实体利用带外方式从 RA获得的秘密产生认证信息。这一认证信息代替 RA 的签名保证请求者的身份是经过 RA 核实的。以带外方式从 RA 获得的秘密可以用来产生 ma
37、c 或者带密钥的散列函数的对称密钥。请求实体产生 CertReCertReq q 消息并且用相应的私钥签名。这一消息利用从 RA 获得的秘密加以保护。之后,CA 产生 CertRepCertRep 消息,如果请求消息正确,则 CertRepCertRep 中包含新的证书。如果拒绝请求,报文中包含错误代码。(见 6.6.3 和 6.6.4)项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:GB/T 2007CA 处理以 CertReCertReq q 消息形式出现的证书更新请求。这种消息被请求实体发到 CA。这个消息包括证书持有者的标识名,当前证书的序列号,新的公钥以及拥有相应私钥
38、的证明。消息可以包括预定的有效期和建议的密钥 id。这个消息可用证书持有者的有效证书(未过期,未被撤销)私钥签署。CA 用 CertReCertRep p消息回复申请者。这个消息包含一个新证书或者错误代码。如果颁发新证书的话,证书中将包含证书持有者的标识名和新的公钥。CA 可以自由修改请求中的合法期限。如果申请消息中没有密钥标识符,CA将产生一个。(见 6.6.5)CA 应该接收从 RA 发来的 RevReqRevReq 消息。RevReqRevReq 消息应该包括证书序列号或证书持有者的标识名。CA 用 RevRepRevRep 消息回应。这个消息应该包括状态和失败信息,也可以包括撤销证书的
39、附加细节。CA 支持由第三方集中产生密钥对(并通过带外方式提供给 CA)的加密证书请求。支持对第三方集中产生的密钥对颁发加密证书的 CA 要处理 CertReqCertReq 消息形式的请求。这些消息由请求证书的终端实体发送给 CA。这些消息应当包括证书持有者的可辨别名,当前证书的序列号。可选的,该消息可包括一个有效期。该消息用证书持有者的未过期,未被撤销的签名证书的相应私钥签名。之后 CA 以 CertReCertRep p消息的形式响应请求者。该消息包括新证书和加密私钥,或是错误代码。如果颁发证书的话,该证书就包括证书持有者的可辨别名和新的公钥。CA 可以随意修改请求中希望的有效期。CA
40、应该把 CA 证书,交叉证书对,CRL,以及它颁发的终端实体的加密证书放入资料库。5.3注册机构(RA)5.3.1概述RA 保证请求证书的实体的身份。RA 可以通过要求实体用物理令牌来和 RA 进行物理上的接触或过通过带外机制来验证身份。当实体物理上接触 RA 时,RA 也要通过验证一个被签名的消息来验证它们拥有与公钥相应的私钥材料(见 6.6.2)。RA 应该验证实体拥有一个完整的密钥对。在密钥对和实体身份被验证之后,RA 签署并发送一个电子证书请求给相应的 CA。没有与 RA 进行过物理接触的证书请求者,在进行证书请求时,必须具有 RA 提供给他的认证信息。这一信息用于实体在自我注册请求中
41、向 CA 证明自己的身份。本标准不对实现自我注册请求的带外事务的格式和内容进行规定。RA 可以对 CA 授权它们管理的实体证书请求证书撤销。RevReqRevReq 的格式在 6.6.7 中定义。RA 功能可以与 CA 在一起也可以在一个不同的设施中执行。RA 本身既包括证书持有者的功能请求、撤销和更新由 CA 颁发的证书(它得是该证书的主体)(见 5.4),又包括客户的功能检索证书和 CRL 以及验证证书认证路径(见 5.5)。5.3.2与互操作性有关的 RA 功能要求RA 应该执行下列功能:接受和验证证书请求;向 CA 发送证书请求;从资料库检索证书和 CRL;产生证书撤销请求。RA 应该
42、能够连同 CA 的证书一起把新签署的证书发给证书持有者。RA 应该可以代表不再拥有它们的私钥并且怀疑该私钥已泄露的证书持有者产生并签署证书撤销请求(丢失而并不认为已泄露的签名密钥不是必须被撤销;这由策略决定。注意丢失的保密性的密钥无论如何都必须被撤销,否则发送方就会加密和传输接受方无法解秘的消息)。如果 CA 的认证业务说明允许,RA 也应该可以代表证书持有者的组织产生并签署证书撤销请求。撤销请求由后来把它们发送给颁发证书的 CA 的 RA 所签署。5.3.3事务集合RA 所用电子事务能够实现终端实体证书的请求、发送和撤销,以及为了验证签名而从资料库中检索证书和 CRL。下面将给出这些事务的一
43、个概括;它们将在 6.6 中具体地描述。RA 接收来自潜在证书持有者的 CertReqCertReq 格式的证书请求。CertReqCertReq 消息被潜在证书持有者在PKIProtectionPKIProtection 结构中所签署。在审查了请求者的凭证并确认该潜在证书持有者拥有相应的私钥之后,RA 抽取公钥信息并且用 RA 的名字和签名建立一个新的 CertReqCertReq 消息。RA 把该消息发送给 CA。RA 应该可以向证书持有者提供该 CA 的证书。RA 可以从 CA 接收 CertRepCertRep 消息。如果证书请求被拒绝,RA 将审查从 CA 发来的错误代码并可能会项目
44、符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:GB/T 2008发送一个新的请求。如果一个证书请求被接受了,RA 可以向证书持有者提供新的证书。RA 应该在不再拥有它们自己私钥的证书持有者或证书持有者所在组织的要求下,产生撤销请求。通过签署这个请求,RA 保证请求者的身份。RA 应该可以产生 RevReqRevReq 消息,包括证书序列号或证书持有者的可辨别名。这个 RevReqRevReq 消息应该被一个 RA 所签署。CA 应该用 RevRepRevRep 消息回应 RA。这个消息应该包括状态和失败信息,并且可以
45、包括关于被撤销证书的附加细节。如果证书被撤销了,RA 应该提供这个信息给请求者。如果请求被拒绝了,RA 将审查错误代码并且可能再产生该请求。5.4证书持有者规范5.4.1概述PKI 为证书持有者提供证书管理功能。证书持有者包括 CAs、RAs 和其它的终端实体。终端实体可能是个人用户和计算机系统(例如路由器和防火墙),也可能是应用程序(CAs 和 RAs 除外)。PKI 证书持有者生成签名并且支持 PKI 事务来获取、更新和撤销他们的证书。5.4.2与互操作性相关的 PKI 证书持有者功能要求证书持有者的功能:生成签名;生成证书请求;请求证书撤销;请求证书更新(可选项)。证书持有者同时也是客户
46、,因此它也具备 5.5 中定义的客户功能。5.4.3证书持有者事务集合证书持有者的事务能使证书持有者请求新的证书,以及撤销当前持有的证书。所有的证书持有者事务都由发放证书的 CA 及其 CA 授权的 RA 执行。证书持有者应该能够请求撤销他们自己的证书。这个事务由 CA 执行,允许证书持有者签署他们的证书撤销请求。证书持有者为每个他们希望撤销的证书产生一个 RevReqRevReq 消息并发送给 CA。RevReqRevReq 消息要包括撤销原因。CA 产生 RevRepRevRep 消息并返还给证书持有者。这个事务过程在 6.6.7 中有详细描述。可选的,证书持有者能够实现证书更新请求。这个
47、事务由 CA 执行,允许证书持有者签署自己的证书请求(不需要 RA 验证其身份)。CA 可以支持该项事务,但是它的具体使用由认证业务说明决定。在不与 RA 交互的情况下请求一个新的证书,证书持有者产生一个 CertReqCertReq 消息,并且使用新的和当前的私钥进行签名。CA 产生 CertRepCertRep 消息,如果请求成功,就包含一个新的证书。如果请求被拒绝,就包含错误代码。证书持有者能够实现自我注册的证书请求。证书持有者也可以实现加密证书请求。在此事务中,证书持有者产生一个证书请求,说明希望的密钥管理算法,并用一个有效的签名密钥对该请求签名。CA 响应一个证书和加了密的私钥或是错
48、误代码。5.5客户规范5.5.1客户概述PKI 客户使用 PKI 来为证书持有者和证书使用者,包括 CA 和其它的终端实体提供证书处理功能。终端实体也可以包括 RA,个人用户和计算机系统(如路由器和防火墙)。在最小意义上,PKI 客户验证签名,获得证书和 CRLs,并验证证书认证路径。同时具有证书持有者身份的客户也能产生签名,也可以支持撤销或更新证书的 PKI 事务。5.5.2与互操作性相关的 PKI 客户功能要求客户的最小功能集合:验证签名;从查询服务器中检索证书和 CRLs;验证证书认证路径。5.5.3PKI 客户事务集合客户事务使客户能从资料库中获得证书和 CRLs。所有的事务都与证书资
49、料库有关。所有的客户必须支持以下事务:检索证书这个事务允许一个用户利用 LDAP 绑定目录服务或指定资料库,并根据主体名或证书序列号和颁发者的名字检索证书;项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:项目符号和编号设置格式WUZG:GB/T 2009检索 CRL这个事务允许一个用户利用 LDAP 绑定目录服务或指定资料库,来检索一个特定 CA的当前 CRL 或是某个特定的 CRL。所有的客户都必须支持轻型目录访问协议
50、(LDAP),以检索证书和 CRLs。事务的详细规定参见 RFC1777。6数据格式6.1数据格式概述必须为 PKI 组件之间的互操作定义基本的数据格式。数据格式包括证书,CRL 和事务格式。本标准包括了 PKI 组件之间,PKI client 和 PKI 组件之间所有事务的数据格式。6.2证书格式本标准使用 GB/T 16264.8-200X 的证书格式。虽然 ITU-T 建议的 X.509 的修订版没有公布,但版本3 的格式已经被广泛采用,并且 ANSI 的 X9.55 和 IETF 的 RFC 2459 都对其作了详细说明。GB/T16264.8-200X 的证书包括以下内容:Versi