Re: [Rats] looking for better terms -- request for bike shed discussion

"Panwei (William)" <william.panwei@huawei.com> Thu, 09 January 2020 14:08 UTC

Return-Path: <william.panwei@huawei.com>
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 BB257120048 for <rats@ietfa.amsl.com>; Thu, 9 Jan 2020 06:08:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 6Py9PuHkM8XG for <rats@ietfa.amsl.com>; Thu, 9 Jan 2020 06:08:19 -0800 (PST)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 929E4120026 for <rats@ietf.org>; Thu, 9 Jan 2020 06:08:19 -0800 (PST)
Received: from LHREML714-CAH.china.huawei.com (unknown [172.18.7.107]) by Forcepoint Email with ESMTP id DEB2CABC56741EA18C22; Thu, 9 Jan 2020 14:08:17 +0000 (GMT)
Received: from nkgeml705-chm.china.huawei.com (10.98.57.154) by LHREML714-CAH.china.huawei.com (10.201.108.37) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 9 Jan 2020 14:08:17 +0000
Received: from nkgeml705-chm.china.huawei.com (10.98.57.154) by nkgeml705-chm.china.huawei.com (10.98.57.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 9 Jan 2020 22:08:14 +0800
Received: from nkgeml705-chm.china.huawei.com ([10.98.57.154]) by nkgeml705-chm.china.huawei.com ([10.98.57.154]) with mapi id 15.01.1713.004; Thu, 9 Jan 2020 22:08:14 +0800
From: "Panwei (William)" <william.panwei@huawei.com>
To: "Smith, Ned" <ned.smith@intel.com>, Dave Thaler <dthaler@microsoft.com>, Michael Richardson <mcr@sandelman.ca>, Laurence Lundblade <lgl@island-resort.com>
CC: "rats@ietf.org" <rats@ietf.org>, "\"Schönwälder, Jürgen\"" <J.Schoenwaelder@jacobs-university.de>
Thread-Topic: [Rats] looking for better terms -- request for bike shed discussion
Thread-Index: AQHVxXQmei33q/W/8Uu/SpKMG0vhHqfe4HoAgAAExoCAAFDHAIAATH2AgAEh3gCAAErSgIAAGaIAgACM8sA=
Date: Thu, 09 Jan 2020 14:08:14 +0000
Message-ID: <bf522a5a943e479f8aed91e06e9e449c@huawei.com>
References: <26979.1578413051@localhost> <6291CF16-BBDC-4A12-A0C0-FDFBAB494A31@island-resort.com> <20200107165432.zmpm6yilgr6fogrh@anna.jacobs.jacobs-university.de> <C7744481-277D-477A-8B0A-F7DC9F4CC273@intel.com> <0FB69139-54DE-4F1B-906F-12B83D1EDEED@island-resort.com> <31998.1578512094@localhost> <BL0PR2101MB10278A4C6B18B806320B82EEA3390@BL0PR2101MB1027.namprd21.prod.outlook.com> <DAD704E4-CB1A-47A4-A951-763363689716@intel.com>
In-Reply-To: <DAD704E4-CB1A-47A4-A951-763363689716@intel.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.138.33.152]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/klj3EtX2gO4FNiOpuIWMtKRl164>
Subject: Re: [Rats] looking for better terms -- request for bike shed discussion
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: Thu, 09 Jan 2020 14:08:23 -0000

I agree with Ned, "attester" should be the device/endpoint.

I'd like to try to use this idea to explain the confusing terms appeared in my composite device PR. I'll use the router to be the example. 

A router consists of several slots: one main control slot and some line-processing or feature-processing slots. Each slot has a TPM and a CPU and can do the measured boot within this slot. Therefore the remote attestation of the router should consider verifying all the slots.
The router is the "attester". For each slot in the router, it has an "attesting environment" (Root of Trust for Measurement) and several "target environment" (TPM, bootloader, OS, etc.), and this "attesting env" produces a set of "claims" about these "target env". 

One traditional method of doing remote attestation for this router may be the main control slot collects each set of "claims" which are separately produced by each slot, and puts all the "claims" together to be the "evidence" of the whole "attester" (maybe here some other operations like signature are also needed), then conveys the "evidence" to the "verifier" (only the main control slot can communicate with the verifier).

My PR (https://github.com/ietf-rats-wg/architecture/pull/13) wants to consider another method. The main difference is: after collecting all the "claims", the main control slot (the "attesting env" in it) can verify the "claims" of other slots and produces a different set of "claims" about the verification results, then it combines the original "claims" of its own and "claims" of the verification results of other slots to produce the "evidence".

So the "leader and subordinate units" are the slots of the router. The "attestation result of subordinate units" is just some sets of "claims" of the "Evidence of the Attester".

> -----Original Message-----
> From: RATS [mailto:rats-bounces@ietf.org] On Behalf Of Smith, Ned
> Sent: Thursday, January 9, 2020 9:34 AM
> To: Dave Thaler <dthaler@microsoft.com>; Michael Richardson
> <mcr@sandelman.ca>; Laurence Lundblade <lgl@island-resort.com>
> Cc: rats@ietf.org; "Schönwälder, Jürgen"
> <J.Schoenwaelder@jacobs-university.de>
> Subject: Re: [Rats] looking for better terms -- request for bike shed
> discussion
> 
> Equating the "attester" with an "attesting environment" may be fallacious.
> For example, the TA might be the thing that signs the conveyance protocol
> frames and delivers the cert chain to the Verifier. However, it (the TA) isn't an
> "attesting environment" it only ever is a "target environment".
> 
> The Verifier MUST(?) detect the DICE layering convention and walk the
> graph back to the original (root) "attesting environment". Even with DICE
> layering, there is still only a single "device" (endpoint) that the RATS Role
> will call "Attester" and it consists of multiple "attesting environments" and
> multiple "target environments" where some of these are both an "attesting"
> and a "target" environment during its lifetime.
> 
> It may be incorrect to say that the TA is the RATS "Attester" because the
> Attester is supposed to be a pledge that can prove it is a trustworthy
> endpoint to the Verifer. The endpoint isn't just the TA, it is the chain of
> things that anchors it to the first "attesting environment".
> 
> The root/anchor "attesting" environment relies on its mfg to establish trust
> using a mfg issued certificate that vouches for the process that
> manufactured it and likely issues an identity credential (IDevID). The IDevID
> allows the Verifier to disambiguate which of possibly multiple instances of
> Attesters it is talking to currently.
> 
> It seems reasonable that an EAT submod structure can be used to represent
> DICE layering (so could an X.509 certificate chain). However, a submod
> could also describe other relationships / decompositions of a
> multi-component endpoint. For example, if the OP-TEE consisted of
> multiple chips then there could be multiple vendors, part numbers etc.. and
> therefore multiple submods where all of them (likely) are "target
> environments".
> 
> DICE layering comprehends hierarchies too. If one of the OPTEE sub
> components had DICE capabilities it could become an "attesting
> environment" to one of the OPTEE chips (branches). But this more complex
> thing is still dependent on its path to the anchor/root "attesting
> environment" so it can't (in isolation) claim to be the "attester".
> 
> If the TEE was an SGX instead of an OPTEE, then the anchor "attesting
> environment" is SGX uCode rather than HW --> Trusted FW. The SGX
> "attesting" and "target" environments are orthogonal to the non-SGX
> "attesting" and "target" environments, but nevertheless part of an IA
> "device". It is possible therefore to have multiple "Attesters" in the same
> SGX-capable "device".
> 
> -Ned
> 
> On 1/8/20, 4:02 PM, "Dave Thaler" <dthaler@microsoft.com> wrote:
> 
>     I don't think I have any problems with Laurence's terminology but just
> to test it...
> 
>     We have devices running Trusted Apps on OP-TEE over trusted
> firmware on an ARM TrustZone processor.
>     The full evidence is a DICE cert chain that has a set of claims for each
> cert in the chain, where each layer is an attesting environment for the
> subsequent layer (attested environment):
>     	Hardware -> Trusted Firmware -> OP-TEE -> TA
>     Thus there are four claim sets in a chain.
> 
>     Using Laurence's terminology, I believe the suggestion is that attesting
> environment is an "attester" and an attested environment is a "target".
> Thus the example above has 3 attesters (Hardware, TFW, and OP-TEE), and 4
> targets (HW where target == attester, TFW, OP-TEE, and TA).
> 
>     Are you ok with saying that every claimset in a chain is from a separate
> "attester"?   I believe this is different from our current definition of
> Attester (which is the thing that sends the whole chain to a verifier), so want
> to confirm.
> 
>     Dave
> 
>     -----Original Message-----
>     From: RATS <rats-bounces@ietf.org> On Behalf Of Michael Richardson
>     Sent: Wednesday, January 8, 2020 11:35 AM
>     To: Laurence Lundblade <lgl@island-resort.com>
>     Cc: =?utf-8?B?IlNjaMO2bnfDpGxkZXIsIErDvHJnZW4i?=
> <J.Schoenwaelder@jacobs-university.de>; Smith, Ned
> <ned.smith@intel.com>; rats@ietf.org
>     Subject: Re: [Rats] looking for better terms -- request for bike shed
> discussion
> 
> 
>     Thank you for this very nice text. I rather like it.
> 
>     Laurence Lundblade <lgl@island-resort.com> wrote:
>         > Here’s some rough text:
> 
>         > Conceptually, the “attester” produces a set of “claims” about a
> “target”.
>         > The claims are known as “attestation evidence” and are sent to
> the
>         > “verifier”. The verifier additionally takes in “endorsements”,
> processes
>         > the attestation evidence and produces the “attestation result” for
> the
>         > final consumer, the “relying party”.
> 
> 
>         > This description left conceptual for easy understanding and
> discussion.
>         > Actual implementations are usually more complex in at least one
> or more
>         > of these ways:
> 
> 
> 
>         > * The attester is also the target
> 
> 
>         > * One attester produces claims about several targets
> (submodules)
> 
> 
>         > * The verifier and the relying party are the same
>         > * Claims may be simple or complex, many or few
>         > * Some claims are measurements and some are not
>         > * Some claims in in the attestation evidence may be simply
> passed
>         > through the verifier, others may be heavily processed.
>         > * Daisy chaining -- the evidence from one attester goes through
> a
>         > verifier producing results which are taken as claims that are input
>         > to another attester that outputs a different set of evidence that
>         > goes on through a different verifier.
>         > * Daisy chaining may happen on the device producing the
> attestations
>         > or in the infrastructure evaluating the device or both.
> 
> 
>         > (Next I’d write a plethoras of simple examples for attester, target,
>         > claims… assuming only the simplest implementation that maps
> to the
>         > conceptual description )
> 
> 
> 
> 
> 
> 
>         > I am starting to prefer the basic conceptual / abstract description
> over one
>         > that is inherently mappable to every possible.
> 
>         > LL
> 
>     _______________________________________________
>     RATS mailing list
>     RATS@ietf.org
> 
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fww
> w.ietf.org%2Fmailman%2Flistinfo%2Frats&amp;data=02%7C01%7Cdthaler
> %40microsoft.com%7Cb7301d9b535a436003db08d79471dc41%7C72f988b
> f86f141af91ab2d7cd011db47%7C1%7C0%7C637141089066538773&amp;s
> data=fynNh%2FKEJgaGj1fQNwQYBjdgxQE5XUFl%2BeyA0nOkpJs%3D&am
> p;reserved=0
> 
> 
> _______________________________________________
> RATS mailing list
> RATS@ietf.org
> https://www.ietf.org/mailman/listinfo/rats