<?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-ounsworth-lamps-pq-external-pubkeys-04" category="std" consensus="true" submissionType="IETF" updates="{&quot;RFC5280&quot;=&gt;nil}" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.1 -->
  <front>
    <title abbrev="External X.509 Keys">External Keys For Use In Internet X.509 Certificates</title>
    <seriesInfo name="Internet-Draft" value="draft-ounsworth-lamps-pq-external-pubkeys-04"/>
    <author initials="M." surname="Ounsworth" fullname="Mike Ounsworth">
      <organization abbrev="Entrust">Entrust Limited</organization>
      <address>
        <postal>
          <street>1000 Innovation Drive</street>
          <city>Ottawa, Ontario</city>
          <code>K2K 1E3</code>
          <country>Canada</country>
        </postal>
        <email>mike.ounsworth@entrust.com</email>
      </address>
    </author>
    <author initials="M.-J. O." surname="Saarinen" fullname="Markku-Juhani O. Saarinen">
      <organization>PQShield</organization>
      <address>
        <email>mjos@pqshield.com</email>
      </address>
    </author>
    <author fullname="J. Gray">
      <organization>Entrust</organization>
      <address>
        <email>john.gray@entrust.com</email>
      </address>
    </author>
    <author fullname="D. Hook">
      <organization>KeyFactor</organization>
      <address>
        <email>david.hook@keyfactor.com</email>
      </address>
    </author>
    <date year="2024" month="September" day="30"/>
    <workgroup>LAMPS</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 69?>
<t>Many of the post quantum cryptographic algorithms have large public keys. In the interest of reducing bandwidth of transitting X.509 certificates, this document defines new public key and algorithms for referencing external public key data by hash, and location, for example URL. This mechanism is designed to mimic the behaviour of an Authority Information Access extension.</t>
      <!-- End of Abstract -->



    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://EntrustCorporation.github.io/draft-pq-external-pubkeys/draft-ounsworth-pq-external-pubkeys.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ounsworth-lamps-pq-external-pubkeys/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/EntrustCorporation/draft-pq-external-pubkeys"/>.</t>
    </note>
  </front>
  <middle>
    <?line 75?>

<section anchor="sec-intro">
      <name>Introduction</name>
    </section>
    <section anchor="sec-pub">
      <name>External Value</name>
      <t>The id-external-value algorithm identifier is used for identifying a public key or signature which is provided as a reference to external data.</t>
      <artwork><![CDATA[
id-external-value OBJECT IDENTIFIER  ::=  { iso(1)
            identified-organization(3) dod(6) internet(1)
            security(5) mechanisms(5) pkix(7) algorithms(6)
            TBDOID }
]]></artwork>
      <t>EDNOTE: for prototyping purposes, <tt>id-external-value ::= 1.3.6.1.4.1.22554.4.2</tt></t>
      <t>The corresponding subjectPublicKey is the DER encoding of the following structure:</t>
      <artwork><![CDATA[
ExternalValue ::= SEQUENCE {
  location     GeneralNames,
  hashAlg      AlgorithmIdentifier,
  hashVal      OCTET STRING
}
]]></artwork>
      <t>Upon retrieval of the referenced data, the hash of the OCTET STRING of the retrieved data (removing base64 encoding as per <xref target="RFC4648"/> if necessary) MUST be verified using hashAlg to match the <tt>ExternalPublicKey.hash</tt> value.</t>
      <t><tt>GeneralNames</tt> is defined in <xref target="RFC5280"/> as</t>
      <artwork><![CDATA[
GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
]]></artwork>
      <t>which we use instead of <tt>GeneralName</tt> so that certificate issuers can
specify multiple backup key servers for high availability or specify key
identifiers in multiple formats if the corresponding public keys will
be distributed in multiple keystore formats. When multiple key locations
are specified, they MUST represent alternative locations for retrieval of the
same key and MUST NOT be used as a mechanism to place multiple subject
keys into a single certificate. Thus, when multiple key locations
are specified, the client MAY try them in any order and stop when it
successfully retrieves a public key whose hash matches <tt>hashVal</tt>.</t>
      <section anchor="external-public-key">
        <name>External Public Key</name>
        <t>When used with a public key, algorithm parameters for id-external-value are absent.</t>
        <t>When ExternalValue is placed into a SubjectPublicKeyInfo.subjectPublicKey, the ExternalValue.location MUST refer to a DER-encoded SubjectPublicKeyInfo, which MAY be base64 encoded as per <xref target="RFC4648"/> for easier transport over text protocols.</t>
        <!-- End of Introduction section -->

</section>
    </section>
    <section anchor="sec-iana">
      <name>IANA Considerations</name>
      <t>##  Object Identifier Allocations</t>
      <section anchor="module-registration-smi-security-for-pkix-module-identifier">
        <name>Module Registration - SMI Security for PKIX Module Identifier</name>
        <ul spacing="normal">
          <li>
            <t>Decimal: IANA Assigned - <strong>Replace TBDMOD</strong></t>
          </li>
          <li>
            <t>Description: EXTERNAL-PUBKEY-2023 - id-mod-external-pubkey</t>
          </li>
          <li>
            <t>References: This Document</t>
          </li>
        </ul>
        <section anchor="object-identifier-registrations-smi-security-for-pkix-algorithms">
          <name>Object Identifier Registrations - SMI Security for PKIX Algorithms</name>
          <ul spacing="normal">
            <li>
              <t>Attest Statement
              </t>
              <ul spacing="normal">
                <li>
                  <t>Decimal: IANA Assigned - Replace <strong>TBDOID</strong></t>
                </li>
                <li>
                  <t>Description: id-external-value</t>
                </li>
                <li>
                  <t>References: This Document</t>
                </li>
              </ul>
            </li>
          </ul>
          <!-- End of IANA Considerations section -->

</section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>There are no security implications to externalizing a public key from a certificate as described in this draft. It is of course possible for a malicious actor to replace or tamper with the public key data at the referenced location, but since the hash of the public key data is included in the signed certificate, any such tampering will be detected and the certificate verification will fail. For this reason, external public key data MAY be served over an insecure channel such as HTTP.</t>
      <section anchor="csrs-and-ct-logs">
        <name>CSRs and CT logs</name>
        <t>In practice, situations will arise where the ExternalPublicKey.location refers to a location which is not publicly available either because it is in a local keystore, on a private network, or no longer being hosted.</t>
        <t>Not having the public key in a certificate signing request (CSR) could make it substantially harder for CAs to perform vetting of the key, for example for cryptographic strength or checking for prior revocation due to key compromise. A certificate requester MUST make the full public key available to the CA at the time of certificate request either by ensuring that the link in the ExternalPublicKey.location is visible to the CA, or by supplying the full public key to the CA out of band.</t>
        <t>Not having the public key in Certificate Transparency (CT) logs could make it substantially harder for researchers to perform auditing tasks on CT logs. This may require additional CT mechanisms.</t>
        <!-- End of Security Considerations section -->

</section>
    </section>
    <section anchor="appendices">
      <name>Appendices</name>
      <section anchor="asn1-module">
        <name>ASN.1 Module</name>
        <artwork><![CDATA[
EXTERNAL-PUBKEY-2023
           {iso(1) identified-organization(3) dod(6) internet(1) security(5)
       mechanisms(5) pkix(7) id-mod(0) id-mod-external-pubkey(TBDMOD)}

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

IMPORTS

  GeneralNames
  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)}

  AlgorithmIdentifier{}
  FROM AlgorithmInformation-2009
      {iso(1) identified-organization(3) dod(6) internet(1) security(5)
      mechanisms(5) pkix(7) id-mod(0)
      id-mod-algorithmInformation-02(58)}

;

id-external-value OBJECT IDENTIFIER  ::=  { iso(1) 
            identified-organization(3) dod(6) internet(1) 
            security(5) mechanisms(5) pkix(7) algorithms(6)
            TBDOID }

ExternalValue ::= SEQUENCE {
  location     GeneralNames,
  hashAlg      AlgorithmIdentifier,
  hashVal      OCTET STRING
}

END
]]></artwork>
      </section>
      <section anchor="samples">
        <name>Samples</name>
        <t>Here is a sample of a Kyber1024 end entity certificate with an external public key. A trust anchor certificate using the algorithm ecdsaWithSHA256 is provided so that the Kyber1024 End Entity certificate can be verified.</t>
        <t>This is a modest example demonstrating a 550 byte Kyber1024 certificate and a 2.2 kb external Kyber1024 public key. This "compression" effect will be even more pronounced with algorithms such as Classic McEliece which have public keys in the hundreds of kilobytes; with the external public key mechanism, the size of the certificate remains constant regardless of how large the externalized subject public key is.</t>
        <t>End entity Kyber1024 Certificate with <tt>ExternalValue</tt> public key:</t>
        <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIIBbDCCARGgAwIBAgIGAYro4QFGMAoGCCqGSM49BAMCMDoxDjAMBgNVBAMMBVFT
IENBMRswGQYDVQQKDBJRdWFudGl0eSBTdXJ2ZXlvcnMxCzAJBgNVBAYTAlhYMB4X
DTIzMTAwMTAxMzYxNFoXDTI0MDEwOTAxMzYxNFowHTEbMBkGA1UEAwwSRXRoZWwg
dGhlIEFhcmR2YXJrMGkwDAYKKwYBBAGBsBoEAgNZADBWMCWGI2ZpbGU6Ly9sb2Nh
bF9rZXlzZXJ2ZXIvc3VydmV5b3JzLmRiMAsGCWCGSAFlAwQCAQQg0K1P456WkMCO
RxsGOm271ynblXxFCgkTDI78by/RRJCjEDAOMAwGA1UdEwEB/wQCMAAwCgYIKoZI
zj0EAwIDSQAwRgIhANqC6ZVDVrgaFFPxJcnhJO6kRGU9dHv5vRDcf2paXxSfAiEA
2s/xoctsB1oCisbjK9HCUw/rzXoVKhkt1ZEXuapJYCk=
-----END CERTIFICATE-----
]]></artwork>
        <t>For illustrative purposes, the <tt>SubjectPublicKeyInfo</tt> within the end entity certificate decodes as:</t>
        <artwork><![CDATA[
subjectPublicKeyInfo SubjectPublicKeyInfo SEQUENCE (2 elem)
      algorithm AlgorithmIdentifier SEQUENCE (1 elem)
        algorithm OBJECT IDENTIFIER 1.3.6.1.4.1.22554.4.2 ExternalValue
      subjectPublicKey BIT STRING (704 bit)
        SEQUENCE (3 elem)
          SEQUENCE (1 elem)
            [6] (35 byte) file://local_keyserver/surveyors.db
          SEQUENCE (1 elem)
            OBJECT IDENTIFIER 2.16.840.1.101.3.4.2.1 sha-256
          OCTET STRING (32 byte) D0AD4FE39E9690C08E4...
]]></artwork>
        <t>The external public key object referenced by the end entity certificate is:</t>
        <artwork><![CDATA[
-----BEGIN PUBLIC KEY-----
MIIGNDANBgsrBgEEAYGwGgUGAwOCBiEAPEFAYjZ9CljJTDJiJcKBIVCH6Clk3DDA
ybVRPdsXT6An/mAzlVPHjRtginkcrKIlgRq7lhyoyjVmqkqso1wQGON2vZYM8rwU
UZFyGUcwykY2bLWJypBvopmUDGumCnARrNqcqRS4zHokOFWZXqcxnVx8DvZsoDc4
LNIEALKh6vFVx1hZ6txEKtxqxrbC1PGsZ4Z1Z9VY3tB/YJkVKmDLqxcrmwFyAHki
CEtoaqSxkdB9cBPIlegidjQJS6EqO8aztxu4yWax/jbFu6FOC1cJS2KsBNOjAZvE
cMhQIGK0R2a6/tGk6TZBHZtHdlYX6udW5OEnW3Aj49On6cMT2ZMx/vlpsTu0DSoX
lvlJjyiWKxalCNQOGcdMLKNaCOk8NmxLsVdck6WtexiRC6WhccaVR0SZoeO4DBBv
O7C8mbOrXyyngGmiplNr6oJaY5JbLTMaCsJhiNxvdmLAtxy8EcpRV1FmMkOtqdKX
FvCwOwxfRGtxDPlOmAE6AqiZfpdmGAGax5XBbQkK5TDErHIidLbGf3IcQzSBOyFw
HPLG+lXGiZRFBFsmioikpjO0K+jKkWJPFNcb0SOYcktgMxGxZeMpQHHDpSeyn7GM
uCwVr1BFW8x3S3y+AgMLgEZT3HIPyyljDNwBC1U15sES0zgpV1vB5neQMeBU98AP
VpFYJDVDhBJgS4qmJfh1aFuQn3HPT8BQYkzBnve36sKKDhmIAYACyEsMKWJZyhix
dkUH4ls4v+o6MrEoLFZZKuNzowNujlq882NeG/a5GCYTN6gp+PVAh5KbHad9Miic
+GJKlMPOsJUxzZGEw8iAoBQCZ9dSHdhSDiSPxTsoOso1qyx8dWdJh5AfmQAK7AWi
sZh054M67rtaTcpLVbqK8DJiFLsItNhu0JsuUpNNy+RxhUC6TiecgkYWPCtnWMuT
/iFghcTLckzO+RrGAedklNEJ7BM8lkq/qLMXqfmu4/aV1OVVpxuyt/YSc1kOPSpS
cYTC5gGx85NWpEqmmuUIi/OslEcCeLNl0GgyvFSxncR4eVQ0LDxj1TbOk9t5GVE8
3IDMZxioK5spypm4jKRFqeRKBWKtzCZCm2MciKtEAZUXOSk7qOl8Sig9TeVUg5LP
YqmZKCoHeBiKjjlnHxQ5aEM7Dfk8HaWl2IghOXdizPi15XFmrhfLqJijyDQq8xts
ibR0yBNXc7BGkjGzTLgAe4UZZncvYFsKjehM1umfpNu1vztnpEt35lWc6UIYezvJ
CDBGWdqAJEFJBflwzpgvF2lTIumTTVazePsCAAg38mg1qprFCNcikcmn0PuwUHmS
Iza1c9UX/HK4QENt9CyLnKl0vmPEtPWOuvge9Belc9KUibHHBCI24Mg6AbYv2dLO
7ZEBj6krLpUkkEtGTke5zVwRdFMK6+kP4FG9CpVfqNpC7sO0mACkeAMZSiAderS3
MgaiH1RpkGkM11kG/IM6U3vAPMAgO4xHM4fB3Wgf5reBC8ZRR5liYGSDZ9KOHrkw
ISZXNaEYLJFBVXd5g/KrsxQ5AWKxqPsMFMW6+Ih3onQ8R5kIkbxM6/U72nmKOAC+
9bQuCLBqIJo3GFM087B+LmIW5ZJ6FVV9vSIvaDhrBJiHwQSGsssT+2CntGE+aDxh
MaVAuLlijgSerBcHkOKhQFAXIKehOENcMfxIW0w4CBCVQrxbUpIiAvpjL0nNUoej
GngA+euFD4ZESMzP1UICokOyZRS6VpSQn9ozfDxMxlBPt/M6zwOGt0W9jhacjrIs
IyxB3Dm93ysDnaRRmtOWgAAB80ZKNRBp28uWtUbJYzermLmUNQsWK6I5P2y8JogB
3htoryUSduEXYOeAVTCYnmgf3yJswznFPNhGZpNoJ2NnJuKHS7o0OCVRpbuRXMOh
TcMNFyc8+8y//Lpu38kDC1fPK6pW9UVhbKRGFAQWpKonWzDGaeihoDQcP1RD8VUv
Y2w4MoOpNkdsDgEmoGkv+1EiwLSbThpes1wGa/kx7ihwbAYvuOjFGZIU4Dp+rjJ1
Unk1erFIlayhGOAr5fWaeNOV3QUK9aSPyVV5YRDXZRKJbaJXDla8JLDOCKeO4aV6
JHIT3nFqKNQ=
-----END PUBLIC KEY-----
]]></artwork>
        <t>For illustrative purposes, the key data, which is itself a <tt>SubjectPublicKeyInfo</tt>, decodes as:</t>
        <artwork><![CDATA[
SEQUENCE (2 elem)
  SEQUENCE (1 elem)
    OBJECT IDENTIFIER 1.3.6.1.4.1.22554.5.6.3 Kyber1024
  BIT STRING (12544 bit) 001111000100000101000
]]></artwork>
        <t>The following trust anchor certificate can be used to validate the above end entity certificate.</t>
        <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIIBfTCCASSgAwIBAgIGAYro4QBFMAoGCCqGSM49BAMCMDoxDjAMBgNVBAMMBVFT
IENBMRswGQYDVQQKDBJRdWFudGl0eSBTdXJ2ZXlvcnMxCzAJBgNVBAYTAlhYMB4X
DTIzMTAwMTAxMzYxNFoXDTI0MDEwOTAxMzYxNFowOjEOMAwGA1UEAwwFUVMgQ0Ex
GzAZBgNVBAoMElF1YW50aXR5IFN1cnZleW9yczELMAkGA1UEBhMCWFgwWTATBgcq
hkjOPQIBBggqhkjOPQMBBwNCAASZNnsQba2aDhAfhCTE670YBBvGfo7cU69VR2I+
NQt321Feh+Au0/S+RobWtyx6JnFnAb/Y00YhQdA1liz0i4lFoxYwFDASBgNVHRMB
Af8ECDAGAQH/AgEAMAoGCCqGSM49BAMCA0cAMEQCIHV0TdjJm9vCn3k93xhTXMQ0
D8tQuzXJtFXNGtKk8OQQAiBn8yKLzreor7QrdGUHCH7g0kaDcyI4xXn95aPjgi/V
NA==
-----END CERTIFICATE-----
]]></artwork>
      </section>
      <section anchor="intellectual-property-considerations">
        <name>Intellectual Property Considerations</name>
        <t>None.</t>
      </section>
    </section>
    <section anchor="contributors-and-acknowledgements">
      <name>Contributors and Acknowledgements</name>
      <t>This document incorporates contributions and comments from a large group of experts. The Editors would especially like to acknowledge the expertise and tireless dedication of the following people, who attended many long meetings and generated millions of bytes of electronic mail and VOIP traffic over the past year in pursuit of this document:</t>
      <t>Serge Mister (Entrust).</t>
      <t>We are grateful to all, including any contributors who may have
been inadvertently omitted from this list.</t>
      <t>This document borrows text from similar documents, including those referenced below. Thanks go to the authors of those
   documents.  "Copying always makes things easier and less error prone" - <xref target="RFC8411"/>.</t>
      <section anchor="making-contributions">
        <name>Making contributions</name>
        <t>Additional contributions to this draft are welcome. Please see the working copy of this draft at, as well as open issues at:</t>
        <t>https://github.com/EntrustCorporation/draft-ounsworth-pq-external-keys</t>
        <!-- End of Contributors section -->

</section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC4648">
        <front>
          <title>The Base16, Base32, and Base64 Data Encodings</title>
          <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
          <date month="October" year="2006"/>
          <abstract>
            <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4648"/>
        <seriesInfo name="DOI" value="10.17487/RFC4648"/>
      </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="RFC8411">
        <front>
          <title>IANA Registration for the Cryptographic Algorithm Object Identifier Range</title>
          <author fullname="J. Schaad" initials="J." surname="Schaad"/>
          <author fullname="R. Andrews" initials="R." surname="Andrews"/>
          <date month="August" year="2018"/>
          <abstract>
            <t>When the Curdle Security Working Group was chartered, a range of object identifiers was donated by DigiCert, Inc. for the purpose of registering the Edwards Elliptic Curve key agreement and signature algorithms. This donated set of OIDs allowed for shorter values than would be possible using the existing S/MIME or PKIX arcs. This document describes the donated range and the identifiers that were assigned from that range, transfers control of that range to IANA, and establishes IANA allocation policies for any future assignments within that range.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8411"/>
        <seriesInfo name="DOI" value="10.17487/RFC8411"/>
      </reference>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
