本页使用了标题或全文手工转换

在线证书状态协议

维基百科,自由的百科全书
跳转至: 导航搜索

在线证书状态协议Online Certificate Status Protocol)是一个用于获取X.509数字证书撤销状态的网际协议[1]在RFC 6960中定义,作为证书吊销列表(CRL)的替代品解决了在公开密钥基础建设(PKI)中使用证书吊销列表而带来的多个问题。[2]协议数据传输过程中使用ASN.1编码,并通常建立在HTTP协议上。

与证书吊销列表的比较[编辑]

  • 在线证书状态协议响应的长度相比证书吊销列表更短,因此可以降低网络压力[3]和处理耗时。[4]
  • 在线证书状态协议中,服务器可以记录主机在何时验证过特定的证书。同时由于请求不强制加密,相关信息还可能被第三方获取。

公开密钥基础建设基本实现[编辑]

协议信息[编辑]

由数字证书认证机构运行的OCSP服务器会对请求返回经过其签名的证书状态信息,分别为:正常(Good)、已撤销(Revoked)、未知(Unknown)。如果有无法处理的请求,则会返回一个错误码。

OCSP支持附加扩展以便对PKI解决方案进行定制,如在响应中包含SCT信息来验证相关证书是否通过了公开审计。[5]

OCSP在极端情况下可能遭受重放攻击。中间人可以捕获一个已签名的“正常”响应,并在之后的一段时间重放这个响应来通过客户端的验证,即使在这段时间里证书可能已经被撤销。[6]为避免这个问题,OCSP允许客户端在请求中加入一个随机数并要求服务器在响应中包含这个随机数。但是由于大多数客户端和服务器还没有支持这个扩展,OCSP响应的较长有效期可能给重放攻击留下机会并借此威胁整个验证系统。

OCSP可以支持多于一级的CA结构。请求被转发到对应的服务器节点并查询状态,从而无须使用根CA的OCSP请求。

用于签名响应的私钥不需要和签发证书的私钥相同。证书的签发者可能委托其他机构响应OCSP请求。在这种情况下,服务器的证书必须由签发者进行验证,并在扩展内容中包括相关信息标识该证书可用于OCSP响应的签名。

隐私问题[编辑]

OCSP对于部分用户来讲会造成隐私问题,因为OCSP必须和一个第三方建立连接(即使这个第三方是被软件提供商信任的)以验证证书状态。对此,OCSP装订是一个无须和CA发生连接的替选方案。

批评[编辑]

浏览器支持情况[编辑]

对于OCSP在主流浏览器中的支持:

需要注意的是,Google Chrome在2012年由于延迟和隐私问题禁用了OCSP的默认启用,[12]改用自己的更新机制来同步证书撤销情况。[13]

开源实现[编辑]

目前的开源实现有:

  • XiPKI,基于OSGi,由Java编写。[14]

参见[编辑]

参考链接[编辑]

  1. ^ A., Jesin. How To Configure OCSP Stapling on Apache and Nginx. Community Tutorials. Digital Ocean, Inc. June 12, 2014 [March 2, 2015]. 
  2. ^ OCSP Stapling. GlobalSign Support. GMO GlobalSign Inc. August 1, 2014 [March 2, 2015]. 
  3. ^ Gibson, Steve. Security Certificate Revocation Awareness: The case for "OCSP Must-Staple". Gibson Research Corporation. [March 2, 2015]. 
  4. ^ Keeler, David. OCSP Stapling in Firefox. Mozilla Security Blog. Mozilla Foundation. July 29, 2013 [March 2, 2015]. 
  5. ^ Certificate Transparency. How Certificate Transparency Works. Certificate Transparency. [2016-06-09] (英语). 
  6. ^ RFC 6960, section 5, Security Considerations
  7. ^ What’s New in Certificate Revocation in Windows Vista and Windows Server 2008. Microsoft. [9 May 2016]. 
  8. ^ Mozilla Bug 110161 - Enable OCSP by Default. Mozilla. 1 October 2007 [18 July 2010]. 
  9. ^ Wisniewski, Chester. Apple users left to defend themselves against certificate attacks. Sophos. 26 March 2011 [26 March 2011]. 
  10. ^ Pettersen, Yngve Nysæter. Introducing Extended Validation Certificates. Opera Software. November 9, 2006 [8 January 2010]. 
  11. ^ Pettersen, Yngve Nysæter. Rootstore newsletter. Opera Software. 3 July 2008 [8 January 2010]. 
  12. ^ Langley, Adam. Revocation checking and Chrome's CRL. 5 Feb 2012 [2015-01-30]. (原始内容存档于2012-02-12). 
  13. ^ "Chrome does certificate revocation better", April 21, 2014, Larry Seltzer, ZDNet
  14. ^ xipki/xipki · GitHub. Github.com. [2016-01-24]. 

外部链接[编辑]