< draft-birkholz-rats-architecture-00.txt   draft-birkholz-rats-architecture-01.txt >
Network Working Group H. Birkholz Network Working Group H. Birkholz
Internet-Draft Fraunhofer SIT Internet-Draft Fraunhofer SIT
Intended status: Standards Track M. Wiseman Intended status: Standards Track M. Wiseman
Expires: April 27, 2019 GE Global Research Expires: September 13, 2019 GE Global Research
H. Tschofenig H. Tschofenig
ARM Ltd. ARM Ltd.
N. Smith N. Smith
Intel Intel
October 24, 2018 March 12, 2019
Architecture and Reference Terminology for Remote Attestation Procedures Architecture and Reference Terminology for Remote Attestation Procedures
draft-birkholz-rats-architecture-00 draft-birkholz-rats-architecture-01
Abstract Abstract
Remote ATtestation ProcedureS (RATS), such as Remote Integrity Remote ATtestation ProcedureS (RATS) architecture facilitates the
VERification (RIVER), the creation of Entity Attestation Tokens attestation of device characteristics that, in general, are based on
(EAT), software integrity Measurement And ATtestation (MAAT), or the specific trustworthiness qualities intrinsic to a device or service.
attestation of device characteristics, in general, are based on It includes trusted computing functionality provided by device
specific operations and qualities provided by hardware and software. hardware and software that allows trustworthiness qualities to be
The RATS architecture maps corresponding functions and operation asserted and verified as part of, or pre-requisite to, the device's
capabilities to specific RATS roles. The goal is to enable an normal operation. The RATS architecture maps corresponding
appropriate conveyance of believable evidence about device health or attestation functions and capabilities to specific RATS Roles. The
trusted claims about device capabilities via network protocols. The goal is to enable an appropriate conveyance of evidence about device
flows of data between these roles depend on the composition of RATS trustworthiness via network protocols. RATS Roles provide the
roles and their location with respect to devices or services. The endpoint context for understanding the various interaction semantics
RATS architecture provides these roles as building blocks to enable of the attestation lifecycle. The RATS architecture provides the
suitable composition, while remaining hardware-agnostic. This building block concepts, semantics, syntax and framework for
flexibility is intended to address a significant majority of use interoperable attestation while remaining hardware-agnostic. This
cases or usage scenarios in the domain of RATS. Examples include, flexibility is intended to address a significant variety of use-cases
but are not limited to: financial transactions, voting machines, and scenarios involving interoperable attestation. Example usages
critical safety systems, network equipment health, or trustworthy include, but are not limited to: financial transactions, voting
end-user device management. machines, critical safety systems, network equipment health, or
trustworthy end-user device management. Existing industry
attestation efforts may be helpful toward informing RATS
architecture. Such as: Remote Integrity VERification (RIVER), the
creation of Entity Attestation Tokens (EAT), software integrity
Measurement And ATtestation (MAAT)
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 27, 2019. This Internet-Draft will expire on September 13, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements notation . . . . . . . . . . . . . . . . . . 3 1.1. What is Remote Attestation . . . . . . . . . . . . . . . 4
2. RATS Architecture . . . . . . . . . . . . . . . . . . . . . . 3 1.2. The purpose of RATS Architecture and Terminology . . . . 4
2.1. Roles, Devices, and Services . . . . . . . . . . . . . . 4 1.3. Requirements notation . . . . . . . . . . . . . . . . . . 4
2.2. Trust and Trustworthiness . . . . . . . . . . . . . . . . 5 2. RATS Architecture . . . . . . . . . . . . . . . . . . . . . . 4
2.3. Claims and Evidence . . . . . . . . . . . . . . . . . . . 6 3. Architectural Components . . . . . . . . . . . . . . . . . . 5
2.4. RATS Roles . . . . . . . . . . . . . . . . . . . . . . . 6 3.1. RATS Roles . . . . . . . . . . . . . . . . . . . . . . . 5
2.5. Exemplary Composition of Roles . . . . . . . . . . . . . 8 4. RATS Actors . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5.1. Conveyance of Trusted Claim Sets Validated by 4.1. RATS Duties . . . . . . . . . . . . . . . . . . . . . . . 7
Signature . . . . . . . . . . . . . . . . . . . . . . 8 4.1.1. Attester Duties . . . . . . . . . . . . . . . . . . . 8
2.5.2. Conveyance of Attestation Evidence Appraised by a 4.1.2. Verifier Duties . . . . . . . . . . . . . . . . . . . 8
Verifier . . . . . . . . . . . . . . . . . . . . . . 9 4.1.3. Claimant Duties . . . . . . . . . . . . . . . . . . . 8
2.6. The Scope of RATS . . . . . . . . . . . . . . . . . . . . 9 4.1.4. Relying Party Duties . . . . . . . . . . . . . . . . 8
2.6.1. The Lying Endpoint Problem . . . . . . . . . . . . . 10 4.1.5. RATS Interactions . . . . . . . . . . . . . . . . . . 9
2.6.2. How the RATS Architecture Addresses the Lying 5. Application of RATS . . . . . . . . . . . . . . . . . . . . . 10
Endpoint Problem . . . . . . . . . . . . . . . . . . 11 5.1. Trust and Trustworthiness . . . . . . . . . . . . . . . . 11
3. RATS Terminology . . . . . . . . . . . . . . . . . . . . . . 11 5.2. Claims and Evidence . . . . . . . . . . . . . . . . . . . 12
3.1. Computing Context . . . . . . . . . . . . . . . . . . . . 12 5.3. RATS Information Flows . . . . . . . . . . . . . . . . . 12
3.1.1. Characteristics of a Computing Context . . . . . . . 13 6. Exemplary Composition of Roles . . . . . . . . . . . . . . . 13
3.1.2. Computing Context Semantic Relationships . . . . . . 14 6.1. Conveyance of Trusted Claim Sets Validated by Signature . 13
3.1.3. Computing Context Identity . . . . . . . . . . . . . 16 6.2. Conveyance of Attestation Evidence Appraised by a
3.2. Remote Attestation Concepts . . . . . . . . . . . . . . . 16 Verifier . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3. Core RATS Terminology . . . . . . . . . . . . . . . . . . 16 7. The Scope of RATS . . . . . . . . . . . . . . . . . . . . . . 14
3.4. RATS Information Model Terminology . . . . . . . . . . . 17 7.1. The Lying Endpoint Problem . . . . . . . . . . . . . . . 15
3.5. RATS Work-Flow Terminology . . . . . . . . . . . . . . . 18 7.1.1. How the RATS Architecture Addresses the Lying
3.6. RATS Reference Use Cases . . . . . . . . . . . . . . . . 19 Endpoint Problem . . . . . . . . . . . . . . . . . . 16
3.6.1. Use Case A . . . . . . . . . . . . . . . . . . . . . 19 8. RATS Terminology . . . . . . . . . . . . . . . . . . . . . . 17
3.6.2. Use Case B . . . . . . . . . . . . . . . . . . . . . 19 8.1. Computing Context . . . . . . . . . . . . . . . . . . . . 18
3.7. RATS Reference Terminology . . . . . . . . . . . . . . . 19 8.1.1. Characteristics of a Computing Context . . . . . . . 19
3.8. Interpretations of RFC4949 Terminology for Attestation . 21 8.1.2. Computing Context Semantic Relationships . . . . . . 19
3.9. Building Block Vocabulary (Not in RFC4949) . . . . . . . 23 8.1.3. Computing Context Identity . . . . . . . . . . . . . 21
4. IANA considerations . . . . . . . . . . . . . . . . . . . . . 23 8.2. Remote Attestation Concepts . . . . . . . . . . . . . . . 21
5. Security Considerations . . . . . . . . . . . . . . . . . . . 23 8.3. Core RATS Terminology . . . . . . . . . . . . . . . . . . 22
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23 8.4. RATS Information Model Terminology . . . . . . . . . . . 22
7. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 24 8.5. RATS Work-Flow Terminology . . . . . . . . . . . . . . . 23
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 8.6. RATS Reference Use Cases . . . . . . . . . . . . . . . . 24
8.1. Normative References . . . . . . . . . . . . . . . . . . 24 8.6.1. Use Case A . . . . . . . . . . . . . . . . . . . . . 24
8.2. Informative References . . . . . . . . . . . . . . . . . 24 8.6.2. Use Case B . . . . . . . . . . . . . . . . . . . . . 24
8.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 24 8.7. RATS Reference Terminology . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 8.8. Interpretations of RFC4949 Terminology for Attestation . 26
8.9. Building Block Vocabulary (Not in RFC4949) . . . . . . . 28
9. IANA considerations . . . . . . . . . . . . . . . . . . . . . 28
10. Security Considerations . . . . . . . . . . . . . . . . . . . 29
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 29
12. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 29
13. References . . . . . . . . . . . . . . . . . . . . . . . . . 29
13.1. Normative References . . . . . . . . . . . . . . . . . . 29
13.2. Informative References . . . . . . . . . . . . . . . . . 29
13.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 30
1. Introduction 1. Introduction
This document provides normative guidance how to use, create or adopt In general, this document provides normative guidance how to use,
network protocols that facilitate remote attestation procedures. The create or adopt network protocols that facilitate remote attestation
foundation of the RATS architecture are specific roles that can be procedures. The RATS Architecture anticipates broad deployment
chained and as a result compose remote attestation procedures. The contexts that range from IoT to Cloud and Edge ecosystems. The
term attestation, unfortunately, is an overloaded term. There are foundation of the RATS architecture is the specification of RATS
different interpretations, connotations and meanings to the term Roles that can be chained via RATS Interactions and - as a result -
attestation and therefore also to terms related to attestation. In may be composed into use-case specific Remote Attestation Procedures.
consequence, this document also provides a detailed definition of RATS Actors establish an ecosystem neutral context where RATS Roles
Attestation Terminology. The intent is to illustrate and remediate are hosted and where a variety of Remote Attestation Procedure
the impedance mismatch of terms related to Remote Attestation interactions are defined independent of specific conveyance protocols
Procedures used in different domains today. New terms defined by or message formats. In summary, the goal of the RATS Architecture is
this document provide a consolidated basis to support future work on to enable interoperable interaction between the RATS Roles. Hence,
RATS in the IETF and beyond. the RATS Architecture is designed to enable interoperability via
well-defined semantics of the information model (attestation
assertions/claims), associated with RATS Roles following a conveyance
model (RATS Interactions) that may be used to compose domain-specific
remote attestation solutions.
1.1. Requirements notation 1.1. What is Remote Attestation
Unfortunately, the term Attestation itself is an overloaded term. In
consequence, the term Remote Attestation covers a spectrum of
meanings. The common denominator encompasses the creation,
conveyance, and appraisal of evidence pertaining to the
trustworthiness characteristics of the creator of the evidence. In
essence, RATS are used to enable the assessment of the
trustworthiness of a communication partner.
1.2. The purpose of RATS Architecture and Terminology
To consolidate the utilization of existing and emerging network
protocols in the context of RATS, this document provides a detailed
definition of Attestation Terminology that enables interoperability
between different types pf RATS. Specifically, this document
illustrates and remediates the impedance mismatch of terms related to
Remote Attestation Procedures used in different domains today. As an
additional contribution, new terms defined by this document provide a
common basis that simplifies future work on RATS in the IETF and
beyond.
1.3. Requirements notation
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in RFC "OPTIONAL" in this document are to be interpreted as described in
2119, BCP 14 [RFC2119]. BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
2. RATS Architecture 2. RATS Architecture
The goal of the RATS architecture is to provide the building blocks - One of the goals of the RATS Architecture is to provide the building
the roles defined by the RATS architecture - to enable the blocks - the roles defined by the RATS Architecture - to enable the
composition of service-chains and work-flows to create and appraise composition of service-chains/hierarchies and work-flows that can
evidence about the trustworthiness of devices and services. create and appraise evidence about the trustworthiness of devices and
services.
The RATS architecture does not prescribe specific payload The RATS Architecture is based on the use-cases defined in
definitions, role composition, or protocol use. However, it imposes [I-D.richardson-rats-usecases].
requirements on payload definitions, interfaces, and network
protocols with respect to proofs of freshness, attestation
provenance, and required operational primitives that are available to
devices and services taking on RATS roles. For brevity, the term
"system" is a synonym for "device or service" in this document.
2.1. Roles, Devices, and Services The RATS architecture specifies:
In the RATS architecture, devices or services can take on RATS roles. o The building blocks to create remote attestation procedures
In this context, devices are typically composite devices (in the case applicable Actors, Roles, Duties, and Interactions,
of atomically integrated devices that would result in a composite
device with one component). Services are software components - e.g.
a daemon, a virtual network function (vnf) or a network security
function (nsf) - that can reside on one or more devices and are not
necessarily bound to a specific set of devices.
Devices or Services (Systems) can take on one or more RATS roles o Mandatory and optional trust relationships between its Roles, that
either by separate functions or via a collapsed functions that take may assume a Root-of-Trust context,
on multiple RATS roles. Systems that take on RATS roles:
o are consumer and/or producer of role-specific information, and o The interaction between Roles that reside on separate Actors and
interact via network protocols,
o can be chained to compose specific work-flows. o Protocol/message framing that allows for well-defined and opaque
payloads,
Systems can be distinguished on the management plane via identity o The means to prove, preserve and convey trust properties, such as
documents (which includes specific claim sets about device identity, varacity, freshness, or provenance, and
characteristics, see RFC4949) or via trusted claim sets (e.g. the
Entity Attestation Token) and can be addressed by network protocols o Primitives necessary for the construction of interoperable
via IP addresses. RATS can be used in environments without network attestation payloads.
protocols and RATS roles can be used to design work-flows in these
domains, correspondingly. However, the primary focus of the RATS 3. Architectural Components
architecture is to facilitate network protocols between RATS roles
that convey information via the Internet Protocol. The basic architectural components defined in this document are:
o RATS Roles
o RATS Actors
o RATS Duties
o RATS Interactions
The following sub-section define and elaborate on these terms:
3.1. RATS Roles
A Role in the context of usage scenarios for remote attestation
procedures is providing a service to other Roles. Roles are building
blocks that can be providers and consumers of information. In the
RATS architecture, devices or services can take on RATS roles. They
are composites of internal functions (RATS Duties) and external
functions (RATS Interactions) that facilitate a required (sometimes
optional) task in a remote attestation procedure.
The base set of RATS roles is:
Claimant: The producer of trustworthiness assertions pertaining to
an Attester; that may or not have a root-of-trust for measurement.
It is not guaranteed that a Verifier Role can appraise the output
of a Claimant via reference values (in contrast to the output of
an Attester).
Examples of Claimant assertions include: * The hardware, firmware
and software components of the Attester. * The manufactuer of
Attester components. * The Attester's current configuration. *
The Attester's current location - e.g. GPS coordinates. * The
method by which binding of an attester to an RTR. * The
identifier(s) available for identifying and authenticating the
Attester - e.g. Universal Entity ID (UEID).
Typically, claimant role are taken on by RATS Actors that supply
chain entities (SCE). Various assertions (often represented as
Claims or Trusted Claims Sets, e.g. [I-D.mandyam-eat] or
[I-D.tschofenig-rats-psa-token]).
Attester: The producer of attestation evidence that has a root of
trust for reporting (RTR) and implements a conveyance protocol,
authenticates using an attestation credential, consumes assertions
about itself and presents it to a consumer of evidence (e.g. a
relying party or a verifier). Every output of an attester can be
appraised via reference values.
Authentication Checker: The consumer of signed assertions such as
trusted claim sets or attestation evidence that assesses the
trustworthiness or other trust relationships of the information
consumed via trusted third parties or external trust authorities,
such as a privacy certificate authority. In certain environments,
an Authentication Checker can assess a system's trustworthiness
via external trust anchors, implicitly.
Verifier: The consumer of attestation evidence that has a root of
trust for verification (RTV), implements conveyance protocols,
appraises attestation evidence against reference values or
policies, and makes verification results available to relying
parties.
Relying Party: The consumer and assessor of verifier or
Authentication Checker results for the purpose of improved risk
management, operational efficiency, security, privacy (natural or
legal person) or safety. The verifier and/or authentication
checker roles and the relying party role may be tightly
integrated.
4. RATS Actors
RATS Actors may be any entity, such as an user, organization,
execution environment, device or service provider, that takes on
(implements) one or more RATS Roles and performs RATS Duties and/or
RATS Interactions. RATS Interactions occur between RATS Actors. The
methods whereby RATS Actors are identified, discovered, and
connectivity established are out-of-scope for this architecture. In
contrast, if multiple RATS Roles reside on a single RATS Actor, the
definition of RATS Interactions is out-of-scope of the RATS
architecture, if no network protocols are required.
+------------------+ +------------------+
| Actor 1 | | Actor 2 |
| +------------+ | | +------------+ |
| | | | | | | |
| | Role 1 |<-|---|->| Role 2 | |
| | | | | | | |
| +------------+ | | +------------+ |
| | | |
| +-----+------+ | | +-----+------+ |
| | | | | | | |
| | Role 2 |<-|---|->| Role 3 | |
| | | | | | | |
| +------------+ | | +------------+ |
| | | |
+------------------+ +------------------+
Figure 1: RATS Actor-Role Interactions
RATS Actors have the following properties: * Multiplicity - Multiple
instances of RATS Actors that possess the same RATS Roles can exist.
* Decomposability - A singleton RATS Actor possessing multiple RATS
Roles can be separated into multiple RATS Actors. RATS Interactions
may occur between them. * Composablility - RATS Actors possessing
different RATS Roles can be combined into a singleton RATS Actor
possessing the union of RATS Roles. RATS Interactions between
combined RATS Actors ceases.
Interactions between RATS Roles belonging to the same RATS Actor are
generally believed to be uninteresting. Actor operations that apply
resiliency, scaling, load balancing or replication are generally
believed to be uninteresting.
4.1. RATS Duties
A RATS Role can take on one ore more duties. RATS Duties are role-
internal functions that do not require interaction with other RATS
Roles. In general, and RATS Duties are typically associated with a
RATS Role. The list presented in this document is exhaustive. Also,
there can be usage scenario where RATS Duties are associated with
other RATS Roles than illustrated below:
4.1.1. Attester Duties
o Acquisition or collection of assertions about itself
o Provide or create proof that an assertion is bound to the Attester
o Create Evidence from assertion bundles via roots-of-trust
4.1.2. Verifier Duties
o Acquisition and storage of assertion semantics
o Acquisition and storage of appraisal policies
o Verification of Attester Identity (attestation provenance)
o Comparing assertions or evidence with reference values according
to appraisal policies
o Validate authentication information based on public keys,
signatures, secrets that are shielded, or secrets that are access
restricted via protection profiles
4.1.3. Claimant Duties
o Hardens the device or service that implements the Attester role
o Provisions device identities and/or key material accessible to the
Attester role
o Evaluates trustworthiness during manufacturing, supply chain and
onboarding
o Produces trustworthiness assertions applicable to the Attestor
role
o Embeds trustworthiness assertions about the Attester role in the
device or service during manufacturing, supply chain or onboarding
4.1.4. Relying Party Duties
o Evaluate assertions/evidence locally as far as possible
o Compare trust policies to attestation-results based on assertions
or evidence
o Enforce policies or create input for risk engines
4.1.5. RATS Interactions
The flow of information between RATS Roles located on RATS Actors
compose individual remote attestation procedures. The RATS
Architecture provides a set of standard interactions between the RATS
Roles defined in this document in order to enable this composability.
In this section, common interactions between roles are specified.
This list of interactions is not exhaustive, but provides the basis
to create various standard RATS.
Every RATS Interaction specified below is based on the information
flow between two RATS Roles defined above. Every RATS Interaction is
conducted via an Interconnect between corresponding RATS Roles that
RATS Actors take on. If more than one RATS Role resides on the same
RATS Actor, a network protocol might not be required. If RATS Roles
are collapsed into a singular RATS Actor in this way, the method of
conveying information is out-of-scope of this document. If network
protocols are used to convey corresponding information between RATS
Roles (collapsed on a singular RATS Actor or not), the definitions
and requirements defined in this document apply.
In essence, an Interconnect is an abstract "distance-less" channel
between RATS Actors that can range from General Purpose Input Output
(GPIO) interfaces to the Internet.
Attester/Verifier: The most basic RATS interaction is between the
creator of evidence (Attester) and its complementary remote
attestation service (Verifier). In order to convey evidence (or
assertions that are not accompanied by a proof of their validity)
this RATS Interaction is required.
Attester/Relying-Party: A Relying Party typically requires external
help to either validate authentication information or to appraise
evidence presented by an Attester. In most cases, a Relying Party
requires a corresponding Verifier to process the assertions/
evidence received. In consequence, (a subset of) the information
received by an Attester must be relayed securely to a Verifier.
Relying-Party/Verifier: Typically, trusted assertions or evidence
are conveyed from an Attester to a Relying Party. In an open
ecosystem, such as the Internet, the appraisal of the evidence
presented by an Attester provided in order to assess its
trustworthiness requires a remote attestation service. Hence,
either the RATS roles of Verifier and Relying Party are collapsed
and compose a single RATS Actor, or - if they reside on separate
RATS Actors - a Relying Party requires appropriate configuration
or a discovery/join/rendezvous service to initiate a RATS
Interaction with an appropriate and trusted Verifier.
Attestation information originating from an Attester that is
relayed via a Relying Party must be protected from replay or relay
attacks, accordingly. In a closed ecosystem, trustworthiness with
respect to the Attester can be achieved via a simply query to the
Verifier. In an open ecosystem, the information conveyed in this
interaction can include integrity measurements of every
distinguishable software component that has been executed since
its last boot cycle.
In the scope of RATS, this interaction encompasses the largest
variety of information conveyed.
Claimant/Verifier: The intended operational state an Attester is
intended to be in, is defined by the supply chain entities that
manufacture and maintain the Attestor. In order to appraise
trusted assertions or evidence conveyed by the Attester, every
distinguishable system component the Attester is composed of can
provide trusted assertions or evidence about its trustworthiness.
A corresponding verifier that is tasked with assessing the
trustworthiness of the Attester potentially requires a multitude
of sources of reference values according to policies and the
information provided. As Relying Parties often have to discover
an appropriate Verifier, a Verifier has to obtain and potentially
store appropriate reference values in order to asses assertions or
evidence about trustworthiness.
Claimant/Attester: To enable RATS, trustworthy assertions have to be
embedded in an Attester by its manufactorer. In some cases this
involves various types of roots of trust. In other cases shielded
pre-master secrets in combination with key derivation functions
(KDF) provide this binding of trusted information to an Attester.
A supply chain entity can embed additional trusted assertions to
an Attester. These assertion can also be used to assert the
trustworthiness on behalf of a separate RATS Actor or they can
originate from an external entity (e.g. a security certification
authority).
5. Application of RATS
Attester are typically composite devices (in the case of atomically
integrated devices that would result in a composite device with one
component) or services. Services are software components - e.g. a
daemon, a virtual network function (vnf) or a network security
function (nsf) - that can reside on one or more Attester and are not
necessarily bound to a specific set of hardware devices.
Relevant decision-factors that influence the composition of RATS Relevant decision-factors that influence the composition of RATS
roles on systems and resulting work-flows are (amongst others): Roles on RATS Actors, which result in specific work-flows are
(amongst others):
o which role (or correspondingly, which system that is taking on o which RATS Role (or correspondingly, which RATS Actore that is
specific RATS roles) is triggering a Remote Attestation Procedure taking on specific RATS roles) is triggering a Remote Attestation
Procedure
o which entities are involved in a Remote Attestation Procedure o which entities are involved in a Remote Attestation Procedure
(e.g. the attester itself, trusted third parties, specific trust (e.g. the Attester itself, trusted third parties, specific trust
anchors, or other sources of assertions) anchors, or other sources of assertions)
o the capabilities of the protocols used (e.g. challenge-response o the capabilities of the protocols used (e.g. challenge-response
based, RESTful, uni-directional) based, RESTful, or uni-directional)
o the security requirements and security capabilities of systems in o the security requirements and security capabilities of systems in
a domain of application a domain of application
o the risks and corresponding threats that are intended to be o the risks and corresponding threats that are intended to be
mitigated mitigated
2.2. Trust and Trustworthiness 5.1. Trust and Trustworthiness
[RFC4949] provides definitions that highlight the difference between [RFC4949] provides definitions that highlight the difference between
a "trusted system" and a "trustworthy system". The following a "trusted system" and a "trustworthy system". The following
definitions exclude the explicit specialization of concepts that are definitions exclude the explicit specialization of concepts that are
"environmental disruption" as well as "human user and operator "environmental disruption" as well as "human user and operator
errors". errors".
A trusted system in the context of RATS "operates as expected, A trusted system in the context of RATS "operates as expected,
according to design and policy, doing what is required and not doing according to design and policy, doing what is required and not doing
other things" [RFC4949]. A trustworthy system is a system "that not other things" [RFC4949]. A trustworthy system is a system "that not
skipping to change at page 6, line 4 skipping to change at page 12, line 22
roots of trust. roots of trust.
Roots of trust are defined by the NIST special publication 800-164 Roots of trust are defined by the NIST special publication 800-164
draft as "security primitives composed of hardware, firmware and/or draft as "security primitives composed of hardware, firmware and/or
software that provide a set of trusted, security-critical functions. software that provide a set of trusted, security-critical functions.
They must always behave in an expected manner because their They must always behave in an expected manner because their
misbehavior cannot be detected. As such, RoTs need to be secured by misbehavior cannot be detected. As such, RoTs need to be secured by
their design. Hardware RoTs are preferred over software RoTs due to their design. Hardware RoTs are preferred over software RoTs due to
their immutability, smaller attack surface, and more reliable their immutability, smaller attack surface, and more reliable
behavior." behavior."
If the root of trust involved is a root of trust for measurement If the root of trust involved is a root of trust for measurement
(RTM), the producer of information takes on the role of a asserter. (RTM), the producer of information takes on the role of a asserter.
An asserter can also make use of a root of trust for integrity (RTI) An asserter can also make use of a root of trust for integrity (RTI)
in order to increase the level of assurance in the assertions in order to increase the level of assurance in the assertions
produced. If the root of trust involved is a root of trust for produced. If the root of trust involved is a root of trust for
reporting (RTR), the producer of information takes on the role of an reporting (RTR), the producer of information takes on the role of an
attester. attester.
2.3. Claims and Evidence 5.2. Claims and Evidence
The RATS asserter role produces measurements about the system's The RATS asserter role produces measurements about the system's
characteristics in the form of signed (sometimes un-signed) claim characteristics in the form of signed (sometimes un-signed) claim
sets in order to convey information. A secret signing key is sets in order to convey information. A secret signing key is
required for this procedure, which is typically stored in a shielded required for this procedure, which is typically stored in a shielded
location that can be trusted, for example, via a root of trust for location that can be trusted, for example, via a root of trust for
storage (RTS). storage (RTS).
The RATS attester role produces signed attestation evidence in order The RATS attester role produces signed attestation evidence in order
to convey information. The secret key required for this procedure is to convey information. The secret key required for this procedure is
stored in a shielded location that only allows access to that key, if stored in a shielded location that only allows access to that key, if
a specific operational state of the system is met. The trust with a specific operational state of the system is met. The trust with
respect to this origination is based on a root of trust for respect to this origination is based on a root of trust for
reporting. reporting.
2.4. RATS Roles 5.3. RATS Information Flows
There are six roles defined in the RATS architecture. iFigure 1 There are six roles defined in the RATS architecture. iFigure 2
provides a simplified overview of the roles defined in this section. provides a simplified overview of the RATS Roles defined above,
illustrating a general Interconnect in the center that facilitates
all RATS Interactions.
+------------+ +------------------+ +------------+ +------------------+
| | | | | | | |
| Attester | +->| Verifier | | Attester | +->| Verifier |
| | | | | | | | | |
+------------+ | +------------------+ +------------+ | +------------------+
^ | ^ |
| | +------------------+ | |
| +----------------+ | | | | +----------------+ |
+---->| |<-+ | Authentication | +---->| |<-+
| Interconnect |<--->| Checker | | Interconnect |
+---->| |<-+ | | +---->| |<-+
| +----------------+ | +------------------+ | +----------------+ |
v | v |
+------------+ | +------------------+ +------------+ | +------------------+
| | | | | | | | | |
| Claimant | +->| Relying Party | | Claimant | +->| Relying Party |
| | | | | | | |
+------------+ +------------------+ +------------+ +------------------+
Figure 1: Overall Relationships of Roles in the RATS Architecture Figure 2: Overall Relationships of Roles in the RATS Architecture
Attester: The producer of attestation evidence that has a root of
trust for reporting (RTR) and implements a conveyance protocol,
authenticates using an attestation credential, consumes assertions
about itself and presents it to a consumer of evidence (e.g. a
relying party or a verifier). Every output of an attester can be
appraised via reference values.
Claimant: The producer of measurements or assertions to certain
properties regarding the trustworthiness of a system's
characteristics that has a root of trust for measurement. It is
not guaranteed that a verifier can appraise the output of a
claimant via reference values. Examples of claim output include:
the binding of an attester to an RTR, GPS coordinates set of
integrity measurements, or an Universal Entity ID (UEID).
Interconnect: A communication channel or secure path between systems
that take on RATS roles. Attestation evidence, for example, can
be conveyed from an attester to a verifier via an interconnect.
Examples include: GPIO pins, an USB link, or the Internet.
Relying Party: The consumer and assessor of verifier or
Authentication Checker results for the purpose of improved risk
management, operational efficiency, security, privacy (natural or
legal person) or safety. The verifier and/or authentication
checker roles and the relying party role may be tightly
integrated.
Authentication Checker: The consumer of signed assertions such as
trusted claim sets or attestation evidence that assesses the
trustworthiness or other trust relationships of the information
consumed via trusted third parties or external trust authorities,
such as a privacy certificate authority. In certain environments,
an Authentication Checker can assess a system's trustworthiness
via external trust anchors, implicitly.
Verifier: The consumer of attestation evidence that has a root of
trust for verification and implements a conveyance protocol,
appraises attestation evidence against reference values or
policies and makes verification results available to relying
parties.
2.5. Exemplary Composition of Roles 6. Exemplary Composition of Roles
In order to provide an intuitive understanding how the roles used in In order to provide an intuitive understanding how the roles used in
RATS can be composed into work-flows, this document provides a few RATS can be composed into work-flows, this document provides a few
example work-flows. Boxes in the following examples that include example work-flows. Boxes in the following examples that include
more than one role are systems that take on more than one role. more than one role are systems that take on more than one role.
2.5.1. Conveyance of Trusted Claim Sets Validated by Signature 6.1. Conveyance of Trusted Claim Sets Validated by Signature
If there is a trust relationship between a trusted third party that If there is a trust relationship between a trusted third party that
can assert that signed claims created by a claimant guarantee a can assert that signed claims created by a claimant guarantee a
trustworthy origination of claim, the work-flow depicted in Figure 2 trustworthy origination of claim, the work-flow depicted in Figure 3
can facilitate a trust-based implicit remote attestation procedure. can facilitate a trust-based implicit remote attestation procedure.
The information conveyed are signed claim sets that are trusted via The information conveyed are signed claim sets that are trusted via
an authoritative third party. In this work-flow claim emission is an authoritative third party. In this work-flow claim emission is
triggered by the claimant. Variations based on requests emitted by triggered by the claimant. Variations based on requests emitted by
the relying party can be easily facilitated by the same set of roles. the relying party can be easily facilitated by the same set of roles.
+---------------------------------------+ +-----------+
| | +------------+ +----------------+ | |
| +------------------+ +-----------+ | | | | | | Relying |
+------------+ +----------------+ | | | | | | | Claimant |->| Interconnect |--->| Party |
| | | | | | Authentication | | Relying | | | | | | | |
| Claimant |->| Interconnect |--+->| Checker |->| Party | | +------------+ +----------------+ +-----------+
| | | | | | | | | |
+------------+ +----------------+ | +------------------+ +-----------+ |
| |
+---------------------------------------+
Figure 2: Conveyance of Trusted Claim Sets Validated by Signature Figure 3: Conveyance of Trusted Claim Sets Validated by Signature
2.5.2. Conveyance of Attestation Evidence Appraised by a Verifier 6.2. Conveyance of Attestation Evidence Appraised by a Verifier
If there is trust in the root of trust for reporting based on the If there is trust in the root of trust for reporting based on the
assertions of a trusted third party, the work-flow depicted in assertions of a trusted third party, the work-flow depicted in
Figure 3 can facilitate an evidence-based explicit remote attestation Figure 4 can facilitate an evidence-based explicit remote attestation
procedure. The information conveyed is signed attestation evidence procedure. The information conveyed is signed attestation evidence
that is created by the trusted verifier. In this work-flow claims do that is created by the trusted verifier. In this work-flow claims do
not necessarily have to be signed and the work-flow is triggered by not necessarily have to be signed and the work-flow is triggered by
the attestor that aggregates claims from a root of trust of the attestor that aggregates claims from a root of trust of
measurement. Variations based on requests emitted by the verifier measurement. Variations based on requests emitted by the verifier
can be easily facilitated by the same set of roles. can be easily facilitated by the same set of roles.
+------------------+ +------------------------+ +------------------+ +----------------------+
| | | +------------------+ | | | | +----------------+ |
| +------------+ | +----------------+ | | | | | +------------+ | +----------------+ | | | |
| | | | | | | | Authentication | | | | | | | | | | | |
| | Attester |--+->| Interconnect |--+->| Checker | | | | Attester |--+->| Interconnect |--+->| Verifier | |
| | | | | | | | | | | | | | | | | | | |
| +------------+ | +----------------+ | +------------------+ | | +------------+ | +----------------+ | +----------------+ |
| ^ | +-------------------+ | | | ^ | | | |
| | | | | | | | | | v |
| | | | +-----------+ v | | | | | +-----------+ |
| +-----+------+ | | | | +------------+ | | +-----+------+ | | | | |
| | | | | | Relying | | | | | | | | | | Relying | |
| | Claimant | | | | Party |<---------| Verifier | | | | Claimant | | | | Party | |
| | | | | | | | | | | | | | | | | |
| +------------+ | | +-----------+ +------------+ | | +------------+ | | +-----------+ |
| | | | | | | |
+------------------+ +--------------------------------------------+ +------------------+ +----------------------+
Figure 3: Conveyance of Attestation Evidence Appraised by a Verifier Figure 4: Conveyance of Attestation Evidence Appraised by a Verifier
2.6. The Scope of RATS 7. The Scope of RATS
During its evolution, the term Remote Attestation has been used in During its evolution, the term Remote Attestation has been used in
multiple contexts and multiple scopes and in consequence accumulated multiple contexts and multiple scopes and in consequence accumulated
various connotations with slightly different semantic meaning. various connotations with slightly different semantic meaning.
Correspondingly, Remote Attestation Procedures (RATS) are employed in Correspondingly, Remote Attestation Procedures (RATS) are employed in
various usage scenarios and different environments. various usage scenarios and different environments.
In order to better understand and grasp the intent and meaning of In order to better understand and grasp the intent and meaning of
specific RATS in the scope of the security area - including the specific RATS in the scope of the security area - including the
requirements that are addressed by them - this document provides an requirements that are addressed by them - this document provides an
overview of existing work, its background, and common terminology. overview of existing work, its background, and common terminology.
As the contribution, from that state-of-the-art a set of terms that As the contribution, from that state-of-the-art a set of terms that
provides a stable basis for future work on RATS in the IETF is provides a stable basis for future work on RATS in the IETF is
derived. derived.
skipping to change at page 10, line 23 skipping to change at page 15, line 34
in more complementary definitions from other SDO (e.g. Global in more complementary definitions from other SDO (e.g. Global
Platform, TCG, etc.) and a general structure template to highlight Platform, TCG, etc.) and a general structure template to highlight
semantic relationships and capable of resolving potential semantic relationships and capable of resolving potential
discrepancies will be introduced. A section of context awareness discrepancies will be introduced. A section of context awareness
will provide further insight on how Attestation procedures are vital will provide further insight on how Attestation procedures are vital
to ongoing work in the IETF (e.g. I2NSF & tokbind). The definitions to ongoing work in the IETF (e.g. I2NSF & tokbind). The definitions
in the section about RATS are still self-describing in this version. in the section about RATS are still self-describing in this version.
Additional explanatory text will be added to provide more context and Additional explanatory text will be added to provide more context and
coherence. coherence.
2.6.1. The Lying Endpoint Problem 7.1. The Lying Endpoint Problem
A very prominent goal of RATS is to address the "lying endpoint A very prominent goal of RATS is to address the "lying endpoint
problem". The lying endpoint problem is characterized as a condition problem". The lying endpoint problem is characterized as a condition
of a Computing Context where the information or behavior embedded, of a Computing Context where the information or behavior embedded,
created, relayed, stored, or emitted by the Computing Context is not created, relayed, stored, or emitted by the Computing Context is not
"correct" according to expectations of the authorized system "correct" according to expectations of the authorized system
designers, operators and users. There can be multiple reasons why designers, operators and users. There can be multiple reasons why
these expectations are incorrect, either from malicious Activity, these expectations are incorrect, either from malicious Activity,
unanticipated conditions or accidental means. The observed behavior, unanticipated conditions or accidental means. The observed behavior,
nevertheless, appears to be a compromised Computing Context. nevertheless, appears to be a compromised Computing Context.
skipping to change at page 11, line 11 skipping to change at page 16, line 20
installed involved in the activity of creating the emitted installed involved in the activity of creating the emitted
information in question, the emitted information can be considered information in question, the emitted information can be considered
valid and integer. valid and integer.
In contrast, such Evidence has to be impossible to create if the In contrast, such Evidence has to be impossible to create if the
software instances used in a Computing Context are compromised. software instances used in a Computing Context are compromised.
Attestation activities that are intended to create this Evidence Attestation activities that are intended to create this Evidence
therefore also provide guarantees about the validity of the Evidence therefore also provide guarantees about the validity of the Evidence
they can create. they can create.
2.6.2. How the RATS Architecture Addresses the Lying Endpoint Problem 7.1.1. How the RATS Architecture Addresses the Lying Endpoint Problem
RATS imply the involvement of at least two players (roles) who seek RATS imply the involvement of at least two players (roles) who seek
to overcome the lying endpoint problem. The Verifier wishes to to overcome the lying endpoint problem. The Verifier wishes to
consume application data supplied by a Computing Context. But before consume application data supplied by a Computing Context. But before
application data is consumed, the Verifier obtains Attestation application data is consumed, the Verifier obtains Attestation
Evidence about the Computing Context to assess likelihood of poisoned Evidence about the Computing Context to assess likelihood of poisoned
data due to endpoint compromise or failure. Remote Attestation data due to endpoint compromise or failure. Remote Attestation
argues that a systems's integrity characteristics should not be argues that a systems's integrity characteristics should not be
believed until rationale for believability is presented to the believed until rationale for believability is presented to the
relying party seeking to interact with the system. relying party seeking to interact with the system.
skipping to change at page 11, line 42 skipping to change at page 17, line 5
Attestation evidence can be thought of as the topics of the exchange Attestation evidence can be thought of as the topics of the exchange
that is created the operational primitives of a root of trust for that is created the operational primitives of a root of trust for
reporting. Evidence may be structured in an interoperable format reporting. Evidence may be structured in an interoperable format
called claims that may include references to the claimants which are called claims that may include references to the claimants which are
asserting the claims. RATS aims to define "interoperable Remote asserting the claims. RATS aims to define "interoperable Remote
Attestation" such that evidence can be created and consumed by Attestation" such that evidence can be created and consumed by
different ecosystem systems and can be securely exchanged by a broad different ecosystem systems and can be securely exchanged by a broad
set of network protocols. set of network protocols.
3. RATS Terminology 8. RATS Terminology
This document relies on terminology found in [RFC4949]. This This document relies on terminology found in [RFC4949]. This
document presumes the reader is familiar with the following terms. document presumes the reader is familiar with the following terms.
o Cryptography o Cryptography
o Entity (System entity) o Entity (System entity)
o Identity o Identity
o Object o Object
o Principal o Principal
o Proof-of-possession protocol o Proof-of-possession protocol
o Security environment (Environment) o Security environment (Environment)
o Security perimeter o Security perimeter
skipping to change at page 12, line 38 skipping to change at page 18, line 5
o Verification o Verification
Terminology defined by this document is preceded by a dollar sign ($) Terminology defined by this document is preceded by a dollar sign ($)
to distinguish it from terms defined elsewhere and as a way to to distinguish it from terms defined elsewhere and as a way to
disambiguate term definition from explanatory text. disambiguate term definition from explanatory text.
Terms defined by this document that are subsequently used by this Terms defined by this document that are subsequently used by this
document are distinguished by capitalizing the first letter of the document are distinguished by capitalizing the first letter of the
term (e.g. Term or First_word Second_word). term (e.g. Term or First_word Second_word).
3.1. Computing Context 8.1. Computing Context
This section introduces the term Computing Context in order to This section introduces the term Computing Context in order to
specialize the notions of environment and endpoint to terminology specialize the notions of environment and endpoint to terminology
that has relevance to trusted computing. Attestation is a discipline that has relevance to trusted computing. Attestation is a discipline
of trusted computing. of trusted computing.
A Computing Context could refer to a large variety of endpoints. A Computing Context could refer to a large variety of endpoints.
Examples include but are not limited to: the compartmentalization of Examples include but are not limited to: the compartmentalization of
physical resources, the separation of software instances with physical resources, the separation of software instances with
different dependencies in dedicated containers, and the nesting of different dependencies in dedicated containers, and the nesting of
skipping to change at page 13, line 40 skipping to change at page 19, line 7
long-term. long-term.
$ Computing Context : An umbrella term that combines the scope of $ Computing Context : An umbrella term that combines the scope of
the definitions of endpoint [ref NEA], device [ref 1ar], and thing the definitions of endpoint [ref NEA], device [ref 1ar], and thing
[ref t2trg], including hardware-based and software-based sub- [ref t2trg], including hardware-based and software-based sub-
contexts that constitute independent, isolated and distinguishable contexts that constitute independent, isolated and distinguishable
slices of a Computing Context created by compartmentalization slices of a Computing Context created by compartmentalization
mechanisms, such as Trusted Execution Environments (TEE), Hardware mechanisms, such as Trusted Execution Environments (TEE), Hardware
Security Modules (HSM) or Virtual Network Function (VNF) contexts. Security Modules (HSM) or Virtual Network Function (VNF) contexts.
3.1.1. Characteristics of a Computing Context 8.1.1. Characteristics of a Computing Context
While the semantic relationships highlighted above constitute the While the semantic relationships highlighted above constitute the
fundamental basis to provide a define Computing Context, the fundamental basis to provide a define Computing Context, the
following list of object characteristics is intended to improve the following list of object characteristics is intended to improve the
application of the term and provide a better understanding of its application of the term and provide a better understanding of its
meaning: meaning:
$ Computing Context Characteristics: A representation of the $ Computing Context Characteristics: A representation of the
identity, composition, configuration and state of a Computing identity, composition, configuration and state of a Computing
Context. Context.
skipping to change at page 14, line 29 skipping to change at page 19, line 43
[ref docker, find a more general term here] context is not a [ref docker, find a more general term here] context is not a
distinguishable isolated slice of an information system and therefore distinguishable isolated slice of an information system and therefore
is not an independent Computing Context. [more feedback on this is not an independent Computing Context. [more feedback on this
statement is required as the capabilities of docker-like functions statement is required as the capabilities of docker-like functions
evolve continuously] evolve continuously]
Examples include: a smart phone, a nested virtual machine, a Examples include: a smart phone, a nested virtual machine, a
virtualized firewall function running distributed on a cluster of virtualized firewall function running distributed on a cluster of
physical and virtual nodes, or a trust-zone. physical and virtual nodes, or a trust-zone.
3.1.2. Computing Context Semantic Relationships 8.1.2. Computing Context Semantic Relationships
Computing Contexts may relate to other Computing Contexts that are Computing Contexts may relate to other Computing Contexts that are
decomposable in a variety of ways. decomposable in a variety of ways.
o Singleton, o Singleton,
o Tuples (e.g. 2-tuple, n-tuple), o Tuples (e.g. 2-tuple, n-tuple),
o Nested, o Nested,
o Clustered (homogeneous), o Clustered (homogeneous),
o Grouped (heterogenous). o Grouped (heterogenous).
The scope of Computing Context encompasses a broad spectrum of The scope of Computing Context encompasses a broad spectrum of
systems including, but not limited to: systems including, but not limited to:
o An information system, o An information system,
skipping to change at page 16, line 15 skipping to change at page 21, line 27
A formal semantic relationship is therefore expressed using an A formal semantic relationship is therefore expressed using an
information model that captures interactions, relationships, bindings information model that captures interactions, relationships, bindings
and interfaces among systems, subsystems, system components, system and interfaces among systems, subsystems, system components, system
entities or objects. entities or objects.
[Issue: A tangible relationship to an information model is required [Issue: A tangible relationship to an information model is required
here] An information model that richly captures Computing Context here] An information model that richly captures Computing Context
semantics is therefore believed to be relevant if not fundamental to semantics is therefore believed to be relevant if not fundamental to
Remote Attestation. Remote Attestation.
3.1.3. Computing Context Identity 8.1.3. Computing Context Identity
The identity of a Computing Context implies there is a binding The identity of a Computing Context implies there is a binding
operation between an identifier and the Computing Context. operation between an identifier and the Computing Context.
$ Computing Context Identity: Computing Context Identity provides $ Computing Context Identity: Computing Context Identity provides
the basis for associating attestation Evidence about a particular the basis for associating attestation Evidence about a particular
Computing Context to create believable knowledge about attestation Computing Context to create believable knowledge about attestation
provenance. provenance.
Confidence in the identity assurance level [NIST SP-800-63-3] or the Confidence in the identity assurance level [NIST SP-800-63-3] or the
assurance levels for identity authentication [RFC4949] is a property assurance levels for identity authentication [RFC4949] is a property
of the identifier uniqueness properties and binding operation of the identifier uniqueness properties and binding operation
veracity. Such properties impact the trustworthiness of associated veracity. Such properties impact the trustworthiness of associated
attestation Evidence. attestation Evidence.
3.2. Remote Attestation Concepts 8.2. Remote Attestation Concepts
Attestation Evidence created by RATS is a form of telemetry about a Attestation Evidence created by RATS is a form of telemetry about a
computing environment that enables better security risk management computing environment that enables better security risk management
through disclosure of security properties of the environment. through disclosure of security properties of the environment.
Attestation may be performed locally (within the same computing Attestation may be performed locally (within the same computing
environment) or remotely (between different computing environments). environment) or remotely (between different computing environments).
The exchange of attestation evidence can be formalized to include The exchange of attestation evidence can be formalized to include
well-defined protocol, message syntax and semantics. well-defined protocol, message syntax and semantics.
3.3. Core RATS Terminology 8.3. Core RATS Terminology
$ Attestation: The creation of evidence by the Attester based on $ Attestation: The creation of evidence by the Attester based on
measurements or other claimant output. measurements or other claimant output.
A form of telemetry involving the delivery of Claims describing A form of telemetry involving the delivery of Claims describing
various security properties of a Computing Context by an Attester, various security properties of a Computing Context by an Attester,
such that the Claims can be used as Evidence toward convincing a such that the Claims can be used as Evidence toward convincing a
Verifier regarding trustworthiness of the Computing Context. Verifier regarding trustworthiness of the Computing Context.
$ Conveyance: The transfer of Evidence from the Attester to the $ Conveyance: The transfer of Evidence from the Attester to the
Verifier. Verifier.
$ Verification: The appraisal of Evidence by the Verifier who $ Verification: The appraisal of Evidence by the Verifier who
evaluates it against a reference policy. See also RFC4949 [1]. evaluates it against a reference policy. See also RFC4949 [1].
$ Remote Attestation: A procedure involving Attestation, Conveyance $ Remote Attestation: A procedure involving Attestation, Conveyance
and Verification. and Verification.
3.4. RATS Information Model Terminology 8.4. RATS Information Model Terminology
Evidence conveyed to a Verifier by an Attester is structured to Evidence conveyed to a Verifier by an Attester is structured to
facilitate syntactic and semantic interoperability. An information facilitate syntactic and semantic interoperability. An information
model defines the tag namespaces used to create tag-value pairs model defines the tag namespaces used to create tag-value pairs
containing discrete bits of Evidence. containing discrete bits of Evidence.
$ Evidence: A set of Measurements, quality metrics, quality $ Evidence: A set of Measurements, quality metrics, quality
procedures or assurance criteria about an Computing Context's procedures or assurance criteria about an Computing Context's
behavioral, operational and intrinsic characteristics. behavioral, operational and intrinsic characteristics.
skipping to change at page 18, line 15 skipping to change at page 23, line 26
$ Evidence (Claims) Creation: Instantiation of Attested Claims by a $ Evidence (Claims) Creation: Instantiation of Attested Claims by a
Claimant. Claimant.
$ Evidence (Claims) Collection: Assembling of Attested Claims by an $ Evidence (Claims) Collection: Assembling of Attested Claims by an
Attester for the purpose of Conveyance. Attester for the purpose of Conveyance.
$ Verified (Valid) Claim: An Attested Claim where the proof elements $ Verified (Valid) Claim: An Attested Claim where the proof elements
have been verified by a Verifier according to a policy that have been verified by a Verifier according to a policy that
identifies trusted Claimants and/or trusted Evidence values. identifies trusted Claimants and/or trusted Evidence values.
3.5. RATS Work-Flow Terminology 8.5. RATS Work-Flow Terminology
This section introduces terms and definitions that are required to This section introduces terms and definitions that are required to
illustrate the scope and the granularity of RATS workflows in the illustrate the scope and the granularity of RATS workflows in the
domain of security automation. Terms defined in the following domain of security automation. Terms defined in the following
sections will be based on this workflow-related definitions. sections will be based on this workflow-related definitions.
In general, RATS are composed of iterative activities that can be In general, RATS are composed of iterative activities that can be
conducted in intervals. It is neither a generic set of actions nor conducted in intervals. It is neither a generic set of actions nor
simply a task, because the actual actions to be conducted by RATS can simply a task, because the actual actions to be conducted by RATS can
vary significantly depending on the protocols employed and types of vary significantly depending on the protocols employed and types of
skipping to change at page 19, line 17 skipping to change at page 24, line 30
$ Procedure: A series of actions that are done in a certain way or $ Procedure: A series of actions that are done in a certain way or
order. order.
In the scope of RATS, a procedure is a composition of activities In the scope of RATS, a procedure is a composition of activities
(sequences of actions) that is intended to create a well specified (sequences of actions) that is intended to create a well specified
result with a well established semantic context. Example: The result with a well established semantic context. Example: The
activities of Attestation, Conveyance and Verification compose a activities of Attestation, Conveyance and Verification compose a
Remote Attestation procedure. Remote Attestation procedure.
3.6. RATS Reference Use Cases 8.6. RATS Reference Use Cases
A "lying endpoint" is not trustworthy. A "lying endpoint" is not trustworthy.
This document provides NNN prominent examples of use cases This document provides NNN prominent examples of use cases
Attestation procedures are intended to address: Attestation procedures are intended to address:
o Verification of the source integrity of a Computing Context via o Verification of the source integrity of a Computing Context via
data integrity proofing of installed software instances that are data integrity proofing of installed software instances that are
executed, and executed, and
o Verification of the identity proofing of a Computing Context. o Verification of the identity proofing of a Computing Context.
3.6.1. Use Case A 8.6.1. Use Case A
3.6.2. Use Case B 8.6.2. Use Case B
3.7. RATS Reference Terminology 8.7. RATS Reference Terminology
$ Attestable Computing Context: A Computing Context where a Claimant $ Attestable Computing Context: A Computing Context where a Claimant
is able to create Claims, an Attester is able to Attest those is able to create Claims, an Attester is able to Attest those
Claims and a Verifier is able to verify the Claims. Claims and a Verifier is able to verify the Claims.
$ Attestation Identity: An identity that refers to an Attester. $ Attestation Identity: An identity that refers to an Attester.
$ Attestation Identity Credential: A credential used to authenticate $ Attestation Identity Credential: A credential used to authenticate
an Attestation Identity. an Attestation Identity.
skipping to change at page 21, line 5 skipping to change at page 26, line 14
$ Trustworthy Computing Context: A Computing Context that guarantees $ Trustworthy Computing Context: A Computing Context that guarantees
trustworthy behavior and/or composition (with respect to certain trustworthy behavior and/or composition (with respect to certain
declarative guidance and a scope of confidence). A trustworthy declarative guidance and a scope of confidence). A trustworthy
Computing Context is a trustworthy system. Computing Context is a trustworthy system.
<NMS: is this necessary?> Trustworthy Statement: Evidence conveyed <NMS: is this necessary?> Trustworthy Statement: Evidence conveyed
by a Computing Context that is not necessarily trustworthy. by a Computing Context that is not necessarily trustworthy.
[update with tamper related terms] [update with tamper related terms]
3.8. Interpretations of RFC4949 Terminology for Attestation 8.8. Interpretations of RFC4949 Terminology for Attestation
Assurance: An attribute of an information system that provides Assurance: An attribute of an information system that provides
grounds for having confidence that the system operates such that grounds for having confidence that the system operates such that
the system's security policy is enforced [RFC4949] (see Trusted the system's security policy is enforced [RFC4949] (see Trusted
System below). System below).
In common criteria, assurance is the basis for the metric level of In common criteria, assurance is the basis for the metric level of
assurance, which represents the "confidence that a system's assurance, which represents the "confidence that a system's
principal security features are reliably implemented". principal security features are reliably implemented".
skipping to change at page 23, line 13 skipping to change at page 28, line 22
attacks by hostile parties - and not doing other things. attacks by hostile parties - and not doing other things.
Verification: (a) The process of examining information to establish Verification: (a) The process of examining information to establish
the truth of a claimed fact or value. the truth of a claimed fact or value.
(b) The process of comparing two levels of system specification (b) The process of comparing two levels of system specification
for proper correspondence, such as comparing a security model with for proper correspondence, such as comparing a security model with
a top-level specification, a top-level specification with source a top-level specification, a top-level specification with source
code, or source code with object code. code, or source code with object code.
3.9. Building Block Vocabulary (Not in RFC4949) 8.9. Building Block Vocabulary (Not in RFC4949)
[working title, pulled from various sources, vital] [working title, pulled from various sources, vital]
Attribute: TBD Attribute: TBD
Characteristic: TBD Characteristic: TBD
Context: TBD Context: TBD
Endpoint: TBD Endpoint: TBD
skipping to change at page 23, line 35 skipping to change at page 28, line 44
Environment: TBD Environment: TBD
Manifest: TBD Manifest: TBD
Telemetry: An automated communications process by which data, Telemetry: An automated communications process by which data,
readings, Measurements and Evidence are collected at remote points readings, Measurements and Evidence are collected at remote points
and transmitted to receiving equipment for monitoring and and transmitted to receiving equipment for monitoring and
analysis. Derived from the Greek roots tele = remote, and metron analysis. Derived from the Greek roots tele = remote, and metron
= measure. = measure.
4. IANA considerations 9. IANA considerations
This document will include requests to IANA: This document will include requests to IANA:
o first item o first item
o second item o second item
5. Security Considerations 10. Security Considerations
There are always some. There are always some.
6. Acknowledgements 11. Acknowledgements
Maybe. Maybe.
7. Change Log 12. Change Log
No changes yet. No changes yet.
8. References 13. References
8.1. Normative References 13.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
8.2. Informative References [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
13.2. Informative References
[I-D.ietf-sacm-terminology] [I-D.ietf-sacm-terminology]
Birkholz, H., Lu, J., Strassner, J., Cam-Winget, N., and Birkholz, H., Lu, J., Strassner, J., Cam-Winget, N., and
A. Montville, "Security Automation and Continuous A. Montville, "Security Automation and Continuous
Monitoring (SACM) Terminology", draft-ietf-sacm- Monitoring (SACM) Terminology", draft-ietf-sacm-
terminology-15 (work in progress), June 2018. terminology-16 (work in progress), December 2018.
[I-D.mandyam-eat]
Mandyam, G., Lundblade, L., Lundblade, L., Ballesteros,
M., and J. O'Donoghue, "The Entity Attestation Token
(EAT)", draft-mandyam-eat-01 (work in progress), November
2018.
[I-D.richardson-rats-usecases]
Richardson, M., "Use cases for Remote Attestation common
encodings", draft-richardson-rats-usecases-00 (work in
progress), March 2019.
[I-D.tschofenig-rats-psa-token]
Tschofenig, H., Frost, S., Brossard, M., and A. Shaw,
"Arm's Platform Security Architecture (PSA) Attestation
Token", draft-tschofenig-rats-psa-token-00 (work in
progress), March 2019.
[RFC4949] Shirey, R., "Internet Security Glossary, Version 2", [RFC4949] Shirey, R., "Internet Security Glossary, Version 2",
FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007, FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007,
<https://www.rfc-editor.org/info/rfc4949>. <https://www.rfc-editor.org/info/rfc4949>.
[RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token [RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token
(JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015,
<https://www.rfc-editor.org/info/rfc7519>. <https://www.rfc-editor.org/info/rfc7519>.
8.3. URIs 13.3. URIs
[1] https://tools.ietf.org/html/rfc4949 [1] https://tools.ietf.org/html/rfc4949
Authors' Addresses Authors' Addresses
Henk Birkholz Henk Birkholz
Fraunhofer SIT Fraunhofer SIT
Rheinstrasse 75 Rheinstrasse 75
Darmstadt 64295 Darmstadt 64295
Germany Germany
 End of changes. 68 change blocks. 
231 lines changed or deleted 513 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/