Trusted Platform Module

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Schematische Darstellung
Steckbare TPM-Einheit im TPM-Steckplatz einer Asus-Hauptplatine

Das Trusted Platform Module (TPM) ist ein Chip nach der TCG-Spezifikation, der einen Computer oder ähnliche Geräte um grundlegende Sicherheitsfunktionen erweitert. Diese Funktionen können beispielsweise den Zielen des Lizenzschutzes oder denen des Datenschutzes dienen. Der Chip verhält sich in einigen Punkten wie eine fest eingebaute Smartcard, allerdings mit dem wichtigen Unterschied, dass er nicht an einen konkreten Benutzer (Benutzer-Instanz), sondern an den lokalen Computer (Hardware-Instanz) gebunden ist. Außer der Verwendung in PCs und Notebooks kann das TPM in PDAs, Mobiltelefonen und Unterhaltungselektronik integriert werden. Ein Gerät mit TPM, speziell angepasstem Betriebssystem und entsprechender Software bildet zusammen eine Trusted Computing Plattform (TC-Plattform). Eine solche „vertrauenswürdige Plattform“ kann nicht mehr entgegen den Interessen des Herstellers genutzt werden, sofern dieser Beschränkungen festgelegt hat. Ein möglicher Vorteil für einen normalen Benutzer eines solchen Systems liegt im Schutz gegen softwareseitige Manipulation durch unbefugte Dritte.

Der Chip ist aktuell überwiegend passiv und kann weder den Bootvorgang noch den Betrieb direkt beeinflussen. Er enthält einen eindeutigen kryptografischen Schlüssel und kann damit zur Identifizierung des Rechners genutzt werden. Das ist jedoch nur möglich, wenn der Eigentümer das Auslesen dieser Information auch gestattet hat. Bei x86-basierten PCs konnte das TPM bisher im BIOS vollständig deaktiviert werden, so dass keine seiner Funktionen zur Verfügung steht. Es ist allerdings möglich – und durchaus wahrscheinlich – dass zum Ausführen von bestimmten Anwendungen in Zukunft eine TC-Plattform mit aktiviertem TPM vorausgesetzt wird.

Grundlegende Schlüssel eines TPM[Bearbeiten]

Endorsement Key (EK)[Bearbeiten]

Der EK ist genau einem TPM eindeutig zugeordnet. Die Schlüssellänge ist auf 2048 Bit und der Algorithmus auf das RSA-Verfahren festgelegt. Zum einen aus Sicherheits-, zum anderen aus Datenschutzgründen darf der private Teil das TPM nie verlassen – auch ein Backup des EK ist somit ausgeschlossen. Die Erzeugung dieses Schlüssels kann hingegen extern erfolgen. Erlaubt ist inzwischen die Löschung und Neu-Erzeugung des Schlüssels.

Laut aktueller TPM-Spezifikation kann der öffentliche Teil mit dem Kommando TPM_ReadPubek gelesen werden. Das Lesen kann aber mit dem Kommando TPM_DisablePubekRead blockiert werden. Die Blockierung ist endgültig und kann nicht mehr aufgehoben werden.

Storage Root Key (SRK)[Bearbeiten]

Der Storage Root Key (SRK) ist ein RSA-Schlüssel mit einer Länge von 2048 Bit. Er dient allein dem Zweck, weitere benutzte Schlüssel (z. B. private Schlüssel für die E-Mail-Kommunikation eines Benutzers) zu verschlüsseln und stellt somit die Wurzel des TPM-Schlüsselbaumes dar. Wechselt der Besitzer des Rechners, wird ein neuer SRK erzeugt. Der SRK ist nicht migrierbar.

Attestation Identity Keys (AIK)[Bearbeiten]

Attestation Identity Keys (AIKs) sind RSA-Schlüssel mit einer festgelegten Länge von 2048 Bit und einem fixierten öffentlichen Exponenten e=2^{16}+1. Sie sind nicht migrierbar und dürfen vom TPM nur für die Signatur von Werten eingesetzt werden, welche im Platform Configuration Register (PCR) abgelegt werden (Attestation).

Das Konzept der Attestation Identity Keys wurde eingeführt, weil der Endorsement Key eines TPM nicht direkt für die Beglaubigung der Plattformintegrität (Attestation) eingesetzt werden kann. Da dieser Schlüssel immer eindeutig ist, wäre die Privatsphäre der Benutzer beeinträchtigt. Deshalb werden AIKs (quasi als Pseudonym für den EK) in solchen Beglaubigungsprozessen verwendet. Sie können vom TPM-Eigentümer in beliebiger Anzahl erzeugt werden. Um dennoch sicherzustellen, dass nur konforme TC-Plattformen gültige AIKs erstellen, müssen die Schlüssel durch eine vertrauenswürdige Drittpartei (Trusted Third Party, hier oft auch als Privacy-CA bezeichnet) bestätigt werden. Diese Bestätigung erfolgt in Form eines AIK-Zertifikats (Credential).

Sicherheitsfunktionen des TPM[Bearbeiten]

Versiegelung (sealing)[Bearbeiten]

Durch Bilden eines Hash-Wertes aus der System-Konfiguration (Hard- und Software) können Daten an ein einziges TPM gebunden werden. Hierbei werden die Daten mit diesem Hash-Wert verschlüsselt. Eine Entschlüsselung gelingt nur, wenn der gleiche Hash-Wert wieder ermittelt wird (was nur auf demselben System gelingen kann). Bei Defekt des TPM muss nach Aussagen von Intel die Anwendung, die Sealing-Funktionen nutzt, dafür sorgen, dass die Daten nicht verloren sind.

Auslagerung (binding/wrapping)[Bearbeiten]

Das TPM kann Schlüssel auch außerhalb des Trust Storage (z. B. auf der Festplatte) speichern. Diese werden ebenfalls in einem Schlüssel-Baum organisiert und deren Wurzel mit einem "Key" im TPM verschlüsselt. Somit ist die Anzahl der sicher gespeicherten Schlüssel nahezu unbegrenzt.

Schutz kryptografischer Schlüssel[Bearbeiten]

Schlüssel werden innerhalb des TPMs erzeugt, benutzt und sicher abgelegt. Sie brauchen dieses also nie zu verlassen. Dadurch sind sie vor Software-Angriffen geschützt. Vor Hardware-Angriffen besteht ebenfalls ein relativ hoher Schutz (die Sicherheit ist hier mit Smartcards vergleichbar). Manche Chips sind so hergestellt, dass eine physische Manipulation die unweigerliche Zerstörung der gespeicherten Schlüssel zur Folge hat.

Bescheinigung (remote attestation)[Bearbeiten]

Durch 'Bescheinigung' kann eine entfernte Partei davon überzeugt werden, dass die Trusted Computing Plattform bestimmte Fähigkeiten besitzt und sich in einem wohldefinierten Zustand (entsprechende PCR-Werte) befindet. Diese TPM-Funktionalität hat erhebliche Auswirkungen auf die Privatsphäre eines Benutzers, weshalb zur Bescheinigung der Plattformkonformität (also Fähigkeiten und Zustand) niemals der EK direkt verwendet wird sondern möglichst nur ein neu erzeugter AIK. Ferner erfordert eine Bescheinigung immer auch die explizite Zustimmung des TPM-Eigentümers.

Zurzeit sind zwei verschiedene Attestationsverfahren vorgesehen:

  • Privacy CA (Trusted Third Party)
  • Direct Anonymous Attestation

Die ursprünglich vorgeschlagene Lösung (TPM-Spezifikation Version 1.1) benötigt eine vertrauenswürdige Drittpartei. Diese Privacy CA signiert alle neu erzeugten AIKs, sofern die Plattform bestimmte festgelegte Richtlinien erfüllt, z. B. nachgewiesen durch gültige Zertifikate (EK Credential, TCPA Conformity Certificate, Platform Credential). Die Nachteile liegen in der notwendigen Hochverfügbarkeit und dem zentralen Angriffspunkt hinsichtlich der Privatsphäre der Benutzer.

Deshalb wurde mit der TPM-Spezifikation Version 1.2 eine als Direct Anonymous Attestation (DAA)[1] bezeichnete Technik eingeführt. Durch ein komplexes kryptographisches Verfahren (spezielles Gruppensignaturschema) kann man die vertrauenswürdige Drittpartei einsparen und die Beglaubigung direkt zwischen den Beteiligten durchführen. Einen wichtigen Baustein dieser Technik bilden sogenannte Zero Knowledge-Protokolle. Sie zeigen einem Verifizierer (Diensteanbieter) die Gültigkeit eines erzeugten AIK, ohne dass dabei Wissen über den korrespondierenden EK preisgegeben wird. Ein Intel-Mitarbeiter verglich das Prinzip mit der Lösung eines Rubik-Würfels: Er geht davon aus, dass man einem Betrachter zunächst den ungeordneten und später den geordneten Würfel zeigt. So kann man einem Dritten jederzeit klarmachen, den Lösungsweg zu kennen, ohne diesen Weg erläutern zu müssen.

Allerdings existieren auch bei DAA Einschränkungen bzgl. der gewährten Anonymität: Beispielsweise gibt es einen bestimmten Betriebsmodus (Named-Base Pseudonym, Rogue Tagging), der auf Wunsch des Verifizierers das Erkennen einer wiederholten bzw. missbräuchlichen Nutzung erlaubt. Damit ist eine Verkettung der durchgeführten Dienstanforderungen möglich, was natürlich die Anonymität einschränkt. Ferner sieht der Standard eine optionale Anonymity Revocation Authority vor, um den gesetzlichen Vorschriften einiger Staaten zu entsprechen.

Sicherer Zufallsgenerator[Bearbeiten]

Die TCG-Spezifikation garantiert einen sicheren Zufallsgenerator auf dem TPM. Damit wird ein allgemeines Problem der Informatik bei der Gewinnung von Zufallswerten per Software angegangen. Die beschrittenen Wege wie Bewertung zufälliger Systemzustände oder der Auswertung von Benutzerverhalten sind problematisch. Allerdings hat auch die TCG keinen Wunderalgorithmus vorzuweisen, trotzdem garantiert sie, das Problem in Hardware angemessen zu lösen.

Verbreitung[Bearbeiten]

Das TPM wird derzeit bereits von nahezu allen namhaften PC- und Notebook-Herstellern in den Produktreihen für professionelle Anwendungen angeboten.

Softwareseitig wird das TPM von verschiedenen Anbietern unterstützt:

  • Acer, Asus, Dell, Fujitsu Technology Solutions, HP, Lenovo, LG, Samsung, Sony sowie Toshiba bieten eine Integration auf Ihren Rechnern an.
  • Apple verbaute von 2006 an mit der Einführung der Intel-Architekturen auf MacBooks vorübergehend TPMs. In aktuellen Modellen 2009-2011 sind keine TPM vorhanden. Es gibt auch keinen Treiber von Apple, nur einen Port unter GPL.[2]
  • Infineon bietet als Hersteller der TPM-Chips ebenfalls eine umfassende Software-Lösung an, die sowohl als OEM-Version mit neuen Computern ausgeliefert wird als auch separat über Infineon für Rechner mit einem TPM, der dem TCG-Standard entspricht.
  • Microsofts Betriebssysteme Windows Vista und Windows 7 sowie Microsoft Windows Server ab Windows Server 2008 benutzen den Chip im Zusammenhang mit der enthaltenen Laufwerkverschlüsselung BitLocker.
  • Die Firma Wave Systems bietet umfassende Client- und Serversoftware an, die auf allen TPM-Chips läuft. Diese Software wird beispielsweise bei vielen Modellen von Dell und Gateway vorinstalliert.

Dabei gibt es auch Mischformen, wenn beispielsweise das TPM-Modul in den Ethernet-Chip integriert ist (Broadcom) und die Software „on-top“ auf Infineon basiert.

Siehe auch[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Ernie Brickell and Jan Camenisch and Liqun Chen: Direct Anonymous Attestation (PDF; 292 kB) vom 11. Februar 2004
  2. Amit Singh: Trusted Computing for Mac OS X vom 30. Oktober 2006

Weblinks[Bearbeiten]