Qu'est-ce que DICE (Device Identifier Composition Engine) ?

Mécanisme défini par le TCG (Trusted Computing Group) qui dérive, par des fonctions à sens unique, des secrets et des clés propres à chaque couche à partir d'un secret propre à l'appareil et des mesures du firmware de chaque couche qui démarre. Chaque couche, après avoir créé le secret de la couche suivante, rend son propre secret illisible avant de passer la main. Si le firmware change, les clés dérivées changent aussi ; un firmware falsifié ne peut donc pas utiliser les bonnes clés. Il permet l'identification de l'appareil et l'attestation même sur de petits microcontrôleurs sans TPM.

Nom japonais: DICE(Device Identifier Composition Engine)

« DICE (Device Identifier Composition Engine) » apparaît dans 1 questions d'entraînement réparties sur 1 thèmes, dont Sécurité matérielle : évolutions récentes.

Domaine: Sécurité matérielle : évolutions récentes

Dériver les secrets couche par couche

À la fabrication, chaque appareil reçoit un secret unique (UDS : Unique Device Secret) dans des fusibles, une PUF ou un dispositif analogue. À la mise sous tension, le petit circuit matériel ou le code en ROM qui s'exécute en premier dérive, par une fonction à sens unique, un secret appelé CDI (Compound Device Identifier) à partir de l'UDS et de l'empreinte du firmware exécuté ensuite, rend l'UDS illisible et passe la main. La couche suivante dérive de même la CDI suivante à partir de sa propre CDI et de la mesure de la couche d'après, et efface sa propre CDI avant de continuer. Le secret de chaque couche est ainsi lié au contenu de tous les firmwares démarrés jusqu'à cette couche.

Clés et certificats

Chaque couche peut dériver de façon déterministe une paire de clés de signature à partir de sa CDI. La clé d'identité de l'appareil (DeviceID) dérivée par la première couche ne change pas tant que ce firmware reste le même ; le fabricant peut donc lui délivrer un certificat à la production. Pour les clés des couches supérieures (comme les clés Alias), la couche inférieure délivre un certificat qui contient les mesures, et l'enchaînement des certificats montre à l'extérieur quel appareil fonctionne avec quel firmware. C'est la base de l'attestation avec DICE.

Avantages et précautions

Le matériel nécessaire se limite à un moyen de protéger l'UDS et à un petit circuit ou du code en ROM qui calcule la fonction à sens unique ; il est donc facile à intégrer même dans un microcontrôleur bon marché. Même si une couche ultérieure présente une vulnérabilité et est compromise, les CDI des couches antérieures et l'UDS ne fuient pas, puisqu'ils ont été effacés. En revanche, la mise à jour du firmware changeant les clés dérivées, il faut prévoir à la conception des procédures comme la délivrance de nouveaux certificats après une mise à jour.

S'entraîner : questions sur DICE (Device Identifier Composition Engine)

Quelle affirmation décrit correctement le mécanisme de DICE (Device Identifier Composition Engine) défini par le TCG ?

  1. ATous les appareils reçoivent la même valeur secrète, et même lorsque le firmware est mis à jour et change, la même clé qu'à la fabrication continue d'être utilisée indéfiniment
  2. BÀ chaque démarrage, une nouvelle clé est téléchargée depuis un serveur par le réseau, et l'appareil ne contient lui-même aucune valeur secrète
  3. CLe secret de chaque couche est dérivé du secret propre à l'appareil et de la mesure du firmware de la couche suivante, et chaque couche rend son propre secret illisible avant de passer la main
Afficher la réponse et l'explication

Réponse : C. Le secret de chaque couche est dérivé du secret propre à l'appareil et de la mesure du firmware de la couche suivante, et chaque couche rend son propre secret illisible avant de passer la main

Avec DICE, le petit circuit matériel ou le code en ROM qui s'exécute juste après la mise sous tension dérive, par une fonction à sens unique, un secret appelé CDI à partir du secret propre à l'appareil (UDS) et de l'empreinte du premier firmware exécuté. Ce firmware utilise à son tour la mesure de la couche suivante pour dériver la CDI de celle-ci, puis efface sa propre CDI avant de lui passer la main. Si le firmware est réécrit, les secrets dérivés changent aussi ; un firmware falsifié ne peut donc pas se présenter avec la bonne clé, et même si une couche ultérieure est compromise, les secrets des couches antérieures ne fuient pas. Même un petit microcontrôleur sans TPM peut ainsi assurer l'identification de l'appareil et l'attestation avec peu de matériel.

Questions fréquentes

Quelle est la différence entre DICE et un TPM ?

Un TPM est un composant distinct (ou une fonction) qui stocke des clés, enregistre des mesures et signe, et il demande une quantité de circuits assez importante. DICE définit une procédure de dérivation de clés à partir de mesures, peut être réalisé avec très peu de matériel et reflète les mesures dans les clés elles-mêmes plutôt que dans un journal. Les objectifs sont proches, mais le mode de protection et l'échelle nécessaire diffèrent.

Le changement des clés lors d'une mise à jour du firmware pose-t-il problème ?

Ce changement est en soi un avantage pour la sécurité : les clés de l'ancien firmware ne peuvent plus être utilisées après une mise à jour. En pratique, la clé d'identité de l'appareil est dérivée d'une couche qui ne change pas, et de nouveaux certificats sont délivrés à chaque mise à jour pour les clés des couches qui changent ; les couches sont donc traitées différemment.

« DICE (Device Identifier Composition Engine) » dans les explications

Questions mentionnant « DICE (Device Identifier Composition Engine) » (1)

  1. Quelle affirmation décrit correctement le mécanisme de DICE (Device Identifier Composition Engine) défini par le TCG ?

Termes associés

Microcontrôleur TPM Arm CCA (Confidential Compute Architecture) Attaque par exécution transitoire Authentification de pointeurs (PAC) CHERI FIPS 140-3 HBOM (nomenclature matérielle) Informatique confidentielle (confidential computing) Injection de fautes par laser

Retour au glossaire