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