<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-guo-ocsp-cert-valid-00" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="OCSP Certificate Validation Extension">Online Certificate Status Protocol (OCSP) with Certificate Validation Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-guo-ocsp-cert-valid-00"/>
    <author initials="W." surname="Guo" fullname="Wei Guo">
      <organization>Huawei Technologies</organization>
      <address>
        <email>guowei90@huawei.com</email>
      </address>
    </author>
    <author initials="B." surname="Ding" fullname="Beijing Ding">
      <organization>Huawei Technologies</organization>
      <address>
        <email>dingbeijing@huawei.com</email>
      </address>
    </author>
    <author initials="J." surname="Li" fullname="Ji Li">
      <organization>Huawei Technologies</organization>
      <address>
        <email>liji100@huawei.com</email>
      </address>
    </author>
    <author initials="S." surname="Wu" fullname="Songqi Wu">
      <organization>Huawei Technologies</organization>
      <address>
        <email>wusongqi@huawei.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="20"/>
    <area>General</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <keyword>keyword1</keyword>
    <keyword>keyword2</keyword>
    <keyword>keyword3</keyword>
    <abstract>
      <?line 54?>

<t>This document introduces a Certificate Validation extension and a Certificate Hash extension in the Online Certificate Status Protocol (OCSP) request message and response message, respectively. OCSP is used to check the status of a certificate, and these two extensions are used to check the validity of that certificate.</t>
    </abstract>
  </front>
  <middle>
    <?line 58?>

<section anchor="intro">
      <name>Introduction</name>
      <t>In some secure protocols (e.g., TLS <xref target="RFC8446"/>, IPsec <xref target="RFC6071"/>), the X.509 v3 certificate is the most commonly used means to authenticate the peer's identity. The validity of a certificate can be checked by relying parties by using a locally stored trust anchor and the received certificate chain. Moreover, relying parties can also use Online Certificate Status Protocol (OCSP) <xref target="RFC6960"/> or Certificate Revocation List (CRL) <xref target="RFC5280"/> to check the status of that certificate.</t>
      <t>Today, a large number of network devices across different vendors (or different trust domains) need to connect securely. For example, the first use case is that a user equipment (UE) roams onto a visited network, secure connection needs to be established between the visited network and the UE's home network for authentication and other services; the second use case is that  in the 5G service-based architecture (SBA), network functions (NFs) from various vendors can interact with each other through secure connection for confidentiality and integrity.</t>
      <t>This makes the certificate validation more complex, since it requires every device to configure a list of trusted CAs and transmit the certificate chain. Moreover, factors such as CA changes further complicate the process. In the post-quantum era, the public key and signature sizes of post-quantum algorithms are significantly large compared to that of classical algorithms, leading to excessively large post-quantum certificates. This, in turn, results in higher transmission costs for certificate chains, thereby affecting the speed of secure connection establishment.</t>
      <t>This document provides a mechanism that uses the extended OCSP to additionally check the validity of a certificate, without transmitting and verifying the entire certificate chain.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>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"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="ocsp_extensions">
      <name>OCSP Extensions</name>
      <t>The message formats for OCSP requests and responses are defined in <xref target="RFC6960"/>. <xref target="RFC6960"/> also defines the standard extensions for OCSP messages following X.509 v3 certificate extensions (see <xref target="RFC5280"/>). Thus, each such extension requires an OID, a criticality flag, and ASN.1 syntax as defined by the OID.</t>
      <t>This document defines two new OCSP extensions: Certificate Validation extension in the OCSP request message and Certificate Hash extension in the OCSP response message. The criticality flags for these two extensions are optional: per <xref section="4.4" sectionFormat="of" target="RFC6960"/>, support for all OCSP extensions is optional. If the OCSP responder does not understand the requested extension, it will provide the baseline validation of the certificate.</t>
      <section anchor="ocsp-request-extension">
        <name>OCSP Request Extension</name>
        <t>An OCSP requestor <bcp14>MAY</bcp14> wish to use this extended OCSP to additionally check the validity of a certificate. To do so, it <bcp14>SHOULD</bcp14> use an extension with the OID <tt>id-pkix-ocsp-cert-valid</tt> and the extnValue <tt>CertificateValidation</tt>. This extension is included as one of the request's singleRequestExtensions; it carries the preferred hash algorithms that will be used by the OCSP responder to compute the requested certificate's hash.</t>
        <artwork><![CDATA[
  id-pkix-ocsp-cert-valid OBJECT IDENTIFIER ::= { id-pkix-ocsp 11 }

  CertificateValidation ::= SEQUENCE OF PreferredHashAlgorithm

  PreferredHashAlgorithm ::= AlgorithmIdentifier
]]></artwork>
        <t>The syntax of AlgorithmIdentifier is defined in <xref section="4.1.1.2" sectionFormat="of" target="RFC5280"/>.</t>
        <t>The client <bcp14>MUST</bcp14> support each of the specified preferred hash algorithms, and the client <bcp14>MUST</bcp14> specify the algorithms in the order of preference, from the most preferred to the least preferred.</t>
      </section>
      <section anchor="ocsp-response-extension">
        <name>OCSP Response Extension</name>
        <t>An OCSP responder <bcp14>MAY</bcp14> maximize the potential for ensuring interoperability by selecting a supported hash algorithm using the following order of precedence, as long as the selected algorithm meets all security requirements of the OCSP responder, where the first selection mechanism has the highest precedence:</t>
        <ul spacing="normal">
          <li>
            <t>Select an algorithm specified as a preferred hash algorithm in the requestor's request.</t>
          </li>
          <li>
            <t>Select a mandatory or recommended hash algorithm, which is SHA-256 specified in this document.</t>
          </li>
        </ul>
        <t>If the OCSP responder does understand the requested extension, it <bcp14>SHOULD</bcp14> use an extension with OID <tt>id-pkix-ocsp-cert-hash</tt> and the extnValue <tt>CertHash</tt>. This extension is included as one of the response's singleExtensions; it carries a certificate hash that is requested by the OCSP requestor.</t>
        <artwork><![CDATA[
  id-pkix-ocsp-cert-hash OBJECT IDENTIFIER ::= { id-pkix-ocsp 12 }

  CertHash ::= SEQUENCE {
    hashAlgorithm  AlgorithmIdentifier,
    certHash       OCTET STRING OPTIONAL }
]]></artwork>
        <ul spacing="normal">
          <li>
            <t>The "hashAlgorithm" field indicates a supported hash algorithm selected by the OCSP responder.</t>
          </li>
          <li>
            <t>The "certHash" field contains the hash value of the requested certificate, which is computed over the entire DER-encoded certificate including the signature. The hash algorithm used to compute the "certHash" value is specified in the "hashAlgorithm" field.</t>
          </li>
        </ul>
        <t>For an OCSP request with the <tt>id-pkix-ocsp-cert-valid</tt> extension, if the status of a requested certificate is unknown or revoked (non-issued), then the OCSP responder <bcp14>SHOULD</bcp14> include the <tt>id-pkix-ocsp-cert-hash</tt> extension in the singleExtensions field of the corresponding SingleResponse, and the value of the extension <bcp14>SHALL</bcp14> be NULL.</t>
      </section>
    </section>
    <section anchor="certid_update">
      <name>OCSP CertID Update</name>
      <t>Recall that <xref section="4.1.1" sectionFormat="of" target="RFC6960"/> defines a struct <tt>CertID</tt> to identify a certificate, and the "issuerKeyHash" field of this struct is often computed from the issuer's certificate. As said that in <xref section="4.1.2" sectionFormat="of" target="RFC6960"/>, the primary reason to use the hash of the CA's public key in addition to the hash of the CA's name to identify the issuer is that it is possible that two CAs may choose to use the same Name (uniqueness in the Name is a recommendation that cannot be enforced).</t>
      <t>However, if the names of different CAs are unique, then only the hash of CA's name can identify the issuer. In this case, it should be better to set the "issuerKeyHash" field to be optional as shown below, so the CertID value can be constructed only from a single end-entity certificate.</t>
      <artwork><![CDATA[
  CertID ::= SEQUENCE {
    hashAlgorithm   AlgorithmIdentifier,
    issuerNameHash  OCTET STRING, -- Hash of issuer's distinguished name (DN)
    issuerKeyHash   OCTET STRING OPTIONAL, -- Hash of issuer's public key
    serialNumber    CertificateSerialNumber }
]]></artwork>
      <t>Therefore, when receiving only the end-entity certificate, the CertID value (where the "issuerKeyHash" field is NULL) can be constructed without transmission of the entire certificate chain. Furthermore, the constructed CertID can be used with the extended OCSP to query both the status and the hash of the received certificate, which will be used to check whether the certificate is invoked and valid, respectively.</t>
      <!-- # Security Considerations -->

<!-- # IANA Considerations -->

</section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC8446">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <date month="August" year="2018"/>
          <abstract>
            <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
            <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8446"/>
        <seriesInfo name="DOI" value="10.17487/RFC8446"/>
      </reference>
      <reference anchor="RFC6071">
        <front>
          <title>IP Security (IPsec) and Internet Key Exchange (IKE) Document Roadmap</title>
          <author fullname="S. Frankel" initials="S." surname="Frankel"/>
          <author fullname="S. Krishnan" initials="S." surname="Krishnan"/>
          <date month="February" year="2011"/>
          <abstract>
            <t>Over the past few years, the number of RFCs that define and use IPsec and Internet Key Exchange (IKE) has greatly proliferated. This is complicated by the fact that these RFCs originate from numerous IETF working groups: the original IPsec WG, its various spin-offs, and other WGs that use IPsec and/or IKE to protect their protocols' traffic.</t>
            <t>This document is a snapshot of IPsec- and IKE-related RFCs. It includes a brief description of each RFC, along with background information explaining the motivation and context of IPsec's outgrowths and extensions. It obsoletes RFC 2411, the previous "IP Security Document Roadmap."</t>
            <t>The obsoleted IPsec roadmap (RFC 2411) briefly described the interrelationship of the various classes of base IPsec documents. The major focus of RFC 2411 was to specify the recommended contents of documents specifying additional encryption and authentication algorithms. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6071"/>
        <seriesInfo name="DOI" value="10.17487/RFC6071"/>
      </reference>
      <reference anchor="RFC6960">
        <front>
          <title>X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP</title>
          <author fullname="S. Santesson" initials="S." surname="Santesson"/>
          <author fullname="M. Myers" initials="M." surname="Myers"/>
          <author fullname="R. Ankney" initials="R." surname="Ankney"/>
          <author fullname="A. Malpani" initials="A." surname="Malpani"/>
          <author fullname="S. Galperin" initials="S." surname="Galperin"/>
          <author fullname="C. Adams" initials="C." surname="Adams"/>
          <date month="June" year="2013"/>
          <abstract>
            <t>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="RFC5280">
        <front>
          <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
          <author fullname="D. Cooper" initials="D." surname="Cooper"/>
          <author fullname="S. Santesson" initials="S." surname="Santesson"/>
          <author fullname="S. Farrell" initials="S." surname="Farrell"/>
          <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
          <author fullname="R. Housley" initials="R." surname="Housley"/>
          <author fullname="W. Polk" initials="W." surname="Polk"/>
          <date month="May" year="2008"/>
          <abstract>
            <t>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="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>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="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>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>
    <?line 156?>

<!-- # Acknowledgements
{:numbered="false"}

The authors would like to thank... -->

<!-- # Contributors
{:numbered="false"}

  Songqi Wu \\
  Huawei Technologies \\
  wusongqi@huawei.com

  Keng Jiang \\
  Huawei Technologies \\
  jiangkeng@huawei.com -->



  </back>
  <!-- ##markdown-source:
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
lR4jAAA=

-->

</rfc>
