<?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.2 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-eat-media-type-07" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="EAT Media Types">EAT Media Types</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-media-type-07"/>
    <author initials="L." surname="Lundblade" fullname="Laurence Lundblade">
      <organization>Security Theory LLC</organization>
      <address>
        <email>lgl@securitytheory.com</email>
      </address>
    </author>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer Institute for Secure Information Technology</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>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <date year="2024" month="April" day="02"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>EAT, media type</keyword>
    <abstract>
      <?line 53?>

<t>Payloads used in Remote Attestation Procedures may require an associated media
type for their conveyance, for example when used in RESTful APIs.</t>
      <t>This memo defines media types to be used for Entity Attestation Tokens (EAT).</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Remote ATtestation ProcedureS Working Group mailing list (rats@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/thomas-fossati/draft-eat-mt"/>.</t>
    </note>
  </front>
  <middle>
    <?line 60?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Payloads used in Remote Attestation Procedures <xref target="RATS-Arch"/> may require an
associated media type for their conveyance, for example when used in RESTful
APIs (<xref target="fig-api-sd"/>).</t>
      <figure anchor="fig-api-sd">
        <name>Conveying RATS conceptual messages in REST APIs using EAT</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="288" width="536" viewBox="0 0 536 288" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,32 L 8,64" fill="none" stroke="black"/>
              <path d="M 24,64 L 24,272" fill="none" stroke="black"/>
              <path d="M 48,32 L 48,64" fill="none" stroke="black"/>
              <path d="M 216,32 L 216,64" fill="none" stroke="black"/>
              <path d="M 256,64 L 256,272" fill="none" stroke="black"/>
              <path d="M 304,32 L 304,64" fill="none" stroke="black"/>
              <path d="M 440,32 L 440,64" fill="none" stroke="black"/>
              <path d="M 488,64 L 488,272" fill="none" stroke="black"/>
              <path d="M 528,32 L 528,64" fill="none" stroke="black"/>
              <path d="M 8,32 L 48,32" fill="none" stroke="black"/>
              <path d="M 216,32 L 304,32" fill="none" stroke="black"/>
              <path d="M 440,32 L 528,32" fill="none" stroke="black"/>
              <path d="M 8,64 L 48,64" fill="none" stroke="black"/>
              <path d="M 216,64 L 304,64" fill="none" stroke="black"/>
              <path d="M 440,64 L 528,64" fill="none" stroke="black"/>
              <path d="M 256,112 L 480,112" fill="none" stroke="black"/>
              <path d="M 264,160 L 488,160" fill="none" stroke="black"/>
              <path d="M 32,208 L 256,208" fill="none" stroke="black"/>
              <path d="M 24,240 L 248,240" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="488,112 476,106.4 476,117.6" fill="black" transform="rotate(0,480,112)"/>
              <polygon class="arrowhead" points="272,160 260,154.4 260,165.6" fill="black" transform="rotate(180,264,160)"/>
              <polygon class="arrowhead" points="256,240 244,234.4 244,245.6" fill="black" transform="rotate(0,248,240)"/>
              <polygon class="arrowhead" points="40,208 28,202.4 28,213.6" fill="black" transform="rotate(180,32,208)"/>
              <g class="text">
                <text x="28" y="52">RP</text>
                <text x="260" y="52">Attester</text>
                <text x="484" y="52">Verifier</text>
                <text x="284" y="84">POST</text>
                <text x="336" y="84">/verify</text>
                <text x="320" y="100">EAT(Evidence)</text>
                <text x="440" y="132">200</text>
                <text x="468" y="132">OK</text>
                <text x="344" y="148">EAT(Attestation</text>
                <text x="444" y="148">Results)</text>
                <text x="180" y="180">POST</text>
                <text x="224" y="180">/auth</text>
                <text x="112" y="196">EAT(Attestation</text>
                <text x="212" y="196">Results)</text>
                <text x="48" y="228">201</text>
                <text x="96" y="228">Created</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
.----.                    .----------.                .----------.
| RP |                    | Attester |                | Verifier |
'-+--'                    '----+-----'                '-----+----'
  |                            | POST /verify               |
  |                            | EAT(Evidence)              |
  |                            +--------------------------->|
  |                            |                     200 OK |
  |                            |   EAT(Attestation Results) |
  |                            |<---------------------------+
  |                 POST /auth |                            |
  |   EAT(Attestation Results) |                            |
  |<---------------------------+                            |
  | 201 Created                |                            |
  +--------------------------->|                            |
  |                            |                            |
  |                            |                            |
]]></artwork>
        </artset>
      </figure>
      <t>This memo defines media types to be used for Entity Attestation Token (EAT)
<xref target="EAT"/> payloads independently of the RATS Conceptual Message in which they
manifest themselves.  The objective is to give protocol, API and application
designers a number of readily available and reusable media types for
integrating EAT-based messages in their flows, for example when using HTTP
<xref target="BUILD-W-HTTP"/> or CoAP <xref target="REST-IoT"/>.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>This document uses the terms and concepts defined in <xref target="RATS-Arch"/>.</t>
        <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="eat-types">
      <name>EAT Types</name>
      <t><xref target="fig-eat-types"/> illustrates the six EAT wire formats and how they relate to
each other.  <xref target="EAT"/> defines four of them (CWT, JWT and Detached EAT Bundle in
its JSON and CBOR flavours), whilst <xref target="UCCS"/> defines the remaining two: UCCS
and UJCS.</t>
      <figure anchor="fig-eat-types">
        <name>EAT Types</name>
        <artset>
          <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="544" width="520" viewBox="0 0 520 544" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,432 L 8,464" fill="none" stroke="black"/>
              <path d="M 72,64 L 72,424" fill="none" stroke="black"/>
              <path d="M 120,48 L 120,64" fill="none" stroke="black"/>
              <path d="M 120,112 L 120,128" fill="none" stroke="black"/>
              <path d="M 120,176 L 120,192" fill="none" stroke="black"/>
              <path d="M 120,240 L 120,256" fill="none" stroke="black"/>
              <path d="M 120,304 L 120,320" fill="none" stroke="black"/>
              <path d="M 120,368 L 120,384" fill="none" stroke="black"/>
              <path d="M 128,432 L 128,464" fill="none" stroke="black"/>
              <path d="M 176,32 L 176,48" fill="none" stroke="black"/>
              <path d="M 176,96 L 176,112" fill="none" stroke="black"/>
              <path d="M 184,160 L 184,176" fill="none" stroke="black"/>
              <path d="M 184,224 L 184,240" fill="none" stroke="black"/>
              <path d="M 184,288 L 184,304" fill="none" stroke="black"/>
              <path d="M 184,352 L 184,368" fill="none" stroke="black"/>
              <path d="M 240,512 L 240,528" fill="none" stroke="black"/>
              <path d="M 272,360 L 272,448" fill="none" stroke="black"/>
              <path d="M 328,496 L 328,512" fill="none" stroke="black"/>
              <path d="M 336,256 L 336,288" fill="none" stroke="black"/>
              <path d="M 352,368 L 352,400" fill="none" stroke="black"/>
              <path d="M 360,496 L 360,528" fill="none" stroke="black"/>
              <path d="M 368,224 L 368,256" fill="none" stroke="black"/>
              <path d="M 368,288 L 368,320" fill="none" stroke="black"/>
              <path d="M 384,128 L 384,256" fill="none" stroke="black"/>
              <path d="M 384,296 L 384,368" fill="none" stroke="black"/>
              <path d="M 384,408 L 384,432" fill="none" stroke="black"/>
              <path d="M 400,64 L 400,256" fill="none" stroke="black"/>
              <path d="M 400,288 L 400,360" fill="none" stroke="black"/>
              <path d="M 416,496 L 416,528" fill="none" stroke="black"/>
              <path d="M 424,368 L 424,400" fill="none" stroke="black"/>
              <path d="M 440,256 L 440,288" fill="none" stroke="black"/>
              <path d="M 472,288 L 472,312" fill="none" stroke="black"/>
              <path d="M 472,352 L 472,368" fill="none" stroke="black"/>
              <path d="M 136,32 L 176,32" fill="none" stroke="black"/>
              <path d="M 88,48 L 120,48" fill="none" stroke="black"/>
              <path d="M 184,48 L 384,48" fill="none" stroke="black"/>
              <path d="M 120,64 L 160,64" fill="none" stroke="black"/>
              <path d="M 136,96 L 176,96" fill="none" stroke="black"/>
              <path d="M 72,112 L 120,112" fill="none" stroke="black"/>
              <path d="M 184,112 L 368,112" fill="none" stroke="black"/>
              <path d="M 120,128 L 160,128" fill="none" stroke="black"/>
              <path d="M 136,160 L 184,160" fill="none" stroke="black"/>
              <path d="M 72,176 L 120,176" fill="none" stroke="black"/>
              <path d="M 192,176 L 240,176" fill="none" stroke="black"/>
              <path d="M 120,192 L 168,192" fill="none" stroke="black"/>
              <path d="M 240,192 L 280,192" fill="none" stroke="black"/>
              <path d="M 304,208 L 352,208" fill="none" stroke="black"/>
              <path d="M 136,224 L 184,224" fill="none" stroke="black"/>
              <path d="M 240,224 L 280,224" fill="none" stroke="black"/>
              <path d="M 72,240 L 120,240" fill="none" stroke="black"/>
              <path d="M 192,240 L 240,240" fill="none" stroke="black"/>
              <path d="M 120,256 L 168,256" fill="none" stroke="black"/>
              <path d="M 336,256 L 440,256" fill="none" stroke="black"/>
              <path d="M 440,272 L 456,272" fill="none" stroke="black"/>
              <path d="M 136,288 L 184,288" fill="none" stroke="black"/>
              <path d="M 336,288 L 440,288" fill="none" stroke="black"/>
              <path d="M 72,304 L 120,304" fill="none" stroke="black"/>
              <path d="M 192,304 L 240,304" fill="none" stroke="black"/>
              <path d="M 120,320 L 168,320" fill="none" stroke="black"/>
              <path d="M 240,320 L 280,320" fill="none" stroke="black"/>
              <path d="M 456,320 L 496,320" fill="none" stroke="black"/>
              <path d="M 304,336 L 352,336" fill="none" stroke="black"/>
              <path d="M 136,352 L 184,352" fill="none" stroke="black"/>
              <path d="M 240,352 L 280,352" fill="none" stroke="black"/>
              <path d="M 456,352 L 496,352" fill="none" stroke="black"/>
              <path d="M 72,368 L 120,368" fill="none" stroke="black"/>
              <path d="M 192,368 L 240,368" fill="none" stroke="black"/>
              <path d="M 352,368 L 424,368" fill="none" stroke="black"/>
              <path d="M 120,384 L 168,384" fill="none" stroke="black"/>
              <path d="M 432,384 L 456,384" fill="none" stroke="black"/>
              <path d="M 352,400 L 424,400" fill="none" stroke="black"/>
              <path d="M 8,432 L 128,432" fill="none" stroke="black"/>
              <path d="M 128,448 L 368,448" fill="none" stroke="black"/>
              <path d="M 8,464 L 128,464" fill="none" stroke="black"/>
              <path d="M 144,496 L 192,496" fill="none" stroke="black"/>
              <path d="M 256,496 L 328,496" fill="none" stroke="black"/>
              <path d="M 360,496 L 416,496" fill="none" stroke="black"/>
              <path d="M 144,528 L 192,528" fill="none" stroke="black"/>
              <path d="M 240,528 L 312,528" fill="none" stroke="black"/>
              <path d="M 360,528 L 416,528" fill="none" stroke="black"/>
              <path d="M 136,32 C 127.16936,32 120,39.16936 120,48" fill="none" stroke="black"/>
              <path d="M 88,48 C 79.16936,48 72,55.16936 72,64" fill="none" stroke="black"/>
              <path d="M 384,48 C 392.83064,48 400,55.16936 400,64" fill="none" stroke="black"/>
              <path d="M 160,64 C 168.83064,64 176,56.83064 176,48" fill="none" stroke="black"/>
              <path d="M 136,96 C 127.16936,96 120,103.16936 120,112" fill="none" stroke="black"/>
              <path d="M 368,112 C 376.83064,112 384,119.16936 384,128" fill="none" stroke="black"/>
              <path d="M 160,128 C 168.83064,128 176,120.83064 176,112" fill="none" stroke="black"/>
              <path d="M 136,160 C 127.16936,160 120,167.16936 120,176" fill="none" stroke="black"/>
              <path d="M 240,176 C 248.83064,176 256,183.16936 256,192" fill="none" stroke="black"/>
              <path d="M 168,192 C 176.83064,192 184,184.83064 184,176" fill="none" stroke="black"/>
              <path d="M 240,192 C 231.16936,192 224,199.16936 224,208" fill="none" stroke="black"/>
              <path d="M 280,192 C 288.83064,192 296,199.16936 296,208" fill="none" stroke="black"/>
              <path d="M 352,208 C 360.83064,208 368,215.16936 368,224" fill="none" stroke="black"/>
              <path d="M 136,224 C 127.16936,224 120,231.16936 120,240" fill="none" stroke="black"/>
              <path d="M 240,224 C 231.16936,224 224,216.83064 224,208" fill="none" stroke="black"/>
              <path d="M 280,224 C 288.83064,224 296,216.83064 296,208" fill="none" stroke="black"/>
              <path d="M 240,240 C 248.83064,240 256,232.83064 256,224" fill="none" stroke="black"/>
              <path d="M 168,256 C 176.83064,256 184,248.83064 184,240" fill="none" stroke="black"/>
              <path d="M 456,272 C 464.83064,272 472,279.16936 472,288" fill="none" stroke="black"/>
              <path d="M 136,288 C 127.16936,288 120,295.16936 120,304" fill="none" stroke="black"/>
              <path d="M 240,304 C 248.83064,304 256,311.16936 256,320" fill="none" stroke="black"/>
              <path d="M 168,320 C 176.83064,320 184,312.83064 184,304" fill="none" stroke="black"/>
              <path d="M 240,320 C 231.16936,320 224,327.16936 224,336" fill="none" stroke="black"/>
              <path d="M 280,320 C 288.83064,320 296,327.16936 296,336" fill="none" stroke="black"/>
              <path d="M 456,320 C 447.16936,320 440,327.16936 440,336" fill="none" stroke="black"/>
              <path d="M 496,320 C 504.83064,320 512,327.16936 512,336" fill="none" stroke="black"/>
              <path d="M 352,336 C 360.83064,336 368,328.83064 368,320" fill="none" stroke="black"/>
              <path d="M 136,352 C 127.16936,352 120,359.16936 120,368" fill="none" stroke="black"/>
              <path d="M 240,352 C 231.16936,352 224,344.83064 224,336" fill="none" stroke="black"/>
              <path d="M 280,352 C 288.83064,352 296,344.83064 296,336" fill="none" stroke="black"/>
              <path d="M 456,352 C 447.16936,352 440,344.83064 440,336" fill="none" stroke="black"/>
              <path d="M 496,352 C 504.83064,352 512,344.83064 512,336" fill="none" stroke="black"/>
              <path d="M 240,368 C 248.83064,368 256,360.83064 256,352" fill="none" stroke="black"/>
              <path d="M 168,384 C 176.83064,384 184,376.83064 184,368" fill="none" stroke="black"/>
              <path d="M 456,384 C 464.83064,384 472,376.83064 472,368" fill="none" stroke="black"/>
              <path d="M 368,448 C 376.83064,448 384,440.83064 384,432" fill="none" stroke="black"/>
              <path d="M 144,496 C 135.16936,496 128,503.16936 128,512" fill="none" stroke="black"/>
              <path d="M 192,496 C 200.83064,496 208,503.16936 208,512" fill="none" stroke="black"/>
              <path d="M 256,496 C 247.16936,496 240,503.16936 240,512" fill="none" stroke="black"/>
              <path d="M 144,528 C 135.16936,528 128,520.83064 128,512" fill="none" stroke="black"/>
              <path d="M 192,528 C 200.83064,528 208,520.83064 208,512" fill="none" stroke="black"/>
              <path d="M 312,528 C 320.83064,528 328,520.83064 328,512" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="480,312 468,306.4 468,317.6" fill="black" transform="rotate(90,472,312)"/>
              <polygon class="arrowhead" points="440,384 428,378.4 428,389.6" fill="black" transform="rotate(180,432,384)"/>
              <polygon class="arrowhead" points="408,360 396,354.4 396,365.6" fill="black" transform="rotate(90,400,360)"/>
              <polygon class="arrowhead" points="392,408 380,402.4 380,413.6" fill="black" transform="rotate(270,384,408)"/>
              <polygon class="arrowhead" points="392,296 380,290.4 380,301.6" fill="black" transform="rotate(270,384,296)"/>
              <polygon class="arrowhead" points="312,336 300,330.4 300,341.6" fill="black" transform="rotate(180,304,336)"/>
              <polygon class="arrowhead" points="312,208 300,202.4 300,213.6" fill="black" transform="rotate(180,304,208)"/>
              <polygon class="arrowhead" points="280,360 268,354.4 268,365.6" fill="black" transform="rotate(270,272,360)"/>
              <polygon class="arrowhead" points="200,368 188,362.4 188,373.6" fill="black" transform="rotate(180,192,368)"/>
              <polygon class="arrowhead" points="200,304 188,298.4 188,309.6" fill="black" transform="rotate(180,192,304)"/>
              <polygon class="arrowhead" points="200,240 188,234.4 188,245.6" fill="black" transform="rotate(180,192,240)"/>
              <polygon class="arrowhead" points="200,176 188,170.4 188,181.6" fill="black" transform="rotate(180,192,176)"/>
              <polygon class="arrowhead" points="192,112 180,106.4 180,117.6" fill="black" transform="rotate(180,184,112)"/>
              <polygon class="arrowhead" points="192,48 180,42.4 180,53.6" fill="black" transform="rotate(180,184,48)"/>
              <polygon class="arrowhead" points="80,424 68,418.4 68,429.6" fill="black" transform="rotate(90,72,424)"/>
              <g class="text">
                <text x="148" y="52">UJCS</text>
                <text x="148" y="116">UCCS</text>
                <text x="152" y="180">JWT</text>
                <text x="260" y="212">Crypto</text>
                <text x="152" y="244">CWT</text>
                <text x="388" y="276">Claims-Set</text>
                <text x="152" y="308">BUN-J</text>
                <text x="260" y="340">Bundle</text>
                <text x="476" y="340">Digest</text>
                <text x="152" y="372">BUN-C</text>
                <text x="388" y="388">submod</text>
                <text x="68" y="452">Nested-Token</text>
                <text x="76" y="516">Legenda:</text>
                <text x="168" y="516">Process</text>
                <text x="268" y="516">Wire</text>
                <text x="304" y="516">Fmt</text>
                <text x="388" y="516">CDDL</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art" align="center"><![CDATA[
               .-----.
         .----+ UJCS |<-------------------------.
        |     '-----'                            |
        |                                        |
        |      .-----.                           |
        +-----+ UCCS |<-----------------------.  |
        |     '-----'                          | |
        |                                      | |
        |      .------.                        | |
        +-----+  JWT  |<------.                | |
        |     '------'      .--+---.           | |
        |                  | Crypto |<------.  | |
        |      .------.     '--+---'         | | |
        +-----+  CWT  |<------'              | | |
        |     '------'                   .---+-+-+----.
        |                                | Claims-Set +--.
        |      .------.                  '---+---+----'   |
        +-----+ BUN-J |<------.              | ^ |        v
        |     '------'      .--+---.         | | |     .------.
        |                  | Bundle |<------'  | |    | Digest |
        |      .------.     '--+---'           | v     '--+---'
        +-----+ BUN-C |<------'  ^         .---+----.     |
        |     '------'           |         | submod |<---'
        |                        |         '--------'
        v                        |             ^
.--------------.                 |             |
| Nested-Token +-----------------+------------'
'--------------'

                .-------.     .---------.   .------.
     Legenda:  | Process |   | Wire Fmt |   | CDDL |
                '-------'    '---------'    '------'
]]></artwork>
        </artset>
      </figure>
    </section>
    <section anchor="a-media-type-parameter-for-eat-profiles">
      <name>A Media Type Parameter for EAT Profiles</name>
      <t>EAT is an open and flexible format.  To improve interoperability, <xref section="6" sectionFormat="of" target="EAT"/> defines the concept of EAT profiles.  Profiles are used to constrain
the parameters that producers and consumers of a specific EAT profile need to
understand in order to interoperate.  For example: the number and type of
claims, which serialisation format, the supported signature schemes, etc.  EATs
carry an in-band profile identifier using the <tt>eat_profile</tt> claim (see
<xref section="4.3.2" sectionFormat="of" target="EAT"/>).  The value of the <tt>eat_profile</tt> claim is either an
OID or a URI.</t>
      <t>The media types defined in this document include an optional <tt>eat_profile</tt>
parameter that can be used to mirror the homonymous claim of the transported
EAT.  Exposing the EAT profile at the API layer allows API routers to dispatch
payloads directly to the profile-specific processor without having to snoop
into the request bodies.  This design also provides a finer-grained and
scalable type system that matches the inherent extensibility of EAT.  The
expectation being that a certain EAT profile automatically obtains a media type
derived from the base (e.g., <tt>application/eat+cwt)</tt> by populating the
<tt>eat_profile</tt> parameter with the corresponding OID or URL.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>The example in <xref target="fig-rest-req"/> illustrates the usage of EAT media types for
transporting attestation evidence as well as negotiating the acceptable format
of the attestation result.</t>
      <figure anchor="fig-rest-req">
        <name>Example REST Verification API (request)</name>
        <sourcecode type="http-message"><![CDATA[
# NOTE: '\' line wrapping per RFC 8792

POST /challenge-response/v1/session/1234567890 HTTP/1.1
Host: verifier.example
Accept: application/eat+cwt; eat_profile="tag:ar4si.example,2021"
Content-Type: application/eat+cwt; \
              eat_profile="tag:evidence.example,2022"

[ CBOR-encoded EAT w/ eat_profile="tag:evidence.example,2022" ]
]]></sourcecode>
      </figure>
      <t>The example in <xref target="fig-rest-rsp"/> illustrates the usage of EAT media types for
transporting attestation results.</t>
      <figure anchor="fig-rest-rsp">
        <name>Example REST Verification API (response)</name>
        <sourcecode type="http-message"><![CDATA[
# NOTE: '\' line wrapping per RFC 8792

HTTP/1.1 200 OK
Content-Type: application/eat+cwt; \
              eat_profile="tag:ar4si.example,2021"

[ CBOR-encoded EAT w/ eat_profile="tag:ar4si.example,2021" ]
]]></sourcecode>
      </figure>
      <t>In both cases, a tag URI <xref target="RFC4151"/> identifying the profile is carried as an
explicit parameter.</t>
    </section>
    <section anchor="seccons">
      <name>Security Considerations</name>
      <t>The security consideration of <xref target="EAT"/> and <xref target="UCCS"/> apply in full.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t><cref anchor="to-be-removed">RFC Editor: please replace RFCthis with this RFC number and remove this note.</cref></t>
      <section anchor="cwt-structured-syntax-suffix">
        <name><tt>+cwt</tt> Structured Syntax Suffix</name>
        <t>IANA is requested to register the <tt>+cwt</tt> structured syntax suffix in the
"Structured Syntax Suffixes" registry <xref target="IANA.media-type-structured-suffix"/> in
the manner described in <xref target="MediaTypes"/>, which can be used to indicate that the
media type is encoded as a CWT.</t>
        <section anchor="registry-contents">
          <name>Registry Contents</name>
          <dl spacing="compact">
            <dt>Name:</dt>
            <dd>
              <t>CBOR Web Token (CWT)</t>
            </dd>
            <dt>+suffix:</dt>
            <dd>
              <t>+cwt</t>
            </dd>
            <dt>References:</dt>
            <dd>
              <t><xref target="CWT"/></t>
            </dd>
            <dt>Encoding Considerations:</dt>
            <dd>
              <t>binary</t>
            </dd>
            <dt>Interoperability Considerations:</dt>
            <dd>
              <t>N/A</t>
            </dd>
            <dt>Fragment Identifier Considerations:</dt>
            <dd>
              <t>The syntax and semantics of fragment identifiers specified for +cwt <bcp14>SHOULD</bcp14> be
as specified for <tt>application/cwt</tt>.  (At publication of this document, there
is no fragment identification syntax defined for <tt>application/cwt</tt>.)</t>
            </dd>
            <dt>Security Considerations:</dt>
            <dd>
              <t>See <xref section="8" sectionFormat="of" target="CWT"/></t>
            </dd>
            <dt>Contact:</dt>
            <dd>
              <t>RATS WG mailing list (rats@ietf.org), or IETF Security Area (saag@ietf.org)</t>
            </dd>
            <dt>Author/Change Controller:</dt>
            <dd>
              <t>Remote ATtestation ProcedureS (RATS) Working Group.
The IETF has change control over this registration.</t>
            </dd>
          </dl>
        </section>
      </section>
      <section anchor="media-type">
        <name>Media Types</name>
        <t>IANA is requested to add the following media types to the
"Media Types" registry <xref target="IANA.media-types"/>.</t>
        <table align="left" anchor="new-media-type">
          <name>New Media Types</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">Template</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">EAT CWT</td>
              <td align="left">application/eat+cwt</td>
              <td align="left">RFCthis, <xref target="media-type-eat-cwt"/></td>
            </tr>
            <tr>
              <td align="left">EAT JWT</td>
              <td align="left">application/eat+jwt</td>
              <td align="left">RFCthis, <xref target="media-type-eat-jwt"/></td>
            </tr>
            <tr>
              <td align="left">Detached EAT Bundle CBOR</td>
              <td align="left">application/eat-bun+cbor</td>
              <td align="left">RFCthis, <xref target="media-type-deb-cbor"/></td>
            </tr>
            <tr>
              <td align="left">Detached EAT Bundle JSON</td>
              <td align="left">application/eat-bun+json</td>
              <td align="left">RFCthis, <xref target="media-type-deb-json"/></td>
            </tr>
            <tr>
              <td align="left">EAT UCCS</td>
              <td align="left">application/eat-ucs+cbor</td>
              <td align="left">RFCthis, <xref target="media-type-ucs-cbor"/></td>
            </tr>
            <tr>
              <td align="left">EAT UJCS</td>
              <td align="left">application/eat-ucs+json</td>
              <td align="left">RFCthis, <xref target="media-type-ucs-json"/></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="media-type-eat-cwt">
        <name>application/eat+cwt Registration</name>
        <dl spacing="compact">
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>eat+cwt</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>"eat_profile" (EAT profile in string format.  OIDs <bcp14>MUST</bcp14> use the
dotted-decimal notation.  The parameter value is case-insensitive.)</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t><xref target="seccons"/> of RFCthis</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t><xref target="media-type"/> of RFCthis</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>Attesters, Verifiers, Endorsers and Reference-Value providers, Relying
Parties that need to transfer EAT payloads over HTTP(S), CoAP(S), and other
transports.</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>RATS WG mailing list (rats@ietf.org)</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Author/Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Provisional registration:</dt>
          <dd>
            <t><cref>maybe</cref></t>
          </dd>
        </dl>
      </section>
      <section anchor="media-type-eat-jwt">
        <name>application/eat+jwt Registration</name>
        <dl spacing="compact">
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>eat+jwt</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>"eat_profile" (EAT profile in string format.  OIDs <bcp14>MUST</bcp14> use the
dotted-decimal notation.  The parameter value is case-insensitive.)</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>8bit</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t><xref target="seccons"/> of RFCthis</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t><xref target="media-type"/> of RFCthis</t>
          </dd>
          <dt>Applications that use this media type</dt>
          <dd>
            <t>Attesters, Verifiers, Endorsers and Reference-Value providers, Relying
Parties that need to transfer EAT payloads over HTTP(S), CoAP(S), and other
transports.</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>RATS WG mailing list (rats@ietf.org)</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Author/Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Provisional registration:</dt>
          <dd>
            <t><cref>maybe</cref></t>
          </dd>
        </dl>
      </section>
      <section anchor="media-type-deb-cbor">
        <name>application/eat-bun+cbor Registration</name>
        <dl spacing="compact">
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>eat-bun+cbor</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>"eat_profile" (EAT profile in string format.  OIDs <bcp14>MUST</bcp14> use the
dotted-decimal notation.  The parameter value is case-insensitive.)</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t><xref target="seccons"/> of RFCthis</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t><xref target="media-type"/> of RFCthis</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>Attesters, Verifiers, Endorsers and Reference-Value providers, Relying
Parties that need to transfer EAT payloads over HTTP(S), CoAP(S), and other
transports.</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>RATS WG mailing list (rats@ietf.org)</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Author/Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Provisional registration:</dt>
          <dd>
            <t><cref>maybe</cref></t>
          </dd>
        </dl>
      </section>
      <section anchor="media-type-deb-json">
        <name>application/eat-bun+json Registration</name>
        <dl spacing="compact">
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>eat-bun+json</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>"eat_profile" (EAT profile in string format.  OIDs <bcp14>MUST</bcp14> use the
dotted-decimal notation.  The parameter value is case-insensitive.)</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>Same as <xref target="RFC7159"/></t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t><xref target="seccons"/> of RFCthis</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t><xref target="media-type"/> of RFCthis</t>
          </dd>
          <dt>Applications that use this media type</dt>
          <dd>
            <t>Attesters, Verifiers, Endorsers and Reference-Value providers, Relying
Parties that need to transfer EAT payloads over HTTP(S), CoAP(S), and other
transports.</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>RATS WG mailing list (rats@ietf.org)</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Author/Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Provisional registration:</dt>
          <dd>
            <t><cref>maybe</cref></t>
          </dd>
        </dl>
      </section>
      <section anchor="media-type-ucs-cbor">
        <name>application/eat-ucs+cbor Registration</name>
        <dl spacing="compact">
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>eat-ucs+cbor</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>"eat_profile" (EAT profile in string format.  OIDs <bcp14>MUST</bcp14> use the
dotted-decimal notation.  The parameter value is case-insensitive.)</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>binary</t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t><xref target="seccons"/> of RFCthis</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t><xref target="media-type"/> of RFCthis</t>
          </dd>
          <dt>Applications that use this media type:</dt>
          <dd>
            <t>Attesters, Verifiers, Endorsers and Reference-Value providers, Relying
Parties that need to transfer EAT payloads over HTTP(S), CoAP(S), and other
transports.</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>RATS WG mailing list (rats@ietf.org)</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Author/Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Provisional registration:</dt>
          <dd>
            <t><cref>maybe</cref></t>
          </dd>
        </dl>
      </section>
      <section anchor="media-type-ucs-json">
        <name>application/eat-ucs+json Registration</name>
        <dl spacing="compact">
          <dt>Type name:</dt>
          <dd>
            <t>application</t>
          </dd>
          <dt>Subtype name:</dt>
          <dd>
            <t>eat-ucs+json</t>
          </dd>
          <dt>Required parameters:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Optional parameters:</dt>
          <dd>
            <t>"eat_profile" (EAT profile in string format.  OIDs <bcp14>MUST</bcp14> use the
dotted-decimal notation.  The parameter value is case-insensitive.)</t>
          </dd>
          <dt>Encoding considerations:</dt>
          <dd>
            <t>Same as <xref target="RFC7159"/></t>
          </dd>
          <dt>Security considerations:</dt>
          <dd>
            <t><xref target="seccons"/> of RFCthis</t>
          </dd>
          <dt>Interoperability considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Published specification:</dt>
          <dd>
            <t><xref target="media-type"/> of RFCthis</t>
          </dd>
          <dt>Applications that use this media type</dt>
          <dd>
            <t>Attesters, Verifiers, Endorsers and Reference-Value providers, Relying
Parties that need to transfer EAT payloads over HTTP(S), CoAP(S), and other
transports.</t>
          </dd>
          <dt>Fragment identifier considerations:</dt>
          <dd>
            <t>n/a</t>
          </dd>
          <dt>Person &amp; email address to contact for further information:</dt>
          <dd>
            <t>RATS WG mailing list (rats@ietf.org)</t>
          </dd>
          <dt>Intended usage:</dt>
          <dd>
            <t>COMMON</t>
          </dd>
          <dt>Restrictions on usage:</dt>
          <dd>
            <t>none</t>
          </dd>
          <dt>Author/Change controller:</dt>
          <dd>
            <t>IETF</t>
          </dd>
          <dt>Provisional registration:</dt>
          <dd>
            <t><cref>maybe</cref></t>
          </dd>
        </dl>
      </section>
      <section anchor="content-format">
        <name>Content-Format</name>
        <t>IANA is requested to register a Content-Format number in the
"CoAP Content-Formats" sub-registry, within
the "Constrained RESTful Environments (CoRE) Parameters"
Registry <xref target="IANA.core-parameters"/>, as follows:</t>
        <table align="left">
          <name>New Content-Formats</name>
          <thead>
            <tr>
              <th align="left">Content-Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/eat+cwt</td>
              <td align="left">-</td>
              <td align="left">TBD1</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/eat+jwt</td>
              <td align="left">-</td>
              <td align="left">TBD2</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/eat-bun+cbor</td>
              <td align="left">-</td>
              <td align="left">TBD3</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/eat-bun+json</td>
              <td align="left">-</td>
              <td align="left">TBD4</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/eat-ucs+cbor</td>
              <td align="left">-</td>
              <td align="left">TBD5</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">application/eat-ucs+json</td>
              <td align="left">-</td>
              <td align="left">TBD6</td>
              <td align="left">RFCthis</td>
            </tr>
          </tbody>
        </table>
        <t>TBD1..6 are to be assigned from the space 256..999.</t>
      </section>
    </section>
    <section anchor="changelog">
      <name>Changelog</name>
      <t><cref anchor="remove-sec">RFC editor: please remove this section</cref></t>
      <section anchor="cl-04">
        <name> -04</name>
        <ul spacing="normal">
          <li>
            <t>Early IANA review</t>
          </li>
        </ul>
      </section>
      <section anchor="cl-03">
        <name> -03</name>
        <ul spacing="normal">
          <li>
            <t>Update references</t>
          </li>
        </ul>
      </section>
      <section anchor="cl-02">
        <name> -02</name>
        <ul spacing="normal">
          <li>
            <t>Update references</t>
          </li>
          <li>
            <t>Register +cwt SSS
(<eref target="https://github.com/ietf-rats-wg/draft-eat-mt/issues/14">Issue#14</eref>)</t>
          </li>
          <li>
            <t>Move from eat-jwt to eat+jwt
(<eref target="https://github.com/ietf-rats-wg/draft-eat-mt/issues/14">Issue#14</eref>)</t>
          </li>
          <li>
            <t>Move from eat-cwt to eat+cwt
(<eref target="https://github.com/ietf-rats-wg/draft-eat-mt/issues/14">Issue#14</eref>)</t>
          </li>
        </ul>
      </section>
      <section anchor="cl-01">
        <name> -01</name>
        <ul spacing="normal">
          <li>
            <t>Rename <tt>profile</tt> to <tt>eat_profile</tt> for consistency with EAT
(<eref target="https://github.com/ietf-rats-wg/draft-eat-mt/issues/4">Issue#4</eref>)</t>
          </li>
          <li>
            <t>The DEB acronym is gone: shorthand is now "bun" from bundle
(<eref target="https://github.com/ietf-rats-wg/draft-eat-mt/issues/8">Issue#8</eref>)</t>
          </li>
          <li>
            <t>Incorporate editorial suggestions from Carl and Dave
(<eref target="https://github.com/ietf-rats-wg/draft-eat-mt/issues/7">Issue#7</eref>,
<eref target="https://github.com/ietf-rats-wg/draft-eat-mt/issues/9">Issue#9</eref>)</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="EAT">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
         </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="15" month="January" year="2024"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine the type
   and degree of trust placed in the entity.

   An EAT is either a CBOR Web Token (CWT) or JSON Web Token (JWT) with
   attestation-oriented claims.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-25"/>
        </reference>
        <reference anchor="CWT">
          <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="UCCS">
          <front>
            <title>A CBOR Tag for Unprotected CWT Claims Sets</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Nancy Cam-Winget" initials="N." surname="Cam-Winget">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="4" month="March" year="2024"/>
            <abstract>
              <t>   When transported over secure channels, CBOR Web Token (CWT, RFC 8392)
   Claims Sets may not need the protection afforded by wrapping them
   into COSE, as is required for a true CWT.  This specification defines
   a CBOR tag for such unprotected CWT Claims Sets (UCCS) and discusses
   conditions for its proper use.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-uccs-09"/>
        </reference>
        <reference anchor="CoAP">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="MediaTypes">
          <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="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="IANA.media-type-structured-suffix" target="http://www.iana.org/assignments/media-type-structured-suffix">
          <front>
            <title>Structured Syntax Suffixes</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.media-types" target="http://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="RFC7159">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="March" year="2014"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7159"/>
          <seriesInfo name="DOI" value="10.17487/RFC7159"/>
        </reference>
        <reference anchor="IANA.core-parameters" target="http://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RATS-Arch">
          <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>
        <referencegroup anchor="BUILD-W-HTTP" target="https://www.rfc-editor.org/info/bcp56">
          <reference anchor="RFC9205" target="https://www.rfc-editor.org/info/rfc9205">
            <front>
              <title>Building Protocols with HTTP</title>
              <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
              <date month="June" year="2022"/>
              <abstract>
                <t>Applications often use HTTP as a substrate to create HTTP-based APIs. This document specifies best practices for writing specifications that use HTTP to define new application protocols. It is written primarily to guide IETF efforts to define application protocols using HTTP for deployment on the Internet but might be applicable in other situations.</t>
                <t>This document obsoletes RFC 3205.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="56"/>
            <seriesInfo name="RFC" value="9205"/>
            <seriesInfo name="DOI" value="10.17487/RFC9205"/>
          </reference>
        </referencegroup>
        <reference anchor="REST-IoT">
          <front>
            <title>Guidance on RESTful Design for Internet of Things Systems</title>
            <author fullname="Ari Keränen" initials="A." surname="Keränen">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Matthias Kovatsch" initials="M." surname="Kovatsch">
              <organization>Siemens</organization>
            </author>
            <author fullname="Klaus Hartke" initials="K." surname="Hartke">
         </author>
            <date day="25" month="January" year="2024"/>
            <abstract>
              <t>   This document gives guidance for designing Internet of Things (IoT)
   systems that follow the principles of the Representational State
   Transfer (REST) architectural style.  This document is a product of
   the IRTF Thing-to-Thing Research Group (T2TRG).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-irtf-t2trg-rest-iot-13"/>
        </reference>
        <reference anchor="RFC4151">
          <front>
            <title>The 'tag' URI Scheme</title>
            <author fullname="T. Kindberg" initials="T." surname="Kindberg"/>
            <author fullname="S. Hawke" initials="S." surname="Hawke"/>
            <date month="October" year="2005"/>
            <abstract>
              <t>This document describes the "tag" Uniform Resource Identifier (URI) scheme. Tag URIs (also known as "tags") are designed to be unique across space and time while being tractable to humans. They are distinct from most other URIs in that they have no authoritative resolution mechanism. A tag may be used purely as an entity identifier. Furthermore, using tags has some advantages over the common practice of using "http" URIs as identifiers for non-HTTP-accessible resources. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4151"/>
          <seriesInfo name="DOI" value="10.17487/RFC4151"/>
        </reference>
      </references>
    </references>
    <?line 645?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thank you
Carl Wallace,
Dave Thaler,
Michael Richardson
for your comments and suggestions.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
