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

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc rfcedstyle="yes"?>
<?rfc toc="yes"?>
<?rfc tocindent="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc text-list-symbols="-o*+"?>

<rfc ipr="trust200902" docName="draft-tschofenig-rats-aiss-token-00" category="info" submissionType="independent">
  <front>
    <title abbrev="AISS Attestation Token">Automatic Integration of Secure Silicon (AISS) Attestation Token</title>

    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>Arm Limited</organization>
      <address>
        <email>Hannes.Tschofenig@arm.com</email>
      </address>
    </author>
    <author initials="A." surname="Kankaanpää" fullname="Arto Kankaanpää">
      <organization>Synopsys</organization>
      <address>
        <email>arto.kankaanpaa@synopsys.com</email>
      </address>
    </author>
    <author initials="N." surname="Bowler" fullname="Nick Bowler">
      <organization>Synopsys</organization>
      <address>
        <email>nick.bowler@synopsys.com</email>
      </address>
    </author>
    <author initials="T." surname="Khandelwal" fullname="Tushar Khandelwal">
      <organization>Arm Limited</organization>
      <address>
        <email>Tushar.Khandelwal@arm.com</email>
      </address>
    </author>

    <date year="2022" month="April" day="22"/>

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

    <abstract>


<t>This specification defines a profile of the Entity Attestation Token (EAT) for use in
special System-on-Chip (SoC) designs that are generated automatically utilizing a
methodology currently developed in a DARPA funded project.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>The DARPA-funded project Automated Implementation of Secure Silicon (AISS) is aimed at 
making scalable on-chip security pervasive. The objective is to develop ways to automate
the process of adding security into integrated circuits.</t>

<t>If successful, AISS will allow security to be inexpensively incorporated into chip designs
with minimal effort and expertise, ultimately making scalable on-chip security ubiquitous.
The project seeks to create a novel, automated chip design flow that will allow the security
mechanisms to scale consistently with the goals of the design.</t>

<t>As a minimal component, the generated chip designs must offer attestation capabilities.</t>

<t>This specification describes the minimal claim set offered by an attestation token
conforming to the Entity Attestation Token (EAT) specification. This attestation
token is, on request, provided to a Verifier.</t>

</section>
<section anchor="conventions-and-definitions" title="Conventions and Definitions">

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL
NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”,
“MAY”, and “OPTIONAL” in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<t>The following term is used in this document:</t>

<t><list style="hanging">
  <t hangText="RoT">
  Root of Trust, the minimal set of software, hardware and data that has to be
implicitly trusted in the platform - there is no software or hardware at a
deeper level that can verify that the Root of Trust is authentic and
unmodified.  An example of RoT is an initial bootloader in ROM, which contains
cryptographic functions and credentials, running on a specific hardware
platform.</t>
</list></t>

</section>
<section anchor="sec-claims" title="Claims">

<t>This section describes the claims to be used in an AISS attestation token.</t>

<t>CDDL <xref target="RFC8610"/> along with text descriptions is used to define each claim
independent of encoding.  The following CDDL type(s) are reused by different
claims:</t>

<figure><artwork><![CDATA[
aiss-hash-type = bytes .size 32 / bytes .size 48 / bytes .size 64
]]></artwork></figure>

<section anchor="sec-nonce-claim" title="Nonce">

<t>The Nonce claim is used to carry the challenge provided by the caller to
demonstrate freshness of the generated token.</t>

<t>The EAT <xref target="I-D.ietf-rats-eat"/> <spanx style="verb">nonce</spanx> (claim key 10) is used.  The following
constraints apply to the <spanx style="verb">nonce-type</spanx>:</t>

<t><list style="symbols">
  <t>The length MUST be either 32, 48, or 64 bytes.</t>
  <t>Only a single nonce value is conveyed. Per <xref target="I-D.ietf-rats-eat"/> the array
notation is not used for encoding the nonce value.</t>
</list></t>

<t>This claim MUST be present in an AISS attestation token.</t>

<figure><artwork><![CDATA[
aiss-nonce = (
    nonce-label => aiss-hash-type
)
]]></artwork></figure>

</section>
<section anchor="sec-instance-id-claim" title=" Instance ID">

<t>The Instance ID claim represents the unique identifier of the
attestation key.</t>

<t>The EAT <spanx style="verb">ueid</spanx> (claim key 256) of type RAND is used.  The following 
constraints apply to the <spanx style="verb">ueid-type</spanx>:</t>

<t><list style="symbols">
  <t>The length MUST be 17 bytes.</t>
  <t>The first byte MUST be 0x01 (RAND) followed by the 16-bytes random
value, which may be created by hashing the key identifier or may be
the key identifier itself.</t>
</list></t>

<t>This claim MUST be present in an AISS attestation token.</t>

<figure><artwork><![CDATA[
aiss-instance-id-type = bytes .size 33

aiss-instance-id = (
    ueid-label => aiss-instance-id-type
)
]]></artwork></figure>

</section>
<section anchor="sec-implementation-id" title="Implementation ID">

<t>The Implementation ID claim uniquely identifies the implementation of the
immutable RoT. A verification service uses this claim to locate the
details of the RoT implementation from a manufacturer. Such details are used
by a verification service to determine the security properties or
certification status of the RoT implementation.</t>

<t>The value and format of the ID is decided by the manufacturer or a
particular certification scheme. For example, the ID could take the
form of a product serial number, database ID, or other appropriate
identifier.</t>

<t>This claim MUST be present in an AISS attestation token.</t>

<t>Note that this identifies the RoT implementation, not a particular instance.
The Instance ID claim, see <xref target="sec-instance-id-claim"/>, uniquely identifies an
instance.</t>

<figure><artwork><![CDATA[
aiss-implementation-id-type = bytes .size 32

aiss-implementation-id = (
    aiss-implementation-id-label => aiss-implementation-id-type
)
]]></artwork></figure>

</section>
<section anchor="sec-security-lifecycle" title="Security Lifecycle">

<t>The Security Lifecycle claim represents the current lifecycle state of the 
RoT. The state is represented by an unsigned integer.</t>

<t>The lifecycle states are illustrated in <xref target="fig-lifecycle-states"/>. When the
device is deployed, a Verifier can only trust reports when the lifecycle
state is in “Secured” and “Non-RoT Debug” states. The states “Testing”
and “Provisioning” are utilized during manufacturing. A device is in 
“Decommisioned” state when it is retired.</t>

<t>This claim MUST be present in an AISS attestation token.</t>

<figure title="Lifecycle States." anchor="fig-lifecycle-states"><artwork><![CDATA[
  .-------------.        .-------------.
 +    Testing   |-------> Provisioning |
 '-------------'        '------+------'
                               |   .------------------.
                               |  |                    |
                               v  v                    |
                          .---------.                  |
                .---------+ Secured +-----------.      |
                |         '-+-------'            |     |
                |           |     ^              |     |
                |           v     |              v     |
                |    .------------+------.  .----------+----.
                |    | Non-RoT Debug     |  | Recoverable   |
                v    '---------+---------'  | RoT Debug     |
 .----------------.            |            '------+--------'
 | Decommissioned |<-----------+-------------------'
 '----------------'
]]></artwork></figure>

<figure><artwork><![CDATA[
aiss-lifecycle-unknown-type = 0
aiss-lifecycle-testing-type = 1
aiss-lifecycle-provisioning-type = 2
aiss-lifecycle-secured-type = 3
aiss-lifecycle-non-rot-debug-type = 4
aiss-lifecycle-recoverable-rot-debug-type = 5
aiss-lifecycle-decommissioned-type = 6

aiss-lifecycle-type = 
    aiss-lifecycle-unknown-type /
    aiss-lifecycle-testing-type /
    aiss-lifecycle-provisioning-type /
    aiss-lifecycle-secured-type /
    aiss-lifecycle-non-rot-debug-type /
    aiss-lifecycle-recoverable-rot-debug-type /
    aiss-lifecycle-decommissioned-type

aiss-lifecycle = (
    aiss-lifecycle-label => aiss-lifecycle-type
)
]]></artwork></figure>

</section>
<section anchor="sec-boot-odometer" title="Boot Odometer">

<t>The Boot Odometer claim contains a value that represents the number of
times the entity or submod has been booted.</t>

<t>The EAT <spanx style="verb">boot-seed-label</spanx> (claim key TBD) of type unsigned integer is used.</t>

<t>This claim MUST be present in an AISS attestation token.</t>

<figure><artwork><![CDATA[
aiss-boot-odometer = (
    aiss-boot-odometer-label => uint
)

]]></artwork></figure>

</section>
<section anchor="sec-watermark" title="Watermark">

<t>Watermarking, the process of marking an asset with a known structure,
is used to detect intellectual property (IP) theft and overuse. Watermarking
in hardware IPs is the mechanism of embedding a unique “code” into IP
without altering the original functionality of the design. The ownership
of the IP can be later verified when the watermark is extracted.</t>

<t>The Watermark claim contains a code extracted from the watermarking
hardware identified by an identifier. This identifier is formated
as a type 4 UUID <xref target="RFC4122"/>.</t>

<t>This claim MUST be present in an AISS attestation token when the
attestation token request asked for a watermark to be present.</t>

<figure><artwork><![CDATA[
watermark-type = [
    id:  bstr .size 16,
    watermark:  bytes
]

aiss-watermark = ( watermark-label => watermark-type )

]]></artwork></figure>

</section>
<section anchor="sec-profile-definition-claim" title="Profile Definition">

<t>The Profile Definition claim encodes the unique identifier that corresponds to
the EAT profile described by this document.  This allows a receiver to assign
the intended semantics to the rest of the claims found in the token.</t>

<t>The EAT <spanx style="verb">profile</spanx> (claim key 265) is used.  The following constraints
apply to its type:</t>

<t><list style="symbols">
  <t>The URI encoding MUST be used.</t>
  <t>The value MUST be <spanx style="verb">http://aiss/1.0.0</spanx>.</t>
</list></t>

<t>This claim MUST be present in an AISS attestation token.</t>

<figure><artwork><![CDATA[
aiss-profile-type = "http://aiss/1.0.0"

aiss-profile = (
    profile-label => aiss-profile-type
)
]]></artwork></figure>

</section>
</section>
<section anchor="sec-token-encoding-and-signing" title=" Token Encoding and Signing">

<t>The AISS attestation token is encoded in CBOR <xref target="RFC8949"/> format.  Only
definite-length string, arrays, and maps are allowed.</t>

<t>Cryptographic protection is accomplished by COSE. The signature
structure MUST be COSE_Sign1. Only the use of asymmetric key algorithms is
envisioned.</t>

<t>The CWT CBOR tag (61) is not used.  An application that needs to exchange PSA
attestation tokens can wrap the serialised COSE_Sign1 in a dedicated media
type, as for example defined in defined in <xref target="sec-iana-media-types"/> or the CoAP Content-Format defined in
<xref target="sec-iana-coap-content-format"/>.</t>

</section>
<section anchor="freshness-model" title="Freshness Model">

<t>The AISS attestation token supports the freshness models for attestation Evidence
based on nonces (Section 10.2 and 10.3 of <xref target="I-D.ietf-rats-architecture"/>) using
the <spanx style="verb">nonce</spanx> claim to convey the nonce supplied by the Verifier. No further
assumption on the specific remote attestation protocol is made.</t>

</section>
<section anchor="collated-cddl" title="Collated CDDL">

<figure><artwork><![CDATA[
aiss-token = {
    aiss-nonce,
    aiss-instance-id,
    aiss-profile,
    aiss-implementation-id,
    aiss-lifecycle,
    aiss-boot-odometer,
    aiss-watermark,
}

aiss-lifecycle-label = 2500
aiss-implementation-id-label = 2501
aiss-watermark-label = 2502
aiss-boot-odometer-label = 2503

; from EAT
nonce-label = 10
ueid-label = 256
profile-label = 265
aiss-hash-type = bytes .size 32 / bytes .size 48 / bytes .size 64
aiss-nonce = (
    nonce-label => aiss-hash-type
)
aiss-instance-id-type = bytes .size 33

aiss-instance-id = (
    ueid-label => aiss-instance-id-type
)
aiss-implementation-id-type = bytes .size 32

aiss-implementation-id = (
    aiss-implementation-id-label => aiss-implementation-id-type
)
aiss-lifecycle-unknown-type = 0
aiss-lifecycle-testing-type = 1
aiss-lifecycle-provisioning-type = 2
aiss-lifecycle-secured-type = 3
aiss-lifecycle-non-rot-debug-type = 4
aiss-lifecycle-recoverable-rot-debug-type = 5
aiss-lifecycle-decommissioned-type = 6

aiss-lifecycle-type = 
    aiss-lifecycle-unknown-type /
    aiss-lifecycle-testing-type /
    aiss-lifecycle-provisioning-type /
    aiss-lifecycle-secured-type /
    aiss-lifecycle-non-rot-debug-type /
    aiss-lifecycle-recoverable-rot-debug-type /
    aiss-lifecycle-decommissioned-type

aiss-lifecycle = (
    aiss-lifecycle-label => aiss-lifecycle-type
)
aiss-boot-odometer = (
    aiss-boot-odometer-label => uint
)

watermark-type = [
    id:  bstr .size 16,
    watermark:  bytes
]

aiss-watermark = ( watermark-label => watermark-type )

aiss-profile-type = "http://aiss/1.0.0"

aiss-profile = (
    profile-label => aiss-profile-type
)
]]></artwork></figure>

</section>
<section anchor="verification" title="Verification">

<t>To verify the token, the primary need is to check correct encoding and signing
as detailed in <xref target="sec-token-encoding-and-signing"/>.  In particular, the Instance
ID claim is used (together with the kid in the COSE header, if present)
to assist in locating the public key used to verify the signature covering the token.
The key used for verification is supplied to the Verifier by an authorized
Endorser along with the corresponding Attester’s Instance ID.</t>

<t>In addition, the Verifier will typically operate a policy where values of some
of the claims in this profile can be compared to reference values, registered
with the Verifier for a given deployment, in order to confirm that the device
is endorsed by the manufacturer supply chain.  The policy may require that the
relevant claims must have a match to a registered reference value.</t>

<t>The protocol used to convey Endorsements and Reference Values to the Verifier
is not in scope for this document.</t>

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

<section anchor="claim-registration" title="Claim Registration">

<t>This specification requests IANA to register the following claims in the “CBOR
Web Token (CWT) Claims” registry <xref target="IANA-CWT"/>.</t>

<section anchor="security-lifecycle-claim" title=" Security Lifecycle Claim">

<t><list style="symbols">
  <t>Claim Name: aiss-security-lifecycle</t>
  <t>Claim Description: AISS Security Lifecycle</t>
  <t>JWT Claim Name: N/A</t>
  <t>Claim Key: TBD (requested value: 2500)</t>
  <t>Claim Value Type(s): unsigned integer</t>
  <t>Change Controller: [[Authors of this RFC]]</t>
  <t>Specification Document(s): <xref target="sec-security-lifecycle"/> of [[this RFC]]</t>
</list></t>

</section>
<section anchor="implementation-id-claim" title=" Implementation ID Claim">

<t><list style="symbols">
  <t>Claim Name: aiss-implementation-id</t>
  <t>Claim Description: AISS Implementation ID</t>
  <t>JWT Claim Name: N/A</t>
  <t>Claim Key: TBD (requested value: 2501)</t>
  <t>Claim Value Type(s): byte string</t>
  <t>Change Controller: [[Authors of this RFC]]</t>
  <t>Specification Document(s): <xref target="sec-implementation-id"/> of [[this RFC]]</t>
</list></t>

</section>
<section anchor="watermark-claim" title=" Watermark Claim">

<t><list style="symbols">
  <t>Claim Name: aiss-watermark</t>
  <t>Claim Description: AISS Watermark</t>
  <t>JWT Claim Name: N/A</t>
  <t>Claim Key: TBD (requested value: 2502)</t>
  <t>Claim Value Type(s): byte string</t>
  <t>Change Controller: [[Authors of this RFC]]</t>
  <t>Specification Document(s): <xref target="sec-watermark"/> of [[this RFC]]</t>
</list></t>

</section>
</section>
<section anchor="sec-iana-media-types" title="Media Type Registration">

<t>IANA is requested to register the “application/aiss-attestation-token” media
type <xref target="RFC2046"/> in the “Media Types” registry <xref target="IANA-MediaTypes"/> in the
manner described in RFC 6838 <xref target="RFC6838"/>, which can be used to indicate that
the content is an AISS Attestation Token.</t>

<t><list style="symbols">
  <t>Type name: application</t>
  <t>Subtype name: aiss-attestation-token</t>
  <t>Required parameters: n/a</t>
  <t>Optional parameters: n/a</t>
  <t>Encoding considerations: binary</t>
  <t>Security considerations: See the Security Considerations section
of [[this RFC]]</t>
  <t>Interoperability considerations: n/a</t>
  <t>Published specification: [[this RFC]]</t>
  <t>Applications that use this media type: Attesters and Relying Parties sending
AISS attestation tokens over HTTP(S), CoAP(S) and other transports.</t>
  <t>Fragment identifier considerations: n/a</t>
  <t>Additional information:  <list style="symbols">
      <t>Magic number(s): n/a</t>
      <t>File extension(s): n/a</t>
      <t>Macintosh file type code(s): n/a</t>
    </list></t>
  <t>Person &amp; email address to contact for further information:
Hannes Tschofenig, Hannes.Tschofenig@arm.com</t>
  <t>Intended usage: COMMON</t>
  <t>Restrictions on usage: none</t>
  <t>Author: Hannes Tschofenig, Hannes.Tschofenig@arm.com</t>
  <t>Change controller: IESG</t>
  <t>Provisional registration?  No</t>
</list></t>

</section>
<section anchor="sec-iana-coap-content-format" title="CoAP Content-Formats Registration">

<t>IANA is requested to register the CoAP Content-Format ID for the
“application/aiss-attestation-token” media type in the “CoAP Content-Formats”
registry <xref target="IANA-CoAP-Content-Formats"/>.</t>

<section anchor="registry-contents" title="Registry Contents">

<t><list style="symbols">
  <t>Media Type: application/aiss-attestation-token</t>
  <t>Encoding: -</t>
  <t>Id: [[To-be-assigned by IANA]]</t>
  <t>Reference: [[this RFC]]</t>
</list></t>

</section>
</section>
</section>


  </middle>

  <back>

    <references title='Normative References'>

<reference anchor="IANA-CWT" target="https://www.iana.org/assignments/cwt/cwt.xhtml#claims-registry">
  <front>
    <title>CBOR Web Token (CWT) Claims</title>
    <author >
      <organization>IANA</organization>
    </author>
    <date year="2022"/>
  </front>
</reference>




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


<reference anchor='I-D.ietf-rats-eat'>
   <front>
      <title>The Entity Attestation Token (EAT)</title>
      <author fullname='Laurence Lundblade'>
	 <organization>Security Theory LLC</organization>
      </author>
      <author fullname='Giridhar Mandyam'>
	 <organization>Qualcomm Technologies Inc.</organization>
      </author>
      <author fullname='Jeremy O&#39;Donoghue'>
	 <organization>Qualcomm Technologies Inc.</organization>
      </author>
      <date day='24' month='February' 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 phone, 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.  To a large degree, all this document
   does is extend CWT and JWT.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-rats-eat-12'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-rats-eat-12.txt' type='TXT'/>
</reference>



<reference anchor='RFC4122' target='https://www.rfc-editor.org/info/rfc4122'>
<front>
<title>A Universally Unique IDentifier (UUID) URN Namespace</title>
<author fullname='P. Leach' initials='P.' surname='Leach'><organization/></author>
<author fullname='M. Mealling' initials='M.' surname='Mealling'><organization/></author>
<author fullname='R. Salz' initials='R.' surname='Salz'><organization/></author>
<date month='July' year='2005'/>
<abstract><t>This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier).  A UUID is 128 bits long, and can guarantee uniqueness across space and time.  UUIDs were originally used in the Apollo Network Computing System and later in the Open Software Foundation\'s (OSF) Distributed Computing Environment (DCE), and then in Microsoft Windows platforms.</t><t>This specification is derived from the DCE specification with the kind permission of the OSF (now known as The Open Group).  Information from earlier versions of the DCE specification have been incorporated into this document.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4122'/>
<seriesInfo name='DOI' value='10.17487/RFC4122'/>
</reference>



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



<reference anchor='RFC2046' target='https://www.rfc-editor.org/info/rfc2046'>
<front>
<title>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</title>
<author fullname='N. Freed' initials='N.' surname='Freed'><organization/></author>
<author fullname='N. Borenstein' initials='N.' surname='Borenstein'><organization/></author>
<date month='November' year='1996'/>
<abstract><t>This second document defines the general structure of the MIME media typing system and defines an initial set of media types.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='2046'/>
<seriesInfo name='DOI' value='10.17487/RFC2046'/>
</reference>



<reference anchor='RFC6838' target='https://www.rfc-editor.org/info/rfc6838'>
<front>
<title>Media Type Specifications and Registration Procedures</title>
<author fullname='N. Freed' initials='N.' surname='Freed'><organization/></author>
<author fullname='J. Klensin' initials='J.' surname='Klensin'><organization/></author>
<author fullname='T. Hansen' initials='T.' surname='Hansen'><organization/></author>
<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>




    </references>

    <references title='Informative References'>

<reference anchor="IANA-MediaTypes" target="http://www.iana.org/assignments/media-types">
  <front>
    <title>Media Types</title>
    <author >
      <organization>IANA</organization>
    </author>
    <date year="2022"/>
  </front>
</reference>
<reference anchor="IANA-CoAP-Content-Formats" target="https://www.iana.org/assignments/core-parameters">
  <front>
    <title>CoAP Content-Formats</title>
    <author >
      <organization>IANA</organization>
    </author>
    <date year="2022"/>
  </front>
</reference>



<reference anchor='I-D.ietf-rats-architecture'>
   <front>
      <title>Remote Attestation Procedures Architecture</title>
      <author fullname='Henk Birkholz'>
	 <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname='Dave Thaler'>
	 <organization>Microsoft</organization>
      </author>
      <author fullname='Michael Richardson'>
	 <organization>Sandelman Software Works</organization>
      </author>
      <author fullname='Ned Smith'>
	 <organization>Intel Corporation</organization>
      </author>
      <author fullname='Wei Pan'>
	 <organization>Huawei Technologies</organization>
      </author>
      <date day='8' month='February' 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-15'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-rats-architecture-15.txt' type='TXT'/>
</reference>




    </references>


<section anchor="example" title="Example">

<t>The following example shows an AISS attestation token for an hypothetical system.
The attesting device is in a lifecycle state <xref target="sec-security-lifecycle"/> of
SECURED.</t>

<t>The claims in this example are:</t>

<figure><artwork><![CDATA[
{
  / instance-id /         255: h'FF0039A1', 
  / nonce /                10: h'AABBCCDD', 
  / lifecycle /          2500: 2,
  / implementation-id /  2501: h'CCDDEE', 
  / watermark /          2502: h'010203',
  / boot-odometer /      2503: 5,
  / profile-id /          256: "aiss/1.0.0",
}
]]></artwork></figure>

<t>The resulting COSE object is:</t>

<figure><artwork><![CDATA[
18(
  [
    / protected /   h'A10126',
    / unprotected / {},
    / payload /     h'A718FF44FF0039A10A44AABBCCDD1909C4021901006
                      A616973732F312E302E301909C543CCDDEE1909C643
                      0102031909C705',
    / signature /   h'9744085E05D875E5EAAEC1598D1DD9E14097CCE4E9A
                      484344D08C9D41244713C700CD4F1CD7E86C0C6397A
                      ABECE40E166EBA5AA92DB11170F69B2DD8E681708E'
  ]
)
]]></artwork></figure>

</section>
<section numbered="false" anchor="acknowledgments" title="Acknowledgments">

<t>We would like to thank Rob Aitken, Mike Borza, Liam Dillon, Dale Donchin, John Goodenough, and Oleg Raikhman for their feedback.</t>

<t>Work on this document has in part been supported by the DARPA AISS project (grant agreement HR0011-20-9-0043).</t>

</section>


  </back>

<!-- ##markdown-source:
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
wgJaNjAWEpsfMTSke4MAYu9eR3CIgLeHNpR6aR4G7QzzBT3dIM21XjEuRg3L
u3h9jjI2VJ6/kX/AwK2y7MXOoFjij3rZx/yr3LJUgAOjo+yT57pdDKQDokcP
W+l2fy1Li+M4wMMIKonx7ltffvvtgMTa3r0AykO8/N13MPimdgJDe5q0NCvK
dbQxUpvAkpV1mJzrt2CepuaaZ/YMMdfv4/wSWnaepCXdnuIEwa9OxvWbQ09R
sUynPk29wlY/Q7X3lTE/n1rdfwq1Cvw2U6ny8qeuVYp7WqvJBbBGqFPodoBD
clXBNCpZE/JvvEqQzA5Do5LtcFfD2719gNIpo8qbpHXlU75xKmaIOT6dS2Tt
8jksK/cPdw/tFvgT7+HY281s6ZxKNxEnYsh6CDbPlBCxt6U3v6tsUV4SseDH
aRXU8XzycVbp20gKGHbNdiuQ5VOlvgTS4ZXUBdcgNnQVSUG/ZiiAoUwEzh1u
75Tn6ogbzZfNigF1W+MuX4P7uco03/CrTfI06InG+uIM3RW6XpTZq9mm/upy
g5Jg9hkU5vJoCLEIZ38L58iZ2XCJmF8pviAHfiBSAuDdnJpKqY4k39zeXm3d
bDcpMwY/uMJEDicwfpRS9grzyKeJmtIbh0oCfjOaA+uYwQkVj/EASwGgfCPP
1RS8Ty40klDiHOw4RU9Lf8zwSVEc1brOlY/1qXQmyR0j9sEkbTEIaQt0ANT+
nZ81onOYYKKN/ZIMfCVyK2wOqw6XXH+d2nzm1SkfN1UE8lRN8VHe5fn55QUx
LT+lpYMDaGw/BJZoolljbXgL+/xuVvv5Fe13Nrr5PeLsIl+gdFJRVb+V8iLm
msym94LPqLVNSc+vUW+b0qpgotmT0+LrtR8fbuF9bYC+Idbcrg0PKp0f5nBd
umVSZJaKjq+ppydgwxlOs/Slh59nAUrtbeyNtce1IvbOESCS4dLtXRFvfm44
Vv4derUjzmavPtdxSW580pM+U0SkuCKSs+UCRZYeRsqUHlVysMYzcMXaPTe1
drHwWX9M3IxO3l2PhtbzX4mSHKwQGtmnGwLztzuymszbKa70dPf2+nL28vS0
3d49GnReNiUN5qRiOcz+6bRx8GBwfHxyMhy6wSX0lQnoyoJb0eS913J7OzSi
g8vhUqORW6xMXtQX6+LQdqfdbe++5EXrmZadYuRuX+7xCJeBqGGM+dg+eABl
VgNzyUSoW64i4ttHfCSD0Tw/9ISDssTsHGLKgzMzO65apHl9oEyn3enuv2za
7jyqDvj06NoXaomvmSxQMO2gc3h62uu5U2gPej1H5M5R++ik1+7Cv512e/+J
a3iD/c7+0cHuwW73dLfTHe228X+autfbZQLT135v94kVmLQ06KC9V6BQZiAY
w6ODXq99uDdq7w0PD/ZGe6PBYHTS2Ts6HHaGw6NRp9c+Ojg5GfVGR4MnNuod
9nZ7vWH78ORo2Ot0e72Dzi5s2T4Z9k47J8OD0eH+Sftkf/fo4KkVBscj2KE9
6uzvj44He4PBUXd43Ol0Dtqn+0fH3eHwcLR/CF+HI7xf+V1ZrJQDHxOcoQ7I
duLLLjZ9OnjdmKgw1Xij7L2WD3RFPDR3msNjFd3J63gsByajDNU59hzHyfeq
CWGfAp/cgK6AjiE+SR2C8MwMfP0hnkXy9zHYxijOpzMuQV6GeiqvlbmbgT/o
dLIBY6h1gHoIxPp9DOwfr75mxJs+hpNVfOPHVrPKRAS/qCbl5N7gbk0TzC6o
aaJJAOWb63a70/G6be/Ia7d7u9v4quf/AHl1WeXpQwAA

-->

</rfc>

