Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

TPM

Le TPM est une puce donnant accès à plusieurs mesures de configuration (PCR) dont chacune permet d'obtenir un haché d'une partie de la configuration pré-OS du serveur. Le TPM peut de plus stocker des données qui peuvent être scellées à la valeur d'une ou plusieurs PCR.

Les clefs de chiffrement des disques sont scellées par le PCR 7, relatif à la configuration Secure Boot. Ceci permet de s'assurer que le code chargé et exécuté par le serveur est signé par AliENS. Pour qu'un·e attaquant·e puisse exécuter son propre code, il serait nécessaire de désactiver Secure Boot, auquel cas la mesure PCR 7 aurait changé et le fichier scellé ne serait plus accessible.

La clef n'est pas scellée par d'autres PCR liés à la version et la configuration du firmware et des drivers (PCR 0 à 4) ainsi que le partitionnement des disques (PCR 5) car on veut pouvoir changer ces derniers sans avoir à utiliser la clef de secours.

Nous pourrions aussi sceller la clef avec les mesures liées au noyau et à l'initrd (PCR 8 et 11), toutefois ces mesures risquent d'être changées en cas de passage à une nouvelle génération NixOS. Les outils pour les gérer ne sont de plus pas encore au point. Un·e attaquant·e pourrait donc modifier la ligne de commande de démarrage de Linux pour en modifier le comportement et prendre le contrôle ; pour empêcher ceci, on désactive la possibilité de l'éditer dans le chargeur d'amorçage.

Debugging

Dans une cas où une erreur survient, l'utilitaire tpm2_rc_decode de pkgs.tpm2-tools est utile pour en obtenir une description textuelle à des fins de déboggage. Il est possible que le module TPM soit verrouillé, auquel cas il faut le réinitialiser. Pour faire, activez l'option « TPM PPI Bypass Clear » dans les paramètres de l'iDRAC. Après avoir rebooté, rendez-vous dans la console KVM où une confirmation de réinitialisation du TPM sera demandé : confirmez. Scellez la clef dans le TPM en utilisant les instructions ci-dessus, en puis désactivez de nouveau ce paramètre.