Trusted Platform Module

Chip zur Erweiterung eines Computers um Sicherheitsfunktionen

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 dem Lizenz- und Datenschutz 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, sondern an den lokalen Computer 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.

Schematische Darstellung
Schematische Darstellung
Steckbare TPM-Einheit im TPM-Steckplatz einer Asus-Hauptplatine

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 in den BIOS- oder UEFI-Einstellungen („BIOS-Setup“) vollständig deaktiviert werden, so dass keine seiner Funktionen zur Verfügung steht. Allerdings gibt es immer mehr Anwendungen, die nur auf einer TC-Plattform mit aktiviertem TPM laufen, wie es z. B. bei Windows seit der Version 11 der Fall ist.[1]

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 den Rechner, 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  . Sie sind nicht migrierbar und dürfen vom TPM nur für die Signatur von Werten eingesetzt werden, welche im Platform Configuration Register (PCR)[2] abgelegt werden (Attestation). PCR sind ein Teil des flüchtigen Speichers im TPM und für die Speicherung von Zustandsabbildern der aktuellen Konfiguration von Soft- und Hardware zuständig.

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)[3] 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.

2014 wurde der Standard TPM 2.0 veröffentlicht. TPM 2.0 ist nicht rückwärtskompatibel zu TPM 1.2[4] und wird ab Windows 8[5] bzw. Linux-Kernel 4.0[6] unterstützt. Für Windows 11 ist es eine Systemvoraussetzung.

Bei der Abstimmung über TPM 2.0 als ISO-Standard stimmten nur Deutschland und die VR China gegen die Normierung.[7]

TPM 1.2 TPM 2.0
Krypto-Algorithmen SHA-1, RSA Variabel, z. B. SHA-1, SHA-256, RSA, Elliptic Curve Cryptography P256
Crypto Primitives RNG, SHA-1 RNG, RSA, HMAC, SHA-1, SHA-256
Hierarchiestufen 1 (storage) 3 (platform, storage, endorsement)
Root Keys 1 (SRK RSA-2048) Verschiedene Schlüssel und Algorithmen je Hierarchiestufe
Autorisierung HMAC, PCR, locality, physical presence Password, HMAC, policy
NVRAM Unstrukturierte Daten Unstrukturierte Daten, Counter, Bitmap, Extend

Firmware-TPM

Bearbeiten

Unter „Firmware-TPM“ und der Abkürzung fTPM versteht man eine Firmware-basierte Implementierung eines Trusted Platform Modules. Es findet sich z. B. seit 2013 auf vielen Arm-basierten SoCs und war eine der ersten implementierten Varianten von TPM 2.0.[8] Auf der x86-Architektur war es ebenfalls ab 2013 zuerst in Intels Atom Z2000 enthalten und findet sich seither in zahlreichen Prozessoren von Intel und AMD. Bei Intel ist das fTPM Teil der Platform Trust Technology (PTT), bei AMD gehört es zum Platform Security Processor (PSP) bzw. später AMD Security Processor.[9]

Gibt es ein Firmware-Setup, wie etwa das UEFI „BIOS-Setup“, lässt sich das fTPM oft aktivieren oder deaktivieren. Auf Desktop-Computern, die ein dediziertes TPM 2.0 als Aufsteckmodul unterstützen, kann meist zwischen dem Modul (wenn installiert) und dem fTPM gewählt werden.

Verbreitung

Bearbeiten

Bei PCs ist ein TPM 2.0 seit 2021 standardmäßig sowohl vorhanden als auch aktiviert, um den Mindestanforderungen von Windows 11 zu entsprechen, wobei es in vielen Modellen seit ca. 2015 oft zwar vorhanden, aber (per Voreinstellung im BIOS-Setup) nicht aktiviert ist.

Software

Bearbeiten

Softwareseitig wird das TPM von verschiedenen Anbietern unterstützt:

  • Acer, Asus, MSI, 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 älteren Modellen (2009–2011) sind keine TPM vorhanden. Es gibt auch keinen Treiber von Apple, nur einen Port unter der GPL.[10]
  • Infineon bietet als Hersteller der TPM-Chips ebenfalls eine Software 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 ab Windows Server 2008 benutzen den Chip im Zusammenhang mit der enthaltenen Laufwerkverschlüsselung BitLocker.[11] Windows 11 setzt TPM 2.0 grundsätzlich voraus.[12][9]
  • Die Firma Wave Systems bietet Client- und Serversoftware an, die auf allen TPM-Chips läuft. Diese Software wird beispielsweise bei vielen Modellen von Dell und Gateway vorinstalliert.
  • Die Firma Charismathics GmbH bietet eine virtuelle Smartcard auf Basis TPM unter Windows 7 und höher an. Es werden sowohl Maschinenzertifikate als auch Benutzerzertifikate unterstützt.

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.

Hardware

Bearbeiten
 
IC von Infineon mit TPM Version 1.2

Ein TPM wird bereits seit ca. 2010 (Version 1.x) von namhaften PC- und Notebook-Herstellern verbaut, war allerdings anfangs den Produktreihen für professionelle Anwendungen vorbehalten. Nach der Verfügbarkeit der Version 2.0 ab 2013 haben die meisten Hersteller das TPM 1.2 sukzessive durch ein fTPM 2.0 ersetzt, das wiederum anfangs nur bei teureren Produktreihen im BIOS-Setup auch aktivierbar war. Seit ca. 2015 verfügen viele Mainboards von Desktop-PCs und Servern zumindest über einen TPM-Header, in den das TPM-Modul eingesteckt werden kann.[13] Bei den meisten PC-Systemen ist ebenfalls seit ca. 2015 bereits ein fTPM (Firmware-TPM) in den Prozessor, SoC oder Chipsatz integriert, das eventuell im BIOS-Setup aktiviert werden muss.[14] Manche Hersteller veröffentlichten Firmware-Updates inklusive der Upgrade-Möglichkeit von TPM-Version 1.2 auf 2.0.[15][16] Bei PCs ab 2021 ist normalerweise kein Handlungsbedarf gegeben, da Windows 11 ein TPM 2.0 voraussetzt.

Das BSI schreibt in der Pressemeldung „Stellungnahme des BSI zur aktuellen Berichterstattung zu MS Windows 8 und TPM“ vom 21. August 2013, dass für Nutzergruppen, die „sich aus verschiedenen Gründen nicht um die Sicherheit ihrer Systeme kümmern können […], sondern dem Hersteller des Systems vertrauen […]“, „Windows 8 in Kombination mit einem TPM durchaus einen Sicherheitsgewinn bedeuten“ kann.

Allerdings beschreibt das BSI auch, dass durch die Verwendung von Windows und TPM 2.0 ein „Verlust an Kontrolle über […] Betriebssystem und […] Hardware“ einhergehe. „Insbesondere können auf einer Hardware, die mit einem TPM 2.0 betrieben wird, mit Windows 8 durch unbeabsichtigte Fehler des Hardware- oder Betriebssystemherstellers, aber auch des Eigentümers des IT-Systems Fehlerzustände entstehen, die einen weiteren Betrieb des Systems verhindern.“ Laut BSI kann dies so weit gehen, dass sogar die „Hardware dauerhaft nicht mehr einsetzbar ist“. Gleiche Situationen bezeichnet das BSI für Bundesverwaltung und für andere Anwender, insbesondere auf kritischen Infrastrukturen, als nicht akzeptabel und bemängelt auch, dass auf diesem Wege Sabotage möglich ist.[17]

BSI wie auch ein Eckpunktepapier der Bundesregierung zu „Trusted Computing“ und „Secure Boot“ vom August 2012 fordern die „vollständige Kontrolle durch den Geräte-Eigentümer“ sowie die „Entscheidungsfreiheit“ in „Produktauswahl, Inbetriebnahme, Konfiguration, Anwendung und Stilllegung“.[17]

Dieser Forderung schloss sich auch Rüdiger Weis, Diplom-Mathematiker und Kryptograph, sowohl auf dem 31C3 als auch 32C3 an. Er kritisiert im Besonderen die Abhängigkeit bei Secure Boot von Microsoft und die fehlende „internationale Kontrolle des TPM-Herstellungsprozess“. Er fordert konkret die Offenlegung von Zertifizierungs-Boot-Codes nach Kartellrecht, da die „ganze Computerhardware jenseits der Apple-Welt auf Windows angepasst“ sei. Zudem bezeichnete er das TPM als „Traumchip für die NSA“, da der Schlüssel außerhalb staatlicher Stellen erzeugt würde.[11][18][19]

Anfang 2022 wurde bekannt, dass unter gewissen Umständen (unter Windows 11 21H2[20]) das auf AMD-Mainboards integrierte fTPM Leistungseinbußen verursacht.[21][22][23] Um das Problem zu beheben, ist ein UEFI-Update erforderlich.

Siehe auch

Bearbeiten
Bearbeiten
Commons: Trusted Platform Module – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

Bearbeiten
  1. heise online: Windows-11-Upgrade: So aktivieren Sie TPM 2.0 im BIOS-Setup. Abgerufen am 6. Oktober 2021.
  2. Glossareintrag zu PCR: Institut für Internet-Sicherheit if(is) vom 31. Juli 2014
  3. Ernie Brickell and Jan Camenisch and Liqun Chen: Direct Anonymous Attestation (PDF; 292 kB) vom 11. Februar 2004
  4. Trusted Platform Module Library; Part 1: Architecture. (PDF) Trusted Computing Group, 30. Oktober 2014, abgerufen am 23. November 2017.
  5. Windows 8 Boot Security FAQ
  6. [GIT PULL] Security subsystem changes for 3.20
  7. Anna Biselli: Wir leaken: Deutschland und China gegen den Rest der Welt – Wundersame Einigkeit bei Trusted Computing. netzpolitik.org, 9. März 2015, abgerufen am 11. März 2015.
  8. fTPM: A Firmware-based TPM 2.0 Implementation. In: Microsoft Research. Microsoft, November 2015, abgerufen am 2. Februar 2022 (englisch): „The fTPM is the reference implementation used in millions of mobile devices, and was the first hardware or software implementation to support the newly released TPM 2.0 specification.“
  9. a b Christof Windeck: Windows 11: Basisinformationen zum Trusted Platform Module TPM 2.0. In: Heise online. 25. Juni 2021. Abgerufen am 2. Februar 2022.
  10. Amit Singh: Trusted Computing for Mac OS X. In: Mac OS X Internals: A Systems Approach. 30. Oktober 2006, archiviert vom Original (nicht mehr online verfügbar) am 29. September 2012; abgerufen am 6. Februar 2022 (englisch).
  11. a b Fachleute vom Chaos Computer Club warnen vor Sicherheitslücken: Vortrag von Rüdiger Weis: Vor Windows 8 wird gewarnt vom 29. Dezember 2014 und ’’heise online’’ Warnung vor Secure Boot und Trusted Computing
  12. Compatibility for Windows 11. In: microsoft.com. Microsoft, 24. Juni 2021, abgerufen am 1. Juli 2021 (amerikanisches Englisch).
  13. Christof Windeck: TPM 2.0 als Steckmodul für Windows 11 nachrüsten. In: Heise online. 22. Oktober 2021. Abgerufen am 30. November 2022.; Zitat: „Außerdem gibt es einige Mainboards für Desktop-PCs und Server, die einen Pfostenstecker (Pin Header) zum Nachrüsten einer kleinen Steckplatine mit einem TPM-2.0-Chip haben. Leider sind die Pfostenstecker aber nicht standardisiert, die Board-Hersteller verwenden mindestens drei unterschiedliche Versionen. Zudem muss das BIOS des Boards für ein solches Nachrüst-TPM vorbereitet sein.“.
  14. Mark Mantel: Windows-11-Upgrade: So aktivieren Sie TPM 2.0 im BIOS-Setup. In: Heise online. 5. Oktober 2021. Abgerufen am 30. November 2022.; Zitat: „Stattdessen besitzen die allermeisten Systeme mit TPM 2.0 ein Firmware-TPM (fTPM 2.0). … Diese Variante gibt es bei Desktop-PCs seit etwa 2015 und sie ist bei quasi allen Plattformen vorhanden, die Microsoft für Windows 11 freigibt. Im Auslieferungszustand des Mainboards sind diese fTPMs jedoch häufig deaktiviert …“.
  15. Dell Computer, die von TPM-Version 1.2 auf 2.0 aktualisiert werden können. In: Dell Support Wissensdatenbank. 19. November 2021, abgerufen am 1. Dezember 2022 (Artikel 000132583, Version 6; Beispiel für ein vom Hersteller veröffentlichtes Firmware-Upgrade von TPM 1.2 auf TPM 2.0).
  16. HP Desktops, Notebooks, and Workstations – HP TPM Configuration Utility With Windows 10 Anniversary Edition Compatible TPM Firmware. In: HP Kundensupport. 25. Januar 2017, abgerufen am 1. Dezember 2022 (englisch, Version 2; Beispiel für ein vom Hersteller veröffentlichtes Firmware-Upgrade von TPM 1.2 auf TPM 2.0).
  17. a b BSI – Presseinformationen des BSI – Stellungnahme des BSI zur aktuellen Berichterstattung zu MS Windows 8 und TPM. 4. März 2016, archiviert vom Original am 4. März 2016; abgerufen am 10. März 2016.
  18. 32C3: Kryptologe warnt vor dem „Botnetz“ Windows 10 | heise open. 10. März 2016, archiviert vom Original am 10. März 2016; abgerufen am 10. März 2016.
  19. 31C3: Warnung vor Secure Boot und Trusted Computing | heise online. 10. März 2016, abgerufen am 10. März 2016.
  20. Mark Mantel: Windows 11: Ruckler mit Ryzen-Prozessoren bestehen noch immer. In: Heise online. 31. Januar 2022. Abgerufen am 31. Januar 2022.; Zitat: „Schon seit Erscheinen von Windows 11 werden auf verschiedenen Plattformen Beschwerden über Ruckler laut, die in Verbindung mit dem fTPM stehen. Diese Ruckler treten manchmal mehrmals pro Tag, manchmal tagelang gar nicht auf. Am ehesten bemerkt man sie, wenn Musik läuft, die für wenige Sekunden aussetzt oder verzerrt ist. … Universell hilft die Deaktivierung des fTPM.“.
  21. Windows 10/11: TPM 2.0 sorgt für Probleme mit AMD-Prozessoren. 27. Januar 2022, abgerufen am 2. Juli 2022.
  22. Paul Alcorn published: AMD Issues Fix and Workaround for Ryzen's fTPM Stuttering Issues. 7. März 2022, abgerufen am 2. Juli 2022 (englisch).
  23. Intermittent System Stutter Experienced with fTPM enabled on Windows 10 and 11. AMD, abgerufen am 2. Juli 2022 (englisch).