<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.21 (Ruby 3.0.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>

<rfc ipr="trust200902" docName="draft-tschofenig-cose-cwt-chain-03" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="CWT Chains">CBOR Object Signing and Encryption (COSE): Header Parameters for Carrying and Referencing Chains of CBOR Web Tokens (CWTs)</title>

    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization abbrev="H-BRS">University of Applied Sciences Bonn-Rhein-Sieg</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="B." surname="Moran" fullname="Brendan Moran">
      <organization>Arm Limited</organization>
      <address>
        <email>brendan.moran.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>

    <date year="2025" month="October" day="20"/>

    <area>Security</area>
    <workgroup>COSE</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 75?>

<t>The CBOR Object Signing and Encryption (COSE) message structure uses
references to keys and defines header parameters to carry chains of X.509
certificates.</t>

<t>This specification extends this functionality to CBOR Web Tokens (CWTs).</t>



    </abstract>



  </front>

  <middle>


<?line 83?>

<section anchor="introduction"><name>Introduction</name>

<t>The CBOR Object Signing and Encryption (COSE) message structure uses
references to keys and defines header parameters to carry chains of X.509
certificates. The header parameters for conveying X.509 certificate chains
in a COSE payload are defined in <xref target="RFC9360"/>.</t>

<t>This document is inspired by RFC 9360 and defines header parameters to
convey chains of CBOR Web Tokens (CWTs) <xref target="RFC8392"/>. The use of chains of
CWTs allows a trust infrastructure established by CWTs to be used with COSE.
The Concise Binary Object Representation (CBOR) key structures <xref target="RFC8949"/>
that have been defined in COSE support the use of X.509 certificates. This
specification applies the well-proven concepts to CWTs. These chains of CWTs
allow path validation similarly to what a X.509 certificate-based Public Key
Infrastructure (PKI) provides. Since <xref target="RFC8747"/> does not define the
semantics of path validation for CWTs, new terminology is introduced.</t>

<t>This document is structured as follows: After introducing some terms, we
describe path validation for CWTs. Then, we define new header parameters.</t>

</section>
<section anchor="terminology-and-requirements-language"><name>Terminology and Requirements Language</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 <xref target="RFC2119"/>.</t>

<t>The following terms are useful for readers of this document:</t>

<t><list style="symbols">
  <t>End Entity: user of CWT and/or end user system that is the subject of a CWT;</t>
  <t>CA: certification authority; RFC 8747 calls this entity the "issuer" and
describes it as "the party that creates the CWT and binds the claims about
the subject to the proof-of-possession key". In an OAuth-based system,
this entity often corresponds to an authorization server.</t>
  <t>CA CWT: A CWT that is self-issued whereby the same name appears in the
subject and issuer claims.</t>
  <t>RA: registration authority, i.e., an optional system to which
a CA delegates certain management functions; while often used in PKI
deployments it is a role that has not found usage in systems using CWTs.</t>
  <t>CRL issuer: a system that generates and signs Certificate Revocation
Lists (CRLs); The term CRL is used generically to also refer to status
lists <xref target="I-D.ietf-oauth-status-list"/>.</t>
  <t>repository: a system or collection of distributed systems that stores
CWTs and CRLs and serves as a means of distributing these CWTs and CRLs
to end entities. These repositories may be append-only databases, in the
style of <xref target="I-D.ietf-keytrans-architecture"/>.</t>
  <t>Trust Anchor:  As defined in <xref target="RFC6024"/> and <xref target="RFC9019"/>, a Trust Anchor
"represents an authoritative entity via a public key and associated data.
The public key is used to verify digital signatures, and the associated
data is used to constrain the types of information for which the trust
anchor is authoritative." The trust anchor may be a CWT, a raw public key,
or other structure, as appropriate.</t>
  <t>Subject Public Key (Info): The "confirmation" claim, defined in <xref target="RFC8747"/>,
used to carry the public key and the algorithm with which the key is used.</t>
</list></t>

</section>
<section anchor="cwt-path-validation"><name>CWT Path Validation</name>

<t>The goal of path validation is to verify the binding between a subject
name and the public key, as represented in the target CWT, based
on the public key of the trust anchor. In most cases, the target
CWT will be an end entity CWT. Verifying the binding between the name and
subject public key requires obtaining a sequence of certificates that
support that binding. For path validation to work CWTs that have a
minimum number of claims, namely:</t>

<t><list style="symbols">
  <t>Subject</t>
  <t>Issuer</t>
  <t>Confirmation</t>
</list></t>

<t>Valid paths begin with CWTs issued by a trust anchor and the trust anchor
is an input to the algorithm. The algorithm in Section 6 of <xref target="RFC5280"/>
requires the public key of the CA, the CA's name, and any constraints upon
the set of paths that may be validated using this key.</t>

<t>The path validation algorithm verifies that a prospective certification
path (a sequence of n CWTs) satisfies the following conditions:</t>

<t>(a)  for all x in {1, ..., n-1}, the subject of CWT x is the issuer of CWT x+1;</t>

<t>(b)  CWT 1 is issued by the trust anchor;</t>

<t>(c)  CWT n is the CWT to be validated (i.e., the target CWT); and</t>

<t>Note:  When the trust anchor is provided in the form of a self-signed CWT,
this self-signed CWT is not included as part of the prospective certification path.</t>

<t>As a variation to the algorithm presented in Section 6 of <xref target="RFC5280"/>, there
is no strict requirement for a CWT being valid in terms of its lifetime (as
indicated by the "Expiration Time" and the "Not Before" claims) since CWTs
may not necessarily carry these claims and validity may be determined via
different means, which are outside the scope of this algorithm.</t>

<t>Path validation is an important part of establishing trust in a CWT and
when applying path validation, as defined in Section 6 of <xref target="RFC5280"/>, to
CWTs the reader needs to treat them as certificates. It is important to keep
in mind that many of the advanced features available with an X.509 certificate-based
PKI are, at the time of writing, not available with CWTs. The authors do,
however, believe that differences will decrease over time as CWT-based deployments
scale.</t>

</section>
<section anchor="cwt-cose-header-parameters"><name>CWT COSE Header Parameters</name>

<t>Parties that intend to rely on the assertions made by a CWTs
obtained from any of these methods still need to validate it.  This
validation can be done according to the PKIX rules specified in
<xref target="RFC5280"/> or by using a different trust structure, such as a trusted
distributor for self-signed CWTs.  The PKIX
validation includes matching against the trust anchors configured for
the application.  These rules apply when the validation succeeds in a
single step as well as when CWT chains need to be built.  If
the application cannot establish trust in the CWT, the public
key contained in the CWT cannot be used for cryptographic
operations.</t>

<t>The header parameters defined in this document are as follows:</t>

<t>cwt-bag:  This header parameter contains a bag of CWTs, which is unordered and
    may contain self-signed CWTs.  Note that there could be
    duplicate CWTs.  The CWT bag can contain
    CWTs that are completely extraneous to the message.  (An
    example of this would be where a signed message is being used to
    transport a CWT containing a key agreement key.)  As the
    CWT bag is unordered, the party evaluating the signature
    will need to be capable of building the CWT path as
    necessary.  That party will also have to take into account that
    the bag may not contain the full set of CWTs needed to
    build any particular chain.</t>

<figure><artwork><![CDATA[
The trust mechanism MUST process any CWT in this
header as untrusted input.  The presence of a self-signed
CWT in the header MUST NOT cause the update of the set
of trust anchors without some out-of-band confirmation.  As the
contents of this header parameter are untrusted input, the header
parameter can be in either the protected or unprotected header
bucket.  Sending the header parameter in the unprotected header
bucket allows an intermediary to remove or add CWT.

The end entity CWT MUST be integrity protected by COSE.
This can, for example, be done by sending the header parameter in
the protected header, sending an 'cwt-bag' in the unprotected header
combined with an 'cwt-t' in the protected header, or including the
end entity CWT in the external_aad.

This header parameter allows for a single CWT or a
bag of CWT to be carried in the message.

*  If a single CWT is conveyed, it is placed in a CBOR
    byte string.

*  If multiple CWTs are conveyed, a CBOR array of byte
    strings is used, with each CWT being in its own byte
    string.
]]></artwork></figure>

<t>cwt-chain:  This header parameter contains an ordered array of CWTs.
    The CWTs are to be ordered starting with
    the CWT containing the end entity key followed by the
    CWT that signed it, and so on.  There is no requirement
    for the entire chain to be present in the element if there is
    reason to believe that the relying party already has, or can
    locate, the missing CWT.  This means that the relying
    party is still required to do path building but that a candidate
    path is proposed in this header parameter.</t>

<figure><artwork><![CDATA[
The trust mechanism MUST process any CWT in this
parameter as untrusted input.  The presence of a self-signed
CWT in the parameter MUST NOT cause the update of the set
of trust anchors without some out-of-band confirmation.  As the
contents of this header parameter are untrusted input, the header
parameter can be in either the protected or unprotected header
bucket.  Sending the header parameter in the unprotected header
bucket allows an intermediary to remove or add CWT.

The end entity CWT MUST be integrity protected by COSE.
This can, for example, be done by sending the header parameter in
the protected header, sending an 'cwt-chain' in the unprotected
header combined with an 'cwt-t' in the protected header, or
including the end entity CWT in the external_aad.

This header parameter allows for a single CWT or a
chain of CWTs to be carried in the message.

*  If a single CWT is conveyed, it is placed in a CBOR
    byte string.

*  If multiple CWTs are conveyed, a CBOR array of byte
    strings is used, with each CWT being in its own byte
    string.
]]></artwork></figure>

<t>cwt-t:  This header parameter identifies the end entity CWT
    by a hash value (a thumbprint).  The 'cwt-t' header
    parameter is represented as an array of two elements.  The first
    element is an algorithm identifier that is an integer or a string
    containing the hash algorithm identifier corresponding to the
    Value column (integer or text string) of the algorithm registered
    in the "COSE Algorithms" registry (see <xref target="COSE-IANA"/>).  The second
    element is a binary string containing the hash value computed over the CWT.</t>

<figure><artwork><![CDATA[
As this header parameter does not provide any trust, the header
parameter can be in either a protected or unprotected header
bucket.

The identification of the end entity CWT MUST be integrity
protected by COSE.  This can be done by sending the header
parameter in the protected header or including the end entity
CWT in the external_aad.

The 'cwt-t' header parameter can be used alone or together with the
'cwt-bag', 'cwt-chain', or 'cwt-u' header parameters to provide
integrity protection of the end entity CWT.

For interoperability, applications that use this header parameter
MUST support the hash algorithm 'SHA-256' but can use other hash
algorithms.  This requirement allows for different implementations
to be configured to use an interoperable algorithm, but does not
preclude the use (by prior agreement) of other algorithms.

Note: For conveying the thumbprint of a public key alone, see
{{RFC9679}}.
]]></artwork></figure>

<t>cwt-u:  This header parameter provides the ability to identify a CWT
    by a URI <xref target="RFC3986"/>.  It contains a CBOR text string.
    The referenced resource can be any of the following media types:</t>

<figure><artwork><![CDATA[
*  application/cwt {{RFC8392}}

*  application/cwt; usage=chain (see {{chain}})

When the application/cwt media type is used, the data is a
encoded according to RFC 8392.  If the parameter "usage" is
set to "chain", this sequence indicates a CWT chain.

The end entity CWT MUST be integrity protected by COSE.
This can, for example, be done by sending the 'cwt-u' in the
unprotected or protected header combined with an 'cwt-t' in the
protected header, or including the end entity CWT in the
external_aad.  As the end entity CWT is integrity
protected by COSE, the URI does not need to provide any
protection.

If a retrieved CWT does not chain to an existing trust
anchor, that CWT MUST NOT be trusted unless the URI
provides integrity protection and server authentication and the
server is configured as trusted to provide new trust anchors or if
an out-of-band confirmation can be received for trusting the
retrieved CWT.  If an HTTP or Constrained Application
Protocol (CoAP) GET request is used to retrieve a CWT, a
standardized security protocol should be used. Examples of such
security protocols include TLS
{{RFC8446}}, DTLS {{RFC9147}}, or Object Security for Constrained
RESTful Environments (OSCORE) {{RFC8613}} should be used.
]]></artwork></figure>

<t>The header parameters are used in the following locations:</t>

<t>COSE_Signature and COSE_Sign1 objects:  In these objects, the
    parameters identify the CWT to be used for validating the
    signature.</t>

<t>COSE_recipient objects:  In this location, the parameters identify
    the CWT for the recipient of the message.</t>

<t>The labels assigned to each header parameter can be found in
<xref target="fig-parameters"/>.</t>

<figure title="CWT COSE Header Parameters." anchor="fig-parameters"><artwork><![CDATA[
+===========+=======+===============+==========================+
| Name      | Label | Value Type    | Description              |
+===========+=======+===============+==========================+
| cwt-bag   | TBD1  | COSE_CWT      | An unordered bag of CWTs |
+-----------+-------+---------------+--------------------------+
| cwt-chain | TBD2  | COSE_CWT      | An ordered chain of CWTs |
+-----------+-------+---------------+--------------------------+
| cwt-t     | TBD3  | COSE_CWTHash  | Hash of a CWT            |
+-----------+-------+---------------+--------------------------+
| cwt-u     | TBD4  | uri           | URI pointing to a CWT    |
+-----------+-------+---------------+--------------------------+
]]></artwork></figure>

<t>Below is an equivalent Concise Data Definition Language (CDDL)
description (see <xref target="RFC8610"/>) of the text above.</t>

<figure><artwork><![CDATA[
COSE_CWT = CWT-Messages / [ 2* CWT-Messages ]
COSE_CWTHash = [ hashAlg: (int / tstr), hashValue: bstr ]
]]></artwork></figure>

<t>The contents of "bstr" are the bytes of a CWT.</t>

</section>
<section anchor="cwts-and-static-static-ecdh"><name>CWTs and Static-Static ECDH</name>

<t>The header parameters defined in the previous section are used to
identify the recipient CWT. In this section, we define
the algorithm-specific parameters that are used for identifying or
transporting the sender's key for static-static key agreement
algorithms.</t>

<t>These attributes are defined analogously to those in the previous
section.  There is no definition for the CWT bag, as the same
parameter would be used for both the sender and recipient.</t>

<t>cwt-chain-sender:
    This header parameter contains the chain of CWT starting
    with the sender's key exchange CWT.  The structure is the
    same as 'cwt-chain'.</t>

<t>cwt-t-sender:
    This header parameter contains the hash value for the sender's key
    exchange CWT.  The structure is the same as 'cwt-t'.</t>

<t>cwt-u-sender:
    This header parameter contains a URI for the sender's key exchange
    CWT.  The structure and processing are the same as 'cwt-u'.</t>

<figure title="Static ECDH Algorithm Values." anchor="fig-static-ecdh"><artwork><![CDATA[
+==============+=====+=============+===================+===========+
|Name          |Label|Type         | Algorithm         |Description|
+==============+=====+=============+===================+===========+
|cwt-t-sender  |TBD5 |COSE_CWTHash | ECDH-SS+HKDF-256, |Thumbprint |
|              |     |             | ECDH-SS+HKDF-512, |for the    |
|              |     |             | ECDH-SS+A128KW,   |sender's   |
|              |     |             | ECDH-SS+A192KW,   |CWT        |
|              |     |             | ECDH-SS+A256KW    |           |
+--------------+-----+-------------+-------------------+-----------+
|cwt-u-sender  |TBD6 |uri          | ECDH-SS+HKDF-256, |URI for the|
|              |     |             | ECDH-SS+HKDF-512, |sender's   |
|              |     |             | ECDH-SS+A128KW,   |CWT        |
|              |     |             | ECDH-SS+A192KW,   |           |
|              |     |             | ECDH-SS+A256KW    |           |
+--------------+-----+-------------+-------------------+-----------+
|cwt-chain-    |TBD7 |COSE_CWT     | ECDH-SS+HKDF-256, |static key |
|  sender      |     |             | ECDH-SS+HKDF-512, |CWT chain  |
|              |     |             | ECDH-SS+A128KW,   |           |
|              |     |             | ECDH-SS+A192KW,   |           |
|              |     |             | ECDH-SS+A256KW    |           |
+--------------+-----+-------------+-------------------+-----------+
]]></artwork></figure>

</section>
<section anchor="example"><name>Example</name>

<t>TBD</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>Establishing trust in a CWT is a vital part of processing.  A
major component of establishing trust is determining what the set of
trust anchors are for the process.  A new self-signed CWT
appearing on the client cannot be a trigger to modify the set of
trust anchors, because a well-defined trust-establishment process is
required.  One common way for a new trust anchor to be added to (or
removed from) a device is by doing a new firmware upgrade.</t>

<t>In constrained systems, there is a trade-off between the order of
checking the signature and checking the CWT for validity.
Validating CWTs may require that network resources be
accessed in order to get status information or retrieve
CWTs during path building.  The resulting network access can
consume power and network bandwidth.  On the other hand, if the
CWT are validated after the signature is validated, an
oracle can potentially be built based on detecting the network
resources, which is only done if the signature validation passes.  In
any event, both the signature validation and the CWT
validation MUST be completed successfully before acting on any
requests.</t>

<t>The end entity CWT MUST be integrity protected
by COSE.  Without proof of possession, an attacker can trick the CA
into issuing an identity-misbinding CWT with someone else's
"borrowed" public key but with a different subject.  An on-path
attacker can then perform an identity-misbinding attack by replacing
the real end entity CWT in COSE with such an identity-
misbinding CWT.</t>

<t>end entity CWTs contain identities that a passive on-path attacker
eavesdropping on the conversation can use to identify and track the
subject.  The 'cwt-t' and 'cwt-u' header parameters are just
alternative permanent identifiers and can also be used to track
the subject. To provide identity protection, COSE can be sent inside
another security protocol providing confidentiality. Additionally,
the encryption capabilities of COSE itself can be used to protect
the CWT content.</t>

<t>When processing the 'cwt-u' header parameter, the security
considerations of <xref target="RFC3986"/>, and specifically those defined in
Section 7.1 of <xref target="RFC3986"/>, also apply.</t>

<t>Protecting the integrity of the 'cwt-bag', 'cwt-chain', and 'cwt-t'
contents by placing them in the protected header bucket can help
mitigate some risks of a misbehaving CA (cf. Section 5.1 of
<xref target="RFC2634"/>).</t>

<t>The security of the algorithm used for 'cwt-t' does not affect the
security of the system, as this header parameter selects which
CWT that is already present on the system should be used, but
it does not provide any trust.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<section anchor="cose-header-parameters-registry"><name>COSE Header Parameters Registry</name>

<t>IANA has registered the new COSE Header parameters in <xref target="fig-parameters"/> in the
"COSE Header Parameters" registry.  The "Value Registry" field is
empty for all of the items.  For each item, the "Reference" field
points to this document.</t>

</section>
<section anchor="cose-header-algorithm-parameters-registry"><name>COSE Header Algorithm Parameters Registry</name>

<t>IANA has registered the new COSE Header Algorithm parameters in
<xref target="fig-static-ecdh"/> in the "COSE Header Algorithm Parameters" registry.
For each item, the "Reference" field points to this document.</t>

</section>
<section anchor="media-type-applicationcwt"><name>Media Type application/cwt</name>

<t>When the application/cwt media type is used, the data is a CBOR
sequence of single-entry COSE_CWT structures (encoding "bstr").  If
the parameter "usage" is set to "chain", this sequence indicates a
CWT chain.</t>

<t>The application/cwt media type is already registered by <xref target="RFC8392"/> and
this document updates the IANA entry of this media type <xref target="RFC6838"/>:</t>

<t><list style="symbols">
  <t>Type name:  application</t>
  <t>Subtype name:  cwt</t>
  <t>Required parameters:  N/A</t>
  <t>Optional parameters:  usage  <list style="symbols">
      <t>Can be absent to provide no further information about the
 intended meaning of the order in the CBOR sequence of
 CWT.</t>
      <t>Can be set to "chain" to indicate that the sequence of data
 items is to be interpreted as a CWT chain.</t>
    </list></t>
  <t>Encoding considerations:  binary</t>
  <t>Security considerations:  See the Security Considerations section of
  RFC 8392 and [TBD: This RFC].</t>
  <t>Interoperability considerations:  N/A</t>
  <t>Published specification:  RFC 8392 and [TBD: This RFC]</t>
  <t>Applications that use this media type:  Applications that employ COSE
  and use CWTs, including IoT applications and digital credentials
  in general.</t>
  <t>Fragment identifier considerations:  N/A</t>
  <t>Additional information:  <list style="symbols">
      <t>Deprecated alias names for this type:  N/A</t>
      <t>Magic number(s):  N/A</t>
      <t>File extension(s):  N/A</t>
      <t>Macintosh file type code(s):  N/A</t>
    </list></t>
  <t>Person &amp; email address to contact for further information: iesg@ietf.org</t>
  <t>Intended usage:  COMMON</t>
  <t>Restrictions on usage:  N/A</t>
  <t>Author:  COSE WG</t>
  <t>Change controller:  IESG</t>
  <t>Provisional registration?  No</t>
</list></t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<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="RFC2634">
  <front>
    <title>Enhanced Security Services for S/MIME</title>
    <author fullname="P. Hoffman" initials="P." role="editor" surname="Hoffman"/>
    <date month="June" year="1999"/>
    <abstract>
      <t>This document describes four optional security service extensions for S/MIME. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2634"/>
  <seriesInfo name="DOI" value="10.17487/RFC2634"/>
</reference>

<reference anchor="RFC3986">
  <front>
    <title>Uniform Resource Identifier (URI): Generic Syntax</title>
    <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
    <author fullname="R. Fielding" initials="R." surname="Fielding"/>
    <author fullname="L. Masinter" initials="L." surname="Masinter"/>
    <date month="January" year="2005"/>
    <abstract>
      <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="66"/>
  <seriesInfo name="RFC" value="3986"/>
  <seriesInfo name="DOI" value="10.17487/RFC3986"/>
</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="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="RFC8392">
  <front>
    <title>CBOR Web Token (CWT)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
    <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <date month="May" year="2018"/>
    <abstract>
      <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8392"/>
  <seriesInfo name="DOI" value="10.17487/RFC8392"/>
</reference>

<reference anchor="RFC8610">
  <front>
    <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
    <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
    <author fullname="C. Vigano" initials="C." surname="Vigano"/>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <date month="June" year="2019"/>
    <abstract>
      <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8610"/>
  <seriesInfo name="DOI" value="10.17487/RFC8610"/>
</reference>

<reference anchor="RFC8747">
  <front>
    <title>Proof-of-Possession Key Semantics for CBOR Web Tokens (CWTs)</title>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="L. Seitz" initials="L." surname="Seitz"/>
    <author fullname="G. Selander" initials="G." surname="Selander"/>
    <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <date month="March" year="2020"/>
    <abstract>
      <t>This specification describes how to declare in a CBOR Web Token (CWT) (which is defined by RFC 8392) that the presenter of the CWT possesses a particular proof-of-possession key. Being able to prove possession of a key is also sometimes described as being the holder-of-key. This specification provides equivalent functionality to "Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)" (RFC 7800) but using Concise Binary Object Representation (CBOR) and CWTs rather than JavaScript Object Notation (JSON) and JSON Web Tokens (JWTs).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8747"/>
  <seriesInfo name="DOI" value="10.17487/RFC8747"/>
</reference>

<reference anchor="RFC8949">
  <front>
    <title>Concise Binary Object Representation (CBOR)</title>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
    <date month="December" year="2020"/>
    <abstract>
      <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
      <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="94"/>
  <seriesInfo name="RFC" value="8949"/>
  <seriesInfo name="DOI" value="10.17487/RFC8949"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC6024">
  <front>
    <title>Trust Anchor Management Requirements</title>
    <author fullname="R. Reddy" initials="R." surname="Reddy"/>
    <author fullname="C. Wallace" initials="C." surname="Wallace"/>
    <date month="October" year="2010"/>
    <abstract>
      <t>A trust anchor represents an authoritative entity via a public key and associated data. The public key is used to verify digital signatures, and the associated data is used to constrain the types of information for which the trust anchor is authoritative. A relying party uses trust anchors to determine if a digitally signed object is valid by verifying a digital signature using the trust anchor's public key, and by enforcing the constraints expressed in the associated data for the trust anchor. This document describes some of the problems associated with the lack of a standard trust anchor management mechanism and defines requirements for data formats and push-based protocols designed to address these problems. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6024"/>
  <seriesInfo name="DOI" value="10.17487/RFC6024"/>
</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="RFC8613">
  <front>
    <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
    <author fullname="G. Selander" initials="G." surname="Selander"/>
    <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
    <author fullname="F. Palombini" initials="F." surname="Palombini"/>
    <author fullname="L. Seitz" initials="L." surname="Seitz"/>
    <date month="July" year="2019"/>
    <abstract>
      <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE). OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
      <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration. Therefore, this document updates RFC 7252.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8613"/>
  <seriesInfo name="DOI" value="10.17487/RFC8613"/>
</reference>

<reference anchor="RFC9019">
  <front>
    <title>A Firmware Update Architecture for Internet of Things</title>
    <author fullname="B. Moran" initials="B." surname="Moran"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <author fullname="D. Brown" initials="D." surname="Brown"/>
    <author fullname="M. Meriac" initials="M." surname="Meriac"/>
    <date month="April" year="2021"/>
    <abstract>
      <t>Vulnerabilities in Internet of Things (IoT) devices have raised the need for a reliable and secure firmware update mechanism suitable for devices with resource constraints. Incorporating such an update mechanism is a fundamental requirement for fixing vulnerabilities, but it also enables other important capabilities such as updating configuration settings and adding new functionality.</t>
      <t>In addition to the definition of terminology and an architecture, this document provides the motivation for the standardization of a manifest format as a transport-agnostic means for describing and protecting firmware updates.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9019"/>
  <seriesInfo name="DOI" value="10.17487/RFC9019"/>
</reference>

<reference anchor="RFC9147">
  <front>
    <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
    <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
    <date month="April" year="2022"/>
    <abstract>
      <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
      <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
      <t>This document obsoletes RFC 6347.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9147"/>
  <seriesInfo name="DOI" value="10.17487/RFC9147"/>
</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="RFC9679">
  <front>
    <title>CBOR Object Signing and Encryption (COSE) Key Thumbprint</title>
    <author fullname="K. Isobe" initials="K." surname="Isobe"/>
    <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
    <author fullname="O. Steele" initials="O." surname="Steele"/>
    <date month="December" year="2024"/>
    <abstract>
      <t>This specification defines a method for computing a hash value over a CBOR Object Signing and Encryption (COSE) Key. It specifies which fields within the COSE Key structure are included in the cryptographic hash computation, the process for creating a canonical representation of these fields, and how to hash the resulting byte sequence. The resulting hash value, referred to as a "thumbprint", can be used to identify or select the corresponding key.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9679"/>
  <seriesInfo name="DOI" value="10.17487/RFC9679"/>
</reference>


<reference anchor="I-D.ietf-oauth-status-list">
   <front>
      <title>Token Status List (TSL)</title>
      <author fullname="Tobias Looker" initials="T." surname="Looker">
         <organization>MATTR</organization>
      </author>
      <author fullname="Paul Bastian" initials="P." surname="Bastian">
         <organization>Bundesdruckerei</organization>
      </author>
      <author fullname="Christian Bormann" initials="C." surname="Bormann">
         <organization>SPRIND</organization>
      </author>
      <date day="7" month="July" year="2025"/>
      <abstract>
	 <t>   This specification defines a mechanism called Token Status List
   (abbreviated TSL), data structures and processing rules for
   representing the status of tokens secured by JSON Object Signing and
   Encryption (JOSE) or CBOR Object Signing and Encryption (COSE), such
   as JWT, SD-JWT VC, CBOR Web Token and ISO mdoc.  It also defines an
   extension point and a registry for future status mechanisms.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-status-list-12"/>
   
</reference>


<reference anchor="I-D.ietf-keytrans-architecture">
   <front>
      <title>Key Transparency Architecture</title>
      <author fullname="Brendan McMillion" initials="B." surname="McMillion">
         </author>
      <date day="19" month="October" year="2025"/>
      <abstract>
	 <t>   This document defines the terminology and interaction patterns
   involved in the deployment of Key Transparency in a general secure
   group messaging infrastructure, and specifies the security properties
   that the protocol provides.  It also gives more general, non-
   prescriptive guidance on how to securely apply Key Transparency to a
   number of common applications.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-keytrans-architecture-05"/>
   
</reference>


<reference anchor="COSE-IANA" target="https://www.iana.org/assignments/cose/">
  <front>
    <title>CBOR Object Signing and Encryption (COSE) IANA Registry</title>
    <author >
      <organization>IANA</organization>
    </author>
    <date year="2023" month="December"/>
  </front>
</reference>


    </references>

</references>


<?line 562?>

<section anchor="contributor"><name>Contributor</name>

<t>We would like to thank Ken Takayama for his work on the IETF SUIT trust
domains draft, which created the idea for writing this specification. Ken
provided valuable review feedback.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>Add your name here.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA+1cbW/byLX+bsD/YaAFbuyNpMTOJptosbh1bKcx8nptb9OL
oihG5EjimiJVkrKj3aS//Z7nnDPDoSQnm2ZR9ALNh1iiODNnzvvbzGAw2N1p
siZ3I9M7fvrm3LwZ/+ySxlxk0yIrpsYWqTktkmq1aLKyMHvHby5O90fmubOp
q8xbW9m5a1xVm0lZmWNbVSs/6txNXOWKBN+PZzYralNODK/xzo3NZXnl6NHe
8bvLer+3u7O7Y8fjyl2PDD3RAbs7aZkUtMLIpJWdNIOmTmblxBXZdJCUtRsk
N80gwauD+w92dxLbuGlZrUamblLMmC2qkWmqZd0c3r//5P4hrVE5OzIXLllW
WbPa3bkpq6tpVS4XtCztbHfnyq3oWToyZwVtq3DN4AQrY7a6oW39zeZlQfCs
HEG3yEa7O8ZUk8SldbPK/XNjmjKJP2dF6oomPKnLqqncpG4frObd702VJe37
STmf0/j296zIsyJazb1vBnlWNwOaaFzm9OKg/PYufiIEzu1iQUTQtwkHy2ZW
Vgz5AP8ZIyh+bovC1eYy4Fh+LKupLbJfLOg/Mj8V2TWRm5AHah4tFnnmUnOR
ZERpGvy0LIrB+cwRRS4ypzN4wj4fPD2/kEdJuSwaUOqPrprbYiVP3dxmuQdk
2ALyh+n8/ZBoEYFM3DEyT4fmVVnZIt7FU+K51BbxD90dHFVz8zKbZ41LO6uO
ZeBwjoHDzDUTWpZ+GRL2N3HliivzNKuuZmX+S1hlZJ5VdlkA6spcnF12t7/t
N117RtMNxzrdHwi7w0l4eZg6eZeYwjliCkYvfbF17cz3Dz1CUwLrzqPvDp88
vKOPiEgjc2KrOXFu2tyG+N2doqSPDdGVeeL82fHhwcGT8PnRg+/85wdPHj/y
nx8ePr7vPz96/OCx//z4wZPD8PnRQXjn8ffffR8+P/kO82fFZH3lR/cPw2qP
v/vuUTTTA//5yf0WuicH7axPHjwKqz159D3ewbezwQlTc1CC8QeEi2ZZs7SM
Oj+T5BNOi3pgq2RG3JE0y0rggmYYnB29PhopQVsBCoTHz/JAtelvVqY8lLTl
lCCqVBBS0mREOpe4+ZjY5fD+4QOd3FZT8MCsaRb16N69m5ubYWYLOyQg7hFD
0EKsKe5BPd7b3RkMBsR/YJaEddjlzH0BZHNX13bqwHlLRodZ1tAhlap2Evim
NIS4midI3SSDBpmJcVi0xoHeSmAbTBIMwZ+HD+8/IZ3tqiabZFDd9VAgzGpT
L1wiTwENaTcSTZoFP02WRYKnNocOoom3WxSeC7ufZ2maO3z7xkCpV2W65An+
/dFhAN7maFjapCyuHZtaHmiicTopxMtY5l0avMpLmxqyfgpVSgrU/PqrSs3H
jy3qyWAswUKGPtM0i6yil8crCJXBu5/dGm2CgYs2t51Esj70Ba3PeyV04vUw
cHcHLxqb5+UN/RFTTlCRcmxp4EiixyTOM4GTRxCCxzxdam6yZsZYGCq5S3JJ
aJ2nWWGJAkr4c7eoXE3btkpwgngfpGyJXSu8pLs+fiSnaWYbM7PXjlZyRYxW
Rnm9XCzIyhPPhm1tUIopnBGluuxu2ajWPPTG5flgUZXXtAShNXGLhneHXTLO
ahfjmZ6SfQe6iCa072uSklRmrcnk5bbKWWZuALzdhGgwtsDZ2yUhNDEvHKmj
sy62996+ONs3gChLsYGLjIBSzJCG//iRGIhgL8pGUYJt0A7J0BVNljCY66Cx
60ig903hbsiZqeZZUebldCU8KCLr0u08GkAj9oZsMK+QlZ/QPGEwBKUu544n
p3VuCCQCP6kyYpPbwGH8FnjZbwXgbbD8UHTLZQS2uL9/X5LssDY2L20xXZLq
8DoHjAU3sza9Vz9dXPb68te8fsOfz0//56ez89MTfL54fvTyZfggb+zu0Lc3
P73UF/CpHXr85tWr09cnMvrV0f/SH8DTe/P28uzN66OXPfBow3wX8AjFIDKT
we0lWWgEnx5JzNhQAXANhNz4FBSHU8wD0YxjnpIYf7LMGaEVo43J38QkZCM9
IGULhduwx0KjKuVmQH6PRpP6l8f1qm7c3LDwZSIi9VJEmEZYjPlBZjw+GkWc
zXLFZpuW+IF3AnYlNZznalgcL89T9rK6Xrqqh+VbRiFebICTHl4h+vPLBEdC
e2tUXhVmM87EYJF05jYDOsblsoHWaAEmhPNMVVmSczIZLEpy6MiEE6jEH70h
WSuay7w5gtsiginb72OeFuKSWB3aoSIdtSh53RIDdb+/qPy7ihz3oUcOICUp
YYA9NmuXTwa8dVKbMzJpY0FHTZzOfi9Uk7NVLRwEsdatYMuCM92vrnNORKjE
s1mjQd9kQzcEa5pyIfY8EBf6KUtmpMkAaOpyN2UEg5yk6gypEpIlZlzvDdQ/
YEzuFBms+elNUlag3yIvVyKIGW/UmqrMnVEVLtpqQo4xmAwGnkYKLDU94PgV
6kBRd/5StzqieWJ+nLrCVQwo0AFXrDbHkV0+d9elsOLuzktCCezg+ct6/we2
fZAanVzA5+kyMCirbJvXpWFPA9/Ei93dyXmeX3+93clVER3QWGKwrOH4OADO
rkSeO0YiRCgFrbLxsgncVsvuahoJZ0csMm0QsMtOwVk1JMOSi2TFFIV5WCOw
neqMJBYuWayZiTMXrFkAEyZwbldQSmC7Ih2UBaGClLSFMJAWD1yI0BuLRnjY
6s0HXFyyI3FUJPDjjTmqN9wiBCJkzACuuEn3oe2IXztjSRFX3nOoI5lrOKjx
AnqdWRq3EKMK1Y9ZyVkvk8wCz9iSeifRS54PCE8kuNmEtp5NaeacWcuySyKq
HTLaTkcMT/PFw8lxgAAKukyzWjgmUQi/1Oax0Mkr2CKJH++RBSbe1rAnDMt4
0Hc8oUBkIKmyN9FeSGHROyVNXbX2us8csyD1t6gAuJLmQlVK64OYPfJByv0R
r9qjzUwyBbsn2qa/QT1xRWjZgAJ2t5suhgPu8ik2N5uLs9jiISKDWnmoy7fw
F/4U/AVvAKclkWaLd5PVEQkxK2wDpGLsmhu4jtZbBIrEWckqWBH+gKrAaLJP
phNHg4JzNhCE52J9l2xxu+Ri0zIv6XsiktROxgJOeMhzpmfRyii71kPzJ96I
SvXGXvDMb6I1DxE0lbhFxIBj6HIOtkiD/H2J+Imd/8g/Zs2DabwvTXpIVxya
Z2W1gWuYjrK60iAgeOh2d4d8s2y+nJtiyRE1FmJD1Wdw89Wow334eMZKnlV+
xHJ4jWnPa9e08SkRQ4IMLKrmkyyn7UqIp2r8kGI01hpZsVgGfyBwo8RELXPS
OheqqB+JttM0DMKRgNft1D8+6uvfOzXvWDSHLVatdiANtlxgh2zzXeOZWTGp
Iq7YdqmaRvZEaKXgCK7TpN0Ay0CmZIVGrEpEPqwqO67a7g5PstfljMJI2FjT
O/XER0it30kbSTN2BpiYe3bfsF4jC2res2o46JvhkJyOYnDwsb/uPILv33un
Up0Z//juAXuVe2OaEg8OODIJpF6nq7yc6MuFn5R9rbKLxD1xg7rSTC4By8/u
zusSiSDzbqay1WEpmlYDsaARoNHFE2ZnDpaCfoSCUJ9x7THmgPdDUVy+TMXn
h2vr+eZWEjGZmeZHsPvXFjpcRbCrUzta6zYGZgxUjgWiKDX/7ZWFeHqgJIM8
dqA2o5C3zeEG7BkxcJ5NXJOR/tmznAFJWZEEIvVO3y8ydUUv6bVeEMseYdo8
dbSKU6sCTuPgVqJqsD8wVbgEaaAqI18kWJW69fNpPgYNClNFJnUS0xIc5AqQ
fc4mnDBqxF3qq8VBxERBQk30FN5MyoULAVOrFoD0t5tGBnpkDj1JgXagYUiO
sKhq+kTxyCx2A85CxoFV+prs9iUEDLb1E9Qr1TME4BLrEaacxCINAiT8Msd8
3QTImSSaAuCcQHMLzl4RylKve4qgymx6TfxPAE2cOEHGXtssp2060cOEiFsS
G4S3F2fAM21MUjPMKzTxDaGWENBnEq/NF3IB6gYheCVxmpU3jjQaWV6XZ/RJ
IPW0RTKQrWjqEB8iA3QN1x3rERJoTg3pouiELB25+y5yNTiVtFFrEwaomqBK
EbQX7OdUZMqM+gCoD1SsDwl/xFNsk4SZxfgCh1U5Ny1yCUxaYlamyKsAetCQ
3RdVWCRkQ6NZq4j9EsI5GL0saNmEQlF2ClQVEM7/bKpl7kJel7lpdyfiIAQi
BJ+YFGtaCRGejZzGeglRCdlA9nd9rEGTQE2s6biaIRY4OlCr0gN6moQlxE6R
Sms2VG1t2O2ccpppAsPNCEaiTtShLIHwhffJAmVuvNaO03DLJGG5gBgSwWnV
HBllt8CmkO7jvxgJBtDcnicD4Xi8zHLQ4GyyAQTIAP4NQt9KvJqffuQecK0T
+1JWaN/y8/gUKieckQsvp5VdzDCUNJOo0TrY/c1ccKQ5Ojkf1nRRsg4zoJI7
ttORMNfGZB5O0J1e88lOrzrhpBfEdY7TgIUW9qB+ddw2noBtFflh24PSWE6W
Qqtt6VLw6mIWYvNDy4PfdWZ5u3U4Lc80X+QENvGAe48w1JXL2ouDVhFoxr0j
He3eWwwIuv5GIZEsDIy5AO4LEFmtRlDDG60NId5lR1n0uwIoEsXxzrRyYkzh
r+1z3MsBtO6AtxajUtmFU12OmHhpfTjfxqAy+iZWFgR4YhesQGlHYNjUD8Mq
bGRsreVUNacrxrBtdDWej1Me7MADdfaKs5MlK5hl0WhwwDtHJEKwexvtic4e
0ZJmUm+WqQQoI6wxeKwCsXKWLHNbidgNpX5oomh37uiXIqvnhtO15B0Beh7N
zpRPrGKUsrAFPlVViaOvvCR+kbi2HXetpYduQWfyGWJCLioKXFlYsFJWy1g7
xQe+d7QX7Bi5FpIDpw9IN47hqsTR9LDLEEAipzU8V27IJKd4u3vrRwDLNJEI
i5GgTbmMUwHqYCI5Q+NJySyL9ms8x3iZXDng7cIVgZU2wFFsfXqSUEwqJNU9
d2mGOhDbzjnZaMBhU1YSHQboxsFCDM2XT5HQjHaCKpQUnGQw4Y723mc9qqLe
D+aSXq4/vauWx9c31g9DaTt3VIXe+RwiSDuNWS97b4lHNmHc5iqINdhWKpSq
tboY0dEo1laFzf9mbRohcCv/CCnEs1dLiJnwXWkWVH3QK1WVtcbK61K/zrew
i93JslqLpVBnkv5d5DaROSyXJn0hn9ZbNVzeRYKhO+d8mTfZIvdZTFbyflaZ
hR5Wlh0pzNLOKdPVPpHUF7Q7m8yiaIZgQfhS3hRbRw+9iWTF9BuMZGGCNfRQ
aQ7b83PYhyDWv06uQ8VKHlC2nLdmT5quQMC4iDEPoVarxCR7LAYsayTvQHrd
+0yVkxg0DvZkMPhCFmqySsucCq3GlIHncjFr2URNudfB8LxLHRQ56RKk+JAH
9sbmCFpWqAYwuye+dyhHyt6JWptTxK/VAHWCNd+9PmnQfM1KSpSwZro/tpBp
KVYw2MbxsvFZEVo6ZV/bz9LMNNJflHXkTa1T/yvNVSSWX2+x2sn+Y7T+Y7Q+
Z7RYsreZrY4j9c+YLd8rGNmuf4XZElXlHc7/WC4m1K1WK0NvbBYSul36qBgg
dUG6mZNTS2T36NXlfLygJZp9VU+eH7YLctatoFgp1/mNNzeltyI+1iMVU6tq
CvZFBrUZeQ95FWroKqJTJI+ZPxgLrXKKDCjvZ+tkbS2/TaPIFH/i7SdlvpwX
Zi9aCS3Auth+yJSFuaUGDwPvJUKSnpxfOvKv1T1frF+ZvdqhrSe0Pn786NFc
OyTaNxGDygyUkgCxdbPXCv18wfVlyYiJdxGY9qi+RXGHviLNebMZYz3+Rfrb
fpH2jpWpJ5AmWxTJn1OxCtCGnm117Ke16gYfb9d2Gz56BNiGeb5F2a2L0CYa
Od/AHfDMc+XUMU5ZLwQeDYFIP1bv7Fbx9+Xm/Kwkla6eQ9dM1K0oDxt4xiig
2Tg5Nc5ybjOJ8mPqqIkfsoXFZBqmYNy+tyandy6eHw0OHz66w04bEMP9fYwI
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

-->

</rfc>

