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

"Smith, Ned" <ned.smith@intel.com> Thu, 09 January 2020 01:34 UTC

Return-Path: <ned.smith@intel.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 7B336120142 for <rats@ietfa.amsl.com>; Wed, 8 Jan 2020 17:34:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, 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 LZJd2VZxKHYh for <rats@ietfa.amsl.com>; Wed, 8 Jan 2020 17:34:28 -0800 (PST)
Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (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 0BD6E120108 for <rats@ietf.org>; Wed, 8 Jan 2020 17:34:27 -0800 (PST)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Jan 2020 17:34:27 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.69,412,1571727600"; d="scan'208";a="211725829"
Received: from orsmsx106.amr.corp.intel.com ([10.22.225.133]) by orsmga007.jf.intel.com with ESMTP; 08 Jan 2020 17:34:27 -0800
Received: from orsmsx163.amr.corp.intel.com (10.22.240.88) by ORSMSX106.amr.corp.intel.com (10.22.225.133) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 8 Jan 2020 17:34:26 -0800
Received: from orsmsx109.amr.corp.intel.com ([169.254.11.176]) by ORSMSX163.amr.corp.intel.com ([169.254.9.4]) with mapi id 14.03.0439.000; Wed, 8 Jan 2020 17:34:26 -0800
From: "Smith, Ned" <ned.smith@intel.com>
To: Dave Thaler <dthaler@microsoft.com>, Michael Richardson <mcr@sandelman.ca>, Laurence Lundblade <lgl@island-resort.com>
CC: "\"Schönwälder, Jürgen\"" <J.Schoenwaelder@jacobs-university.de>, "rats@ietf.org" <rats@ietf.org>
Thread-Topic: [Rats] looking for better terms -- request for bike shed discussion
Thread-Index: AQHVxXQlCbKWYp19fkKQpfqMAhzvLqff7LMAgAAExoD//8qrAIAA0piAgAEh3wCAAErRgP//k4YA
Date: Thu, 09 Jan 2020 01:34:26 +0000
Message-ID: <DAD704E4-CB1A-47A4-A951-763363689716@intel.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>
In-Reply-To: <BL0PR2101MB10278A4C6B18B806320B82EEA3390@BL0PR2101MB1027.namprd21.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.20.0.191208
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Owner=dthaler@ntdev.microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-01-09T00:02:40.8002482Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Application=Microsoft Azure Information Protection; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=59f11f50-6651-43a1-b587-9a7347e6d731; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Extended_MSFT_Method=Automatic
x-originating-ip: [10.24.10.114]
Content-Type: text/plain; charset="utf-8"
Content-ID: <6A58A73119CB4644B8614757B519149A@intel.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/lSCVuEzBM7UdPI2dYYlvQsqhdUk>
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 01:34:32 -0000

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%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Frats&amp;data=02%7C01%7Cdthaler%40microsoft.com%7Cb7301d9b535a436003db08d79471dc41%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637141089066538773&amp;sdata=fynNh%2FKEJgaGj1fQNwQYBjdgxQE5XUFl%2BeyA0nOkpJs%3D&amp;reserved=0