<?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.19 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lamps-okubo-certdiscovery-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="TODO - Abbreviation">A Mechanism for X.509 Certificate Discovery</title>
    <seriesInfo name="Internet-Draft" value="draft-lamps-okubo-certdiscovery-04"/>
    <author initials="T." surname="Okubo" fullname="Tomofumi Okubo">
      <organization>Penguin Securities Pte. Ltd.</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="October" day="15"/>
    <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 {
           uniformResourceIdentifier IA5String,
           signatureAlgorithm   [0] IMPLICIT AlgorithmIdentifier OPTIONAL,
           publicKeyAlgorithm   [1] IMPLICIT AlgorithmIdentifier OPTIONAL
   }
]]></artwork>
      <t>The semantics of other id-ad-certDiscovery accessLocation name forms are not defined.</t>
      <t>Note:  For a description of uniformResourceIdentifier consult section 4.2.2.1 of [!RFC5280].</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 195?>

<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 {
           uniformResourceIdentifier IA5String,
           signatureAlgorithm   [0] IMPLICIT AlgorithmIdentifier OPTIONAL,
           publicKeyAlgorithm   [1] IMPLICIT AlgorithmIdentifier OPTIONAL
   }

   END
]]></artwork>
    </section>
  </back>
  <!-- ##markdown-source:
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
6P+T89PQKvw3bb009+g5AAA=

-->

</rfc>
