Anwendungsszenarien

Das Trusted-Platform-Modul (TPM) kann auf IPCs zu verschiedenen Zwecken genutzt werden:

Weitere Anwendungsfälle sind denkbar. Im Folgenden werden die oben genannten näher beschrieben.

Mit dem TPM den Datenträger verschlüsseln

Auf IPCs mit Windows 10 steht BitLocker-Drive-Encryption von Microsoft zur Verfügung, um die Vertraulichkeit der Daten auf dem Festspeicher zu schützen. Dabei wird das gesamte Dateisystem einer Partition verschlüsselt. Sobald Prozesse im Windows auf Dateien zugreifen, werden die entsprechenden Blöcke im Arbeitsspeicher entschlüsselt bereitgestellt. Im lebenden System bemerken Benutzer und Prozesse die Verschlüsselung im Idealfall quasi nicht. Wenn die Systempartition verschlüsselt werden soll, ist die Verwendung eines TPM mit BitLocker zusammen sinnvoll. BitLocker unterstützt zwar auch die Verschlüsselung ohne ein TPM, doch wird dann beim Start des Systems eine PIN-Eingabe oder das Einstecken eines USB-Speichers mit Freigabeschlüssel erforderlich. Mit einem TPM kann diese Unterbrechung eingespart werden und trotzdem ein Schutz erreicht werden. Denn ein unbetreutes Starten ohne TPM und ohne PIN-Eingabe oder Anstecken von USB-Speicher bedeutet, dass der Datenträger auch in fremden Systemen gestartet werden kann. Die Verbindung von BitLocker mit TPM ist also ideal für das unbetreute Starten bei Industriesteuerungen.

Die Idee dahinter, die Verschlüsselung des Datenträgers durch BitLocker mit dem TPM zu kombinieren, ist, dass einerseits die Industriesteuerung immer noch unbetreut starten kann und trotzdem niemand den Festspeicher entnehmen und in einem anderen System verwenden kann. Dieses hilft bei unbetreuten Systemen, auf die möglicherweise physikalischer Zugriff durch Unbefugte besteht. Unbefugte sollen zum Beispiel nicht in der Lage sein, einen Datenträger aus der Industriesteuerung auszubauen und in einem Laptop zu manipulieren oder zu kopieren. Das TPM dient dabei als Sicherheits-Chip, der den Schlüssel für das Entschlüsseln des Datenträgers nicht kopierbar verwahrt. Wird der Datenträger ausgebaut, verbleibt das TPM im IPC. Der Datenträger kann außerhalb des IPCs nicht entschlüsselt werden.

Anwendungsszenarien 1:
Datenträgerverschlüsselung.

Die Anwendung der Datenträgerverschlüsselung allein ist nicht hinreichend. Solange zum Beispiel ein Unberechtigter sich am laufenden IPC anmelden und das Dateisystem nach Belieben nutzen kann, ist die Datenträgerverschlüsselung überwindbar, indem Daten im laufenden System kopiert oder manipuliert werden. Besonders trifft dieses zu, wenn die Datenträgerverschlüsselung aktiviert ist, aber noch immer das Standardpassword für den Benutzer „Administrator“ gesetzt ist.

Die Datenträgerverschlüsselung samt TPM muss also mit weiteren Schutzmaßnahmen kombiniert werden. Mindestens zählt dazu, auf dem IPC nur Benutzer mit berechtigtem Zugriff und individueller Authentisierung (zum Beispiel Passwort) zuzulassen, wie es auch im Handbuch „Security-Leitfaden IPC“ beschrieben ist. Ideal ist die Kombination der Datenträgerverschlüsselung mit dem KIOSK-Modus von Windows.

Wenn mit Windows 10 die Datenträgerverschlüsselung per BitLocker aktiviert wird (siehe: Datenträger mit BitLocker verschlüsseln), dann wird automatisch auch der Integritätsschutz für die frühen Startphasen aktiviert. Dieses soll verhindern, dass das System zum Beispiel mit einem manipulierten BIOS oder einem manipulierten Kernel-Treiber gestartet wird, worüber dann ein Angreifer doch wieder im lebenden System Zugriff auf die Daten auf dem Datenträger nehmen kann, obwohl ihr Inhalt doch verschlüsselt ist.

Mit dem TPM die Integrität des Systems schützen

Mit Windows 10 kann der Startprozess so abgesichert werden, dass von der Aktivierung des BIOS alle in der Startkette beteiligten Software-Komponenten auf Manipulation geprüft werden, zum Beispiel der Windows-Kernel und die Kernel-Treiber. Das wird als Trusted-Boot oder auch als Measured-Boot bezeichnet. Hierfür verwendet Windows ein TPM. Diese Art des Startvorganges muss aktiviert werden. Sie ist nicht von selbst aktiv. Bei der Verwendung der Datenträgerverschlüsselung durch BitLocker (siehe oben) wird sie automatisch mit eingeschaltet.

Die Idee bei dieser Anwendung des Trusted-Boot ist, dass sensible Daten erst dann zugreifbar werden, wenn sicher ist, dass vertrauenswürdige Software läuft. Entsprechend erlaubt das TPM im Zusammenspiel mit Windows 10 erst dann die Entschlüsselung von Daten auf der per BitLocker verschlüsselten Datenträgerpartition, wenn vorher festgestellt wurde, dass alle bisher gestarteten Komponenten korrekt waren, also nicht manipuliert sind. Hierzu werden kryptographisch starke Prüfsummen im TPM-Chip hinterlegt. Sie werden beim Startvorgang mit der vorhandenen Software verglichen. Nur bei Übereinstimmung wird der Entschlüsselungsschlüssel für den Datenträger durch das TPM freigegeben.

Anwendungsszenarien 2:
Systemintegrität mit Zusammenhang.

Bei legitimen Aktualisierungen von Windows-Kernel, Kernel-Treibern und anderen Software-Komponenten kümmert sich das laufende Windows um die Aktualisierung der notwendigen Prüfsummenspeicher im TPM-Chip. Wenn außerhalb des laufenden TPMs solche Software-Komponenten oder das BIOS aktualisiert werden, dann werden die Prüfsummen im TPM-Chip nicht automatisch aktualisiert. Es wird beim nächsten Starten zunächst eine Manipulation erkannt. Der Startvorgang wird angehalten. Ein Administrator kann durch Bereitstellung des Wiederherstellungsschlüssels von BitLocker den Startvorgang fortsetzen lassen und damit durch Windows die Aktualisierung der Prüfsummen im TPM-Chip veranlassen.

Applikationsdaten mittels TPM schützen

Für Applikationen im Windows existieren APIs, die Applikationen nutzen können, um eigene Daten mittels des TPM-Chips besonders zu schützen. Eines der APIs ist in Form des TPM-Software-Stack durch Microsoft Research auf GitHub bereitgestellt (siehe: https://github.com/microsoft/TSS.MSR).

Bitte beachten Sie: Üblicherweise sind bei dieser Anwendung dann die Daten der Applikation genau an den einen TPM-Chip gebunden und können nicht über Sicherheitskopie (Backup) und Wiederherstellen (Restore) auf einem Ersatzgerät wiederverwendet werden. Es ist daher ratsam nur sehr sensible Daten direkt an den TPM-Chip zu binden, beispielsweise private Schlüssel. Für alle übrigen sensiblen Daten sollte die Datenträgerverschlüsselung (siehe oben) verwendet werden.

Bitte beachten Sie: Die Programmierung des APIs zur Nutzung des TPM-Chips muss mit entsprechender Kenntnis von Security-Mechanismen und Erfahrung in üblicher Security-Praxis erfolgen. Es geschieht sonst viel zu leicht, dass in der Applikation selbst eine Lücke enthalten ist, die es einem Angreifer erlaubt, trotz TPM-Chip an die sensiblen Daten heranzukommen. Zum Beispiel darf die Applikation die Daten nach Entschlüsselung durch das TPM nicht im Klartext in das Dateisystem speichern.

Die Idee bei dieser Verwendung ist, besonders sensible Daten mit dem TPM-Chip so zu schützen, dass sie gar nicht kopiert werden können und/oder nur verwendet werden können, wenn der Zustand des Systems integer (also nicht manipuliert) ist. Ein Angreifer könnte dann mit einer Kopie der Daten nichts anfangen. Er muss mindestens Hardware stehlen, um eine Chance zu haben, die Daten zu verwenden. Dieses wird in der Regel bemerkt und auf solche Vorfälle kann reagiert werden. Es ist beim Entwurf der Sicherheitsfunktion der Applikation notwendig, darauf zu achten, wie auf solche Vorfälle sinnvoll reagiert werden kann.

Anwendungsszenarien 3:
Schutz der Applikationsdaten.

Eine mögliche Anwendung ist, dass für verschiedene Anwendungen unterschiedliche Schlüssel existieren, mit denen wiederum Dateien verschlüsselt sind. Sowohl die verschlüsselten Dateien als auch die Schlüssel können außerhalb des TPMs im normalen Dateisystem gespeichert werden. Während die Schlüssel mit einem Wurzelschlüssel (einem sogenannten „root key“) verschlüsselt sind, der exklusiv im TPM verbleibt, werden die Dateien mit jenen Schlüsseln ver- und entschlüsselt. Die Verwendung der Schlüssel geschieht nur im TPM. Dazu werden sie jeweils durch das Laden in ein Register des TPMs aktiviert und können darauf zum Entschlüsseln verwendet werden. Das Entschlüsseln geschieht dann im TPM, damit der private Schlüssel nie außerhalb des TPMs zur Anwendung kommt.