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)
a golden value β’ Validate the measured boot event log (recreate and compare) β’ Use an user-defined policy to validate the event log (Python plugin)