<?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.1 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lamps-okubo-certdiscovery-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="TODO - Abbreviation">A Mechanism for X.509 Certificate Discovery</title>
    <seriesInfo name="Internet-Draft" value="draft-lamps-okubo-certdiscovery-00"/>
    <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>
    <date year="2023" month="October" day="23"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 50?>

<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 59?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The efficient discovery of X.509 certificates plays 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 algortihm 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 algrithm 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 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 algorthm it can process. If the software understands the signature algorithm and certificate public key algorthm, the software fetches the certificate from the URI specified in the relatedCertificateLocation and attempt 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 certificate, 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 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 181?>

<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>
