3.4 OCSP功能

目前PKI系统实现证书状态(是否被吊销)检查的方法主要由:证书吊销列表(Certificate Revocation List, CRL)和在线证书状态查询协议(Online Certificate Status Protocol,OCSP)。OCSP可以实现证书状态的在线查询,具有更强的时效性,在金融、证券、政府等对安全性有较高要求的地方有广泛需求。

3.4.1 功能实现

OCSP的消息交互主要是,client发送request证书状态请求信息报文,包含所需查询的证书的序列号及相关信息,服务器收到后返回响应,包含此证书当前的状态(good,unknown,revoked)及证书吊销的原因等信息。

  • OCSP请求报文如下:

发布者名称散列(issuerNameHash)是发布者名称的散列。

发布者密钥散列(issuerKeyHash)是发布者公钥的散列。

所有这些使用的散列算法都由散列算法域(hashAlgorithm)确定。

序列号域(serialNumber)是被查询证书的序列号。

除了对CA名称进行散列还对CA的公钥进行散列。这样做的主要原因是为了识别发布者,因为两个CA可能选择同一名称。

  • OCSP响应报文如下:

返回的证书状态可能有3种:

(1) good状态,表示此证书的状态正常

(2) revoked状态,表示此证书已经被吊销

(3) unknown状态,表示CA不对应,无法在当前CA服务器上查询到此证书的信息。

时间相关:

      1. ThisUpdate 此次更新时间:此证书状态被表示为正确的时间
      2. NextUpdate 下次更新时间:在此时间之后,可获得此证书状态的新近消息

(3) ProductAt 产生时间:OCSP签名这个回复的时间

3.4.2 OCSP响应缓存

配置说明:

如果不配置response-cache-refresh-interval,那么是否缓存OCSP响应由response的next-Update字段决定。

        1. 如果next-update可用,就缓存当前的response of the Certificate,下次检验证书可用性,只有指明的next-update时间之后才会再次发出OCSP Request重新获取证书撤销消息。
        2. 如果next-update值不可用,client不缓存OCSP证书撤销状态,每当证书可用性检查需要时会做检查。

如果配置response-cache-refresh-interval为0,即不缓存。

如果配置response-cache-refresh-interval为非0,即开启了本地缓存OCSP response机制,

  1. 当OCSP response中的next-update也是可用的,会取两者间距当前时间最近的时间点来更新OCSP response。
  2. 当OCSP response中的next-update不可用,按照本地缓存机制缓存。

3.4.3 Nonce扩展

开启nonce后,与OCSP服务器通信时发送的OCSP请求中带有Nonce扩展,内容为随机数。通过该功能可以增强实体与OCSP服务器通信时的安全性和可靠性,防止重放攻击。

3.4.4 OCSP命令行

(1)配置OCSP的检查方式:

ocsp { nocheck | optional | required }

(2)在ocsp配置模式下,配置URL

url http://10.180.159.10/ocsp

(3)ocsp缓存

response-cache-refresh-interval <0-1440>

(4)nonce的开启与关闭

nonce { disable | enable }

results matching ""

    No results matching ""