<?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.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tls-trust-anchor-ids-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.1 -->
  <front>
    <title>TLS Trust Anchor Identifiers</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tls-trust-anchor-ids-02"/>
    <author initials="B." surname="Beck" fullname="Bob Beck">
      <organization>OpenSSL</organization>
      <address>
        <email>beck@openssl.org</email>
      </address>
    </author>
    <author initials="D." surname="Benjamin" fullname="David Benjamin">
      <organization>Google LLC</organization>
      <address>
        <email>davidben@google.com</email>
      </address>
    </author>
    <author initials="D." surname="O'Brien" fullname="Devon O'Brien">
      <organization/>
      <address>
        <email>devon.obrien@gmail.com</email>
      </address>
    </author>
    <author initials="K." surname="Nekritz" fullname="Kyle Nekritz">
      <organization>Meta</organization>
      <address>
        <email>knekritz@meta.com</email>
      </address>
    </author>
    <date year="2025" month="September" day="15"/>
    <area>Security</area>
    <workgroup>Transport Layer Security</workgroup>
    <abstract>
      <?line 90?>

<t>This document defines the TLS Trust Anchors extension, a mechanism for relying parties to convey trusted certification authorities. It describes individual certification authorities more succinctly than the TLS Certificate Authorities extension.</t>
      <t>Additionally, to support TLS clients with many trusted certification authorities, it supports a mode where servers describe their available certification paths and the client selects from them. Servers may describe this during connection setup, or in DNS for lower latency.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://tlswg.github.io/tls-trust-anchor-ids/draft-ietf-tls-trust-anchor-ids.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-tls-trust-anchor-ids/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transport Layer Security Working Group mailing list (<eref target="mailto:tls@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tls/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tls/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/tlswg/tls-trust-anchor-ids"/>.</t>
    </note>
  </front>
  <middle>
    <?line 96?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>TLS <xref target="RFC8446"/> authentication uses X.509 certificates <xref target="RFC5280"/> to associate the <em>authenticating party's</em> TLS key with its application identifiers, such as DNS names. These associations are signed by some certificate authority (CA). The peer, or <em>relying party</em>, curates a set of CAs that are trusted to only sign correct associations, which allows it to rely on the TLS to authenticate application identifiers. Typically the authenticating party is the server and the relying party is the client.</t>
      <t>An authenticating party may need to interoperate with relying parties that trust different sets of CAs. <xref section="4.2.4" sectionFormat="of" target="RFC8446"/> defines the <tt>certificate_authorities</tt> extension to accommodate this. It allows the authenticating party to provision multiple certificates and select the one that will allow the relying party to accept its TLS key. This is analogous to parameter negotiation elsewhere in TLS.</t>
      <t>However, <tt>certificate_authorities</tt>'s size is impractical for some applications. Existing PKIs may have many CAs, and existing CAs may have long X.509 names. As of August 2023, the Mozilla CA Certificate Program <xref target="MOZILLA-ROOTS"/> contained 144 CAs, with an average name length of around 100 bytes. Such TLS deployments often do not use trust anchor negotiation at all.</t>
      <t>Without a negotiation mechanism, the authenticating party must obtain a single certificate that simultaneously satisfies all relying parties. This is challenging when relying parties are diverse. PKI transitions, including those necessary for user security, naturally lead to relying party diversity, so the result is that service availability conflicts with security and overall PKI evolution:</t>
      <ul spacing="normal">
        <li>
          <t>For an authenticating party to use a CA in its single certificate, all supported relying parties must trust the CA. PKI transitions then become difficult when authenticating parties support older, unupdated relying parties. This impacts both new keys from existing CA operators and new CA operators.</t>
        </li>
        <li>
          <t>When a relying party must update its policies to meet new security requirements, it adds to relying party diversity and the challenges that authenticating parties and CAs face. The relying party must then choose between compromising on user security or burdening the rest of the ecosystem, potentially impacting availability in the process.</t>
        </li>
      </ul>
      <t>To address this, this document introduces Trust Anchor Identifiers (Trust Anchor IDs). There are three parts to this mechanism:</t>
      <ol spacing="normal" type="1"><li>
          <t><xref target="trust-anchor-ids"/> defines <em>trust anchor IDs</em>, which are short, unique identifiers for X.509 trust anchors.</t>
        </li>
        <li>
          <t><xref target="tls-extension"/> defines a TLS extension that communicates the relying party's requested trust anchors, and the authenticating party's available ones. When the relying party is a TLS client, it can mitigate large lists by sending a, possibly empty, subset of its trust anchors to the TLS server. The server provides its list of available trust anchors in response so that the client can retry on mismatch.</t>
        </li>
        <li>
          <t><xref target="dns-service-parameter"/> allows TLS servers to advertise their available trust anchors in HTTPS or SVCB <xref target="RFC9460"/> DNS records. TLS clients can then request an accurate initial subset and avoid a retry penalty.</t>
        </li>
      </ol>
      <t>Together, they reduce the size costs of trust anchor negotiation, supporting flexible and robust PKIs for more applications.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" 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>
      <t>This document additionally uses the TLS presentation language, defined in <xref section="3" sectionFormat="of" target="RFC8446"/>, and ASN.1, defined in <xref target="X680"/>.</t>
      <section anchor="terminology-and-roles">
        <name>Terminology and Roles</name>
        <t>This document discusses three roles:</t>
        <dl>
          <dt>Authenticating party:</dt>
          <dd>
            <t>The party authenticating itself in the protocol. In TLS, this is the side sending the Certificate and CertificateVerify message.</t>
          </dd>
          <dt>Relying party:</dt>
          <dd>
            <t>The party whom the authenticating party presents its identity to. In TLS, this is the side that validates a Certificate and CertificateVerify message.</t>
          </dd>
          <dt>Certification authority (CA):</dt>
          <dd>
            <t>The service issuing certificates to the authenticating party.</t>
          </dd>
        </dl>
        <t>Additionally, there are several terms used throughout this document to describe this proposal:</t>
        <dl>
          <dt>Trust anchor:</dt>
          <dd>
            <t>A pre-distributed X.509 name and public key that relying parties use to determine whether a certification path is trusted. See <xref section="6.1.1" sectionFormat="of" target="RFC5280"/>. Trust anchors are sometimes configured as self-signed certificates.</t>
          </dd>
          <dt>Certification path:</dt>
          <dd>
            <t>An ordered list of X.509 certificates starting with the target certificate. Each certificate is issued by the next certificate, except the last, which is issued by a trust anchor.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="trust-anchor-ids">
      <name>Trust Anchor Identifiers</name>
      <t>This section defines trust anchor IDs, which are short, unique identifiers for a trust anchor. To simplify allocation, trust anchor IDs are defined with object identifiers (OIDs) <xref target="X680"/> and IANA-registered Private Enterprise Numbers (PENs) <xref target="RFC9371"/>:</t>
      <t>A trust anchor ID is defined with an OID under the OID arc of some PEN. For compactness, they are represented as relative object identifiers (see Section 33 of <xref target="X680"/>), relative to the OID prefix <tt>1.3.6.1.4.1</tt>. For example, an organization with PEN 32473 might define a trust anchor ID with the OID <tt>1.3.6.1.4.1.32473.1</tt>. As a relative object identifier, it would be the OID <tt>32473.1</tt>.</t>
      <t>Depending on the protocol, trust anchor IDs may be represented in one of three ways:</t>
      <ul spacing="normal">
        <li>
          <t>For use in ASN.1-based protocols, a trust anchor ID's ASN.1 representation is the relative object identifier described above. This may be encoded in DER <xref target="X690"/>, or some other ASN.1 encoding. The example ID's DER encoding is the six-octet sequence <tt>{0x0d, 0x04, 0x81, 0xfd, 0x59, 0x01}</tt>.</t>
        </li>
        <li>
          <t>For use in binary protocols such as TLS, a trust anchor ID's binary representation consists of the contents octets of the relative object identifier's DER encoding, as described in Section 8.20 of <xref target="X690"/>. Note this omits the tag and length portion of the encoding. The example ID's binary representation is the four-octet sequence <tt>{0x81, 0xfd, 0x59, 0x01}</tt>.</t>
        </li>
        <li>
          <t>For use in ASCII-compatible text protocols, a trust anchor ID's ASCII representation is the relative object identifier in dotted decimal notation. The example ID's ASCII representation is <tt>32473.1</tt>.</t>
        </li>
      </ul>
      <t>Trust anchor IDs SHOULD be allocated by the CA operator and common among relying parties that trust the CA. They MAY be allocated by another party, e.g. when bootstrapping an existing ecosystem, if all parties agree on the ID. In particular, the protocol requires authenticating and relying parties to agree, and the authenticating party's configuration typically comes from the CA.</t>
      <t>The length of a trust anchor ID's binary representation MUST NOT exceed 255 bytes. It SHOULD be significantly shorter, for bandwidth efficiency.</t>
      <section anchor="relying-party-configuration">
        <name>Relying Party Configuration</name>
        <t>Relying parties are configured with one or more supported trust anchors. Each trust anchor that participates in this protocol must have an associated trust anchor ID.</t>
        <t>When trust anchors are represented as X.509 certificates, the X.509 trust anchor ID extension MAY be used to carry this ID. The trust anchor ID extension has an <tt>extnID</tt> of <tt>id-pe-trustAnchorID</tt> and an <tt>extnValue</tt> containing a DER-encoded TrustAnchorID structure, defined below. The TrustAnchorID is the trust anchor ID's ASN.1 representation, described in <xref target="trust-anchor-ids"/>. This extension MUST be non-critical.</t>
        <sourcecode type="asn.1"><![CDATA[
id-pe-trustAnchorID OBJECT IDENTIFIER ::=
    { iso(1) identified-organization(3) dod(6) internet(1)
      security(5) mechanisms(5) pkix(7) id-pe(1) TBD }

TrustAnchorID ::= RELATIVE-OID
]]></sourcecode>
        <t>Relying parties MAY instead or additionally configure trust anchor IDs via some application-specific out-of-band information.</t>
        <t>Relying parties MAY support trust anchors without associated trust anchor IDs, but such trust anchors will not participate in this protocol. Those trust anchors MAY participate in other trust anchor negotiation protocols, such as the <tt>certificate_authorities</tt> extension.</t>
      </section>
      <section anchor="authenticating-party-configuration">
        <name>Authenticating Party Configuration</name>
        <t>Authenticating parties are configured with one or more candidate certification paths to present in TLS, in some preference order. This preference order is used when multiple candidate paths are usable for a connection. For example, the authenticating party may prefer candidates that minimize message size or have more performant private keys.</t>
        <t>Each candidate path which participates in this protocol must be configured with the trust anchor ID for its corresponding trust anchor. It is RECOMMENDED, though not required, that this information come from the CA. <xref target="certificate-properties"/> defines a RECOMMENDED format for this information, along with an optional ACME <xref target="RFC8555"/> extension for CAs to send it.</t>
        <t>Authenticating parties MAY have candidate certification paths without associated trust anchor IDs, but such paths will not participate in this protocol. Those paths MAY participate in other trust anchor negotiation protocols, such as the <tt>certificate_authorities</tt> extension.</t>
      </section>
    </section>
    <section anchor="tls-extension">
      <name>TLS Extension</name>
      <t>This section defines the <tt>trust_anchors</tt> extension, which is sent in the ClientHello, EncryptedExtensions, CertificateRequest, and Certificate messages in TLS 1.3 or later.</t>
      <section anchor="overview">
        <name>Overview</name>
        <t>The <tt>trust_anchors</tt> extension is defined using the structures below:</t>
        <sourcecode type="tls-presentation"><![CDATA[
enum { trust_anchors(TBD), (2^16-1) } ExtensionType;

opaque TrustAnchorID<1..2^8-1>;

TrustAnchorID TrustAnchorIDList<0..2^16-1>;
]]></sourcecode>
        <t>When the extension is sent in the ClientHello or CertificateRequest messages, the <tt>extension_data</tt> is a TrustAnchorIDList and indicates that the sender supports the specified trust anchors. The list is unordered, and MAY be empty. Each TrustAnchorID uses the binary representation, as described in <xref target="trust-anchor-ids"/>.</t>
        <t>When the extension is sent in EncryptedExtensions, the <tt>extension_data</tt> is a TrustAnchorIDList containing the list of trust anchors that server has available, in the server's preference order, and MUST NOT be empty.</t>
        <t>When the extension is sent in Certificate, the <tt>extension_data</tt> MUST be empty and indicates that the sender sent the certificate because the certificate matched a trust anchor ID sent by the peer. When used in this form, the extension may only be sent in the first CertificateEntry. It MUST NOT be sent in subsequent ones.</t>
      </section>
      <section anchor="certificate-selection">
        <name>Certificate Selection</name>
        <t>A <tt>trust_anchors</tt> extension in the ClientHello or CertificateRequest is processed similarly to the <tt>certificate_authorities</tt> extension. The relying party indicates some set of supported trust anchors in the ClientHello or CertificateRequest <tt>trust_anchors</tt> extension. The authenticating party then selects a certificate from its candidate certification paths (see <xref target="authenticating-party-configuration"/>), as described in <xref section="4.4.2.2" sectionFormat="of" target="RFC8446"/> and <xref section="4.4.2.3" sectionFormat="of" target="RFC8446"/>. This process is extended as follows:</t>
        <t>If the ClientHello or CertificateRequest contains a <tt>trust_anchors</tt> extension, the authenticating party SHOULD send a certification path whose trust anchor ID appears in the relying party's <tt>trust_anchors</tt> extension.</t>
        <t>If the ClientHello or CertificateRequest contains both <tt>trust_anchors</tt> and <tt>certificate_authorities</tt>, certification paths that satisfy either extension's criteria may be used. This additionally applies to future extensions which play a similar role.</t>
        <t>If no certification paths satisfy either extension, the authenticating party MAY return a <tt>handshake_failure</tt> alert, or choose among fallback certification paths without considering <tt>trust_anchors</tt> or <tt>certification_authorities</tt>. See <xref target="retry-mechanism"/> for additional guidance on selecting a fallback when the ClientHello contains <tt>trust_anchors</tt>.</t>
        <t>Sending a fallback allows the authenticating party to retain support for relying parties that do not implement any form of trust anchor negotiation. In this case, the authenticating party must find a sufficiently ubiquitous trust anchor, if one exists. However, only those relying parties need to be considered in this ubiquity determination. Updated relying parties may continue to evolve without restricting fallback certificate selection.</t>
        <t>If the authenticating party sends a certification path that matches the relying party's <tt>trust_anchors</tt> extension, as described in <xref target="certificate-selection"/>, the authenticating party MUST send an empty <tt>trust_anchors</tt> extension in the first CertificateEntry of the Certificate message. In this case, the <tt>certificate_list</tt> flexibility described in <xref section="4.4.2" sectionFormat="of" target="RFC8446"/> no longer applies. The <tt>certificate_list</tt> MUST contain a complete certification path, issued by the matching trust anchor, correctly ordered and with no extraneous certificates. That is, each certificate MUST certify the one immediately preceding it, and the trust anchor MUST certify the final certificate. The authenticating party MUST NOT send the <tt>trust_anchors</tt> extension in the Certificate message in other situations.</t>
        <t>If a relying party receives this extension in the Certificate message, it MAY choose to disable path building <xref target="RFC4158"/> and validate the peer's certificate list as pre-built certification path. Doing so avoids the unpredictable behavior of path-building, and helps ensure CAs and authenticating parties do not inadvertently provision incorrect paths.</t>
      </section>
      <section anchor="retry-mechanism">
        <name>Retry Mechanism</name>
        <t>When the relying party is a client, it may choose not to send its full trust anchor ID list due to fingerprinting risks (see <xref target="privacy-considerations"/>), or because the list is too large. The client MAY send a subset of supported trust anchors, or an empty list. This subset may be determined by, possibly outdated, prior knowledge about the server, such as <xref target="dns-service-parameter"/> or past connections.</t>
        <t>To accommodate this, when receiving a ClientHello with <tt>trust_anchors</tt>, the server collects all candidate certification paths which:</t>
        <ul spacing="normal">
          <li>
            <t>Have a trust anchor ID, and</t>
          </li>
          <li>
            <t>Satisfy the conditions in <xref section="4.4.2.2" sectionFormat="of" target="RFC8446"/>, with the exception of <tt>certification_authorities</tt>, and any future extensions that play a similar role</t>
          </li>
        </ul>
        <t>If this collection is non-empty, the server sends a <tt>trust_anchors</tt> extension in EncryptedExtensions, containing the corresponding trust anchor IDs in preference order.</t>
        <t>When a client sends a subset or empty list in <tt>trust_anchors</tt>, it SHOULD implement the following retry mechanism:</t>
        <t>If the client receives either a connection error or an untrusted certificate, the client looks in server's EncryptedExtensions for a trust anchor ID that it trusts. If there are multiple, it selects an option based on the server's preference order and its local preferences. It then makes a new connection to the same endpoint, sending only the selected trust anchor ID in the ClientHello <tt>trust_anchors</tt> extension. If the EncryptedExtensions had no <tt>trust_anchor</tt> extension, or no match was found, the client returns the error to the application.</t>
        <t>Clients SHOULD retry at most once per connection attempt.</t>
        <t>[[TODO: Retrying in a new connection is expensive and cannot be done from within the TLS stack in most implementations. Consider handshake modifications to instead retry within the same connection. https://github.com/tlswg/tls-trust-anchor-ids/issues/53 ]]</t>
        <t>This mechanism allows the connection to recover from a certificate selection failure, e.g. due to the client not revealing its full preference list, at additional latency cost. <xref target="dns-service-parameter"/> describes an optimization which can avoid this cost.</t>
        <t>This mechanism also allows servers to safely send fallback certificates that may not be as ubiquitously acceptable. Without some form of trust anchor negotiation, servers are limited to selecting certification paths that are ubiquitously trusted in all supported clients. This often means sending extra cross-certificates to target the lowest common denominator at a bandwidth cost. If the ClientHello contains <tt>trust_anchors</tt>, the server MAY opportunistically send a less ubiquitous, more bandwidth-efficient path based on local heuristics, with the expectation that the client will retry when the heuristics fail.</t>
      </section>
    </section>
    <section anchor="dns-service-parameter">
      <name>DNS Service Parameter</name>
      <t>This section defines the <tt>tls-trust-anchors</tt> SvcParamKey <xref target="RFC9460"/>. TLS servers can use this to advertise their available trust anchors in DNS, and aid the client in formulating its <tt>trust_anchors</tt> extension (see <xref target="retry-mechanism"/>). This allows TLS deployments to support clients with many trust anchors without incurring the overhead of a reconnect.</t>
      <section anchor="syntax">
        <name>Syntax</name>
        <t>The <tt>tls-trust-anchors</tt> parameter contains an ordered list of one or more trust anchor IDs, in server preference order.</t>
        <t>The presentation <tt>value</tt> of the SvcParamValue is a non-empty comma-separated list (<xref section="A.1" sectionFormat="of" target="RFC9460"/>). Each element of the list is a trust anchor ID in the ASCII representation defined in <xref target="trust-anchor-ids"/>. Any other <tt>value</tt> is a syntax error. To enable simpler parsing, this SvcParam MUST NOT contain escape sequences.</t>
        <t>The wire format of the SvcParamValue is determined by prefixing each trust anchor ID with its length as a single octet, then concatenating each of these length-value pairs to form the SvcParamValue. These pairs MUST exactly fill the SvcParamValue; otherwise, the SvcParamValue is malformed.</t>
        <t>For example, if a TLS server has three available certification paths issued by <tt>32473.1</tt>, <tt>32473.2.1</tt>, and <tt>32473.2.2</tt>, respectively, the DNS record in presentation syntax may be:</t>
        <sourcecode type="dns-rr"><![CDATA[
example.net.  7200  IN SVCB 3 server.example.net. (
    tls-trust-anchors=32473.1,32473.2.1,32473.2.2 )
]]></sourcecode>
        <t>The wire format of the SvcParamValue would be the 17 octets below. In the example, the octets comprising each trust anchor ID are placed on separate lines for clarity</t>
        <artwork><![CDATA[
0x04, 0x81, 0xfd, 0x59, 0x01,
0x05, 0x81, 0xfd, 0x59, 0x02, 0x01,
0x05, 0x81, 0xfd, 0x59, 0x02, 0x02,
]]></artwork>
      </section>
      <section anchor="configuring-services">
        <name>Configuring Services</name>
        <t>Services SHOULD include the trust anchor ID for each of their available certification paths, in preference order, in the <tt>tls-trust-anchors</tt> of their HTTPS or SVCB endpoints. As TLS configuration is updated, services SHOULD update the DNS record to match. The mechanism for this is out of scope for this document, but services are RECOMMENDED to automate this process.</t>
        <t>Services MAY have certification paths without trust anchor IDs, but those paths will not participate in this mechanism.</t>
      </section>
      <section anchor="client-behavior">
        <name>Client Behavior</name>
        <t>When connecting to a service endpoint whose HTTPS or SVCB record contains the <tt>tls-trust-anchors</tt> parameter, the client first computes the intersection between its configured trust anchors and the server's provided list. If this intersection is non-empty, the client MAY use it to determine the <tt>trust_anchors</tt> extension in the ClientHello (see <xref target="retry-mechanism"/>).</t>
        <t>If doing so, the client MAY send a subset of this intersection to meet size constraints, but SHOULD offer multiple options. This reduces the chance of a reconnection if, for example, the first option in the intersection uses a signature algorithm that the client doesn't support, or if the TLS server and DNS configuration are out of sync.</t>
        <t>Although this service parameter is intended to reduce trust anchor mismatches, mismatches may still occur in some scenarios. Clients and servers MUST continue to implement the provisions described in <xref target="retry-mechanism"/>, even when using this service parameter.</t>
      </section>
    </section>
    <section anchor="certificate-properties">
      <name>Certificate Properties</name>
      <t>As described in <xref target="authenticating-party-configuration"/>, certification paths participating in this mechanism must be configured with a trust anchor ID. This section introduces a RECOMMENDED extensible CertificatePropertyList structure for representing this and other additional properties of a certification path. CertificatePropertyLists may be used as part of authenticating party configuration, and for CAs to communicate additional properties during certificate issuance.</t>
      <t>The extensibility aims to simplify application deployment as PKI mechanisms evolve. When certificate issuance and application software is updated to pass this structure to the underlying TLS implementation, new properties may be transparently defined without changes to certificate and configuration management.</t>
      <t>A CertificatePropertyList is defined using the TLS presentation language (<xref section="3" sectionFormat="of" target="RFC8446"/>) below:</t>
      <sourcecode type="tls-presentation"><![CDATA[
enum { trust_anchor_id(0), (2^16-1) } CertificatePropertyType;

struct {
    CertificatePropertyType type;
    opaque data<0..2^16-1>;
} CertificateProperty;

CertificateProperty CertificatePropertyList<0..2^16-1>;
]]></sourcecode>
      <t>The entries in a CertificatePropertyList MUST be sorted numerically by <tt>type</tt> and MUST NOT contain values with a duplicate <tt>type</tt>. Inputs that do not satisfy these invariants are syntax errors and MUST be rejected by parsers.</t>
      <t>This document defines a single property, <tt>trust_anchor_id</tt>. The <tt>data</tt> field of the property contains the binary representation of the trust anchor ID of the certification path's trust anchor, as described in <xref target="authenticating-party-configuration"/>. Future documents may define other properties for use with other mechanisms.</t>
      <t>Authenticating parties MUST ignore properties with unrecognized CertificatePropertyType values.</t>
      <section anchor="media-type">
        <name>Media Type</name>
        <t>A certification path with its associated CertificatePropertyList may be represented in a PEM <xref target="RFC7468"/> structure in a file of type "application/pem-certificate-chain-with-properties". Files of this type MUST use the strict encoding and MUST NOT include explanatory text.  The ABNF <xref target="RFC5234"/> for this format is
as follows, where "stricttextualmsg" and "eol" are as defined in
<xref section="3" sectionFormat="of" target="RFC7468"/>:</t>
        <sourcecode type="abnf"><![CDATA[
certchainwithproperties = stricttextualmsg eol stricttextualmsg
                          *(eol stricttextualmsg)
]]></sourcecode>
        <t>The first element MUST be the encoded CertificatePropertyList.
The second element MUST be an end-entity certificate.  Each following
certificate MUST directly certify the one preceding it. The certificate representing the trust anchor MUST be omitted from the path.</t>
        <t>CertificatePropertyLists are encoded using the "CERTIFICATE PROPERTIES" label. The encoded data is a serialized CertificatePropertyList, defined in <xref target="certificate-properties"/>.</t>
        <t>Certificates are encoded as in <xref section="5.1" sectionFormat="of" target="RFC7468"/>, except DER <xref target="X690"/> MUST be used.</t>
        <t>The following is an example file with a certification path containing an end-entity certificate and an intermediate certificate.</t>
        <artwork><![CDATA[
-----BEGIN CERTIFICATE PROPERTIES-----
TODO fill in an example
-----END CERTIFICATE PROPERTIES-----
-----BEGIN CERTIFICATE-----
TODO fill in an example
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
TODO fill in an example
-----END CERTIFICATE-----
]]></artwork>
        <t>The IANA registration for this media type is described in <xref target="media-type-updates"/>.</t>
      </section>
      <section anchor="acme-extension">
        <name>ACME Extension</name>
        <t>The format defined in <xref target="media-type"/> can be used with ACME's alternate format mechanism (see <xref section="7.4.2" sectionFormat="of" target="RFC8555"/>) as follows. When downloading certificates, a supporting client SHOULD include "application/pem-certificate-chain-with-properties" in its HTTP Accept header (<xref section="12.5.1" sectionFormat="of" target="RFC9110"/>). When a supporting server sees such a header, it MAY then respond with that format to include a CertificatePropertyList with the certification path. This CertificatePropertyList MAY include a <tt>trust_anchor_id</tt> property for use with this protocol, or other properties defined in another document.</t>
        <t>When used with ACME's alternate certificate chain mechanism (see <xref section="7.4.2" sectionFormat="of" target="RFC8555"/>), this protocol removes the need for heuristics in determining which path to serve to which relying party.</t>
        <t>The authenticating party MAY combine the resulting certification paths with those from other ACME orders, or other sources, for a complete set of candidate paths to serve.</t>
      </section>
    </section>
    <section anchor="use-cases">
      <name>Use Cases</name>
      <t><tt>trust_anchors</tt>, like <tt>certificate_authorities</tt>, implements trust anchor negotiation. That is, it allows an authenticating party to incorporate relying party trust anchors into certificate selection. <tt>trust_anchors</tt> allows a wider range of TLS applications to use trust anchor negotiation, notably those that would be unable to use <tt>certificate_authorities</tt> due to size or privacy limitations.</t>
      <t>Without trust anchor negotiation, authenticating parties are limited to CAs in the intersection of all supported relying parties. However, trust anchors can vary significantly between different relying party implementations and different versions of a single relying party implementation, particularly as PKIs evolve to meet user security needs.</t>
      <t>As security-positive PKI changes increase variance, this intersection shrinks. This leads to a conflict between user security and service availability. When the authenticating party cannot serve a certificate in the intersection, either the relying party must risk user security by not changing the PKI, or the authenticating party must degrade service availability by dropping support for some relying parties.</t>
      <t>The rest of this section discusses uses cases for trust anchor negotiation.</t>
      <section anchor="making-use-of-newly-trusted-cas">
        <name>Making Use of Newly-Trusted CAs</name>
        <t>When one relying party trusts a new CA, other relying parties, such as older ones, may not yet trust it. Trust anchor negotiation allows an authenticating party to negotiate a certificate from the newer CA with relying parties that do trust it, while continuing to negotiate another certificate with relying parties that do not. This allows PKI transitions to progress smoothly. Connections can make use of, for example, a new CA's stronger signature algorithms, stronger validation practices, better automation, or more efficient certificate sizes, without interruptions to other connections.</t>
        <t>Without negotiation, the authenticating party is limited to its relying parties' intersection and must wait for every supported relying party to be updated before the transition even begins. This wait could often take many years. In some cases, such as with IoT devices, relying parties may never receive updates.</t>
        <t>In some contexts, other fields can provide a partial signal. For example, post-quantum-capable relying parties may be detected with the <tt>signature_algorithms</tt> and <tt>signature_algorithms_cert</tt> extensions. However, this relies on all post-quantum CAs being added at roughly the same time and that they are sufficiently interchangeable to be negotiated with these extensions. Trust anchor negotiation directly addresses this problem and allows for both gradual and possibly heterogeneous deployment of post-quantum CAs across relying parties.</t>
      </section>
      <section anchor="removing-untrustworthy-cas">
        <name>Removing Untrustworthy CAs</name>
        <t>When CAs are determined to be untrustworthy, relying parties must remove them to mitigate the risk to user security. Over time, this shrinks their intersection with older relying parties. Without negotiation, the result is authenticating parties have fewer and fewer CA choices available. Even determining the intersecting CAs can be difficult. Often, the only option is to try the new certificate and monitor errors. For authenticating parties that serve many diverse relying parties, this is a disruptive and risky process.</t>
        <t>Trust anchor negotiation removes this constraint. If an authenticating party's CA is distrusted, it can use a new CA in addition to the existing one. The addition does not risk outages for older relying parties and may be chosen from a wider set of CAs, as it only needs to be compatible with the relying parties that distrusted the other CA.</t>
        <t>Over time, the authenticating party can monitor which certificates it serves, and re-evaluate which CA or CAs to use. For example, it may find the new CA was sufficient, or that older relying parties have since all been updated. However, user security depends on the relying party's trust anchors, not the authenticating party's choice of CA, so this can occur asynchronously, based on serving needs and costs, rather than delay the response to a security incident.</t>
      </section>
      <section anchor="key-rotation">
        <name>Key Rotation</name>
        <t>Despite the severity of root CA private key compromise and the benefits of routinely rotating cryptographic key material, such rotation in PKIs is often very rare. In 2023, the oldest root in <xref target="CHROME-ROOTS"/> and <xref target="MOZILLA-ROOTS"/> was 25 years old, dating to 1998.</t>
        <t>Key rotation in PKIs used in TLS is challenging, as it combines the challenges described in both <xref target="making-use-of-newly-trusted-cas"/> and <xref target="removing-untrustworthy-cas"/>. Without trust anchor negotiation, authenticating parties cannot switch to the new root as long as any supported older relying party requires the old root. That, in turn, means relying parties cannot distrust the old root, leaving them vulnerable.</t>
        <t>Trust anchor negotiation offers a smooth transition for CA key rotation. The CA can provide certification paths for the old and new roots. The authenticating party can then serve both paths without impacting older relying parties. New relying parties can then distrust the old root.</t>
      </section>
      <section anchor="other-root-transitions">
        <name>Other Root Transitions</name>
        <t>The mechanisms in this document can aid PKI transitions beyond key rotation. For example, a CA operator may generate a postquantum root CA and issue from the classical and postquantum roots concurrently. The authenticating party will then, transparently and with no configuration change, serve both. As in <xref target="key-rotation"/>, newer relying parties can then remove the classical roots, while older relying parties continue to function.</t>
        <t>This same procedure may also be used to transition between newer, more size-efficient signature algorithms, as they are developed.</t>
      </section>
      <section anchor="intermediate-elision">
        <name>Intermediate Elision</name>
        <t>In my PKIs, root CAs issue shorter-lived intermediate certificates which, in turn, issue end-entity certificates. This comes at a bandwidth cost: the TLS handshake includes an extra certificate, which includes a public key, signature, and X.509 metadata. Post-quantum signature algorithms will dramatically increase this cost. ML-DSA-65 <xref target="FIPS204"/>, for example, has a total public key and signature size of 5,261 bytes.</t>
        <t><xref target="I-D.ietf-tls-cert-abridge"/> predistributes a specific set of intermediate CA certificates to relying parties so that these certificates can be omitted from TLS connections, as a compression scheme. Negotiating intermediate CAs as short-lived trust anchors also achieves this effect, but is usable by more relying parties than the specific intermediate set accommodates.</t>
        <t>In this model, a CA operator provides authenticating parties with two certification paths: a longer path ending at a long-lived root and shorter path the other ending at a short-lived root. Relying parties trust both the long-lived root and the most recent short-lived root. The authenticating party sends the shorter path when possible, falling back to the longer path when the relying party’s short-lived root is stale.</t>
        <t>This achieves the same effect with a simpler and more flexible, general-purpose mechanism.</t>
      </section>
      <section anchor="conflicting-relying-party-requirements">
        <name>Conflicting Relying Party Requirements</name>
        <t>An authenticating party may need to support relying parties with different, potentially conflicting requirements. For example, in contexts where online revocation checks are expensive, unreliable, or privacy-sensitive, user security is best served by short-lived certificates. In other contexts, long-lived certificates may be more appropriate for, e.g., systems that are offline for long periods of time or have unreliable clocks.</t>
        <t>Trust anchor negotiation allows these conflicts to be resolved by different trust anchors where necessary. This avoids the need to compromise on user security or service availability.</t>
      </section>
      <section anchor="backup-certificates">
        <name>Backup Certificates</name>
        <t>An authenticating party may obtain certificate paths from multiple CAs for redundancy. If one CA is compromised and removed from newer relying parties, the TLS server software will be able to gracefully serve a backup certificate path, avoiding the immediate breakage that would otherwise be caused by this removal.</t>
      </section>
      <section anchor="public-key-pinning">
        <name>Public Key Pinning</name>
        <t>To reduce security risk from misissued certificates, relying parties sometimes employ public key pinning <xref target="RFC7469"/>. Pinning effectively reduces a relying party's trust anchor list to a subset of the original set.</t>
        <t>As other relying parties in the PKI evolve, the pinning relying party limits the authenticating party to satisfy both the pinning constraint and newer constraints in the PKI. This can lead to conflicts if, for example, the pinned CA is distrusted by a newer relying party. The authenticating party is then forced to either break the pinning relying party, or break the newer ones.</t>
        <t>Trust anchor negotiation reduces this conflict, provided the pinning relying party negotiates with its reduced trust anchor list. The authenticating party can then use a certificate from the pinned CA with the pinning relying party, and another CA with other relying parties.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <section anchor="relying-parties">
        <name>Relying Parties</name>
        <t>The <tt>trust_anchors</tt> extension is analogous to the <tt>certificate_authorities</tt> extension (<xref section="4.2.4" sectionFormat="of" target="RFC8446"/>), but more size-efficient. Like <tt>certificate_authorities</tt>, <tt>trust_anchors</tt> reveals some information about the relying party's trust anchors. However, unlike <tt>certificate_authorities</tt>, <tt>trust_anchors</tt> allows a relying party to only reveal a trust anchor in response to the authenticating party's list, which reduces the fingerprinting exposure. This section provides guidance for a relying party to configure this mechanism, based on its privacy goals.</t>
        <t>When using this extension, a relying party's trust anchors may be divided into three categories:</t>
        <ol spacing="normal" type="1"><li>
            <t>Trust anchors whose IDs the relying party never sends, but still trusts. These are trust anchors that do not participate in this mechanism.</t>
          </li>
          <li>
            <t>Trust anchors whose IDs the relying party sends <em>conditionally</em>, i.e. only if the server offers them. For example, the relying party may indicate support for a trust anchor if its ID is listed in the server's HTTPS/SVCB record or trust anchor list in EncryptedExtensions.</t>
          </li>
          <li>
            <t>Trust anchors whose IDs the relying party sends <em>unconditionally</em>, i.e. independently of the authenticating party's behavior.</t>
          </li>
        </ol>
        <t>Each of these categories carries a different fingerprinting exposure:</t>
        <t>Trust anchors that do not participate are not revealed by this extension. However, they have some fingerprinting exposure due to being trusted. Given a certification path, an authenticating party can probe whether the relying party trusts the trust anchor by seeing if the relying party accepts it.</t>
        <t>Trust anchor IDs sent in response to the authenticating party can only be observed actively. That is, the authenticating party could vary its list and observe how the client responds, in order to probe for the client's trust anchor list. This is similar to the exposure of trust anchors not participating in this extension, except that the trust anchor can be probed by only knowing the trust anchor ID.</t>
        <t>Trust anchor IDs sent unconditionally can be observed passively. This mode is analogous to the <tt>certificate_authorities</tt> extension. Relying parties SHOULD NOT unconditionally advertise trust anchor lists that are unique to an individual user. Rather, unconditionally-advertised lists SHOULD be empty or computed only from the trust anchors common to the relying party's anonymity set (<xref section="3.3" sectionFormat="of" target="RFC6973"/>).</t>
        <t>Relying parties SHOULD determine which trust anchors participate in this mechanism, and whether to advertise them unconditionally or conditionally, based on their privacy goals. PKIs that reliably use the DNS service parameter (<xref target="dns-service-parameter"/>) can rely on conditional advertisement for stronger privacy properties without a round-trip penalty.</t>
        <t>Additionally, a relying party that computes the <tt>trust_anchors</tt> extension based on prior state may allow observers to correlate across connections. Relying parties SHOULD NOT maintain such state across connections that are intended to be uncorrelated. As above, implementing the DNS service parameter can avoid a round-trip penalty without such state.</t>
      </section>
      <section anchor="authenticating-parties">
        <name>Authenticating Parties</name>
        <t>If the authenticating party is a server, the mechanisms in <xref target="dns-service-parameter"/> and <xref target="retry-mechanism"/> enumerate the trust anchors for the server's available certification paths. This mechanism assumes they are not sensitive. Servers SHOULD NOT use this mechanism to negotiate certification paths with sensitive trust anchors.</t>
        <t>In servers that host multiple services, this protocol only enumerates certification paths for the requested service. If, for example, a server uses the <tt>server_name</tt> extension to select services, the addition to EncryptedExtensions in <xref target="retry-mechanism"/> is expected to be filtered by <tt>server_name</tt>. Likewise, the DNS parameter in <xref target="dns-service-parameter"/> only contains information for the corresponding service. In both cases, co-located services are not revealed.</t>
        <t>The above does not apply if the authenticating party is a client. This protocol does not enumerate the available certification paths for a client.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="incorrect-selection-metadata">
        <name>Incorrect Selection Metadata</name>
        <t>If the authenticating party has provisioned certification paths with incorrect trust anchor IDs, it may negotiate inaccurately and send an untrusted path to the relying party when another candidate would have been trusted. This will not result in the untrusted path becoming trusted, but the connection will fail.</t>
      </section>
      <section anchor="trust-anchor-negotiation">
        <name>Trust Anchor Negotiation</name>
        <t>Both the <tt>trust_anchors</tt> and <tt>certificate_authorities</tt> (<xref section="4.2.4" sectionFormat="of" target="RFC8446"/>) extensions implement trust anchor negotiation, so security considerations are largely unchanged from <tt>certificate_authorities</tt>. This section discusses security considerations for trust anchor negotiation in general.</t>
        <section anchor="relying-party-policies">
          <name>Relying Party Policies</name>
          <t>PKI-based TLS authentication depends on the relying party's certificate policies. If the relying party trusts an untrustworthy CA, that CA can intercept TLS connections made by that relying party by issuing certificates associating the target name with the wrong TLS key.</t>
          <t>This attack vector is available with or without trust anchor negotiation. The negotiation mechanism described in this document allows certificate selection to reflect a relying party's certificate policies. It does not determine the certificate policies themselves. Relying parties remain responsible for trusting only trustworthy CAs, and untrustworthy CAs remain a security risk when trusted.</t>
        </section>
        <section anchor="agility">
          <name>Agility</name>
          <t>As with other TLS parameters, negotiation reduces a conflict between availability and security, which allows PKIs to better mitigate security risks to users. When relying parties in an existing TLS ecosystem improve their certificate policies, trust anchor negotiation helps authenticating parties navigate differences between those relying parties and existing relying parties. Each set of requirements may be satisfied without compatibility risk to the other. <xref target="use-cases"/> discusses such scenarios in more detail.</t>
          <t>Negotiation also reduces pressures on relying parties to sacrifice user security for compatibility. If a relying party does not trust an authenticating party's current CA, connections between the two will fail until either the relying party trusts the CA or the authenticating party uses an already trusted CA. Without trust anchor negotiation, the authenticating party is limited to one certificate, and therefore switching CAs risks compatibility problems with other relying parties. The relying party then faces compatibility pressure to add this CA, even if it deems the CA a security risk. With trust anchor negotiation, the authenticating party can use its existing CA <em>in addition to</em> another CA trusted by the relying party. This allows the ecosystem to improve interoperability without sacrificing user security.</t>
        </section>
        <section anchor="serving-multiple-certificates">
          <name>Serving Multiple Certificates</name>
          <t>Trust anchor negotiation reduces compatibility pressures against authenticating parties serving certificates from a less common CA, as they can be served with other certificates. In some cases, the CA may have been distrusted, but still used to support older relying parties. As discussed in <xref target="use-cases"/> and <xref target="agility"/>, this capability aids PKI transitions that mitigate security risks to users.</t>
          <t>Even if the CA is untrustworthy, these certificates do not enable the CA to decrypt or intercept the connection. If a certificate asserts the correct information about the authenticating party, notably the correct public key, the authenticating party can safely present it. Issuing a certificate for the authenticating party's public key does not grant the CA access to the corresponding private key. Conversely, if the attacker already has access to the authenticating party's private key, they do not need to be in control of a CA to intercept a connection.</t>
          <t>Rather, it is the relying party's choice of trusted CAs that determines susceptibility to interception. If the relying party trusts a misbehaving or attacker-controlled CA, the attacker can intercept the connection with a public key certified by that CA, regardless of which CA is used by the intended authenticating party. Conversely, if the relying party does not trust the attacker's CA, the attacker cannot successfully intercept the connection using a public key certified by this CA.</t>
          <t>Choosing trusted CAs is a complex, security-critical process, the full considerations of which are outside the scope of this document. Relying parties thus SHOULD NOT interpret the authenticating party's choice of CA as an endorsement of the CA. Trusting a CA means trusting <em>all</em> certificates issued by that CA, so it is not enough to observe correct certificates from an authenticating party. An untrustworthy CA may sign one correct certificate, but also sign incorrect certificates, possibly in the future, that can attack the relying party.</t>
        </section>
        <section anchor="targeting-tls-interception">
          <name>Targeting TLS Interception</name>
          <t>A network attacker in possession of a misissued certificate could use trust anchor negotiation to differentiate clients and only enable TLS interception with clients that accept the certificate. The network attacker may wish to do this to reduce the odds of detection.</t>
          <t>However, trust anchor negotiation only impacts detection where this differentiation was not already possible. In TLS, the client offers all its available TLS features, including cipher suites and other extensions, in the TLS ClientHello. Any variation in client TLS policies, related or unrelated to trust anchors, may be used as a fingerprint. Transport properties, such as IP geolocation, may also be used. While fingerprinting's heuristic nature makes broad, legitimate use difficult, a network attacker's single interception service can easily use it for targeted attacks.</t>
          <t>If the attacker targets any clients that enforce Certificate Transparency <xref target="RFC6962"/>, the misissued certificates will need to be publicly logged. In this case, detection is more robust, and client differentiation, with or without trust anchor negotiation, has no significant impact.</t>
        </section>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="tls-extensiontype-updates">
        <name>TLS ExtensionType Updates</name>
        <t>IANA is requested to create the following entry in the TLS ExtensionType Values registry, defined by <xref target="RFC8446"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Extension Name</th>
              <th align="left">TLS 1.3</th>
              <th align="left">DTLS-Only</th>
              <th align="left">Recommended</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD</td>
              <td align="left">trust_anchors</td>
              <td align="left">CH, EE, CR, CT</td>
              <td align="left">N</td>
              <td align="left">Y</td>
              <td align="left">[this-RFC]</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="media-type-updates">
        <name>Media Type Updates</name>
        <t>IANA is requested to create the following entry in the "Media Types" registry, defined in <xref target="RFC6838"/>:</t>
        <dl>
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>pem-certificate-chain-with-properties</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>None</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>None</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>7bit</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t>Carries a cryptographic certificate and its associated certificate chain and additional properties. This media type carries no active content.</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>None</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t>[this-RFC, <xref target="media-type"/>]</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>ACME clients and servers, HTTP servers, other applications that need to be configured with a certificate chain</t>
          </dd>
          <dt>Additional information:</dt>
          <dd>
            <dl spacing="compact">
              <dt>Deprecated alias names for this type:</dt>
              <dd>n/a</dd>
              <dt>Magic number(s):</dt>
              <dd>n/a</dd>
              <dt>File extension(s):</dt>
              <dd>.pem</dd>
              <dt>Macintosh file type code(s):</dt>
              <dd>n/a</dd>
            </dl>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>See Authors' Addresses section.</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Author:</dt>
          <dd>
            <t>See Authors' Addresses section.</t>
          </dd>
          <dt>Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
        </dl>
      </section>
      <section anchor="pkix-registry-updates">
        <name>PKIX Registry Updates</name>
        <t>IANA is requested to create the following entry in the SMI Security for PKIX Module Identifier registry, defined by <xref target="RFC7299"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Decimal</th>
              <th align="left">Description</th>
              <th align="left">References</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD</td>
              <td align="left">id-mod-trustAnchorIDs-2025</td>
              <td align="left">[this-RFC]</td>
            </tr>
          </tbody>
        </table>
        <t>IANA is requested to create the following entry in the SMI Security for PKIX Certificate Extension registry, defined by <xref target="RFC7299"/>:</t>
        <table>
          <thead>
            <tr>
              <th align="left">Decimal</th>
              <th align="left">Description</th>
              <th align="left">References</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD</td>
              <td align="left">id-pe-trustAnchorID</td>
              <td align="left">[this-RFC]</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="certificatepropertytype-registry">
        <name>CertificatePropertyType Registry</name>
        <t>[[TODO: Establish a CertificatePropertyType registry.]]</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="X680">
          <front>
            <title>Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021"/>
          </front>
          <seriesInfo name="ISO/IEC" value="8824-1:2021"/>
        </reference>
        <reference anchor="X690">
          <front>
            <title>Information technology - ASN.1 encoding Rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021"/>
          </front>
          <seriesInfo name="ISO/IEC" value="8825-1:2021"/>
        </reference>
        <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="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="RFC9460">
          <front>
            <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
            <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
            <author fullname="M. Bishop" initials="M." surname="Bishop"/>
            <author fullname="E. Nygren" initials="E." surname="Nygren"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9460"/>
          <seriesInfo name="DOI" value="10.17487/RFC9460"/>
        </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>
        <reference anchor="RFC9371">
          <front>
            <title>Registration Procedures for Private Enterprise Numbers (PENs)</title>
            <author fullname="A. Baber" initials="A." surname="Baber"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="March" year="2023"/>
            <abstract>
              <t>This document describes how Private Enterprise Numbers (PENs) are registered by IANA. It shows how to request a new PEN and how to modify a current PEN. It also gives a brief overview of PEN uses.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9371"/>
          <seriesInfo name="DOI" value="10.17487/RFC9371"/>
        </reference>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="RFC4158">
          <front>
            <title>Internet X.509 Public Key Infrastructure: Certification Path Building</title>
            <author fullname="M. Cooper" initials="M." surname="Cooper"/>
            <author fullname="Y. Dzambasow" initials="Y." surname="Dzambasow"/>
            <author fullname="P. Hesse" initials="P." surname="Hesse"/>
            <author fullname="S. Joseph" initials="S." surname="Joseph"/>
            <author fullname="R. Nicholas" initials="R." surname="Nicholas"/>
            <date month="September" year="2005"/>
            <abstract>
              <t>This document provides guidance and recommendations to developers building X.509 public-key certification paths within their applications. By following the guidance and recommendations defined in this document, an application developer is more likely to develop a robust X.509 certificate-enabled application that can build valid certification paths across a wide range of PKI environments. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4158"/>
          <seriesInfo name="DOI" value="10.17487/RFC4158"/>
        </reference>
        <reference anchor="RFC7468">
          <front>
            <title>Textual Encodings of PKIX, PKCS, and CMS Structures</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="S. Leonard" initials="S." surname="Leonard"/>
            <date month="April" year="2015"/>
            <abstract>
              <t>This document describes and discusses the textual encodings of the Public-Key Infrastructure X.509 (PKIX), Public-Key Cryptography Standards (PKCS), and Cryptographic Message Syntax (CMS). The textual encodings are well-known, are implemented by several applications and libraries, and are widely deployed. This document articulates the de facto rules by which existing implementations operate and defines them so that future implementations can interoperate.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7468"/>
          <seriesInfo name="DOI" value="10.17487/RFC7468"/>
        </reference>
        <reference anchor="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC6973">
          <front>
            <title>Privacy Considerations for Internet Protocols</title>
            <author fullname="A. Cooper" initials="A." surname="Cooper"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <author fullname="J. Peterson" initials="J." surname="Peterson"/>
            <author fullname="J. Morris" initials="J." surname="Morris"/>
            <author fullname="M. Hansen" initials="M." surname="Hansen"/>
            <author fullname="R. Smith" initials="R." surname="Smith"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6973"/>
          <seriesInfo name="DOI" value="10.17487/RFC6973"/>
        </reference>
        <reference anchor="RFC6838">
          <front>
            <title>Media Type Specifications and Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="January" year="2013"/>
            <abstract>
              <t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="6838"/>
          <seriesInfo name="DOI" value="10.17487/RFC6838"/>
        </reference>
        <reference anchor="RFC7299">
          <front>
            <title>Object Identifier Registry for the PKIX Working Group</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>When the Public-Key Infrastructure using X.509 (PKIX) Working Group was chartered, an object identifier arc was allocated by IANA for use by that working group. This document describes the object identifiers that were assigned in that arc, returns control of that arc to IANA, and establishes IANA allocation policies for any future assignments within that arc.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7299"/>
          <seriesInfo name="DOI" value="10.17487/RFC7299"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="CHROME-ROOTS" target="https://chromium.googlesource.com/chromium/src/+/main/net/data/ssl/chrome_root_store">
          <front>
            <title>Chrome Root Store</title>
            <author>
              <organization>Chromium</organization>
            </author>
            <date year="2023" month="August" day="30"/>
          </front>
        </reference>
        <reference anchor="MOZILLA-ROOTS" target="https://wiki.mozilla.org/CA/Included_Certificates">
          <front>
            <title>Mozilla Included CA Certificate List</title>
            <author>
              <organization>Mozilla</organization>
            </author>
            <date year="2023" month="August" day="30"/>
          </front>
        </reference>
        <reference anchor="FIPS204" target="https://csrc.nist.gov/projects/post-quantum-cryptography">
          <front>
            <title>Module-Lattice-based Digital Signature Standard</title>
            <author>
              <organization>National Institute of Standards and Technology (NIST)</organization>
            </author>
            <date year="2023" month="August"/>
          </front>
          <seriesInfo name="FIPS PUB" value="204"/>
        </reference>
        <reference anchor="I-D.ietf-tls-cert-abridge">
          <front>
            <title>Abridged Compression for WebPKI Certificates</title>
            <author fullname="Dennis Jackson" initials="D." surname="Jackson">
              <organization>Mozilla</organization>
            </author>
            <date day="16" month="September" year="2024"/>
            <abstract>
              <t>   This draft defines a new TLS Certificate Compression scheme which
   uses a shared dictionary of root and intermediate WebPKI
   certificates.  The scheme smooths the transition to post-quantum
   certificates by eliminating the root and intermediate certificates
   from the TLS certificate chain without impacting trust negotiation.
   It also delivers better compression than alternative proposals whilst
   ensuring fair treatment for both CAs and website operators.  It may
   also be useful in other applications which store certificate chains,
   e.g.  Certificate Transparency logs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-cert-abridge-02"/>
        </reference>
        <reference anchor="RFC7469">
          <front>
            <title>Public Key Pinning Extension for HTTP</title>
            <author fullname="C. Evans" initials="C." surname="Evans"/>
            <author fullname="C. Palmer" initials="C." surname="Palmer"/>
            <author fullname="R. Sleevi" initials="R." surname="Sleevi"/>
            <date month="April" year="2015"/>
            <abstract>
              <t>This document defines a new HTTP header that allows web host operators to instruct user agents to remember ("pin") the hosts' cryptographic identities over a period of time. During that time, user agents (UAs) will require that the host presents a certificate chain including at least one Subject Public Key Info structure whose fingerprint matches one of the pinned fingerprints for that host. By effectively reducing the number of trusted authorities who can authenticate the domain during the lifetime of the pin, pinning may reduce the incidence of man-in-the-middle attacks due to compromised Certification Authorities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7469"/>
          <seriesInfo name="DOI" value="10.17487/RFC7469"/>
        </reference>
        <reference anchor="RFC6962">
          <front>
            <title>Certificate Transparency</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="E. Kasper" initials="E." surname="Kasper"/>
            <date month="June" year="2013"/>
            <abstract>
              <t>This document describes an experimental protocol for publicly logging the existence of Transport Layer Security (TLS) certificates as they are issued or observed, in a manner that allows anyone to audit certificate authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6962"/>
          <seriesInfo name="DOI" value="10.17487/RFC6962"/>
        </reference>
      </references>
    </references>
    <?line 590?>

<section anchor="asn1-module">
      <name>ASN.1 Module</name>
      <sourcecode type="asn.1"><![CDATA[
TrustAnchorIDs-2025
    { iso(1) identified-organization(3) dod(6) internet(1)
      security(5) mechanisms(5) pkix(7) id-mod(0)
      id-mod-trustAnchorIDs-2025(TBD) }

DEFINITIONS EXPLICIT TAGS ::=
BEGIN

IMPORTS
    EXTENSION
    FROM PKIX-CommonTypes-2009 -- From [RFC5912]
    { iso(1) identified-organization(3) dod(6)
      internet(1) security(5) mechanisms(5) pkix(7)
      id-mod(0) id-mod-pkixCommon-02(57) };

-- Trust Anchor IDs Certificate Extension

ext-TrustAnchorID EXTENSION ::= {
    SYNTAX TrustAnchorID
    IDENTIFIED BY id-pe-trustAnchorID
    CRITICALITY { FALSE } }

id-pe-trustAnchorID OBJECT IDENTIFIER ::=
    { iso(1) identified-organization(3) dod(6) internet(1)
      security(5) mechanisms(5) pkix(7) id-pe(1) TBD }

TrustAnchorID ::= RELATIVE-OID

END
]]></sourcecode>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors thank Nick Harper, and Emily Stark for many valuable discussions and insights which led to this document. Thanks also to Aaron Gable for providing feedback on ACME extensions.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA719e3cbx7Hn//gUs/Q5a8oLQCL1sETHvqFIysaNRGpF2nE2
J1caYBrgRMAMMjMghcjKuV9jv95+kq1fVXVP9zwgKvehc+JIAKanu7q6nr+q
Ho1GgyqtluYo2rt6eRldFZuyio6z2XVeRJPEZFU6T01R7g1mcWUWebE9isoq
GQwGST7L4hU9lxTxvBqlppqPqmU5qjDCKOYRRmlSjh4cDsrNdJWWZZpn1XZN
j0zOrl4Mss1qaoqjQUIDHw1meVaarNyURxGNYAY3R9HDQVyYmCZ2aWabIq22
e4PbvHi/KPLNGtMt4qxc50UVvYy3pojqX92YbENDRtHnfxpFMqO9P9LIabaI
fsQj+HwVp0v6nJb0e6xtnBcLfBwXs2v6+Lqq1uXR/fv4FT5Kb8zY/uw+Prg/
LfLb0tyn5+/juUVaXW+mMuDt4n4XpfCzJRGjrLwX8M/H8vQ4zTsfvP+ZLRhf
V6vl3mAQbyr6hAgzojdFUZoRsfeej6PnZvZ+jz+SHd17nk+9D2lJcZb+Pa5o
/+jLi7XJLi9fyndGyDSlH/8+py/KcgkSDMJ3nOId2V/jVZoF7zmNb9Kk8VXj
bT/m+WJpopcvT4IXJnhyarLfL/j78Sxftd958fXzIjWNV5qbPAu/sUPim3E+
xRe/X+CzjlH/MI7OzXvinb8Ho/5hS3MMvmgs45Wp4uBt7zP59e9X9I28KMuL
Ff3+hln31ydPHxzxA/THntBJNpff0BIqM7vO8mW+2Eaj6HhaVkU8q6LLbVbF
H6LzvJJfXWQm2j++PB8f3DuKLtdmRsd5Jl/l82gal+ksyvTHe/Z1fCKjwweH
B/YTxzn2Dy2PjvHVz6Mr+1lpiHBlSjP0fja5vLg/OTs5ip4+PXw0OjjiMXl1
z75kdZh/ZLJZnuCIvtksTdmxmue8mrPgZ9H+87M394bRSZzlGf122fr+hL6P
4iyJTtOyos83aXltktbPTuln/8UEeuwIlFpKgBfoxyc/vbl4dTZ6c3FxdSkP
K81Orot8ZaI3eU5bX+WFkS/jYmFIiFgZMsOv0s1qLIelzDfFjI+M++Z+Wczu
/y9Is+x+Zqr7tMD4Pp1l+YF5W9AL3pbuBW79D0cPno4ePhg0STCS9Z/o8FjD
q4v/M3n58rhjEa/yv6fLZRxNstlykxDtT46jE1NUsrl09mljOtd1m75Pxyt5
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
HmuD/w9VuYNkQL8AAA==

-->

</rfc>
