Online Certificate Status Protocol (OCSP) Nonce Extension
RFC 8954

Document Type RFC - Proposed Standard (November 2020; No errata)
Updates RFC 6960
Author Mohit Sahni 
Last updated 2020-11-19
Replaces draft-msahni-lamps-ocsp-nonce
Stream Internent Engineering Task Force (IETF)
Formats plain text html xml pdf htmlized (tools) htmlized bibtex
Stream WG state Submitted to IESG for Publication
Document shepherd Russ Housley
Shepherd write-up Show (last changed 2020-05-18)
IESG IESG state RFC 8954 (Proposed Standard)
Action Holders
Consensus Boilerplate Yes
Telechat date
Responsible AD Roman Danyliw
Send notices to Russ Housley <>
IANA IANA review state Version Changed - Review Needed
IANA action state No IANA Actions

Internet Engineering Task Force (IETF)                     M. Sahni, Ed.
Request for Comments: 8954                            Palo Alto Networks
Updates: 6960                                              November 2020
Category: Standards Track                                               
ISSN: 2070-1721

       Online Certificate Status Protocol (OCSP) Nonce Extension


   This document specifies the updated format of the Nonce extension in
   the Online Certificate Status Protocol (OCSP) request and response
   messages.  OCSP is used to check the status of a certificate, and the
   Nonce extension is used to cryptographically bind an OCSP response
   message to a particular OCSP request message.  This document updates
   RFC 6960.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   ( in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction
     1.1.  Terminology
   2.  OCSP Extensions
     2.1.  Nonce Extension
   3.  Security Considerations
     3.1.  Replay Attack
     3.2.  Nonce Collision
   4.  IANA Considerations
   5.  Changes to Appendix B of RFC 6960
     5.1.  Changes to Appendix B.1 OCSP in ASN.1 - 1998 Syntax
     5.2.  Changes to Appendix B.2 OCSP in ASN.1 - 2008 Syntax
   6.  References
     6.1.  Normative References
     6.2.  Informative References
   Author's Address

1.  Introduction

   This document updates the usage and format of the Nonce extension in
   OCSP request and response messages.  This extension was previously
   defined in Section 4.4.1 of [RFC6960].  [RFC6960] does not mention
   any minimum or maximum length of the nonce in the Nonce extension.
   Lacking limits on the length of the nonce in the Nonce extension,
   OCSP responders that follow [RFC6960] may be vulnerable to various
   attacks, like Denial-of-Service attacks [RFC4732] or chosen-prefix
   attacks (to get a desired signature), and possible evasions using the
   Nonce extension data.  This document specifies a lower limit of 1 and
   an upper limit of 32 for the length of the nonce in the Nonce
   extension.  This document updates [RFC6960].

1.1.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2.  OCSP Extensions

   The message formats for OCSP requests and responses are defined in
   [RFC6960].  [RFC6960] also defines the standard extensions for OCSP
   messages based on the extension model employed in X.509 version 3
   certificates (see [RFC5280]).  This document only specifies the new
   format for the Nonce extension and does not change the specifications
   of any of the other standard extensions defined in [RFC6960].

2.1.  Nonce Extension

   This section replaces the entirety of Section 4.4.1 of [RFC6960],
   which describes the OCSP Nonce extension.

   The nonce cryptographically binds a request and a response to prevent
   replay attacks.  The nonce is included as one of the
   requestExtensions in requests; in responses, it would be included as
   one of the responseExtensions.  In both the request and the response,
   the nonce will be identified by the object identifier id-pkix-ocsp-
   nonce, while the extnValue is the value of the nonce.  If the Nonce
   extension is present, then the length of the nonce MUST be at least 1
   octet and can be up to 32 octets.

   A server MUST reject any OCSP request that has a nonce in the Nonce
   extension with a length of either 0 octets or more than 32 octets
   with the malformedRequest OCSPResponseStatus, as described in
   Section 4.2.1 of [RFC6960].

   The value of the nonce MUST be generated using a cryptographically
Show full document text