<?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.17 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lamps-okubo-certdiscovery-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title abbrev="TODO - Abbreviation">A Mechanism for X.509 Certificate Discovery</title>
    <seriesInfo name="Internet-Draft" value="draft-lamps-okubo-certdiscovery-03"/>
    <author initials="T." surname="Okubo" fullname="Tomofumi Okubo">
      <organization>DigiCert, Inc.</organization>
      <address>
        <email>tomofumi.okubo+ietf@gmail.com</email>
      </address>
    </author>
    <author initials="C." surname="Bonnell" fullname="Corey Bonnell">
      <organization>DigiCert, Inc.</organization>
      <address>
        <email>corey.bonnell@digicert.com</email>
      </address>
    </author>
    <author initials="J." surname="Gray" fullname="John Gray">
      <organization>Entrust</organization>
      <address>
        <email>john.gray@entrust.com</email>
      </address>
    </author>
    <author initials="M." surname="Ounsworth" fullname="Mike Ounsworth">
      <organization>Entrust</organization>
      <address>
        <email>mike.ounsworth@entrust.com</email>
      </address>
    </author>
    <author initials="J." surname="Mandel" fullname="Joe Mandel">
      <organization>AKAYLA, Inc.</organization>
      <address>
        <email>joe@akayla.com</email>
      </address>
    </author>
    <date year="2024" month="July" day="08"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 62?>

<t>This document specifies a method to discover a secondary X.509 certificate associated with an X.509 certificate to enable efficient multi-certificate handling in protocols. The objective is threefold: to enhance cryptographic agility, improve operational availability, and accommodate multi-key/certificate usage. The proposed method aims to maximize compatibility with existing systems and is designed to be legacy-friendly, making it suitable for environments with a mix of legacy and new implementations. It includes mechanisms to provide information about the target certificate's signature algorithm, public key algorithm and the location of the secondary X.509 certificate, empowering relying parties to make informed decisions on whether or not to fetch the secondary certificate.</t>
      <t>The primary motivation for this method is to address the limitations of traditional certificate management approaches, which often lack flexibility, scalability, and seamless update capabilities. By leveraging this mechanism, subscribers can achieve cryptographic agility by facilitating the transition between different algorithms or X.509 certificate types. Operational redundancy is enhanced by enabling the use of backup certificates and minimizing the impact of primary certificate expiration or CA infrastructure failures.</t>
      <t>The approach ensures backward compatibility with existing systems and leverages established mechanisms, such as the subjectInfoAccess extension, to enable seamless integration. It does not focus on identity assurance between the primary and secondary certificates, deferring such considerations to complementary mechanisms.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://tomofumiokubo.github.io/certificatediscovery/draft-lamps-okubo-certdiscovery.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-lamps-okubo-certdiscovery/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/tomofumiokubo/certificatediscovery"/>.</t>
    </note>
  </front>
  <middle>
    <?line 71?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The efficient discovery of X.509 certificates play a critical role in modern cryptographic systems. Traditional certificate management approaches often face challenges in terms of flexibility, scalability, and seamless updates. To address these limitations, this document proposes a novel approach to certificate discovery utilizing the Subject Information Access extension within X.509 certificates.</t>
      <t>The primary objective of this approach is to enable efficient multi-certificate handling in protocols, offering several key benefits. First, it enhances cryptographic agility by facilitating smooth transitions between different algorithms or X.509 certificate types. This is particularly valuable in scenarios where subscribers need to upgrade their cryptographic algorithms or adopt new certificate types while maintaining backward compatibility with existing systems.</t>
      <t>Second, the proposed method improves operational availability by introducing redundancy in certificate usage. It enables the use of secondary certificates that can serve as backups, ensuring seamless continuity of services even in the event of primary certificate expiration or disruptions in the CA infrastructure.</t>
      <t>Finally, the approach accommodates multi-key/certificate usage, allowing for a relying party to obtain certificates to perform cryptographic operations that are not certified by a single certificate.</t>
      <t>The proposed method is designed to maximize compatibility with existing systems, including legacy implementations. It leverages the SIA extension, which is already established in X.509 certificates, and does not require modifications to the referring certificates. This ensures ease of adoption and avoids disruptions to current certificate management practices.</t>
      <t>It's important to note that this specification does not aim to solve or assure the identity (subject) binding between the primary and secondary certificates. Instead, it focuses on providing a mechanism for efficient certificate discovery, while identity assurance can be addressed through complementary mechanisms such as draft-becker-guthrie-cert-binding-for-multi-auth-02.</t>
      <t>In the following sections, we will outline the details of the proposed approach, including the structure of the SIA extension, the modes of operation, and the considerations for secure implementation and deployment.</t>
      <t>By leveraging the capabilities of the SIA extension for certificate discovery, organizations can enhance cryptographic agility, improve operational availability, and accommodate complex multi-key/certificate scenarios, leading to more secure and resilient cryptographic systems.</t>
      <section anchor="use-case-1-cryptographic-agility">
        <name>Use Case 1: Cryptographic Agility</name>
        <t>The first use case is improving cryptographic agility. For example, the Primary Certificate uses a widely adopted cryptographic algorithm while the Secondary Certificate uses the algorithm that is new and not widely adopted yet. The relying party will be presented with the opportunity to try the new algorithms and certificate types. This will be particularly useful when transitioning from one algorithm to another or to a new certificate/credential type.</t>
        <t>In addition, the server may look at the logs to determine how ready the client side is to shift to completely rollover to the new algorithm. This allows the subscriber to gather the metrics necessary to make an informed decision on the best timing to do an algorithm rollover without relying on third parties or security researchers. This is particularly useful for PKIs that have a wide array of client software and requires careful considerations. #fintech #IoT</t>
      </section>
      <section anchor="use-case-2-operational-redundancy">
        <name>Use Case 2: Operational Redundancy</name>
        <t>The second use case is where the Primary and Secondary Certificate adopts the same cryptographic algorithms but for instance, uses certificates issued by two different CAs or two certificates that has different validity periods. The Secondary Certificate may be used as a backup certificate in case the Primary Certificate validity is about to expire.</t>
        <t>A common issue is when the intermediate CA certificate expires and the subscriber forgets to update the intermediate CA configured on the server. Similar to when some software collects the parent certificate through authorityInfoAccess CA Issuer access method when the intermediate certificate is absent, the peer certificate can be obtained.</t>
        <t>Due to increased adoption of the ACME protocol, the burden of maintaining the availability of a service is shifted to the CA issuance infrastructure and the availability would be dependent on the CA infrastructure. To increase the operational redundancy, this mechanism can be used to point to another set of certificates that are independent from the Primary Certificate to minimize the chance of a failed transaction.</t>
      </section>
      <section anchor="use-case-3-dual-use">
        <name>Use Case 3: Dual Use</name>
        <t>The third use case is where one certificate is used by the named subject for a particular cryptographic operation and a relying party wishes to obtain the public key of the named subject for a different cryptographic operation. For example, the recipient of an email message which was signed using a key that is certified by a single-use signing S/MIME certificate may wish to send an encrypted email to the sender. In this case, the recipient will need the sender's public key used for encryption. A pointer to the named subject's encryption certificate will permit the recipient to send an encrypted reply.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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 anchor="definitions">
        <name>Definitions</name>
        <t>For conciseness, this section defines several terms that are frequently used throughout this specification.</t>
        <t>Primary Certificate: The X.509 certificate that has the subjectInfoAccess extension with the certDiscovery accessMethod pointing to a Secondary Certificate.</t>
        <t>Secondary Certificate: The X.509 certificate that is referenced by the Primary Certificate in the subjectInfoAccess extension certDiscovery accessMethod</t>
      </section>
    </section>
    <section anchor="certificate-discovery-access-method-certificates">
      <name>Certificate Discovery Access Method Certificates</name>
      <t>This document specifies the new certDiscovery access method for X.509 Subject Information Access (SIA) extension defined in <xref target="RFC5280"/>.
The certDiscovery access method has 3 components. The relatedCertificateLocation which is a GeneralName that has the pointer to the Secondary Certificate. The relatedCertificateSignatureAlgorithm which indicates the signature algorithm used in the Secondary Certificate. Finally, the relatedCertificatePublicKeyAlgorithm which indicates the public key algorithm used in the Secondary Certificate.</t>
      <t>When the validation of the Primary Certificate fails, the software that understands the SIA extension and the certDiscovery access method uses the information to determine whether or not to fetch the Secondary Certificate. The software will look at the relatedCertificateSignatureAlgorithm and relatedCertificatePublicKeyAlgorithm to determine whether the Secondary Certificate has the signature algorithm and certificate public key algorithm it can process. If the software understands the signature algorithm and certificate public key algorithm, the software fetches the certificate from the URI specified in the relatedCertificateLocation and attempts another validation. Otherwise, the validation simply fails.</t>
      <t>The syntax of subject information access extension syntax is repeated here for convenience:</t>
      <artwork><![CDATA[
   SubjectInfoAccessSyntax  ::=
           SEQUENCE SIZE (1..MAX) OF AccessDescription

   AccessDescription  ::=  SEQUENCE {
           accessMethod          OBJECT IDENTIFIER,
           accessLocation        GeneralName  }
]]></artwork>
      <t>The syntax of the related certificate descriptor is as follows:</t>
      <artwork><![CDATA[
   id-ad  OBJECT IDENTIFIER  ::= {
     iso(1) identified-organization(3) dod(6) internet(1)
     security(5) mechanisms(5) pkix(7) ad(48) }
    id-ad-certDiscovery OBJECT IDENTIFIER ::= { id-ad TBD }

   id-on-relatedCertificateDescriptor OBJECT IDENTIFIER ::= { id-on TBD2 }

   on-RelatedCertificateDescriptor OTHER-NAME ::= {
        RelatedCertificateDescriptor IDENTIFIED BY id-on-relatedCertificateDescriptor
    }

   RelatedCertificateDescriptor ::= SEQUENCE {
           relatedCertificateLocation                              GeneralName,
           relatedCertificateSignatureAlgorithm         [0] IMPLICIT AlgorithmIdentifier OPTIONAL,
           relatedCertificatePublicKeyAlgorithm         [1] IMPLICIT AlgorithmIdentifier OPTIONAL
   }
]]></artwork>
      <t>The semantics of other id-ad-certDiscovery accessLocation name forms are not defined.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This mechanism does not assure the binding of the identity of the subject in the Primary Certificate and the Secondary Certificate. To assure the binding of identities of the two certificates, a confirming CA should adopt a separate mechanism such as draft-becker-guthrie-cert-binding-for-multi-auth-02 for to explicitly express the binding of identities.</t>
      <t>There is a chance the Secondary Certificate may also have the certDiscovery access method. In order to avoid cyclic loops or infinite chaining, the validator should be mindful of how many fetching attempts it allows in one validation.</t>
      <t>The same security considerations for CAIssuer access method outlined in <xref target="RFC5280"/> applies to the certDiscovery access method. In order to avoid recursive certificate validations which involve online revocation checking, untrusted transport protocols (such as plaintext HTTP) are commonly used for serving certificate files. While the use of such protocols avoids issues with recursive certification path validations and associated online revocation checking, it also enables an attacker to tamper with data and perform substitution attacks. Clients fetching certificates using the mechanism specified in this document <bcp14>MUST</bcp14> treat downloaded certificate data as untrusted and perform requisite checks to ensure that the downloaded data is not malicious.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <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>
      <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>
    </references>
    <?line 193?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
    <section numbered="false" anchor="appendix-a-asn1-module">
      <name>Appendix A. ASN.1 Module</name>
      <t>The following ASN.1 module provides the complete definition of the Certificate Discovery access descriptor.</t>
      <artwork><![CDATA[
CertDiscovery { iso(1) identified-organization(3) dod(6) internet(1)
   security(5) mechanisms(5) pkix(7) id-mod(0) id-mod-CertDiscovery(TBD1) }

   DEFINITIONS EXPLICIT TAGS ::=

   BEGIN

   -- EXPORTS ALL --

   IMPORTS
    OTHER-NAME
    FROM PKIX1Implicit-2009
      { iso(1) identified-organization(3) dod(6) internet(1) security(5)
      mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-implicit-02(59) }

    id-pkix, id-ad
    FROM PKIX1Explicit-2009
      { iso(1) identified-organization(3) dod(6) internet(1) security(5)
      mechanisms(5) pkix(7) id-mod(0) id-mod-pkix1-explicit-02(51) } ;

   -- Access descriptor OID --

   id-ad-certDiscovery OBJECT IDENTIFIER ::= { id-ad TBD }

   -- Other Name OID Arc --

   id-on OBJECT IDENTIFIER ::= { id-pkix 8 }

   -- Certificate Discovery Access Descriptor --

   id-on-relatedCertificateDescriptor OBJECT IDENTIFIER ::= { id-on TBD2 }

   on-RelatedCertificateDescriptor OTHER-NAME ::= {
        RelatedCertificateDescriptor IDENTIFIED BY id-on-relatedCertificateDescriptor
    }

   RelatedCertificateDescriptor ::= SEQUENCE {
           relatedCertificateLocation                           GeneralName,
           relatedCertificateSignatureAlgorithm         [0] IMPLICIT AlgorithmIdentifier OPTIONAL,
           relatedCertificatePublicKeyAlgorithm         [1] IMPLICIT AlgorithmIdentifier OPTIONAL
   }

   END
]]></artwork>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
