Jump to content

Online Certificate Status Protocol: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
ZehJBert (talk | contribs)
Undid revision 638133662 by 121.52.158.248 (talk) - unclear edit, might be accidental
Chmarkine (talk | contribs)
→‎Browser support: Add or edit references: use cite web temp
Line 41: Line 41:
* [[Safari (web browser)|Safari]] on Mac OS X supports OCSP checking. It is enabled by default as of Mac OS X 10.7 (Lion). Prior to that, it has to be manually activated in Keychain preferences.<ref name="Sophos">{{cite web|url=http://nakedsecurity.sophos.com/2011/03/26/apple-users-left-to-defend-themselves-against-certificate-attacks/|title=Apple users left to defend themselves against certificate attacks|last=Wisniewski|first=Chester|publisher=[[Sophos]]|date=26 March 2011|accessdate=26 March 2011}}</ref>
* [[Safari (web browser)|Safari]] on Mac OS X supports OCSP checking. It is enabled by default as of Mac OS X 10.7 (Lion). Prior to that, it has to be manually activated in Keychain preferences.<ref name="Sophos">{{cite web|url=http://nakedsecurity.sophos.com/2011/03/26/apple-users-left-to-defend-themselves-against-certificate-attacks/|title=Apple users left to defend themselves against certificate attacks|last=Wisniewski|first=Chester|publisher=[[Sophos]]|date=26 March 2011|accessdate=26 March 2011}}</ref>
* Versions of [[Opera (web browser)|Opera]] from 8.0<ref>{{cite web|url=http://labs.opera.com/news/2006/11/09/|title=Introducing Extended Validation Certificates|last=Pettersen|first=Yngve Nysæter|date=November 9, 2006|publisher=[[Opera Software]]|accessdate=8 January 2010}}</ref><ref>{{cite web|url=http://my.opera.com/rootstore/blog/2008/07/03/rootstore-newsletter|title=Rootstore newsletter|last=Pettersen|first=Yngve Nysæter|date=3 July 2008|publisher=[[Opera Software]]|accessdate=8 January 2010}}</ref> to the current version support OCSP checking.
* Versions of [[Opera (web browser)|Opera]] from 8.0<ref>{{cite web|url=http://labs.opera.com/news/2006/11/09/|title=Introducing Extended Validation Certificates|last=Pettersen|first=Yngve Nysæter|date=November 9, 2006|publisher=[[Opera Software]]|accessdate=8 January 2010}}</ref><ref>{{cite web|url=http://my.opera.com/rootstore/blog/2008/07/03/rootstore-newsletter|title=Rootstore newsletter|last=Pettersen|first=Yngve Nysæter|date=3 July 2008|publisher=[[Opera Software]]|accessdate=8 January 2010}}</ref> to the current version support OCSP checking.
* [[Google Chrome]] disabled OCSP checks by default in 2012, citing latency and privacy issues<ref>https://www.imperialviolet.org/2012/02/05/crlsets.html</ref>
* [[Google Chrome]] disabled OCSP checks by default in 2012, citing latency and privacy issues<ref>https://www.imperialviolet.org/2012/02/05/crlsets.html</ref>


==See also==
==See also==

Revision as of 02:24, 31 January 2015

The Online Certificate Status Protocol (OCSP) is an Internet protocol used for obtaining the revocation status of an X.509 digital certificate. It is described in RFC 6960 and is on the Internet standards track. It was created as an alternative to certificate revocation lists (CRL), specifically addressing certain problems associated with using CRLs in a public key infrastructure (PKI). Messages communicated via OCSP are encoded in ASN.1 and are usually communicated over HTTP. The "request/response" nature of these messages leads to OCSP servers being termed OCSP responders.

Comparison to CRLs

  • Since an OCSP response contains less information than a typical certificate revocation list (CRL), it puts less burden on network and client resources.
  • Since an OCSP response does not need to be parsed, the client-side libraries that handle it can be less complex than those that handle CRLs.
  • OCSP discloses to the responder that a particular network host used a particular certificate at a particular time. OCSP does not mandate encryption, so other parties may intercept this information.

Basic PKI implementation

  1. Alice and Bob have public key certificates issued by Ivan, the Certificate Authority (CA).
  2. Alice wishes to perform a transaction with Bob and sends him her public key certificate.
  3. Bob, concerned that Alice's private key may have been compromised, creates an 'OCSP request' that contains Alice's certificate serial number and sends it to Ivan.
  4. Ivan's OCSP responder reads the certificate serial number from Bob's request. The OCSP responder uses the certificate serial number to look up the revocation status of Alice's certificate. The OCSP responder looks in a CA database that Ivan maintains. In this scenario, Ivan's CA database is the only trusted location where a compromise to Alice's certificate would be recorded.
  5. Ivan's OCSP responder confirms that Alice's certificate is still OK, and returns a signed, successful 'OCSP response' to Bob.
  6. Bob cryptographically verifies Ivan's signed response. Bob has stored Ivan's public key sometime before this transaction. Bob uses Ivan's public key to verify Ivan's response.
  7. Bob completes the transaction with Alice.

Protocol details

An OCSP responder - a server typically run by the certificate issuer - may return a signed response signifying that the certificate specified in the request is 'good', 'revoked' or 'unknown'. If it cannot process the request, it may return an error code.

The OCSP request format supports additional extensions. This enables extensive customization to a particular PKI scheme.

OCSP can be vulnerable to replay attacks, where a signed, 'good' response is captured by a malicious intermediary and replayed to the client at a later date after the subject certificate may have been revoked. OCSP overcomes this by allowing a nonce to be included in the request that must be included in the corresponding response. However, since most OCSP responders and clients do not support or use the nonce extension and Certificate Authorities (CAs) issue responses with a validity period of multiple days, the replay attack is a major threat to validation systems.

OCSP can support more than one level of CA. OCSP requests may be chained between peer responders to query the issuing CA appropriate for the subject certificate, with responders validating each other's responses against the root CA using their own OCSP requests.

An OCSP responder may be queried for revocation information by delegated path validation (DPV) servers. OCSP does not, by itself, perform any DPV of supplied certificates.

The key that signs a response need not be the same key that signed the certificate. The certificate's issuer may delegate another authority to be the OCSP responder. In this case, the responder's certificate (the one that is used to sign the response) must be issued by the issuer of the certificate in question, and must include a certain extension that marks it as an OCSP signing authority (more precisely, an extended key usage extension with the OID {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) keyPurpose(3) ocspSigning(9)})

Privacy concerns

OCSP checking creates a privacy concern for some users, since it requires the client to contact a third party (albeit a party trusted by the client software vendor) to confirm certificate validity. OCSP Stapling is a way to verify validity without disclosing browsing behavior.

Criticisms

OCSP-based revocation is not an effective technique to mitigate against the compromise of a HTTPS server's private key. An attacker who has compromised a server's private key typically needs to be in a Man-in-the-middle position on the network to abuse that private key and impersonate a server. An attacker in such a position is also typically in a position to interfere with the client's OCSP queries. Because most clients will silently ignore OCSP if the query times out, OCSP is not a reliable means of mitigating HTTPS server key compromise.[1]

The MustStaple TLS extension in a certificate can require that the certificate be verified by a stapled OCSP response, mitigating this problem. OCSP also remains a valid defense against situations where the attacker is not a "man-in-the-middle" (code-signing or certificates issued in error).

Browser support

  • Internet Explorer starting with version 7 on Windows Vista (not XP) supports OCSP checking[2]
  • All versions of Mozilla Firefox support OCSP checking. Firefox 3 enables OCSP checking by default.[3]
  • Safari on Mac OS X supports OCSP checking. It is enabled by default as of Mac OS X 10.7 (Lion). Prior to that, it has to be manually activated in Keychain preferences.[4]
  • Versions of Opera from 8.0[5][6] to the current version support OCSP checking.
  • Google Chrome disabled OCSP checks by default in 2012, citing latency and privacy issues[7]

See also

References

  1. ^ "No, Don't Enable Revocation Checking". 19 April 2014. Retrieved 24 April 2014.
  2. ^ "Federal Desktop Core Configuration (FDCC) solution". Microsoft. Retrieved June 2010. {{cite web}}: Check date values in: |accessdate= (help)
  3. ^ "Mozilla Bug 110161 - Enable OCSP by Default". Mozilla. 1 October 2007. Retrieved 18 July 2010.
  4. ^ Wisniewski, Chester (26 March 2011). "Apple users left to defend themselves against certificate attacks". Sophos. Retrieved 26 March 2011.
  5. ^ Pettersen, Yngve Nysæter (November 9, 2006). "Introducing Extended Validation Certificates". Opera Software. Retrieved 8 January 2010.
  6. ^ Pettersen, Yngve Nysæter (3 July 2008). "Rootstore newsletter". Opera Software. Retrieved 8 January 2010.
  7. ^ "Revocation checking and Chrome's CRL". 5 Feb 2012. Retrieved 2015-01-30.