Remove ads
来自维基百科,自由的百科全书
在线证书状态协议(英語:Online Certificate Status Protocol,缩写:OCSP)是一个用于获取X.509数字证书撤销状态的网际协议,[1]在RFC 6960中定义,作为证书吊销列表(CRL)的替代品解决了在公开密钥基础建设(PKI)中使用证书吊销列表而带来的多个问题。[2]协议数据传输过程中使用ASN.1编码,并通常建立在HTTP协议上,此消息类型分为“请求消息”和“响应消息”,因此致OCSP服务器被称为“OCSP响应端”。
由数字证书认证机构运行的OCSP服务器会对请求返回经过其签名的证书状态信息,分别为:正常(Good)、已廢除(Revoked)、未知(Unknown)。如果有无法处理的请求,则会返回一个错误码。
OCSP支持附加扩展以便对PKI解决方案进行定制,如在响应中包含SCT信息来验证相关证书是否通过了公开审计。[5]
OCSP在极端情况下可能遭受重放攻击。中间人可以捕获一个已签名的“正常”响应,并在之后的一段时间重放这个响应来通过客户端的验证,即使在这段时间里证书可能已经被撤销。[6]为避免这个问题,OCSP允许客户端在请求中加入一个随机数并要求服务器在响应中包含这个随机数。但是由于大多数客户端和服务器还没有支持这个扩展,OCSP响应的较长有效期可能给重放攻击留下机会并借此威胁整个验证系统。
OCSP可以支持多于一级的CA结构。请求被转发到对应的服务器节点并查询状态,从而无须使用根CA的OCSP请求。
用于签名响应的私钥不需要和签发证书的私钥相同。证书的签发者可能委托其他机构响应OCSP请求。在这种情况下,服务器的证书必须由签发者进行验证,并在扩展内容中包括相关信息标识该证书可用于OCSP响应的签名。
OCSP对于部分用户来讲会造成隐私问题,因为OCSP必须和一个第三方建立连接(即使这个第三方是被软件提供商信任的)以验证证书状态。对此,OCSP装订是一个无须和CA发生连接的替选方案。
OCSP不是缓解HTTPS服务器私钥泄露的可靠方法,因为攻击者窃取私钥后,再滥用私钥进行中间人攻击(MITM)时,往往也会干扰客户的OCSP查询,因为如果查询超时,大多数客户端将忽略OCSP,导致OCSP机制失效无法及时查询到证书吊销信息。[7]
对于OCSP在主流浏览器中的支持:
需要注意的是,Google Chrome在2012年由于延迟和隐私问题禁用了OCSP的默认启用,[13]改用自己的更新机制来同步证书撤销情况。[14]
目前的开源实现有:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.