A Formal Analysis of Authentication in the TPM
The Trusted Platform Module (TPM) is a hardware chip designed to enable computers to achieve a greater level of security than is possible in software alone. To this end, the TPM provides a way to store cryptographic keys and other sensitive data in its shielded memory. Through its API, one can use those keys to achieve some security goals. The TPM is a complex security component, whose specification consists of more than 700 pages. The authors model a collection of four TPM commands, and they identify and formalize their security properties. Using the tool ProVerif, they rediscover some known attacks and some new variations on them. They propose modifications to the API and verify their properties for the modified API.