GB/T 29243-2012 信息安全技术 数字证书代理认证路径构造和代理验证规范

GB/T 29243-2012 Information security technology—Specifications of delegated certification path construction and delegated validation for digital certificate

国家标准 中文简体 现行 页数:36页 | 格式:PDF

基本信息

标准号
GB/T 29243-2012
相关服务
标准类型
国家标准
标准状态
现行
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2012-12-31
实施日期
2013-06-01
发布单位/组织
中华人民共和国国家质量监督检验检疫总局、中国国家标准化管理委员会
归口单位
全国信息安全标准化技术委员会(SAC/TC 260)
适用范围
本标准规定了数字证书代理认证路径构造和代理验证两种服务的概念和协议要求,以及满足协议要求的代理服务协议。
本标准适用于PKI系统运营机构的代理认证路径构造和代理验证服务的实现和应用。

发布历史

研制信息

起草单位:
中国科学院数据与通信保护研究教育中心
起草人:
夏鲁宁、王琼霄、荆继武、林璟锵、向继
出版信息:
页数:36页 | 字数:66 千字 | 开本: 大16开

内容描述

ICS35.040

L80OB

中华人民共和国国彖标准

GB/T29243—2012

信息安全技术数字证书代理认证路径

构造和代理验证规范

Informationsecuritytechnology——Specificationsofdelegatecertificationpath

constructionandelegatevalidationfordigitalcertificate

2012-12-31发布2013-06-01实施

GB/T29243—2012

目次

前言m

引言N

1范围1

2规范性引用文件1

3术语和定义1

4缩略语2

5代理服务2

5.1服务基本模式2

5.2代理认证路径构造2

5.3代理验证3

5.4代理服务策略3

6代理服务协议要求4

6.1概述4

6.2代理认证路径构造协议要求4

6.3代理验证协议要求5

6.4策略查询协议要求6

7代理服务券议6

7.1基本请求/响应消息6

7.2策略配置请求/响应消息26

附录A(资料性附录)代理服务基本原理31

A.1概述31

A.2数字证书代理认证路径构造31

A.3数字证书代理验证31

T

GB/T29243—2012

■ir■■i

刖吕

本标准按照GB/T1.1—2009给出的规则起草。

本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。

本标准起草单位:中国科学院数据与通信保护研究教育中心。

本标准主要起草人:夏鲁宁、王琼霄、荆继武、林璟锵、向继。

本标准为首次制定。

m

GB/T29243—2012

引言

随着《中华人民共和国电子签名法》的推广,我国的电子认证服务业和PKI系统的建设应用也进入

了新的发展阶段。同时,随着互联网的进一步发展,更多类型的终端接入网络。对于某些类型的终端,

如手机、传感器等,由于其计算或通信资源的限制,难以独立完成证书认证路径构造或证书验证,需要

PKI系统提供代理服务来协助完成上述两种任务。

对于PKI依赖方来说,证书认证路径构造和证书验证是必要的过程,但是该过程中所需要的证书

查找、撤销信息查找、证书/CRL验证计算等,需要较大的带宽和计算资源消耗,在计算或通信资源受限

的环境下会有不同程度的困难.代理技术是解决上述困难的重要方法,将证书认证路径构造或证书验

证委托给代理服务器,能够大大减轻PKI客户端的计算负担和通信消耗。

代理认证路径构造和代理验证是两种安全等级不一样的代理服务。对于代理认证路径构造,代理

服务器返回验证该证书所需要的完整路径(包括证书链、CRL、()CSP通信消息等),然后由客户端自己

进行验证。这种方式下可以明显减少客户端的通信消耗,且不要求客户端信任服务器;对于代理验证,

代理服务器直接返回被验证的证书是否有效。这种方式下客户端的计算负担和通信消耗都明显减少,

但客户端应信任代理服务器。为了满足不同交易的安全等级需求,一般要求PKI系统同时提供这两种

不同的服务。

本标准将定义代理认证路径构造和代理验证两种服务的概念和协议要求,并根据协议要求给岀一

种标准化的客户端和服务器交互的代理服务协议。

IV

GB/T29243—2012

信息安全技术数字证书代理认证路径

构造和代理验证规范

1范围

本标准规定了数字证书代理认证路径构造和代理验证两种服务的概念和协议要求,以及满足协议

要求的代理服务协议。

本标准适用于PKI系统运营机构的代理认证路径构造和代理验证服务的实现和应用。

2规范性引用文件

下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文

件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

GB/T16263.1—2006信息技术ASN.1编码规则第1部分:基本编码规则(BER)、正则编码

规则(CER)和非典型编码规则(DER)规范

GB/T16264.8-2005信息技术开放系统互连目录第8部分:公钥和属性证书框架

RFC3852密码消息语法(CryptographicMessageSyntax,CMS)

3术语和定义

GB/T16264.8—2005界定的以及以下术语和定义适用于本文件。

3.1

数字证书代理验证delegatevalidationfordigitalcertificate

由代理服务器为PKI依赖方实现数字证书验证的过程。

3.2

代理验证delegatevalidation

在本标准范围内,与“数字证书代理验证”同义。

3.3

数字证书代理认证路径构造delegatecertificationpathconstructionfordigitalcertificate

由代理服务器为PKI依赖方实现数字证书认证路径构造的过程。

3.4

代理认证路径构造delegatecertificationpathconstruction

在本标准范围内,与“数字证书代理认证路径构造”同义。

3.5

代理验证策略delegatevalidationpolicy

表达代理验证应如何执行的一系列规则。

3.6

代理认证路径构造策略delegatecertificationpathconstructionpolicy

表达代理认证路径构造应如何执行的一系列规则。

1

GB/T29243—2012

4缩略语

下列缩略语适用于本文件。

ASN.1抽象语法标记1(AbstractSyntaxNotationOne)

CA证书认证机构(CertificationAuthority)

CRL证书撤销列表(CertificateRevocationList)

FTP文件传输协议(FileTransferProtocol)

HTTP超文本传输协议(HyperTextTransferProtocol)

LDAP轻量级目录访问协议(LightweightDirectoryAccessProtocol)

MAC消息鉴別码(MessageAuthenticationCode)

OCSP在线证书状态协议(OnlineCertificateStatusProtocol)

()ID对象标识符(ObjectIdentifier)

PDA个人数字助理(PersonalDigitalAssistant)

PKI公钥基础设施(PublicKeyInfrastructure)

PKIXIETF的安全领域的公钥基础设施丁-作组(Public-KeyInfrastructureforX.509)

5代理服务

5.1服务基本模式

本标准定义的代理服务采用客户机/服务器模式,通过请求/响应消息对进行,即客户端依照自身需

要,构建请求消息,并发往服务器端;服务器端接收客户端的请求消息,提取出请求消息中的具体服务要

求并进行相应的处理,最后将处理结果通过响应消息返回给客户端,这就是一次代理服务的全过程。附

录A给出了关于代理服务基本原理的细节表述。

在实际环境中,客户端与服务器端的通信过程可能会受到各种类型的攻击,比如伪造消息、篡改消

息等,这可能会给代理服务带来严重的影响。因而在客户端与服务器端通信的过程中,应对消息进行保

护。通常情况下,可以采取的方式有数字签名和消息鉴別码(MAC),客户端和服务器端根据实际需要

选择消息保护类型。

根据服务器端的可信程度的不同,将其划分为可信、不必可信两种情况。每种情况下,服务器端可

以提供相应信任程度的代理服务。本标准中规定了两种不同类型的代理服务:代理认证路径构造和代

理验证。下面对两种代理服务分別进行说明。

5.2代理认证路径构造

在代理认证路径构造服务中,服务器端对于客户端不必是町信的。

在代理认证路径构造服务中,客户端在请求消息中提交需要构造认证路径的终端实体证书或对证

书的引用,并可选地包含要求采用的代理认证路径构造策略(参见5.4)。服务器端接收到客户端的请

求消息后,提取其中的证书和要求采用的代理认证路径构造策略,进行证书认证路径的构造;如果客户

端的请求消息中没有包含对代理认证路径构造策略的要求,则服务器端依照自身的默认代理认证路径

构造策略进行证书认证路径构造。通过响应消息,服务器端将构造好的证书认证路径或者错误信息返

回给客户端。

在代理认证路径构造服务中,客户端对于服务器端返回的证书认证路径构造结果需要进一步验证,

才能确定证书的有效性。

2

GB/T29243—2012

5.3代理验证

在代理验证服务中,服务器端对于客户端是可信的。

在代理验证服务中,客户端需要在请求消息中包含待验证的终端实体证书或对证书的引用,并可选

地包含要求采用的代理验证策略(参见5.4.2)。服务器端接收到客户端的请求消息后,提取出其中的

待验证证书和客户端要求采用的代理验证策略,根据这些信息进行证书认证路径的构造以及证书验证,

并将验证结果或错误信息通过响应消息返回给客户端。如果客户端请求消息中未包含对代理验证策略

的要求,则服务器端采用默认的代理验证策略为客户端提供代理验证服务。

5.4代理服务策略

5.4.1代理认证路径构造策略

代理认证路径构造策略是一系列规则,用于表达代理认证路径构造应如何执行。

代理认证路径构造策略是代理验证策略(参见5.4.2)的一个子集,可以直接引用代理验证策略来

表达代理认证路径构造策略,也可以从代理验证策略中提取一些主要元素(如信任锚)而形成代理认证

路径构造策略。代理认证路径构造服务的客户端需要自行验证证书,因此它可以在本地应用一些对证

书认证路径的验证要求,从而使代理认证路径构造策略更为简单。

代理认证路径构造策略由以下三部分构成:

a)对证书认证路径的要求;

b)对撤销的要求;

c)对终端实体证书的要求。

这些要求的含义与代理验证策略所定义的一致,参见5.4.2。

5.4.2代理验证策略

代理验证策略是一系列规则,用于表达代理验证应如何执行。

代理验证策略可以包含若干个信任锚。一个信任锚由一个公钥、一个CA名称及一个有效期来定

义,并可选地包含其他约束。通常使用CA的自签名证书来表示一个信任锚。对每个信任锚可能会定

义其他的约束,例如证书策略约束或命名约束。

代理验证策略可以指定针对证书认证路径的另外一些条件,如可为证书认证路径的验证算法提供

特定的输入值。代理验证策略还可以指定应用于终端实体证书的其他条件,例如对终端实体命名格式

提出要求。

为了成功完成证书验证,一个终端实体与一个信任锚之间应能够找到一个有效的证书认证路径。

这意味着路径中的任何证书都没有过期或被撤销,且所有应用于证书认证路径的约束都应得到满足。

代理验证策略由以下三个部分构成:

a)证书认证路径要求

证书认证路径要求包括一系列信任锚,这些信任锚被用于构造证书认证路径;还包括一些用于证书

验证的初始条件,这些条件在GB/T16264.8—2005中定义。

b)证书撤销要求

证书撤销信息可以通过CRL、增量CRL或OCSP响应获得。证书撤销要求针对终端实体证书及

CA证书指定。对终端实体证书的撤销要求可能与对CA证书的撤销要求不同,例如对终端实体证书

要求其撤销信息尽可能是最新版本,因此可能需要一个OCSP响应;而对CA证书,CRLs可能就已经

足够了。

代理验证策略应指明获取撤销信息的方式,可能采用的方式有以下几种:

3

GB/T29243—2012

1)收集完整的CRLs;

2)使用OCSP查询撤销信息,并获得OCSP响应;

3)收集增量CRLs(deltaCRLs)及相关的完整的CRLs;

4)收集任何可用的撤销信息;

5)无需收集撤销信息。

c)终端实体证书要求

代理验证策略可以要求终端实体证书包含特定的扩展,例如要求终端实体证书中包含证书用途

扩展。

6代理服务协议要求

6.1概述

本章指定了对客户端与代理服务器之间通信协议的设计要求,本标准的第7章给出了一种满足本

章定义的协议要求的代理服务协议,第三方组织也可以遵照本标准设计其他代理服务协议。如果第三

方组织遵照本标准设计代理服务协议,则应满足本章所指定的协议要求。

代理服务器所提供的两种服务中,存在三种请求/响应对,用于客户端与服务器之间的通信,以完成

相应的代理服务功能。

a)代理认证路径构造请求/响应对:客户端向代理服务器发出代理认证路径构造请求,从而可以

从服务器获得用于本地证书验证的全部信息,如终端实体证书、CA证书、完整的CRLs、增量

CRLs和OCSP信息等。服务器参照客户端要求的或自身默认的代理认证路径构造策略执行

代理认证路径构造并通过响应返回已构造的证书认证路径或错误信息。

b)代理验证请求/响应对:客户端向代理服务器发出代理验证请求,代理服务器参照客户端要求

的或白身默认的代理验证策略执行代理验证,并通过响应消息返回验证结果或错误信息。

c)策略查询请求/响应对:客户端向代理服务器发出请求,服务器返回其所支持的代理认证路径

构造策略或代理验证策略。

6.2代理认证路径构造协议要求

代理认证路径构造协议允许客户端请求服务器收集当前时间下可用的用于本地证书验证的数据元

素。根据代理认证路径构造策略,这些数据可以通过各种不同的协议(如LDAP,HTTP,FTP或

OCSP)或者通过向多个服务器请求来获得。返回的信息可以用于在当前时间下对一个或多个证书的

验证。

客户端应能够明确指定除证书认证路径之外,他们是否还需要终端实体证书和/或CA证书的撤销

信息。若代理认证路径构造服务器不支持客户端请求中指定的代理认证路径构造策略,服务器应返回

错误信息。

代理认证路径构造服务器响应包含0个、1个或多个证书认证路径。每个路径由一组证书构成,从

待验证的终端实体证书开始,以信任锚结束。若信任锚是一个自签名证书,则不包含在证书认证路径

中。此外,若有需求,每个证书相关的撤销信息应在响应中返回。

默认情况下,代理认证路径构造服务器应为代理认证路径构造请求中的每个终端实体证书返回单

个证书认证路径。返回的路径可能需要满足一些客户端提出的要求,如客户端可能要求特殊的证书扩

展或名称格式。因此,代理认证路径构造服务器应具有能够为代理认证路径构造请求中的每个终端实

体证书获取不止一个证书认证路径的方法。

认证路径构造应按照代理认证路径构造策略进行。代理认证路径构造响应应对以下任一种状态进

行说明:

4

GB/T29243—2012

a)根据代理认证路径构造策略,一个或多个证书认证路径被构造,且具备全部被要求的撤销

信息;

b)根据代理认证路径构造策略,一个或多个证书认证路径被构造,仅具有部分被要求的撤销

信息;

c)根据代理认证路径构造策略,一个或多个证书认证路径被构造,不具备任何被要求的撤销

信息;

)根据代理认证路径构造策略,无法构造证书认证路径;

e)路径构造失败,有错误产生。

若无错误产生,返回的响应消息由一个或多个证书认证路径组成。若有需求,证书认证路径中的每

个证书相关的撤销信息也包含在响应消息中。

为使客户端能够确认响应中的全部元素都是由期望的代理认证路径构造服务器完成的,可能需要

一个可鉴別的响应,例如服务器可能对响应签名或通过底层安全协议实现鉴別。这种鉴別是可选的。

6.3代理验证协议要求

6.3.1基本协议

代理验证协议中,根据代理验证策略,服务器可以为客户端验证一个或多个证书的有效性。若代理

服务器不支持客户端指定的代理验证策略,服务器应返回一个错误信息。若客户端未指定代理验证策

略,服务器响应消息中应说明处理请求所采用的代理验证策略。有些代理验证策略的部分参数是可设

置的,协议应允许客户端在请求中包含对这些策略相关参数的设置。

客户端请求可以指定任意的验证时间,服务器应对客户端请求的验证时间获取相应的撤销状态信

息。代理验证服务器可能使用各种资源获得撤销状态信息,如()CSP、CRLs、增量CRLs以及来自其他

代理服务器的响应消息。在请求所指定的验证时间,若撤销状态信息不可用,服务器应在响应消息中说

明证书无效,服务器也可以在响应中包含其他信息说明具体原因。

客户端请求中应包含待验证的证书或证书的引用。代理验证服务器处理客户端请求时应具有待验

证的证书,若客户端请求中只提供了对待验证证书的引用,服务器应获取待验证证书并确认它是客户端

请求中证书引用所对应的证书。代理验证服务器应在响应消息中包含待验证证书或对它的引用。

代理验证响应消息应说明以下状态信息的任一种情况:

a)根据代理验证策略,证书有效;

b)根据代理验证策略,证书无效;

c)根据代理验证策略,证书的有效性不可知;

)由于某些错误,证书的有效性无法确定。

若证书无效,服务器响应中应说明具体原因:

a)代理验证服务器无法确定证书的有效性,囚为无法构造证书认证路径。

b)代理验证服务器成功地构造了一个证书认证路径,但是根据GB/T16264.8—2005中的验证

算法,此路径无效。

c)证书在当前验证时间无效。若稍后有另一个请求,证书可能被判定为有效的。在证书的一个

有效期之前或是证书被挂起的时候,会产生这种情况。

协议应能够防止重放攻击,重放攻击的防范应不能依赖于同步时钟。

代理验证服务器应能够将客户端在请求中提供的文本域复制到服务器响应中。

代理验证响应应与对应的请求绑定,这样客户端能够确认请求中的全部参数在服务器构建响应时

都被充分考虑。应允许客户端在请求消息中要求服务器响应包含其他信息,以便不信任代理验证服务

5

GB/T29243—2012

器的依赖方能够确信证书有效性验证被正确地执行。若客户端请求附加此类信息,当证书被验证有效

时,响应消息中应包含这些信息;证书验证无效或无法确定证书状态时,响应消息中可以不包含这些信

息。在某些情况下,代理验证响应会被转发给其他依赖方,此时为了确保响应与请求的绑定,响应应是

自包含的,即响应中包含了对应的请求消息。可以通过将请求中的重要内容复制到响应中实现。

为使客户端能确信证书验证是由期望的代理验证服务器完成,代理验证响应应是可鉴别的,但错误

信息(如请求格式错误、或未知的验证策略等)除外。

为使客户端能够向信任相同代理验证服务器的第三方证明证书的验证是正确执行的,代理验证响

应应被数字签名,错误信息除外。代理验证服务器的证书应证明代理验证服务器的合法性。

代理验证服务器可以要求客户端鉴别。因此,代理验证请求也应可鉴别。

6.3.2中继、重定向、组播

在某些网络环境中,尤其是有防火墙的网络中,代理验证服务器可能无法获得所需的全部信息。代

理验证服务器可能被配置为可以使用一个或多个其他代理验证服务器提供的信息来满足服务需求。在

这种情况下,客户端不知道被请求的服务器使用了其他代理验证服务器的服务,被客户端请求的服务器

作为客户端向其他服务器请求服务。与原始客户端不同,代理验证服务器具有适当的计算和存储资源,

能够使用中继、重定向或组播机制。

要满足上述需求,协议需要包含可选域和/或扩展以支持中继、重定向或组播机制的使用。代理验

证客户端并不需要实现对这些机制的支持。若协议支持这些特性,协议应包含条款以使不支持这些特

性的代理验证服务器及客户端能够使用基本的服务。

a)若代理验证服务器支持中继,代理服务器应提供检测环路的机制。

b)若协议为代理验证服务器提供将一个请求转发给其他代理验证服务器的能力,协议同时应支

持转发信息的机制。

c)请求和响应中的可选参数也可以支持中继、重定向或组播机制。若代理验证客户端忽略这些

可选参数,协议应能为客户端正常提供代理验证服务。若代理验证服务器忽略这些可选参

数,也应能够正常提供代理验证服务。

6.4策略查询协议要求

使用策略查询请求/响应对,代理认证路径构造或代理验证客户端应能够获得对代理认证路径构造

策略或代理验证策略的引用,包括默认代理认证路径构造策略或代理验证策略。策略查询响应可以包

含对预定义的策略或是预知的策略的引用。

7代理服务协议

7.1基本请求/响应消息

7.1.1概述

代理服务协议遵照第6章的要求设计。客户端需要向服务器端发送请求消息,服务器端接收到客

户端的请求消息后,根据客户端请求服务类型的不同,做相应的处理,并将处理结果通过响应消息返回

给客户端。协议以统一的方式处理代理验证和代理路径构造,因此这两种服务均采用本节所描述的基

本请求/响应消息格式。

基本请求/响应消息应采用GB/T16263.1—2006定义的DER编码方式进行编码。

6

GB/T29243—2012

7.1.2客户端请求消息

7.1.2.1客户端请求消息格式

客户端请求消息封■装在CVRcquest结构中。在发送时,CVRcquest封■装在Contentinfo中,其

ASN.1描述如下。

Contentlnfo{

contentTypeid-ct-scvp-certValRequest,—(1.2.840.113549.1.9.16.1.10)

contentCVRcquest}

如果客户端不对请求消息予以保护,则Contentinfo的content字段就是CVRcquest结构。

如果客户端对请求予以保护,则content字段是SigncdData结构或AuthenticatedData结构,其中

封装了CVRcquesto这两类结构的ASN.1描述参见RFC3852。在这种情况下,SignedDala或Authen­

ticatedData的EncapsulatedContentlnfo字段的内容如下:

eContentType值为id-ct-scvp-certValRequest;

eContent值为DER编码后的CVRcquest0

CVRcquest的ASN.1描述如下,其中所有标签均为隐式标签。

CVRcquest::=SEQUENCE{

cvRequestVersionINTEGERDEFAULT1,

queryQuery,

requestorRcfCo]GeneralNamesOPTIONAL,

requestNoncemOCTETSTRINGOPTIONAL,

requestorName[2]GeneralNameOPTIONAL,

responderName[3]GeneralNameOPTIONAL,

requestExtensions[4]ExtensionsOPTIONAL,

signatureAlg[5]AlgorithmldcntifierOPTIONAL,

hashAlg[6]OBJECTIDENTIFIEROPTIONAL,

requestorTextmUTFSString(SIZE(1..256))OPTIONAL}

其中各个字段的含义由7.1.2.2〜7.1.2.11描述。

7.1.2.2cvRequestVersion

表示请求的版本号。相应的服务器端响应消息中的版本号应与请求消息中的版本号一致。在本标

准的本版本中cvRequestVersion字段的值应为1,以后的更新版本可能会指定其他值。

7.1.2.3query

表示客户端请求中的查询信息,其类型Query的ASN.1描述如下,其中所有标签均为隐式标签。

Query::=SEQUENCE{

queriedCertsCertReferences?

checksCertChecks,

-注意:标签[0]不使用-

wantBackCHWantBackOPTIONAL,

validationPolicyValidationPolicy,

responseFlagsResponseFlagsOPTIONAL,

serverContextlnfoOCTETSTRINGOPTIONAL,

7

GB/T29243—2012

validationTimeC3]GeneralizedTimeOPTIONAL,

intermediateCertsCertBundleOPTIONAL,

revlnfos[5]RevocationinfosOPTIONAL,

producedAtGeneralizedTimeOPTIONAL,

queryExtensionsExtensionsOPTIONAL}

Query类型中各个字段的含义由以下a)~k)描述。

a)queriedCerts

表示客户端请求进行路径构造或者验证的证书。queriedCerts字段可以包含多个证书,每个代表

一个请求主体。如果包含多个证书,那么所有证书的查询请求都是相同的。其类型CertReferences的

ASN.1描述如下,其中所有标签均为隐式标签。

CertReferences::=CHOICE{

pkcRcfsEO]SEQUENCESIZE(1..MAX)OFPKCReference,

acRcfs[1]SEQUENCESIZE(1..MAX)OFACReference}

1)pkcRefs

pkcRcfs字段表示引用的公钥证书,其类型PKCReference的ASN.1描述如下,其中所有标签均为

隐式标签。

PKCReference::=CH()ICE{

cert[0]Certificate,

pkcRcf[1]SCVPCertID}

其中,cert字段表示公钥证书,pkcRcf字段表示对公钥证书的引用标识。这表明可以将证书实体

直接放在queriedCerts中,也可以将对这个证书的引用放在其中。如果queriedCerts字段包含多个公

钥证书,可以一些使用证书实体,另一些使用证书引用。

2)acRefs

acRcfs字段表示引用到的属性证书,其类型ACReference的ASN.1描述如下,其中所有标签均为

隐式标签。

ACReference::=CH()ICE{

attrCert[2]AttributeCertificate,

acRef[3]SCVPCertID}

其中,attrCert字段表示属性证书,acRc£字段表示属性证书的引用标识。这表明可以将证书实体

直接放在queriedCerts中,也可以将对这个证书的引用放在其中。如果queriedCerts字段包含多个属

性证书,可以一些使用证书实体,另一些使用证书引用。

3)证书引用标识

对于公钥证书或属性证书的引用标识,其类型SCVPCertID的ASN.1描述如下。

SCVPCertID::=SEQUENCE{

certHashOCTETSTRING,

issuerSerialSCVPIssuerSerial,

hashAlgorithmAlgorithmldcntifierDEFAULT{algorithmsha-1}}

其中,certHash字段表示对证书的散列值;issuerSerial字段表示公钥证书或者属性证书的签发者

和序列号;hashAlgorithm字段表示采用的散列算法,默认为algorithmsha-1ohashAlgorithm字段指

定的散列算法应是服务器策略配置响应消息(参见7.2.3)的hashAlgorithms字段所指定的多个散列

算法之一。

SCVPIssuerSerial类型的ASN.1描述如下:

SCVPIssuerSerial::=SEQUENCE{

8

GB/T29243—2012

issuerGeneralNames,

serialNumberCertificateSerialNumber}

其中‘issuer字段表示证书的签发者,serialNumber字段表示证书的序列号。

b)checks

表示客户端请求服务器端对queriedCerts字段中的证书做哪些方面的处理,其类型CertChecks的

ASN.1描述如下:

CertChecks::=SEQUENCESIZE(1..MAX)OFOBJECTIDENTIFIER

对于公钥证书,本标准中定义以下处理:

id-stc-build-pkc-path:对一个信任锚构造期望的证书路径;

-id-stc-build-valid-pkc-path:对一个信任锚构造期望的证书路径,并验证有效,不要求检查撤销

状态;

id-stc-build-status-checkcd-pkc-path:对—信任锚构造期望的证书路径并验证有效,要求检

查撤销状态。

提供代理路径构造服务的代理服务器应支持id-stc-build-pkc-path;提供代理验证服务的代理服务

器应支持以上三种处理。

对于属性证书,本标准中定义以下处理:

-id-stc-build-aa-path:对一个属性证书(AC)颁发者的信任锚构造一个期望的证书路径;

-id-stc-build-valid-aa-path:对一个AC颁发者的信任锚构造一个期望的证书路径并验证有效,

不要求检查撤销状态;

id-stc-build-status-checked-aa-path:对一个AC颁发者的信任锚构造—期望的证书路径并

验证有效,要求检查路径中除AC自己的证书外其他证书的撤销状态;

id-stc-status-check-ac-and-build-status-checked-aa-path:对一个AC颁发者的信任锚构造—个

期望的证书路径并验证有效,要求检杳所有证书的撤销状态,包括AC颁发者.

代理服务器是否支持对属性证书的以上处理,是可选的。

所有的检查类型都使用OID表示,描述如下:

id-stcOBJECTIDENTIFIER::—{iso(1)identified-organization(3)dod(6)internet(1)

security(5)mechanisms(5)pkix(7)17}

id-stc-build-pkc-pathOBJECTIDENTIFIER::={id-stc1}

id-stc-build-valid-pkc-pathOBJECTIDENTIFIER::={id-stc2}

id-stc-build-status-checked-pkc-pathOBJECTIDENTIFIER::={id-stc3}

id-stc-build-aa-pathOBJECTIDENTIFIER::={id-stc4}

id-stc-build-valid-aa-pathOBJECTIDENTIFIER::={id-stc5}

id-stc-build-status-checkcd-aa-pathOBJECTIDENTIFIER::={id-stc6}

id-stc-status-check-ac-and-build-status-checked-aa-pathOBJECTIDENTIFIER::—{id-stc7}

c)wantBack

wantBack字段可选,表示客户端请求服务器端除返回checks中所定义的处理结果外,还要返回什

么内容。其类型WantBack的ASN.1描述如下:

WantBack::=SEQUENCESIZE(1..MAX)OFOBJECTIDENTIFIER

若存在wantBack项,wantBack应包含一系列()IDs。每个OID表示客户端请求服务器返回关于

queriedCerts的哪些信息。对于wantBack中指定的每种信息,服务器都应找到相应的结果并返回。例

如,请求的checks字段指定构造证书路径(id-stc-build-pkc-path),wantBack要求返回服务器构造的所

有证书路径(id-swb-pkc-all-cert-paths)0在这种情况下,响应不会包含证书路径的验证状态,这就是典

型的代理路径构造服务。

9

GB/T29243—2012

对公钥证书,定义了以下几种wantBacks:

id-swb-pkc-cert:请求中的主体证书,即queriedCerts字段所指示的证书;

id-swb-pkc-best-cert-path:最优的证书路径,路径中每个证书都是被验证有效的;

id-swb-pkc-revocation-info:证书路径中每个证书的撤销状态证明;

id-swb-pkc-public-key-info:请求中主体证书的公钥;

id-swb-pkc-all-cert-paths:为请求中主体证书构造的所有证书路径;

id-swb-pkc-ee-revocation-info:路径中终端实体证书的撤销状态证明;

id-swb-pkc-CAs-revocation-info:路径中每个CA证书的撤销状态证明。

提供代理验证服务的代理服务器应支持id-swb-pkc-cert

定制服务