Subject: [Teep] TEEP & TPMs

From: Hannes Tschofenig <[email-masked]>
Date: Tue, 17 Jul 2018 18:57:59 +0000

Hi all,

In our discussions the use of TPMs for use with TEEP has been mentioned in examples.

I am not a TPM expert and hence I was wondering whether TPMs, as a TEE technology, is actually a suitable candidate for our TEEP work.
In TEEP we are trying to install, update and delete trusted apps running in the TEE. My understanding is that there are different types of TPM variants and many of them do not support update of software.

So, the question is: Are there TPMs where TEEP functionality is actually applicable?

Ciao
Hannes

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

---

From: Kyle Rose <[email-masked]>
Date: Tue, 17 Jul 2018 15:25:23 -0400

Unless the TPM is associated with a functionally isolated execution
environment (a la Intel's SGX), or unless you are willing to live with
vulnerabilities at the hypervisor or OS-level, a TPM alone will not give
you what you want.

At its most basic level, a TPM pre-provisioned with an appropriate trust
chain allows you to do two things relevant to remote interactions:

(1) Gather fresh assertions about the state of platform control registers
(PCRs) on the target device, which enables a class of functionality
including secure boot and (in conjunction with a dynamic trust root, like a
trusted OS image or hypervisor) process integrity assertions. (The host is
very limited in what operations it can perform on PCRs, such that they
cannot be set to any particular chosen value except on reboot, where they
are set to zero.)

(2) Secrets can be encrypted asymmetrically to a key resident to (i.e.,
available only to) that TPM.

Combining the two means that a central authority can remotely attest to
(some aspect of) the execution state of the machine, and then deliver it
secrets if that state is acceptable. The problem with this for TEEP's use
case is that the OS on a phone (for instance) is much too large of a
trusted computing base to be practical: Android, for instance, is far too
complex to be trusted in any reasonable sense. This is why Intel developed
SGX: an isolated execution environment that cannot be inspected by the host
machine, and that doesn't have to run an entire OS potentially full of
vulnerabilities.

Kyle

On Tue, Jul 17, 2018 at 2:57 PM, Hannes Tschofenig <
[email-masked]> wrote:

> I am not a TPM expert and hence I was wondering whether TPMs, as a TEE
> technology, is actually a suitable candidate for our TEEP work.
>
> In TEEP we are trying to install, update and delete trusted apps running
> in the TEE. My understanding is that there are different types of TPM
> variants and many of them do not support update of software..
>
>
>
> IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended
> recipient, please notify the sender immediately and do not disclose the
> contents to any other person, use it for any purpose, or store or copy the
> information in any medium. Thank you.
>
> _______________________________________________
> TEEP mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/teep
>
>