2009, or on other forms since the 90s • Cryptographic co-processor – Already present in server, desktops, tables and phones in one version or another (v1.2, v2.0) – Algorithm independent (v2.0)
Inside motherboard, CPU or firmware (UEFI) – Not a goal: Immune to physical attacks (leave to manufactures. Differentiation) – Goal: Safe from software attacks
use keys required early in the boot process) – Because TPM cannot access anything external, NVRAM can be used as a local storage for symmetric encryption
N] Platform Configuration Registers (PCR) – Cleared after a reset cycle (or under demand) to a good known value (0x00...0, 0x11...1) – Cannot be written with a specific value, only extended: PCR ← Hash(PCR || Value)
measure the next stage before delegating, and extend one PCR – TPM cannot access the system, so is the application who does the extension – It is registered in the event log
value of a PCR, we cannot calculate the hash that will replicate the final value after the extension • We cannot spoof the quote, as it is signed by a key (AK) where the private part never leaves the TPM (but can be removed)
to avoid reuse of old quotes. • The only assumption done is that we must trust the TPM certificate (that is why the TPM is also known as a root of trust)