<?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.6.17 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-eat-media-type-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.1 -->
  <front>
    <title abbrev="EAT Media Types">EAT Media Types</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-media-type-01"/>
    <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>arm</organization>
      <address>
        <email>thomas.fossati@arm.com</email>
      </address>
    </author>
    <date year="2022" month="October" day="19"/>
    <area>Security</area>
    <workgroup>Remote ATtestation ProcedureS</workgroup>
    <keyword>EAT, media type</keyword>
    <abstract>
      <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>
    <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">
              <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>
      </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">
              <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="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>
        <aside>
          <t><strong>Issue</strong>: for symmetry reasons we may need a way to pass the profile
information when using content formats too. Early proposal for a new CoAP
option: <xref target="I-D.fossati-core-parametrized-cf"/></t>
        </aside>
        <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>
        <t>In the registry as defined by <xref section="12.3" sectionFormat="of" target="CoAP"/> at the time of writing,
the column "Content-Type" is called "Media type" and the column "Content
Coding" is called "Encoding".  <cref anchor="remove">RFC editor: please remove this paragraph.</cref></t>
      </section>
    </section>
    <section anchor="changelog">
      <name>Changelog</name>
      <t><cref anchor="remove-sec">RFC editor: please remove this section</cref></t>
      <section anchor="section">
        <name> -01</name>
        <ul spacing="normal">
          <li>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>)</li>
          <li>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>)</li>
          <li>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>)</li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <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">
              <organization>Qualcomm Technologies Inc.</organization>
            </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="9" month="October" year="2022"/>
            <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 how much
   it wishes to trust 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-16"/>
        </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="11" month="July" year="2022"/>
            <abstract>
              <t>   CBOR Web Token (CWT, RFC 8392) Claims Sets sometimes do 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-03"/>
        </reference>
        <reference anchor="CoAP">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby">
              <organization/>
            </author>
            <author fullname="K. Hartke" initials="K." surname="Hartke">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <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="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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-types" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization abbrev="IANA">Internet Assigned Numbers Authority</organization>
            </author>
            <date day="10" month="October" year="2022"/>
          </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">
              <organization/>
            </author>
            <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="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization abbrev="IANA">Internet Assigned Numbers Authority</organization>
            </author>
            <date day="8" month="June" year="2012"/>
          </front>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RATS-Arch">
          <front>
            <title>Remote Attestation Procedures Architecture</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Dave Thaler" initials="D." surname="Thaler">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel Corporation</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="28" month="September" year="2022"/>
            <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.
   An attempt is made to provide for a model that is neutral toward
   processor architectures, the content of claims, and protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-architecture-22"/>
        </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="11" month="July" year="2022"/>
            <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-10"/>
        </reference>
        <reference anchor="RFC4151">
          <front>
            <title>The 'tag' URI Scheme</title>
            <author fullname="T. Kindberg" initials="T." surname="Kindberg">
              <organization/>
            </author>
            <author fullname="S. Hawke" initials="S." surname="Hawke">
              <organization/>
            </author>
            <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>
        <reference anchor="I-D.fossati-core-parametrized-cf">
          <front>
            <title>Parametrized Content-Format for CoAP</title>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>arm</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="17" month="October" year="2022"/>
            <abstract>
              <t>   This document specifies a "parametrized" CoAP Content-Format data
   item that allows supplementing a Content-Format with additional media
   type parameters.

   This document also defines two new CoAP Options, Parmetrized-Content-
   Format and Parametrized-Multi-Valued-Accept, that build upon the
   "parametrized" Content-Format data item to work around some of the
   limitations of the existing Accept and Content-Format Options.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fossati-core-parametrized-cf-01"/>
        </reference>
      </references>
    </references>
    <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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
g/74zRr0025s/8jm/N2avzlrLlOim026TIm+wqaLZb5Rw/4eqb/b9n+mbbu8
/3bbdnn/V9o24fhGbfucamFh8msrT7Ye7ZJR/XEt/buhf3OGXp4W3Gzo5WnB
Vxh6scw3aujfg/h32/7PtO0lQbw8vPtK2/4exP8wlv7d0P/whl60CA99zxqm
K4gvV+wnfu/ekTGZvHev5TZtpkNov6Ybu8IQhRPpPn9yshJ8Ity9iZEwptpo
A54Kl6qX3UO/cnkr2CrV5AdCJ1OCHSmDTfTcbZRUTpyUgctfLyHd/R/6Ai7/
ei8IlZZBbp86/gU2HPaubmpWec5Q/2tu90VfzN/WZw13674+xTTozlxQNK82
XGMtv7ZE31r4W0xYp/ie7SAdx1ql/or+WludHazP7maZBjubb4NVt4IZ1CMR
Jm+sQU/ZZUmRc63lI/51XueSH+1f65Qt7o8F1Fx7tr9V7cgsnP6xOn176fRK
gyuHeXgnmLw7lMPsLIWptKdymEd3gqmv83gO5qJ1Y59pXheo9wv+NZuPK18i
wADoe5LKDRkzombs9qPHzebu7m7Tda79HaFc9mJ2t6o7rVyu29puPiS/TIpI
TWN/scnGQ3e7YIKgAYlvMH9fJsmGqdPBUjkaPkTBR0Q8b75a99pdbLsOxLwK
1cCKaNZAEHz73neLXRs6/+n7z3K+/zxrKpMq97UYDVyX2zuvRPVnKAKEuHdz
j0uxGpl/vbmy8u9/0Sfl7B5UnlIJ/qG8VgR51O8ZkTtxjh/mn4ZT3xVHaEHA
WHvrnN3Kzrs1unphWpubfYxmXfoqeHP2me6kv+m/b3dftdvNmKDM5s76OpFA
acL+wTMuQk232IiRffdluYHnRmSje4jUZ5/wBhS+4VWk6xq6FRqe/jYannoa
jiAxjdBHHXPPwRie1GR9upzsQotbtQ1P6z+fEOPq4k9+2+JP1jeAJMex+9tw
7NIGgiDgXRF+cjdaw0/gFfTQhW8D08xS76Nl5O5diPQTn6qMuc28gcrC0DYY
7QiiEIiNG+xlHA6ETPgZ/asjSi5JDab0PQmo8o6Z+FDhEFSV/R8kyK+jCEEA
AA==

-->

</rfc>
