Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Comparison to CRLs  





2 Basic PKI implementation  





3 Protocol details  





4 Privacy concerns  





5 Criticisms  





6 Browser support  





7 Implementations  



7.1  Server  



7.1.1  Open source  





7.1.2  Proprietary  







7.2  Library  



7.2.1  Open source  







7.3  Client  







8 See also  





9 References  





10 External links  














Online Certificate Status Protocol






العربية
Čeština
Deutsch
Español
فارسی
Français

Italiano

Polski
Português
Русский
Svenska
Українська

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


OCSP
Online Certificate Status Protocol
StatusProposed Standard
Year started4 February 2002 (2002-02-04)[1]
First published11 February 2013 (2013-02-11)[1]
Authors
  • Stefan Santesson
  • Michael Myers
  • Rich Ankney
  • Ambarish Malpani
  • Slava Galperin
  • Carlisle Adams
  • Mohit Sahni
  • Base standards
  • Secure/Multipurpose Internet Mail Extensions (S/MIME)
  • DomainDigital certificate
    Website
    • RFC 6960: OCSP
  • RFC 8954: OCSP Nonce Extension
  • The Online Certificate Status Protocol (OCSP) is an Internet protocol used for obtaining the revocation status of an X.509 digital certificate.[2] 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).[3] 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.

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

    Comparison to CRLs[edit]

    Basic PKI implementation[edit]

    1. Alice and Bob have public key certificates issued by Carol, 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 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 the revocation 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 a signed, 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 to replay attacks,[10] 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 a nonce 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 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[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. 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 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.[11]

    The MustStaple TLS extension in a certificate can require that the certificate be verified by a stapled OCSP response, mitigating this problem.[8] 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 the de-perimeterisation trend. The OCSP 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[18] and instead uses their own update mechanism to send revoked certificates to the browser.[19]

    Implementations[edit]

    Several open source and proprietary OCSP implementations exist, including fully featured servers and libraries for building custom applications. OCSP client support is built into many operating systems, web browsers, and other network software due to the popularity of HTTPS and the World Wide Web.

    Server[edit]

    Open source[edit]

    Proprietary[edit]

    Library[edit]

    Open source[edit]

    Client[edit]

    See also[edit]

    References[edit]

    1. ^ a b Santesson, Stefan; Myers, Michael; Ankney, Rich; Malpani, Ambarish; Galperin, Slava; Adams, Carlisle (June 2013). "History for draft-ietf-pkix-rfc2560bis-20". Retrieved December 23, 2021.
  • ^ a b c A., Jesin (June 12, 2014). "How To Configure OCSP Stapling on Apache and Nginx". Community Tutorials. Digital Ocean, Inc. Retrieved March 2, 2015.
  • ^ "OCSP Stapling". GlobalSign Support. GMO GlobalSign Inc. August 1, 2014. Retrieved March 2, 2015.
  • ^ "CA/Revocation Checking in Firefox". wiki.mozilla.org. Retrieved 29 June 2022.
  • ^ "Are revoked certificates detected in Safari and Chrome?". 20 September 2017. Retrieved 29 June 2022.
  • ^ "CRLSets". Retrieved 29 June 2022.
  • ^ 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.
  • ^ a b Gibson, Steve. "Security Certificate Revocation Awareness: The case for "OCSP Must-Staple"". Gibson Research Corporation. Retrieved March 2, 2015.
  • ^ Keeler, David (July 29, 2013). "OCSP Stapling in Firefox". Mozilla Security Blog. Mozilla Foundation. Retrieved March 2, 2015.
  • ^ RFC 6960, section 5, Security Considerations
  • ^ "No, Don't Enable Revocation Checking". 19 April 2014. Retrieved 24 April 2014.
  • ^ "Windows XP Certificate Status and Revocation Checking". Microsoft. Retrieved 9 May 2016.
  • ^ "What's New in Certificate Revocation in Windows Vista and Windows Server 2008". Microsoft. 3 July 2013. Retrieved 9 May 2016.
  • ^ "Mozilla Bug 110161 – Enable OCSP by Default". Mozilla. 1 October 2007. Retrieved 18 July 2010.
  • ^ Wisniewski, Chester (26 March 2011). "Apple users left to defend themselves against certificate attacks". Sophos. Retrieved 26 March 2011.
  • ^ Pettersen, Yngve Nysæter (November 9, 2006). "Introducing Extended Validation Certificates". Opera Software. Archived from the original on 10 February 2010. Retrieved 8 January 2010.
  • ^ Pettersen, Yngve Nysæter (3 July 2008). "Rootstore newsletter". Opera Software. Retrieved 8 January 2010.
  • ^ Langley, Adam (5 Feb 2012). "Revocation checking and Chrome's CRL". Archived from the original on 2012-02-12. Retrieved 2015-01-30.
  • ^ "Chrome does certificate revocation better", April 21, 2014, Larry Seltzer, ZDNet
  • ^ "Boulder – an ACME CA". GitHub. 16 March 2018. Retrieved 17 March 2018.
  • ^ "Dogtag Certificate System". Retrieved 12 Aug 2019.
  • ^ "EJBCA – Open Source PKI Certificate Authority". PrimeKey. 2 February 2018. Retrieved 17 March 2018.
  • ^ "XiPKI". GitHub. 13 March 2018. Retrieved 17 March 2018.
  • ^ "OpenCA OCSP". Retrieved 3 January 2024.
  • ^ "Certificate Services (Windows)". Windows Dev Center. Microsoft. 2018. Retrieved 17 March 2018.
  • ^ "Package ocsp". cfssl GoDoc. 25 February 2018. Retrieved 17 March 2018.
  • ^ "OCSP_response_status". master manpages. OpenSSL. 2017. Retrieved 17 March 2018.
  • ^ "OCSP in wolfSSL Embedded SSL – wolfSSL". 2014-01-27. Retrieved 2019-01-25.
  • External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=Online_Certificate_Status_Protocol&oldid=1230726689"

    Categories: 
    Public key infrastructure
    Cryptographic protocols
    Internet Standards
    Internet protocols
    Transport Layer Security
    Certificate revocation
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    Articles with Curlie links
     



    This page was last edited on 24 June 2024, at 10:31 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki