Secure Boot vs. Measured Boot: Signaturprüfung, TPM-Messung, Attestierung

Beide Mechanismen prüfen in jeder Bootstufe vom Einschalten bis zum laufenden Betriebssystem die nächste Software. Secure Boot verifiziert die digitale Signatur der nächsten Stufe und hält den Bootvorgang an, wenn sie nicht korrekt signiert ist. Measured Boot berechnet einen Hash der nächsten Stufe und zeichnet ihn kumulativ in den PCRs (Platform Configuration Registers) des TPM auf, ohne etwas anzuhalten. Secure Boot verhindert, Measured Boot zeichnet auf, damit sich der Zustand später prüfen und nachweisen lässt. Die beiden sind keine Alternativen und werden oft gemeinsam eingesetzt.

MerkmalSecure BootMeasured Boot
Was geprüft wirdDie digitale Signatur der nächsten Software: ob sich die Signatur des Herstellers über den Hash des Images mit einem vertrauenswürdigen Schlüssel verifizieren lässtDer Hash (Messwert) der nächsten Software: der Wert dessen, was tatsächlich geladen wurde, wird unverändert aufgezeichnet
Wenn etwas nicht stimmtHält den Bootvorgang sofort an, wenn die Prüfung fehlschlägt (Durchsetzung)Lässt den Bootvorgang weiterlaufen und hinterlässt nur einen Eintrag (Aufzeichnung)
VertrauensankerUnveränderlicher ROM-Bootcode und der öffentliche Prüfschlüssel (aus Platzgründen oft als Hash in eFuses gespeichert)Ein kleines vertrauenswürdiges Codestück, das zuerst läuft und mit dem Messen beginnt, plus das TPM, das die Aufzeichnung speichert
Bei manipulierter SoftwareDie Signatur passt nicht, also läuft sie nie; ein veränderter Bootloader oder Kernel kann nicht startenDas System bootet trotzdem, aber die PCR-Werte weichen von den erwarteten ab, sodass eine spätere Prüfung der Aufzeichnung es aufdeckt
VoraussetzungenEin öffentlicher Prüfschlüssel im Gerät und ein privater Signaturschlüssel, den der Hersteller sicher verwahrt; kombiniert mit Rollback-Schutz, damit alte Versionen nicht erneut installiert werden könnenTPM-PCRs (die nur erweitert werden können, indem ein neuer Messwert per Hash eingerechnet wird) und eine Aufzeichnung der Messwerte jeder Stufe (das Event Log)
Nutzung des ErgebnissesVerhindert, dass nicht autorisierte Software auf dem Gerät startet. Um anderen zu zeigen, was gebootet wurde, wird es mit Measured Boot oder Ähnlichem kombiniertRemote Attestation (mit einem TPM-Schlüssel signierte PCR-Werte werden einem Server vorgelegt) und Sealing (Geheimnisse wie ein Schlüssel für die Festplattenverschlüsselung werden nur freigegeben, wenn die PCRs die erwarteten Werte enthalten)
GrenzenErkennt nur, ob Code mit einem vertrauenswürdigen Schlüssel signiert ist, kann also eine alte, gültig signierte verwundbare Version oder eine Konfigurationsänderung nicht unterscheiden; schützt nur den BootpfadKann die Ausführung von Schadcode nicht verhindern, und die Aufzeichnung hat nur Wert, wenn jemand sie prüft; die erwarteten PCR-Werte ändern sich mit jedem Software-Update und müssen gepflegt werden
Typischer EinsatzSmartphones, PCs und viele eingebettete Geräte; ausgelieferte Produkte sperren zudem Debug-Schnittstellen wie JTAGPCs mit TPM, für Festplattenverschlüsselung und Prüfungen des Gerätezustands vor dem Netzwerkzugang; Mikrocontroller ohne TPM nutzen für denselben Zweck Verfahren wie DICE, die Schlüssel aus Messwerten ableiten

Die Zahlenwerte sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.

Wann welche Variante?

Secure Boot
Wenn nicht autorisierte Software auf dem Gerät überhaupt nie laufen darf. Funktioniert eigenständig, auch auf Geräten, die keinen Prüfserver erreichen können.
Measured Boot
Wenn einem Server nachgewiesen werden muss, was gebootet wurde, oder ein Schlüssel für die Festplattenverschlüsselung nur bei korrektem Bootzustand freigegeben werden soll. Auch eine alte, gültig signierte Version lässt sich durch Vergleich der Aufzeichnung mit den erwarteten Werten erkennen.
Gemeinsam
Secure Boot blockiert nicht autorisierte Bootvorgänge, und Measured Boot zeichnet den Bootzustand auf, damit er sich nachweisen lässt. Beide können gleichzeitig auf demselben Gerät laufen.

Häufige Fragen

Was ist der Hauptunterschied zwischen Secure Boot und Measured Boot?

Ob der Bootvorgang anhält, wenn eine Prüfung fehlschlägt. Secure Boot verweigert den Start von Software ohne gültige Signatur. Measured Boot lässt den Bootvorgang weiterlaufen und zeichnet den Hash jeder Software manipulationserkennbar im TPM auf, sodass er später geprüft oder einem entfernten Server nachgewiesen werden kann.

Braucht Measured Boot ein TPM?

Meist wird in die PCRs eines TPM aufgezeichnet. Ein TPM kann ein separater Chip oder eine Firmware innerhalb der CPU oder des SoC (fTPM) sein. Mikrocontroller ohne TPM können ein ähnliches Ziel mit Verfahren wie DICE erreichen, die Schlüssel aus Messwerten ableiten.

Brauche ich mit Secure Boot noch Measured Boot?

Die beiden erfüllen unterschiedliche Aufgaben, daher ist es sinnvoll, beide einzusetzen. Secure Boot prüft nur, ob Code mit einem vertrauenswürdigen Schlüssel signiert ist; es kann also eine alte, gültig signierte verwundbare Version oder eine Konfigurationsänderung nicht unterscheiden und niemandem zeigen, was gebootet wurde. Measured Boot bewahrt die Werte dessen, was tatsächlich gestartet wurde, und ermöglicht so Remote Attestation und Sealing.

Verständnis prüfen

Welcher Unterschied zwischen Secure Boot und Measured Boot ist richtig?

  1. ABeides ist dasselbe, nur anders benannt
  2. BSecure Boot stoppt den Start nicht korrekter Software, Measured Boot hält Hashwerte der gestarteten Software in einem TPM o. Ä. fest, sodass der Zustand später geprüft werden kann
  3. CMeasured Boot ist nur eine Funktion, die die Startzeit misst
Antwort und Erläuterung anzeigen

Antwort: B. Secure Boot stoppt den Start nicht korrekter Software, Measured Boot hält Hashwerte der gestarteten Software in einem TPM o. Ä. fest, sodass der Zustand später geprüft werden kann

Beim Measured Boot wird in jeder Startphase der Hashwert der nächsten Software berechnet und wie in einer Kette in den Registern (PCR) des TPM aufgezeichnet. PCRs lassen sich nur durch Kombination des früheren Werts mit dem neuen Hashwert aktualisieren, daher kann die Aufzeichnung nicht gefälscht werden. Der Start selbst wird nicht angehalten, aber anhand der aufgezeichneten Werte lässt sich später prüfen oder gegenüber einem entfernten Server bescheinigen, welche Software gestartet wurde.

Welche Beschreibung von Secure Boot ist richtig?

  1. AEin Mechanismus, damit ein PC schneller startet
  2. BIn jeder Startphase wird die digitale Signatur der als Nächstes zu startenden Software geprüft und nur korrekte Software gestartet
  3. CEin Mechanismus, der bei jedem Start den gesamten Festplatteninhalt löscht
Antwort und Erläuterung anzeigen

Antwort: B. In jeder Startphase wird die digitale Signatur der als Nächstes zu startenden Software geprüft und nur korrekte Software gestartet

Bei Secure Boot prüft der Code in einem nicht umschreibbaren ROM die Signatur des ersten Bootloaders, und dieser prüft die Signatur der nächsten Phase oder des Betriebssystem-Kernels – so wird eine Vertrauenskette (Chain of Trust) aufgebaut. Passt die Signatur in irgendeiner Phase nicht, wird der Start angehalten, sodass Malware, die Bootloader oder Startteile des Betriebssystems umschreibt, nicht ausgeführt werden kann. Es wird breit in Smartphones, PCs und eingebetteten Geräten eingesetzt.

Welche Hauptaufgabe des in PCs usw. verbauten TPM (Trusted Platform Module) ist richtig?

  1. AEine Spezialschaltung zur schnelleren Bildschirmdarstellung
  2. BEin Bauteil zur Verwaltung der CPU-Kühlung
  3. CEs stellt Sicherheitsfunktionen bereit, etwa Schlüssel sicher zu erzeugen und zu verwahren, Aufzeichnungen über gestartete Software zu halten und diesen Zustand zu bescheinigen
Antwort und Erläuterung anzeigen

Antwort: C. Es stellt Sicherheitsfunktionen bereit, etwa Schlüssel sicher zu erzeugen und zu verwahren, Aufzeichnungen über gestartete Software zu halten und diesen Zustand zu bescheinigen

Ein TPM ist ein gegen äußere Manipulation geschützter Sicherheitschip (oder eine in die CPU integrierte Funktion), der Schlüssel erzeugt und speichert, kryptografische Verarbeitung und Zufallszahlenerzeugung ausführt und Hashwerte gestarteter Software aufzeichnet. Wird z. B. der Schlüssel der Festplattenverschlüsselung nur bei korrektem Startzustand freigegeben, lassen sich Daten auch dann kaum lesen, wenn die Festplatte entnommen oder die Start-Software umgeschrieben wird.

  1. Welche Beschreibung der Remote Attestation (Fernbescheinigung) ist richtig?
  2. Was wird bei Secure Boot als „Root of Trust“ (Vertrauensanker) im Chip abgelegt, am besten passend?
  3. Warum ist bei Geräten mit Secure Boot ein Rollback-Schutz (Anti-Rollback) erforderlich?

Übungsfragen zu Hardwaresicherheit

Wichtige Begriffe erklärt

Secure Boot
Mechanismus, der in jeder Startstufe die digitale Signatur der nächsten Software prüft und nur korrekte startet. Es wird eine Vertrauenskette (Chain of Trust) aufgebaut.
Measured Boot
Mechanismus, bei dem in jeder Bootphase der Hashwert der nächsten Software fortlaufend in z. B. einem TPM aufgezeichnet wird, sodass der Bootzustand später überprüft werden kann.
TPM
Trusted Platform Module. Sicherheitschip bzw. -funktion zum Erzeugen und Speichern von Schlüsseln, Protokollieren von Messwerten gestarteter Software und Bescheinigen des Zustands.
Remote Attestation
Mechanismus, bei dem ein Gerät den Zustand der in ihm laufenden Software mit einem Schlüssel im Chip signiert und einem entfernten Server vorlegt, damit dieser prüfen kann, ob es vertrauenswürdig ist.
Root of Trust
Teil, dem als Ausgangspunkt der Sicherheitsprüfung bedingungslos vertraut wird. Unveränderlicher ROM-Bootcode und öffentlicher Schlüssel o. Ä. werden im Chip abgelegt.
Rollback-Schutz (Anti-Rollback)
Mechanismus, der die minimale Versionsnummer in einem nicht überschreibbaren Speicher ablegt und vergleicht, damit kein Zurückfallen auf verwundbare ältere Softwareversionen möglich ist.

Verwandte Vergleiche