[Rats] vTPMs and remote attestation and VMs
Michael Richardson <mcr+ietf@sandelman.ca> Tue, 19 December 2023 17:35 UTC
Return-Path: <mcr+ietf@sandelman.ca>
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 685DCC151065 for <rats@ietfa.amsl.com>; Tue, 19 Dec 2023 09:35:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=sandelman.ca
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ubSHh7LOWFI3 for <rats@ietfa.amsl.com>; Tue, 19 Dec 2023 09:35:01 -0800 (PST)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3DFD0C14F5E5 for <rats@ietf.org>; Tue, 19 Dec 2023 09:34:55 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id 1AFD01800E; Tue, 19 Dec 2023 12:34:54 -0500 (EST)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id Lphn_XvEGmm2; Tue, 19 Dec 2023 12:34:53 -0500 (EST)
Received: from sandelman.ca (obiwan.sandelman.ca [209.87.249.21]) by tuna.sandelman.ca (Postfix) with ESMTP id 62FFB1800C; Tue, 19 Dec 2023 12:34:53 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sandelman.ca; s=mail; t=1703007293; bh=8jEmYXXhG4BW6SgDMbxTTl9n0iQvnokUcldLEhlvWOY=; h=From:To:Subject:Date:From; b=rwoNt7dfMed0VAmoEODi+qgZ6bOekNtkmcVbNNHk1sFNnOCQ8UcpBkNDKGRtP6M8L IlOuKGaJo0LVcFaIL7Nk+PELv8tQ9SccNoVvhDuLx9IcopHGtv1W+RgyBmocNqgFOR 0puujnFbcjwyF1A2GJ4x6YIPyKCyZfZ2u8sxDys1RCX9Cnq4XMxmkZ3h2xB6TA1aDI z2yeDi41REPAevdzefN8MmEWHN8AnEaT2efTFVhTp+8TtFFnac2uk+uEoq9YZrdCiy 99xhVs6YOG0o6PxFecEiQQiaQGr2MXGr7htOsjYCkVzi+/mYSkqt4KLqzYkT+FMK7Q XofnApxcWa7dw==
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 5EFCD83; Tue, 19 Dec 2023 12:34:53 -0500 (EST)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Dionna Amalie Glaze <dionnaglaze@google.com>, rats@ietf.org
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 28.2
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Tue, 19 Dec 2023 12:34:53 -0500
Message-ID: <16415.1703007293@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/rats/SUoKzIa5tfGGk10O7N6IiqYwHsU>
Subject: [Rats] vTPMs and remote attestation and VMs
X-BeenThere: rats@ietf.org
X-Mailman-Version: 2.1.39
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 Dec 2023 17:35:05 -0000
Hi, thanks for your questions about UEFI variables and signatures.
I've started a new thread because my queries to you are related, but
having nothing to do with your questions (for which I have few answers)
I'm particularly interested in how (virtual) TPMs can get initialized with
anchors and enrolled private keys for virtual machines. I ultimately care
about IDevIDs for virtual appliances, and how that can help support HTTPS
everywhere. (Imagine an HTTPS admin interface for an on-prem virtual
appliance that comes with a valid certificate)
I don't know really know a lot about how the various VM hypervisors are
dealing with virtual TPMs. I'd like to know more.
In some cases (laptpos?), I'm aware that a trusted execution enironment is
not available to a VM if the physical machine does not initialize it
correctly. This has an effect on availability of fTPMs.
Effectively, there are roots of trust (along with Evidence)
that the hypervisor can provide that are significantly more interesting for
measured boot than a physical machine could/would have.
(Is this evidence tied in any way to the physical TPM on the hypervisor?)
But there seems to be a number of hurdles. And maybe these belong in the CCC
or some other fora, but I don't know.
Some questions:
1) if I snapshot a VM, does it snapshot the TPM?
2) if I clone a VM from a snapshot, what does that mean for the TPM?
3) does snapshot of a vTPM imply that the keys might be exportable?
4) what happens if I migrate (live or stopped) a VM to another hypervisor,
what does this mean for any evidence that might have been signed by the
other hypervisor?
5) if I time-travel a VM back to a snapshot, what does this do to the TPM?
What if there was a hash-based signature system involved!
Arguably, that's really just a clone from snapshot, along with killing
of the "current" VM... but if it's actually clearly separate, then maybe
the TPM state is affected in a different way.
6) it seems to me that fTPMs (in TEEs) would be cheaper for VMs to support
rather than emulating an i2C bus. OTH, that separation might be feature.
6) cloud-init. while the guest side of things is an OS-level activity, rather
than a firmware thing, the fundamental interface seems like it might be
useful for initializing certificates into TPMs. My efforts to come up
with a way to provision HTTPS certificates via cloud-init are stillborn
because, while the cloud-init client is easy to extend, the hypervisor
side code is largely cloud-private code. (The cloud-init people experience
the same challenges with testing their code!!)
--
Michael Richardson <mcr+IETF@sandelman.ca> . o O ( IPv6 IøT consulting )
Sandelman Software Works Inc, Ottawa and Worldwide
- [Rats] vTPMs and remote attestation and VMs Michael Richardson
- Re: [Rats] vTPMs and remote attestation and VMs Dionna Amalie Glaze
- Re: [Rats] vTPMs and remote attestation and VMs Dionna Amalie Glaze