[Rats] Two types of secure attestation

Laurence Lundblade <lgl@island-resort.com> Tue, 19 November 2019 13:26 UTC

Return-Path: <lgl@island-resort.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 9ADA91208BB for <rats@ietfa.amsl.com>; Tue, 19 Nov 2019 05:26:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=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 kfxQ91aL4J4o for <rats@ietfa.amsl.com>; Tue, 19 Nov 2019 05:26:04 -0800 (PST)
Received: from p3plsmtpa09-02.prod.phx3.secureserver.net (p3plsmtpa09-02.prod.phx3.secureserver.net [173.201.193.231]) (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 4F717120887 for <rats@ietf.org>; Tue, 19 Nov 2019 05:26:04 -0800 (PST)
Received: from [172.16.134.137] ([101.100.166.3]) by :SMTPAUTH: with ESMTPA id X3VGidRslPKeXX3W6iOZUr; Tue, 19 Nov 2019 06:26:03 -0700
From: Laurence Lundblade <lgl@island-resort.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_8D48C109-F8FB-48F7-A318-19FB57AFB4BE"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Message-Id: <B099349B-711D-4A11-9E58-0886307FB7AF@island-resort.com>
Date: Tue, 19 Nov 2019 21:26:02 +0800
To: rats@ietf.org
X-Mailer: Apple Mail (2.3445.9.1)
X-CMAE-Envelope: MS4wfHf2I8SqRRLEHGQeC2Ifo0i0Yb5E+o67nVSBqbRyDwPQEnslnL0k+okTXTZ+9H342ea4KYFFaSI81r/WO4YtztlTF1IJsst3oCb1dZqiwsyx1tgOQBYR pD4gTE6qSHbvScA0apC6RRM1M8Etm5ZArad+2VvnOm3VWMpEYYv10h9y
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/OCX4LD_67W9ey1F7cygv_pUDQ6E>
Subject: [Rats] Two types of secure attestation
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: Tue, 19 Nov 2019 13:26:05 -0000

Fundamentally, I think there are two ways that an attestation verifier comes to know that a device / entity is running approved SW and will behave as desired.

TPM based
Originates in the PC world where the end user had to be able to choose the system SW
Has a TPM that performs a general measuring function
Has an attestation signing key for signing measurements that is kept secret by the TPM
TPM is generic as it can be used for PC’s, routers, IoT devices
Authenticated boot is optional
Uses a staged boot architecture where each stage must measure (hash) the following stage
Hashes fed into the TPM
TPM generates the attestation of the registers holding the hashes
Device cost raised by cost of TPM part
The verifier must run a parallel set of measurements (hashes)
Verifier is complex

Authenticated Boot based
Origins in mobile phone, TEE and DRM world where the user can NOT choose the system SW
Authenticated boot is required
Uses a boot ROM that really is a ROM, probably in silicon (not flash), that can NOT be changed
Boot ROM verifies the SW that is loaded, particular the top privilege (e.g. kernel) SW
A good implementation has anti-rollback to prevent old versions of SW from being run
Has an attestation signing key that is programmed in fuses or possibly in flash
Has a HW block that prevents access to the attestation key unless authenticated boot succeeds
Only top privilege SW can use it
Attestations are created in the top-privilege SW
Simply signing a nonce proves the device is running approved SW
Easy to add other claims in —> EAT
Device cost raised by need for secure key provisioning in the factory
Verifier is very simple
Just needs to verify the signature and nonce

Both provide acceptable security for their use cases and are broadly in use.

RATS needs to support both.

LL