<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" consensus="true" docName="draft-ietf-lamps-ocsp-nonce-05" indexInclude="true" ipr="trust200902" number="8954" prepTime="2020-11-19T15:36:07" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" updates="6960" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-lamps-ocsp-nonce-05" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8954" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="OCSP Nonce Extension">Online Certificate Status Protocol (OCSP) Nonce Extension</title>
    <seriesInfo name="RFC" value="8954" stream="IETF"/>
    <author initials="M." surname="Sahni" fullname="Mohit Sahni" role="editor">
      <organization showOnFrontPage="true">Palo Alto Networks</organization>
      <address>
        <postal>
          <street>3000 Tannery Way</street>
          <city>Santa Clara</city>
          <region>CA</region>
          <code>95054</code>
          <country>United States of America</country>
        </postal>
        <email>msahni@paloaltonetworks.com</email>
      </address>
    </author>
    <date month="11" year="2020"/>
    <workgroup>LAMPS</workgroup>
    <keyword>OCSP Nonce Length</keyword>
    <keyword>OCSP Nonce Randomness</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
   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.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            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.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8954" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2020 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) 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.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ocsp-extensions">OCSP Extensions</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-nonce-extension">Nonce Extension</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-replay-attack">Replay Attack</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-nonce-collision">Nonce Collision</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-changes-to-appendix-b-of-rf">Changes to Appendix B of RFC 6960</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-changes-to-appendix-b1-ocsp">Changes to Appendix B.1 OCSP in ASN.1 - 1998 Syntax</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-changes-to-appendix-b2-ocsp">Changes to Appendix B.2 OCSP in ASN.1 - 2008 Syntax</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-address">Author's Address</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="sect-1" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
   This document updates the usage and format of the Nonce extension
   in OCSP request and response messages. This extension was
   previously defined in <xref target="RFC6960" sectionFormat="of" section="4.4.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6960#section-4.4.1" derivedContent="RFC6960"/>. <xref target="RFC6960" format="default" sectionFormat="of" derivedContent="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 <xref target="RFC6960" format="default" sectionFormat="of" derivedContent="RFC6960"/> may be 
   vulnerable to various attacks,  like Denial-of-Service attacks <xref target="RFC4732" format="default" sectionFormat="of" derivedContent="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 <xref target="RFC6960" format="default" sectionFormat="of" derivedContent="RFC6960"/>.</t>
      <section anchor="sect-1.1" numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-terminology">Terminology</name>
        <t indent="0" pn="section-1.1-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", 
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> 
    when, and only when, they appear in all capitals, as shown here.
        </t>
      </section>
    </section>
    <section anchor="sect-2" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-ocsp-extensions">OCSP Extensions</name>
      <t indent="0" pn="section-2-1">
   The message formats for OCSP requests and responses are defined in
   <xref target="RFC6960" format="default" sectionFormat="of" derivedContent="RFC6960"/>. <xref target="RFC6960" format="default" sectionFormat="of" derivedContent="RFC6960"/> also defines the standard extensions for OCSP 
   messages based on the extension model employed in X.509 version 3
   certificates (see <xref target="RFC5280" format="default" sectionFormat="of" derivedContent="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 <xref target="RFC6960" format="default" sectionFormat="of" derivedContent="RFC6960"/>.</t>
      <section anchor="sect-2.1" numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-nonce-extension">Nonce Extension</name>
        <t indent="0" pn="section-2.1-1">This section replaces the entirety of <xref target="RFC6960" sectionFormat="of" section="4.4.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6960#section-4.4.1" derivedContent="RFC6960"/>, which describes the OCSP Nonce
	extension.</t>
        <t indent="0" pn="section-2.1-2">
   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 <bcp14>MUST</bcp14> be at
   least 1 octet and can be up to 32 octets.
        </t>
        <t indent="0" pn="section-2.1-3">A server <bcp14>MUST</bcp14> 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 <xref target="RFC6960" sectionFormat="of" section="4.2.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6960#section-4.2.1" derivedContent="RFC6960"/>.</t>
        <t indent="0" pn="section-2.1-4">
   The value of the nonce <bcp14>MUST</bcp14> be generated using a cryptographically
   strong pseudorandom number generator (see <xref target="RFC4086" format="default" sectionFormat="of" derivedContent="RFC4086"/>).
   The minimum nonce length of 1 octet is defined to provide
   backward compatibility with older clients that follow <xref target="RFC6960" format="default" sectionFormat="of" derivedContent="RFC6960"/>.
   Newer OCSP clients that support this document <bcp14>MUST</bcp14> use a
   length of 32 octets for the nonce in the Nonce extension. OCSP responders
   <bcp14>MUST</bcp14> accept lengths of at least 16 octets and  <bcp14>MAY</bcp14> choose to
   ignore the Nonce extension for requests where the length of the nonce is less than 16 octets.
        </t>
        <sourcecode type="asn.1" markers="false" pn="section-2.1-5">
   id-pkix-ocsp           OBJECT IDENTIFIER ::= { id-ad-ocsp }
   id-pkix-ocsp-nonce     OBJECT IDENTIFIER ::= { id-pkix-ocsp 2 }

   Nonce ::= OCTET STRING(SIZE(1..32))
</sourcecode>
      </section>
    </section>
    <section anchor="sect-3" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-3-1">      
      The security considerations of OCSP, in general, are described in
      <xref target="RFC6960" format="default" sectionFormat="of" derivedContent="RFC6960"/>. During the interval in which
      the previous OCSP response for a 
      certificate is not expired but the responder has a changed status for
      that certificate, a copy of that OCSP response can be used to indicate
      that the status of the certificate is still valid.  
      Including a client's nonce value in the OCSP
      response makes sure that the response is the latest response from
      the server and not an old copy.
      </t>
      <section anchor="sect-3-1" numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-replay-attack">Replay Attack</name>
        <t indent="0" pn="section-3.1-1">
   The Nonce extension is used to avoid replay attacks. Since the OCSP
   responder may choose not to send the Nonce extension in the OCSP
   response even if the client has sent the Nonce extension in the
   request <xref target="RFC5019" format="default" sectionFormat="of" derivedContent="RFC5019"/>, an on-path attacker can intercept the OCSP request
   and respond with an earlier response from the server without the
   Nonce extension. This can be mitigated by configuring the server to
   use a short time interval between the thisUpdate and nextUpdate fields in
   the OCSP response.
</t>
      </section>
      <section anchor="sect-3-2" numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-nonce-collision">Nonce Collision</name>
        <t indent="0" pn="section-3.2-1">
   If the value of the nonce used by a client in the OCSP request is
   predictable, then an attacker may prefetch responses with the
   predicted nonce and can replay them, thus defeating the purpose of
   using the nonce. Therefore, the value of the Nonce extension in the OCSP
   request <bcp14>MUST</bcp14> contain cryptographically strong randomness and <bcp14>MUST</bcp14> be
   freshly generated at the time of the creation of the OCSP request. Also,
   if the length of the nonce is too small (e.g., 1 octet), then
   an on-path attacker can prefetch responses with all the possible
   values of the nonce and replay a matching nonce.
        </t>
      </section>
    </section>
    <section anchor="sect-4" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-4-1">This document has no IANA actions.</t>
    </section>
    <section anchor="sect-5" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-changes-to-appendix-b-of-rf">Changes to Appendix B of RFC 6960</name>
      <t indent="0" pn="section-5-1">
	This section updates the ASN.1 definitions of the OCSP Nonce extension
	in Appendices <xref target="RFC6960" section="B.1" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6960#appendix-B.1" derivedContent="RFC6960"/> and <xref target="RFC6960" section="B.2" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6960#appendix-B.2" derivedContent="RFC6960"/> of <xref target="RFC6960" format="default" sectionFormat="of" derivedContent="RFC6960"/>.
	Appendix <xref target="RFC6960" section="B.1" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6960#appendix-B.1" derivedContent="RFC6960"/>
	defines OCSP using ASN.1 - 1998 Syntax; Appendix <xref target="RFC6960" section="B.2" sectionFormat="bare" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6960#appendix-B.2" derivedContent="RFC6960"/> defines OCSP
      using ASN.1 - 2008 Syntax.</t>
      <section anchor="sect-5-1" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-changes-to-appendix-b1-ocsp">Changes to Appendix B.1 OCSP in ASN.1 - 1998 Syntax</name>
        <t indent="0" pn="section-5.1-1">OLD Syntax: </t>
        <t indent="0" pn="section-5.1-2">The definition of OCSP Nonce extension is not provided in <xref target="RFC6960" sectionFormat="of" section="B.1" format="default" derivedLink="https://rfc-editor.org/rfc/rfc6960#appendix-B.1" derivedContent="RFC6960"/> for the ASN.1 -
	1998 Syntax.</t>
        <t indent="0" pn="section-5.1-3">NEW Syntax: </t>
        <sourcecode type="asn.1" markers="false" pn="section-5.1-4">
    Nonce ::= OCTET STRING(SIZE(1..32))
</sourcecode>
      </section>
      <section anchor="sect-5-2" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-changes-to-appendix-b2-ocsp">Changes to Appendix B.2 OCSP in ASN.1 - 2008 Syntax</name>
        <t indent="0" pn="section-5.2-1">OLD Syntax: </t>
        <sourcecode type="asn.1" markers="false" pn="section-5.2-2">
    re-ocsp-nonce EXTENSION ::= { SYNTAX OCTET STRING IDENTIFIED
        BY id-pkix-ocsp-nonce }
</sourcecode>
        <t indent="0" pn="section-5.2-3">NEW Syntax: </t>
        <sourcecode type="asn.1" markers="false" pn="section-5.2-4">
    re-ocsp-nonce EXTENSION ::= { SYNTAX OCTET STRING(SIZE(1..32))
        IDENTIFIED BY id-pkix-ocsp-nonce }
</sourcecode>
      </section>
    </section>
  </middle>
  <back>
    <references pn="section-6">
      <name slugifiedName="name-references">References</name>
      <references pn="section-6.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/rfc5280" quoteTitle="true" derivedAnchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author initials="D." surname="Cooper" fullname="D. Cooper">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Santesson" fullname="S. Santesson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Farrell" fullname="S. Farrell">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Boeyen" fullname="S. Boeyen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Housley" fullname="R. Housley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="W." surname="Polk" fullname="W. Polk">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2008" month="May"/>
            <abstract>
              <t indent="0">This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC6960" target="https://www.rfc-editor.org/info/rfc6960" quoteTitle="true" derivedAnchor="RFC6960">
          <front>
            <title>X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP</title>
            <author initials="S." surname="Santesson" fullname="S. Santesson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Myers" fullname="M. Myers">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Ankney" fullname="R. Ankney">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Malpani" fullname="A. Malpani">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Galperin" fullname="S. Galperin">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Adams" fullname="C. Adams">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2013" month="June"/>
            <abstract>
              <t indent="0">This document specifies a protocol useful in determining the current status of a digital certificate without requiring Certificate Revocation Lists (CRLs). Additional mechanisms addressing PKIX operational requirements are specified in separate documents.  This document obsoletes RFCs 2560 and 6277.  It also updates RFC 5912.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6960"/>
          <seriesInfo name="DOI" value="10.17487/RFC6960"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references pn="section-6.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC4086" target="https://www.rfc-editor.org/info/rfc4086" quoteTitle="true" derivedAnchor="RFC4086">
          <front>
            <title>Randomness Requirements for Security</title>
            <author initials="D." surname="Eastlake 3rd" fullname="D. Eastlake 3rd">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Schiller" fullname="J. Schiller">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Crocker" fullname="S. Crocker">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2005" month="June"/>
            <abstract>
              <t indent="0">Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts.  However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities.  The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t indent="0">Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult.  This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities.  It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
        <reference anchor="RFC4732" target="https://www.rfc-editor.org/info/rfc4732" quoteTitle="true" derivedAnchor="RFC4732">
          <front>
            <title>Internet Denial-of-Service Considerations</title>
            <author initials="M." surname="Handley" fullname="M. Handley" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Rescorla" fullname="E. Rescorla" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author>
              <organization showOnFrontPage="true">IAB</organization>
            </author>
            <date year="2006" month="December"/>
            <abstract>
              <t indent="0">This document provides an overview of possible avenues for denial-of-service (DoS) attack on Internet systems.  The aim is to encourage protocol designers and network engineers towards designs that are more robust.  We discuss partial solutions that reduce the effectiveness of attacks, and how some solutions might inadvertently open up alternative vulnerabilities.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4732"/>
          <seriesInfo name="DOI" value="10.17487/RFC4732"/>
        </reference>
        <reference anchor="RFC5019" target="https://www.rfc-editor.org/info/rfc5019" quoteTitle="true" derivedAnchor="RFC5019">
          <front>
            <title>The Lightweight Online Certificate Status Protocol (OCSP) Profile for High-Volume Environments</title>
            <author initials="A." surname="Deacon" fullname="A. Deacon">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Hurst" fullname="R. Hurst">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2007" month="September"/>
            <abstract>
              <t indent="0">This specification defines a profile of the Online Certificate Status Protocol (OCSP) that addresses the scalability issues inherent when using OCSP in large scale (high volume) Public Key Infrastructure (PKI) environments and/or in PKI environments that require a lightweight solution to minimize communication bandwidth and client-side processing.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5019"/>
          <seriesInfo name="DOI" value="10.17487/RFC5019"/>
        </reference>
      </references>
    </references>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-authors-address">Author's Address</name>
      <author initials="M." surname="Sahni" fullname="Mohit Sahni" role="editor">
        <organization showOnFrontPage="true">Palo Alto Networks</organization>
        <address>
          <postal>
            <street>3000 Tannery Way</street>
            <city>Santa Clara</city>
            <region>CA</region>
            <code>95054</code>
            <country>United States of America</country>
          </postal>
          <email>msahni@paloaltonetworks.com</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
