Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Online Certificate Status Protocol

From Wikipedia, the free encyclopedia
Protocol to check a digital certificate
Online Certificate Status Protocol
Communication protocol
AbbreviationOCSP
Developer(s)
  • Stefan Santesson
  • Michael Myers
  • Rich Ankney
  • Ambarish Malpani
  • Slava Galperin
  • Carlisle Adams
  • Mohit Sahni
  • Himanshu Sharma
Introduction4 February 2002 (2002-02-04)[1]
RFC(s)6960,9654

TheOnline Certificate Status Protocol (OCSP) is anInternetprotocol used for obtaining therevocation status of anX.509digital certificate.[2] It was created as an alternative tocertificate revocation lists (CRL), specifically addressing certain problems associated with using CRLs in apublic key infrastructure (PKI).[3] Messages communicated via OCSP are encoded inASN.1 and are usually communicated overHTTP. The "request/response" nature of these messages leads to OCSPservers being termedOCSP responders.

Someweb browsers (e.g.,Firefox[4]) use OCSP to validateHTTPS certificates, while others have disabled it.[5][6] Most OCSP revocation statuses on the Internet disappear soon after certificate expiration.[7]

Certificate authorities (CAs) were previously required by theCA/Browser Forum to provide OCSP service, but this requirement was removed in July 2023,[8] making OCSP optional and CRLs required again.[9] On August 6, 2025,Let's Encrypt announced that OCSP services will be shut down due to privacy concerns.[10]

Comparison to CRLs

[edit]
  • Since an OCSP response contains less data than a typicalcertificate revocation list (CRL), it puts less burden on network and client resources.[11]
  • Since an OCSP response has less data toparse, the client-sidelibraries that handle it can be less complex than those that handle CRLs.[12]
  • 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.[2]

Basic PKI implementation

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

Protocol details

[edit]

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 toreplay attacks,[13]: §5  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 allows anonce to be included in the request that may be included in the corresponding response. Because of high load, most OCSP responders do not use the nonce extension to create a different response for each request, instead using presigned responses with a validity period of multiple days. Thus, 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 bydelegated 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 theOID {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) keyPurpose(3) ocspSigning(9)})

Privacy concerns

[edit]

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. This third party could thus track what websites the client is accessing.OCSP stapling is a way to verify validity without disclosing browsing behavior to the CA.[2]

Criticisms

[edit]

OCSP-based revocation is not an effective technique to mitigate against the compromise of an HTTPS server's private key. An attacker who has compromised a server's private key typically needs to be in aman-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.[14]

The MustStaple TLS extension in a certificate can require that the certificate be verified by astapled OCSP response, mitigating this problem.[11] 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).

The OCSP protocol assumes the requester has network access to connect to an appropriate OCSP responder. Some requesters may not be able to connect because their local network prohibits direct Internet access (a common practice for internal nodes in a data center). Forcing internal servers to connect to the Internet in order to use OCSP contributes to thede-perimeterisation trend. TheOCSP stapling protocol is an alternative that allows servers to cache OCSP responses, which removes the need for the requestor to directly contact the OCSP responder.

Browser support

[edit]
OCSP information on Firefox 89

There is wide support for OCSP amongst most major browsers:

However,Google Chrome is an outlier. Google disabled OCSP checks by default in 2012, citing latency and privacy issues[21] and instead uses their own update mechanism to send revoked certificates to the browser.[22]

Implementations

[edit]

Severalopen source andproprietary OCSP implementations exist, including fully featuredservers andlibraries for building custom applications. OCSPclient support is built into manyoperating systems,web browsers, and othernetworksoftware due to the popularity ofHTTPS and theWorld Wide Web.

Server

[edit]

Open source

[edit]
  • Boulder,[23] CA and OCSP responder developed and used byLet's Encrypt (Go)
  • DogTag,[24] Open source certificate authority CA, CRL and OCSP responder.
  • EJBCA,[25] CA and OCSP responder (Java)
  • XiPKI,[26] CA and OCSP responder. With support of RFC 6960 and SHA3 (Java)
  • OpenCA OCSP Responder[27] Standalone OCSP responder from the OpenCA Project (C)

Proprietary

[edit]
  • Certificate Services[28] CA and OCSP responder included with Windows Server

Library

[edit]

Open source

[edit]

Client

[edit]
Further information:Transport Layer Security § Applications and adoption, andX.509 § Major protocols and standards using X.509 certificates

See also

[edit]

References

[edit]
  1. ^Santesson, Stefan; Myers, Michael; Ankney, Rich; Malpani, Ambarish; Galperin, Slava; Adams, Carlisle (June 2013)."History for draft-ietf-pkix-rfc2560bis-20". RetrievedDecember 23, 2021.
  2. ^abcA., Jesin (June 12, 2014)."How To Configure OCSP Stapling on Apache and Nginx".Community Tutorials. Digital Ocean, Inc. RetrievedMarch 2, 2015.
  3. ^"OCSP Stapling".GlobalSign Support. GMO GlobalSign Inc. August 1, 2014. RetrievedMarch 2, 2015.
  4. ^"CA/Revocation Checking in Firefox".wiki.mozilla.org. Retrieved29 June 2022.
  5. ^"Are revoked certificates detected in Safari and Chrome?". 20 September 2017. Retrieved29 June 2022.
  6. ^"CRLSets". Retrieved29 June 2022.
  7. ^Korzhitskii, Nikita; Carlsson, Niklas (2021). "Revocation Statuses on the Internet". In Hohlfeld, Oliver; Lutu, Andra; Levin, Dave (eds.).Passive and Active Measurement. PAM 2021.LNCS. Vol. 12671. pp. 175–191.arXiv:2102.04288.doi:10.1007/978-3-030-72582-2_11.ISBN 978-3-030-72582-2.ISSN 0302-9743.
  8. ^url=https://cabforum.org/2023/07/14/ballot-sc063v4-make-ocsp-optional-require-crls-and-incentivize-automation/
  9. ^Barreira, Inigo (September 28, 2023)."[Servercert-wg] IPR Review period for SC63: Make OCSP optional, require CRLs, and incentivize automation".lists.cabforum.org. RetrievedAugust 4, 2024.
  10. ^Aas, Josh (6 August 2025)."OCSP Service Has Reached End of Life".letsencrypt.org. Retrieved17 August 2025.
  11. ^abGibson, Steve."Security Certificate Revocation Awareness: The case for "OCSP Must-Staple"". Gibson Research Corporation. RetrievedMarch 2, 2015.
  12. ^Keeler, David (July 29, 2013)."OCSP Stapling in Firefox".Mozilla Security Blog. Mozilla Foundation. RetrievedMarch 2, 2015.
  13. ^S. Santesson; M. Myers; R. Ankey; S. Galperin;C. Adams (June 2013).X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP.Internet Engineering Task Force.doi:10.17487/RFC6960.RFC6960.Proposed Standard. Updated byRFC 8954. ObsoletesRFC 6277 and2560. UpdatesRFC 5912.
  14. ^"No, Don't Enable Revocation Checking". 19 April 2014. Retrieved24 April 2014.
  15. ^"Windows XP Certificate Status and Revocation Checking".Microsoft. Retrieved9 May 2016.
  16. ^"What's New in Certificate Revocation in Windows Vista and Windows Server 2008".Microsoft. 3 July 2013. Retrieved9 May 2016.
  17. ^"Mozilla Bug 110161 – Enable OCSP by Default".Mozilla. 1 October 2007. Retrieved18 July 2010.
  18. ^Wisniewski, Chester (26 March 2011)."Apple users left to defend themselves against certificate attacks".Sophos. Archived fromthe original on 31 October 2020. Retrieved26 March 2011.
  19. ^Pettersen, Yngve Nysæter (November 9, 2006)."Introducing Extended Validation Certificates".Opera Software. Archived fromthe original on 10 February 2010. Retrieved8 January 2010.
  20. ^Pettersen, Yngve Nysæter (3 July 2008)."Rootstore newsletter".Opera Software. Retrieved8 January 2010.
  21. ^Langley, Adam (5 Feb 2012)."Revocation checking and Chrome's CRL".Archived from the original on 2012-02-12. Retrieved2015-01-30.
  22. ^"Chrome does certificate revocation better", April 21, 2014, Larry Seltzer, ZDNet
  23. ^"Boulder – an ACME CA".GitHub. 16 March 2018. Retrieved17 March 2018.
  24. ^"Dogtag Certificate System". Retrieved12 Aug 2019.
  25. ^"EJBCA – Open Source PKI Certificate Authority". PrimeKey. 2 February 2018. Retrieved17 March 2018.
  26. ^"XiPKI".GitHub. 13 March 2018. Retrieved17 March 2018.
  27. ^"OpenCA OCSP". Retrieved3 January 2024.
  28. ^"Certificate Services (Windows)".Windows Dev Center.Microsoft. 2018. Retrieved17 March 2018.
  29. ^"Package ocsp".cfssl GoDoc. 25 February 2018. Retrieved17 March 2018.
  30. ^"OCSP_response_status".master manpages.OpenSSL. 2017. Retrieved17 March 2018.
  31. ^"OCSP in wolfSSL Embedded SSL – wolfSSL". 2014-01-27. Retrieved2019-01-25.

External links

[edit]
Features, standards & protocols
Features
Web standards
Protocols
Active
Blink-based
Proprietary
FOSS
Gecko-based
WebKit-based
Multi-engine
Other
Discontinued
Blink-based
Gecko-based
MSHTML-based
WebKit-based
Other
Protocols and technologies
Public-key infrastructure
See also
History
Implementations
Notaries
Vulnerabilities
Theory
Cipher
Protocol
Implementation
Retrieved from "https://en.wikipedia.org/w/index.php?title=Online_Certificate_Status_Protocol&oldid=1310809031"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp