﻿<?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.2.10 -->

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

<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc rfcedstyle="yes"?>

<rfc ipr="trust200902" docName="draft-mandyam-rats-eat-00" category="std">

  <front>
    <title abbrev="EAT">The Entity Attestation Token (EAT)</title>

    <author initials="G." surname="Mandyam" fullname="Giridhar Mandyam">
      <organization>Qualcomm Technologies Inc.</organization>
      <address>
        <postal>
          <street>5775 Morehouse Drive</street>
          <city>San Diego</city>
          <region>California</region>
          <country>USA</country>
        </postal>
        <phone>+1 858 651 7200</phone>
        <email>mandyam@qti.qualcomm.com</email>
      </address>
    </author>
    <author initials="L." surname="Lundblade" fullname="Laurence Lundblade">
      <organization>Security Theory LLC</organization>
      <address>
        <email>lgl@island-resort.com</email>
      </address>
    </author>
    <author initials="M." surname="Ballesteros" fullname="Miguel Ballesteros">
      <organization>Qualcomm Technologies Inc.</organization>
      <address>
        <postal>
          <street>5775 Morehouse Drive</street>
          <city>San Diego</city>
          <region>California</region>
          <country>USA</country>
        </postal>
        <phone>+1 858 651 4299</phone>
        <email>mballest@qti.qualcomm.com</email>
      </address>
    </author>
    <author initials="J." surname="O'Donoghue" fullname="Jeremy O'Donoghue">
      <organization>Qualcomm Technologies Inc.</organization>
      <address>
        <postal>
          <street>279 Farnborough Road</street>
          <city>Farnborough</city>
          <code>GU14 7LS</code>
          <country>United Kingdom</country>
        </postal>
        <phone>+44 1252 363189</phone>
        <email>jodonogh@qti.qualcomm.com</email>
      </address>
    </author>

    <date year="2019" month="March" day="24"/>

    <area>Internet</area>
    <workgroup>RATS Working Group</workgroup>
    <keyword>signing attestation cbor</keyword>

    <abstract>


<t>An attestation format based on concise binary object representation
(CBOR) is proposed that is suitable for inclusion in a CBOR Web Token
(CWT), know as the Entity Attestation Token (EAT).  The associated
data can be used by a relying party to assess the security state of a
remote device or module.</t>



    </abstract>


    <note title="Contributing">


<t>TBD</t>


    </note>


  </front>

  <middle>


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

<t>Remote device attestation is fundamental service that allows a remote
device such as a mobile phone, an Internet-of-Things (IoT) device, or
other endpoint to prove itself to a relying party, a server or a service.  This
allows the relying party to know some characteristics about the device
and decide whether it trusts the device.</t>

<t>Remote attestation is a fundamental service that can underlie other
protocols and services that need to know about the trustworthiness of
the device before proceeding. One good example is biometric
authentication where the biometric matching is done on the device. The
relying party needs to know that the device is one that is known to do
biometric matching correctly.  Another example is content protection
where the relying party wants to know the device will protect the
data.  This generalizes on to corporate enterprises that might want to
know that a device is trustworthy before allowing corporate data to be
accessed by it.</t>

<t>The notion of attestation here is large and may include, but is not
limited to the following:</t>

<t><list style="symbols">
  <t>Proof of the make and model of the device hardware (HW)</t>
  <t>Proof of the make and model of the device processor, particularly
for security oriented chips</t>
  <t>Measurement of the software (SW) running on the device</t>
  <t>Configuration and state of the device</t>
  <t>Environmental characteristics of the device such as its GPS location</t>
</list></t>

<t>The required data format should be general purpose and extensible so
that it can work across many use cases.  This is why CBOR (see <xref target="RFC7049"/>) 
was chosen as the format — it already
supports a rich set of data types, and is both expressive and
extensible.  It translates well to JSON for good interoperation with
web technology. It is compact and can work on very small IoT
device. The format proposed here is small enough that a limited
version can be implemented in pure hardware gates with no software at
all.  Moreover, the attestation data is defined in the form of claims
that is the same as CBOR Web Token (CWT, see <xref target="RFC8392"/>). 
This is the motivation for defining the Entity Attestation Token, i.e. EAT.</t>

<section anchor="entity-overview" title="Entity Overview">

<t>An “entity” can be any device or device subassembly (“submodule”) that
can generate its own attestation in the form of an EAT.  The
attestation should be cryptographically verifiable by the EAT
consumer. An EAT at the device-level can be composed of several
submodule EAT’s.  It is assumed that any entity that can create an EAT
does so by means of a dedicated root-of-trust (RoT).</t>

<t>Modern devices such as a mobile phone have many different execution
environments operating with different security levels. For example it
is common for a mobile phone to have an “apps” environment that runs
an operating system (OS) that hosts a plethora of downloadable apps. It may also have a
TEE (Trusted Execution Environment) that is distinct, isolated, and
hosts security-oriented functionality like biometric
authentication. Additionally it may have an eSE (embedded Secure
Element) - a high security chip with defenses against HW attacks that
can serve as a RoT.  This device attestation format allows the
attested data to be tagged at a security level from which it
originates.  In general, any discrete execution environment that has
an identifiable security level can be considered an entity.</t>

</section>
<section anchor="use-of-cbor-and-cose" title="Use of CBOR and COSE">

<t>Fundamentally this attestation format is a verifiable data format. It is a 
collection of data items that can be signed by an attestation key, hashed,
and/or encrypted.  As per Section 7 of <xref target="RFC8392"/>, the
verification method is in the CWT using the CBOR Object Signing and 
Encryption (COSE) methodology (see <xref target="RFC8152"/>).</t>

<t>In addition, the reported attestation data could be determined within the
secure operating environment or written to it from an external and
presumably less trusted entity on the device.  In either case, the 
source of the reported data
must be identifiable by the relying party.</t>

<t>This attestation format is a single relatively simple signed message. 
It is designed to be incorporated into many
other protocols and many other transports.  It is also designed
such that other SW and apps can add their own data to
the message such that it is also attested.</t>

</section>
<section anchor="eat-operating-models" title="EAT Operating Models">

<t>At least the following three participants exist in all EAT operating
models. Some operating models have additional participants.</t>

<t><list style="hanging">
  <t hangText='The Entity.'>
  This is the phone, the IoT device, the sensor, the sub-assembly or
such that the attestation provides information about.</t>
  <t hangText='The Manufacturer.'>
  The company that made the entity.  This may be a chip vendor, a
circuit board module vendor or a vendor of finished consumer products.</t>
  <t hangText='The Relying Party.'>
  The server, service or company that makes use of the information in
the EAT about the entity.</t>
</list></t>

<t>In all operating models, the manufacturer provisions some secret attestation
key material (AKM) into the entity during manufacturing.  This might be during
the manufacturer of a chip at a fabrication facility (fab) or during final assembly of a
consumer product or any time in between. This attestation key material is used for
signing EATs.</t>

<t>In all operating models, hardware and/or software on the entity create
an EAT of the format described in this document. The EAT is always
signed by the attestation key material provisioned by the manufacturer.</t>

<t>In all operating models, the relying party must end up knowing that
the signature on the EAT is valid and consistent with data from claims in the
EAT.  This can happen in many different ways. Here are some examples.</t>

<t><list style="symbols">
  <t>The EAT is transmitted to the relying party. The relying party gets
corresponding key material (e.g. a root certificate) from the manufacturer. The
relying party performs the verification.</t>
  <t>The EAT is transmitted to the relying party. The relying party
transmits the EAT to a verification service offered by the
manufacturer. The server returns the validated claims.</t>
  <t>The EAT is transmitted directly to a verification service, perhaps
operated by the manufacturer or perhaps by another party. It
verifies the EAT and makes the validated claims available to the
relying party. It may even modify the claims in some way and re-sign
the EAT (with a different signing key).</t>
</list></t>

<t>This standard supports all these operating models and does not prefer
one over the other. It is important to support this variety of
operating models to generally facilitate deployment and to allow for
some special scenarios. One special scenario has a validation service
that is monetized, most likely by the manufacturer.  In another, a
privacy proxy service processes the EAT before it is transmitted to
the relying party. In yet another, symmetric key material is used for
signing. In this case the manufacturer should perform the verification,
because any release of the key material would enable a participant other than the
entity to create valid signed EATs.</t>

</section>
<section anchor="what-is-not-standardized" title="What is Not Standardized">

<section anchor="transmission-protocol" title="Transmission Protocol">

<t>EATs may be transmitted by any protocol. For example, they might be
added in extension fields of other protocols, bundled into an
HTTP header, or just transmitted as files. This flexibility is
intentional to allow broader adoption. This flexibility is possible because EAT’s
are self-secured with signing (and possibly additionally with
encryption and anti-replay). The transmission protocol is not required to fulfill any additional
security requirements.</t>

<t>For certain devices, a direct connection may not exist between the 
EAT-producing device and the Relying Party. In such cases, the EAT 
should be protected against malicious access. The use of COSE allows
for signing and encryption of the EAT. Therefore even if the EAT is
conveyed through intermediaries between the device and Relying Party,
such intermediaries cannot easily modify the EAT payload or alter the
signature.</t>

</section>
<section anchor="signing-scheme" title="Signing Scheme">

<t>The term “signing scheme” is used to refer to the system that includes
end-end process of establishing signing attestation key material in the entity,
signing the EAT, and verifying it. This might involve key IDs and
X.509 certificate chains or something similar but different. The term
“signing algorithm” refers just to the algorithm ID in the COSE
signing structure. No particular signing algorithm or signing scheme
is required by this standard.</t>

<t>There are three main implementation issues driving this. First,
secure non-volatile storage space in the entity for the attestation key
material may be highly limited, perhaps to only a few hundred bits, on
some small IoT chips. Second, the factory cost of provisioning key
material in each chip or device may be high, with even millisecond
delays adding to the cost of a chip. Third, privacy-preserving signing
schemes like ECDAA (Elliptic Curve Direct Anonymous Attestation) are 
complex and not suitable for all use cases.</t>

<t>Eventually some form of standardization of the signing scheme may be
required. This might come in the form of another standard that adds to
this document, or when there is clear convergence on a small number of
signing schemes this standard can be updated.</t>

</section>
</section>
</section>
<section anchor="terminology" title="Terminology">

<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>This document reuses terminology from JWT <xref target="RFC7519"/>, COSE
<xref target="RFC8152"/>, and CWT <xref target="RFC8392"/>.</t>

<t><list style="hanging">
  <t hangText='StringOrURI.'>
  The “StringOrURI” term in this specification has the same meaning
and processing rules as the JWT “StringOrURI” term defined in
Section 2 of <xref target="RFC7519"/>, except that it is represented as a CBOR
text string instead of a JSON text string.</t>
  <t hangText='NumericDate.'>
  The “NumericDate” term in this specification has the same meaning
and processing rules as the JWT “NumericDate” term defined in
Section 2 of <xref target="RFC7519"/>, except that it is represented as a CBOR
numeric date (from Section 2.4.1 of <xref target="RFC7049"/>) instead of a JSON
number.  The encoding is modified so that the leading tag 1
(epoch-based date/time) MUST be omitted.</t>
  <t hangText='Claim Name.'>
  The human-readable name used to identify a claim.</t>
  <t hangText='Claim Key.'>
  The CBOR map key used to identify a claim.</t>
  <t hangText='Claim Value.'>
  The CBOR map value representing the value of the claim.</t>
  <t hangText='CWT Claims Set.'>
  The CBOR map that contains the claims conveyed by the CWT.</t>
  <t hangText='FloatOrNumber.'>
  The “FloatOrNumber” term in this specification is the type
of a claim that is either a CBOR positive integer, negative integer
or floating point number.</t>
  <t hangText='Attestation Key Material (AKM).'>
  The key material used to sign the EAT token. If it is done
symmetrically with HMAC, then this is a simple symmetric key.
If it is done with ECC, such as an IEEE DevID <xref target="IDevID"/>, then this
is the private part of the EC key pair. If ECDAA 
is used, (e.g., as used by Enhanced Privacy ID, i.e. EPID) then it is the key material 
needed for ECDAA.</t>
</list></t>

</section>
<section anchor="the-claims" title="The Claims">

<section anchor="universal-entity-id-ueid-claim" title="Universal Entity ID (UEID) Claim">

<t>UEID’s identify individual manufactured entities / devices such as a
mobile phone, a water meter, a Bluetooth speaker or a networked
security camera.  It may identify the entire device or a submodule or 
subsystem. It does
not identify types, models or classes of devices.  It is akin to a
serial number, though it does not have to be sequential.</t>

<t>It is identified by Claim Key X (X is TBD).</t>

<t>UEID’s must be universally and globally unique across manufacturers
and countries. UEIDs must also be unique across protocols and systems,
as tokens are intended to be embedded in many different protocols and
systems. No two products anywhere, even in completely different
industries made by two different manufacturers in two different
countries. should have the same UEID (if they are not global and
universal in this way then relying parties receiving them will have to
track other characteristics of the device to keep devices distinct
between manufacturers).</t>

<t>The UEID should be permanent. It should never change for a given
device / entity. In addition, it should not be reprogrammable.</t>

<t>UEID’s are binary byte-strings (resulting in a
smaller size than text strings).  When handled in text-based
protocols, they should be base-64 encoded.</t>

<t>UEID’s are variable length with a maximum size of 33 bytes (1 type
byte and 256 bits). A receivers of a token with UEIDs may reject the
token if a UEID is larger than 33 bytes.</t>

<t>UEID’s are not designed for direct use by humans (e.g., printing on
the case of a device), so no textual representation is defined.</t>

<t>A UEID is a byte string. From the consumer’s view (the rely party) it
is opaque with no bytes having any special meaning.</t>

<t>When the entity constructs the UEID, the first byte is a type and the
following bytes the ID for that type.  Several types are allowed to
accommodate different industries and different manufacturing processes
and to give options to avoid paying fees for certain types of
manufacturer registrations.</t>

<texttable title="UEID Composition Types" anchor="ueid-types-table">
      <ttcol align='left'>Type Byte</ttcol>
      <ttcol align='left'>Type Name</ttcol>
      <ttcol align='left'>Specification</ttcol>
      <c>0x01</c>
      <c>GUID</c>
      <c>This is a 128 to 256 bit random number generated once and stored in the device. The GUID may be constructed from various identifiers on the device using a hash function or it may be just the raw random number.</c>
      <c>0x02</c>
      <c>IEEE EUI</c>
      <c>This makes use of the IEEE company identification registry. An EUI is made up of an OUI and OUI-36 or a CID, different registered company identifiers, and some unique per-device identifier. EUIs are often the same as or similar to MAC addresses. (Note that while devices with multiple network interfaces may have multiple MAC addresses, there is only one UEID for a device) TODO: normative references to IEEE.</c>
      <c>0x03</c>
      <c>IMEI</c>
      <c>This is a 14-digit identifier consisting of an 8 digit Type Allocation Code and a six digit serial number allocated by the manufacturer, which SHALL be encoded as a binary integer over 48 bits. The IMEI value encoded SHALL NOT include Luhn checksum or SVN information.</c>
      <c>0x04</c>
      <c>EUI-48</c>
      <c>This is a 48-bit identifier formed by concatenating the 24-bit OUI with a 24-bit identifier assigned by the organisation that purchased the OUI.</c>
      <c>0x05</c>
      <c>EUI-60</c>
      <c>This is a 60-bit identifier formed by concatenating the 24-bit OUI with a 36-bit identifier assigned by the organisation that purchased the OUI.</c>
      <c>0x06</c>
      <c>EUI-64</c>
      <c>This is a 64-bit identifier formed by concatenating the 24-bit OUI with a 40-bit identifier assigned by the organisation that purchased the OUI.</c>
</texttable>

<t>The consumer (the Relying Party) of a UEID should treat a UEID as a completely opaque
string of bytes and not make any use of its internal structure. For
example they should not use the OUI part of a type 0x02 UEID to
identify the manufacturer of the device. Instead they should use the
OUI claim that is defined elsewhere. The reasons for this are:</t>

<t><list style="symbols">
  <t>UEIDs types may vary freely from one manufacturer to the next.</t>
  <t>New types of UEIDs may be created. For example a type 0x04 UEID may
be created based on some other manufacturer registration scheme.</t>
  <t>Device manufacturers are allowed to change from one type of UEID to
another anytime they want. For example they may find they can
optimize their manufacturing by switching from type 0x01 to type
0x02 or vice versa.  The main requirement on the manufacturer is
that UEIDs be universally unique.</t>
</list></t>

</section>
<section anchor="origination-origination-claims" title="Origination (origination) Claims">

<t>This claim describes the parts of the device or entity that
are creating the EAT. Often it will be tied back to the
device or chip manufacturer. The following table gives
some examples:</t>

<texttable>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c>Acme-TEE</c>
      <c>The EATs are generated in the TEE authored and configured by “Acme”</c>
      <c>Acme-TPM</c>
      <c>The EATs are generated in a TPM manufactured by “Acme”</c>
      <c>Acme-Linux-Kernel</c>
      <c>The EATs are generated in a Linux kernel configured and shipped by “Acme”</c>
      <c>Acme-TA</c>
      <c>The EATs are generated in a Trusted Application (TA) authored by “Acme”</c>
</texttable>

<t>The claim is represented by Claim Key X+1. It is type StringOrURI.</t>

<t>TODO: consider a more structure approach where the name and the URI
and other are in separate fields.</t>

<t>TODO: This needs refinement. It is somewhat parallel to issuer claim
in CWT in that it describes the authority that created the token.</t>

</section>
<section anchor="oem-identification-by-ieee-oui" title="OEM identification by IEEE OUI">

<t>This claim identifies a device OEM by the IEEE OUI. Reference TBD. It
is a byte string representing the OUI in binary form in network byte
order (TODO: confirm details).</t>

<t>Companies that have more than one IEEE OUI registered with IEEE should
pick one and prefer that for all their devices.</t>

<t>Note that the OUI is in common use as a part of MAC Address. This claim
is only the first bits of the MAC address that identify the
manufacturer. The IEEE
maintains a registry for these in which many companies participate.  This claim is represented
by Claim Key TBD.</t>

</section>
<section anchor="security-level-seclevel-claim" title="Security Level (seclevel) Claim">

<t>EATs have a claim that roughly characterizes the device / entities 
ability to defend against attacks aimed at capturing the signing
key, forging claims and at forging EATs. This is done by roughly 
defining four security levels as described below. This is similar
to the security levels defined in the Metadata Service
definied by the Fast Identity Online (FIDO) Alliance (TODO: reference).</t>

<t>These claims describe security environment and countermeasures
available on the end-entity / client device where
the attestation key reside and the claims originate.</t>

<t>This claim is identified by Claim Key X+2. The value is an
integer between 1 and 4 as defined below.</t>

<t><list style="hanging">
  <t hangText='1 – Unrestricted'>
  There is some expectation that implementor will
protect the attestation signing keys at this level. Otherwise
the EAT provides no meaningful security assurances.</t>
  <t hangText='2– Restricted'>
  Entities at this level should not be general-purpose
operating environments that host features such as app download
systems, web browsers and complex productivity applications.
It is akin to the Secure Restricted level (see below) without the
security orientation. Examples include a WiFi subsystem,
an IoT camera, or sensor device.</t>
  <t hangText='3 – Secure Restricted'>
  Entities at this level must meet the critera defined by FIDO Allowed
Restricted Operating Environments (TODO: reference). Examples include TEE’s and 
schemes using virtualization-based security. Like the FIDO security goal,
security at this level is aimed at defending well against large-scale
network / remote attacks against the device.</t>
  <t hangText='4 – Hardware'>
  Entities at this level must include substantial defense 
against physical or electrical attacks against the device itself.
It is assumed any potential attacker has captured the device and can 
disassemble it. Example include TPMs and Secure Elements.</t>
</list></t>

<t>This claim is not intended as a replacement for a proper end-device
security certification schemes such as those based on FIPS (TODO: reference)
or those based on Common Criteria (TODO: reference). The 
claim made here is solely a self-claim made by the Entity Originator.</t>

</section>
<section anchor="nonce-nonce-claim" title="Nonce (nonce) Claim">

<t>The “nonce” (Nonce) claim represents a random value that can be used
to avoid replay attacks.  This would be ideally generated by the CWT
consumer.  This value is intended to be a CWT companion claim to the
existing JWT claim <spanx style="strong"></spanx><spanx style="emph">IANAJWT</spanx> (TODO: fix this reference).  The nonce claim is
identified by Claim Key X+3.</t>

</section>
<section anchor="secure-boot-and-debug-enable-state-claims" title="Secure Boot and Debug Enable State Claims">

<section anchor="secure-boot-enabled-secbootenabled-claim" title="Secure Boot Enabled (secbootenabled) Claim">

<t>The “secbootenabled” (Secure Boot Enabled) claim represents a boolean
value that indicates whether secure boot is enabled either for an
entire device or an individual submodule.  If it appears at the device
level, then this means that secure boot is enabled for all submodules.
Secure boot enablement allows a secure boot loader to authenticate
software running either in a device or a submodule prior allowing
execution. This claim is identified by Claim Key X+4.</t>

</section>
<section anchor="debug-disabled-debugdisabled-claim" title="Debug Disabled (debugdisabled) Claim">

<t>The “debugdisabled” (Debug Disabled) claim represents a boolean value
that indicates whether debug capabilities are disabled for an entity
(i.e. value of ‘true’).  Debug disablement is considered a
prerequisite before an entity is considered operational.  This claim
is identified by Claim Key X+5.</t>

</section>
<section anchor="debug-disabled-since-boot-debugdisabledsincebboot-claim" title="Debug Disabled Since Boot (debugdisabledsincebboot) Claim">

<t>The “debugdisabledsinceboot” (Debug Disabled Since Boot) claim
represents a boolean value that indicates whether debug capabilities
for the entity were not disabled in any way since boot (i.e. value of
‘true’).  This claim is identified by Claim Key X+6.</t>

</section>
<section anchor="debug-permanent-disable-debugpermanentdisable-claim" title="Debug Permanent Disable (debugpermanentdisable) Claim">

<t>The “debugpermanentdisable” (Debug Permanent Disable) claim represents
a boolean value that indicates whether debug capabilities for the
entity are permanently disabled (i.e. value of ‘true’).  This value
can be set to ‘true’ also if only the manufacturer is allowed to
enabled debug, but the end user is not.  This claim is identified by
Claim Key X+7.</t>

</section>
<section anchor="debug-full-permanent-disable-debugfullpermanentdisable-claim" title="Debug Full Permanent Disable (debugfullpermanentdisable) Claim">

<t>The “debugfullpermanentdisable” (Debug Full Permanent Disable) claim
represents a boolean value that indicates whether debug capabilities
for the entity are permanently disabled (i.e. value of ‘true’).  This
value can only be set to ‘true’ if no party can enable debug
capabilities for the entity. Often this is implemented by blowing a
fuse on a chip as fuses cannot be restored once blown.  This claim is
identified by Claim Key X+8.</t>

</section>
</section>
<section anchor="location-loc-claim" title="Location (loc) Claim">

<t>The “loc” (location) claim is a CBOR-formatted object that describes
the location of the device entity from which the attestation originates.
It is identified by Claim Key X+10.  It is comprised
of an array of additional subclaims
that represent the actual location coordinates (latitude, longitude
and altitude).  The location coordinate claims
are consistent with the WGS84 coordinate system <xref target="WGS84"/>.  In
addition, a subclaim providing the estimated accuracy of the location
measurement is defined.</t>

<section anchor="lat-latitude-claim" title="lat (latitude) claim">

<t>The “lat” (latitude) claim contains the value of the device location
corresponding to its latitude coordinate.  It is of data type FloatOrNumber 
 and identified by Claim Key X+11.</t>

</section>
<section anchor="long-longitude-claim" title="long (longitude) claim">

<t>The “long” (longitude) claim contains the value of the device location
corresponding to its longitude coordinate.  It is of data type FloatOrNumber 
and identified by Claim Key X+12.</t>

</section>
<section anchor="alt-altitude-claim" title="alt (altitude) claim">

<t>The “alt” (altitude) claim contains the value of the device location
corresponding to its altitude coordinate (if available).  It is
of data type FloatOrNumber and identified by Claim Key X+13.</t>

</section>
<section anchor="acc-accuracy-claim" title="acc (accuracy) claim">

<t>The “acc” (accuracy) claim contains a value that describes
the location accuracy.  It is non-negative and expressed in meters. 
It is of data type FloatOrNumber and identified 
by Claim Key X+14.</t>

</section>
<section anchor="altacc-altitude-accuracy-claim" title="altacc (altitude accuracy) claim">

<t>The “altacc” (altitude accuracy) claim contains a value that describes
the altitude accuracy.  It is non-negative and expressed in meters.
It is of data type FloatOrNumber and identified 
by Claim Key X+15.</t>

</section>
<section anchor="heading-claim" title="heading claim">

<t>The “heading” claim contains a value that describes direction of
motion for the entity.  Its value is specified in degrees, between 0
and 360.  It is of data type FloatOrNumber and
identified by Claim Key X+16.</t>

</section>
<section anchor="speed-claim" title="speed claim">

<t>The “speed” claim contains a value that describes the velocity of the
entity in the horizontal direction.  Its value is specified in
meters/second and must be non-negative.  It is of data type FloatOrNumber 
and identified by Claim Key X+17.</t>

</section>
</section>
<section anchor="ts-timestamp-claim" title="ts (timestamp) claim">

<t>The “ts” (timestamp) claim contains a timestamp derived using the same
time reference as is used to generate an “iat” claim (see Section
3.1.6 of <xref target="RFC8392"/>).  It is of the same type as
“iat” (integer or floating-point), and is identified by Claim Key
X+18.  It is meant to designate the time at which a measurement was
taken, when a location was obtained, or when a token was actually
transmitted.  The timestamp would be included as a subclaim under the
“submod” or “loc” claims (in addition to the existing respective
subclaims), or at the device level.</t>

</section>
<section anchor="age-claim" title="age claim">

<t>The “age” claim contains a value that represents the number of seconds
that have elapsed since the token was created, measurement was made,
or location was obtained.  Typical attestable values are sent as soon
as they are obtained.  However in the case that such a value is
buffered and sent at a later time and a sufficiently accurate time
reference is unavailable for creation of a timestamp, then the age
claim is provided.  It is identified by Claim Key X+19.</t>

</section>
<section anchor="uptime-claim" title="uptime claim">

<t>The “uptime” claim contains a value that represents the number of
seconds that have elapsed since the entity or submod was last booted.  It is
identified by Claim Key X+20.</t>

</section>
<section anchor="the-submods-claim" title="The submods Claim">

<t>Some devices are complex, having many subsystems or submodules.  A
mobile phone is a good example. It may have several connectivity
submodules for communications (e.g., WiFi and cellular). It may have
sub systems for low-power audio and video playback. It may have one or
more security-oriented subsystems like a TEE or a Secure Element.</t>

<t>The claims for each these can be grouped together in a submodule.</t>

<t>Specifically, the “submods” claim is an array. Each item in the array
is a CBOR map containing all the claims for a particular submodule.
It is identified by Claim Key X+22.</t>

<t>The security level of the submod is assumed to be at the same level as
the main entity unless there is a security level claim in that
submodule indicating otherwise. The security level of a submodule can
never be higher (more secure) than the security level of the EAT it is
a part of.</t>

<section anchor="the-submodname-claim" title="The submod_name Claim">

<t>Each submodule should have a submod_name claim that is descriptive
name. This name should be the CBOR txt type.</t>

</section>
<section anchor="nested-eats-the-eat-claim" title="Nested EATs, the eat Claim">

<t>It is allowed for one EAT to be embedded in another. This is for
complex devices that have more than one subsystem capable of
generating an EAT. Typically one will be the device-wide EAT that is
low to medium security and another from a Secure Element or similar
that is high security.</t>

<t>The contents of the “eat” claim must be a fully signed, optionally
encrypted, EAT token. It is identified by Claim Key X+23.</t>

</section>
</section>
</section>
<section anchor="cbor-interoperability" title="CBOR Interoperability">
<t>EAT is a one-way protocol. It only defines a single message that goes from the entity to the server. The entity implementation will often be in a contained environment with little RAM and the server will usually not be. The following requirements for interoperability take that into account. The entity can generally use whatever encoding it wants. The server is required to support just about every encoding.</t>

<t>Canonical CBOR encoding is explicitly NOT required as it would place an unnecessary burden on the entity implementation.</t>

<section anchor="integer-encoding-major-type-0-and-1" title="Integer Encoding (major type 0 and 1)">
<t>The entity may use any integer encoding allowed by CBOR. The server MUST accept all integer encodings allowed by CBOR.</t>

</section>
<section anchor="string-encoding-major-type-2-and-3" title="String Encoding (major type 2 and 3)">
<t>The entity can use any string encoding allowed by CBOR including indefinite lengths. It may also encode the lengths of strings in any way allowed by CBOR. The server must accept all string encodings.</t>

<t>Major type 2, bstr, SHOULD be have tag 21, 22 or 23 to indicate conversion to base64 or such when converting to JSON.</t>

</section>
<section anchor="map-and-array-encoding-major-type-4-and-5" title="Map and Array Encoding (major type 4 and 5)">
<t>The entity can use any array or map encoding allowed by CBOR including indefinite lengths. Sorting of map keys is not required. Duplicate map keys are not allowed. The server must accept all array and map encodings. The server may reject maps with duplicate map keys.</t>

</section>
<section anchor="date-and-time" title="Date and Time">
<t>The entity should send dates as tag 1 encoded as 64-bit or 32-bit integers. The entity may not send floating point dates. The server must support tag 1 epoch based dates encoded as 64-bit or 32-bit integers.</t>

<t>The entity may send tag 0 dates, however tag 1 is preferred. The server must support tag 0 UTC dates.</t>

</section>
<section anchor="uris" title="URIs">
<t>URIs should be encoded as text strings and marked with tag 32.</t>

</section>
<section anchor="floating-point" title="Floating Point">
<t>Encoding data in floating point is to be used only if necessary. Location coordinates are always in floating point. The server must support decoding of all types of floating point.</t>

</section>
<section anchor="other-types" title="Other types">
<t>Use of Other types like bignums, regular expressions and so SHOULD NOT be used. The server MAY support them, but is not required to. Use of these tags is</t>

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

<section anchor="reuse-of-cbor-web-token-cwt-claims-registry" title="Reuse of CBOR Web Token (CWT) Claims Registry">

<t>Claims defined for EAT are compatible with those of CWT
so the CWT Claims Registry is re used. New new IANA registry
is created. All EAT claims should be registered in the
CWT Claims Registry.</t>

<section anchor="claims-registered-by-this-document" title="Claims Registered by This Document">

<t><list style="symbols">
  <t>Claim Name: UEID</t>
  <t>Claim Description: The Universal Entity ID</t>
  <t>JWT Claim Name: N/A</t>
  <t>Claim Key: X</t>
  <t>Claim Value Type(s): byte string</t>
  <t>Change Controller: IESG</t>
  <t>Specification Document(s): <spanx style="strong">this document</spanx></t>
</list></t>

<t>TODO: add the rest of the claims in here</t>

</section>
</section>
<section anchor="eat-cbor-tag-registration" title="EAT CBOR Tag Registration">

<t>How an EAT consumer determines whether received CBOR-formatted data
actually represents a valid EAT is application-dependent, much like a
CWT.  For instance, a specific MIME type associated with the EAT such
as “application/eat” could be sufficient for identification of the
EAT.  Note however that EAT’s can include other EAT’s (e.g. a device
EAT comprised of several submodule EAT’s).  In this case, a CBOR tag
dedicated to the EAT will be required at least for the submodule EAT’s
and the tag must be a valid CBOR tag.  In other words - the EAT CBOR
tag can optionally prefix a device-level EAT, but a EAT CBOR tag must
always prefix a submodule EAT.  The proposed EAT CBOR tag is 71.</t>

<section anchor="tag-registered-by-this-document" title="Tag Registered by This Document">

<t><list style="symbols">
  <t>CBOR Tag: 71</t>
  <t>Data Item: Entity Attestation Token (EAT)</t>
  <t>Semantics: Entity Attestation Token (CWT), as defined in <spanx style="strong">this_doc</spanx></t>
  <t>Reference: <spanx style="strong">this_doc</spanx></t>
  <t>Point of Contact: Giridhar Mandyam, mandyam@qti.qualcomm.com</t>
</list></t>

</section>
</section>
</section>
<section anchor="privacy-considerations" title="Privacy Considerations">

<t>Certain EAT claims can be used to track the owner of an entity and
therefore implementations should consider providing privacy-preserving
options dependent on the intended usage of the EAT.  Examples would
include suppression of location claims for EAT’s provided to
unauthenticated consumers.</t>

<section anchor="privacyconsiderations" title="UEID Privacy Considerations">

<t>A UEID is usually not privacy preserving. Any set of relying parties
that receives tokens that happen to be from a single device will be
able to know the tokens are all from the same device and be able to
track the device. Thus, in many usage situations ueid violates
governmental privacy regulation. In other usage situations UEID will
not be allowed for certain products like browsers that give privacy
for the end user.  it will often be the case that tokens will not have
a UEID for these reasons.</t>

<t>There are several strategies that can be used to still be able to put
UEID’s in tokens:</t>

<t><list style="symbols">
  <t>The device obtains explicit permission from the user of the device
to use the UEID. This may be through a prompt. It may also be through
a license agreement.  For example, agreements for some online banking
and brokerage services might already cover use of a UEID.</t>
  <t>The UEID is used only in a particular context or particular use
case. It is used only by one relying party.</t>
  <t>The device authenticates the relying party and generates a derived
UEID just for that particular relying party.  For example, the relying
party could prove their identity cryptographically to the device, then
the device generates a UEID just for that relying party by hashing a
proofed relying party ID with the main device UEID.</t>
</list></t>

<t>Note that some of these privacy preservation strategies result in multiple UEIDs
per device. Each UEID is used in a different context, use case or system 
on the device. However, from the view of the relying party, there is just
one UEID and it is still globally universal across manufacturers.</t>

</section>
</section>
<section anchor="securitycons" title="Security Considerations">

<t>TODO: Perhaps this can be the same as CWT / COSE, but not sure yet
because it involves so much entity / device security that 
those do not.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<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 initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<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="RFC7049" target='https://www.rfc-editor.org/info/rfc7049'>
<front>
<title>Concise Binary Object Representation (CBOR)</title>
<author initials='C.' surname='Bormann' fullname='C. Bormann'><organization /></author>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'><organization /></author>
<date year='2013' month='October' />
<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></abstract>
</front>
<seriesInfo name='RFC' value='7049'/>
<seriesInfo name='DOI' value='10.17487/RFC7049'/>
</reference>



<reference  anchor="RFC7519" target='https://www.rfc-editor.org/info/rfc7519'>
<front>
<title>JSON Web Token (JWT)</title>
<author initials='M.' surname='Jones' fullname='M. Jones'><organization /></author>
<author initials='J.' surname='Bradley' fullname='J. Bradley'><organization /></author>
<author initials='N.' surname='Sakimura' fullname='N. Sakimura'><organization /></author>
<date year='2015' month='May' />
<abstract><t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties.  The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t></abstract>
</front>
<seriesInfo name='RFC' value='7519'/>
<seriesInfo name='DOI' value='10.17487/RFC7519'/>
</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 initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<date year='2017' month='May' />
<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="RFC8152" target='https://www.rfc-editor.org/info/rfc8152'>
<front>
<title>CBOR Object Signing and Encryption (COSE)</title>
<author initials='J.' surname='Schaad' fullname='J. Schaad'><organization /></author>
<date year='2017' month='July' />
<abstract><t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size.  There is a need for the ability to have basic security services defined for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol.  This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization.  This specification additionally describes how to represent cryptographic keys using CBOR.</t></abstract>
</front>
<seriesInfo name='RFC' value='8152'/>
<seriesInfo name='DOI' value='10.17487/RFC8152'/>
</reference>



<reference  anchor="RFC8392" target='https://www.rfc-editor.org/info/rfc8392'>
<front>
<title>CBOR Web Token (CWT)</title>
<author initials='M.' surname='Jones' fullname='M. Jones'><organization /></author>
<author initials='E.' surname='Wahlstroem' fullname='E. Wahlstroem'><organization /></author>
<author initials='S.' surname='Erdtman' fullname='S. Erdtman'><organization /></author>
<author initials='H.' surname='Tschofenig' fullname='H. Tschofenig'><organization /></author>
<date year='2018' month='May' />
<abstract><t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties.  The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection.  A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value.  CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t></abstract>
</front>
<seriesInfo name='RFC' value='8392'/>
<seriesInfo name='DOI' value='10.17487/RFC8392'/>
</reference>


<reference anchor="TIME_T" target="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_15">
  <front>
    <title>Vol. 1: Base Definitions, Issue 7</title>
    <author >
      <organization>The Open Group Base Specifications</organization>
    </author>
    <date year="2013"/>
  </front>
  <seriesInfo name="Section 4.15" value="'Seconds Since the Epoch'"/>
  <seriesInfo name="IEEE Std" value="1003.1"/>
  <seriesInfo name="2013" value="Edition"/>
</reference>
<reference anchor="WGS84" target="http://earth-info.nga.mil/GandG/publications/tr8350.2/wgs84fin.pdf">
  <front>
    <title>National Imagery and Mapping Agency Technical Report 8350.2, Third Edition</title>
    <author >
      <organization>National Imagery and Mapping Agency</organization>
    </author>
    <date year="2000"/>
  </front>
</reference>


    </references>

    <references title='Informative References'>

<reference anchor="Webauthn" >
  <front>
    <title>Web Authentication: A Web API for accessing scoped credentials</title>
    <author >
      <organization>Worldwide Web Consortium</organization>
    </author>
    <date year="2016"/>
  </front>
</reference>
<reference anchor="ASN.1" >
  <front>
    <title>Information Technology -- ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="1994"/>
  </front>
  <seriesInfo name="ITU-T" value="Recommendation X.690"/>
</reference>
<reference anchor="IDevID" target="http://standards.ieee.org/findstds/standard/802.1AR-2009.html">
  <front>
    <title>IEEE Standard, "IEEE 802.1AR Secure Device Identifier"</title>
    <author >
      <organization></organization>
    </author>
    <date year="2009" month="December"/>
  </front>
</reference>


    </references>


<section anchor="examples" title="Examples">

<section anchor="very-simple-eat" title="Very Simple EAT">

<t>This is shown in CBOR diagnostic form. Only the payload signed by COSE
is shown.</t>

<figure><artwork><![CDATA[
{
   / nonce /                 11:h'948f8860d13a463e8e', 
   / UEID /                   8:h'0198f50a4ff6c05861c8860d13a638ea4fe2f',
   / secbootenabled /        13:true,
   / debugpermanentdisable / 15:true,
   / ts /                    21:1526542894,
}
]]></artwork></figure>

</section>
<section anchor="example-with-submodules-nesting-and-security-levels" title="Example with Submodules, Nesting and Security Levels">

<figure><artwork><![CDATA[
{
   / nonce /                 11:h'948f8860d13a463e8e', 
   / UEID /                   8:h'0198f50a4ff6c05861c8860d13a638ea4fe2f',
   / secbootenabled /        13:true,
   / debugpermanentdisable / 15:true,
   / ts /                    21:1526542894,
   / seclevel /              10:3, / secure restriced OS / 
   
   / submods / 30: 
      [
         / 1st submod, an Android Application / {
           / submod_name /   30:'Android App "Foo"',
           / seclevel /      10:1, / unrestricted / 
           / app data /  -70000:'text string'
         },
         / 2nd submod, A nested EAT from a secure element / {
           / submod_name / 30:'Secure Element EAT',
           / eat /         31:71( 18(
              / an embedded EAT / [ /...COSE_Sign1 bytes with payload.../ ]
                           ))
         }
         / 3rd submod, information about Linux Android / {
            / submod_name/ 30:'Linux Android',
            / seclevel /   10:1, / unrestricted /
            / custom - release / -80000:'8.0.0',
            / custom - version / -80001:'4.9.51+'
         }
      ]
}
]]></artwork></figure>

</section>
</section>


  </back>

<!-- ##markdown-source:
H4sIANDBl1wAA+1963LbSJLu/3qKCvmHpBmSEiXZlhRxIlYtyd2asSyvJY9n
Y2PDAQJFCmMQ4ACgZE5Pb+yDnPNy+yQnv8ysQoGU7J7LxvlzHHMRcanKysrK
eyaGw6Fp2qTMPidFVbpT29ZLZ/JFzX817cH+/sn+gUmT9tQ2bWayKi2TOT2X
1cm0Hc7pzVUyH9ZJ2wxd0g73983j7NR+OLu7tZ+q+ktezuyPdbVcmBc2rcrG
lc2yObXbK9ds06VmOZnnTZNXZbta0KhXl3dvzCI/Nda2Veqf4x+ZW7T3dOUI
v5uqbms3bbonmtW8fyGt5oskbaMnlpPuWlnhUj1NXda0q8L5x9q8xY+7e2cv
S/qxsmdt6whDLcFo76ovrrQ7l2d3uyaZTGr3cGrph0lqlxDwZevq0rXmyyMh
K5+VWHwSvZ5OqpoWnSUtTXGwPz4cjvdNsmzvq/rUDG1eEvg/juy1IJXgE1T/
mNd5dp/U0Y2qJiT/6zIpaEVze+fS+7IqqlnuGoIiHWG1hB9HK335+vVLe13V
7r5aNs5e1PmDA3Zoaaf2NintRe5mFXDhZgTjqT1Pinxa1WWeMBKXZVvTkx9v
z+jn4p5pZOu3Y3v88ti+ejm2r4lCtuiWmyd5cWqVIP7lz20++rPCN6L/8ct7
O7Jvl2U2KZLMhQW+TZa1K1PXu8VLvHXpssYu0IZU9cq+fXvezVXMin/Jm4Jm
HNYOFBFPdD2yPyRFQbh3ddWEqa7z2dIVa7f+32IzQubRwclJhMuJQPksMn83
sjfbF1VZze6XHTZ/52o3X/Xv/PoVHrw+sW+SuiRSrZaze/uhSrKwwugGLycD
dX4cH9nXb2976yvz1mX293QAsmoeLfXoyI4PXh7Yw1eH4+NoqX+qMgZ2c6mm
rOo5HZ8HB6bw4c35wXh8on++3j8Kf74MV4/Hr4/Cny8P/J+HJ/zn3dX15ec7
/EVcJalnWPN92y5O9/YWy0kzqhaunIFhjQhne1VZ5KXDjb2TVycnJ+OT1ycn
e5OkcRkxm70/jD+n98li/2h0386LF20y+7x/9Hn8UkYXVrL9h6oY2fEp0Rwo
xk1zQg7RRjOwV02zdPb1Nj/u+QD+HsqGgQvdEDzCQWWA24VL82meMkdp+OmO
n/DPxtW0r3k5rWQwi1PE/OdoNH5Jp3ebfldl1tjbHIeuBa9bVOn99pY+f3V5
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
Rf/+LwagyBaQjwAA

-->

</rfc>

