<?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.3.6 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC5652 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5652.xml">
<!ENTITY RFC5209 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5209.xml">
<!ENTITY RFC7030 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7030.xml">
<!ENTITY RFC4210 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4210.xml">
<!ENTITY RFC8555 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8555.xml">
<!ENTITY I-D.birkholz-rats-tuda SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.birkholz-rats-tuda.xml">
<!ENTITY I-D.fedorkow-rats-network-device-attestation SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.fedorkow-rats-network-device-attestation.xml">
<!ENTITY I-D.tschofenig-rats-psa-token SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.tschofenig-rats-psa-token.xml">
<!ENTITY I-D.gutmann-scep SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.gutmann-scep.xml">
<!ENTITY I-D.voit-rats-trusted-path-routing SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.voit-rats-trusted-path-routing.xml">
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-richardson-rats-usecases-08" category="info">

  <front>
    <title abbrev="useful RATS">Use cases for Remote Attestation common encodings</title>

    <author initials="M." surname="Richardson" fullname="Michael Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <author initials="C." surname="Wallace" fullname="Carl Wallace">
      <organization>Red Hound Software</organization>
      <address>
        <email>carl@redhoundsoftware.com</email>
      </address>
    </author>
    <author initials="W." surname="Pan" fullname="Wei Pan">
      <organization>Huawei Technologies</organization>
      <address>
        <email>william.panwei@huawei.com</email>
      </address>
    </author>

    <date year="2020" month="November" day="02"/>

    <area>Internet</area>
    <workgroup>RATS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document details mechanisms created for performing Remote Attestation
that have been used in a number of industries.  The document initially focuses
on existing industry verticals, mapping terminology used in those
specifications to the more abstract terminology used by the IETF RATS Working
Group.</t>

<t>The document aspires to describe possible future
use cases that would be enabled by common formats.</t>



    </abstract>


  </front>

  <middle>


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

<t>The recently chartered IETF RATS WG intends to create a system of
attestations that can be shared across a multitude of different users.</t>

<t>This document exists as place to collect use cases for the common RATS
technologies in support of the IETF RATS charter point 1.  This document is
not expected to be published as an RFC, but remain open as a working
document.  It could become an appendix to provide motivation for a protocol
standards document.</t>

<t>End-user use cases that would either directly leverage RATS technology, or
would serve to inform technology choices are welcome, however.</t>

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

<t>Critical to dealing with and contrasting different technologies is to
collect terms which are compatible, to distinguish those terms which are
similar but used in different ways.</t>

<t>This section will grow to include forward and external references to terms
which have been seen.  When terms need to be disambiguated they will be
prefixed with their source, such as “TCG(claim)” or “FIDO(relying party)”</t>

<t>Platform attestations generally come in two categories. This document will
attempt to indicate for a particular attestation technology falls into this.</t>

<section anchor="static-attestations" title="Static attestations">

<t>A static attestation says something about the platform on which the code
is running.</t>

</section>
<section anchor="session-attestations" title="Session attestations">

<t>A session attestation says something about how a session key used in a
connection such as TLS connection was created.  It is usually the result
of evaluating attestations that are attached to the certificates used to
create such a session.</t>

</section>
<section anchor="statements" title="Statements">

<t>The term “statement” is used as the generic term for the semantic content
which is being attested to.</t>

</section>
<section anchor="hardware-root-of-trust" title="Hardware Root Of Trust">

<t><xref target="SP800-155"/> offers the following definition for root of trust.</t>

<figure><artwork><![CDATA[
“Roots of Trust are components (software, hardware, or hybrid) and computing
engines that constitute a set of unconditionally trusted functions. Reliable
and trustworthy BIOS integrity measurement and reporting depend upon software
agents; each software agent relies upon Roots of Trust, and the level of
trustworthiness in each agent depends on its Roots of Trust. BIOS integrity
measurement requires the coordination of a Measurement Agent to harvest
measurements, a Storage Agent to protect the measurements from modification
until they can be reported, and a Reporting Agent to reliably report the
measurements. Each of these agents has a corresponding Root of Trust (Root of
Trust for Measurement, etc.) These Roots of Trust must act in concert and
build on each other to enable reliable and trustworthy measurement,
reporting, and verification of BIOS integrity measurements.”
]]></artwork></figure>

<t>SP800-155 uses the terms RoT for Reporting, Storage and Measurement, but not
RoT for Verification – it uses “Verification Agent”. Though it is assumed the
verifier is trustworthy.</t>

<t>However, <xref target="tcgglossary"/> (page 9) includes a RoT for Verification (RTV) as well.</t>

<t>The TCG Glossary also offers a general definition for Root of Trust “A
component that performs one or more security-specific functions, such as
measurement, storage, reporting, verification, and/or update. It is trusted
always to behave in the expected manner, because its misbehavior cannot be
detected (such as by measurement) under normal operation. “</t>

<t><xref target="SP800-147B"/> defines RoT for Update (RoTU) and RoTU verification (RoTU-v).</t>

<t>The TCG definition seems more concise than the NIST, but gets to the same point.</t>

<t>For the purpose of this documenet, a hardware root of trust refers to
security functionality that is trusted to behave in the expected manner,
because its misbehavior cannot be detected under normal operation and resists
soft exploits by encapsulating the functionality in hardware.</t>

</section>
<section anchor="template-for-use-cases" title="Template for Use cases">

<t>Each use case will consist of a table with a number of constant fields, as
illustrated below.  The claim names will be loosely synchronized with the EAT
draft.  The role workflow (formerly “attestation type”) will be described in
the architecture draft. It will describe two classes of workflow: the
passport type (Attestee sends evidence to Attester, receives signed statment,
which is sent to relying party), or the background check type
(Attestee sends measurements to Relying party, Relying Party checks with
Attester).</t>

<t><list style="hanging">
  <t hangText='Use case name:'>
  Twelve Monkeys</t>
  <t hangText='Who will use it:'>
  Army of the Twelve Monkeys SDO</t>
  <t hangText='Attester:'>
  James Cole</t>
  <t hangText='Relying Party:'>
  Dr. Kathryn Reilly</t>
  <t hangText='Message Flow:'>
  Passport</t>
  <t hangText='Claims used as evidence:'>
  OEM Identity, Age Claim, Location Claim, ptime Claim</t>
  <t hangText='Description:'>
  James Cole must convince Dr. Reilly he is from the future, and
not insane.</t>
</list></t>

</section>
</section>
<section anchor="requirements-language" title="Requirements Language">

<t>This document is not a standards track document and does not make any
normative protocol requirements using terminology described in <xref target="RFC2119"/>.</t>

</section>
<section anchor="overview-of-sources-of-use-cases" title="Overview of Sources of Use Cases">

<t>The following specifications have been covered in this document:</t>

<t><list style="symbols">
  <t>The Trusted Computing Group “Network Device Attestation Workflow” <xref target="I-D.fedorkow-rats-network-device-attestation"/></t>
  <t>Android Keystore</t>
  <t>Fast Identity Online (FIDO) Alliance attestation,</t>
</list></t>

<t>This document will be expanded to include summaries from:</t>

<t><list style="symbols">
  <t>Trusted Computing Group (TCG) Trusted Platform Module (TPM)/Trusted
Software Stack (TSS)</t>
  <t>ARM “Platform Security Architecture” <xref target="I-D.tschofenig-rats-psa-token"/></t>
  <t>Intel SGX attestation <xref target="intelsgx"/></t>
  <t>Windows Defender System Guard attestation <xref target="windowsdefender"/></t>
  <t>Windows Device Health Attestation <xref target="windowshealth"/></t>
  <t>Azure Sphere Attestation <xref target="azureattestation"/>: https://azure.microsoft.com/enus/resources/azure-sphere-device-authentication-andattestation-service/en-us/</t>
  <t>IETF NEA WG <xref target="RFC5209"/></t>
</list></t>

<t>Additional sources are welcome and requested.</t>

</section>
<section anchor="use-case-summaries" title="Use case summaries">

<t>This section lists a series of cases where an attestation is done.</t>

<section anchor="netattest" title="Device Capabilities/Firmware Attestation">

<t>This is a category of claims</t>

<t><list style="hanging">
  <t hangText='Use case name:'>
  Device Identity</t>
  <t hangText='Who will use it:'>
  Network Operators</t>
  <t hangText='Attester:'>
  varies</t>
  <t hangText='Message Flow:'>
  varies</t>
  <t hangText='Relying Party:'>
  varies</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  Network operators want a trustworth report of identity and version of
information of the hardware and software on the machines attached to their
network.
The process starts with some kind of Root of Trust that provides device
identity and protected storage for measurements. The mechanism performs a
series of measurements, and expresses this
with an attestation as to the hardware and firmware/software which is
running.</t>
</list></t>

<t>This is a general description for which there are many specific use cases,
including <xref target="I-D.fedorkow-rats-network-device-attestation"/> section 1.2,
“Software Inventory”</t>

<section anchor="relying-on-an-third-party-attestation-server" title="Relying on an (third-party) Attestation Server">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Third Party Attestation Server</t>
  <t hangText='Who will use it:'>
  Network Operators</t>
  <t hangText='Message Flow:'>
  background check</t>
  <t hangText='Attester:'>
  manufacturer of OS or hardware system</t>
  <t hangText='Relying Party:'>
  network access control systems</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  The measurements from a heterogenous network of devices are provided to
device-specific attestation servers.  The attestation servers know what the
“golden” measurements are, and perform the appropriate evaluations, resulting
in attestations that the relying parties can depend upon.</t>
</list></t>

</section>
<section anchor="autonomous-relying-party" title="Autonomous Relying Party">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Autonomous</t>
  <t hangText='Who will use it:'>
  network operators</t>
  <t hangText='Message Flow:'>
  passport</t>
  <t hangText='Attester:'>
  manufacturer of OS or hardware system</t>
  <t hangText='Relying Party:'>
  peer systems</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  The signed measurements are sent to a relying party which must validate them
directly.  They are not sent to a third party.
(It may do so with the help of a signed list of golden values,
or some other process).  The relying party needs to validate the signed
statements directly.</t>
</list></t>

<t>This may occur because the network is not connected, or even because it can
not be connected until the equipment is validated.</t>

</section>
<section anchor="proxytrust" title="Proxy Root of Trust">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Proxy Root of Trust</t>
  <t hangText='Who will use it:'>
  network operators</t>
  <t hangText='Message Flow:'>
  passport</t>
  <t hangText='Attester:'>
  manufacturer of OS or hardware system</t>
  <t hangText='Relying Party:'>
  peer systems</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  A variety of devices provide measurements via their Root of Trust.
A proxy server collects these measurements, and (having applied a local policy)
then creates a device agnostic attestation.  The relying party can validate
the claims in a standard format.</t>
</list></t>

</section>
<section anchor="network-scaling-small" title="network scaling – small">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Network scaled – small</t>
  <t hangText='Who will use it:'>
  enterprises</t>
  <t hangText='Message Flow:'>
  background check</t>
  <t hangText='Attester:'>
  manufacturer of OS or hardware system</t>
  <t hangText='Relying Party:'>
  network equipment</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  An entire network of systems needs to be validated (such as all the desktops
in an enterprise’s building).  The infrastructure is in the control of a single
operator and is already trusted.  The network can be partitioned so that
machines that do not pass attestation can be quarantined.  A 1:1 relationship
between the device and the relying party can be used to maintain freshness of
the attestation.</t>
</list></t>

</section>
<section anchor="network-scaling-medium" title="network scaling – medium">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Network scaled – medium</t>
  <t hangText='Who will use it:'>
  larger enterprises, including network operators</t>
  <t hangText='Message Flow:'>
  passport</t>
  <t hangText='Attester:'>
  manufacturer of OS or hardware system</t>
  <t hangText='Relying Party:'>
  network equipment</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  An entire network of systems needs to be validated: such as all the desktops
in an enterprise’s building, or all the routers at an ISP.  The
infrastructure is not necessarily trusted: it could be subverted, and it must
also attest.   The devices may be under a variety of operators, and may be
mutually suspicious: each device may therefore need to process attestations
from every other device.  An NxM mesh of attestations may be untenable, but a
system of N:1:M relationships can be setup via proxy attestations.</t>
</list></t>

</section>
<section anchor="network-scaling-large" title="network scaling – large">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Network scaled – large</t>
  <t hangText='Who will use it:'>
  telco/LTE operators</t>
  <t hangText='Message Flow:'>
  passport</t>
  <t hangText='Attester:'>
  manufacturer of OS or hardware system</t>
  <t hangText='Relying Party:'>
  malware auditing systems</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  An entire network of systems need to be continuously attested.  This could be
all of the smartphones on an LTE network, or every desktop system in a
worldwide enterprise.  The network operator wishes to do this in order to
maintain identities of connected devices more than to validate correct
firmware, but both situations are reasonable.</t>
</list></t>

</section>
</section>
<section anchor="hardware-resiliency-watchdogs" title="Hardware resiliency / watchdogs">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Hardware watchdog</t>
  <t hangText='Who will use it:'>
  individual system designers</t>
  <t hangText='Message Flow:'>
  passport</t>
  <t hangText='Attester:'>
  manufacturer of OS or hardware system</t>
  <t hangText='Relying Party:'>
  bootloader or service processor</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  One significant problem is malware that holds a device hostage and does not
allow it to reboot to prevent updates to be applied. This is a significant
problem, because it allows a fleet of devices to be held hostage for
ransom. Within CyRes the TCG is defining hardware Attention Triggers that
force a periodical reboot in hardware.</t>
</list></t>

<t>This can be implemented by forcing a reboot unless attestation to an
Attestation Server succeeds within the period interval, and having a reboot
do remediation by bringing a device into compliance, including installation
of patches as needed.</t>

<t>This is unlike the previous section on Device Attestation in that
the attestation comes from a network operator, as to the device’s need
to continue operating, and is evaluated by trusted firmware (the relying
party), which resets a watchdog timer.</t>

</section>
<section anchor="ietf-teep-wg-use-case" title="IETF TEEP WG use case">

<t><list style="hanging">
  <t hangText='Use case name:'>
  TAM validation</t>
  <t hangText='Who will use it:'>
  The TAM server</t>
  <t hangText='Message Flow:'>
  background check</t>
  <t hangText='Attester:'>
  Trusted Execution Environment (TEE)</t>
  <t hangText='Relying Party:'>
  end-application</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  The “Trusted Application Manager (TAM)” server wants to verify the state of a
TEE, or applications in the TEE, of a device.  The TEE attests to the TAM,
which can then decide whether to install sensitive data in the TEE, or
whether the TEE is out of compliance and the TAM needs to install updated
code in the TEE to bring it back into compliance with the TAM’s policy.</t>
</list></t>

</section>
<section anchor="confidential-machine-learning-ml-model" title="Confidential Machine Learning (ML) model">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Machine Learning protection</t>
  <t hangText='Who will use it:'>
  Machine Learning systems</t>
  <t hangText='Message Flow:'>
  TBD</t>
  <t hangText='Attester:'>
  hardware TEE</t>
  <t hangText='Relying Party:'>
  machine learning model owner</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  An example use case is where a device manufacturer wants to protect its
intellectual property in terms of the ML model it developed and that runs in
the devices that its customers purchased, and it wants to prevent attackers,
potentially including the customer themselves, from seeing the details of the
model.   This works by having some protected environment (e.g., a hardware
TEE) in the device attest to some manufacturer’s service, which if
attestation succeeds, then the manufacturer service releases the model, or a
key to decrypt the model, to the requester.   If a hardware TEE is involved,
then this use case overlaps with the TEEP use case.</t>
</list></t>

</section>
<section anchor="critical-infrastructure" title="Critical infrastructure">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Critical Infrastructure</t>
  <t hangText='Who will use it:'>
  devices</t>
  <t hangText='Message Flow:'>
  TBD</t>
  <t hangText='Attester:'>
  plant controller</t>
  <t hangText='Relying Party:'>
  actuator</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  When a protocol operation can affect some critical system, the device
attached to the critical equipment wants some assurance that the requester
has not been compromised.  As such, attestation can be used to only accept
commands from requesters that are within policy.   Hardware attestation in
particular, especially in conjunction with a TEE on the requester side, can
provide protection against many types of malware.</t>
</list></t>

<section anchor="computation-characteristics" title="Computation characteristics">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Shared Block Chain Computational claims</t>
  <t hangText='Who will use it:'>
  Consortia of Computation systems</t>
  <t hangText='Message Flow:'>
  TBD</t>
  <t hangText='Attester:'>
  computer system (physical or virtual)</t>
  <t hangText='Relying Party:'>
  other computer systems</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  A group of enterprises organized as a consortium seeks to deploy computing
nodes as the basis of their shared blockchain system. Each member of the
consortium  must forward an equal number of computing nodes to participate in
the P2P network of nodes that form the basis of the blockchain system. In
order to prevent the various issues (e.g. concentration of hash power,
anonymous mining nodes) found in other blockchain systems, each computing
node must comply to a predefined allowable manifest of system hardware,
software and firmware, as agreed to by the membership of the
consortium. Thus, a given computing node must be able to report the
(pre-boot) configuration of its system and be able to report at an y time the
operational status of the various components that make-up its system.</t>
</list></t>

<t>The consortium seeks to have the following things attested: system
configuration, group membership, and virtualization status.</t>

<t>This is a peer-to-peer protocol so each device in the consortium is
a relying party.  The attestation may be requested online by another entity
within the consortium, but not by other parties.  The attestation needs to be
compact and interoperable and may be included in the blockchain itself at the
completion of the consensus algorithm.</t>

<t>The attestation will need to start in a hardware RoT in order to validate
if the system is running real hardware rather than running a virtual
machine.</t>

</section>
</section>
<section anchor="virtualized-multi-tenant-hosts" title="Virtualized multi-tenant hosts">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Multi-tenant hosts</t>
  <t hangText='Who will use it:'>
  Virtual machine systems</t>
  <t hangText='Message Flow:'>
  TBD</t>
  <t hangText='Attester:'>
  virtual machine hypervisor</t>
  <t hangText='Relying Party:'>
  network operators</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  The host system will do verification as per 5.1.</t>
</list></t>

<t>The tenant virtual machines will do verification as per 5.1</t>

<t>The network operator wants to know if the system <spanx style="emph">as a whole</spanx> is free of
malware, but the network operator is not allowed to know who the tenants are.</t>

<t>This is contrasted to the Chassis + Line Cards case (To Be Defined: TBD).</t>

<t>Multiple Line Cards, but a small attestation system on the main card can
combine things together.  This is a kind of proxy.</t>

</section>
<section anchor="cryptattest" title="Cryptographic Key Attestation">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Key Attestation</t>
  <t hangText='Who will use it:'>
  network authentication systems</t>
  <t hangText='Message Flow:'>
  TBD</t>
  <t hangText='Attester:'>
  device platform</t>
  <t hangText='Relying Party:'>
  internet peers</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  The relying party wants to know how secure a private key that identifies
an entity is.  Unlike the network attestation, the relying party is not part of
the network infrastructure, nor do they necessarily have a business relationship (such as
ownership) over the end device.</t>
</list></t>

<section anchor="device-type-attestation" title="Device Type Attestation">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Device Type Attestation</t>
  <t hangText='Who will use it:'>
  mobile platforms</t>
  <t hangText='Message Flow:'>
  TBD</t>
  <t hangText='Attester:'>
  device platform</t>
  <t hangText='Relying Party:'>
  internet peers</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  This use case convinces the relying party of the characteristics of a
device.  For privacy reasons, it might not identify the actual device itself,
but rather the class of device.  The relying party can understand from either
in-band (claims) or out-of-band (model numbers, which may be expressed as a
claim)  whether the device has trustworthy
features such as a hardware TPM, software TPM via TEE, or software TPM
without TEE.  Other details such as the availability of finger-print readers
or HDMI outputs may also be inferred.</t>
</list></t>

</section>
<section anchor="key-storage-attestation" title="Key storage attestation">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Key storage Attestation</t>
  <t hangText='Who will use it:'>
  secure key storage subsystems</t>
  <t hangText='Message Flow:'>
  TBD</t>
  <t hangText='Attester:'>
  device platform</t>
  <t hangText='Relying Party:'>
  internet peers</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  This use case convinces the relying party only about the provenance of a private key by
providing claims of the
storage security of the private key.  This can be conceived as a subset of
the previous case, but may be apply very specifically to just a keystore. Additional
details associated with the private key may be provided as well, including limitations on
usage of the key.</t>
</list></t>

<t>Key storage attestations may be consumed by systems provisioning public
key certificates for devices or human users. In these cases, attestations may be
incorporated into certificate request protocols (e.g., EST {#rfc7030}, CMP {#rfc4210}, ACME {#rfc8555}, SCEP <xref target="I-D.gutmann-scep"/>, etc.) and processed by
registration authorities or certification authorities prior to determining contents for
any issued certificate.</t>

</section>
<section anchor="end-user-authorization" title="End user authorization">

<t><list style="hanging">
  <t hangText='Use case name:'>
  End User authorization</t>
  <t hangText='Who will use it:'>
  authorization systems</t>
  <t hangText='Message Flow:'>
  TBD</t>
  <t hangText='Attester:'>
  device platform</t>
  <t hangText='Relying Party:'>
  internet peers</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  This use case convinces the relying party that the digital signatures made by
the indicated key pair were done with the approval of the end-user/device-operator.
This may also be considered possible subset of the device attestation above,
but the attestation may be on a case-by-case basis.  The nature of the
approval by the end-user would be indicated.
Examples include: the user unlocked the device, the user viewed some message
and acknowledge it inside an app, the message was displayed to the user via
out-of-app control mechanism.
The acknowledgements could include selecting options on the
screen, pushing physical buttons, scanning fingerprints, proximity to other
devices (via bluetooth beacons, chargers, etc)</t>
</list></t>

</section>
</section>
<section anchor="geographic-attestation" title="Geographic attestation">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Location attestation</t>
  <t hangText='Who will use it:'>
  geo-fenced systems</t>
  <t hangText='Message Flow:'>
  passport (probably)</t>
  <t hangText='Attester:'>
  secure GPS system(s)</t>
  <t hangText='Relying Party:'>
  internet peers</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  The relying party wants to know the physical location (on the planet earth)
of the device.  This may be provided directly by a GPS/GLONASS/Galileo module
that is incorporated into a TPM.  This may also be provided by collecting other
proximity messages from other device that the relying party can form a trust
relationship with.</t>
</list></t>

<section anchor="i-am-here" title="I am here">

<t>The simplest use case is the claim of some specific coordinates.</t>

</section>
<section anchor="i-am-near" title="I am near">

<t>The second use case is the claim that some other devices are nearby.  This
may be absolute (“I am near device X, which claims to be at location A”),
or just relative, (“I am near device X”).  This use could use
“I am here” or “I am near” claims from a 1:1 basis with device X, or use
some other protocol.  The nature of how the proximity was established would
be part of this claim.  In order to defeat a variety of mechanisms that
might attempt to proxy (“wormhole”) radio communications, highly precise
clocks may be required, and there may also have to be attestations as to the
precision of those clocks.</t>

<t>An additional example of being near would be for the case where two
smartphones can establish that they are together by recording a common random
movement, such as both devices being shaken together.  Each device may
validate the claim from the other (in a disconnected fashion), or a third
party may validate the claim as the relying party.</t>

<t>This could be used to establish that a medical professional was in proximity
of a patient with implanted devices who needs help.</t>

</section>
<section anchor="you-are-here" title="You are here">

<t>A third way to establish location is for a third party to communicate
directly with the relying party.   The nature of how this trust is
established (and whether it is done recursively) is outside of the scope
here.  What is critical is that the identity of “You” can be communicated
through the third party in a way that the relying party can use, but other
intermediaries can not view.</t>

</section>
</section>
<section anchor="connectivity-attestation" title="Connectivity attestation">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Connectivity attestation</t>
  <t hangText='Who will use it:'>
  entertainment systems</t>
  <t hangText='Message Flow:'>
  TBD</t>
  <t hangText='Attester:'>
  hardware-manufacturer/TEE</t>
  <t hangText='Relying Party:'>
  connected peer</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  The relying party wants to know what devices are connected.  A typical
situation would be a media owner needing to know what TV device is connected
via HDMI and if High-bandwidth Digital Content Protection (HDCP) is
intact.</t>
</list></t>

</section>
<section anchor="component-connectivity-attestation" title="Component connectivity attestation">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Component connectivity</t>
  <t hangText='Who will use it:'>
  chassis systems with pluggable components</t>
  <t hangText='Message Flow:'>
  background check</t>
  <t hangText='Attester:'>
  line card</t>
  <t hangText='Relying Party:'>
  management/control plane software</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  A management controller or similar hardware component wants to know what
peripherals, rack scale device or other dynamically configurable components
are currently attached to the platform that is under management controller
control. The management controller may serve as attestation verifier over a
local bus or backplane but may also aggregate local attestation results and
act as a platform attester to a remote verifier.</t>
</list></t>

</section>
<section anchor="device-provenance-attestation" title="Device provenance attestation">

<t><list style="hanging">
  <t hangText='Use case name:'>
  RIV - Device Provenance</t>
  <t hangText='Who will use it:'>
  Industrial IoT devices</t>
  <t hangText='Message Flow:'>
  passport</t>
  <t hangText='Attester:'>
  network management station</t>
  <t hangText='Relying Party:'>
  a network entity</t>
  <t hangText='Claims used as evidence:'>
  TBD</t>
  <t hangText='Description:'>
  A newly manufactured device needs to be onboarded into a network where many
if not all device management duties are performed by the network owner. The
device owner wants to verify the device originated from a legitimate
vendor. A cryptographic device identity such as an IEEE802.1AR is embedded
during manufacturing and a certificate identifying the device is delivered to
the owner onboarding agent. The device authenticates using its 802.1AR IDevID
to prove it originated from the expected vendor.</t>
</list></t>

<t>The device chain of custody from the original device manufacturer to the new
owner may also be verified as part of device provenance attestation. The
chain of custody history may be collected by a cloud service or similar
capability that the supply chain and owner agree to use.</t>

<t><xref target="I-D.fedorkow-rats-network-device-attestation"/> section 1.2 refers to this
as “Provable Device Identity”, and section 2.3 details the parties.</t>

</section>
<section anchor="dns-privacy-policy" title="DNS privacy policy">

<t><list style="hanging">
  <t hangText='Use case name:'>
  DNS-over-TLS or DNS-over-HTTPS server privacy policy</t>
  <t hangText='Who will use it:'>
  enterprises and browsers and BYOD operating systems</t>
  <t hangText='Message Flow:'>
  passport</t>
  <t hangText='Attester:'>
  review agency</t>
  <t hangText='Relying Party:'>
  browsers and operating systems</t>
  <t hangText='Claims used as evidence:'>
  DNS server identity, privinfo (see draft-reddy-dprive-dprive-privacy-policy )</t>
  <t hangText='Description:'>
  Users want to control how their DNS queries are handled by DNS
servers so they can configure their system to use DNS servers that
comply with their privacy expectations.</t>
</list></t>

<t>This use case communicates an attestion from a DoH server to a
web browser or equivalent in a desktop or mobile operating system.
The attester is a third party which has performed some kind of review of the
DNS server.  This may include significant levels of Device Capability
attestation as to what is running and how it is configured (see
<xref target="netattest"/>), in which case this is a form of Proxy Root of Trust (<xref target="proxytrust"/>).</t>

</section>
<section anchor="safety-critical-systems" title="Safety Critical Systems">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Safety Critical Systems</t>
  <t hangText='Who will use it:'>
  Power plants and other systems that need to assert their current state, but which can not accept any inputs from the outside.  The corollory system is
a black-box (such as in an aircraft), which needs to log the state of a system,
but which can never initiate a handshake.</t>
  <t hangText='Message Flow:'>
  background check</t>
  <t hangText='Attester:'>
  web services and other sources of status/sensor information</t>
  <t hangText='Relying Party:'>
  open</t>
  <t hangText='Claims used as evidence:'>
  the beginning and ending time as endorsed by a Time Stamp Authority,
represented by a time stamp token.  The real time clock of the system
itself.  A Root of Trust for time; the TPM has a relative time from
startup.</t>
  <t hangText='Description:'>
  These requirements motivate the creation of the Time Base Unidirectional Attestation (TUDA) <xref target="I-D.birkholz-rats-tuda"/>, the output of TUDA are typically a secure audit log, where freshness is determined by synchronization to an source of external time.</t>
  <t>The freshness is preserved in the evidence by the use of a Time Stamp Authority (TSA) which provides Time Stamp Tokens (TST).</t>
</list></t>

</section>
<section anchor="trusted-path-routing" title="Trusted Path Routing">

<t><list style="hanging">
  <t hangText='Use case name:'>
  Trusted Path Routing</t>
  <t hangText='Who will use it:'>
  Service Providers want to offer a trustworthy transport service to Government, Military, Financial, and Medical end-users.</t>
  <t hangText='Message Flow:'>
  background check model for a centralized controller based alternative, and passport model for a router/switch distributed alternative.</t>
  <t hangText='Attester:'>
  Routers/switches</t>
  <t hangText='Relying Party:'>
  Network Controllers and Peer Routers/Switches</t>
  <t hangText='Claims used as evidence:'>
  TPM Quotes, log entries passed into TPM PCRs, trustworthiness levels appraised by Verifiers, and included in passports.</t>
  <t hangText='Description:'>
  There are end-users who believe encryption technologies like IPsec alone are insufficient to  protect the confidentiality of their highly sensitive traffic flows.
These end-users want their sensitive flows to be forwarded across just those network devices currently appraised as trustworthy by the TCG-RIV use case.</t>
</list></t>

<t><xref target="I-D.voit-rats-trusted-path-routing"/> discusses two alternatives for exchanging traffic with  end-user customer identified “sensitive subnets”.
Traffic going to and from these subnets will transit a path where the IP layer and above are only interpretable by those network devices recently evaluated as trustworthy.</t>

<t>These two alternatives are:</t>

<t><list style="hanging">
  <t hangText='Centralized Trusted Path Routing:'>
  For sensitive subnets, trusted end-to-end paths are pre-assigned through a network provider domain.
Along these paths, attestation evidence of potentially transited components has been assessed.  Each path is guaranteed to only include devices meeting the needs of a formally defined trustworthiness level.</t>
  <t hangText='Distributed Trusted Path Routing:'>
  Through the exchange of attestation evidence between peering network devices, a trusted topology  is established and maintained.
Only devices meeting the needs of a formally defined trustworthiness level are included as members  of this topology.
Traffic exchanged with sensitive subnets is forwarded into this topology.</t>
</list></t>

</section>
</section>
<section anchor="technology-users-for-rats" title="Technology users for RATS.">

<section anchor="trusted-computing-group-remove-integrity-verification-tcg-riv" title="Trusted Computing Group Remove Integrity Verification (TCG-RIV)">

<t>The TCG RIV Reference Document addresses the problem of knowing if a networking device
should be part of a network, if it belongs to the operator, and if it is running
appropriate software.  The work covers most of the use cases in <xref target="netattest"/>.</t>

<t>This proposal is available as <xref target="I-D.fedorkow-rats-network-device-attestation"/>.
The goal is to be multi-vendor, scalable and extensible.  The proposal
intentionally limits itself to:</t>

<t><list style="symbols">
  <t>“non-privacy-preserving applications (i.e., networking, Industrial IoT )”,</t>
  <t>the firmware is provided by the device manufacturer</t>
  <t>there is a manufacturer installed hardware root of trust (such as a
TPM and boot ROM)</t>
</list></t>

<t>Service providers and enterprises deploy hundreds of routers, many of them in
remote locations where they’re difficult to access or secure.  The point of
remote attestation is to:</t>

<t><list style="symbols">
  <t>identify a remote box in a way that’s hard to spoof</t>
  <t>report the inventory of software was launched on the box in a way that
cannot be spoofed, that is undetectably altered by a “Lying Endpoint”</t>
</list></t>

<t>The use case described is to be able to monitor the authenticity of software
versions and configurations running on each device.  This allows owners and
auditors to detect deviation from approved software and firmware versions and
configurations, potentially identifying infected devices. <xref target="RFC5209"/></t>

<t>Attestation may be performed by network management systems.  Networking
Equipment is often highly interconnected, so it’s also possible that
attestation could be performed by neighboring devices.</t>

<t>Specifically listed to be out of scope for the first generation includes:
Linux processes, composite assemblies of hardware/software created by end-customers,
and equipment that uses Sleep or Hibernate modes.  There is an intention to cover some of these
are topics in future versions of the documents.</t>

<t>The TCG-RIV Attestation leverages the TPM to make a series of measurements during
the boot process, and to have the TPM sign those measurements.  The resulting
“PCR” hashes are then available to an external verifier.</t>

<t>A critical component of the RIV is compatibility with existing TPM practice
for attestation proceedures, as spelled out in the TCG TAP Informational
Model <xref target="tapinfomodel"/> and TPM architecture specifications <xref target="tpmarchspec"/>.</t>

<t>The TCG uses the following terminology:</t>

<t><list style="symbols">
  <t>Device Manufacturer</t>
  <t>Attester (“device under attestation”)</t>
  <t>Verifier (Network Management Station)</t>
  <t>“Explicit Attestation” is the TCG term for a static (platform) attestation</t>
  <t>“Implicit Attestation” is the TCG term for a session attestation</t>
  <t>Reference Integrity Measurements (RIM), which are signed my device
manufacturer and integrated into firmware.</t>
  <t>Quotes: measured values (having been signed), and RIMs</t>
  <t>Reference Integrity Values (RIV)</t>
  <t>devices have a Initial Attestation Key (IAK), which is provisioned at the
same time as the IDevID <xref target="ieee802-1AR"/></t>
  <t>PCR - Platform Configuration Registry (deals with hash chains)</t>
</list></t>

<t>The TCG document builds upon a number of IETF technologies: SNMP (Attestation
MIB), YANG, XML, JSON, CBOR, NETCONF, RESTCONF, CoAP, TLS and SSH.
The TCG document leverages the 802.1AR IDevID and LDevID processes.</t>

</section>
<section anchor="android-keystore-system" title="Android Keystore system">

<t><xref target="keystore"/> describes a system used in smart phones that run the Android
operation system.   The system is primarily a software container to contain
and control access to cryptographic keys, and therefore provides many of the
same functions that a hardware Trusted Platform Module might provide.</t>

<t>The uses described in section <xref target="cryptattest"/> are the primary focus.</t>

<t>On hardware which is supported, the Android Keystore will make use of
whatever trusted hardware is available, including use of a Trusted Execution
Environment (TEE) or Secure Element (SE).  The Keystore therefore abstracts
the hardware, and guarantees to applications that the same APIs can be used
on both more and less capable devices.</t>

<t>A great deal of focus from the Android Keystore seems to be on providing
fine-grained authorization of what keys can be used by which applications.</t>

<t>XXX - clearly there must be additional (intended?) use cases that provide
some kind of attestation.</t>

<t>Android 9 on Pixel 2 and 3 can provided protected confirmation messages.
This uses hardware access from the TPM/TEE to display a message directly to
the user, and receives confirmation directly from the user.  A hash of the
contents of the message can provided in an attestation that the device
provides.</t>

<t>In addition, the Android Keystore provides attestation information about itself
for use by FIDO.</t>

<t>QUOTE: Finally, the Verified Boot state is included in key attestation
certificates (provided by Keymaster/Strongbox) in the deviceLocked and
verifiedBootState fields, which can be verified by apps as well as
passed onto backend services to remotely verify boot integrity</t>

</section>
<section anchor="fast-identity-online-fido-alliance" title="Fast IDentity Online (FIDO) Alliance">

<t>The FIDO Alliance <xref target="fido"/> has a number of specifications aimed primarily at
eliminating the need for passwords for authentication to online services.
The goal is to leverage asymmetric cryptographic operations in common
browser and smart-phone platforms so that users can easily authentication.</t>

<t>The use cases of <xref target="cryptattest"/> are primary.</t>

<t>FIDO specifications extend to various hardware second factor authentication
devices.</t>

<t>Terminology includes:</t>

<t><list style="symbols">
  <t>“relying party” validates a claim</t>
  <t>“relying party application” makes FIDO Authn calls</t>
  <t>“browser” provides the Web Authentication JS API</t>
  <t>“platform” is the base system</t>
  <t>“internal authenticator” is some credential built-in to the device</t>
  <t>“external authenticator” may be connected by USB, bluetooth, wifi, and may
be an stand-alone device, USB connected key, phone or watch.</t>
</list></t>

<t>FIDO2 had a Key Attestation Format <xref target="fidoattestation"/>, and a Signature Format
<xref target="fidosignature"/>, but these have been combined into the W3C document
<xref target="fido_w3c"/> specification.</t>

<t>A FIDO use case involves the relying party receiving a device
attestation about the biometric system that performs the identication
of the human.  It is the state of the biometric system that is being
attested to, not the identity of the human!</t>

<t>FIDO does provides a transport in the form of the WebAuthn and FIDO CTAP
protocols.</t>

<t>According to <xref target="fidotechnote"/> FIDO uses attestation to make claims about the
kind of device which is be used to enroll.  Keypairs are generated on a
per-device <spanx style="emph">model</spanx> basis, with a certificate having a trust chain that leads
back to a well-known root certificate.  It is expected that as many as
100,000 devices in a production run would have the same public and private
key pair.  One assumes that this is stored in a tamper-proof TPM so it is
relatively difficult to get this key out.  The use of this key attests to the
the device type, and the kind of protections for keys that the relying party
may assume, not to the identity of the end user.</t>

</section>
</section>
<section anchor="examples-of-existing-attestation-formats" title="Examples of Existing Attestation Formats.">

<t>This section provides examples of some existing attestation formats.</t>

<section anchor="android-keystore" title="Android Keystore">

<t>Android Keystore attestations take the form of X.509 certificates. The examples below
package the attestation certificate along with intermediate CA certificates required
to validate the attestation as a certificates-only SignedData message <xref target="RFC5652"/>. The
trust anchor is available here: <xref target="keystore_attestation"/>.</t>

<t>The attestations below were generated using the generateKeyPair method from the
DevicePolicyManager class using code similar to the following.</t>

<figure><artwork><![CDATA[
KeyGenParameterSpec.Builder builder = null;
if(hasStrongBox) {
        builder = new KeyGenParameterSpec.Builder(
                        m_alias,
                        KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY | KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
                        .setKeySize(2048)
                        .setDigests(KeyProperties.DIGEST_NONE, KeyProperties.DIGEST_SHA256)
                        .setBlockModes(KeyProperties.BLOCK_MODE_CBC, KeyProperties.BLOCK_MODE_GCM)
                        .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1, KeyProperties.ENCRYPTION_PADDING_RSA_OAEP)
                        .setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PSS, KeyProperties.SIGNATURE_PADDING_RSA_PKCS1)
                        .setUserAuthenticationRequired(false)
                        .setIsStrongBoxBacked(true)
                        .setUnlockedDeviceRequired(true);
}
else {
        builder = new KeyGenParameterSpec.Builder(
                        m_alias,
                        KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY | KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
                        .setKeySize(2048)
                        .setDigests(KeyProperties.DIGEST_NONE, KeyProperties.DIGEST_SHA256, KeyProperties.DIGEST_SHA384, KeyProperties.DIGEST_SHA512)
                        .setBlockModes(KeyProperties.BLOCK_MODE_CBC, KeyProperties.BLOCK_MODE_CTR,KeyProperties.BLOCK_MODE_GCM)
                        .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1, KeyProperties.ENCRYPTION_PADDING_RSA_OAEP)
                        .setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PSS, KeyProperties.SIGNATURE_PADDING_RSA_PKCS1)
                        .setUserAuthenticationRequired(false)
                        .setIsStrongBoxBacked(false)
                        .setUnlockedDeviceRequired(true);
}
builder.setAttestationChallenge(challenge_bytes);

KeyGenParameterSpec keySpec = builder.build();
AttestedKeyPair akp = dpm.generateKeyPair(componentName, algorithm, keySpec, idAttestationFlags);

]]></artwork></figure>

<section anchor="tee" title="TEE">
<t>Annotations included below are delimited by ASN.1 comments, i.e., –. Annotations should
be consistent with structures described here: <xref target="keystore_attestation"/>.</t>

<figure><artwork><![CDATA[
   0 1172: SEQUENCE {
   4  764:   SEQUENCE {
   8    3:     [0] {
  10    1:       INTEGER 2
         :       }
  13    1:     INTEGER 1
  16   13:     SEQUENCE {
  18    9:       OBJECT IDENTIFIER
         :         sha256WithRSAEncryption (1 2 840 113549 1 1 11)
  29    0:       NULL
         :       }
  31   27:     SEQUENCE {
  33   25:       SET {
  35   23:         SEQUENCE {
  37    3:           OBJECT IDENTIFIER serialNumber (2 5 4 5)
  42   16:           PrintableString 'c6047571d8f0d17c'
         :           }
         :         }
         :       }
  60   32:     SEQUENCE {
  62   13:       UTCTime 01/01/1970 00:00:00 GMT
  77   15:       GeneralizedTime 07/02/2106 06:28:15 GMT
         :       }
  94   31:     SEQUENCE {
  96   29:       SET {
  98   27:         SEQUENCE {
 100    3:           OBJECT IDENTIFIER commonName (2 5 4 3)
 105   20:           UTF8String 'Android Keystore Key'
         :           }
         :         }
         :       }
 127  290:     SEQUENCE {
 131   13:       SEQUENCE {
 133    9:         OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1)
 144    0:         NULL
         :         }
 146  271:       BIT STRING, encapsulates {
 151  266:         SEQUENCE {
 155  257:           INTEGER
         :             00 B5 3A 83 61 A2 85 CC D2 D6 25 7F 07 0B B4 A0
         :             F6 FE 05 01 C9 55 CB 0D 18 D2 C6 79 BA 82 12 67
         :             75 8D 5B F3 24 D3 F8 EA 99 82 7D 1F 5E CD 77 D6
         :             99 11 13 FF 18 C9 3D 4D 01 C5 8E E9 04 E7 17 E2
         :             88 12 2B B9 A1 77 2F C2 4F 57 78 98 4E E3 DE 7A
         :             1B 18 BE D3 ED C9 59 A0 24 50 E1 FA AC 81 B6 DA
         :             80 B0 BD 48 AD 26 9C 4A 4E CE 54 17 58 C1 F4 F8
         :             7F 3C 5D 8F C8 2C 2A 7B 18 95 B3 D4 E0 3A C8 9D
         :                     [ Another 129 bytes skipped ]
 416    3:           INTEGER 65537
         :           }
         :         }
         :       }
 421  347:     [3] {
 425  343:       SEQUENCE {
 429   14:         SEQUENCE {
 431    3:           OBJECT IDENTIFIER keyUsage (2 5 29 15)
 436    1:           BOOLEAN TRUE
 439    4:           OCTET STRING, encapsulates {
 441    2:             BIT STRING 4 unused bits
         :               '1100'B
         :             }
         :           }
 445  323:         SEQUENCE {
 449   10:           OBJECT IDENTIFIER '1 3 6 1 4 1 11129 2 1 17'
 461  307:           OCTET STRING, encapsulates {  -- Attestation Extension
 465  303:             SEQUENCE {           -- KeyDescription
 469    1:               INTEGER 2          -- attestationVersion (KM3)
 472    1:               ENUMERATED 1       -- attestationSecurityLevel (TrustedEnv.)
 475    1:               INTEGER 3          -- keymasterVersion
 478    1:               ENUMERATED 1       -- keymasterSecurityLevel (TrustedEnv.)
 481    9:               OCTET STRING 'challenge'    -- attestationChallenge
 492    0:               OCTET STRING       -- reserved
         :                 Error: Object has zero length.
 494   44:               SEQUENCE {         -- softwareEnforced
 496    8:                 [701] {          -- creationDateTime
 500    6:                   INTEGER 01 64 47 2A 4B 64
         :                   }
 508   28:                 [709] {               -- attestationApplicationId
 512   26:                   OCTET STRING, encapsulates {
 514   24:                     SEQUENCE {        -- AttestationApplicationId
 516   20:                       SET {           -- package_infos
 518   18:                         SEQUENCE {    -- AttestationPackageInfo
 520   13:                           OCTET STRING 'AndroidSystem'  -- package_name
 535    1:                           INTEGER 1   -- version
         :                           }
         :                         }
 538    0:                       SET {}     -- signature_digests
         :                       }
         :                     }
         :                   }
         :                 }
 540  229:               SEQUENCE {         -- hardwareEnforced
 543   14:                 [1] {            -- purpose
 545   12:                   SET {
 547    1:                     INTEGER 0    -- KeyPurpose.ENCRYPT
 550    1:                     INTEGER 1    -- KeyPurpose.DECRYPT
 553    1:                     INTEGER 2    -- KeyPurpose.SIGN
 556    1:                     INTEGER 3    -- KeyPurpose.VERIFY
         :                     }
         :                   }
 559    3:                 [2] {            -- algorithm
 561    1:                   INTEGER 1      -- Algorithm.RSA
         :                   }
 564    4:                 [3] {            -- keySize
 566    2:                   INTEGER 2048
         :                   }
 570   11:                 [5] {            -- digest
 572    9:                   SET {
 574    1:                     INTEGER 4    -- Digest.SHA256
 577    1:                     INTEGER 5    -- Digest.SHA384
 580    1:                     INTEGER 6    -- Digest.SHA512
         :                     }
         :                   }
 583   14:                 [6] {            -- padding
 585   12:                   SET {
 587    1:                     INTEGER 4    -- PaddingMode.RSA_PKCS1_1_5_ENCRYPT
 590    1:                     INTEGER 2    -- PaddingMode.RSA_OAEP
 593    1:                     INTEGER 3    -- PaddingMode.RSA_PKCS1_1_5_SIGN
 596    1:                     INTEGER 5    -- PaddingMode.RSA_PSS
         :                     }
         :                   }
 599    5:                 [200] {          -- rsaPublicExponent
 603    3:                   INTEGER 65537
         :                   }
 608    2:                 [503] {          -- noAuthRequired
 612    0:                   NULL           -- documentation indicates this is a Boolean
         :                   }
 614    3:                 [702] {          -- origin
 618    1:                   INTEGER 0      -- KeyOrigin.GENERATED
         :                   }
 621    2:                 [703] {          -- rollbackResistant
 625    0:                   NULL           -- documentation indicates this is a Boolean
         :                   }
 627   42:                 [704] {          -- rootOfTrust
 631   40:                   SEQUENCE {     -- verifiedBootKey
 633   32:                     OCTET STRING
         :                   19 62 B0 53 85 79 FF CE 9A C9 F5 07 C4 6A FE 3B
         :                   92 05 5B AC 71 46 46 22 83 C8 5C 50 0B E7 8D 82
 667    1:                     BOOLEAN TRUE -- deviceLocked
 670    1:                     ENUMERATED 0 -- verifiedBootState (verified)
         :                     }
         :                   }
 673    5:                 [705] {          -- osVersion
 677    3:                   INTEGER 90000  -- Android P
         :                   }
 682    5:                 [706] {          -- osPatchLevel
 686    3:                   INTEGER 201806 -- June 2018
         :                   }
 691    8:                 [710] {          -- attestationIdBrand
 695    6:                   OCTET STRING 'google'
         :                   }
 703    9:                 [711] {          -- attestationIdDevice
 707    7:                   OCTET STRING 'walleye'
         :                   }
 716    9:                 [712] {          -- attestationIdProduct
 720    7:                   OCTET STRING 'walleye'
         :                   }
 729   14:                 [713] {          -- attestationIdSerial
 733   12:                   OCTET STRING 'HT83K1A03849'
         :                   }
 747    8:                 [716] {          -- attestationIdManufacturer
 751    6:                   OCTET STRING 'Google'
         :                   }
 759    9:                 [717] {          -- attestationIdModel
 763    7:                   OCTET STRING 'Pixel 2'
         :                   }
         :                 }
         :               }
         :             }
         :           }
         :         }
         :       }
         :     }
 772   13:   SEQUENCE {
 774    9:     OBJECT IDENTIFIER sha256WithRSAEncryption (1 2 840 113549 1 1 11)
 785    0:     NULL
         :     }
 787  385:   BIT STRING
         :     05 41 B9 13 11 53 93 A2 02 62 1F 15 35 8E D9 7C
         :     A1 D5 2E ED 13 AC 24 26 B2 A1 2F EE B4 0C 4D 71
         :     DC 9F 55 EC A1 F6 64 62 F2 73 A8 7E FC 48 63 29
         :     1E F5 0D 48 F3 73 43 0C 00 E0 D4 07 86 A6 A4 38
         :     0E A8 47 0F 27 01 01 31 52 F6 62 8A 4B 80 BE 72
         :     FB 02 E7 56 84 CA CA 4D C3 6C 7C B2 BA C7 D7 9B
         :     C5 9D 90 65 4E F5 54 8F 25 CC 11 7F 8E 77 10 6A
         :     6E 9F 80 89 48 8B 1D 51 AA 3B B7 C5 24 3C 28 B1
         :             [ Another 256 bytes skipped ]
         :   }
   0 1304: SEQUENCE {
   4  768:   SEQUENCE {
   8    3:     [0] {
  10    1:       INTEGER 2
         :       }
  13   10:     INTEGER 10 34 53 32 94 08 68 79 38 72
  25   13:     SEQUENCE {
  27    9:       OBJECT IDENTIFIER
         :         sha256WithRSAEncryption (1 2 840 113549 1 1 11)
  38    0:       NULL
         :       }
  40   27:     SEQUENCE {
  42   25:       SET {
  44   23:         SEQUENCE {
  46    3:           OBJECT IDENTIFIER serialNumber (2 5 4 5)
  51   16:           PrintableString '87f4514475ba0a2b'
         :           }
         :         }
         :       }
  69   30:     SEQUENCE {
  71   13:       UTCTime 26/05/2016 17:14:51 GMT
  86   13:       UTCTime 24/05/2026 17:14:51 GMT
         :       }
 101   27:     SEQUENCE {
 103   25:       SET {
 105   23:         SEQUENCE {
 107    3:           OBJECT IDENTIFIER serialNumber (2 5 4 5)
 112   16:           PrintableString 'c6047571d8f0d17c'
         :           }
         :         }
         :       }
 130  418:     SEQUENCE {
 134   13:       SEQUENCE {
 136    9:         OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1)
 147    0:         NULL
         :         }
 149  399:       BIT STRING, encapsulates {
 154  394:         SEQUENCE {
 158  385:           INTEGER
         :             00 B3 01 0D 78 BC 06 33 25 CA D6 A7 2C EF 49 05
         :             4C C1 77 36 F2 E5 7B E8 4C 0A 87 8F 77 6A 09 45
         :             9B AC E8 72 DA E2 0E 20 3D 68 30 A5 86 26 14 77
         :             AD 7E 93 F5 1D 38 A9 DB 5B FE B2 B8 1A 7B CD 22
         :             3B 17 98 FC 1F 4F 77 2D 92 E9 DE 5F 6B 02 09 4E
         :             99 86 53 98 1C 5E 23 B6 A4 61 53 A5 FB D1 37 09
         :             DB C0 0A 40 E9 28 E6 BE E2 8E 57 94 A9 F2 13 3A
         :             11 40 D2 34 99 A6 B4 F3 99 F2 5D 4A 5D 6A 6C 4B
         :                     [ Another 257 bytes skipped ]
 547    3:           INTEGER 65537
         :           }
         :         }
         :       }
 552  221:     [3] {
 555  218:       SEQUENCE {
 558   29:         SEQUENCE {
 560    3:           OBJECT IDENTIFIER subjectKeyIdentifier (2 5 29 14)
 565   22:           OCTET STRING, encapsulates {
 567   20:             OCTET STRING
         :               7B 7B F8 43 CA 1F 0F 96 27 0F 10 6F 7D 0C 23 14
         :               72 8F 1D 80
         :             }
         :           }
 589   31:         SEQUENCE {
 591    3:           OBJECT IDENTIFIER authorityKeyIdentifier (2 5 29 35)
 596   24:           OCTET STRING, encapsulates {
 598   22:             SEQUENCE {
 600   20:               [0]
         :                 0E 55 6F 46 F5 3B 77 67 E1 B9 73 DC 55 E6 AE EA
         :                 B4 FD 27 DD
         :               }
         :             }
         :           }
 622   12:         SEQUENCE {
 624    3:           OBJECT IDENTIFIER basicConstraints (2 5 29 19)
 629    1:           BOOLEAN TRUE
 632    2:           OCTET STRING, encapsulates {
 634    0:             SEQUENCE {}
         :             }
         :           }
 636   14:         SEQUENCE {
 638    3:           OBJECT IDENTIFIER keyUsage (2 5 29 15)
 643    1:           BOOLEAN TRUE
 646    4:           OCTET STRING, encapsulates {
 648    2:             BIT STRING 7 unused bits
         :               '1'B (bit 0)
         :             }
         :           }
 652   36:         SEQUENCE {
 654    3:           OBJECT IDENTIFIER nameConstraints (2 5 29 30)
 659   29:           OCTET STRING, encapsulates {
 661   27:             SEQUENCE {
 663   25:               [0] {
 665   23:                 SEQUENCE {
 667   21:                   [2] 'invalid;email:invalid'
         :                   }
         :                 }
         :               }
         :             }
         :           }
 690   84:         SEQUENCE {
 692    3:           OBJECT IDENTIFIER cRLDistributionPoints (2 5 29 31)
 697   77:           OCTET STRING, encapsulates {
 699   75:             SEQUENCE {
 701   73:               SEQUENCE {
 703   71:                 [0] {
 705   69:                   [0] {
 707   67:                     [6]
         :                   'https://android.googleapis.com/attestation/crl/1'
         :                   '0345332940868793872'
         :                     }
         :                   }
         :                 }
         :               }
         :             }
         :           }
         :         }
         :       }
         :     }
 776   13:   SEQUENCE {
 778    9:     OBJECT IDENTIFIER sha256WithRSAEncryption (1 2 840 113549 1 1 11)
 789    0:     NULL
         :     }
 791  513:   BIT STRING
         :     69 13 A7 56 B3 9F E1 2B CE A2 09 89 E5 DC 03 B4
         :     B6 FF F6 1E 96 C7 62 C2 31 D1 B3 D6 1A 9E 36 CF
         :     C2 FC 0E 06 FA 0E CF B5 2D F8 19 D6 13 96 0B 56
         :     B0 EE 86 3B B1 B8 38 70 4E 57 EB D9 60 DC 58 74
         :     FE C8 EB A5 78 9F B7 19 5C F0 80 CF 29 16 6B 04
         :     3A 5D 7C 2E 5F 11 12 36 BE 46 29 45 04 41 8F B5
         :     AB C6 31 5F 23 28 0C F2 7C 48 4A F6 43 AA 50 D0
         :     53 96 1E AD 7C A3 89 96 BB 8B BF 2D 9A 0C 16 35
         :             [ Another 384 bytes skipped ]
         :   }
   0 1393: SEQUENCE {
   4  857:   SEQUENCE {
   8    3:     [0] {
  10    1:       INTEGER 2
         :       }
  13   10:     INTEGER 03 88 26 67 60 65 89 96 85 74
  25   13:     SEQUENCE {
  27    9:       OBJECT IDENTIFIER
         :         sha256WithRSAEncryption (1 2 840 113549 1 1 11)
  38    0:       NULL
         :       }
  40   27:     SEQUENCE {
  42   25:       SET {
  44   23:         SEQUENCE {
  46    3:           OBJECT IDENTIFIER serialNumber (2 5 4 5)
  51   16:           PrintableString 'f92009e853b6b045'
         :           }
         :         }
         :       }
  69   30:     SEQUENCE {
  71   13:       UTCTime 26/05/2016 17:01:32 GMT
  86   13:       UTCTime 24/05/2026 17:01:32 GMT
         :       }
 101   27:     SEQUENCE {
 103   25:       SET {
 105   23:         SEQUENCE {
 107    3:           OBJECT IDENTIFIER serialNumber (2 5 4 5)
 112   16:           PrintableString '87f4514475ba0a2b'
         :           }
         :         }
         :       }
 130  546:     SEQUENCE {
 134   13:       SEQUENCE {
 136    9:         OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1)
 147    0:         NULL
         :         }
 149  527:       BIT STRING, encapsulates {
 154  522:         SEQUENCE {
 158  513:           INTEGER
         :             00 D2 60 D6 45 85 E3 E2 23 79 5A DA 45 57 A7 D8
         :             5B AF BD 9A 37 CB FA 97 C0 65 44 9D 3A C6 47 F6
         :             0D 0B A2 74 12 CA F7 4B B9 5F FB B4 EC 5A 2B D0
         :             16 01 DE BE E2 FE D2 76 0D 75 C4 B1 6A CB 3A 67
         :             07 21 E0 D5 19 68 C8 1B 01 A2 24 02 FE AD 40 D6
         :             A7 98 16 0F A2 98 2E A7 AD 75 34 84 6F F8 CF 8A
         :             A1 0E 90 33 40 9E D0 86 26 57 71 CE FF CF 52 E1
         :             F0 F9 2B 7E 68 62 03 D8 FD FD 02 53 03 19 AC 28
         :                     [ Another 385 bytes skipped ]
 675    3:           INTEGER 65537
         :           }
         :         }
         :       }
 680  182:     [3] {
 683  179:       SEQUENCE {
 686   29:         SEQUENCE {
 688    3:           OBJECT IDENTIFIER subjectKeyIdentifier (2 5 29 14)
 693   22:           OCTET STRING, encapsulates {
 695   20:             OCTET STRING
         :               0E 55 6F 46 F5 3B 77 67 E1 B9 73 DC 55 E6 AE EA
         :               B4 FD 27 DD
         :             }
         :           }
 717   31:         SEQUENCE {
 719    3:           OBJECT IDENTIFIER authorityKeyIdentifier (2 5 29 35)
 724   24:           OCTET STRING, encapsulates {
 726   22:             SEQUENCE {
 728   20:               [0]
         :                 36 61 E1 00 7C 88 05 09 51 8B 44 6C 47 FF 1A 4C
         :                 C9 EA 4F 12
         :               }
         :             }
         :           }
 750   15:         SEQUENCE {
 752    3:           OBJECT IDENTIFIER basicConstraints (2 5 29 19)
 757    1:           BOOLEAN TRUE
 760    5:           OCTET STRING, encapsulates {
 762    3:             SEQUENCE {
 764    1:               BOOLEAN TRUE
         :               }
         :             }
         :           }
 767   14:         SEQUENCE {
 769    3:           OBJECT IDENTIFIER keyUsage (2 5 29 15)
 774    1:           BOOLEAN TRUE
 777    4:           OCTET STRING, encapsulates {
 779    2:             BIT STRING 1 unused bit
         :               '1100001'B
         :             }
         :           }
 783   80:         SEQUENCE {
 785    3:           OBJECT IDENTIFIER cRLDistributionPoints (2 5 29 31)
 790   73:           OCTET STRING, encapsulates {
 792   71:             SEQUENCE {
 794   69:               SEQUENCE {
 796   67:                 [0] {
 798   65:                   [0] {
 800   63:                     [6]
         :                   'https://android.googleapis.com/attestation/crl/E'
         :                   '8FA196314D2FA18'
         :                     }
         :                   }
         :                 }
         :               }
         :             }
         :           }
         :         }
         :       }
         :     }
 865   13:   SEQUENCE {
 867    9:     OBJECT IDENTIFIER sha256WithRSAEncryption (1 2 840 113549 1 1 11)
 878    0:     NULL
         :     }
 880  513:   BIT STRING
         :     0E 0D 71 4A 88 0A 58 53 B6 31 14 7D DA 22 31 C6
         :     06 D6 EF 3B 22 4D D7 A5 C0 3F BF C6 B4 64 A3 FB
         :     92 C2 CC 67 F4 6C 24 25 49 6E F6 CB 08 D6 A8 0D
         :     94 06 7F 8C 8C 3C B1 77 CD C2 3F C7 5E A3 85 6D
         :     F7 A5 94 13 CD 5A 5C F3 9B 0A 0D E1 82 42 F4 C9
         :     3F AD FC FB 7C AA 27 04 CC 1C 12 45 15 EB E6 70
         :     A0 6C DE 77 77 54 9B 1F 02 05 76 03 A4 FC 6C 07
         :     F4 CB BB 59 F5 CB ED 58 D8 30 9B 6E 3C F7 76 C1
         :             [ Another 384 bytes skipped ]
         :   }
   0 1376: SEQUENCE {
   4  840:   SEQUENCE {
   8    3:     [0] {
  10    1:       INTEGER 2
         :       }
  13    9:     INTEGER 00 E8 FA 19 63 14 D2 FA 18
  24   13:     SEQUENCE {
  26    9:       OBJECT IDENTIFIER
         :         sha256WithRSAEncryption (1 2 840 113549 1 1 11)
  37    0:       NULL
         :       }
  39   27:     SEQUENCE {
  41   25:       SET {
  43   23:         SEQUENCE {
  45    3:           OBJECT IDENTIFIER serialNumber (2 5 4 5)
  50   16:           PrintableString 'f92009e853b6b045'
         :           }
         :         }
         :       }
  68   30:     SEQUENCE {
  70   13:       UTCTime 26/05/2016 16:28:52 GMT
  85   13:       UTCTime 24/05/2026 16:28:52 GMT
         :       }
 100   27:     SEQUENCE {
 102   25:       SET {
 104   23:         SEQUENCE {
 106    3:           OBJECT IDENTIFIER serialNumber (2 5 4 5)
 111   16:           PrintableString 'f92009e853b6b045'
         :           }
         :         }
         :       }
 129  546:     SEQUENCE {
 133   13:       SEQUENCE {
 135    9:         OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1)
 146    0:         NULL
         :         }
 148  527:       BIT STRING, encapsulates {
 153  522:         SEQUENCE {
 157  513:           INTEGER
         :             00 AF B6 C7 82 2B B1 A7 01 EC 2B B4 2E 8B CC 54
         :             16 63 AB EF 98 2F 32 C7 7F 75 31 03 0C 97 52 4B
         :             1B 5F E8 09 FB C7 2A A9 45 1F 74 3C BD 9A 6F 13
         :             35 74 4A A5 5E 77 F6 B6 AC 35 35 EE 17 C2 5E 63
         :             95 17 DD 9C 92 E6 37 4A 53 CB FE 25 8F 8F FB B6
         :             FD 12 93 78 A2 2A 4C A9 9C 45 2D 47 A5 9F 32 01
         :             F4 41 97 CA 1C CD 7E 76 2F B2 F5 31 51 B6 FE B2
         :             FF FD 2B 6F E4 FE 5B C6 BD 9E C3 4B FE 08 23 9D
         :                     [ Another 385 bytes skipped ]
 674    3:           INTEGER 65537
         :           }
         :         }
         :       }
 679  166:     [3] {
 682  163:       SEQUENCE {
 685   29:         SEQUENCE {
 687    3:           OBJECT IDENTIFIER subjectKeyIdentifier (2 5 29 14)
 692   22:           OCTET STRING, encapsulates {
 694   20:             OCTET STRING
         :               36 61 E1 00 7C 88 05 09 51 8B 44 6C 47 FF 1A 4C
         :               C9 EA 4F 12
         :             }
         :           }
 716   31:         SEQUENCE {
 718    3:           OBJECT IDENTIFIER authorityKeyIdentifier (2 5 29 35)
 723   24:           OCTET STRING, encapsulates {
 725   22:             SEQUENCE {
 727   20:               [0]
         :                 36 61 E1 00 7C 88 05 09 51 8B 44 6C 47 FF 1A 4C
         :                 C9 EA 4F 12
         :               }
         :             }
         :           }
 749   15:         SEQUENCE {
 751    3:           OBJECT IDENTIFIER basicConstraints (2 5 29 19)
 756    1:           BOOLEAN TRUE
 759    5:           OCTET STRING, encapsulates {
 761    3:             SEQUENCE {
 763    1:               BOOLEAN TRUE
         :               }
         :             }
         :           }
 766   14:         SEQUENCE {
 768    3:           OBJECT IDENTIFIER keyUsage (2 5 29 15)
 773    1:           BOOLEAN TRUE
 776    4:           OCTET STRING, encapsulates {
 778    2:             BIT STRING 1 unused bit
         :               '1100001'B
         :             }
         :           }
 782   64:         SEQUENCE {
 784    3:           OBJECT IDENTIFIER cRLDistributionPoints (2 5 29 31)
 789   57:           OCTET STRING, encapsulates {
 791   55:             SEQUENCE {
 793   53:               SEQUENCE {
 795   51:                 [0] {
 797   49:                   [0] {
 799   47:                     [6]
         :                   'https://android.googleapis.com/attestation/crl/'
         :                     }
         :                   }
         :                 }
         :               }
         :             }
         :           }
         :         }
         :       }
         :     }
 848   13:   SEQUENCE {
 850    9:     OBJECT IDENTIFIER sha256WithRSAEncryption (1 2 840 113549 1 1 11)
 861    0:     NULL
         :     }
 863  513:   BIT STRING
         :     20 C8 C3 8D 4B DC A9 57 1B 46 8C 89 2F FF 72 AA
         :     C6 F8 44 A1 1D 41 A8 F0 73 6C C3 7D 16 D6 42 6D
         :     8E 7E 94 07 04 4C EA 39 E6 8B 07 C1 3D BF 15 03
         :     DD 5C 85 BD AF B2 C0 2D 5F 6C DB 4E FA 81 27 DF
         :     8B 04 F1 82 77 0F C4 E7 74 5B 7F CE AA 87 12 9A
         :     88 01 CE 8E 9B C0 CB 96 37 9B 4D 26 A8 2D 30 FD
         :     9C 2F 8E ED 6D C1 BE 2F 84 B6 89 E4 D9 14 25 8B
         :     14 4B BA E6 24 A1 C7 06 71 13 2E 2F 06 16 A8 84
         :             [ Another 384 bytes skipped ]
         :   }
]]></artwork></figure>

</section>
<section anchor="secure-element" title="Secure Element">

<t>The structures below are not annotated except where the difference is specific to the
difference between the TEE structure shown above and artifacts emitted by StrongBox.</t>

<figure><artwork><![CDATA[
   0 5143: SEQUENCE {
   4    9:   OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2)
  15 5128:   [0] {
  19 5124:     SEQUENCE {
  23    1:       INTEGER 1
  26    0:       SET {}
  28   11:       SEQUENCE {
  30    9:         OBJECT IDENTIFIER data (1 2 840 113549 1 7 1)
         :         }
  41 5100:       [0] {
  45 1114:         SEQUENCE {
  49  834:           SEQUENCE {
  53    3:             [0] {
  55    1:               INTEGER 2
         :               }
  58    1:             INTEGER 1
  61   13:             SEQUENCE {
  63    9:               OBJECT IDENTIFIER
         :                 sha256WithRSAEncryption (1 2 840 113549 1 1 11)
  74    0:               NULL
         :               }
  76   47:             SEQUENCE {
  78   25:               SET {
  80   23:                 SEQUENCE {
  82    3:                   OBJECT IDENTIFIER serialNumber (2 5 4 5)
  87   16:                   PrintableString '90e8da3cadfc7820'
         :                   }
         :                 }
 105   18:               SET {
 107   16:                 SEQUENCE {
 109    3:                   OBJECT IDENTIFIER title (2 5 4 12)
 114    9:                   UTF8String 'StrongBox'
         :                   }
         :                 }
         :               }
 125   30:             SEQUENCE {
 127   13:               UTCTime 01/01/1970 00:00:00 GMT
 142   13:               UTCTime 23/05/2028 23:59:59 GMT
         :               }
 157   31:             SEQUENCE {
 159   29:               SET {
 161   27:                 SEQUENCE {
 163    3:                   OBJECT IDENTIFIER commonName (2 5 4 3)
 168   20:                   UTF8String 'Android Keystore Key'
         :                   }
         :                 }
         :               }
 190  290:             SEQUENCE {
 194   13:               SEQUENCE {
 196    9:                 OBJECT IDENTIFIER
         :                   rsaEncryption (1 2 840 113549 1 1 1)
 207    0:                 NULL
         :                 }
 209  271:               BIT STRING, encapsulates {
 214  266:                 SEQUENCE {
 218  257:                   INTEGER
         :                   00 DE 98 94 D5 E5 05 98 E8 FC 73 4D 26 FB 48 6A
         :                   CA 06 A0 24 FA 05 D1 D2 32 10 46 F8 50 DD 3E 0D
         :                   DF 4F 95 53 D2 CB 10 1F 00 B2 62 15 1E 21 7E 05
         :                   C6 10 AC EE 7A D8 69 F1 1F 32 C3 17 CA D7 07 BE
         :                   3B 2B 83 0F B4 9C 3D C7 13 0B 9C 59 2F 1A 38 CE
         :                   A5 1D 95 A7 3C EE 70 6A CF 41 FF 55 3F E0 9C 69
         :                   E5 A0 C1 19 EF 40 E9 40 FC 74 D3 3B 96 D9 0E C1
         :                   C3 9D 14 10 0C A6 95 19 49 88 F4 AB 74 FC 86 A6
         :                           [ Another 129 bytes skipped ]
 479    3:                   INTEGER 65537
         :                   }
         :                 }
         :               }
 484  399:             [3] {
 488  395:               SEQUENCE {
 492   14:                 SEQUENCE {
 494    3:                   OBJECT IDENTIFIER keyUsage (2 5 29 15)
 499    1:                   BOOLEAN TRUE
 502    4:                   OCTET STRING, encapsulates {
 504    2:                     BIT STRING 7 unused bits
         :                       '1'B (bit 0)
         :                     }
         :                   }
 508  375:                 SEQUENCE {
 512   10:                   OBJECT IDENTIFIER '1 3 6 1 4 1 11129 2 1 17'
 524  359:                   OCTET STRING, encapsulates {
 528  355:                     SEQUENCE {
 532    1:                       INTEGER 3
 535    1:                       ENUMERATED 2   -- attestationSecurityLevel (StrongBox)
 538    1:                       INTEGER 4
 541    1:                       ENUMERATED 2   -- attestationSecurityLevel (StrongBox)
 544    9:                       OCTET STRING 'challenge'
 555    0:                       OCTET STRING
         :                         Error: Object has zero length.
 557   53:                       SEQUENCE {
 559    2:                         [509] {
 563    0:                           NULL
         :                           }
 565   11:                         [701] {
 569    9:                           INTEGER 00 FF FF FF FF FF E5 99 78
         :                           }
 580   28:                         [709] {
 584   26:                           OCTET STRING, encapsulates {
 586   24:                             SEQUENCE {
 588   20:                               SET {
 590   18:                                 SEQUENCE {
 592   13:                                   OCTET STRING 'AndroidSystem'
 607    1:                                   INTEGER 1
         :                                   }
         :                                 }
 610    0:                               SET {}
         :                               }
         :                             }
         :                           }
         :                         }
 612  271:                       SEQUENCE {
 616   14:                         [1] {
 618   12:                           SET {
 620    1:                             INTEGER 0
 623    1:                             INTEGER 1
 626    1:                             INTEGER 2
 629    1:                             INTEGER 3
         :                             }
         :                           }
 632    3:                         [2] {
 634    1:                           INTEGER 1
         :                           }
 637    4:                         [3] {
 639    2:                           INTEGER 2048
         :                           }
 643    8:                         [4] {
 645    6:                           SET {
 647    1:                             INTEGER 2
 650    1:                             INTEGER 32
         :                             }
         :                           }
 653    8:                         [5] {
 655    6:                           SET {
 657    1:                             INTEGER 0
 660    1:                             INTEGER 4
         :                             }
         :                           }
 663   14:                         [6] {
 665   12:                           SET {
 667    1:                             INTEGER 2
 670    1:                             INTEGER 3
 673    1:                             INTEGER 4
 676    1:                             INTEGER 5
         :                             }
         :                           }
 679    2:                         [503] {
 683    0:                           NULL
         :                           }
 685    3:                         [702] {
 689    1:                           INTEGER 0
         :                           }
 692   76:                         [704] {
 696   74:                           SEQUENCE {
 698   32:                             OCTET STRING
         :                   61 FD A1 2B 32 ED 84 21 4A 9C F1 3D 1A FF B7 AA
         :                   80 BD 8A 26 8A 86 1E D4 BB 7A 15 17 0F 1A B0 0C
 732    1:                             BOOLEAN TRUE
 735    1:                             ENUMERATED 0
 738   32:                             OCTET STRING
         :                   77 96 C5 3D 0E 09 46 2B BA BB FB 7B 8A 65 F6 8D
         :                   EF 5C 46 88 BF 99 C4 1E 88 42 01 4D 1F 01 2D C5
         :                             }
         :                           }
 772    3:                         [705] {
 776    1:                           INTEGER 0
         :                           }
 779    5:                         [706] {
 783    3:                           INTEGER 201903
         :                           }
 788    8:                         [710] {
 792    6:                           OCTET STRING 'google'
         :                           }
 800   10:                         [711] {
 804    8:                           OCTET STRING 'blueline'
         :                           }
 814   10:                         [712] {
 818    8:                           OCTET STRING 'blueline'
         :                           }
 828   11:                         [713] {
 832    9:                           OCTET STRING '8A2X0KLUU'
         :                           }
 843    8:                         [716] {
 847    6:                           OCTET STRING 'Google'
         :                           }
 855    9:                         [717] {
 859    7:                           OCTET STRING 'Pixel 3'
         :                           }
 868    6:                         [718] {
 872    4:                           INTEGER 20180905
         :                           }
 878    5:                         [719] {
 882    3:                           INTEGER 201903
         :                           }
         :                         }
         :                       }
         :                     }
         :                   }
         :                 }
         :               }
         :             }
 887   13:           SEQUENCE {
 889    9:             OBJECT IDENTIFIER
         :               sha256WithRSAEncryption (1 2 840 113549 1 1 11)
 900    0:             NULL
         :             }
 902  257:           BIT STRING
         :             83 EA 59 8D BE 37 4A D5 C0 FC F8 FB AC 8B 72 1E
         :             A5 C2 3B 0C C0 04 1B C0 5A 18 A5 DF D4 67 1D B9
         :             08 42 4B E2 2C AC 07 0F D8 0E 24 97 56 9E 14 F2
         :             D0 AC DD 1E FC DD 68 20 11 DF 88 B8 B6 22 AD 2B
         :             DB 9C 2E 5C 3F AF 0B 8F 02 68 AA 34 4B 5E C8 75
         :             B1 1A 09 D2 19 41 24 61 65 97 2C 0D A4 78 43 A7
         :             9A 27 B2 4E 24 11 4F FF E2 D8 04 56 39 75 B2 34
         :             D8 18 C7 25 F3 3F C0 6A 37 AB 49 B6 96 51 61 72
         :                     [ Another 128 bytes skipped ]
         :           }
1163 1181:         SEQUENCE {
1167  645:           SEQUENCE {
1171    3:             [0] {
1173    1:               INTEGER 2
         :               }
1176   10:             INTEGER 17 10 24 68 40 71 02 97 78 50
1188   13:             SEQUENCE {
1190    9:               OBJECT IDENTIFIER
         :                 sha256WithRSAEncryption (1 2 840 113549 1 1 11)
1201    0:               NULL
         :               }
1203   47:             SEQUENCE {
1205   25:               SET {
1207   23:                 SEQUENCE {
1209    3:                   OBJECT IDENTIFIER serialNumber (2 5 4 5)
1214   16:                   PrintableString 'ccd18b9b608d658e'
         :                   }
         :                 }
1232   18:               SET {
1234   16:                 SEQUENCE {
1236    3:                   OBJECT IDENTIFIER title (2 5 4 12)
1241    9:                   UTF8String 'StrongBox'
         :                   }
         :                 }
         :               }
1252   30:             SEQUENCE {
1254   13:               UTCTime 25/05/2018 23:28:47 GMT
1269   13:               UTCTime 22/05/2028 23:28:47 GMT
         :               }
1284   47:             SEQUENCE {
1286   25:               SET {
1288   23:                 SEQUENCE {
1290    3:                   OBJECT IDENTIFIER serialNumber (2 5 4 5)
1295   16:                   PrintableString '90e8da3cadfc7820'
         :                   }
         :                 }
1313   18:               SET {
1315   16:                 SEQUENCE {
1317    3:                   OBJECT IDENTIFIER title (2 5 4 12)
1322    9:                   UTF8String 'StrongBox'
         :                   }
         :                 }
         :               }
1333  290:             SEQUENCE {
1337   13:               SEQUENCE {
1339    9:                 OBJECT IDENTIFIER
         :                   rsaEncryption (1 2 840 113549 1 1 1)
1350    0:                 NULL
         :                 }
1352  271:               BIT STRING, encapsulates {
1357  266:                 SEQUENCE {
1361  257:                   INTEGER
         :                   00 A5 09 D4 09 D2 30 19 36 34 71 FD 7D 41 89 E6
         :                   2C A5 9D 10 1B 4F 40 6A B0 5F 56 34 16 E6 EB D7
         :                   F3 E9 C5 DC 20 F3 86 D1 77 19 D7 15 1F E7 EC 62
         :                   DC 0A BC 64 E9 18 52 B0 AA B8 FF 58 6A E0 0F B8
         :                   56 AF 77 D3 CE 3C DC 48 52 DD B2 86 0D 76 17 7C
         :                   FD EE B4 E6 6E 0A 08 9E 06 CA 0F EC 4B B0 7C AF
         :                   EA 82 27 A8 C9 A7 63 DA 89 F6 30 BA 3C 3A E5 C6
         :                   EF 11 06 42 8A 2E FE 19 BE F2 C7 3B 34 16 B2 E2
         :                           [ Another 129 bytes skipped ]
1622    3:                   INTEGER 65537
         :                   }
         :                 }
         :               }
1627  186:             [3] {
1630  183:               SEQUENCE {
1633   29:                 SEQUENCE {
1635    3:                   OBJECT IDENTIFIER subjectKeyIdentifier (2 5 29 14)
1640   22:                   OCTET STRING, encapsulates {
1642   20:                     OCTET STRING
         :                   77 A4 AD DF 1D 29 89 CA 92 E3 BA DE 27 3C 70 DF
         :                   36 03 7C 0C
         :                     }
         :                   }
1664   31:                 SEQUENCE {
1666    3:                   OBJECT IDENTIFIER
         :                     authorityKeyIdentifier (2 5 29 35)
1671   24:                   OCTET STRING, encapsulates {
1673   22:                     SEQUENCE {
1675   20:                       [0]
         :                   1B 17 70 C6 97 DC 84 54 75 7C 3C 98 5C E6 1D 1D
         :                   08 59 5D 53
         :                       }
         :                     }
         :                   }
1697   15:                 SEQUENCE {
1699    3:                   OBJECT IDENTIFIER basicConstraints (2 5 29 19)
1704    1:                   BOOLEAN TRUE
1707    5:                   OCTET STRING, encapsulates {
1709    3:                     SEQUENCE {
1711    1:                       BOOLEAN TRUE
         :                       }
         :                     }
         :                   }
1714   14:                 SEQUENCE {
1716    3:                   OBJECT IDENTIFIER keyUsage (2 5 29 15)
1721    1:                   BOOLEAN TRUE
1724    4:                   OCTET STRING, encapsulates {
1726    2:                     BIT STRING 2 unused bits
         :                       '100000'B (bit 5)
         :                     }
         :                   }
1730   84:                 SEQUENCE {
1732    3:                   OBJECT IDENTIFIER cRLDistributionPoints (2 5 29 31)
1737   77:                   OCTET STRING, encapsulates {
1739   75:                     SEQUENCE {
1741   73:                       SEQUENCE {
1743   71:                         [0] {
1745   69:                           [0] {
1747   67:                             [6]
         :                   'https://android.googleapis.com/attestation/crl/1'
         :                   '7102468407102977850'
         :                             }
         :                           }
         :                         }
         :                       }
         :                     }
         :                   }
         :                 }
         :               }
         :             }
1816   13:           SEQUENCE {
1818    9:             OBJECT IDENTIFIER
         :               sha256WithRSAEncryption (1 2 840 113549 1 1 11)
1829    0:             NULL
         :             }
1831  513:           BIT STRING
         :             13 22 DA F2 92 93 CE C0 9F 70 40 C9 DA 85 6B 61
         :             6F 8F BE E0 A4 04 55 C1 63 84 61 37 F5 4B 71 6D
         :             62 AA 6F BF 6C E8 48 03 AD 28 85 21 9E 3C 1C 91
         :             48 EE 65 28 65 70 D0 BD 5B CC DB CE B1 F5 B5 C3
         :             CA 7A A9 C8 8A 68 12 8A CA 6A 85 A6 BC DA 36 E9
         :             B9 94 35 82 5B CA BC B6 9F 83 03 7F 21 6C EE 82
         :             C1 3F BD C1 41 4B DD 1A 6F 6C AF 4A 52 FC 19 19
         :             17 AC 29 0C 5E D7 57 90 D5 B1 2B 36 29 1F 45 33
         :                     [ Another 384 bytes skipped ]
         :           }
2348 1376:         SEQUENCE {
2352  840:           SEQUENCE {
2356    3:             [0] {
2358    1:               INTEGER 2
         :               }
2361    9:             INTEGER 00 E8 FA 19 63 14 D2 FA 18
2372   13:             SEQUENCE {
2374    9:               OBJECT IDENTIFIER
         :                 sha256WithRSAEncryption (1 2 840 113549 1 1 11)
2385    0:               NULL
         :               }
2387   27:             SEQUENCE {
2389   25:               SET {
2391   23:                 SEQUENCE {
2393    3:                   OBJECT IDENTIFIER serialNumber (2 5 4 5)
2398   16:                   PrintableString 'f92009e853b6b045'
         :                   }
         :                 }
         :               }
2416   30:             SEQUENCE {
2418   13:               UTCTime 26/05/2016 16:28:52 GMT
2433   13:               UTCTime 24/05/2026 16:28:52 GMT
         :               }
2448   27:             SEQUENCE {
2450   25:               SET {
2452   23:                 SEQUENCE {
2454    3:                   OBJECT IDENTIFIER serialNumber (2 5 4 5)
2459   16:                   PrintableString 'f92009e853b6b045'
         :                   }
         :                 }
         :               }
2477  546:             SEQUENCE {
2481   13:               SEQUENCE {
2483    9:                 OBJECT IDENTIFIER
         :                   rsaEncryption (1 2 840 113549 1 1 1)
2494    0:                 NULL
         :                 }
2496  527:               BIT STRING, encapsulates {
2501  522:                 SEQUENCE {
2505  513:                   INTEGER
         :                   00 AF B6 C7 82 2B B1 A7 01 EC 2B B4 2E 8B CC 54
         :                   16 63 AB EF 98 2F 32 C7 7F 75 31 03 0C 97 52 4B
         :                   1B 5F E8 09 FB C7 2A A9 45 1F 74 3C BD 9A 6F 13
         :                   35 74 4A A5 5E 77 F6 B6 AC 35 35 EE 17 C2 5E 63
         :                   95 17 DD 9C 92 E6 37 4A 53 CB FE 25 8F 8F FB B6
         :                   FD 12 93 78 A2 2A 4C A9 9C 45 2D 47 A5 9F 32 01
         :                   F4 41 97 CA 1C CD 7E 76 2F B2 F5 31 51 B6 FE B2
         :                   FF FD 2B 6F E4 FE 5B C6 BD 9E C3 4B FE 08 23 9D
         :                           [ Another 385 bytes skipped ]
3022    3:                   INTEGER 65537
         :                   }
         :                 }
         :               }
3027  166:             [3] {
3030  163:               SEQUENCE {
3033   29:                 SEQUENCE {
3035    3:                   OBJECT IDENTIFIER subjectKeyIdentifier (2 5 29 14)
3040   22:                   OCTET STRING, encapsulates {
3042   20:                     OCTET STRING
         :                   36 61 E1 00 7C 88 05 09 51 8B 44 6C 47 FF 1A 4C
         :                   C9 EA 4F 12
         :                     }
         :                   }
3064   31:                 SEQUENCE {
3066    3:                   OBJECT IDENTIFIER
         :                     authorityKeyIdentifier (2 5 29 35)
3071   24:                   OCTET STRING, encapsulates {
3073   22:                     SEQUENCE {
3075   20:                       [0]
         :                   36 61 E1 00 7C 88 05 09 51 8B 44 6C 47 FF 1A 4C
         :                   C9 EA 4F 12
         :                       }
         :                     }
         :                   }
3097   15:                 SEQUENCE {
3099    3:                   OBJECT IDENTIFIER basicConstraints (2 5 29 19)
3104    1:                   BOOLEAN TRUE
3107    5:                   OCTET STRING, encapsulates {
3109    3:                     SEQUENCE {
3111    1:                       BOOLEAN TRUE
         :                       }
         :                     }
         :                   }
3114   14:                 SEQUENCE {
3116    3:                   OBJECT IDENTIFIER keyUsage (2 5 29 15)
3121    1:                   BOOLEAN TRUE
3124    4:                   OCTET STRING, encapsulates {
3126    2:                     BIT STRING 1 unused bit
         :                       '1100001'B
         :                     }
         :                   }
3130   64:                 SEQUENCE {
3132    3:                   OBJECT IDENTIFIER cRLDistributionPoints (2 5 29 31)
3137   57:                   OCTET STRING, encapsulates {
3139   55:                     SEQUENCE {
3141   53:                       SEQUENCE {
3143   51:                         [0] {
3145   49:                           [0] {
3147   47:                             [6]
         :                   'https://android.googleapis.com/attestation/crl/'
         :                             }
         :                           }
         :                         }
         :                       }
         :                     }
         :                   }
         :                 }
         :               }
         :             }
3196   13:           SEQUENCE {
3198    9:             OBJECT IDENTIFIER
         :               sha256WithRSAEncryption (1 2 840 113549 1 1 11)
3209    0:             NULL
         :             }
3211  513:           BIT STRING
         :             20 C8 C3 8D 4B DC A9 57 1B 46 8C 89 2F FF 72 AA
         :             C6 F8 44 A1 1D 41 A8 F0 73 6C C3 7D 16 D6 42 6D
         :             8E 7E 94 07 04 4C EA 39 E6 8B 07 C1 3D BF 15 03
         :             DD 5C 85 BD AF B2 C0 2D 5F 6C DB 4E FA 81 27 DF
         :             8B 04 F1 82 77 0F C4 E7 74 5B 7F CE AA 87 12 9A
         :             88 01 CE 8E 9B C0 CB 96 37 9B 4D 26 A8 2D 30 FD
         :             9C 2F 8E ED 6D C1 BE 2F 84 B6 89 E4 D9 14 25 8B
         :             14 4B BA E6 24 A1 C7 06 71 13 2E 2F 06 16 A8 84
         :                     [ Another 384 bytes skipped ]
         :           }
3728 1413:         SEQUENCE {
3732  877:           SEQUENCE {
3736    3:             [0] {
3738    1:               INTEGER 2
         :               }
3741   10:             INTEGER 03 88 26 67 60 65 89 96 85 99
3753   13:             SEQUENCE {
3755    9:               OBJECT IDENTIFIER
         :                 sha256WithRSAEncryption (1 2 840 113549 1 1 11)
3766    0:               NULL
         :               }
3768   27:             SEQUENCE {
3770   25:               SET {
3772   23:                 SEQUENCE {
3774    3:                   OBJECT IDENTIFIER serialNumber (2 5 4 5)
3779   16:                   PrintableString 'f92009e853b6b045'
         :                   }
         :                 }
         :               }
3797   30:             SEQUENCE {
3799   13:               UTCTime 20/06/2018 22:47:35 GMT
3814   13:               UTCTime 17/06/2028 22:47:35 GMT
         :               }
3829   47:             SEQUENCE {
3831   25:               SET {
3833   23:                 SEQUENCE {
3835    3:                   OBJECT IDENTIFIER serialNumber (2 5 4 5)
3840   16:                   PrintableString 'ccd18b9b608d658e'
         :                   }
         :                 }
3858   18:               SET {
3860   16:                 SEQUENCE {
3862    3:                   OBJECT IDENTIFIER title (2 5 4 12)
3867    9:                   UTF8String 'StrongBox'
         :                   }
         :                 }
         :               }
3878  546:             SEQUENCE {
3882   13:               SEQUENCE {
3884    9:                 OBJECT IDENTIFIER
         :                   rsaEncryption (1 2 840 113549 1 1 1)
3895    0:                 NULL
         :                 }
3897  527:               BIT STRING, encapsulates {
3902  522:                 SEQUENCE {
3906  513:                   INTEGER
         :                   00 E8 22 0B F1 72 A6 01 63 D3 3C 44 9D DB 7A 87
         :                   D6 3D 6F 6D 92 B7 C9 4A 70 96 5D 29 7A 8E 96 3E
         :                   FE F3 10 53 B2 19 A5 BF 6E 54 AD D0 0A A2 8E 54
         :                   E0 D4 B4 2E A6 E0 D4 30 F8 5A 47 CC 09 00 56 45
         :                   BE DA 5A 84 59 90 18 CE 29 6C 8E 9E E6 90 98 BD
         :                   D4 D8 F8 38 82 90 C9 79 DB 31 D3 7A A1 CA BA 6A
         :                   8B 9D 15 91 E2 6C 41 A3 2B 25 DA 4F E4 B3 14 E5
         :                   4B EC B7 89 06 44 18 67 C1 4C 03 35 18 D8 FD 7D
         :                           [ Another 385 bytes skipped ]
4423    3:                   INTEGER 65537
         :                   }
         :                 }
         :               }
4428  182:             [3] {
4431  179:               SEQUENCE {
4434   29:                 SEQUENCE {
4436    3:                   OBJECT IDENTIFIER subjectKeyIdentifier (2 5 29 14)
4441   22:                   OCTET STRING, encapsulates {
4443   20:                     OCTET STRING
         :                   1B 17 70 C6 97 DC 84 54 75 7C 3C 98 5C E6 1D 1D
         :                   08 59 5D 53
         :                     }
         :                   }
4465   31:                 SEQUENCE {
4467    3:                   OBJECT IDENTIFIER
         :                     authorityKeyIdentifier (2 5 29 35)
4472   24:                   OCTET STRING, encapsulates {
4474   22:                     SEQUENCE {
4476   20:                       [0]
         :                   36 61 E1 00 7C 88 05 09 51 8B 44 6C 47 FF 1A 4C
         :                   C9 EA 4F 12
         :                       }
         :                     }
         :                   }
4498   15:                 SEQUENCE {
4500    3:                   OBJECT IDENTIFIER basicConstraints (2 5 29 19)
4505    1:                   BOOLEAN TRUE
4508    5:                   OCTET STRING, encapsulates {
4510    3:                     SEQUENCE {
4512    1:                       BOOLEAN TRUE
         :                       }
         :                     }
         :                   }
4515   14:                 SEQUENCE {
4517    3:                   OBJECT IDENTIFIER keyUsage (2 5 29 15)
4522    1:                   BOOLEAN TRUE
4525    4:                   OCTET STRING, encapsulates {
4527    2:                     BIT STRING 2 unused bits
         :                       '100000'B (bit 5)
         :                     }
         :                   }
4531   80:                 SEQUENCE {
4533    3:                   OBJECT IDENTIFIER cRLDistributionPoints (2 5 29 31)
4538   73:                   OCTET STRING, encapsulates {
4540   71:                     SEQUENCE {
4542   69:                       SEQUENCE {
4544   67:                         [0] {
4546   65:                           [0] {
4548   63:                             [6]
         :                   'https://android.googleapis.com/attestation/crl/8'
         :                   'F6734C9FA504789'
         :                             }
         :                           }
         :                         }
         :                       }
         :                     }
         :                   }
         :                 }
         :               }
         :             }
4613   13:           SEQUENCE {
4615    9:             OBJECT IDENTIFIER
         :               sha256WithRSAEncryption (1 2 840 113549 1 1 11)
4626    0:             NULL
         :             }
4628  513:           BIT STRING
         :             9B E2 2D 8C 43 AC 8F 11 35 11 77 BD F9 32 B3 01
         :             8C E9 97 58 08 E5 C0 DD C4 CC A6 B1 4A A3 E5 D0
         :             48 A6 18 1C 8E 5C FD 35 4A A5 12 C2 1A 82 64 3E
         :             B4 CC 0C 0B 1F 5E D5 11 C0 B7 49 5B A6 E7 74 37
         :             0B 7D 99 27 84 B7 E0 34 58 28 01 CC 03 76 50 F8
         :             1A B5 3B EF CA D2 FF 7D C9 37 FE D9 F7 30 3D 31
         :             24 CA 83 FD 67 AC 38 E3 82 23 B0 70 80 48 84 D6
         :             A1 2E 18 BD 94 1F 9A 8E 82 CC 2F EB 97 AA 5B A3
         :                     [ Another 384 bytes skipped ]
         :           }
         :         }
5145    0:       SET {}
         :       }
         :     }
         :   }

]]></artwork></figure>

</section>
</section>
<section anchor="windows-10-tpm" title="Windows 10 TPM">

<t>The next two sections provide two views of a CSR generated via invocation of the
Certificate Enrollment Manager API similar to the below:</t>

<figure><artwork><![CDATA[
CertificateRequestProperties request = new CertificateRequestProperties();
request.FriendlyName = "Self-Signed Device Certificate";

request.KeyAlgorithmName = KeyAlgorithmNames.Rsa;
request.KeyStorageProviderName = "Microsoft Smart Card Key Storage Provider";
request.UseExistingKey = true;
request.Exportable = ExportOption.NotExportable;
request.ContainerName = prj.GetContainerName();

request.Subject = subject_name;
request.KeyUsages = keyUsages;
request.SmartcardReaderName = smartCardReaderName;

string privacyCa =
    "MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJVUzEY" +
    "MBYGA1UEChMPVS5TLiBHb3Zlcm5tZW50MQ0wCwYDVQQLEwRESVNBMRwwGgYDVQQD" +
    "ExNQdXJlYnJlZCBQcml2YWN5IENBMB4XDTE4MDQwMzE0NTQwMFoXDTI4MDQwMzE0" +
    "NTQwMFowVDELMAkGA1UEBhMCVVMxGDAWBgNVBAoTD1UuUy4gR292ZXJubWVudDEN" +
    "MAsGA1UECxMERElTQTEcMBoGA1UEAxMTUHVyZWJyZWQgUHJpdmFjeSBDQTCCASIw" +
    "DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMROV8sQ707OSvjRxoX5S6MaB0r4" +
    "r5TnM97cx0RjtSVPu3O/WG9KRQdJtG9gARKKlxqgKOPJkTfTIxvUvWwKrtL9HjYs" +
    "IC2V/otsX3JKgPepud2CTIy3I1ADU7UD0/0MGqALbn+grDTaZOSi5p6cA0eo/f0X" +
    "O7UNh5r2YWOYAhZdhIy5F9BIOZEN/7pRyvKziupf3OVTQaMjMWoiDrCQC+D0xya4" +
    "8qxU/VFy4c9BmIg7uNzkHDqdaogo1Gsj5t2y0lW37IbRo6HrZ5Dl18laIX7s7n9k" +
    "Mp7GbK4rq/1FTMvI5bBpN/Pp4syi3f+oyQbSz+FPQwfBWGLukTUzPYcDVfUCAwEA" +
    "AaNYMFYwHQYDVR0OBBYEFAFy9PrSM65GYyC0EVDPU91WJ0BXMAsGA1UdDwQEAwIC" +
    "pDAoBgNVHSUEITAfBggrBgEFBQcDAgYIKwYBBQUHAwEGCSsGAQQBgjcVJDANBgkq" +
    "hkiG9w0BAQsFAAOCAQEAG777BuS/EXmuoHiVctA0n58u4SZb6i9Jvw1gI3qIryGM" +
    "2oxDSKPr36c7R2tFmAqo4m9N97wh4xFebkkYHgZWPsp0hRFy79veE+wMCw+Z0B88" +
    "ri4a2z/oTDmW9uf3r+BaZjRKpVoaYW9eztmz6DJA3wtvEdvUE2Nq4G1V5yXIdiSU" +
    "pfVd4eyEPVNy0Yp9DZDBP9vVcd5x7VfG8rzQoaDcerwrsXJ9/WLDz76A6d2/syHN" +
    "74CRuXYGhpBb7YL1jIhgVi6Rb4Dbq3dgDIkmTqUecEknuX73Oddr/phgqMOrVWUB" +
    "1XrHJbPUuC+nuPbShhJ0vPRw13TX3deqjzTsj8XEcA==";

byte[] privacyCaBytes = Convert.FromBase64String(privacyCa);
IBuffer buffer = privacyCaBytes.AsBuffer();
request.AttestationCredentialCertificate = new Certificate(buffer); ;

csrToDiscard = await
CertificateEnrollmentManager.UserCertificateEnrollmentManager.\
CreateRequestAsync(request);
]]></artwork></figure>

<t>Attestation details are described here: https://msdn.microsoft.com/en-us/library/dn366894.aspx.</t>

<t>The structure is essentially a Full PKI Request as described in RFC 5272.</t>

<figure><artwork><![CDATA[
* ContentInfo
  * SignedData
     * PKIData
       * Empty controlSequence
       * One TaggestRequest
         * PKCS 10
           * Basic request details along with encrypted attestation extension
       * Empty cmsSequence
       * Empty otherMsgSequence
     * Certificates bag with two certs (one of which is revoked)
]]></artwork></figure>

<section anchor="attestation-statement" title="Attestation statement">

<t>This section provides an annotation attestation statement as extracted from an encrypted
attestation extension. The structure of the attestation statement is defined here:
https://msdn.microsoft.com/en-us/library/dn408990.aspx.</t>

<figure><artwork><![CDATA[
 600 1256:                         SEQUENCE {
 604    9:                           OBJECT IDENTIFIER '1 3 6 1 4 1 311 21 24'
 615 1241:                           SET {
 619 1237:                             OCTET STRING
         :                   4B 41 53 54 01 00 00 00 02 00 00 00 1C 00 00 00
         :                   00 00 00 00 B9 04 00 00 00 00 00 00 4B 41 44 53
         :                   02 00 00 00 18 00 00 00 A1 00 00 00 00 01 00 00
         :                   00 03 00 00 FF 54 43 47 80 17 00 22 00 0B 9A FD
         :                   AB 8A 0B E9 0B BB 3F 7F E6 B6 77 91 EF A9 15 8A
         :                   03 B2 2B 8C BE 3F EC 56 B6 30 BF 82 73 9C 00 14
         :                   13 6E 2F 14 DD AF 30 72 A6 E3 89 4D BF 7A 54 26
         :                   36 2F 10 D6 00 00 00 00 51 4F CB E5 AD 8C 8C 60
         :                   E6 C2 70 80 00 D4 2C 65 4C 6B 95 ED 95 00 22 00
         :                   0B 2B E6 2C AD 8D E8 9A 85 04 D7 F3 7B B7 4C F8
         :                   32 CD B4 F1 80 CA A6 35 B9 2C 39 87 B7 96 03 C3
         :                   A3 00 22 00 0B 6C 88 60 B2 80 E3 BE 7D 34 F2 85
         :                   DC 26 9D 1B 72 A8 0A 17 CF 31 08 F1 55 F2 9B 4E
         :                   82 C8 5B 49 7B 1A F1 4B 12 A1 C5 D1 A4 C5 A4 59
         :                   C4 0A 97 E0 88 ED 1C D3 B6 38 4A 5D 6C 27 F5 69
         :                   7D 17 AD F6 C0 03 27 09 5D 93 B5 13 EA 50 B5 05
         :                   27 7B A0 51 4D 1B 17 52 87 7D B8 A6 05 4A 4F 39
         :                   CA 36 5C A1 19 19 0B 73 B4 0E 7F D3 91 DA 91 EE
         :                   37 C6 CE 78 AF 15 21 5D EB 5E 5F 23 A7 08 E9 85
         :                   D4 6B A0 95 6D D7 E0 3A D1 92 72 B7 D4 E5 35 6A
         :                   01 B0 7D 35 D0 99 BA A1 77 35 76 75 E3 90 A8 8B
         :                   86 27 B8 3D 47 75 2D 98 D0 23 4E 09 D8 26 6B 32
         :                   3C AB AC 50 A2 E8 FF 70 21 85 C5 5E B1 F5 9C B9
         :                   6E 21 27 C7 2A CD 84 61 02 47 6A A0 E1 9A 9F AF
         :                   02 43 08 D8 BF 9F 69 14 C4 8C 80 32 2D 5C A3 60
         :                   48 F5 5E 8E 65 6B 5E B5 0E A4 ED B9 8B F9 C3 D9
         :                   A8 CE C0 64 71 F6 E3 81 F7 9D 79 E5 73 7B F3 A4
         :                   6E 65 8D 72 B4 0A 3E 5E 70 5F AB 2B 89 B9 5E 65
         :                   44 BF 44 7B FB 2E 29 39 64 36 85 63 46 62 AF 25
         :                   A5 8B 19 30 AF 50 43 50 4D 38 00 00 00 02 00 00
         :                   00 03 00 00 00 38 01 00 00 E0 00 00 00 00 00 00
         :                   00 00 00 00 00 B0 00 00 00 00 00 00 00 00 00 00
         :                   00 00 00 00 00 00 00 00 00 00 00 00 00 01 36 00
         :                   01 00 0B 00 06 00 72 00 20 9D FF CB F3 6C 38 3A
         :                   E6 99 FB 98 68 DC 6D CB 89 D7 15 38 84 BE 28 03
         :                   92 2C 12 41 58 BF AD 22 AE 00 10 00 10 08 00 00
         :                   00 00 00 01 00 9B B1 27 B7 E3 5D 0C 10 74 52 1B
         :                   60 59 96 5E B6 08 D4 76 26 17 B5 92 49 39 34 CD
         :                   A4 2D 4D C9 3E 50 05 2E D8 9E 22 37 E2 05 D2 7F
         :                   3B 3E 4D 9F E0 E0 31 52 74 A0 D5 18 BE F1 9F 79
         :                   48 D6 24 69 35 3C D4 1F 55 73 75 ED 83 D6 3A E3
         :                   63 77 A6 5B 92 97 86 13 7C 69 3B DE AA E5 0E 9A
         :                   39 CF 53 DF 4C 7A E0 3C A3 EC 29 DA 18 5F 86 E6
         :                   22 D9 2C A3 8E D8 E2 3E 80 9C 69 52 FA 1E 90 3F
         :                   BA 09 04 D0 91 6A 27 2B 44 8C FF E8 DE FF BD B9
         :                   CE DD 95 67 70 FD 94 E5 3A E6 E4 EA 01 A5 AC 4A
         :                   79 5C 88 4D 07 43 C7 C0 B8 95 3E 7C 72 90 CD 35
         :                   99 B3 32 8A C7 8C 90 63 E3 46 88 62 35 A4 5B 54
         :                   F1 E8 61 0E CF 85 B4 41 6F 06 94 B6 BA 6F 4B CE
         :                   F7 8A 18 6C 5E 9A 6B 65 C3 F5 58 ED 7D 6A 3A E6
         :                   24 B6 21 6F 8C EE 1C 21 60 9E 2F 86 22 D2 2B 8F
         :                   E0 3B 12 AC 6B F5 FF 54 C6 E8 D4 3C 2E D3 B6 8E
         :                   7A 30 36 29 3D 00 DE 00 20 13 F5 31 2B 87 50 19
         :                   D3 95 1F F2 B6 00 95 5B 0A E2 54 7A A0 CF 6A 2C
         :                   F5 4F AD 77 C6 D5 4F 52 CB 00 10 3B 41 34 BF D4
         :                   FC 8B BE 87 14 47 81 4E 5C 5C 23 73 44 AF D6 56
         :                   6F A6 6E BE E7 63 9C 43 53 C4 3C 26 33 B6 AD 75
         :                   36 AC 91 98 C1 FF E3 B2 AF E6 3F 14 C0 2E 65 D7
         :                   C1 AD F6 22 D9 59 96 B6 70 8C 30 2F DE 76 1B EB
         :                   9D 56 C1 77 F8 1D 38 5C 7D 13 9C FD 1E 3E 00 1B
         :                   5A 74 C4 8E 49 2B 0B B5 C5 0E E3 A7 2C 92 E2 96
         :                   1E 9D C8 43 02 2F 8F F8 6E 66 4A FA D8 56 57 59
         :                   48 A4 D5 B7 7F 49 52 CA FA 11 E4 AF 27 E7 64 21
         :                   76 79 9B 8A A3 1A A6 FA A1 03 3E CC CD 41 26 3C
         :                   0D 3C DC 81 21 21 DE 92 4D 2A EF 66 DE D6 77 FE
         :                   41 0C 5D 44 1A D0 C4 D7 8B EA 6D DE 01 EE 97 DB
         :                   61 0F FD 62 59 00 00 00 06 00 20 8F CD 21 69 AB
         :                   92 69 4E 0C 63 3F 1A B7 72 84 2B 82 41 BB C2 02
         :                   88 98 1F C7 AC 1E DD C1 FD DB 0E 00 20 E5 29 F5
         :                   D6 11 28 72 95 4E 8E D6 60 51 17 B7 57 E2 37 C6
         :                   E1 95 13 A9 49 FE E1 F2 04 C4 58 02 3A 00 20 AF
         :                   2C A5 69 69 9C 43 6A 21 00 6F 1C B8 A2 75 6C 98
         :                   BC 1C 76 5A 35 59 C5 FE 1C 3F 5E 72 28 A7 E7 00
         :                   20 C4 13 A8 47 B1 11 12 B1 CB DD D4 EC A4 DA AA
         :                   15 A1 85 2C 1C 3B BA 57 46 1D 25 76 05 F3 D5 AF
         :                   53 00 00 00 20 04 8E 9A 3A CE 08 58 3F 79 F3 44
         :                   FF 78 5B BE A9 F0 7A C7 FA 33 25 B3 D4 9A 21 DD
         :                   51 94 C6 58 50
         :                             }

]]></artwork></figure>

<t>The format is structured as follows:</t>

<figure><artwork><![CDATA[
typedef struct  {
   UINT32 Magic;
   UINT32 Version;
   UINT32 Platform;
   UINT32 HeaderSize;
   UINT32 cbIdBinding;
   UINT32 cbKeyAttestation;
   UINT32 cbAIKOpaque;
   BYTE idBinding[cbIdBinding];
   BYTE keyAttestation[cbKeyAttestation];
   BYTE aikOpaque[cbAIKOpaque];
 } KeyAttestationStatement;

4B 41 53 54 - Magic
01 00 00 00 - Version
02 00 00 00 - Platform
1C 00 00 00 - HeaderSize
00 00 00 00 - cbIdBinding
B9 04 00 00 - cbKeyAttestation
00 00 00 00 – cbAIKOpaque
]]></artwork></figure>

<t>The remainder is the keyAttestation, which is structured as follows:</t>

<figure><artwork><![CDATA[
typedef struct {
   UINT32 Magic;
   UINT32 Platform;
   UINT32 HeaderSize;
   UINT32 cbKeyAttest;
   UINT32 cbSignature;
   UINT32 cbKeyBlob;
   BYTE keyAttest[cbKeyAttest];
   BYTE signature[cbSignature];
   BYTE keyBlob[cbKeyBlob];
 } keyAttestation;

4B 41 44 53 - Magic
02 00 00 00 - Platform
18 00 00 00 - HeaderSize
A1 00 00 00 – cbKeyAttest (161)
00 01 00 00 – cbSignature (256)
00 03 00 00 - cbKeyBlob
]]></artwork></figure>

<t>keyAttest (161 bytes)
~~~~~~~~~~~
FF 54 43 47 80 17 00 22 00 0B 9A FD AB 8A 0B E9 0B BB 3F 7F E6 B6 77 91 EF A9 15 8A 03 B2
2B 8C BE 3F EC 56 B6 30 BF 82 73 9C 00 14 13 6E 2F 14 DD AF 30 72 A6 E3 89 4D BF 7A 54 26
36 2F 10 D6 00 00 00 00 51 4F CB E5 AD 8C 8C 60 E6 C2 70 80 00 D4 2C 65 4C 6B 95 ED 95 00
22 00 0B 2B E6 2C AD 8D E8 9A 85 04 D7 F3 7B B7 4C F8 32 CD B4 F1 80 CA A6 35 B9 2C 39 87
B7 96 03 C3 A3 00 22 00 0B 6C 88 60 B2 80 E3 BE 7D 34 F2 85 DC 26 9D 1B 72 A8 0A 17 CF 31
08 F1 55 F2 9B 4E 82 C8 5B 49 7B
~~~~~~~~~~~</t>

<t>The keyAttest field is of type TPMS_ATTEST. The TPMS_ATTEST structure is defined in
section 10.11.8 of
https://trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-2-Structures-00.99.pdf.
~~~~~~~~~~~
FF 54 43 47 - magic
80 17 – type (TPM_ST_ATTEST_CERTIFY)
00 22 – name - TPM2B_NAME.size (34 bytes)
00 0B 9A FD AB 8A 0B E9 0B BB - TPM2B_NAME.name
3F 7F E6 B6 77 91 EF A9 15 8A
03 B2 2B 8C BE 3F EC 56 B6 30
BF 82 73 9C</t>

<t>00 14 – extraData – TPM2B_DATA.size (20 bytes)
13 6E 2F 14 DD AF 30 72 A6 E3 – TPM2B_DATA.buffer
89 4D BF 7A 54 26 36 2F 10 D6</t>

<t>00 00 00 00 51 4F CB E5 – clockInfo – TPMS_CLOCK_INFO.clock
AD 8C 8C 60 – TPMS_CLOCK_INFO.resetCount
E6 C2 70 80 – TPMS_CLOCK_INFO.restartCount
00 - – TPMS_CLOCK_INFO.safe</t>

<t>D4 2C 65 4C 6B 95 ED 95 - firmwareVersion</t>

<t>00 22 – attested – TPMS_CERTIFY_INFO.name.size
00 0B 2B E6 2C AD 8D E8 9A 85 - TPM2B_NAME.name
04 D7 F3 7B B7 4C F8 32 CD B4
F1 80 CA A6 35 B9 2C 39 87 B7
96 03 C3 A3</t>

<t>00 22 – TPMS_CERTIFY_INFO.qualifiedName.size
00 0B 6C 88 60 B2 80 E3 BE 7D - TPM2B_NAME.name
34 F2 85 DC 26 9D 1B 72 A8 0A
17 CF 31 08 F1 55 F2 9B 4E 82
C8 5B 49 7B
~~~~~~~~~~~</t>

<t>Signature (256 bytes) – generated using the AIK private key
~~~~~~~~~~~
1A F1 4B 12 A1 C5 D1 A4 C5 A4 59 C4 0A 97 E0 88 ED 1C D3 B6 38 4A 5D 6C 27 F5 69 7D 17 AD
F6 C0 03 27 09 5D 93 B5 13 EA 50 B5 05 27 7B A0 51 4D 1B 17 52 87 7D B8 A6 05 4A 4F 39 CA
36 5C A1 19 19 0B 73 B4 0E 7F D3 91 DA 91 EE 37 C6 CE 78 AF 15 21 5D EB 5E 5F 23 A7 08 E9
85 D4 6B A0 95 6D D7 E0 3A D1 92 72 B7 D4 E5 35 6A 01 B0 7D 35 D0 99 BA A1 77 35 76 75 E3
90 A8 8B 86 27 B8 3D 47 75 2D 98 D0 23 4E 09 D8 26 6B 32 3C AB AC 50 A2 E8 FF 70 21 85 C5
5E B1 F5 9C B9 6E 21 27 C7 2A CD 84 61 02 47 6A A0 E1 9A 9F AF 02 43 08 D8 BF 9F 69 14 C4
8C 80 32 2D 5C A3 60 48 F5 5E 8E 65 6B 5E B5 0E A4 ED B9 8B F9 C3 D9 A8 CE C0 64 71 F6 E3
81 F7 9D 79 E5 73 7B F3 A4 6E 65 8D 72 B4 0A 3E 5E 70 5F AB 2B 89 B9 5E 65 44 BF 44 7B FB
2E 29 39 64 36 85 63 46 62 AF 25 A5 8B 19 30 AF
~~~~~~~~~~~</t>

<t>The remainder is the keyBlob, which is defined here:
https://github.com/Microsoft/TSS.MSR/blob/master/PCPTool.v11/inc/TpmAtt.h.</t>

</section>
</section>
<section anchor="yubikey" title="Yubikey">
<t>As with the Android Keystore attestations, Yubikey attestations take the form of an X.509
certificate. As above, the certificate is presented here packaged along with an
intermediate CA certificate as a certificates-only SignedData message.</t>

<t>The attestations below were generated using code similar to that found in the
yubico-piv-tool (https://github.com/Yubico/yubico-piv-tool). Details regarding
attestations are here: https://developers.yubico.com/PIV/Introduction/PIV_attestation.html</t>

<section anchor="yubikey-4" title="Yubikey 4">
<figure><artwork><![CDATA[
   0 1576: SEQUENCE {
   4    9:   OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2)
  15 1561:   [0] {
  19 1557:     SEQUENCE {
  23    1:       INTEGER 1
  26    0:       SET {}
  28   11:       SEQUENCE {
  30    9:         OBJECT IDENTIFIER data (1 2 840 113549 1 7 1)
         :         }
  41 1533:       [0] {
  45  742:         SEQUENCE {
  49  462:           SEQUENCE {
  53    3:             [0] {
  55    1:               INTEGER 2
         :               }
  58    9:             INTEGER 00 A4 85 22 AA 34 AF AE 4F
  69   13:             SEQUENCE {
  71    9:               OBJECT IDENTIFIER
         :                 sha256WithRSAEncryption (1 2 840 113549 1 1 11)
  82    0:               NULL
         :               }
  84   43:             SEQUENCE {
  86   41:               SET {
  88   39:                 SEQUENCE {
  90    3:                   OBJECT IDENTIFIER commonName (2 5 4 3)
  95   32:                   UTF8String 'Yubico PIV Root CA Serial 263751'
         :                   }
         :                 }
         :               }
 129   32:             SEQUENCE {
 131   13:               UTCTime 14/03/2016 00:00:00 GMT
 146   15:               GeneralizedTime 17/04/2052 00:00:00 GMT
         :               }
 163   33:             SEQUENCE {
 165   31:               SET {
 167   29:                 SEQUENCE {
 169    3:                   OBJECT IDENTIFIER commonName (2 5 4 3)
 174   22:                   UTF8String 'Yubico PIV Attestation'
         :                   }
         :                 }
         :               }
 198  290:             SEQUENCE {
 202   13:               SEQUENCE {
 204    9:                 OBJECT IDENTIFIER
         :                   rsaEncryption (1 2 840 113549 1 1 1)
 215    0:                 NULL
         :                 }
 217  271:               BIT STRING
         :                 30 82 01 0A 02 82 01 01 00 AB A9 0B 16 9B EF 31
         :                 CC 3E AC 18 5A 2D 45 80 75 70 C7 58 B0 6C 3F 1B
         :                 59 0D 49 B9 89 E8 6F CE BB 27 6F D8 3C 60 3A 85
         :                 00 EF 5C BC 40 99 3D 41 EE EA C0 81 7F 76 48 E4
         :                 A9 4C BC D5 6B E1 1F 0A 60 93 C6 FE AA D2 8D 8E
         :                 E2 B7 CD 8B 2B F7 9B DD 5A AB 2F CF B9 0E 54 CE
         :                 EC 8D F5 5E D7 7B 91 C3 A7 56 9C DC C1 06 86 76
         :                 36 44 53 FB 08 25 D8 06 B9 06 8C 81 FD 63 67 CA
         :                         [ Another 142 bytes skipped ]
         :               }
 492   21:             [3] {
 494   19:               SEQUENCE {
 496   17:                 SEQUENCE {
 498   10:                   OBJECT IDENTIFIER '1 3 6 1 4 1 41482 3 3'
 510    3:                   OCTET STRING 04 03 03
         :                   }
         :                 }
         :               }
         :             }
 515   13:           SEQUENCE {
 517    9:             OBJECT IDENTIFIER
         :               sha256WithRSAEncryption (1 2 840 113549 1 1 11)
 528    0:             NULL
         :             }
 530  257:           BIT STRING
         :             52 80 5A 6D C3 9E DF 47 A8 F1 B2 A5 9C A3 80 81
         :             3B 1D 6A EB 6A 12 62 4B 11 FD 8D 30 F1 7B FC 71
         :             10 C9 B2 08 FC D1 4E 35 7F 45 F2 10 A2 52 B9 D4
         :             B3 02 1A 01 56 07 6B FA 64 A7 08 F0 03 FB 27 A9
         :             60 8D 0D D3 AC 5A 10 CF 20 96 4E 82 BC 9D E3 37
         :             DA C1 4C 50 E1 3D 16 B4 CA F4 1B FF 08 64 C9 74
         :             4F 2A 3A 43 E0 DE 42 79 F2 13 AE 77 A1 E2 AE 6B
         :             DF 72 A5 B6 CE D7 4C 90 13 DF DE DB F2 8B 34 45
         :                     [ Another 128 bytes skipped ]
         :           }
 791  783:         SEQUENCE {
 795  503:           SEQUENCE {
 799    3:             [0] {
 801    1:               INTEGER 2
         :               }
 804   17:             INTEGER
         :               00 FE B9 AF 03 3B 0B A7 79 04 02 F5 67 AE DF 72
         :               ED
 823   13:             SEQUENCE {
 825    9:               OBJECT IDENTIFIER
         :                 sha256WithRSAEncryption (1 2 840 113549 1 1 11)
 836    0:               NULL
         :               }
 838   33:             SEQUENCE {
 840   31:               SET {
 842   29:                 SEQUENCE {
 844    3:                   OBJECT IDENTIFIER commonName (2 5 4 3)
 849   22:                   UTF8String 'Yubico PIV Attestation'
         :                   }
         :                 }
         :               }
 873   32:             SEQUENCE {
 875   13:               UTCTime 14/03/2016 00:00:00 GMT
 890   15:               GeneralizedTime 17/04/2052 00:00:00 GMT
         :               }
 907   37:             SEQUENCE {
 909   35:               SET {
 911   33:                 SEQUENCE {
 913    3:                   OBJECT IDENTIFIER commonName (2 5 4 3)
 918   26:                   UTF8String 'YubiKey PIV Attestation 9e'
         :                   }
         :                 }
         :               }
 946  290:             SEQUENCE {
 950   13:               SEQUENCE {
 952    9:                 OBJECT IDENTIFIER
         :                   rsaEncryption (1 2 840 113549 1 1 1)
 963    0:                 NULL
         :                 }
 965  271:               BIT STRING
         :                 30 82 01 0A 02 82 01 01 00 93 C4 C0 35 95 7E 26
         :                 2A 7E A5 D0 29 C4 D7 E9 39 67 22 B1 09 45 46 4D
         :                 DB A4 77 CB 0B A3 F1 D0 69 3C 24 8D A2 72 72 27
         :                 E1 7F DE CB 67 A4 1D D2 E5 43 44 6F 21 39 F8 57
         :                 34 01 0E 7E C3 81 63 63 6A 6D D7 40 20 7B AF 35
         :                 61 9C 8D C1 D1 2B 25 48 EE 52 FC F3 72 6A 74 96
         :                 01 CB 1C 1A B2 AD F9 18 96 EB 59 EF E3 3A CA BC
         :                 AA 9B 42 FE FF 60 6E 28 89 49 0D C1 B1 B0 25 AE
         :                         [ Another 142 bytes skipped ]
         :               }
1240   60:             [3] {
1242   58:               SEQUENCE {
1244   17:                 SEQUENCE {
1246   10:                   OBJECT IDENTIFIER '1 3 6 1 4 1 41482 3 3'
1258    3:                   OCTET STRING 04 03 03                      -- firmware version
         :                   }
1263   19:                 SEQUENCE {
1265   10:                   OBJECT IDENTIFIER '1 3 6 1 4 1 41482 3 7'
1277    5:                   OCTET STRING 02 03 4F 9B B5        -- serial number
         :                   }
1284   16:                 SEQUENCE {
1286   10:                   OBJECT IDENTIFIER '1 3 6 1 4 1 41482 3 8'
1298    2:                   OCTET STRING 01 01                         -- PIN and touch policy
         :                   }
         :                 }
         :               }
         :             }
1302   13:           SEQUENCE {
1304    9:             OBJECT IDENTIFIER
         :               sha256WithRSAEncryption (1 2 840 113549 1 1 11)
1315    0:             NULL
         :             }
1317  257:           BIT STRING
         :             1F 2B B8 1C 95 A1 01 74 3F 87 27 F6 B3 A6 A9 9D
         :             11 B9 ED 68 92 B9 05 2D 22 36 51 28 23 3D B0 2F
         :             7A 17 D5 8C 0C F4 3A 68 FD 2A 34 0D 80 3C F7 8F
         :             B8 79 B0 76 E5 4D 61 94 C5 72 D6 9F 6E 26 76 5F
         :             03 94 55 40 93 5C 04 EF CC 58 41 EB 7C 86 64 23
         :             5F 23 5E 94 78 73 2E 77 8C 58 C5 45 87 22 CF BA
         :             69 06 B8 C7 06 37 10 21 8C 74 AD 08 B9 85 F2 7B
         :             99 02 4A 3E E8 96 09 D3 F4 C6 AB FA 49 68 E2 E0
         :                     [ Another 128 bytes skipped ]
         :           }
         :         }
1578    0:       SET {}
         :       }
         :     }
         :   }
]]></artwork></figure>

</section>
<section anchor="yubikey-5" title="Yubikey 5">

<figure><artwork><![CDATA[
   0 1613: SEQUENCE {
   4    9:   OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2)
  15 1598:   [0] {
  19 1594:     SEQUENCE {
  23    1:       INTEGER 1
  26    0:       SET {}
  28   11:       SEQUENCE {
  30    9:         OBJECT IDENTIFIER data (1 2 840 113549 1 7 1)
         :         }
  41 1570:       [0] {
  45  762:         SEQUENCE {
  49  482:           SEQUENCE {
  53    3:             [0] {
  55    1:               INTEGER 2
         :               }
  58    9:             INTEGER 00 86 77 17 E0 1D 19 2B 26
  69   13:             SEQUENCE {
  71    9:               OBJECT IDENTIFIER
         :                 sha256WithRSAEncryption (1 2 840 113549 1 1 11)
  82    0:               NULL
         :               }
  84   43:             SEQUENCE {
  86   41:               SET {
  88   39:                 SEQUENCE {
  90    3:                   OBJECT IDENTIFIER commonName (2 5 4 3)
  95   32:                   UTF8String 'Yubico PIV Root CA Serial 263751'
         :                   }
         :                 }
         :               }
 129   32:             SEQUENCE {
 131   13:               UTCTime 14/03/2016 00:00:00 GMT
 146   15:               GeneralizedTime 17/04/2052 00:00:00 GMT
         :               }
 163   33:             SEQUENCE {
 165   31:               SET {
 167   29:                 SEQUENCE {
 169    3:                   OBJECT IDENTIFIER commonName (2 5 4 3)
 174   22:                   UTF8String 'Yubico PIV Attestation'
         :                   }
         :                 }
         :               }
 198  290:             SEQUENCE {
 202   13:               SEQUENCE {
 204    9:                 OBJECT IDENTIFIER
         :                   rsaEncryption (1 2 840 113549 1 1 1)
 215    0:                 NULL
         :                 }
 217  271:               BIT STRING
         :                 30 82 01 0A 02 82 01 01 00 C5 5B 8D E9 B9 3C 53
         :                 69 82 88 FE DA 70 FC 5C 88 78 41 25 A2 1D 7B 84
         :                 8E 93 36 AD 67 2B 4C AB 45 BE B2 E0 D5 9C 1B A1
         :                 68 D5 6B F8 63 5C 83 CB 83 38 62 B7 64 AE 83 37
         :                 37 8E C8 60 80 E6 01 F8 75 AA AE F6 6E A7 D5 76
         :                 C5 C1 25 AD AA 9E 9D DC B5 7E E9 8E 2A B4 3F 99
         :                 0D F7 9F 20 A0 28 A0 9F B3 B1 22 5F AF 38 FB 73
         :                 46 F4 C7 93 30 DD FA D0 86 E0 C9 C6 72 99 AF FB
         :                         [ Another 142 bytes skipped ]
         :               }
 492   41:             [3] {
 494   39:               SEQUENCE {
 496   17:                 SEQUENCE {
 498   10:                   OBJECT IDENTIFIER '1 3 6 1 4 1 41482 3 3'
 510    3:                   OCTET STRING 05 01 02
         :                   }
 515   18:                 SEQUENCE {
 517    3:                   OBJECT IDENTIFIER basicConstraints (2 5 29 19)
 522    1:                   BOOLEAN TRUE
 525    8:                   OCTET STRING 30 06 01 01 FF 02 01 00
         :                   }
         :                 }
         :               }
         :             }
 535   13:           SEQUENCE {
 537    9:             OBJECT IDENTIFIER
         :               sha256WithRSAEncryption (1 2 840 113549 1 1 11)
 548    0:             NULL
         :             }
 550  257:           BIT STRING
         :             05 57 B7 BF 5A 41 74 F9 5F EC 2E D2 B8 78 26 E5
         :             EF 4F EA BF 5A 64 C9 CF 06 7F CA 8C 0A FC 1A 47
         :             1C D6 AC ED C8 5B 54 72 00 9F B8 59 AB 73 25 B2
         :             D6 02 A3 59 83 31 69 EE C1 5F 3D F2 2B 1B 22 CA
         :             B6 FC F9 FB 21 32 9E 08 F3 08 54 6D C9 26 10 42
         :             08 1D 3C B5 F0 5A B1 98 D4 68 DC 91 F1 D3 91 54
         :             7A A0 34 8B F6 65 EB 13 9F 3A 1C BF 43 C5 D1 D0
         :             33 23 C6 25 A0 4C E4 E9 AA 59 80 D8 02 1E B0 10
         :                     [ Another 128 bytes skipped ]
         :           }
 811  800:         SEQUENCE {
 815  520:           SEQUENCE {
 819    3:             [0] {
 821    1:               INTEGER 2
         :               }
 824   16:             INTEGER
         :               17 7D 2D F7 D6 6D 97 CC D6 CF 69 33 87 5B F1 5E
 842   13:             SEQUENCE {
 844    9:               OBJECT IDENTIFIER
         :                 sha256WithRSAEncryption (1 2 840 113549 1 1 11)
 855    0:               NULL
         :               }
 857   33:             SEQUENCE {
 859   31:               SET {
 861   29:                 SEQUENCE {
 863    3:                   OBJECT IDENTIFIER commonName (2 5 4 3)
 868   22:                   UTF8String 'Yubico PIV Attestation'
         :                   }
         :                 }
         :               }
 892   32:             SEQUENCE {
 894   13:               UTCTime 14/03/2016 00:00:00 GMT
 909   15:               GeneralizedTime 17/04/2052 00:00:00 GMT
         :               }
 926   37:             SEQUENCE {
 928   35:               SET {
 930   33:                 SEQUENCE {
 932    3:                   OBJECT IDENTIFIER commonName (2 5 4 3)
 937   26:                   UTF8String 'YubiKey PIV Attestation 9e'
         :                   }
         :                 }
         :               }
 965  290:             SEQUENCE {
 969   13:               SEQUENCE {
 971    9:                 OBJECT IDENTIFIER
         :                   rsaEncryption (1 2 840 113549 1 1 1)
 982    0:                 NULL
         :                 }
 984  271:               BIT STRING
         :                 30 82 01 0A 02 82 01 01 00 A9 02 2D 7A 4C 0B B1
         :                 0C 02 F9 E5 9C E5 6F 20 D1 9D F9 CE B3 B3 4D 1B
         :                 61 B0 B4 E0 3F 44 19 72 88 8B 8D 9F 86 4A 5E C7
         :                 38 F0 AF C9 28 5C D8 A2 80 C9 43 93 2D FA 39 7F
         :                 E9 39 2D 18 1B A7 A2 76 8F D4 6C D0 75 96 99 0D
         :                 06 37 9D 90 D5 71 00 6E FB 82 D1 5B 2A 7C 3B 62
         :                 9E AB 15 81 B9 AD 7F 3D 30 1C C2 4B 9D C4 D5 64
         :                 32 9A 54 D6 23 B1 65 92 A3 D7 57 E2 62 10 2B 93
         :                         [ Another 142 bytes skipped ]
         :               }
1259   78:             [3] {
1261   76:               SEQUENCE {
1263   17:                 SEQUENCE {
1265   10:                   OBJECT IDENTIFIER '1 3 6 1 4 1 41482 3 3'
1277    3:                   OCTET STRING 05 01 02                              -- firmware version
         :                   }
1282   20:                 SEQUENCE {
1284   10:                   OBJECT IDENTIFIER '1 3 6 1 4 1 41482 3 7'
1296    6:                   OCTET STRING 02 04 00 93 6A A0     -- serial number
         :                   }
1304   16:                 SEQUENCE {
1306   10:                   OBJECT IDENTIFIER '1 3 6 1 4 1 41482 3 8'
1318    2:                   OCTET STRING 01 01                                 -- PIN and touch policy
         :                   }
1322   15:                 SEQUENCE {
1324   10:                   OBJECT IDENTIFIER '1 3 6 1 4 1 41482 3 9'
1336    1:                   OCTET STRING 02                                    -- form factor
         :                   }
         :                 }
         :               }
         :             }
1339   13:           SEQUENCE {
1341    9:             OBJECT IDENTIFIER
         :               sha256WithRSAEncryption (1 2 840 113549 1 1 11)
1352    0:             NULL
         :             }
1354  257:           BIT STRING
         :             9F EB 7A 4C F0 7C 67 11 ED C5 84 07 C8 19 41 B2
         :             71 42 08 2B D6 CD A8 5F DC AE 79 75 6C F1 E5 4D
         :             28 95 89 69 9D C0 2E A7 D4 48 51 B0 75 FF 63 FD
         :             B8 79 93 03 EA BB 8A 67 D8 E7 EC C9 1C 8E 3F AF
         :             74 30 D4 7E 74 A4 26 50 9F D4 57 AE 23 C0 8A 63
         :             4E F3 C7 CF 5A AF 91 11 A2 6B 3B 49 24 32 26 88
         :             D8 4F 6F BE BC F0 2D A9 A2 88 B4 5F 54 AF 42 72
         :             08 74 64 57 76 5A 02 9A 9D 21 4B FD 7F 44 8F AF
         :                     [ Another 128 bytes skipped ]
         :           }
         :         }
1615    0:       SET {}
         :       }
         :     }
         :   }
]]></artwork></figure>

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

<t>TBD</t>

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

<t>TBD.</t>

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

<t>TBD.</t>

</section>
<section anchor="acknowledgements" title="Acknowledgements">

<t>Thomas Hardjono provided the text on blockchain system.
Dave Thaler suggested many small variations.  Frank Xialiang suggested the
scalling scenarios that might preclude a 1:1 protocol between attesters and
relying parties. Henk Birkholz provided many reviews. Kathleen Moriarty
provided many useful edits.  Ned Smith, Anders Rundgren and Steve Hanna
provided many useful pointers to TCG terms and concepts. Thomas Fossati and
Shawn Willden elucidated the Android Keystore goals and limitations.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC2119;


    </references>

    <references title='Informative References'>

&RFC5652;
&RFC5209;
&RFC7030;
&RFC4210;
&RFC8555;
&I-D.birkholz-rats-tuda;
&I-D.fedorkow-rats-network-device-attestation;
&I-D.tschofenig-rats-psa-token;
&I-D.gutmann-scep;
<reference anchor="keystore" target="https://developer.android.com/training/articles/keystore">
  <front>
    <title>Android Keystore System</title>
    <author initials="." surname="Google">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="SP800-155" target="https://csrc.nist.gov/CSRC/media/Publications/sp/800-155/draft/documents/draft-SP800-155_Dec2011.pdf">
  <front>
    <title>BIOS Integrity Measurement Guidelines (Draft)</title>
    <author initials="." surname="NIST" fullname="NIST">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="SP800-147B" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-147B.pdf">
  <front>
    <title>BIOS Protection Guidelines for Servers</title>
    <author initials="." surname="NIST" fullname="NIST">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="tcgglossary" target="https://trustedcomputinggroup.org/wp-content/uploads/TCG-Glossary-V1.1-Rev-1.0.pdf">
  <front>
    <title>TCG Glossary, Version 1.1</title>
    <author initials="T.C." surname="Group" fullname="Trusted Computing Group">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="tpmarchspec" target="https://trustedcomputinggroup.org/resource/tpm-2-0-mobile-reference-architecture-specification/">
  <front>
    <title>TPM 2.0 Mobile Reference Architecture</title>
    <author initials="T.C." surname="Group" fullname="Trusted Computing Group">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="tapinfomodel" target="https://trustedcomputinggroup.org/wp-content/uploads/TNC_TAP_Information_Model_v1.00_r0.29A_publicreview.pdf">
  <front>
    <title>TCG Trusted Attestation Protocol (TAP) Information Model for TPM Families 1.2 and 2.0 and DICE Family 1.0</title>
    <author initials="T.C." surname="Group" fullname="Trusted Computing Group">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ieee802-1AR" target="http://standards.ieee.org/findstds/standard/802.1AR-2009.html">
  <front>
    <title>IEEE 802.1AR Secure Device Identifier</title>
    <author initials="." surname="IEEE Standard">
      <organization></organization>
    </author>
    <date year="2009"/>
  </front>
</reference>
<reference anchor="android_security" target="https://arxiv.org/pdf/1904.05572.pdf">
  <front>
    <title>The Android Platform Security Model</title>
    <author initials="R.M.a.J.V.S.a.C.B.a.N." surname="Kralevich" fullname="René Mayrhofer and Jeffrey Vander Stoep and Chad Brubaker and Nick Kralevich">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="keystore_attestation" target="https://developer.android.com/training/articles/security-key-attestation">
  <front>
    <title>Verifying hardware-backed key pairs with Key Attestation</title>
    <author initials="." surname="Google">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="yubikey_attestation" target="https://developers.yubico.com/PIV/Introduction/PIV_attestation.html">
  <front>
    <title>PIV Attestation</title>
    <author initials="." surname="Yubico">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="fido_w3c" target="https://www.w3.org/TR/webauthn-1/">
  <front>
    <title>Web Authentication: An API for accessing Public Key Credentials Level 1</title>
    <author initials="." surname="W3C">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="fido" target="https://fidoalliance.org/specifications/">
  <front>
    <title>FIDO Specification Overview</title>
    <author initials="." surname="FIDO Alliance">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="fidotechnote" target="https://fidoalliance.org/fido-technotes-the-truth-about-attestation/">
  <front>
    <title>FIDO TechNotes: The Truth about Attestation</title>
    <author initials="." surname="FIDO Alliance">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="fidoattestation" target="https://fidoalliance.org/specs/fido-v2.0-ps-20150904/fido-key-attestation-v2.0-ps-20150904.html">
  <front>
    <title>FIDO 2.0: Key Attestation</title>
    <author initials="." surname="FIDO Alliance">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="fidosignature" target="https://fidoalliance.org/specs/fido-v2.0-ps-20150904/fido-signature-format-v2.0-ps-20150904.html">
  <front>
    <title>FIDO 2.0: Signature Format</title>
    <author initials="." surname="FIDO Alliance">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="intelsgx" target="https://software.intel.com/en-us/sgx/attestation-services">
  <front>
    <title>Intel® Software Guard Extensions: Attestation &amp; Provisioning Services</title>
    <author initials="." surname="Intel">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="windowsdefender" target="https://www.microsoft.com/security/blog/2018/04/19/introducing-windows-defender-system-guard-runtime-attestation/">
  <front>
    <title>Windows Defender System Guard attestation</title>
    <author initials="." surname="Microsoft">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="windowshealth" target="https://docs.microsoft.com/en-us/windowsserver/security/device-health-attestation">
  <front>
    <title>Windows Device Health Attestation</title>
    <author initials="." surname="Microsoft">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="azureattestation" target="https://azure.microsoft.com/enus/resources/azure-sphere-device-authentication-andattestation-service/en-us/">
  <front>
    <title>Azure Sphere Attestation</title>
    <author initials="." surname="Microsoft">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
&I-D.voit-rats-trusted-path-routing;


    </references>


<section anchor="changes" title="Changes">

<t><list style="symbols">
  <t>created new section for target use cases</t>
  <t>added comments from Guy, Jessica, Henk and Ned on TCG description.</t>
</list></t>

</section>


  </back>

<!-- ##markdown-source:
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
cTlFlBiA9MMO0BpEGcn//p0Uxsnkb0Z4u0v6o1CXO1CXP5OcFZ/Mo8GDuabT
Xd1k9TP9QLvmJ/uVD2A5RP1uxJdfvL68OL/qf7g6eXZm/q8VP77pX54M3lf+
3D/rXr6/uK78vdfn3/cqh3SYBAtqehX+HuzWrHpz/ZO9cAzWspt/We/kWf/q
+sPZ+Vl/3yz96ep5u+Y21vfNpX2BM69233l53v3pw+l5r/+h2+muviHz67Pu
6fpX9HX40wWMv9l49VVyOU/Ozz5ctHu9k7NnHy6v2h8ufupe2asvrnj2vN2/
WD8KrVtVDAL00L5+fdnPj+HqanUEFQ9isOtHgFj6vJ4sb4Mf7d76kyRY3/ok
PUAdmIGjXeIsG9q8ljVJxMHXb+OGfzO+kI1GQuxfh/FPPIzVPzrNevWPrl37
o49x9/py/19n/J/tjG/RaNMhl6caj2bUv+4dQlVm42B3qP724eaRfqY2ZcId
+in/9++KTRzyf3fpeekYHCm9w/84p8dG8+nhikayq12rZz50WV13eF91v09K
bWaUg4k/5hFlVQ+ulIBM9zYCPzTQI8E8oSPBEBoxBCXN/vbV2aHNWJC4EFVE
CB0cHJrZXkTglqEqUyULXcBBl/rMOiA2anC5cdN+WaZte7Vj86r/6jVReV8w
37ppeo36Mf0t/30TW+wc807/Yv07f2lb+Jd9LAng5Oy6/6x/adZSElE/fcHT
TuZp9ayNHxr4Xvade6vNb22pXs47L/rda/Ok1z+7Phmc9C+LLzJR3IN4G27a
omOSsgJz1zZrZrOOWTtuvWXa+D8+QbUW2lmqi7PXL1+Wz8Cx6S81r2SgDuZW
c9XDV/1r8bWLr510cPlGXmZNK2bIEQv+5EyAnbs106UdcjHqeg2r1si2vkC1
K6jzdHKhQ/8wbFh1z/XsUfPWGtne8IeyBRNzK3xd8iW+amDPnVrJGjR4QHo6
r6+7nA5h2Uf0x255lmlZx/zHfHZ6TQ08zN/Wi/aMzycHCIuG3pFVO6rZVsO0
Gse15rHtyoYlw2rVMSy7ZFgtUFettbo1rWZmL1cb2Za1xdYIMBfcQ22Ms4e2
vOlWtu3r60FT7UnBCqW/fPu+2DUPs7SKC2Az1ab7kv+Nz2Qr7b04yzjxN50i
zLqODTAzsy4/RmKw9QbWXjOOzsm1eXV9eQLneDAb+vNkOWF7GEN0afi1RqNi
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
lxfATZ5NrjLZQxo2DYJ4fYvtMJv0kcrRUCOytBouGtH/Qgvl+BWXC531+L6c
jo0BdWiUlRoKqbQeVyjrNjnmo4kiBU2+rbrBS4JbLLtYHlJi+5Vem04LGWe4
C7zGI2DrFG6EASdWOSiDQPNqcEZUs9K6Qp0GvnaA/kKMEJUkOICnwUtFZiqK
l/ENPTZUlMoN97jYfQuuKLcP6xp3eHLd/46IFeLbcHDxqGs6G7W3JxQ3UJ8v
Rs2hHRJVOtUnc+BqDKLIap3lv5dpDYJJ04/liRxbOThqTqMMJN6iqmfN8cqi
2XPD9srzO/5Q70bNaZbnhmzyblBDdk5Uo770BCf/VqC+NYcL8WxAfemppyT/
VqC+1Av7lrZDfbcsSZmuxZqf18qcWl0UTasGQOmJMqfY5mqitfpKrctCw22r
imaHy9V11m15ncHRyi2vs2Nj05bXS+5vVJ/tt7zOES7/fFuO6vW6Omnp9Jtl
5TBWnykviPHHYN41maL5VZg3NW7kSpyqzxrMu+bC5+qW4RrZVXDhPnXLM4S2
xry/QwFU8flOZVBlZ9+nGKr4fKeSqOLznQqjis93Ko8qO/s+RVJlZ9+3VKr4
rC+Y6lj/aMybRuBlCqrqYTPm7ViMeRcvaMgcSXpmC8ybnvqumLdjfS3mTS2/
D+b9HWuBblkNVHw22sOOtQ3mTU/9uZi3Y30t5k0tt8S86clvxLz/Ubv6PYAQ
x9oG86anvhvm7djbYt6O/bWYt7Ou2lN+ZvY/Gebt2Ntg3vTUN2Pejr0t5k1P
fiXmTS23xLy3qzWrPptrzqrPFgvOWHdj04J/Z6ybOuTyB0/HuqklV7PdjHU7
NmPdW5VYoGe5nu1GrJseBL8sr1lbeJTL2/7ZWPe/cOstfwL1t9bi1vT7n4xb
OzJS9Um4tVOzvwa3/saiuurzjcV11ecbi+yqzzcW29Wj+baiu7qbbyu+qz7f
WIRXfb5TMV71+Src2sHNmcSZy2/Tcdip2sz7QPO/V+PWjldRgGgr3NoRrtGq
wPw1N7C3WtTYLYMScyOvSDz7Q6FrR9Tkfzp07Yhy/WtwTMfz1uGYjsib3YBj
Ol7J/SeVK1OFYzoiRfafDcd0RH37NdC1I8rbr0GgrSOrIWPUa8ekSjguI9CO
TDmtbGh7omFtpeG64QqX6ZoYdYf9o9Vb3nRW7y4r7+RJwEbFljfrxbvM1OcP
zsVwmuwfq4pRd5qNqqHllqH0xtqqZSjEqDv5+ybznz83Rt3h7NF1eL0jkkbX
4vX0TFXttj8Cr3earaqCb5vxemrsPRWvdzh7chNeT081vhmv7+PQI5NwYLPq
xtfbI7bZASROmlqrB03Ig/6yIRK8AZ0L7vEegOyOB4Sm3kY4ADL4OHAV3fRZ
qdkAEQz6iEu3Lb55lBMV2y5HKfQRI4lYWAsR3e0a+tvkSehbXDuDfQ80QfFP
KFFNZISS5dXtAoWi1XBJ8dyQCU3aVK+NdgjXbMGVjwTGPmZHSiNm14fORN+T
PdDZVIm2jgxIGgdpI0T2LY7/IAFFK07sk/YAARE2xzC0N9bIJT0UGQKkZNhI
wwSWZuOq01oHql6PsTJS/jrsSe9vmCayXrvYRFJdEKlexzQbrFmTuk0aDnFm
my8X5TyG74HX1+u1at/0n4LX0wiaYNYr507g9fU6JJrtrbu4mZ7h6oHr8Xp6
6imY1Ea8vl4X94M+Ha+nliyGvxmv/0dFM2/EAep1Lj+1Aa+np56QBfYd8Pp6
Xai8TwcKqSWT2Ga8np7kNMH/mnh9vS5iVNbj9XXXekoW5Fq8vs7+821g4jpX
Ff4avL7u2tXjXZmZvb4k1J+N19OAOB9zPXxMTz0lH7MUr6+7teqpr2wE3xDx
FXg9teRx/ncQo1532RRrlvCB3MI7T7oWYiNuXxc1nsvjxzesLRtsVdHkuUGz
v7k6nDz/LBjnunhygQ3Rg+CbjTUVbjKPYo5FH/7Kw98bt29uilEfNDyn3m0N
2q5V95qtf+H8W/5Ep6VhF+G5LBk17DJw7g/E+euNWhkwtx7np0bNr8D5W6LY
TQ+QPuq/dBF4ZNus7XOGcKdnDlqIHiIzojqAiFr3Wxya1YQ21+cKPr0egPEu
3/fQ4cKIZJzQT73K+nZ0uOhZMjNstqxIgSRjg4YiQq9IvnVr0DzIcmrU15iU
HX6r1YWZaw84DJunQ2MiA4dW2u2wXciQfbV1Qa29HqoKEucHmu7BkiR9n+ZY
E9g9G0akdLmwLSuR9TbC4B2Oa8PFIDX2mvSgHyFqvw90fuDBPiVz2qlc4lod
rZsOlqTBQebEbvsOx905nNVsoYxkHeg82eZV3aBgZR9LjECsOpanxTY6ddNl
T0K/g31st3mR/pj49JKvvxiu8J6W3BC38nDhq5UvvuQvxsM1f+bbcDaKHhIA
DNcXp+KWv1nwaWEuHiIzIWOLzmNizuPoPhwF/OV9GNDz0a3pm92rS3MczIKY
b/67D30znN1HQ+bOeAIX/HUDXNYX0peB2Z/F0WSC6wTNU39Gykpsti9OzCSc
hhM/llcCipsFj/NjzfRyGfy2JBFwEUdzfEnLGotvzL/TyB/MdY/u7v3NkE8f
DuIwmI0mj3yh09/Nnatgcntwxff+mb3gPhwG2a52/mbolmTMtCdj2DV3U9l6
9avk8DLx/5ZtcbWIYprxhVjJWL31NBzGURLdLsyrqR8vzK4f8x1RpnzeVA12
0t5eJ0H/E6kc4WyMJ/9uLuJlkP7c/zSPYkZy6Sfxj3Pmq4dn0SL9MW1AavyC
lHg9qHn86+GzYJH7GiunG1wJO5welRb5hxk9kpsu66IJPaH00iT9mWc6pIle
Bn66FAm+7ea+pVcmApCdx+G9P3zs+ubfmaZ3Tk9OesHv3W57ej5uP5x02mP6
/+v2WWf88be7j+Gz1oPVab9KBu1e5/Xpq+Sh++p9782rV8/6Dy/evP69/37H
/FF21Hn/rG2/7nfvTi/eXLnXL8PO8xvn58lw6i5+futap6+sh+4DN37Zf7js
X70565xePjw8G/N3Pd1R/9PZq9G7F5P3sxeTn7udV8PppPb+7Zl70qcGnfq7
3nW/ftp79XD6e986u6b/DiL67kR/pzuSPz686fVfnrY/8ug6d6fdN29OPz3r
td92xmdvOu3oume/Xr5+rI8va63az+9eLG/evlmOSOqmU2snYmqfTvuX/cn1
q+v+8LQT8XftT6fXr5+/efz57Qv6/1fj189fzEfTwa/BVaf36prW9erkQXfU
e/X+xU/Rzyd398Oz9qt+p/Oq3RuP+xftHj34KurS3zvt08vzN83klWd551f3
v15+it65V41Tv2PFdd1R7F7PTlve8JN1+evi6s3F0jk/evus9dPlq9GLxbPW
uH3500+TT7+Nfzq/ePHx+vb65NP96/u3Dz/Fi5et57++T3RHJ93am6Nokbxz
Xvw0vgjmy1Gte33y6JzY7d5r73XPOrJOn/3Wfnkz+3Ec9679n8+vQnfeGLat
IDq6td7pjs6912d3bkw7df6+fffz6O7k0R20OifnP/fPjrz55eP9T7+Hy/mt
c/7m+pV/+uvp2yjsxd1X3R971qdHP51a87dPr4/eDB7rw1ZnejL2lme/f3ze
+23kR+PIfpb86i5qj9bkreOd3FxGjefxz25vYjcn/sk7L/FmrY/prs29Zzc/
1ePfjuzB9en9iXvTmZ8dXczryWPo3P4YPb66ufr9x8HFq4fbzttnL5cfr1//
fvF+2Htz+7rbfui3dUdt/+z96eD9w3OQ/qV13um87w/ag8fWRXx12nCfvX/s
Wv03vYvXLfvtC6vzTpLLqPfwqk9Hqqs7mvfaEYju+dXr/sl1+7YzHsedcX9A
NN5rj9+f/PTwnkji9XN6+7PuFXXy6lVn/OvwzYueOI+6o9zBbJ8T7fTbzzzP
6yyvjvrvpsvoefhmuGhbM7e5rF/9fNMIWy/uH+zxifPbSfz47FR3VIs+9a5+
uoidxtC7rC0G0/ZvUX3aOmt5D3f1T4Pg5uPH98/HP7+9SObW3eXg0WvdB/0f
H067Dz/+bHWazZQgw7pf+/2IDtP0bWt568Q/dvyff738af4m8t+/bQW/L6a/
N3ov2s7D4r4/un/dr539Vn9mv3Ef352MwqvX6RrdvhnVg8f+xZuzR+v9vNX7
ude5aN2/GY7cT96b22fN+PdXkd8bBvFDnLx70Tp6+7L3u9doN0a1o+TxeXpo
vXr3cvnu/bO7eefGe//S/vXkbvwmbFze1Hs3vzmjce/k4/T6t9fBsP9xtnzn
OeejUXw0vxv/dnoev3n7uqM7st/Fz1/cXLxedn+cLS9uru7uXlj3F5cPtnP9
zhkFv/36+3Xya/Ndf9j++98h3aCi/PLvKaftsMryd5PEwD3JQZKX0bTjJ0Gj
Lpxku/pJEg0nnSXu8TVvxH/+vtLNYTsRD2QFcDs15bpxwOigP8mqCwV5viu6
3/ubSeMdJvF1RJY3BAk96j/44SKrJ6TKhtQ1IDfjtQ/8LwYNJNUb2snjbLgr
h0sDzylPmdGbo/+/vWvbbdzKsu/6CgLzkgSxTPLw2v3Ea1KTSaVQ9vR0EAwK
tCTbGsuSW5Kr4AYGmH+YP5wvmb3WoSRSEnksO06ngQiGy0WRh+e673vtiTDK
2YrVkMeT1Wg5vRIhAhWQ/2Rt9Nn71Xg+vN9we+qyk/nZ4+p8Nr1aVsun8/Fc
BUEUe8Nq9YAaxq16yyidPFmt9BzNnkT2Kh9nM+vDD++surNWtWq8ezq3PpYZ
nG3uXjnkb7Cga2no3fx6ITvlG+tiW+tYi4vfoNndf3GhuH9YP1kjeVCm7AIv
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
Hfw/q+cp2WzwAQA=

-->

</rfc>

