Les TPM sont des composants stockant des clés, des "mesures" (hachés) et réalisant des opérations cryptographiques (chiffrement, signature, génération d'aléa ou de clés). L'espace de stockage est minimal : on y stocke des clés "maître" qui (dé)chiffrent d'autres clés, stockées sur le disque dur ou ailleurs. Les TPM peuvent prendre la forme de puces matérielles dédiées (HSM simples), d'un firmware intégré à la carte mère (Trustes Execution Environment) ou d'implémentations logicielles.
On peut s'en servir pour enregistrer une séquence de démarrage, où chaque composant de la chaîne, du bios à l'OS, mesure le suivant avant de lui passer la main. On peut ensuite témoigner de la séquence auprès d'un tiers (comparaison avec des valeurs de références), utiliser ces valeurs de référence pour autoriser ou bloquer le démarrage (authenticated boot) ou conditionner l'usage d'une clé à ces valeurs, typiquement pour déchiffrer un disque dur.
Le niveau de sécurité que ça permet d'atteindre est intéressant, mais :
- la complexité de mise en place semble assez grande (au moins sur Linux)
- ça apporte une sécurité contre un attaquant qui aurait accès au matériel mais en attaquant uniquement le logiciel (bios, bootloader, OS...). Un attaquant sophistiqué saura ajouter une puce matérielle et contourner ces protections. Le scénario d'attaque auquel ces mesures répondent est donc assez improbable.
Résultat : les cas d'usage me semblent limités pour le moment.