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.
| Merkmal | Secure Boot | Measured Boot |
|---|---|---|
| Was geprüft wird | Die 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ässt | Der Hash (Messwert) der nächsten Software: der Wert dessen, was tatsächlich geladen wurde, wird unverändert aufgezeichnet |
| Wenn etwas nicht stimmt | Hält den Bootvorgang sofort an, wenn die Prüfung fehlschlägt (Durchsetzung) | Lässt den Bootvorgang weiterlaufen und hinterlässt nur einen Eintrag (Aufzeichnung) |
| Vertrauensanker | Unverä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 Software | Die Signatur passt nicht, also läuft sie nie; ein veränderter Bootloader oder Kernel kann nicht starten | Das System bootet trotzdem, aber die PCR-Werte weichen von den erwarteten ab, sodass eine spätere Prüfung der Aufzeichnung es aufdeckt |
| Voraussetzungen | Ein ö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önnen | TPM-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 Ergebnisses | Verhindert, dass nicht autorisierte Software auf dem Gerät startet. Um anderen zu zeigen, was gebootet wurde, wird es mit Measured Boot oder Ähnlichem kombiniert | Remote 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) |
| Grenzen | Erkennt 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 Bootpfad | Kann 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 Einsatz | Smartphones, PCs und viele eingebettete Geräte; ausgelieferte Produkte sperren zudem Debug-Schnittstellen wie JTAG | PCs 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.