官方公众号企业安全新浪微博
FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。
FreeBuf+小程序
近日,全国信息安全标准化技术委员会发布了《信息安全技术 公钥基础设施 在线证书状态协议》(征求意见稿)(以下简称《在线证书状态协议》)。
《在线证书状态协议》按照GB/T 1.1—2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定起草,代替GB/T 19713—2005《信息技术 安全技术 公钥基础设施在线证书状态协议》。
《在线证书状态协议》规定了面向公钥基础设施的在线证书状态协议(OCSP),此协议是一种无需请求证书撤销列表(CRL)即可查询数字证书状态的协议,包括总则、功能要求、具体协议等,适用于公钥基础设施的建设以及应用在线证书状态协议的依赖方等。
概述
OCSP作为查询CRL的替代方法或补充方法,对需实时获得数字证书撤销状态相关信息的,OCSP是必不可少的。
OCSP能使应用程序获得某个目标证书的撤销状态,OCSP可提供比检查CRL更实时的撤销状态信息,还可提供附加的状态信息。OCSP客户端向OCSP响应器发出一个状态请求时,需暂停接受待验证的证书,直到响应器提供响应为止。《在线证书状态协议》规定了查验证书状态的应用程序和提供证书状态查询的响应器之间需要交换的数据。
请求
《在线证书状态协议》指明了OCSP请求包括的数据内容及响应器接受请求时对请求数据格式的要求。
1、OCSP请求包含以下数据:
- 协议版本;
- 服务请求;
- 目标证书标识符;
- OCSP响应器可处理的可选扩展,比如:OCSP客户端的签名、随机数。
2、在接受到请求时,OCSP响应器应确定:
- 报文格式是否正确;
- 响应器是否配置了所要求的服务;
- 请求是否包含了响应器需要的信息。
- 如果上述任一条件不满足,OCSP响应器将返回一个错误信息;否则,将返回一个明确的响应。
响应
OCSP响应由响应类型和响应实体两部分组成,根据实际情况,响应可有不同类型。
1、所有确定的响应报文都应进行数字签名,用于响应签名的密钥应符合下列条件之一:
- 签发待验证证书的CA密钥;
- CA指定的响应器(即授权的响应器,见7.3.2.2)的密钥,该响应器拥有一个CA直接签发的带有扩展密钥用法id-kp-OCSPSigning(见GB/T 20518—2018 5.2.4.2.5)的证书,该扩展项指明该响应器可为CA签发OCSP响应;
- 可信赖的响应器密钥,即客户端信任该响应器的密钥。
2、响应消息由如下内容组成:
- 响应语法的版本;
- 响应者的标识符;
- 生成响应的时间;
- 对请求中每个证书的响应;
- 可选择的扩展;
- 签名算法的OID;
- 响应的数字签名。
3、对请求中证书的响应由如下内容组成:
- 目标证书标识符;
- 证书状态值;
- 响应有效间隔;
- 可选的扩展。
4、本文件对证书状态值规定了如下响应标识符:
- good(在用):表示证书是有效的在用证书。此响应表示在其有效期内所请求证书序列号的证书没有被撤销,但并不一定意味着该证书曾经被签发过,或产生响应的时间是在证书有效性期内。另外,响应扩展可提供关于证书状态信息的附加声明,例如已签发、有效期等;
- revoked(已撤销):表示证书已被冻结(撤销原因是冻结)或永久的撤销。如果相关联的CA没有签发所请求证书的记录,也可能返回此状态;
- unknown(未知):表示响应器不能鉴别待验证状态的证书。通常是因为该响应器无法识别验证请求所包含的颁发者。
5、当响应器向未签发证书的状态请求发送“已撤销”响应时,响应器应在响应中包含扩展撤销定义(见7.4.9),从而表明OCSP响应器支持“已撤销”状态的扩展定义,以涵盖未签发的证书。另外,未签发证书与SingleResponse结构字段(见7.3.1)相关。“已撤销”响应应符合以下要求:
- 应明确指出撤销原因是冻结;
- 应明确指出撤销时间是1970年1月1日;
- 不能包括CRL引用扩展(见7.4.3)或任何CRL条目扩展(见7.4.6)。