Was ist DICE (Device Identifier Composition Engine)?

Von der TCG (Trusted Computing Group) festgelegter Mechanismus, der aus einem gerätespezifischen Geheimnis und den Messwerten der Firmware jeder startenden Schicht mit Einwegfunktionen schichtweise Geheimnisse und Schlüssel ableitet. Jede Schicht macht, nachdem sie das Geheimnis der nächsten Schicht erzeugt hat, ihr eigenes Geheimnis unlesbar, bevor sie die Kontrolle übergibt. Ändert sich die Firmware, ändern sich auch die abgeleiteten Schlüssel, sodass manipulierte Firmware die richtigen Schlüssel nicht verwenden kann. Selbst kleine Mikrocontroller ohne TPM erhalten so Geräteidentität und Attestation.

Japanische Bezeichnung: DICE(Device Identifier Composition Engine)

„DICE (Device Identifier Composition Engine)“ kommt in 1 Übungsfragen aus 1 Themen vor, z. B. Aktuelle Entwicklungen der Hardwaresicherheit.

Fachgebiet: Aktuelle Entwicklungen der Hardwaresicherheit

Schichtweise Ableitung von Geheimnissen

Bei der Fertigung erhält jedes Gerät ein eindeutiges Geheimnis (UDS: Unique Device Secret) in Fuses, einem PUF oder Ähnlichem. Beim Einschalten leitet die zuerst laufende kleine Hardware bzw. der ROM-Code aus dem UDS und dem Hashwert der als Nächstes laufenden Firmware mit einer Einwegfunktion ein Geheimnis namens CDI (Compound Device Identifier) ab, macht den UDS unlesbar und übergibt die Kontrolle. Die nächste Schicht leitet ebenso aus ihrer eigenen CDI und dem Messwert der folgenden Schicht die nächste CDI ab und löscht ihre eigene CDI, bevor sie fortfährt. So ist das Geheimnis jeder Schicht an den Inhalt aller bis dahin gestarteten Firmware gebunden.

Schlüssel und Zertifikate

Jede Schicht kann aus ihrer CDI deterministisch ein Signaturschlüsselpaar ableiten. Der von der ersten Schicht abgeleitete Geräteidentitätsschlüssel (DeviceID) ändert sich nicht, solange diese Firmware gleich bleibt, sodass der Hersteller bei der Produktion ein Zertifikat dafür ausstellen kann. Für Schlüssel höherer Schichten (etwa Alias-Schlüssel) stellt die darunterliegende Schicht ein Zertifikat aus, das die Messwerte enthält, und die Kette der Zertifikate zeigt nach außen, welches Gerät mit welcher Firmware läuft. Das ist die Grundlage der Attestation mit DICE.

Vorteile und Vorbehalte

Benötigt werden nur ein Schutz für den UDS und eine kleine Schaltung oder ROM-Code zur Berechnung der Einwegfunktion, sodass sich DICE leicht auch in günstige Mikrocontroller einbauen lässt. Hat eine spätere Schicht eine Schwachstelle und wird übernommen, gelangen die CDIs früherer Schichten und der UDS nicht nach außen, da sie gelöscht wurden. Andererseits ändern sich durch ein Firmware-Update die abgeleiteten Schlüssel, sodass Abläufe wie das Ausstellen neuer Zertifikate nach einem Update von vornherein vorgesehen werden müssen.

Jetzt üben: Fragen zu DICE (Device Identifier Composition Engine)

Welche Beschreibung des Mechanismus von DICE (Device Identifier Composition Engine), festgelegt von der TCG, ist richtig?

  1. AAlle Geräte erhalten denselben geheimen Wert, und auch wenn die Firmware aktualisiert wird und sich ändert, wird dauerhaft derselbe Schlüssel wie bei der Fertigung verwendet
  2. BBei jedem Start wird ein neuer Schlüssel über das Netzwerk von einem Server heruntergeladen und verwendet, und im Gerät wird keinerlei geheimer Wert gehalten
  3. CAus dem gerätespezifischen Geheimnis und dem Messwert der Firmware der nächsten Schicht wird das Geheimnis dieser Schicht abgeleitet, und jede Schicht macht ihr eigenes Geheimnis unlesbar, bevor sie weitergibt
Antwort und Erläuterung anzeigen

Antwort: C. Aus dem gerätespezifischen Geheimnis und dem Messwert der Firmware der nächsten Schicht wird das Geheimnis dieser Schicht abgeleitet, und jede Schicht macht ihr eigenes Geheimnis unlesbar, bevor sie weitergibt

Bei DICE leitet die kleine Hardware bzw. der ROM-Code, die direkt nach dem Einschalten laufen, aus dem gerätespezifischen Geheimnis (UDS) und dem Hashwert der zuerst startenden Firmware mit einer Einwegfunktion ein Geheimnis namens CDI ab. Diese Firmware leitet wiederum mit dem Messwert der nächsten Schicht deren CDI ab und löscht ihre eigene CDI, bevor sie die Kontrolle übergibt. Wird Firmware umgeschrieben, ändern sich auch die abgeleiteten Geheimnisse; manipulierte Firmware kann sich daher nicht mit dem richtigen Schlüssel ausweisen, und selbst wenn eine spätere Schicht übernommen wird, gelangen die Geheimnisse früherer Schichten nicht nach außen. Selbst ein kleiner Mikrocontroller ohne TPM kann so mit wenig Hardware Geräteidentität und Attestation bereitstellen.

Häufige Fragen

Was unterscheidet DICE von einem TPM?

Ein TPM ist ein eigenständiges Bauteil (oder eine Funktion), das Schlüssel speichert, Messwerte protokolliert und signiert, und benötigt recht viel Schaltung. DICE legt ein Verfahren fest, um Schlüssel aus Messwerten abzuleiten, lässt sich mit sehr wenig Hardware realisieren und lässt die Messergebnisse in die Schlüssel selbst statt in ein Protokoll einfließen. Die Ziele ähneln sich, Schutzweise und erforderlicher Umfang unterscheiden sich jedoch.

Ist es nicht ein Problem, dass sich Schlüssel bei einem Firmware-Update ändern?

Die Änderung ist selbst ein Sicherheitsvorteil: Schlüssel alter Firmware sind nach einem Update nicht mehr verwendbar. In der Praxis wird der Geräteidentitätsschlüssel aus einer Schicht abgeleitet, die sich nicht ändert, und für Schlüssel sich ändernder Schichten wird bei jedem Update ein neues Zertifikat ausgestellt; die Schichten werden also unterschiedlich behandelt.

„DICE (Device Identifier Composition Engine)“ in den Erläuterungen

Fragen mit „DICE (Device Identifier Composition Engine)“ (1)

  1. Welche Beschreibung des Mechanismus von DICE (Device Identifier Composition Engine), festgelegt von der TCG, ist richtig?

Verwandte Begriffe

Mikrocontroller TPM Arm CCA (Confidential Compute Architecture) CHERI Confidential Computing FIPS 140-3 HBOM (Hardware-Stückliste) Kontrollflussintegrität (Control-Flow Integrity) Laser-Fault-Injection Logic Locking

Zur Glossarübersicht