Bundesamt für Sicherheit in der Informationstechnik

Das Trusted Platform Module (TPM)

Grundlagen

In diesem Kapitel sollen die grundlegenden Aufgaben eines TPM erklärt werden. Dazu führen wir zur Vereinfachung zwei fiktive Personen ein: Alice und Bob.

Bob besitzt eine IT-Plattform (z. B. einen PC), die mit einem TPM ausgerüstet ist. Er ist der Besitzer (im Sprachgebrauch der TCG der Owner) des Systems und bestimmt, ob und welche Funktionen des TPM benutzt werden. Daneben gibt es noch reine Anwender (in den Spezifikationen der TCG als User bezeichnet) von Bobs Plattform, die diese Entscheidungsvollmachten nicht besitzen. Schließlich gibt es Personen, die mit Bobs Computer, etwa über das Internet, kommunizieren. Diese Personen dürfen aber keinerlei direkten Einfluss auf die Verwaltung seines Systems haben, obwohl sie ein Interesse daran haben, ihre eigenen Inhalte z. B. vor einem unberechtigten Zugriff durch Bob zu schützen. Alice soll hier letztere Personengruppe repräsentieren.

Das TPM kann Bob zunächst als sicherer, lokaler Aufbewahrungsort von kryptographischen Schlüsseln dienen. Diese Schlüssel kann er nutzen, um Daten verschlüsselt (und damit sicher) außerhalb des TPM zu speichern. Ein Angreifer, der keinen Zugriff auf das TPM hat, wird diese Daten nicht verstehen können. Bob kann auch Daten signieren, um seine Urheberschaft mit kryptographischen Mitteln zu beweisen. Hierfür stellt das TPM sogar die kryptographischen Funktionen bereit, deren Grundlagen im Kapitel "Kryptographische Mechanismen" erläutert werden.

Über diese zwar nützliche, aber doch vergleichsweise einfache Rolle hinaus, die auch klassische Smartcards übernehmen könnten, hat ein TPM noch einen anderen, neuartigen Zweck. Dafür sind zunächst jedoch einige einführende Erklärungen notwendig.

Unter einer Security Policy versteht man einen Satz von Regeln, der festlegt, wie bestimmte Daten auf einer IT-Plattform behandelt werden müssen. "Das Kopieren oder Versenden meines Datensatzes 'Bauplan X' ist verboten" könnte eine einfache Security Policy lauten, deren Einhaltung Alice fordert.

Bei heutigen Systemen ist es zunächst per Definition möglich, dass die Security Policy von Alice gebrochen, also der "Bauplan X" kopiert und/oder versendet wird. Will Alice demnach kommerziell wertvolle oder datenschutzrechtlich kritische Daten, die ihrer Security Policy unterliegen sollen, über das Internet an Bobs System schicken, muss sie also seinem System vertrauen. Dieses Vertrauen besteht darin, dass z. B. keine Schadprogramme auf Bobs Rechner vorhanden sind oder nicht etwa ein Dritter Zugriff auf Bobs Rechner und damit auf ihre Daten hat.

Die Hauptaufgabe des TPM liegt nun in der Bereitstellung von technischen Kontrollmechanismen auf dem Rechner von Bob, die von Bob nicht manipuliert werden können. Diese Kontrollmechanismen sollen auf dem außerhalb des Zugriffsbereichs von Alice liegenden Rechner von Bob sicherstellen, dass die Security Policy, die Alice für ihre Daten auf dem System von Bob festgelegt hat, unbedingt befolgt wird. Wenn Alice einen glaubwürdigen Beweis über diese Mechanismen erhält, kann sie Bobs System technisch gesehen vertrauen. In der Terminologie der TCG wird damit ein klassisches System zu einem Trusted System, das von Alice in seinen Möglichkeiten "herausgefordert" wird. Alice wird daher von der TCG als Challenger (Herausforderin) bezeichnet.

Wie kann Alice sicherstellen, dass Bobs System eine von ihr formulierte Security Policy bei dem Umgang mit den von ihr geschickten Daten befolgt, ohne irgendeinen Einfluss auf seine Systemadministration zu nehmen? Dazu sieht die TCG-Spezifikation vor, dass auf Bobs System ein Kontrollmodul, eben das TPM, existiert. Dieses Modul ist schwer trennbar mit der Hardware von Bobs System verbunden. So kann es auf einer PC-Platine aufgelötet sein oder auch in andere Chips vollständig integriert werden. Genau diese Einheit von System und TPM stellt dann die vertrauenswürdige Plattform (Trusted Platform) dar.

Das TPM besitzt eine eindeutige Identität und kann diese auch nach außen übermitteln (Reporting). Die eigentlich Aufgabe des TPM ist es, seine Identität und diese Reportingfunktionen vor einem externen Zugriff zu schützen. Insbesondere muss dieser Schutz auch gegen Zugriffsversuche durch Bob, dem Besitzer der Plattform und des TPM, durchgesetzt werden. Falls Bob das TPM aktiviert, kann das TPM die Rolle eines vertrauenswürdigen Auditors auf Bobs Plattform übernehmen. Bob kann das TPM jederzeit abschalten. Nutzt er aber dessen Funktionen, so hat er keine vollständige Kontrolle über die Inhalte und verwendeten Mechanismen des TPM. Erst auf Grund dieses Mangels an vollständiger Kontrolle durch den Besitzer kann die Vertrauenswürdigkeit der Plattform auch gegenüber Dritten garantiert werden. Somit stellt der Kontrollverlust in gewisser Weise den Hauptnutzen eines TPM dar.

Teil der eindeutigen Identität eines TPM können sog. öffentliche Schlüssel sein. Mit diesen Schlüsseln kann Alice außerhalb von Bobs Plattform ihre Daten derart verschlüsseln, dass nur ein TPM mit dem passenden privaten Schlüssel die Daten wieder entschlüsseln kann. Dabei kann Alice Bedingungen angeben, die auf Bobs Plattform vor dem Einsatz des privaten Schlüssels erfüllt sein müssen: So darf z. B. nur durch Alice zugelassene Software auf Bobs System Zugriff auf ihre Datensätze haben. Mittels solcher Bedingungen kann Alice ihre Security Policy auf Bobs Plattform durchsetzen.

Für das hier angegebene, einfache Beispiel einer Security Policy könnten in der Liste der erlaubten Programme Kopier- und E-Mail-Programme völlig fehlen. Dies würde es für Nutzer von Bobs Plattform (einschließlich für Bob selbst) unmöglich machen, Alices entschlüsselten "Bauplan X" zu kopieren oder weiterzuversenden.

Der für die Entschlüsselung von Alices Daten grundlegende private Schlüssel ist der Storage Root Key (SRK). Die von Alice vorgenommene kryptologische Verknüpfung von verschlüsselten Daten mit für eben diese Daten geltende Bedingungen wird von der TCG Bindung (Binding) genannt. Nun muss sich Alice natürlich darauf verlassen können, dass ihre Bedingungen auch von der Software auf Bobs System strikt eingehalten werden. Dies kann nur dann der Fall sein, wenn das Betriebssystem sicherstellt, dass mögliche Angreifer eine geladene Software nicht problemlos manipulieren können. Ein sicheres Betriebsystem kann einen solchen Schutz realisieren. Die heute üblichen Betriebssysteme (wie etwa Microsoft Windows oder gewöhnliche Linux-Varianten) bieten diese Möglichkeiten nicht. Daher gibt es im Open-Source-Bereich und bei Microsoft starke Bestrebungen, ein sicheres Betriebssystem unter Verwendung eines TPM zu entwickeln. Denn erst im Zusammenspiel mit diesen neuen Betriebsystemen wird ein TPM seine neuartigen Aufgaben wirklich vollständig erfüllen können.

Eine ähnliche Vorgehensweise wie die für Alice beschriebene Bindung von Daten an Bedingungen steht auch Bob selbst zur Verfügung, um Daten für sein eigenes TPM zu verschlüsseln. Dieser Prozess wird dann als Versiegelung (Sealing) bezeichnet. So geschützte Daten sind nur unter bestimmten Bedingungen entschlüsselbar. Bob kann auf diese Weise sicherstellen, dass alle Nutzer seines Systems (einschließlich des Systemadministrators) eine von ihm als Besitzer der Plattform festgelegte Security Policy befolgen.

Bobs System wird durch die hier beschriebenen Mechanismen für Alice vertrauenswürdig (trustworthy), sie kann dem System also tatsächlich vertrauen. Ein System gilt dann als vertrauenswürdig, wenn man es als so sicher beurteilt, dass man ihm vertraut (Trusted System). Zusammenfassend soll also das TPM damit Alice die technischen Mittel an die Hand geben, die Sicherheit von Bobs Plattform aufgrund bewiesener Fakten beurteilen zu können.

Für normale PCs stellt dies eine vollkommen neuartige Möglichkeit dar, denn bisher konnte Alice auf die Security Policy von Bobs System nur dadurch Einfluss nehmen, indem sie direkt in seine Systemadministration eingriff. Nun aber wird Bob in keiner Weise mehr gezwungen Kontrollmechanismen zuzulassen. Lehnt er die von Alice geforderten und über das TPM durchsetzbaren Kontrollmechanismen ab, kann sich Alice allerdings dafür entscheiden, ihm die Daten nicht zur Verfügung zu stellen.

Hinsichtlich des vom TPM benutzten Vertrauensmechanismus müssen nun noch zwei Grundelemente genauer spezifiziert werden: die Überprüfbarkeit der Identität eines TPM sowie ein Messprozess, der feststellen kann, welche Prozesse auf Bobs Plattform vorhanden sind und ggf. Zugriff auf Daten von Alice haben. Dieses Messergebnis kann an Alice übermittelt oder mit einer bereits vorhandenen Vorgabe verglichen werden.

Alice muss zunächst Bobs TPM zuverlässig identifizieren. Dazu spezifiziert die TCG Mechanismen, die auf Arbeiten zu Public-Key-Infrastrukturen (PKI) zurückgehen. Zertifikate verbinden öffentliche Schlüssel in TPMs mit bestimmten Eigenschaften. In dem sog. Endorsementzertifikat bestätigt der Hersteller des TPM, dass ein von ihm gebautes TPM und der dazugehörende öffentliche Schlüssel der TCG-Spezifikation entspricht und durch ein allgemein anerkanntes Verfahren auf Sicherheit und Integrität geprüft wurde. Alice kann nun dem TPM eine Zufallszahl schicken zusammen mit der Anforderung, diese mit dem zum öffentlichen Schlüssel gehörenden privaten Schlüssel zu verschlüsseln. Sie prüft das zurückgelieferte Ergebnis mit dem öffentlichen Schlüssel. So kann Alice feststellen, dass sie mit einem korrekt funktionierenden TPM kommuniziert. Ähnliche Zertifikate werden für die Plattform vom Plattformhersteller und für Bobs Identität von einem unabhängigen Dienstleister – der Certificate Authority – ausgestellt. Die unterschiedlichen Zertifikatstypen erlauben insbesondere die Gewährleistung der Anonymität von Bob bei der Benutzung seiner Trusted Platform in der Kommunikation mit Alice. Bobs System kann so ein anonymes Zertifikat vorweisen, das Alice zwar die Kommunikation mit einer korrekt funktionierenden TCG-Plattform garantiert, allerdings nicht mit welcher. So kann Alice keine oder nur indirekte Nutzerprofile erstellen.

In dem Messprozess bildet eine speziell geschützte Software einen Hashwert über ausgewählte Teile der lauffähigen Software und eventuell weitere relevante Daten wie Zugangskontrolllisten. Diese für einen bestimmten Systemzustand eindeutigen Werte werden in einem Register des TPM, dem Platform Configuration Register (PCR) gespeichert. Dort wird auch die von Alice geforderte Konfiguration von Bobs System gespeichert. Nur bei Übereinstimmung von geforderten und gemessenen Werten autorisiert schließlich das TPM die Verwendung des Storage Root Keys, mit dem dann die von Alice erstellten Datensätze entschlüsselt werden können.

Die Architekten des TPM ziehen ein treffendes Fazit: "Betrachtet man die Verbesserungen, die eine 'Trusted Platform' bietet, zusammen, so erhöht sie das Vertrauen für den Besitzer von Daten, die auf einem externen Computersystem liegen. Es wird möglich, Daten auf einem externen Computer zu speichern und die Bedingungen, unter denen die Daten benutzt werden können, einzuschränken." (Siani Pearson, Trusted Computing Platforms, Prentice Hall 2002)

nächste Seite >