Re: [Rats] attester vs measurement target (was Re: Use the term "attester" instead of root of trust)

"Oliver, Ian (Nokia - FI/Espoo)" <ian.oliver@nokia-bell-labs.com> Sun, 08 September 2019 19:46 UTC

Return-Path: <ian.oliver@nokia-bell-labs.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 6CAA3120091 for <rats@ietfa.amsl.com>; Sun, 8 Sep 2019 12:46:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.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 PnIPK7lZ56Eb for <rats@ietfa.amsl.com>; Sun, 8 Sep 2019 12:46:38 -0700 (PDT)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40135.outbound.protection.outlook.com [40.107.4.135]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E56F212004D for <rats@ietf.org>; Sun, 8 Sep 2019 12:46:37 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WFBagtal1HscNabpUOik6KR6JyBv1VvWmRHeggKnvWu9AJfQzOKm8uhgflVOM7PkxL8Iz/LzU5A4zCFuSz+CzURKArK2n0qO5FaaGErOvKlW316eGIq4IkrxZAhUDeg26WyRJyjLpqXdEI/244BeskW0cLdSmhpDJ5u50OYQG5I2y+Bhga6TedIDcGGN1kryUxHmjuFMFCQxbnaXfu1QUNslOHVdzr4Ej9KHZUAg12LmmNVKDRhyXpjtPKOishHruavbOV2dX9axPdaTL5hDkkQZIzB26i3ExEyl4TpTgQWL5wcNrFHiWxzSWB2MHY5bBIyc8dIqKvWoSdRChEoHDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=POeEFsbNPFgHI6xsZiqfBtUTTDUoTS3bN0PflWFlvoE=; b=SN4VdXsf6MKrdb9JciINMavwSZ/zlutRGP9pGxKPi4hLzNI6hNQZa3oqTipXL8lVFTiLSdZQpD8VFBsyeNqO+6L57bibPyyHuXV6WXXOXyCyaCSwMULVr0KjwYHVH7NJAoO6SqAl3gbFj4NciNyYUieQL8Qv2+9ZFHWirWqU31Py/QmWC0+VmHcXV1OykloAGey8v06skIiZc/uFKdveFvqXdkPb1v4nIYbSPDi8QGCOXIUujratXJwPPRnR9XX690lzl7/4qrLq6SCBgHsYANdxG3A0NnoL+6Bt6791mh4E1b7gsNIKqdFm/b1SQVPaBFqoKyQDMs25EL5pafFIjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia-bell-labs.com; dmarc=pass action=none header.from=nokia-bell-labs.com; dkim=pass header.d=nokia-bell-labs.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com; s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=POeEFsbNPFgHI6xsZiqfBtUTTDUoTS3bN0PflWFlvoE=; b=DIlJSU0r4OTNMB55ZwSkLomcod/BFvlgeK1145ud4V7kPnTCx6WvNp+AO7lmljkE+1GGNDTVxzjCIJi4fZSPRWueEcQt5ENvE88QJOCcyXduNiPBI0JddzPopXF86g2cAf/1hc2S1s6F82TIXI4WWWjsM5FLbdLvHmm8YSTZ3Jc=
Received: from HE1PR0701MB2267.eurprd07.prod.outlook.com (10.168.35.143) by HE1PR0701MB2602.eurprd07.prod.outlook.com (10.168.186.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2263.10; Sun, 8 Sep 2019 19:46:35 +0000
Received: from HE1PR0701MB2267.eurprd07.prod.outlook.com ([fe80::6cf3:bcf7:e51:aec2]) by HE1PR0701MB2267.eurprd07.prod.outlook.com ([fe80::6cf3:bcf7:e51:aec2%6]) with mapi id 15.20.2241.018; Sun, 8 Sep 2019 19:46:35 +0000
From: "Oliver, Ian (Nokia - FI/Espoo)" <ian.oliver@nokia-bell-labs.com>
To: Laurence Lundblade <lgl@island-resort.com>
CC: Giridhar Mandyam <mandyam@qti.qualcomm.com>, "Smith, Ned" <ned.smith@intel.com>, Ira McDonald <blueroofmusic@gmail.com>, "rats@ietf.org" <rats@ietf.org>
Thread-Topic: [Rats] attester vs measurement target (was Re: Use the term "attester" instead of root of trust)
Thread-Index: AQHVYcTH2oh0ylqk+0OoddzD8lUZXqcY+08AgACQpqGACJhjgIAAEx6D
Date: Sun, 08 Sep 2019 19:46:35 +0000
Message-ID: <HE1PR0701MB22677BB2629A3DE8808C52E38FB40@HE1PR0701MB2267.eurprd07.prod.outlook.com>
References: <F31EDAAF-ABA6-4341-89D8-CE116B8AC19C@island-resort.com> <HE1PR0701MB2267E350D17B31CA364B5A108FA90@HE1PR0701MB2267.eurprd07.prod.outlook.com> <3F5C57F7-C75F-4C27-9898-25AF98237DE9@island-resort.com> <10825C3E-81E0-43A9-B529-28E7C501E098@intel.com> <910BEC2B-AA72-4106-9E5E-5DDEC6B9CFED@island-resort.com> <A8D75C7B-EC13-40BD-BB0E-91B41E249351@intel.com> <7F4FC12D-8F77-46BD-A025-C223F670826C@island-resort.com> <DB36880D-0F61-4246-9464-1FE88BBF5FF8@intel.com> <EC5E19D2-3A43-4FCF-A370-AAA9FA3B6E92@island-resort.com> <774847aefd954c00970af8fba8659d5a@NASANEXM01C.na.qualcomm.com> <CAN40gSsUiNGt6DXTSxZDYpRUWG+Fy9Km=SQTJjBzmeLzmEaKuw@mail.gmail.com> <7BE04939-B8F6-43BF-9F04-0B3D5DFB60EC@intel.com> <da6b1ac3b67a4c3ab9ed2a2cd0936f06@NASANEXM01C.na.qualcomm.com> <19AAA300-C7CB-449A-BED7-F3313B1B77D0@island-resort.com> <HE1PR0701MB22678EF76B3AFEDD1CC0CFD58FBE0@HE1PR0701MB2267.eurprd07.prod.outlook.com> <0DA953C7-5437-4A03-819D-8FFD3B7EDEEA@island-resort.com> <HE1PR0701MB226738C6502453B3F31001668FB90@HE1PR0701MB2267.eurprd07.prod.outlook.com>, <1620A054-1BD4-4916-BA72-5568ED01EF33@island-resort.com>
In-Reply-To: <1620A054-1BD4-4916-BA72-5568ED01EF33@island-resort.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=ian.oliver@nokia-bell-labs.com;
x-originating-ip: [85.76.35.9]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 877e1d53-d8a8-4bc4-ae8c-08d7349541b1
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:HE1PR0701MB2602;
x-ms-traffictypediagnostic: HE1PR0701MB2602:
x-ms-exchange-purlcount: 1
x-microsoft-antispam-prvs: <HE1PR0701MB26020CCC5AD1C0E39144766C8FB40@HE1PR0701MB2602.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 0154C61618
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(366004)(39860400002)(396003)(346002)(136003)(376002)(199004)(189003)(4326008)(476003)(86362001)(99286004)(6916009)(606006)(316002)(478600001)(19627405001)(7696005)(33656002)(14454004)(54906003)(229853002)(6436002)(81156014)(81166006)(6116002)(66066001)(446003)(2906002)(8676002)(105004)(8936002)(54896002)(76176011)(6306002)(11346002)(76116006)(25786009)(486006)(55016002)(9686003)(52536014)(64756008)(66446008)(74316002)(3846002)(102836004)(186003)(53546011)(6506007)(5660300002)(26005)(71200400001)(71190400001)(66476007)(66556008)(7736002)(66946007)(256004)(14444005)(6246003)(53936002)(236005); DIR:OUT; SFP:1102; SCL:1; SRVR:HE1PR0701MB2602; H:HE1PR0701MB2267.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:0; MX:1;
received-spf: None (protection.outlook.com: nokia-bell-labs.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: Xec6MTTdQhsxYNPKoQi5c1t+3RPgJvZM671O+ouUQTwmInzPHMWU44twiAk0ZZXmRXK6mD5k51eVdOIrAxXTzY9ij36URSXHYPMvbc7/zy18Os3ZVi3vycpbIkn1u62nOWRsuqCIujU7U9tPVodwrUqxxLTb62SmDD3Vi4CjAfIlxIF68Rz4kviO+tgCSGB1s3zUECEoJm41MaeZvm3BnfTM5yz3iydmEHdmlepL/f0EkE0bupcunD0SHgeN6m0Zks5Qx0S0XcRVLI+2VqhYfFHJSuQa/S7aEXmaEtDhdYvBoYBg35eeHdlV9sL0OlgfpUPqJQnib5+IAcJuMxBu+iGVCBBnwHGw8Jb4ZK0w+7fgh13NyA3vtvgtd2nPu7NEDhnxYx/3dK+NpYFMa7zi4GAcQ+WjWSs4I4X/1rO4uLc=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_HE1PR0701MB22677BB2629A3DE8808C52E38FB40HE1PR0701MB2267_"
MIME-Version: 1.0
X-OriginatorOrg: nokia-bell-labs.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 877e1d53-d8a8-4bc4-ae8c-08d7349541b1
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Sep 2019 19:46:35.1980 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 7t9IQQO3DYuuCztVxG849Bj1PX0OL6Jiz21reTLhh6vEL34zQ5EhqDJVGseJVP8Z8ZXYueiX/4C90F9iGKPPOoh8vI9JutLZLNBLHkZH8oI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB2602
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/5LdWvtuiNqY3kQ9OfYgmnXEA8aY>
Subject: Re: [Rats] attester vs measurement target (was Re: Use the term "attester" instead of root of trust)
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: Sun, 08 Sep 2019 19:46:40 -0000

I agree with that assertion. Just to add to the confusion, the role of some elements does change over time.

For example, one boot is complete on an x86 architecture, the TPM itself is now the root of trust and the measurement code in the BIOS does not take any more part in the process, thus the TPM is now the root-of-trust for reporting.

It is the "for reporting" that seems to be key here and I don't think these additional terms have been listed yet?

I agree with the Attestation Evidence being the TPMS_ATTEST structure/token.

The RATS definition verifier is interesting, as in the TPM case we have two possibilities.


  1.  use of LCPs, where the TPM itself is both ROT for reporting and ROT for verification
  2.  use of external ROT for verification (attestation server possibly?) and the TPM is the ROT for reporting.

t.

Ian


--

Dr. Ian Oliver

Cybersecurity Research

Distinguished Member of Technical Staff

Nokia Bell Labs

+358 50 483 6237

________________________________
From: Laurence Lundblade <lgl@island-resort.com>
Sent: 08 September 2019 21:33
To: Oliver, Ian (Nokia - FI/Espoo) <ian.oliver@nokia-bell-labs.com>
Cc: Giridhar Mandyam <mandyam@qti.qualcomm.com>; Smith, Ned <ned.smith@intel.com>; Ira McDonald <blueroofmusic@gmail.com>; rats@ietf.org <rats@ietf.org>
Subject: Re: [Rats] attester vs measurement target (was Re: Use the term "attester" instead of root of trust)

Thanks for writing that out...

On Sep 3, 2019, at 12:24 AM, Oliver, Ian (Nokia - FI/Espoo) <ian.oliver@nokia-bell-labs.com<mailto:ian.oliver@nokia-bell-labs.com>> wrote:

More thinking of this, sticking with the practical x86/TPM example for the moment - this generalises to other architectures and situations of course.

The Root of Trust is the code that measures the code that starts the systems, the initial read-only part of BIOS (and the measurement code itself). This code is also the measurement target. The next step is the storage of this measurement in a secure place, ie a TPM PCR (PCR 0).

After boot/measurement has been completed, the Root of Trust is then the TPM itself.

The TPM does not attest anything, but provides a mechanism for delivering an "attestation token" (in this case the TPMS_ATTEST structure) in a secure form, ie: signed by the TPM AK.

The attester in an external entity that requests this proof and verifies it against a known good value.

That definition of attester seems quite different from the one in draft-birkholz-rats-architecture-01<https://tools.ietf.org/html/draft-birkholz-rats-architecture-01> and from the definition I’m advocating. Here’s the main part of the definition from draft-birkholz-rats-architecture-01<https://tools.ietf.org/html/draft-birkholz-rats-architecture-01>


   Attester:  The producer of attestation evidence that has a root of
      trust for reporting (RTR) and implements a conveyance protocol,
      authenticates using an attestation credential, consumes assertions
      about itself and presents it to a consumer of evidence (e.g. a
      relying party or a verifier).  Every output of an attester can be
      appraised via reference values.

By this definition, it seems like the attester is the TPM and boot code that is tightly associated with the entity.  Attestation Evidence is signed token, TPMS_ATTEST.

The RATS definition of Verifier is:


   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.

So, approximately, RATS Attester == TCG RTR and RATS Verifier == TCG Attester?

Seems an unfortunate overlap of terms. Explains some of the confusion we encounter. I don’t have any better ideas so far...

LL