Démarrage sécurisé vs démarrage mesuré : signatures, mesures TPM, attestation

Les deux mécanismes vérifient le logiciel suivant à chaque étape du démarrage, de la mise sous tension jusqu’à l’exécution du système d’exploitation. Le démarrage sécurisé vérifie la signature numérique de l’étape suivante et arrête le démarrage si elle n’est pas correctement signée. Le démarrage mesuré calcule un hachage de l’étape suivante et l’enregistre de manière cumulative dans les PCR (Platform Configuration Registers) du TPM, sans rien arrêter. Le démarrage sécurisé empêche ; le démarrage mesuré enregistre, pour que l’état puisse être vérifié et prouvé plus tard. Ce ne sont pas des alternatives : on les utilise souvent ensemble.

CritèreDémarrage sécuriséDémarrage mesuré
Ce qu’il vérifieLa signature numérique du logiciel suivant : la signature de l’éditeur sur le hachage de l’image doit se vérifier avec une clé de confianceLe hachage (la mesure) du logiciel suivant : la valeur de ce qui a réellement été chargé est enregistrée telle quelle
En cas de problèmeArrête immédiatement le démarrage si la vérification échoue (application)Laisse le démarrage se poursuivre et se contente d’enregistrer (journalisation)
Racine de confianceCode de démarrage immuable en ROM et clé publique de vérification (souvent stockée sous forme de hachage dans des eFuses pour gagner de la place)Un petit code de confiance qui s’exécute en premier et lance les mesures, plus le TPM qui conserve l’enregistrement
Si le logiciel a été altéréLa signature ne correspond pas, il ne s’exécute donc jamais ; un chargeur d’amorçage ou un noyau modifié ne peut pas démarrerLe système démarre quand même, mais les valeurs des PCR diffèrent des valeurs attendues : la vérification de l’enregistrement le révèle plus tard
PrérequisUne clé publique de vérification sur l’appareil et une clé privée de signature conservée en sécurité par l’éditeur ; combiné à l’anti-retour arrière (anti-rollback) pour empêcher la réinstallation d’anciennes versionsLes PCR du TPM (qui ne peuvent qu’être étendus, une nouvelle mesure y étant intégrée par hachage) et un enregistrement des mesures de chaque étape (le journal des événements)
Usage du résultatEmpêche un logiciel non autorisé de démarrer sur cet appareil. Pour montrer à d’autres ce qui a démarré, on le combine avec le démarrage mesuré ou un mécanisme similaireAttestation à distance (valeurs des PCR signées avec une clé du TPM et présentées à un serveur) et scellement (libération de secrets, comme une clé de chiffrement de disque, uniquement si les PCR contiennent les valeurs attendues)
LimitesIl indique seulement si le code est signé par une clé de confiance : il ne distingue ni une ancienne version vulnérable mais valablement signée, ni un changement de configuration ; il ne protège que le chemin de démarrageIl ne peut pas empêcher l’exécution de code malveillant, et l’enregistrement n’a de sens que si quelqu’un le vérifie ; les valeurs attendues des PCR changent à chaque mise à jour logicielle et doivent être gérées
Usages typiquesSmartphones, PC et de nombreux systèmes embarqués ; les produits livrés verrouillent aussi les ports de débogage comme JTAGPC équipés d’un TPM, pour le chiffrement de disque et le contrôle de l’état de l’appareil avant l’accès au réseau ; les microcontrôleurs sans TPM utilisent dans le même but des schémas comme DICE, qui dérivent des clés à partir des mesures

Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.

Quand choisir l'un ou l'autre ?

Démarrage sécurisé
Lorsqu’aucun logiciel non autorisé ne doit jamais s’exécuter sur l’appareil. Il fonctionne de manière autonome, même sur des appareils qui ne peuvent pas joindre un serveur de vérification.
Démarrage mesuré
Lorsqu’il faut prouver à un serveur ce qui a démarré, ou ne libérer une clé de chiffrement de disque que si l’état de démarrage est correct. Une ancienne version valablement signée peut aussi être repérée en comparant l’enregistrement aux valeurs attendues.
Ensemble
Le démarrage sécurisé bloque les démarrages non autorisés, et le démarrage mesuré enregistre l’état de démarrage pour pouvoir le prouver. Les deux peuvent fonctionner en même temps sur le même appareil.

Questions fréquentes

Quelle est la principale différence entre démarrage sécurisé et démarrage mesuré ?

Le fait que le démarrage s’arrête ou non lorsqu’une vérification échoue. Le démarrage sécurisé refuse de lancer un logiciel dont la signature n’est pas valide. Le démarrage mesuré laisse le démarrage se poursuivre et enregistre dans le TPM le hachage de chaque logiciel de façon infalsifiable, pour qu’il puisse être vérifié plus tard ou prouvé à un serveur distant.

Le démarrage mesuré a-t-il besoin d’un TPM ?

Il enregistre généralement dans les PCR d’un TPM. Un TPM peut être une puce distincte ou un micrologiciel exécuté dans le CPU ou le SoC (fTPM). Les microcontrôleurs sans TPM peuvent atteindre un objectif similaire avec des schémas comme DICE, qui dérivent des clés à partir des mesures.

Si j’ai le démarrage sécurisé, ai-je encore besoin du démarrage mesuré ?

Ils remplissent des rôles différents, il est donc judicieux d’utiliser les deux. Le démarrage sécurisé vérifie seulement si le code est signé par une clé de confiance : il ne distingue ni une ancienne version vulnérable mais valablement signée ni un changement de configuration, et il ne peut montrer à personne ce qui a démarré. Le démarrage mesuré conserve les valeurs de ce qui a réellement démarré, ce qui permet l’attestation à distance et le scellement.

Vérifier vos connaissances

Quelle est la différence entre démarrage sécurisé et démarrage mesuré (measured boot) ?

  1. ACe sont la même chose sous deux noms différents
  2. BLe démarrage sécurisé empêche le lancement de logiciels illégitimes, le démarrage mesuré enregistre l'empreinte des logiciels démarrés dans un TPM ou analogue pour permettre de vérifier l'état ultérieurement
  3. CLe démarrage mesuré se contente de mesurer la durée du démarrage
Afficher la réponse et l'explication

Réponse : B. Le démarrage sécurisé empêche le lancement de logiciels illégitimes, le démarrage mesuré enregistre l'empreinte des logiciels démarrés dans un TPM ou analogue pour permettre de vérifier l'état ultérieurement

En démarrage mesuré, l'empreinte du logiciel suivant est calculée à chaque étape et enregistrée de façon cumulative dans les registres du TPM (PCR). Un PCR ne pouvant être mis à jour qu'en combinant sa valeur précédente avec la nouvelle empreinte, l'enregistrement ne peut pas être falsifié. Le démarrage n'est pas bloqué, mais les valeurs enregistrées permettent de vérifier après coup quels logiciels ont démarré, ou d'en attester auprès d'un serveur distant.

Quelle est la définition du démarrage sécurisé (secure boot) ?

  1. AUn mécanisme accélérant le démarrage de l'ordinateur
  2. BÀ chaque étape du démarrage, la signature électronique du logiciel suivant est vérifiée et seul un logiciel légitime est lancé
  3. CUn mécanisme effaçant tout le contenu du disque à chaque démarrage
Afficher la réponse et l'explication

Réponse : B. À chaque étape du démarrage, la signature électronique du logiciel suivant est vérifiée et seul un logiciel légitime est lancé

En démarrage sécurisé, le code en ROM non modifiable vérifie la signature du premier chargeur d'amorçage, qui vérifie celle de l'étape suivante ou du noyau du système d'exploitation, et ainsi de suite, formant une chaîne de confiance. Si une signature ne correspond pas à une étape, le démarrage s'arrête ; un logiciel malveillant ayant modifié le chargeur d'amorçage ou la partie de démarrage du système ne peut donc pas s'exécuter. Il est largement utilisé dans les smartphones, ordinateurs et systèmes embarqués.

Quel est le rôle principal du TPM (Trusted Platform Module) intégré aux ordinateurs et autres appareils ?

  1. AUn circuit dédié accélérant l'affichage
  2. BUn composant gérant le refroidissement du CPU
  3. CFournir des fonctions de sécurité : générer et conserver des clés en sécurité, tenir un registre des logiciels démarrés et attester de cet état
Afficher la réponse et l'explication

Réponse : C. Fournir des fonctions de sécurité : générer et conserver des clés en sécurité, tenir un registre des logiciels démarrés et attester de cet état

Le TPM est une puce de sécurité difficile à altérer de l'extérieur (ou une fonction intégrée au CPU) qui assure la génération et la conservation de clés, les traitements cryptographiques, la génération de nombres aléatoires et l'enregistrement des empreintes des logiciels démarrés. Par exemple, en ne libérant la clé de chiffrement du disque que si l'état de démarrage est correct, les données restent difficiles à lire même si le disque est extrait ou le logiciel de démarrage modifié.

  1. Quelle est la définition de l'attestation à distance (remote attestation) ?
  2. Quel élément placé dans la puce constitue le mieux la « racine de confiance » (root of trust) du démarrage sécurisé ?
  3. Pourquoi un mécanisme anti-retour arrière (anti-rollback) est-il nécessaire sur un appareil doté du démarrage sécurisé ?

Questions d'entraînement sur Sécurité matérielle

Termes clés expliqués

Démarrage sécurisé (secure boot)
Mécanisme qui vérifie, à chaque étape du démarrage, la signature électronique du logiciel suivant et ne lance que celui qui est authentique. Il construit ainsi une chaîne de confiance.
Démarrage mesuré (measured boot)
Mécanisme qui, à chaque étape du démarrage, enregistre cumulativement dans un TPM, etc., l'empreinte (hash) du logiciel suivant, afin de pouvoir vérifier ensuite l'état du démarrage.
TPM
Module de plateforme de confiance (Trusted Platform Module). Puce ou fonction de sécurité qui génère et stocke des clés, enregistre les mesures des logiciels démarrés et atteste de l'état du système.
Attestation à distance
Mécanisme par lequel un équipement signe, avec une clé interne à la puce, l'état du logiciel qu'il exécute et le présente à un serveur distant pour faire vérifier qu'il est digne de confiance.
Racine de confiance (root of trust)
Élément de confiance inconditionnelle servant de point de départ aux vérifications de sécurité. Le code de démarrage en ROM non modifiable et une clé publique, etc., sont placés dans la puce.
Protection anti-rollback
Mécanisme qui enregistre dans une mémoire non réinscriptible le numéro de version minimal et le compare, afin d'empêcher le retour à une ancienne version vulnérable du logiciel. Anti-rollback.

Comparatifs associés