<?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.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-serafin-lake-ta-hint-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="TA Hints in EDHOC">Trust Anchor Hints in Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
    <seriesInfo name="Internet-Draft" value="draft-serafin-lake-ta-hint-00"/>
    <author initials="M." surname="Serafin" fullname="Marek Serafin">
      <organization>ASSA ABLOY</organization>
      <address>
        <email>marek.serafin@assaabloy.com</email>
      </address>
    </author>
    <author initials="G." surname="Selander" fullname="Göran Selander">
      <organization>Ericsson</organization>
      <address>
        <email>goran.selander@ericsson.com</email>
      </address>
    </author>
    <date year="2024" month="October" day="20"/>
    <area>Security</area>
    <workgroup>Lightweight Authenticated Key Exchange</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 51?>

<t>This document defines a format for transport of hints about Trust Anchors of trusted third parties when using the lightweight authenticated key exchange protocol Ephemeral Diffie-Hellman Over COSE (EDHOC).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://gselander.github.io/lake-ta-hint/draft-serafin-lake-ta-hint.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-serafin-lake-ta-hint/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Lightweight Authenticated Key Exchange Working Group mailing list (<eref target="mailto:lake@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/lake/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/lake/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/gselander/lake-ta-hint"/>.</t>
    </note>
  </front>
  <middle>
    <?line 55?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Ephemeral Diffie-Hellman Over COSE (EDHOC) <xref target="RFC9528"/> is a lightweight security handshake protocol with low processing and message overhead, especially suited for constrained devices and low-power networking.</t>
      <t>Authentication and authorization, in addition to excuting a security handshake protocol, typically involves the validation of certificates or assertions using Trust Anchors (TAs). For this machinery to work, the endpoints need to use credentials issued by a TA of the other endpoint. Moreover, the validation of credentials against TAs can be a significant contribution to processing or time for completion, for example in embedded devices. Performance can be improved by providing the other endpoint with hints about which TAs are supported, or which TAs should be used to verify specific credentials. This document specifies how to transport hints of TAs between EDHOC peers.</t>
      <t>EDHOC allows authorization-related information in the External Authorization Data (EAD) message fields, see <xref section="3.8" sectionFormat="of" target="RFC9528"/>. EAD can be included in any of the three mandatory and fourth optional EDHOC messages, providing flexibility and extensibility to the protocol. Its main purpose is to embed authorization-related information directly into the key exchange process, reducing the need for additional message exchanges and optimizing the overall protocol flow. Information about TAs is explicitly mentioned as one example of such authorization-related information, see <xref section="E" sectionFormat="of" target="RFC9528"/>.</t>
      <t>The primary motivation for this specification is to provide hints of TAs for authentication, typically related to Certificate Authorities (CAs), where the TA includes the public key of the CA. The hint is a COSE header parameter intended to facilitate the retrieval of the TA, for example a key identifier (kid) or a hash of an X.509 certificate containing the CA root public key (x5t), see <xref target="ead-item"/>. However, the same scheme can be applied to hints about other trusted third parties, such as Verifiers of remote attestation evidence <xref target="RFC9334"/> or Time Servers for network time synchronization <xref target="RFC5905"/>. This document defines an EDHOC EAD item containing hints about certain type of TAs, and enables the extension to other kind of hints and TAs through the registration of the appropriate IANA parameters.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="trust-anchor-hints">
      <name>Trust Anchor Hints</name>
      <section anchor="trust-anchor-purpose">
        <name>Trust Anchor Purpose</name>
        <t>The EAD item defined in <xref target="ead-item"/> provides hints to trust anchors for different purposes. <xref target="_table-edhoc-ta-hint"/> provides the currently defined list of purposes, which is extensible through the IANA registry defined in <xref target="iana"/>.</t>
        <table align="center" anchor="_table-edhoc-ta-hint">
          <name>EDHOC Trust Anchor purposes</name>
          <thead>
            <tr>
              <th align="left">Label</th>
              <th align="left">Purpose</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">1</td>
              <td align="left">Trust anchor of EDHOC authentication credential</td>
              <td align="left">[RFC-XXXX]</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">Trust anchor of remote attestation verifier</td>
              <td align="left">[RFC-XXXX]</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">Trust anchor of time server</td>
              <td align="left">[RFC-XXXX]</td>
            </tr>
          </tbody>
        </table>
        <ul spacing="normal">
          <li>
            <t>EDHOC authentication credential: This parameter hints at which TA to use for authentication credentials in EDHOC. The positive of the CBOR label (+1) in the EAD item indicates trust anchor to use for verifying the authentication credentials from the sender. The negative of the CBOR label (-1) indicates what trust anchors are supported by the sender and <bcp14>SHOULD</bcp14> be used in authentication credentials sent to the sender.</t>
          </li>
          <li>
            <t>Remote attestation verifier: TODO</t>
          </li>
          <li>
            <t>Time server: TODO</t>
          </li>
        </ul>
      </section>
      <section anchor="ead-item">
        <name>EAD Item</name>
        <t>This section defines the EAD item ead_ta_hint used to carry TA hints.</t>
        <t>Like all EAD items, ead_ta_hint consists of the ead_label, a predefined constant that identifies this particular EAD structure; and the ead_value, which in this case is a byte string containing a CBOR map with the CBOR-encoded TA hints.</t>
        <t>The following CDDL defines the EAD item, where header_map is defined in <xref section="3" sectionFormat="of" target="RFC9052"/>, and contain one or more COSE header parameters.</t>
        <figure anchor="fig-ead-item">
          <name>EAD item</name>
          <artwork type="CDDL" align="left"><![CDATA[
ead_ta_hint = (
    ead_label: TBD1,
    ead_value: bstr .cbor ta_hint_map,
),

ta_hint_map = {
  * int => header_map
}
]]></artwork>
        </figure>
        <t><xref target="_table-ta-hint-types"/> provides examples of COSE header_maps used as TA hint types.</t>
        <table align="center" anchor="_table-ta-hint-types">
          <name>EDHOC Trust Anchor hint types</name>
          <thead>
            <tr>
              <th align="left">TA hint type</th>
              <th align="left">CBOR label</th>
              <th align="left">CBOR type</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">kid</td>
              <td align="left">4</td>
              <td align="left">bstr</td>
              <td align="left">Key identifier</td>
              <td align="left">[RFC-9052]</td>
            </tr>
            <tr>
              <td align="left">c5t</td>
              <td align="left">22</td>
              <td align="left">COSE_CertHash</td>
              <td align="left">C509 certificate thumbprint</td>
              <td align="left">[draft-ietf-cose-cbor-encoded-cert]</td>
            </tr>
            <tr>
              <td align="left">c5u</td>
              <td align="left">23</td>
              <td align="left">uri</td>
              <td align="left">C509 certificate URI</td>
              <td align="left">[draft-ietf-cose-cbor-encoded-cert]</td>
            </tr>
            <tr>
              <td align="left">x5t</td>
              <td align="left">34</td>
              <td align="left">COSE_CertHash</td>
              <td align="left">X.509 certificate thumbprint</td>
              <td align="left">[RFC-9360]</td>
            </tr>
            <tr>
              <td align="left">x5u</td>
              <td align="left">35</td>
              <td align="left">uri</td>
              <td align="left">X.509 certificate URI</td>
              <td align="left">[RFC-9360]</td>
            </tr>
            <tr>
              <td align="left">uuid</td>
              <td align="left">TBD2</td>
              <td align="left">#6.37(bstr)</td>
              <td align="left">Binary CBOR-encoded UUID</td>
              <td align="left">[RFC-9562]</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="proc">
      <name>Authentication Processing</name>
      <t>In EDHOC message_2, the ta_hint_map with label 1 is used in the EAD_2 field to include hints about authentication TAs, i.e. TAs of the Responder's authentication credential AUTH_CRED_R. This hint informs the Initiator about which TAs to prioritize when validating AUTH_CRED_R. For example, if the Initiator’s trust store contains multiple CA/intermediate CA certificates, the Responder can include a hint indicating that the credentials should be validated using a specific TA identified by kid, x5t, x5u, c5t, c5u or UUID.</t>
      <t>Similarly for EDHOC message_3 and the TAs of the Initiator's authentication credential AUTH_CRED_I.</t>
      <section anchor="example-1">
        <name>Example 1</name>
        <t>Consider a scenario where the Initiator trusts five CA/intermediate certificates. The Responder, when sending message_2, knows that the Initiator should use the TA identified by kid=<tt>edhoc-noc-ica-2</tt> for verification. The Responder includes the following EAD item in EAD_2:</t>
        <artwork><![CDATA[
TBD1, << { 1: { 4: h'6564686F632D6E6F632D6963612D32'}} >>
]]></artwork>
        <t>When the Initiator receives message_2, it will prioritize validating the Responder’s credentials using the TA associated with the provided kid.</t>
        <t>If the validation against the TAs specified with the EAD item defined in this specification fails or is not recognized, then the receiver <bcp14>SHOULD</bcp14> fall back to the default validation process using available TAs. If all validation against TAs fail, then an error <bcp14>SHOULD</bcp14> be sent.</t>
      </section>
      <section anchor="example-2">
        <name>Example 2</name>
        <t>An EDHOC peer may include hints about its supported TAs for authentication by including a ta_hint_map with label -1 in an appropriate EAD field: EAD_1 related to the AUTH_CRED_R and EAD_2 for AUTH_CRED_I. This informs the other peer about what TAs to use in its credentials in the next EDHOC message. In the example below the TA is identified by its SHA-256/64 hash (-15) and the URI from which the root certificate can be retrieved. The EAD item ead_ta_hint could look like this:</t>
        <artwork><![CDATA[
TBD1, << { -1: { 34: [-15, h'79f2a41b510c1f9b'],
                 35: "http://certs.tech.com"}} >>
]]></artwork>
      </section>
      <section anchor="example-3">
        <name>Example 3</name>
        <t>In EAD_2, the Responder can include both the information about TAs to use for validating the AUTH_CRED_R (Example 1) and recommended TAs to use for AUTH_CRED_I by the Initiator (Example 2). The EAD item ead_ta_hint could look like this:</t>
        <artwork><![CDATA[
TBD1, << { 1: { 4: h'6564686F632D6E6F632D6963612D32'}
          -1: { 34: [-15, h'79f2a41b510c1f9b'],
                 35: "http://certs.tech.com"}} >>
]]></artwork>
        <t>Editor's note: Add examples using intermediate CAs</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="edhoc-external-authorization-data-registry">
        <name>EDHOC External Authorization Data Registry</name>
        <t>IANA is requested to register the following entry to the "EDHOC External Authorization Data" registry defined in Section 10.5 of <xref target="RFC9528"/>.</t>
        <t>The ead_label = TBD1 and the ead_value define TA hints transferred in an EAD item of an EDHOC message, with processing specified in <xref target="proc"/>.</t>
        <t>Name: Trust Anchor Hint</t>
        <t>Label: TBD1 (from the unsigned range)</t>
        <t>Description: A hint for determination of Trust Anchors used for verifying authentication credentials in EDHOC <xref target="RFC9528"/> or of other assertions used with External Authorization Data of EDHOC.</t>
        <t>Reference: [RFC-XXXX]</t>
      </section>
      <section anchor="edhoc-trust-anchor-hint-registry">
        <name>EDHOC Trust Anchor Hint Registry</name>
        <t>IANA has created a new registry entitled "EDHOC Trust Anchor Hint Registry". The registration procedure depends on the range of CBOR label values, following <xref target="RFC8126"/>. Guidelines for the experts are provided in TODO.</t>
        <t>The columns of the registry are:</t>
        <t>Label:
    The value to be used to identify this type of authority. Map key labels <bcp14>MUST</bcp14> be unique. The registry contains only positive integers, but negative integers <bcp14>MAY</bcp14> be used in the EAD item for the same type of authority but with separate semantics. Integer values between 1 and 23 are designated as Standards Track document required. Integer values from 24 to 255 are designated as Specification Required. Integer values from 256 to 65535 are designated as Expert Review. Integer values greater than 65535 are marked as Private Use.</t>
        <t>Purpose:
    This field contains a brief description for the field.</t>
        <t>Reference:
    This contains a pointer to the public specification for the field, if one exists.</t>
        <t>This registry has been initially populated by the values in <xref target="_table-edhoc-ta-hint"/>. The Reference column for all of these entries is this document.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC5905">
          <front>
            <title>Network Time Protocol Version 4: Protocol and Algorithms Specification</title>
            <author fullname="D. Mills" initials="D." surname="Mills"/>
            <author fullname="J. Martin" initials="J." role="editor" surname="Martin"/>
            <author fullname="J. Burbank" initials="J." surname="Burbank"/>
            <author fullname="W. Kasch" initials="W." surname="Kasch"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Network Time Protocol (NTP) is widely used to synchronize computer clocks in the Internet. This document describes NTP version 4 (NTPv4), which is backwards compatible with NTP version 3 (NTPv3), described in RFC 1305, as well as previous versions of the protocol. NTPv4 includes a modified protocol header to accommodate the Internet Protocol version 6 address family. NTPv4 includes fundamental improvements in the mitigation and discipline algorithms that extend the potential accuracy to the tens of microseconds with modern workstations and fast LANs. It includes a dynamic server discovery scheme, so that in many cases, specific server configuration is not required. It corrects certain errors in the NTPv3 design and implementation and includes an optional extension mechanism. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5905"/>
          <seriesInfo name="DOI" value="10.17487/RFC5905"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </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="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9528">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>This document specifies Ephemeral Diffie-Hellman Over COSE (EDHOC), a very compact and lightweight authenticated Diffie-Hellman key exchange with ephemeral keys. EDHOC provides mutual authentication, forward secrecy, and identity protection. EDHOC is intended for usage in constrained scenarios, and a main use case is to establish an Object Security for Constrained RESTful Environments (OSCORE) security context. By reusing CBOR Object Signing and Encryption (COSE) for cryptography, Concise Binary Object Representation (CBOR) for encoding, and Constrained Application Protocol (CoAP) for transport, the additional code size can be kept very low.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9528"/>
          <seriesInfo name="DOI" value="10.17487/RFC9528"/>
        </reference>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC9360">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing X.509 Certificates</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>The CBOR Object Signing and Encryption (COSE) message structure uses references to keys in general. For some algorithms, additional properties are defined that carry parameters relating to keys as needed. The COSE Key structure is used for transporting keys outside of COSE messages. This document extends the way that keys can be identified and transported by providing attributes that refer to or contain X.509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9360"/>
          <seriesInfo name="DOI" value="10.17487/RFC9360"/>
        </reference>
        <reference anchor="RFC9562">
          <front>
            <title>Universally Unique IDentifiers (UUIDs)</title>
            <author fullname="K. Davis" initials="K." surname="Davis"/>
            <author fullname="B. Peabody" initials="B." surname="Peabody"/>
            <author fullname="P. Leach" initials="P." surname="Leach"/>
            <date month="May" year="2024"/>
            <abstract>
              <t>This specification defines UUIDs (Universally Unique IDentifiers) --
also known as GUIDs (Globally Unique IDentifiers) -- and a Uniform
Resource Name namespace for UUIDs. A UUID is 128 bits long and is
intended to guarantee uniqueness across space and time. UUIDs were
originally used in the Apollo Network Computing System (NCS), later
in the Open Software Foundation's (OSF's) Distributed Computing
Environment (DCE), and then in Microsoft Windows platforms.</t>
              <t>This specification is derived from the OSF DCE specification with the
kind permission of the OSF (now known as "The Open Group"). Information from earlier versions of the OSF DCE specification have
been incorporated into this document. This document obsoletes RFC
4122.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9562"/>
          <seriesInfo name="DOI" value="10.17487/RFC9562"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-cose-cbor-encoded-cert">
          <front>
            <title>CBOR Encoded X.509 Certificates (C509 Certificates)</title>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Shahid Raza" initials="S." surname="Raza">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Joel Höglund" initials="J." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Martin Furuhed" initials="M." surname="Furuhed">
              <organization>Nexus Group</organization>
            </author>
            <date day="8" month="July" year="2024"/>
            <abstract>
              <t>   This document specifies a CBOR encoding of X.509 certificates.  The
   resulting certificates are called C509 Certificates.  The CBOR
   encoding supports a large subset of RFC 5280 and all certificates
   compatible with the RFC 7925, IEEE 802.1AR (DevID), CNSA, RPKI, GSMA
   eUICC, and CA/Browser Forum Baseline Requirements profiles.  When
   used to re-encode DER encoded X.509 certificates, the CBOR encoding
   can in many cases reduce the size of RFC 7925 profiled certificates
   with over 50% while also significantly reducing memory and code size
   compared to ASN.1.  The CBOR encoded structure can alternatively be
   signed directly ("natively signed"), which does not require re-
   encoding for the signature to be verified.  The document also
   specifies C509 Certificate Signing Requests, C509 COSE headers, a
   C509 TLS certificate type, and a C509 file format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-cbor-encoded-cert-11"/>
        </reference>
      </references>
    </references>
    <?line 219?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
VS0AAA==

-->

</rfc>
