Network Working Group H. Birkholz Internet-Draft Fraunhofer SIT Intended status: Standards Track M. Wiseman Expires:September 13, 2019March 15, 2020 GE Global Research H. Tschofenig ARM Ltd. N. Smith IntelMarchSeptember 12, 2019Architecture and Reference Terminology forRemote Attestation Proceduresdraft-birkholz-rats-architecture-01Architecture draft-birkholz-rats-architecture-02 Abstract The Remote ATtestationProcedureSprocedureS (RATS) architecture facilitatesthe attestationinteroperability ofdevice characteristics that, in general, are based on specific trustworthiness qualities intrinsic to a device or service. It includes trusted computing functionality providedattestation mechanisms bydevice hardwaredefining a set of participant roles andsoftwareinteractions thatallowsreveal information about the trustworthinessqualities toattributes of an attester's computing environment. By making trustworthiness attributes explicit, they can beassertedevaluated dynamically andverified as part of, or pre-requisite to, the device's normal operation. The RATS architecture maps corresponding attestation functions and capabilities to specific RATS Roles. The goal is to enablewithin anappropriate conveyance of evidence about device trustworthiness via network protocols. RATS Roles provide the endpointoperational contextforwhere risk mitigation depends on having a more complete understandingthe various interaction semanticsof theattestation lifecycle. The RATS architecture provides the building block concepts, semantics, syntax and framework for interoperable attestation while remaining hardware-agnostic. This flexibility is intendedpossible vulnerabilities germane toaddress a significant variety of use-cases and scenarios involving interoperable attestation. Example usages include, but are not limited to: financial transactions, voting 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),thecreation of Entity Attestation Tokens (EAT), software integrity Measurement And ATtestation (MAAT)attester's environment. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire onSeptember 13, 2019.March 15, 2020. Copyright Notice Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . .32 1.1.What is Remote Attestation . . . . . . . . . . . . . . . 4 1.2. The purpose ofRATSArchitecture and Terminology . . .in a Nutshell .4 1.3. Requirements notation. . . . . . . . . . . . . . . . . .43 2.RATS Architecture . . . . . . . . . . . . . . . . . . . . . . 4 3. Architectural Components . . . . . . . . . . . . . . . . . . 5 3.1. RATS Roles . . . . . . . . . . . . . . . . . . . . . . . 5 4. RATS Actors . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1. RATS Duties . . . . . . . . . . . . . . . . . . . . . . . 7 4.1.1. Attester Duties . . . . . . . . . . . . . . . . . . . 8 4.1.2. Verifier Duties . . . . . . . . .Terminology . . . . . . . . . .8 4.1.3. Claimant Duties .. . . . . . . . . . . . . . . 3 2.1. Requirements Notation . . .8 4.1.4. Relying Party Duties. . . . . . . . . . . . . . .. 8 4.1.5. RATS Interactions .4 3. Conceptual Overview . . . . . . . . . . . . . . . . .9 5. Application of RATS. . . . 4 3.1. Computing Environments . . . . . . . . . . . . . . . . .10 5.1. Trust and5 3.2. Trustworthiness . . . . . . . . . . . . . . . .11 5.2. Claims and Evidence . . . . . . . . .. . . . .. . . . . 12 5.3.6 3.3. RATSInformation Flows . . . . .Workflow . . . . . . . . . . . .12 6. Exemplary Composition of Roles. . . . . . . . . .. . . . . 13 6.1. Conveyance of Trusted Claim Sets Validated by Signature . 13 6.2. Conveyance of Attestation Evidence Appraised by a Verifier . . . . . . . . . . . . . . . . . . . . . . . . 14 7. The Scope of6 3.4. Interoperability between RATS . . . . . . . . . . . . . .. . . . . . . . 14 7.1. The Lying Endpoint Problem . . . . . . . . . . . . . . . 15 7.1.1. How the7 4. RATS ArchitectureAddresses the Lying Endpoint Problem . . . .. . . . . . . . . . . . . .16 8. RATS Terminology . . . . . . . . . . . . . . . . . . . . . . 17 8.1. Computing Context . . . . .. . . . . . . . 7 4.1. Goals . . . . . . .18 8.1.1. Characteristics of a Computing Context . . . . . . . 19 8.1.2. Computing Context Semantic Relationships. . . . . .19 8.1.3. Computing Context Identity. . . . . . . . . . . . .21 8.2. Remote7 4.2. AttestationConcepts . . . . . .Principles . . . . . . . . .21 8.3. Core RATS Terminology . . . . . . . . . . . . . . . . . . 22 8.4. RATS Information Model Terminology . . .. . . . . . . .22 8.5.8 4.3. RATSWork-Flow Terminology . . . . . . . . . . . .Roles and Messages . . .23 8.6. RATS Reference Use Cases. . . . . . . . . . . . . . 8 4.3.1. Roles . .24 8.6.1. Use Case A. . . . . . . . . . . . . . . . . . . . .24 8.6.2. Use Case B. 9 4.3.2. Role Messages . . . . . . . . . . . . . . . . . . . .24 8.7.10 4.4. RATSReference Terminology . . . . . . . . . . . . . . . 24 8.8. Interpretations of RFC4949 Terminology for Attestation . 26 8.9. Building Block Vocabulary (Not in RFC4949) . . . .Principals . . .28 9. IANA considerations. . . . . . . . . . . . . . . . . .. . . 28 10.11 5. Security Considerations . . . . . . . . . . . . . . . . . . .29 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 29 12. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 29 13.12 6. References . . . . . . . . . . . . . . . . . . . . . . . . .29 13.1.12 6.1. Normative References . . . . . . . . . . . . . . . . . .29 13.2.12 6.2. Informative References . . . . . . . . . . . . . . . . .29 13.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 3012 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . .3013 1. Introduction The long-standing Internet Threat Model [RFC3552] focuses on threats to the communication channel, as pioneered by Dolev and Yao [DOLEV-YAO] in 1983. However, threats to the endpoint [RFC5209] and system components [RFC4949] of transited communication gear (i.e. hosts) are increasingly relevant for assessing the trustworthiness properties of a communication channel. Beyond the collection and conveyance of security posture [RFC5209] about an endpoint (host), remote attestation provides believable trustworthiness claims ("Evidence") about an endpoint (host). In general, this document provides normative guidance how to use, create or adopt network protocols that facilitateremote attestation procedures. TheRATS. 1.1. RATSArchitecture anticipates broad deployment contexts that range from IoT to Cloud and Edge ecosystems.in a Nutshell Thefoundation of theRATS architectureisprovides a basis to assess thespecificationtrustworthiness ofRATS Roles that can be chained via RATS Interactions and - as a result - may be composed into use-case specific Remote Attestation Procedures. RATS Actors establish an ecosystem neutral context where RATS Rolesendpoints by other parties: o In remote attestation workflows, trustworthiness Claims arehosted and whereaccompanied by avariety of Remote Attestation Procedure interactions are defined independentproof ofspecific conveyance protocolsveracity. Typically, this proof is a cryptographic expression such as a digital signature or messageformats.digest. Trustworthiness Claims with proof is what makes attestation Evidence believable. o A corresponding attestation provisioning workflow uses trustworthiness Claims to convey believable Endorsements and Known-Good-Values used by a Verifier to appraise Evidence. Insummary, the goal ofthe RATSArchitecturearchitecture, specific content items are identified (and described in more detail below): o Evidence is provable Claims about a specific Computing Environment made by an Attester. o Known-Good-Values are reference Claims used toenable interoperable interaction betweenappraise Evidence. o Endorsements are reference Claims about theRATS Roles. Hence,environment protecting theRATS Architecture is designedAttesters capabilities toenable interoperability via well-defined semantics ofcreate believable Evidence (e.g. theinformation model (attestation assertions/claims), associated with RATS Roles following a conveyance model (RATS Interactions) that may be used to compose domain-specific remotetype of protection for an attestationsolutions. 1.1. What is Remote Attestation Unfortunately,key). It answers theterm Attestation itselfquestion "why Evidence isan overloaded term. In consequence, the term Remotebelievable". o Attestationcovers a spectrum of meanings. The common denominator encompassesResults are the output from thecreation, conveyance, andappraisal ofevidence pertaining toEvidence, Known-Good-Values and Endorsements. Attestation Results are thetrustworthiness characteristicsoutput ofthe creatorRATS. Assessment of Attestation Results can be multi-faceted, but is out-of-scope for theevidence. In essence,RATS architecture. If appropriate Endorsements about the Attester areusedavailable, Known-Good-Values about the Attester are available, and if the Attester is capable of creating believable Evidence - then the Verifier is able to create Attestation Results that enablethe assessmentRelying Parties to establish a level of confidence in the trustworthiness of the Attester. 2. Terminology Conveyance: acommunication partner. 1.2. The purpose ofmechanism for transferring RATSArchitectureEvidence, Endorsements, Known-Good-Values or Attestation Results. Entity: a user, organization, device or computing environment. Principal: an Entity that implements RATS Roles andTerminology To consolidate the utilization of existingcreates provable Claims or Attestation Results (see [ABLP] andemerging network protocols[Lampson2007]). Trustworthiness: an expectation about a computing environment that it will behave inthea way that is intended and nothing more. Computing Environment: a computing context consisting ofRATS, this document providessystem components. Attesting Computing Environment: adetailed definitionComputing Environment capabile ofAttestation Terminology that enables interoperability between different types pf RATS. Specifically, this document illustratesmonitoring andremediates 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 provideattesting acommon basistarget Computing Environment. Attested Computing Environment: a target Computing Environment thatsimplifies future work on RATS in the IETFis monitored andbeyond. 1.3.attested by an Attesting Computing Environment. 2.1. RequirementsnotationNotation The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.2. RATS Architecture One of the goals of the RATS Architecture3. Conceptual Overview In network protocol exchanges, it isto provide the building blocks - the roles defined by the RATS Architecture - to enableoften thecomposition of service-chains/hierarchies and work-flowscase thatcan create and appraise evidence aboutone entity (a Relying Party) requires an assessment of the trustworthiness ofdevices and services. The RATS Architecture is based on the use-cases defined in [I-D.richardson-rats-usecases]. The RATS architecture specifies: o The building blocks to create remote attestation procedures applicable Actors, Roles, Duties, and Interactions, o Mandatory and optional trust relationships between its Roles, that may assumeaRoot-of-Trust context, o The interaction between Roles that reside on separate Actors and interact via network protocols, o Protocol/message framing that allows for well-defined and opaque payloads, o The means to prove, preserve and convey trust properties, such as identity, varacity, freshness,remote entity (an Attester orprovenance, and o Primitives necessary for the construction of interoperable attestation payloads. 3. Architectural Components The basic architecturalspecifc system componentsdefined 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[RFC4949] thereof). Remote ATtestation procedureS (RATS) enable Relying Parties to establish a level of confidence in thecontexttrustworthiness ofusage scenarios forremoteattestation procedures is providing a service to other Roles. Roles are building blocks that can be providers and consumers of information. Insystem components through theRATS architecture, devices or services can take on RATS roles. They are compositescreation ofinternal functions (RATS Duties)attestation evidence by remote system components andexternal functions (RATS Interactions) that facilitatearequired (sometimes optional) task in a remote attestation procedure. The base setprocessing chain ofRATS roles is: Claimant:architectural constituents towards the relying party. Theproducer ofcorresponding trustworthinessassertions pertaining to an Attester; thatattributes processed mayornothave a root-of-trust for measurement. It is not guaranteed thatbe just aVerifier Role can appraise the outputfinite set ofa Claimant via reference values (in contrast tovalues. Additionally, theoutputsystem characteristics of remote components themselves have anAttester). Examplesimpact on the veracity ofClaimant assertions include: * Thetrustworthiness attributes included in Evidence. Attester environments can vary widely ranging from those highly resistant to attacks to those having little or no resistance to attacks. Configuration options, if set poorly, can result in a highly resistant environment being operationally less resistant. Computing Environments are often malleable being constructed from re- programmable hardware,firmware andfirmware, softwarecomponents ofand updatable memory. When a trustworthy environment changes, theAttester. * 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 attesterquestion has to be asked whether the change transitioned the environment from a trustworthy state to anRTR. *untrustworthy state. Theidentifier(s) available for identifying and authenticating the Attester - e.g. Universal Entity ID (UEID). Typically, claimant role are taken on byRATSActors 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 hasarchitecture provides aroot of trustframework forreporting (RTR) and implementsanticipating when aconveyance protocol, authenticates using an attestation credential, consumes assertions about itself and presents itrelevant change with respect to aconsumer of evidence (e.g. a relying party ortrustworthiness attribute occurs, what changed and how relevant it is. A remote attestation framework also creates averifier). Every output ofcontext for enabling anattester can be appraised via reference values. Authentication Checker: The consumer of signed assertions such as trusted claim sets or attestation evidence that assesses theappropriate response by applications, system software and protocol endpoints when changes to trustworthinessor other trust relationships ofattributes do occur. 3.1. Computing Environments In theinformation consumed via trusted third parties or external trust authorities, such asRATS context, aprivacy certificate authority. In certain environments, an Authentication Checker can assessClaim is asystem'sspecific trustworthinessvia external trust anchors, implicitly. Verifier: The consumer of attestation evidenceattribute thathaspertains to arootparticular Computing Environment oftrust for verification (RTV), implements conveyance protocols, appraises attestation evidence against reference values or policies, and makes verification results available to relying parties. Relying Party:an Attester. Theconsumer and assessorset ofverifier or Authentication Checker results forpossible Claims is expected to follow thepurpose of improved risk management, operational efficiency, security, privacy (natural or legal person) or safety. The verifier and/or authentication checker rolespossible computing environments that support attestation. In other words, identical (i.e. same type, model, versions, components andthe 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,composition) Attesting Computing Environments can create different Claim values thattakes on (implements) onestill compose valid Evidence due to different computing contexts. Exemplary Claims include flight vectors ormore 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 establishedlearned configuration. Likely, there areout-of-scope for this architecture. In contrast, if multiple RATS Roles reside onasingle RATS Actor, the definitionset ofRATS InteractionsClaims that isout-of-scope of the RATS architecture,widely applicable across most, ifno network protocolsnot all environments. Conversely, there arerequired. +------------------+ +------------------+ | 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 ActorsClaims thatpossessare unique to specific environments. Consequently, thesame RATS Roles can exist. * Decomposability - A singleton RATS Actor possessing multipleRATSRolesarchitecture incorporates extensible mechanisms for representing Claims. Computing Environments can beseparated intocomplex structurally. In general, every Attester consists of multipleRATS Actors. RATS Interactions may occur between them. * Composablility - RATS Actors possessing different RATS Rolescomponents (e.g. memory, CPU, storage, networking, firmware, software). Components are computational elements that can becombined intolinked and composed to form computational pipelines, arrays and networks (e.g. asingleton RATS Actor possessing the union of RATS Roles. RATS Interactions between combined RATS Actors ceases. Interactions between RATS Roles belongingBIOS, a bootloader, or a trusted execution environment). An Attester includes at least one Computing Environment that is able tothe same RATS Actor are generally believedcreate attestation Evidence (the Attesting Computing Environment) about other Computing Environments (the Attested Computing Environments). Not every computational element of an Attester is expected to beuninteresting. Actor operations that apply resiliency, scaling, load balancing or replication are generally believed toa Computing Environment capable of remote attestation. Analogously, remote attestation capable Computing Environments may not beuninteresting. 4.1. RATS Duties A RATS Role can take on one ore more duties. RATS Duties are role- internal functionscapable of attesting to (creating evidence about) every computational element thatdo not require interactioninteracts withother RATS Roles. In general, and RATS Duties are typically associatedthe Computing Environment. A Computing Environment witha RATS Role. The list presented in this document is exhaustive. Also, therean attestation capability can only beusage scenario where RATS Duties are associated with other RATS Roles than illustrated below: 4.1.1. Attester Duties o Acquisition or collection of assertionsendorsed by an external entity and cannot create believable evidence about itselfo Provide or create proof that an assertion is bound toby its own. A Computing Environment with theAttester o Create Evidence from assertion bundles via roots-of-trust 4.1.2. Verifier Duties o Acquisition and storagecapability ofassertion semanticsremote attestation: oAcquisitionis separate from other Attested Computing Environments (about which attestation evidence is created), andstorage of appraisal policiesoVerificationis enabling the role of an AttesterIdentity (attestation provenance) o Comparing assertions or evidencein the RATS architecture. A Computing Environment withreference 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 Hardensthedevice or service that implementscapability of remote attestation and taking on theAttesterroleo Provisions device identities and/or key material accessible to theof an Attesterrole o Evaluates trustworthiness during manufacturing, supply chain and onboardinghas the following duties in order to create Evidence: oProducesmonitoring trustworthinessassertions applicable to the Attestor roleattributes of other Computing Environments, oEmbedscollecting trustworthinessassertionsattributes and create Claims aboutthe Attester role in the device or service during manufacturing, supply chain or onboarding 4.1.4. Relying Party Dutiesthem, oEvaluate assertions/evidence locally as far as possible o Compare trust policies to attestation-results based on assertions or evidenceserialize Claims using interoperable representations, oEnforce policies or create inputprovide integrity protection forrisk engines 4.1.5. RATS Interactionsthe sets of Claims, and o add appropriate attestation provenance attributes about the sets of Claims. 3.2. Trustworthiness Theflowtrustworthiness ofinformation between RATS Roles located on RATS Actors compose individualremote attestationprocedures. The RATS Architecture providescapabilities is also aset of standard interactions betweenconsideration for the RATSRoles defined in this document in orderarchitecture. It should be possible toenable this composability. In this section, common interactions between roles are specified. This list of interactions is not exhaustive, but providesunderstand thebasis to create various standard RATS. Every RATS Interaction specified below is based ontrustworthiness properties of theinformationremote attestation capability for any set of claims of a remote attestation flowbetween two RATS Roles defined above. Every RATS Interaction is conductedviaan Interconnect between corresponding RATS Roles that RATS Actors take on. If more than oneverification operations. The RATSRole resides onarchitecture anticipates recursive trustworthiness properties and thesame RATS Actor, a network protocol might not be required. If RATS Roles are collapsed intoneed for termination. Ultimately, asingular RATS Actor in this way, the methodportion ofconveying informationa computing environment's trustworthiness isout-of-scope ofestablished via non-automated means. For example, design reviews, manufacturing process audits and physical security. For thisdocument. If network protocols are used to convey corresponding information betweenreason, trustworthy RATSRoles (collapseddepend ona singular RATS Actor or not), the definitionstrustworthy manufacturing andrequirements defined in this document apply. In essence, an Interconnect is an abstract "distance-less" channel betweensupply chain practices. 3.3. RATSActors that can range from General Purpose Input Output (GPIO) interfaces to the Internet. Attester/Verifier:Workflow ThemostbasicRATS 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 prooffunction oftheir validity) thisRATSInteractionisrequired. 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, thecreation, conveyance and appraisal ofthe evidence presented by anattestation Evidence. An Attesterprovided in order to assess its trustworthiness requires a remotecreates attestationservice. Hence, either the RATS roles of Verifier and Relying PartyEvidence that arecollapsed 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 serviceconveyed toinitiateaRATS InteractionVerifier for appraisal. The appraisals compare Evidence withan appropriate and trusted Verifier. Attestation information originatingexpected Known-Good-Values called obtained froman AttesterAsserters (e.g. Prinicipals thatis relayed via a Relying Party must be protected from replay or relay attacks, accordingly. In a closed ecosystem, trustworthiness with respect to the Attesterare Supply Chain Entities). There can beachieved via a simply query to the Verifier. In an open ecosystem, the information conveyed in this interaction can include integrity measurementsmultiple forms ofevery distinguishableappraisal (e.g., softwarecomponent that has been executed since its last boot cycle. In the scope of RATS, this interaction encompassesintegrity verification, device composition and configuration verification, device identity and provenance verification). Attestation Results are thelargest varietyoutput ofinformation conveyed. Claimant/Verifier: The intended operational state an Attester is intended to be in, is defined by the supply chain entities that manufactureappraisals. Attestation Results are signed andmaintain the Attestor. In order to appraise trusted assertions or evidenceconveyedby the Attester, every distinguishable system component the Attester is composed of canto Relying Parties. Attestation Results providetrusted assertions or evidence about its trustworthiness. A corresponding verifier that is tasked with assessingthetrustworthiness ofbasis by which theAttester potentially requiresRelying Party may determine amultitude of sourceslevel ofreference values accordingconfidence topolicies andplace in theinformation provided. As Relying Parties often have to discover an appropriateapplication data or operations that follow. RATS architecture defines attestation Roles (i.e., Attester, Verifier,a Verifier has to obtainAsserter andpotentially 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 involvesRelying Party), the messages they exchange, their structure and the varioustypes of roots of trust. In other cases shielded pre-master secretslegal ways incombination 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 alsowhich Roles may beused to assert the trustworthiness on behalf of a separatehosted, combined and divided (see Principals below). RATSActor or they can originate frommessages are defined by anexternal entity (e.g. a security certification authority). 5. Application of RATS Attesterinformation model that defines Claims, environment and protocol semantics. Information Model representations aretypically composite devices (in the caserealized as data structure and conveyance protocol binding specifications. 3.4. Interoperability between RATS The RATS architecture anticipates use ofatomically integrated devicesinformation modeling techniques thatwould result in a composite device with one component) or services. Services are software componentsdescribe computing environment structures -e.g. a daemon, a virtual network function (vnf) or a network security function (nsf)their components/computational elements and corresponding capabilities - so thatcan resideverification operations may rely onone or more Attester and are not necessarily boundthe information model as an interoperable way toa specific set of hardware devices. Relevant decision-factors that influencenavigate thecomposition of RATS Roles on RATS Actors, which result in specific work-flows are (amongst others): o which RATS Role (or correspondingly, whichstructural complexity. 4. RATSActore that is taking on specificArchitecture 4.1. Goals RATSroles) is triggering a Remote Attestation Procedure o which entities are involved in a Remote Attestation Procedure (e.g.architecture has theAttester itself, trusted third parties, specific trust anchors, or other sources of assertions)following goals: othe capabilitiesEnable semantic interoperability ofthe protocols used (e.g. challenge-response based, RESTful, or uni-directional)attestation semantics through information models about computing environments and trustworthiness. othe security requirementsEnable data structure interoperability related to claims, endpoint composition / structure, andsecurity capabilitiesend-to-end integrity and confidentiality protection mechanisms. o Enable programmatic assessment ofsystems intrustworthiness. (Note: Mechanisms that manage risk, justify adomainlevel ofapplicationconfidence, or determine a consequence of an attestation result are out of scope). o Provide therisks and corresponding threats that are intended to be mitigated 5.1. Trustbuilding blocks, including Roles andTrustworthiness [RFC4949] provides definitionsPrincipals thathighlight the difference between a "trusted system" and a "trustworthy system". The following definitions excludeenable theexplicit specializationcomposition ofconceptsservice-chains/hierarchies and workflows thatare "environmental disruption" as well as "human usercan create andoperator errors". A trusted system inappraise evidence about thecontexttrustworthiness ofRATS "operates as expected, according to designdevices andpolicy, doing what is requiredservices. o Use-case driven architecture andnot doing other things" [RFC4949]. A trustworthy system is a system "that not only is trusted, but also warrants that trust because the system's behavior can be validateddesign (RATS use cases are summarized insome convincing way, such as through formal analysis or code review" [RFC4949]. The goal of RATS is to convey information about system component characteristics, such as integrity or authenticity,[I-D.richardson-rats-usecases]). o Terminology conventions thatcan be appraised in a convincing way.are consistently applied across RATSrequire trust relationships with third parties that qualify assertions about, for example, origin of data, the manufacturer or the capabilities of a system, or the origination of attestation evidence (attestation provenance). Withoutspecifications. o Reinforce trustedauthorities (e.g. a certificate authority) it is virtually impossible to assess the level of assurance (or resulting level of confidence, correspondingly) of information producedcomputing principles that include attestation. 4.2. Attestation Principles Specifications developed byRATS. Trusting a system does not make it trustworthy. Assessing trustworthiness requirestheconveyance of evidence that a system is a trustworthy system, which has to originate fromRATS working group apply thesystem itself and has tofollowing principles: o Freshness - replay of previously asserted Claims about an Attested Computing Environment can beconvincing. Ifdetected. o Identity - theconvincing informationAttesting Computing Environment isnot originating from the system itself, it comprises trusted claim sets and not evidence. In essence,identifiable (non-anonymous). o Context - theattestation provenance of attestation evidenceAttested Computing Environment is well-defined (unambiguous). o Provenance - thesystem that intendsorigin of Claims with respect topresent its trustworthiness in a believable manner. The essential basis for trust intheinformation created via RATS are roots of trust. Roots of trustAttested and Attesting Computing Environments aredefined byknown. o Validity - theNIST special publication 800-164 draft as "security primitives composed of hardware, firmware and/or software that provide a set of trusted, security-critical functions. They must always behave in anexpectedmanner because their misbehavior cannot be detected. As such, RoTs need to be secured by their design. Hardware RoTs are preferred over software RoTs due to their immutability, smaller attack surface, and more reliable behavior." If the rootlifetime oftrust involvedClaims about an Attested Computing Environment isa root of trust for measurement (RTM),known. o Relevance - theproducer of information takes onClaims associated with therole of a asserter. An asserter can also make use of a root of trust for integrity (RTI) in orderAttested Computing Environment pertain toincreasetrustworthiness metrics. o Veracity - thelevelbelievability (level ofassurance in the assertions produced. If the rootconfidence) oftrust involvedClaims isa root of trust for reporting (RTR), the producer of information takesbased onthe role of an attester. 5.2. Claimsverifiable proofs. 4.3. RATS Roles andEvidenceMessages The RATSasserter role produces measurements about the system's characteristics in the form of signed (sometimes un-signed) claim sets in order to convey information. A secret signing key is required for this procedure, which is typically stored in a shielded location that can be trusted, for example, via a root of trust for storage (RTS). TheRoles (roles) are performed by RATSattester role produces signed attestation evidence in order to convey information.Principals. Thesecret key required for this procedure is stored in a shielded location that only allows access to that key, if a specific operational state ofRATS Architecture provides thesystem is met. The trust with respectbuilding blocks tothis origination is based on a root of trust for reporting. 5.3.compose various RATSInformation Flows There are sixrolesdefined in theby leveraging existing and new protocols. It defines architecture for composing RATSarchitecture. iFigure 2roles with principals and models their interactions. Figure Figure 1 providesa simplifiedan overview of the relationships between RATS Rolesdefined above, illustrating a general Interconnect inand thecenter that facilitates all RATS Interactions. +------------+ +------------------+messages they exchange. +----------------+ +-----------------+ | | Known-Good-Values | | |Attester | +->|Asserter(s) |-------------------->| Verifier | | | Endorsements /-->| | +----------------+ | +-----------------+ |+------------+|+------------------+ ^| | | |+----------------+|+---->| |<-+|Attestation |Interconnect|Results |+---->| |<-+|+----------------+|v|+------------+|+------------------+v +----------------+ | +-----------------+ | | Evidence | | |Claimant|+->|Attester |-----------------/ | Relying Party | | | | |+------------+ +------------------++----------------+ +-----------------+ Figure2: Overall Relationships of Roles in the1: RATSArchitecture 6. Exemplary Composition ofRolesIn order to provide an intuitive understanding how the roles used in4.3.1. Roles RATScan be composed into work-flows, this document provides a few example work-flows. Boxes in the following examples that include more than one role are systems that take on more than one role. 6.1. Conveyance of Trusted Claim Sets Validated by Signature If there is a trust relationship between a trusted third party that can assert that signed claims created by a claimant guarantee a trustworthy origination of claim, the work-flow depicted in Figure 3 can facilitate a trust-based implicit remote attestation procedure. The information conveyed are signed claim sets thatroles aretrusted via an authoritative third party. In this work-flow claim emission is triggered by the claimant. Variations based on requests emitted by the relying party can be easily facilitated by the same set of roles. +-----------+ +------------+ +----------------+ | | | | | | | Relying | | Claimant |->| Interconnect |--->| Party | | | | | | | +------------+ +----------------+ +-----------+ Figure 3: Conveyance of Trusted Claim Sets Validated by Signature 6.2. Conveyance of Attestation Evidence Appraisedimplemented bya Verifier 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 Figure 4 can facilitate an evidence-based explicit remote attestation procedure. The information conveyed is signed attestation evidenceprincipals thatis created by the trusted verifier. In this work-flow claims do not necessarily havepossess cryptographic keys used tobe signedprotect andthe work-flow is triggered by the attestor that aggregates claims from a root of trust of measurement. Variations based on requests emitted by the verifier can be easily facilitated by the same set of roles. +------------------+ +----------------------+ | | | +----------------+ | | +------------+ | +----------------+ | | | | | | | | | | | | | | | | Attester |--+->| Interconnect |--+->| Verifier | | | | | | | | | | | | | +------------+ | +----------------+ | +----------------+ | | ^ | | | | | | | | v | | | | | +-----------+ | | +-----+------+ | | | | | | | | | | | Relying | | | | Claimant | | | | Party | | | | | | | | | | | +------------+ | | +-----------+ | | | | | +------------------+ +----------------------+ Figure 4: Conveyance ofauthenticate Claims or Results. Attester: An Attestation Function that creates EvidenceAppraisedby collecting, formatting and protecting (e.g., signing) Claims. It presents Evidence to a Verifier7. The Scope of RATS During its evolution, the term Remote Attestation has been used in multiple contexts and multiple scopes and in consequence accumulated various connotations with slightly different semantic meaning. Correspondingly, Remoteusing a conveyance mechanism or protocol. Verifier: An AttestationProcedures (RATS) are employed in various usage scenarios and different environments. In order to better understand and grasp the intent and meaning of specific RATS in the scope of the security area - including the requirementsFunction thatare addressed by them - this document provides an overview of existing work, its background, and common terminology. As the contribution,accepts Evidence fromthat state-of-the-art a set of terms that provides a stable basis for future work on RATS in the IETF is derived. In essence, a prerequisite for providinganadequate set of terms and definitions for the RATS architecute is a general understanding andAttester using acommon definitions of "what" RATS can accomplish "how" RATS can to be used. Please note that this section is still missing various referencesconveyance mechanism or protocol. It also accepts Known-Good-Values andis considered "under construction". The majority of definitions is still only originatingEndorsments fromIETF work. Future iterations will pull in more complementary definitions from other SDO (e.g. Global Platform, TCG, etc.) andan Asserter using ageneral structure templateconveyance mechanism or protocol. It verifies the protection mechanisms, parses and appraises Evidence according tohighlight semantic relationshipsgood-known valid (or known-invalid) Claims andcapable of resolving potential discrepancies will be introduced. A section of context awareness will provide further insight on howEndorsments. It produces Attestationprocedures are vital to ongoing work in the IETF (e.g. I2NSF & tokbind). The definitions in the section about RATSResults that arestill self-describing in this version. Additional explanatory text will be added to provide more contextformatted andcoherence. 7.1. The Lying Endpoint Problem A very prominent goal of RATS isprotected (e.g., signed). It presents Attestation Results toaddress the "lying endpoint problem". The lying endpoint problem is characterized asacondition ofRelying Party using aComputing Context where the information or behavior embedded, created, relayed, stored,conveyance mechanism oremitted byprotocol. Asserter: An Attestation Function that generates reference Claims about both the Attesting ComputingContext is not "correct" according to expectations ofEnvironment and theauthorized system designers, operatorsAttested Computing Environment. The manufacturing andusers. There can be multiple reasons why these expectationsdevelopment processes areincorrect, either from malicious Activity, unanticipated conditions or accidental means. The observed behavior, nevertheless, appears to be a compromised Computing Context. Attempts to "scrub" the data or "proxy" control elements implies the existence of a more fundamental trusted endpoint that is operating correctly. Therefore, Remote Attestation - the technology designedpresumed todetect and mitigate the "lying endpoint problem" - mustbetrusted to behave correctly independent oftrustworthy processes. In othercontrols. Consequently, a "lying endpoint" cannot also be a "trusted system". Remote Attestation procedures are intended to enablewords theconsumer of information emittedAsserter is presumed, by aComputing ContextVerifier, toassess the validity and integrity of the information transferred.produce valid Claims. Theapproach is based, for example, on the assumption that if attestation evidence can be provided in order to prove the integrity of every software instance installed involved in the activity of creating the emitted information in question, the emitted information can be consideredfunction collects, formats and protects (e.g. signs) valid Claims known as Endorsements andinteger. In contrast, such Evidence has to be impossibleKnown-Good-Values. It presents provable Claims tocreate if the software instances used inaComputing Context are compromised. Attestation activities that are intended to create this Evidence therefore also provide guarantees about the validity of the Evidence they can create. 7.1.1. How the RATS Architecture Addresses the Lying Endpoint Problem RATS imply the involvement of at least two players (roles) who seek to overcome the lying endpoint problem. TheVerifierwishes to consume application data supplied byusing aComputing Context. But before application data is consumed, the Verifier obtains Attestation Evidence about the Computing Context to assess likelihood of poisoned data due to endpoint compromiseconveyance mechanism orfailure. Remoteprotocol. Relying Party: An AttestationarguesFunction thata systems's integrity characteristics should not be believed until rationale for believability is presented to the relying party seeking to interact with the system. An Interconnect defines an untrusted channel between subject and object wherein the rationale for believability is securely exchanged. The type of interconnect technology could vary widely, rangingaccepts Attestation Results fromGPIO pins, to a PC peripheral IO bus, to the Internet, toadirect physical connection, toVerifier using awireless radio-receiver association,conveyance mechanism orto a world wide mesh of peers. In other words, virtually every kind communication path could be used as the "Interconnect" in RATS. In fact, a single party could take on all roles at the same time (e.g. Self Encrypting Devices).protocol. It assesses Attestationevidence can be thought of as the topicsResults protections, parses and assesses Attestation Results according to an assessent context (Note: definition of theexchange thatassessment context iscreated the operational primitives of a rootout-of-scope). 4.3.2. Role Messages Claims: Statements about trustworthiness characteristics oftrust for reporting. Evidence may be structured inaninteroperable format called claims that may include references to the claimants which are asserting the claims. RATS aims to define "interoperable Remote Attestation" such that evidence can be created and consumed by different ecosystem systems and can be securely exchanged by a broad set of network protocols. 8. RATS Terminology This document relies on terminology found in [RFC4949]. This document presumes the reader is familiar with the following terms. o Cryptography o Entity (System entity) o Identity o Object o Principal o Proof-of-possession protocol o Security environment (Environment) o Security perimeter o Subject o Subsystem o System o Target-of-Evaluation (TOE) o TrustedAttested ComputingBase (TCB) o Trusted Platform Module (TPM) o Trusted (Trustworthy) system o Verification Terminology defined by this document is preceded by a dollar sign ($) to distinguish it from terms defined elsewhere and asEnvironment. The veracity of away to disambiguate term definition from explanatory text. Terms defined by this document that are subsequently used by this document are distinguishedClaim is determined bycapitalizingthefirst letterreputation of theterm (e.g. Term or First_word Second_word). 8.1. Computing Context This section introduces the term Computing Context in order to specializeentity making thenotions of environmentClaim. (Note: Reputation may involve identifying, authenticating andendpoint to terminology that has relevance to trusted computing. Attestation is a discipline of trusted computing. A Computing Context could refertracking transactions associated with an entity. RATS may be used toa large variety of endpoints. Examples includeestablish entity reputation, butarenotlimited to: the compartmentalization of physical resources, the separation of software instances with different dependencies in dedicated containers, and the nesting of virtual components via hardware-based and software-based solutions. The number of approachesexclusively. Other reputation mechanisms are out-of- scope). Evidence: Claims that are formatted andtechniques to constructprotected by anendpoint continuously changes with new innovation. Hence, it isn't a goal of this document to define remote attestationAttester. Evidence SHOULD satisfy Verifier expectations fora fixed set of endpoints. Rather, it attempts to define endpoints conceptuallyfreshness, identity, context, provenance, validity, relevance andrely onveracity. Known-Good-Values: Claimsmanagement as a way to clarifyabout thedetails and specific attributes of conceptual endpoints.Attested ComputingContexts may be recursive in nature in that it could be composed of a system that is itself a composite of subsystems. In consequence, a system may be composed of other systems that may be further composedEnvironment. Typically, KGV Claims are message digests ofonefirmware, software ormoreconfiguration data supplied by various vendors. If an Attesting ComputingContexts capable of taking on the RATS roles. The scope and application of these roles can range from: o Continuous mutual Attestation procedures of every subsystem insideEnvironment implements cryptography, they include Claims about key material. Like Claims, Known-Good-Values SHOULD satisfy acomposite device, to o Sporadic Remote Attestation of unknown parties via heterogeneous Interconnects. Analogously, the increasing number of featuresVerifier's expectations for freshness, identity, context, provenance, validity, relevance andfunctions that constitute components of a device start to blur the lines thatveracity. Known-Good-Values arerequired to categorize each solution and approach precisely. To address this increasingly challenging categorization, the term Computing Context defines the characteristics of the (sub)systems that can take on the role of an Attester and/or the role of a Verifier. This approach is intended to provide a stable basis of definitions for future solutions that continuous to remain viable long-term. $ Computing Context : An umbrella termreference Claims thatcombines the scope of the definitions of endpoint [ref NEA], device [ref 1ar], and thing [ref t2trg], including hardware-basedare - like Evidence - well formatted andsoftware-based sub- contexts that constitute independent, isolatedprotected (e.g. signed). Endorsements: Claims about immutable anddistinguishable slicesimplicit characteristics ofathe Attesting ComputingContextEnvironment. Typically, endorsement Claims are created bycompartmentalization mechanisms, such as Trusted Execution Environments (TEE), Hardware Security Modules (HSM)manufacturing orVirtual Network Function (VNF) contexts. 8.1.1. Characteristics of a Computing Context While the semantic relationships highlighted above constitute the fundamental basis to provide a define Computing Context, the following list of object characteristics issupply chain entities. Endorsements are intended toimprove the application of the term and provide a better understanding of its meaning: $ Computing Context Characteristics: A representation ofincrease theidentity, composition, configuration and statelevel ofa Computing Context. Computing context characteristics provide the following: * An independent environment in regard to executing and running software, * An isolated control plane state (by potentially interacting with other Computing Contexts), * A dedicated management interface by which control plane behavior can be effected, * Unique identification towards reliable disambiguation within a given scope. Computing context characteristics do not necessarily include a network interfaceconfidence withassociated network addresses (as required by the definition of an endpoint) - although it is very likelyrespect tohave (access to) one. [Issue: This conclusion could be incorrect] In contrast, a container [ref docker, find a more general term here] context is not a distinguishable isolated slice of an information system and therefore is notEvidence created by anindependent Computing Context. [more feedback on this statement is required asAttester. Attestation Results: Statements about thecapabilitiesoutput ofdocker-like functions evolve continuously] Examples include: a smart phone, a nested virtual machine, a virtualized firewall function running distributed on a clusteran appraisal ofphysical and virtual nodes, or a trust-zone. 8.1.2. Computing Context Semantic Relationships Computing Contexts may relate to other Computing ContextsEvidence that aredecomposable in a variety of ways. o Singleton, o Tuples (e.g. 2-tuple, n-tuple), o Nested, o Clustered (homogeneous), o Grouped (heterogenous). The scope of Computing Context encompasses a broad spectrum of systems including, but not limited to: o An information system, o An object, o A composition of objects, o A system component, o A system sub-component, o A composition of system sub-components, o A system entity, o A composition of system entities. A Computing Context may be realized in a variety of ways including, but not limited to: o A process, thread or task as defined by an operating system, o A privileged operating system task, interrupt handler or event handler, o A virtual machine, o A virtual machine monitor, o A processor mode (e.g. system management mode), o A co-processor, o A peripheral device, o A secure element, o A trusted execution environment, o A controller, sensor, actutor, switch, router or gateway, o An FPGA, o An ASIC, o A memory resource, o A storage resource. Analogously, a computing sub-context is a decomposition of a Computing Context; a subsystem is a decomposition of a system; a sub- component is a decomposition of a component;created, formatted and protected by apeer node is a decomposition of a node cluster. A formal semantic relationship is therefore expressed using an information model that captures interactions, relationships, bindings and interfaces among systems, subsystems, system components, system entities or objects. [Issue: A tangible relationship to an information model is required here] An information model that richly captures Computing Context semantics is therefore believed to be relevant if not fundamental to Remote Attestation. 8.1.3. Computing Context Identity The identity of a Computing Context implies there is a binding operation between an identifier and the Computing Context. $ Computing Context Identity: Computing Context Identity providesVerifier. Attestation Results provide the basis forassociating attestation Evidence aboutaparticular Computing ContextRelying Party tocreate believable knowledge about attestation provenance. Confidence in the identity assurance level [NIST SP-800-63-3] or the assurance levels for identity authentication [RFC4949] isestablsh apropertylevel ofthe identifier uniqueness properties and binding operation veracity. Such properties impactconfidence in the trustworthiness ofassociated attestation Evidence. 8.2. Remote Attestation Conceptsan Attester. AttestationEvidence created byResults SHOULD satisfy Relying Party expectations for freshness, identity, context, provenance, validity, relevance and veracity. 4.4. RATSis a form of telemetry about aPrincipals RATS Principals are entities, users, organizations, devices and computingenvironment that enables better security risk management through disclosure of security properties of the environment. Attestationenvironments (e.g., devices, platforms, services, peripherals). RATS Principals maybe performed locally (within the same computing environment)implement one orremotely (between different computing environments). The exchange of attestation evidence can be formalized to include well-defined protocol, message syntax and semantics. 8.3. Coremore RATSTerminology $ Attestation: The creation of evidence by the Attester based on measurements or other claimant output. A form of telemetry involving the delivery of Claims describing various security properties of a Computing Context by an Attester, such that the Claims can be used as Evidence toward convincing a Verifier regarding trustworthiness of the Computing Context. $ Conveyance: The transfer of Evidence from the Attester toRoles. Role interactions occurring within theVerifier. $ Verification:same RATS Principal are out-of- scope. Theappraisal of Evidence by the Verifier who evaluates it against a reference policy. See also RFC4949 [1]. $ Remote Attestation: A procedure involving Attestation, Conveyance and Verification. 8.4.methods whereby RATSInformation Model Terminology Evidence conveyed to a Verifier by an Attester is structured to facilitate syntactic and semantic interoperability. An information model defines the tag namespaces used to create tag-value pairs containing discrete bits of Evidence. $ Evidence: A set of Measurements, quality metrics, quality procedures or assurance criteria about an Computing Context's behavioral, operational and intrinsic characteristics. $ Claim: Structured Evidence asserted about a Computing Context. It contains metadata that informs regarding the type, class, representation and semantics of Evidence information. A Claim is represented as a name-value pair consisting of a Claim NamePrincipals may be identified, discovered, authenticated, connected anda Claim Value [RFC7519]. In the context of SACM, a Claim is also specialized as an attribute-value pairtrusted, though important, are out-of- scope. Principal operations thatis intended to be related to a statement [I-D.ietf-sacm-terminology]. $ Attestable Claim: Structured Evidence including oneapply resiliency, scaling, load balancing ormore Claims thatreplication areasserted by a Claimant (Note: an Attester role doubles as a Claimant role). An Attestable Claim has the following structure: 1. A Claim or Claims. 2. A Claimant identity. 3. Proof of Claimant identity. 4. Proof the Claimant intendedgenerally believed tomake these Claims. Note: Proofs of Claims assertions may be separated from the Claim itself. For example, a secure transport over which Claims are conveyed where Claimant's signing key integrity protects the transport payload could be used as proof of Claim assertion. Alternatively, each Claim couldbeseparately signed by a Claimant. $ Attested (Asserted) Claim: An Attestable Claim where the proof elements are populated. $ Evidence (Claims) Creation: Instantiation of Attested Claims by a Claimant. $ Evidence (Claims) Collection: Assembling of Attested Claims by an Attester for the purpose of Conveyance. $ Verified (Valid) Claim: An Attested Claim where the proof elements have been verified by a Verifier according to a policy that identifies trusted Claimants and/or trusted Evidence values. 8.5.out-of-scope. +------------------+ +------------------+ | Principal 1 | | Principal 2 | | +------------+ | | +------------+ | | | | | | | | | | | Role 1 |<-|---|->| Role 2 | | | | | | | | | | | +------------+ | | +------------+ | | | | | | +-----+------+ | | +-----+------+ | | | | | | | | | | | Role 2 |<-|---|->| Role 3 | | | | | | | | | | | +------------+ | | +------------+ | | | | | +------------------+ +------------------+ Figure 2: RATSWork-Flow Terminology This section introduces terms and definitions that are required to illustrate the scope and the granularity ofPrincipals-Role Composition RATSworkflows in the domain of security automation. Terms defined inPrincipals have the followingsections will be based on this workflow-related definitions. In general, RATS are composedproperties: o Multiplicity - Multiple instances ofiterative activitiesRATS Principals thatcan be conducted in intervals. It is neither a generic set of actions nor simply a task, becausepossess theactual actions to be conducted bysame RATS Roles canvary significantly depending on the protocols employed and types of Computing Contexts involved. $ Activity: A sequence of actions conducted by Computing Contexts that compose a Remote Attestation procedure. The actual composition of actions can vary, depending on the characteristics of the Computing Context they are conducted by/in and the protocols used to utilize an Interconnect. A single Activity provides only a minimal amount of semantic context, e.g.defined by the Activity's requirements imposed upon the Computing Context, or via the set of actions it is composed of. Example: The Conveyance of cryptographic Evidence or the appraisal of Evidence via imperative guidance. $ Task: A unit of work to be done or undertaken. In the scope of RATS, a task is a procedure to be conducted. Example: A Verifierexist. o Composition - RATS Principals possessing different RATS Roles can betasked with the appraisal of Evidence originating from a specific type of Computing Contexts providing appropriate identities. $ Action: The accomplishment of a thing usually over a period of time, in stages, or with the possibility of repetition. In the scope of RATS, an action is the execution of an operation or function in the scope of an Activity conducted bycombined into aComputing Context. A single action provides no semantic context by itself, although it can limit potential semantic contexts ofsingleton RATSto a specific scope. Example: Signing an existing public key via a specific openssl library, transmitting data, or receiving data are actions. $ Procedure: A series of actions that are done in a certain way or order. InPrincipal possessing thescope of RATS, a procedure is a composition of activities (sequences of actions) that is intended to create a well specified result with a well established semantic context. Example: The activitiesunion ofAttestation, Conveyance and Verification compose a Remote Attestation procedure. 8.6.RATSReference Use Cases A "lying endpoint"Roles. RATS Interactions between combined RATS Principals isnot trustworthy. This document provides NNN prominent examples of use cases Attestation procedures are intended to address: o Verification of the source integrity of a Computing Context via data integrity proofing of installed software instances that are executed, anduninteresting. oVerification of the identity proofing of a Computing Context. 8.6.1. Use CaseDecomposition - A8.6.2. Use Case B 8.7.singleton RATSReference Terminology $ Attestable Computing Context: A Computing Context where a Claimant is able to create Claims, an Attester is able to Attest those Claims and a Verifier is able to verify the Claims. $ Attestation Identity: An identity that refers to an Attester. $ Attestation Identity Credential: A credential used to authenticate an Attestation Identity. $ Attestation Identity Key (AIK): An Attestation Identity Credential in the form of an asymmetric cryptographic key where the AIK private key is protected by a Computing Context with protection properties that are stronger than the Computing Context about which the AIK attests. A root-of-trust Computing Context normally protects AIK private keys. $ Claimant Identity: An identity that refers to an Claimant. $ Claimant Identity Credential: A credential used to authenticate a Claimant Identity. $ Measurements / Integrity Measurements: Metrics of Computing Context characteristics (i.e. composition, configuration and state) that affect the confidence in the trustworthiness of a Computing Context. Digests of integrity MeasurementsPrincipal possessing multiple RATS Roles can bestored in shielded locations (e.g. a PCR of a TPM). $ Reference Integrity Measurements: Signed Measurements about a Computing Context's characteristics that are provided by a vendor or manufacturerdivided into multiple RATS Principals. RATS Interactions may occur between them. 5. Security Considerations RATS Evidence, Verifiable Assertions andare intended to be used as declarative guidannce [I-D.ietf-sacm-terminology] (e.g. a signed CoSWID). $ Root-of-trust: The Computing ContextResults SHOULD use formats thatprotects the following where no other Computing Context is expected to provide its Attestation Evidence: + Attestation Evidence. + AIKs. + Code used during the collection and reporting of Attestation Evidence. $ Root-of-trust-for-measurement (RTM): A trusted Computing Context where a Claimant createssupport end-to-end integrityMeasurementsprotection andother Evidence aboutMAY support end-to- end confidentiality protection. Replay attack prevention MAY be supported if aComputing Context where no other Computing ContextNonce Claim isexpected to provide its Attestation Evidence. $ Root-of-trust-for-reporting (RTR): A trusted Computing Context where an Attester stages reporting ofincluded. Nonce Claimswhere no other Computing Context is expected to provide its Attestation Evidence. $ Root-of-trust-for-storage (RTS): A trusted Computing Context where a Claimaint or Attester stores Claims, Evidence, credentials or policies associated with Attestation where nooften piggy- back otherComputing Context is expected to provide its Attestation Evidence. $ Trustworthy Computing Context: A Computing Context that guarantees trustworthy behavior and/or composition (with respect to certain declarative guidance and a scope of confidence). A trustworthy Computing Context is a trustworthy system. <NMS: is this necessary?> Trustworthy Statement: Evidence conveyed by a Computing Context that is not necessarily trustworthy. [update with tamper related terms] 8.8. Interpretations of RFC4949 Terminology for Attestation Assurance: An attribute of aninformationsystem that provides grounds for having confidence that the system operates such that the system's security policy is enforced [RFC4949] (see Trusted System below). In common criteria, assurance is the basis for the metric level of assurance, which represents the "confidence that a system's principal security features are reliably implemented". The NIST Handbook [get ref from 4949] notes that the levels of assurance defined in Common Criteria represent "a degree of confidence, not a true measure of how secure the system actually is. This distinction is necessary because it is extremely difficult-and in many cases, virtually impossible-to know exactly how secure a system is." Historically, assurance was well-defined in the Orange Book [http://csrc.nist.gov/publications/history/dod85.pdf] as "guaranteeing or providing confidence that the security policy has been implemented correctlyand can convey attestation semantics thatthe protection-relevant elements of the system do, indeed, accurately mediate and enforce the intent of that policy. By extension, assurance must include a guarantee that the trusted portion of the system works only as intended." Confidence: The definitionare ofcorrectness integrity in [RFC4949] notes that "source integrity refers to confidence in data values". Hence, confidence in an Attestation procedure is referringessence to RATS, e.g. thedegree of trustworthiness of an Attestation Activity that produces Evidence (Attester), of an Conveyance Activity that transfers Evidence (interconnect), and of a Verification Activity that appraises Evidence (Verifier), in respect to correctness integrity. Correctness: The propertylast four bytes of asystem that is guaranteed as the result of formal Verification activities. Correctness integrity: The property that the information representedchallenge nonce could be replaced bydata is accurate and consistent. Data Integrity: (a) The property that data has not been changed, destroyed, or lost in an unauthorized or accidental manner. (See: data integrity service. Compare: correctness integrity, source integrity.) (b) The property that information has not been modified or destroyed in an unauthorized manner. Entity: A principal, Subject, relying party or stake holder in an Attestation ecosystem. Identity: The set of attributes that distinguishes a principal. Identifier: The set of attributes that distinguishes an object. Identity Proofing: A vetting process that verifies the information used to establish the identity of a system entity. (Information) System: An organized assembly of computing and communication resources and procedures - i.e., equipment and services, together with their supporting infrastructure, facilities, and personnel - that create, collect, record, process, store, transport, retrieve, display, disseminate, control, or dispose of information to accomplish a specified set of functions. Object: A system component that contains or receives information. Source Integrity: The property that data is trustworthy (i.e., worthy of reliance or trust), based onthetrustworthinessIPv4 address-value ofits sources andthetrustworthiness of any procedures used for handling data in the system. Subject: A Computing Context actingAttester inaccordance with the interests of a principal. Subsystem: A collection of related system components that together perform a system function or deliver a system service. System Component: An instance of a system resource that (a) forms a physical or logical part of the system, (b) has specified functions and interfaces, and (c) is extant (e.g., by policies or specifications) outside ofits response. All otherparts of the system. (See: subsystem.) An identifiable and self-contained part of a $Target-of- Evaluation. Token: A data structure suitable for containing Claims. Trusted (Trustworthy) System: A system that operates as expected, according to design and policy, doing what is required - despite environmental disruption, human user and operator errors, andattacksby hostile parties - andinvolving RATS structures are notdoing other things. Verification: (a) The process of examining information to establish the truthexplicitly addressed by RATS architecture. Additional security protections MAY be required ofa claimed fact or value. (b) The processconveyance mechanisms. For example, additional means ofcomparing two levelsauthentication, confidentiality, integrity, replay, denial ofsystem specification for proper correspondence, such as comparing a security model with a top-level specification, a top-level specification with source code, or source code with object code. 8.9. Building Block Vocabulary (Not in RFC4949) [working title, pulled from various sources, vital] Attribute: TBD Characteristic: TBD Context: TBD Endpoint: TBD Environment: TBD Manifest: TBD Telemetry: An automated communications process by which data, readings, Measurements and Evidence are collected at remote pointsservice andtransmitted to receiving equipment for monitoringprivacy protection of RATS payloads andanalysis. Derived from the Greek roots tele = remote, and metron = measure. 9. IANA considerations This document will include requests to IANA: o first item o second item 10. Security Considerations There are always some. 11. Acknowledgements Maybe. 12. Change Log No changes yet. 13.Principals may be needed. 6. References13.1.6.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. [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.6.2. Informative References[I-D.ietf-sacm-terminology] Birkholz, H., Lu, J., Strassner, J., Cam-Winget, N., and A. Montville, "Security Automation and Continuous Monitoring (SACM) Terminology", draft-ietf-sacm- terminology-16 (work in progress), December 2018. [I-D.mandyam-eat] Mandyam, G., Lundblade, L., Lundblade, L., Ballesteros,[ABLP] Abadi, M., Burrows, M., Lampson, B., andJ. O'Donoghue, "The Entity Attestation Token (EAT)", draft-mandyam-eat-01 (work in progress), November 2018.G. Plotkin, "A Calculus for Access Control in Distributed Systems", Springer Annual International Cryptology Conference, page 1-23, DOI 10.1.1.36.691, 1991. [DOLEV-YAO] Dolev, D. and A. Yao, "On the security of public key protocols", IEEE Transactions on Information Theory Vol. 29, pp. 198-208, DOI 10.1109/tit.1983.1056650, March 1983. [I-D.richardson-rats-usecases] Richardson, M., Wallace, C., and W. Pan, "Use cases for Remote Attestation common encodings",draft-richardson-rats-usecases-00draft-richardson- rats-usecases-04 (work in progress),MarchJuly 2019.[I-D.tschofenig-rats-psa-token] Tschofenig, H., Frost, S., Brossard, M.,[Lampson2007] Lampson, B., "Practical Principles for Computer Security", IOSPress Proceedings of Software System Reliability andA. Shaw, "Arm's PlatformSecurity, page 151-195, DOI 10.1.1.63.5360, 2007. [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC Text on SecurityArchitecture (PSA) Attestation Token", draft-tschofenig-rats-psa-token-00 (work in progress), March 2019.Considerations", BCP 72, RFC 3552, DOI 10.17487/RFC3552, July 2003, <https://www.rfc-editor.org/info/rfc3552>. [RFC4949] Shirey, R., "Internet Security Glossary, Version 2", FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007, <https://www.rfc-editor.org/info/rfc4949>.[RFC7519] Jones,[RFC5209] Sangster, P., Khosravi, H., Mani, M.,Bradley, J.,Narayan, K., andN. Sakimura, "JSON Web Token (JWT)",J. Tardo, "Network Endpoint Assessment (NEA): Overview and Requirements", RFC7519,5209, DOI10.17487/RFC7519, May 2015, <https://www.rfc-editor.org/info/rfc7519>. 13.3. URIs [1] https://tools.ietf.org/html/rfc494910.17487/RFC5209, June 2008, <https://www.rfc-editor.org/info/rfc5209>. Authors' Addresses Henk Birkholz Fraunhofer SIT Rheinstrasse 75 Darmstadt 64295 Germany Email: henk.birkholz@sit.fraunhofer.de Monty Wiseman GE Global Research USA Email: monty.wiseman@ge.com Hannes Tschofenig ARM Ltd. 110 Fulbourn Rd Cambridge CB1 9NJ UK Email: hannes.tschofenig@gmx.net Ned Smith Intel Corporation USA Email: ned.smith@intel.com