Re: [Rats] Comments on draft-birkholz-rats-architecture-01

Nicolae Paladi <nicolae.paladi@ri.se> Mon, 08 July 2019 14:45 UTC

Return-Path: <nicolae.paladi@ri.se>
X-Original-To: rats@ietfa.amsl.com
Delivered-To: rats@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C98C71201E6 for <rats@ietfa.amsl.com>; Mon, 8 Jul 2019 07:45:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=risecloud.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CiV1vylWPuvO for <rats@ietfa.amsl.com>; Mon, 8 Jul 2019 07:45:02 -0700 (PDT)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80045.outbound.protection.outlook.com [40.107.8.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7509112018A for <rats@ietf.org>; Mon, 8 Jul 2019 07:45:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=RISEcloud.onmicrosoft.com; s=selector2-RISEcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YwtOfVfsir3CEbp77BH604vgBkCqPZfQX6EroIOnofs=; b=pcCaRfodFSiakYkka62hKPtfgP9SUwkg5eAxAQlSBYGFF9nQHCoIEeix5QK5pQEjubXAXXI/rHQhuuacPKu9q4hDrQsM+PTfVSFWz1dzv+gBod/psd8ttoiKrJmPqlxfk8Jy8rv3Qbou6kAF5Ms2c7cMu63EuQw/NSFUycbOIA8=
Received: from HE1P189CA0007.EURP189.PROD.OUTLOOK.COM (2603:10a6:7:53::20) by AM5P18901MB0081.EURP189.PROD.OUTLOOK.COM (2603:10a6:203:75::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2052.18; Mon, 8 Jul 2019 14:44:58 +0000
Received: from AM5EUR02FT031.eop-EUR02.prod.protection.outlook.com (2a01:111:f400:7e1e::203) by HE1P189CA0007.outlook.office365.com (2603:10a6:7:53::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2052.19 via Frontend Transport; Mon, 8 Jul 2019 14:44:57 +0000
Authentication-Results: spf=pass (sender IP is 194.218.146.197) smtp.mailfrom=ri.se; ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=bestguesspass action=none header.from=ri.se;
Received-SPF: Pass (protection.outlook.com: domain of ri.se designates 194.218.146.197 as permitted sender) receiver=protection.outlook.com; client-ip=194.218.146.197; helo=mail.ri.se;
Received: from mail.ri.se (194.218.146.197) by AM5EUR02FT031.mail.protection.outlook.com (10.152.8.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.2052.19 via Frontend Transport; Mon, 8 Jul 2019 14:44:57 +0000
Received: from sp-mail-1.sp.se (10.100.0.161) by sp-mail-3.sp.se (10.100.0.163) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Mon, 8 Jul 2019 16:44:57 +0200
Received: from sp-mail-1.sp.se ([fe80::7d78:8db6:13df:8cc7]) by sp-mail-1.sp.se ([fe80::7d78:8db6:13df:8cc7%21]) with mapi id 15.01.1713.004; Mon, 8 Jul 2019 16:44:56 +0200
From: Nicolae Paladi <nicolae.paladi@ri.se>
To: "rats@ietf.org" <rats@ietf.org>
CC: "hannes.tschofenig@gmx.net" <hannes.tschofenig@gmx.net>, "Ned Smith (ned.smith@intel.com)" <ned.smith@intel.com>, "henk.birkholz@sit.fraunhofer.de" <henk.birkholz@sit.fraunhofer.de>, "monty.wiseman@ge.com" <monty.wiseman@ge.com>, Thomas Hardjono <hardjono@mit.edu>
Thread-Topic: [Rats] Comments on draft-birkholz-rats-architecture-01
Thread-Index: AQHVNM6n08a7P12bmUyVFL6zYsL3BKbArEYA
Date: Mon, 08 Jul 2019 14:44:56 +0000
Message-ID: <8C52026F-A4D1-4CA5-901A-C20CC2396DF5@ri.se>
References: <0189ed44bcf749c18e9b6612b2728553@oc11expo23.exchange.mit.edu>
In-Reply-To: <0189ed44bcf749c18e9b6612b2728553@oc11expo23.exchange.mit.edu>
Accept-Language: en-US, sv-SE
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3445.9.1)
x-originating-ip: [10.100.0.67]
Content-Type: multipart/alternative; boundary="_000_8C52026FA4D14CA5901AC20CC2396DF5rise_"
MIME-Version: 1.0
X-EOPAttributedMessage: 0
X-Forefront-Antispam-Report: CIP:194.218.146.197; IPV:NLI; CTRY:SE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(376002)(39860400002)(396003)(346002)(136003)(2980300002)(189003)(199004)(106002)(476003)(2351001)(126002)(2616005)(11346002)(446003)(54906003)(6116002)(3846002)(68736007)(486006)(6246003)(186003)(16586007)(316002)(14454004)(50226002)(22756006)(86362001)(478600001)(76176011)(69596002)(33656002)(336012)(4326008)(74482002)(40036005)(6916009)(33964004)(8936002)(966005)(70206006)(14444005)(229853002)(53946003)(26005)(70586007)(5660300002)(8676002)(1730700003)(30864003)(81156014)(57306001)(81166006)(7736002)(36756003)(2501003)(53546011)(53416004)(606006)(71190400001)(356004)(5640700003)(236005)(53936002)(6306002)(44832011)(54896002)(2906002)(102836004)(579004); DIR:OUT; SFP:1101; SCL:1; SRVR:AM5P18901MB0081; H:mail.ri.se; FPR:; SPF:Pass; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1;
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 80e7670c-251e-46bc-532f-08d703b2d908
X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(4709080)(1401327)(2017052603328)(7193020); SRVR:AM5P18901MB0081;
X-MS-TrafficTypeDiagnostic: AM5P18901MB0081:
X-MS-Exchange-PUrlCount: 5
X-Microsoft-Antispam-PRVS: <AM5P18901MB0081DFEDDCAFF3ED40D88E2485F60@AM5P18901MB0081.EURP189.PROD.OUTLOOK.COM>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-Forefront-PRVS: 00922518D8
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Message-Info: P36cI+MDwNnEmR6b6dScPmflnILmAyDSzqZvE+E9AvpbpnvPj3u5KcKBTbNp+NkgAPQWdysI0GANo5rHYFB6q/yQUPCVkVZPGLxHIJTWykAnMS0MkXX171P5UaA4HgBZk5q9PmC4jcVLtaPf7x99D0Q7Tlu8QUnQCgOf3ImSM08ReLaVhYDx+GVLPq0TGsTenpYDukGD5vQWAH3K7fZINqmTIeb8VP/z3wu3oOcEOvib6z+ksFmVPmYei45eHNBbNwoxH69jRxkE0WtPFQCblrZsHAWMsNP3evWGabOZOED76IpkFAgUGtjus54xY9h4LKi3HDK0t1IUSpO9s0Zw/kqNI9480pv+CbWm/KqEkuGSZhN/ZnhfIkDWYMXZoQC1nIjH1j+8C+8rs2PiJZJIyB4D0sI4Uvx1PtrO85hVZVg=
X-OriginatorOrg: ri.se
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2019 14:44:57.4746 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 80e7670c-251e-46bc-532f-08d703b2d908
X-MS-Exchange-CrossTenant-Id: 5a9809cf-0bcb-413a-838a-09ecc40cc9e8
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5a9809cf-0bcb-413a-838a-09ecc40cc9e8; Ip=[194.218.146.197]; Helo=[mail.ri.se]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5P18901MB0081
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/YQi6BqkER8Vi2V0uqtKCQWWYPRc>
Subject: Re: [Rats] Comments on draft-birkholz-rats-architecture-01
X-BeenThere: rats@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Remote Attestation Procedures <rats.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rats>, <mailto:rats-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rats/>
List-Post: <mailto:rats@ietf.org>
List-Help: <mailto:rats-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rats>, <mailto:rats-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 08 Jul 2019 14:45:09 -0000

Hello,

Some comments on draft-birkholz-rats-architecture-01<https://tools.ietf.org/html/draft-birkholz-rats-architecture-01>

3.1. RATS Roles


 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.

Root of trust for verification (RTV) is neither defined, nor introduced nor referenced anywhere in the document.


4.1.4 Relying party Duties

Evaluate assertions/evidence locally as far as possible

- The formulation  is inadequate and looks like a “wish” rather than a duty; rephrasing “as far as possible” can fix it;
- What is the difference between Evaluate vs Appraise for a Relying party? *Evaluate* becomes redundant after reading 4.1.5 RATS Interactions - paragraph “Attester/Relying Party”:

A Relying Party typically requires external help to either validate authentication information or to appraise evidence presented by an Attester.



4.1.5<https://tools.ietf.org/html/draft-birkholz-rats-architecture-01#section-4.1.5>.  RATS Interactions


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.


- “Received by” seems to be incorrect here; while the Attester “consumes assertions about itself” (as per 3.1:Attester), it seems more reasonable that the authors meant “sent by”? Otherwise the sentence should bine rewritten to make it clearer.



5.1. Trust and Trustworthiness


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. 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 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 attester.

Unless the asserter role is not a “first class” RATS role, it makes sense to describe it   already in "3.1 RATS Roles”

5.2. Claims and Evidence


The RATS asserter role produces measurements about the system’s characteristics in the form of signed (sometimes un-signed) claim sets in order to convey information.

“Sometimes un-signed” introduces a great deal of uncertainty without further explanation. The difference between signed and unsigned claim sets will have implications on the trustworthiness of the system and needs to be explained in more depth.



   The RATS asserter 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).

   The RATS attester role produces signed attestation evidence in order
   to convey information.  The secret key required for this procedure is
   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
   respect to this origination is based on a root of trust for
   reporting.

The two paragraphs are at least partly overlapping.


5.3. RATS Information Flows


There are six roles defined in the RATS architecture.

This seems to imply that “asserter” is a RATS role and should be defined in 3.1


iFigure 2 provides a simplified overview of the RATS Roles defined above

Only four roles are included in the figure. Was that intended?



7.1.1<https://tools.ietf.org/html/draft-birkholz-rats-architecture-01#section-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.  The Verifier wishes to
   consume application data supplied by a Computing 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 compromise or failure.  Remote Attestation
   argues that a systems's integrity characteristics should not be
   believed until rationale for believability is presented to the
   relying party seeking to interact with the system.

“Likelihood” implies a probabilistic approach to trustworthiness (e.g. 42% likelihood of poisoned data”). Is that really feasible? And if so, is it actually of any use? IMO trustworthiness is binary (“trustworthy or not trustworthy”), or binary and conditional/contextual (“trustworthy if used for certain actions”).




8.1.1<https://tools.ietf.org/html/draft-birkholz-rats-architecture-01#section-8.1.1>.  Characteristics of a 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),

It remains unclear - an environment independent of what? Is a TPM equally independent as a container and as an SGX enclave or a standalone discrete device? Likewise for “isolated”.


Computing context characteristics do not necessarily include a
   network interface with associated network addresses (as required by
   the definition of an endpoint) - although it is very likely to have
   (access to) one.

It is not clear what definition of endpoint the authors refer to.



8.3. Core RATS Terminology



   $ Remote Attestation:  A procedure involving Attestation, Conveyance
      and Verification.



Is remote attestation _exclusively_ consist of Attestation, Conveyance and Verification, or does it _involve_ them among other actions?



 $ 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.


The terms in parenthesis (Asserted, Claims, Claims, Valid) seem to be redundant. It is not clear what is their purpose.


Misc. comments, throughout the document:

● AttestEr and AttestOr are used concurrently. I suggest to stick to “AttestEr”.


—
Nicolae Paladi,
RISE Research Institutes of Sweden



On 7 Jul 2019, at 17:17, Thomas Hardjono <hardjono@mit.edu<mailto:hardjono@mit.edu>> wrote:


Here are some comments on draft-birkholz-rats-architecture-01.

There are several typos in the text,  but I will focus on some of the more fundamental questions.


(a) Abstract:

the goal of the RATS Architecture is
to enable interoperable interaction between the RATS Roles. Hence,
the RATS Architecture is designed to enable interoperability via
well-defined semantics of the information model (attestation
assertions/claims),...

Is it true/correct that RATS will address the semantics of the information model (and not just the syntax).

The issue of trust semantics goes very deep into the architecture of the hardware and platform, so much so that  I don't think (correct me) it is practical to compare between two hardware manufacturer platforms (e.g. Intel based PC versus Qualcomm-based iPhones) .  The best that can be achieved (correct me) is that there is a paired-matching between the Computing-Context measured/reported by the device (Attester) and the Computing-Context information (manifest) issued by the Asserter (platform or device manufacturer) and accessible to the Verifier.  The Verifier must somehow know (detect) the differences in Computing-Contexts between two distinct platforms/devices.

Or did I misunderstand the usage of the term "semantics" in this document.


(b) Page 4

One of the goals of the RATS Architecture is to provide the building
blocks - the roles defined by the RATS Architecture - to enable the
composition of service-chains/hierarchies and work-flows that can
create and appraise evidence about the trustworthiness of devices and
services.

The notion of "service-chains" or assertion-chains needs to be defined clearly (maybe in the next draft).  In fact, service-chains is a topic that is barely discussed in this draft-01.


(c) Page 5 top:

Mandatory and optional trust relationships between its Roles, that
may assume a Root-of-Trust context,

This one is confusing I think, because perhaps of the word "optional".

One of the outcome of a successful RATs interoperability scenario is to enable the establishment of trust (based on the observance of RATS-defined remote attention procedures) between the Asserter and Verifier.


(d) Page 5 Section 3.1 on RATS Role.

Claimant:

I'm assuming we going with the word "Asserter" instead of Claimant.


(e) Page 6 second paragraph:

... supply chain entities (SCE)...

Supply chain entities need to be defined.  Does this mean supply chain of components that make-up a platform (e.g. OEMs), or does it mean something else.



(f) Page 6 third pa paragraph a:

Attester: The producer of attestation evidence that has a root of trust for reporting (RTR)

Why only the RTR?  I would have thought that the Attester (e.g. my device) must also have an RTM.


(g) Page 7, last paragraph:

In general, and RATS Duties are typically associated with a
RATS Role. The list presented in this document is exhaustive.

Did you mean "exhaustive" or "non-exhaustive"


(h) Page 8, Section 4.1.2:

Acquisition and storage of appraisal policies

The term "appraisal policies" needs to be defined.  Dos it mean "processing rules" ? (akin to the X509 cert policies which define the ways to process received certs).


Verification of Attester Identity (attestation provenance)

Is this a typo?  An "Attester Identity" is not the same as the provenance of attestations.


(i) Page 12 first paragraph:

In essence, the
attestation provenance of attestation evidence is the system that
intends to present its trustworthiness in a believable manner.

This sentence sounds circular, but I think I get the intent.

Should it read something like:  The provenance of the attestation-evidence of a given system originates from the system itself, and pertains to the trustworthiness of the system.  It must be presented in a believable manner by the system to external entities, namely the Verifiers and Relying Parties.


(j) Page 12 fourth paragraph:

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.


Is this a typo?  Should this instead read ".. the role of an *Attester" (because an Attester, not the Asserter, has the RTM and possibly RTR).


(k) Page 15 Section 7.1

The Lying Endpoint Problem text should be placed in the Use Cases document, not in the Architecture doc.

The entire reason we have RATS (and indeed the whole notion of Remote Attestations) is largely due to the The Lying Endpoint Problem.


(l)  Page 21 section 8.1:

This paragraph is a good explanation of remote attestations because it talks about "telemetry", which seems core to network devices.

Perhaps this paragraph could be moved up front towards the start of the document.


(m) Page 22 Section 8.4:

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 Name and a
Claim Value

Firstly, I would avoid the use of the term "Claim" because it is already used in higher layer protocols and other organizations. The term "Assertion" is good enough for RATS.

Secondly, is the goal/deliverable for RATS to define these name-value pairs? (for both RTMs and RTRs).

The TCG uses the term "manifest" to indicate the list of expected compliments and measurements in the platform, produced by the Asserter (e.g. device manufacturer).


(n) Page 23 second-last paragraph:

Activity: A sequence of actions conducted by Computing Contexts
that compose a Remote Attestation procedure.

Should RATS care about the "activity" or actions of s given device or platform (that concludes in the generation of an attestation).  Isn't activities/actions internal to the device and the device-manufacturer.


(o) Other comments:

The diagrams from the RATS architecture presentation at IETF104 are excellent ("Evolution of RATS Architecture" and "RATS WG Scoping").  It would be good to have them represented somehow in ASCII.





-- thomas --




























_______________________________________________
RATS mailing list
RATS@ietf.org<mailto:RATS@ietf.org>
https://www.ietf.org/mailman/listinfo/rats