Was ist das TPM in Windows? — Eine bebilderte Einführung in den „Tresor, der Schlüssel nie herausgibt“ und das gemessene Starten

· · TPM, Windows, BitLocker, Sicherheit, Windows 11, IT-Systeme, C#

„Wir haben PCs, auf denen Windows 11 nicht läuft. Es heißt, es gäbe kein TPM.“ — in den vergangenen Jahren ist dieser Satz in praktisch jeder Beratung zur Erneuerung von Firmen-PCs gefallen. Man weiß, dass es „eine Art Sicherheitschip“ ist, aber nur wenige können erklären, was er eigentlich tut und warum er zur Pflicht wurde, geschweige denn, warum ein bloßes BIOS-Update dazu führt, nach dem BitLocker-Wiederherstellungsschlüssel gefragt zu werden.

Das TPM ist kein „Chip, der Verschlüsselung schneller macht“, und auch kein „Chip, der Viren blockiert“. Ganz direkt gesagt, tut es nur zwei Dinge.

  1. Es lässt Sie einen privaten Schlüssel verwenden, ohne dass dieser Schlüssel jemals den Chip verlässt.
  2. Es zeichnet auf, was beim Start geladen wurde, und gibt Schlüssel nur frei, wenn dieser Datensatz dem erwarteten entspricht.

Sind diese beiden Punkte einmal klar, lässt sich leicht erklären, warum Windows-Sicherheitsfunktionen wie BitLocker, Windows Hello, Credential Guard und die Gerätezustandsbestätigung alle auf demselben Fundament stehen — und warum die Probleme, auf die man in der Praxis stößt, überhaupt entstehen.

Dieser Artikel behandelt zunächst die Funktionsweise des TPM mit Diagrammen, dann wo Windows es einsetzt, wie Sie den Zustand Ihres eigenen PCs prüfen, wie Sie praktische Probleme wie die Aufforderung nach dem Wiederherstellungsschlüssel und das Löschen des TPM handhaben, und schließlich, wie Entwickler das TPM aus ihrer eigenen Anwendung heraus nutzen — alles gestützt auf die offizielle Dokumentation.

1. Das Wichtigste zuerst

Das TPM (Trusted Platform Module) ist ein sicherheitsdedizierter Prozessor, der für das Erzeugen, Speichern und Verwenden kryptografischer Schlüssel zuständig ist.1 Was es tut, läuft auf die beiden obigen Punkte hinaus.

  • Es lässt einen privaten Schlüssel verwenden, ohne den Chip (den Tresor) zu verlassen. Der private Teil eines als nicht exportierbar markierten Schlüssels wird nie einer anderen Software, einem anderen Prozess oder Benutzer offengelegt.2
  • Es zeichnet auf, was beim Start geladen wurde (das Kassenbuch). Firmware und Bootloader zeichnen den Hash des Codes, den sie gleich ausführen werden, in einen Bereich namens PCRs auf, bevor sie die Kontrolle übergeben. Ein Schlüssel kann so „versiegelt“ werden, dass er nur freigegeben wird, wenn dieser Datensatz wie erwartet ist, und BitLocker ist das klassische Beispiel dafür.32

Aus diesen beiden Tatsachen ergeben sich mehrere praktisch nützliche Schlussfolgerungen. Details folgen in den jeweiligen Abschnitten.

  • Der Grund, warum eine vierstellige Windows-Hello-PIN sicher ist, liegt darin, dass der Schutz vor Brute-Force-Angriffen (Sperre nach 32 fehlgeschlagenen Authentifizierungen) in Hardware liegt (Abschnitt 2).2
  • Die Mindestanforderungen von Windows 11 sind Firmware, die „UEFI, Secure-Boot-fähig“ ist, plus TPM 2.0. Windows 11 IoT Enterprise hat jedoch gelockerte Anforderungen für dedizierte Geräte, und es gibt Konfigurationen, in denen das TPM optional ist (Abschnitt 6).45
  • Es gibt drei TPM-Implementierungen (dedizierter Chip / integriert / Firmware), aber Windows verwendet sie alle identisch (Abschnitt 5).6
  • Windows 10/11 initialisieren das TPM automatisch und übernehmen dessen Besitz, sodass Sie normalerweise keinen Grund haben, Einstellungen in tpm.msc anzufassen (Abschnitt 8).1
  • Das Löschen des TPM führt zu Datenverlust. Die Überprüfung von Backups und Wiederherstellungswegen ist zwingend erforderlich, bevor Sie es tun (Abschnitt 9).7
  • Entwickler sollten CNGs „Microsoft Platform Crypto Provider“ verwenden, statt das TPM direkt anzusprechen (Abschnitt 10).8

2. Was ein TPM ist — Ein Tresor, der Schlüssel nie herausgibt

Stellen Sie sich zunächst eine Welt ohne TPM vor. Versuchen Sie, einen privaten Schlüssel allein per Software zu schützen, landet der Schlüssel irgendwann als Klartext im Speicher, weil die CPU den Wert des Schlüssels lesen muss, um eine Signatur oder eine Entschlüsselung zu berechnen. Mit anderen Worten: Er lässt sich grundsätzlich nicht vor Malware verbergen, die den Kernel erreicht hat, oder vor einem Angreifer, der Speicher physisch auslesen kann. Die offizielle Dokumentation sagt genau das: Softwarebasierter Schlüsselschutz ist „Reverse-Engineering-Angriffen ausgesetzt, bei denen der Angreifer analysiert, wie der Schlüssel im Speicher abgelegt und während der Verwendung kopiert wird“.3

Das TPM kehrt diese Ausgangslage um. Schlüssel werden im TPM erzeugt und bleiben im TPM. Anwendungen und das Betriebssystem erhalten nicht den Schlüssel — sie bitten das TPM, eine Aufgabe zu erledigen, und erhalten nur das Ergebnis.

B. Den Schlüssel dem TPM anvertrauensendet nur die Anfrage:dies signieren / jenes entschlüsselngibt nur das Ergebnis zurückkann den Schlüssel selbst nicht extrahierenTPMApp / BetriebssystemRechnet intern mit dem privaten Schlüsselder Schlüssel verlässt den Chip nieApp / Betriebssystem erhält nurdie Signatur oder die entschlüsselten DatenMalware, die den Kernel erreicht hatSpeicheranalyse, physischer AngriffA. Schlüssel allein per Software schützenlädt den Schlüssel und berechnetkann ausgelesen werdenPrivater Schlüssel im Speicherexistiert zu einem Moment als KlartextApp / BetriebssystemMalware, die den Kernel erreicht hatSpeicheranalyse, physischer Angriff

Abbildung 1: Schlüssel allein per Software schützen im Vergleich zum Anvertrauen an das TPM

Der wichtige Punkt hier ist, dass das TPM passiv ist. Es überwacht nichts aus eigenem Antrieb und hält keine Viren ab. Es ist eine Komponente, die Befehle empfängt und Antworten zurückgibt, nicht mehr.6 Genau deshalb erfordert die Nutzenextraktion aus dem TPM, dass der OEM (der PC-Hersteller) Hardware und Firmware sorgfältig integriert, und Windows baut seine Funktionen auf dieser Annahme auf.

Die andere Säule ist der Schutz vor Brute-Force-Angriffen. Ein vom TPM geschützter Schlüssel kann mit einem Autorisierungswert wie einer PIN versehen sein. Schlagen Rateversuche für diesen Wert eine bestimmte Anzahl Mal fehl, verweigert das TPM weitere Versuche und sperrt. Für TPM 2.0 konfiguriert Windows dieses Verhalten so: konkret Sperre nach 32 fehlgeschlagenen Authentifizierungen, wobei alle 10 Minuten ein Fehlschlag vergessen wird. Nach 320 Minuten ohne jeden Fehlschlag kehrt der gemerkte Fehlerzähler auf null zurück.2

Die Tatsache, dass das Versuchslimit in Hardware liegt, ist es, was das funktionieren lässt. Zählt man Fehlschläge in Software, kann ein Angreifer das durch Neustart, Zurückstellen der Systemuhr oder Wiederherstellen der Zählerdatei aushebeln. Mit einem TPM kann er das nicht.3 Genau das ist die Grundlage dafür, dass eine vierstellige Windows-Hello-PIN sicherer ist als ein Passwort.

3. Im Inneren des TPM — EK, SRK, PCR und NVRAM

Das TPM enthält mehrere Elemente mit unterschiedlichen Rollen. Die Namen ähneln sich und lassen sich leicht verwechseln, legen wir ihre relative Position also mit einem Diagramm fest.

gebunden, sodass Freigabenur bei diesen Werten möglich istTPM 2.0EK / Endorsement Keyabgeleitet aus einem bei der Herstellung gesetzten Seedwird mit Herstellerzertifikat ausgeliefertSRK / Storage Root Keyder übergeordnete Schlüssel, der andere Schlüssel umhülltPCR 0-23kumuliert StartmessungenNVRAMkleiner Bereich, der Stromausfall überstehtAIK / Attestierungsschlüsseldie nach außen anstelle des EK präsentierte IdentitätBitLocker-SchlüsselWindows-Hello-SchlüsselZertifikat-Privatschlüssel

Abbildung 2: Die wichtigsten Komponenten des TPM und die Eltern-Kind-Beziehungen zwischen Schlüsseln

Der EK (Endorsement Key) ist ein für dieses TPM eindeutiges asymmetrisches Schlüsselpaar. Die private Hälfte wird im TPM gehalten und niemals nach außen offengelegt oder von außen zugänglich gemacht.2 Er wird mit einem vom Hersteller signierten EK-Zertifikat geliefert, das bezeugt, dass „dieser Schlüssel sich tatsächlich in einem von uns hergestellten TPM befindet“. Das ist es, was Ihnen erlaubt, ein echtes TPM von Malware zu unterscheiden, die eines vortäuscht.3

Beachten Sie, dass Microsofts Dokumentation den EK als RSA-Schlüsselpaar beschreibt,2 diese Formulierung stammt jedoch aus der Ära von TPM 1.2. Das unveränderliche, bei der Herstellung in einen TPM-2.0-Chip geschriebene Geheimnis ist streng genommen ein Seed namens Endorsement Primary Seed, und der EK wird über ein festes Verfahren (eine Vorlage) aus diesem Seed abgeleitet. Die Ableitung aus demselben Seed ergibt stets denselben Schlüssel, sodass der EK zwar neu erzeugt werden kann, aber dennoch faktisch ein für dieses TPM eindeutiger Schlüssel bleibt. Sowohl RSA- als auch ECC-EKs lassen sich ableiten, und es ist nicht ungewöhnlich, dass ein reales Gerät beide verfügbar hat.

Den EK direkt offenzulegen würde jedoch den PC eindeutig identifizieren und ein Datenschutzproblem schaffen. Reale Szenarien verwenden daher einen AIK (Attestation Identity Key). Eine Zertifizierungsstelle nutzt den EK und dessen Zertifikat, um zu belegen, dass „dieser AIK innerhalb eines echten TPM existiert“, und stellt ein AIK-Zertifikat aus. Da Sie pro vertrauender Partei einen anderen AIK verwenden können, können mehrere Prüfer nicht zusammenarbeiten, um dasselbe Gerät zu verfolgen.3

Der SRK (Storage Root Key) ist der übergeordnete Schlüssel, der zum Umhüllen anderer Schlüssel verwendet wird. Das TPM kann einen von ihm erzeugten Schlüssel verschlüsseln und nach außen ausgeben, und dieser Schlüssel lässt sich nur von genau diesem TPM entschlüsseln. Dieser Vorgang wird „Wrapping“ oder „Binding“ genannt.2 Mit anderen Worten: Auch wenn der interne Speicher des TPM klein ist, können Sie effektiv beliebig viele Schlüssel halten, indem Sie sie verschlüsselt auf externem Speicher ablegen.

Die PCRs (Platform Configuration Registers) sind spezielle Register, die Messwerte zum Startzeitpunkt kumulieren. Es gibt 24 davon, nummeriert 0 bis 23, jedes mit einem definierten Zweck.9 Ihre entscheidende Eigenschaft ist, dass Sie nicht direkt einen beliebigen Wert schreiben können; der Wert lässt sich nur mit einer Extend-Operation vorantreiben. Extend ist eine Einwegoperation, die den aktuellen Wert mit dem neuen Messwert verkettet, das Ergebnis hasht und dies zum neuen Wert macht — es ist daher grundsätzlich unmöglich, „nur die unbequemen Einträge unterwegs zu löschen“. Die Werte werden beim Neustart zurückgesetzt.3

Beachten Sie, dass TPM 2.0 auch PCRs mit einem rücksetzbaren Attribut besitzt (für DRTM und Anwendungszwecke). Die PCRs jedoch, die BitLocker zum Versiegeln verwendet (0, 2, 4, 7 und 11), sind statische Measured-Boot-PCRs und lassen sich vor einem Neustart nicht zurücksetzen. Die Erklärungen in diesem Artikel gehen von diesen aus.

NVRAM ist ein kleiner nichtflüchtiger Bereich, der etwa Zertifikate hält. TPM 2.0 verbessert gegenüber TPM 1.2 Algorithmen, Kryptografie, Hierarchien, Root-Schlüssel, Autorisierung und NVRAM.6

4. Measured Boot und PCRs — Warum „ein geändertes Starten nicht öffnet“

Die andere Säule des TPM ist Measured Boot. Das ist der Schlüssel zum Verständnis, wie sich BitLocker verhält.

4.1. Was „Messung“ tatsächlich bedeutet

Machen wir zunächst das Wort „Messung“ konkret. Messung bedeutet hier nicht das Messen einer physikalischen Größe wie Gewicht oder Temperatur. Es bedeutet, einen Hash über die gesamte Bytefolge des Programms oder der Konfigurationsdaten zu berechnen, die gleich ausgeführt werden. Ein Hash ist ein Wert fester Länge, der wie ein „Fingerabdruck des Inhalts“ wirkt, mit folgenden Eigenschaften.

  • Derselbe Inhalt liefert immer denselben Wert, egal wer ihn berechnet oder wann.
  • Unterscheidet sich der Inhalt auch nur um ein Byte, ist der Wert völlig anders.
  • Den ursprünglichen Inhalt aus dem Wert zurückzugewinnen, ist praktisch unmöglich.

Zum Beispiel wird abc, mit SHA-256 gehasht, zu

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

und abd, das sich nur im letzten Zeichen unterscheidet, wird zu

a52d159f262b2c6ddb724a61840befc36eb30c88877a4030b65cbe86298449c9

Ein Unterschied von einem Zeichen ändert den Wert vollständig, und der Vergleich der beiden Werte lässt nicht einmal einen Hinweis darauf, dass die Inhalte ähnlich waren. Sie können den SHA-256-Wert jeder Datei mit PowerShells Get-FileHash berechnen und sich so selbst ein Gefühl für diesen „Fingerabdruck“ verschaffen.

Kurz gesagt: „Startmessungen“ sind die Hashes jeder Firmware, jedes Bootloaders und jeder Konfiguration, die während des Startvorgangs ausgeführt wird. Stimmen alle Messwerte mit dem vorherigen Start überein, können Sie feststellen, dass „die am Start beteiligte Software und Konfiguration exakt dieselbe war wie beim letzten Mal“. Wurde umgekehrt der Bootloader manipuliert oder der Rechner mit einem anderen Betriebssystem gestartet, ändert sich der entsprechende Messwert zwangsläufig. Das ist das Fundament von Measured Boot.

4.2. Die Messkette — Messen, bevor man ausführt, was man lädt

Der Mechanismus ist einfach. Innerhalb der Systemfirmware gibt es einen bedingungslos vertrauten Ausgangspunkt namens CRTM (Core Root of Trust for Measurement). Das CRTM hasht die als Nächstes auszuführende Softwarekomponente bedingungslos und zeichnet diesen Messwert im TPM auf. Jede nachfolgende Komponente tut dasselbe — Sie messen, was Sie laden, bevor Sie es ausführen. Da der Messwert vor der Ausführung gesendet wird, kann eine Komponente ihren eigenen Messwert nicht aus dem TPM löschen.3

TPMWindows-KernelWindows Boot ManagerUEFI-Firmware CRTMTPMWindows-KernelWindows Boot ManagerUEFI-Firmware CRTMPCR 0 / 2 / 4 / 7 werden aktualisiertVor der Ausführung messen, dann übergebenalt[PCRs stimmen mit den Werten zum Versiegelungszeitpunkt überein][PCRs weichen ab]Erweitert den Hash des als Nächstes auszuführenden Codes1Übergibt die Kontrolle2Fordert die Freigabe des versiegelten BitLocker-Schlüssels an3Gibt den Schlüssel zurück4Entschlüsselt das Betriebssystem-Volume5Erweitert um Kernel, ELAM, Boot-Treiber6Übergibt die Kontrolle und startet Windows7Gibt den Schlüssel nicht zurück8Wechselt zur Aufforderung des Wiederherstellungsschlüssels9

Abbildung 3: Measured Boot und die Freigabe des BitLocker-Schlüssels

Der Grund, warum das Diagramm „den Kernel nach dem Entschlüsseln messen“ in dieser Reihenfolge zeigt, liegt darin, dass gemäß dem Prinzip von Measured Boot alles, was geladen wird, vor der Ausführung gemessen wird. Der Windows-Bootloader verifiziert die digitale Signatur des Kernels, bevor er ihn lädt, und der Kernel wiederum verifiziert die Boot-Treiber, Startdateien und ELAM — eine Kette.10 Sich selbst erst nach dem Start des Kernels zu messen, würde erlauben, die Messung zu überspringen, was sinnlos wäre.

BitLocker erzeugt im TPM einen Schlüssel, der nur verwendet werden kann, wenn diese Messwerte den erwarteten Werten entsprechen. Die erwarteten Werte werden zu dem Zeitpunkt berechnet, an dem der Windows Boot Manager vom Betriebssystem-Volume der Systemfestplatte läuft. Wird der Rechner mit einem anderen Betriebssystem gestartet oder die Konfiguration geändert, ändern sich die Messwerte im TPM, das TPM erlaubt die Verwendung des Schlüssels nicht, und das verschlüsselte Betriebssystem-Volume kann nicht entschlüsselt werden.3

Welche PCRs werden also tatsächlich beobachtet? Hier das Standard-Plattformvalidierungsprofil für eine native UEFI-Konfiguration.9

PCR Was gemessen wird
PCR 0 Ausführbarer Kerncode der Systemfirmware
PCR 1 Daten der Kern-Systemfirmware
PCR 2 Erweiterter oder nachrüstbarer ausführbarer Code
PCR 3 Erweiterte oder nachrüstbare Firmware-Daten
PCR 4 Boot Manager
PCR 5 GPT / Partitionstabelle
PCR 6 Wiederaufnahme-Ereignisse von S4/S5
PCR 7 Secure-Boot-Zustand
PCR 11 BitLocker-Zugriffssteuerung
PCR 12-14 Datenereignisse, Details der Boot-Module, Boot-Autoritäten

Standardmäßig sind PCR 0, 2, 4 und 11 die Versiegelungsziele. Wird der Secure-Boot-Zustand (PCR 7) unterstützt, verwendet die Versiegelung jedoch stattdessen PCR 7 und PCR 11.9 Das ist eine wichtige Unterscheidung. PCR 0/2/4 sind Hashes der Firmware- und Boot-Manager-Images selbst, ihre Werte ändern sich also bei jedem Firmware-Update, und Sie landen in der Wiederherstellung. PCR 7 dagegen misst, „ob Secure Boot aktiviert ist und welchen Schlüsseln vertraut wird“, sodass sich der Wert bei gleichbleibendem Signierer nicht ändert, wenn das Image aktualisiert wird. Microsoft erklärt, dass die Bindung an PCR 7 die Wahrscheinlichkeit senkt, nach Firmware- oder Image-Updates in die Wiederherstellung zu geraten.9

Die Art, wie PCR 11 verwendet wird, ist etwas ungewöhnlich und ein ziemlich cleverer Trick. Der antizipierte Angriff ist einer, bei dem der Angreifer den Rechner des Opfers so belässt, wie er ist (Hardware und Firmware bleiben erhalten), und nur die Betriebssystemfestplatte gegen eine eigene austauscht. Der Schlüssel ist an das ursprüngliche TPM versiegelt, den gesamten Rechner zu wechseln wäre also sinnlos — der Sinn liegt darin, das TPM des Opfers weiter zu nutzen. Der Angreifer extrahiert den versiegelten BitLocker-Schlüssel-Blob aus den Metadaten auf der Betriebssystempartition des Opfers, startet ein Betriebssystem unter eigener Kontrolle, ruft die TPM-API auf und versucht, diesen Schlüssel-Blob zu entsiegeln.

Das funktioniert nicht, weil Windows beim Versiegeln des Schlüssels PCR 11 auf 0 setzt, und der Boot Manager PCR 11 stets auf 1 ändert, wenn er die Kontrolle an den nächsten Bootloader übergibt (legitim oder nicht). Sobald das Betriebssystem des Angreifers läuft, hat der Boot Manager die Kontrolle bereits abgegeben, und PCR 11 ist definitiv nicht mehr 0. Selbst auf demselben Rechner mit demselben TPM lässt sich der Schlüssel daher ab keiner späteren Stufe als dem Boot Manager mehr anfordern.11

Beachten Sie, dass auch Secure Boot selbst Teil der Verteidigung von BitLocker ist. Standardmäßig nutzt BitLocker den Integritätsschutz von Secure Boot über die PCR-7-Messung und verhindert so, dass nicht autorisierte EFI-Firmware, EFI-Boot-Anwendungen und Bootloader starten und den BitLocker-Schlüssel erlangen.11

5. dTPM, fTPM und Pluton — Unterschiede in der Implementierung

Weil sich der Ausdruck „TPM-Chip“ eingebürgert hat, nehmen Menschen tendenziell an, das TPM müsse eine eigenständige Komponente sein, aber es gibt drei Implementierungen.6

LPC-/SPI-BusCPUDedizierter TPM-Chip= diskret, dTPMCPU-/Chipsatz-GehäuseDedizierte Hardware im selben Gehäuselogisch getrennt= integriertAllzweck-CPUFirmware-Implementierung, die ineiner vertrauenswürdigen Ausführungsumgebung (TEE) läuft= Firmware, fTPMSoCVon Microsoft entworfenerSicherheitsprozessor= Pluton

Abbildung 4: Die drei TPM-Implementierungen und Pluton als deren Erweiterung

  • Ein diskretes TPM (dTPM) ist ein dedizierter Chip in einem eigenen Halbleitergehäuse. Er wird auf dem Mainboard verbaut, mit dem Vorteil, dass der OEM ihn getrennt vom System selbst bewerten und zertifizieren kann.6
  • Ein integriertes TPM ist als dedizierte Hardware implementiert, die im selben Gehäuse wie andere Komponenten sitzt, aber logisch getrennt ist.6
  • Ein Firmware-TPM (fTPM) führt das TPM als Firmware innerhalb der vertrauenswürdigen Ausführungsumgebung (TEE) einer Allzweck-Recheneinheit aus.6 Es eignet sich für kleine, stromsparende Geräte, bei denen ein dedizierter Chip nicht praktikabel ist.

Windows verwendet jedes kompatible TPM auf exakt dieselbe Weise. Microsoft bezieht keine Position dazu, wie ein TPM implementiert sein sollte, und sagt, ein breites Ökosystem diene jeder Art von Bedürfnis.6 Mit anderen Worten: Ein fTPM ist nicht „zweite Klasse“.

Darüber hinaus treibt Microsoft Pluton die integrierte Form einen Schritt weiter. Es ist ein sicherer kryptografischer Prozessor, der in die CPU eingebaut ist, von Microsoft entworfen und von Silizium-Partnern gefertigt, konzipiert, um TPM-Funktionalität bereitzustellen und gleichzeitig Sicherheitsfunktionen zu bieten, die über den Umfang der TPM-2.0-Spezifikation hinausgehen.12 Stand 2026 ist Pluton auf Windows-11-Rechnern mit folgenden Chipsätzen verfügbar.12

  • AMD: Ryzen-6000-/7000-/8000-/9000-Serien, Ryzen-AI-Serien
  • Intel: Core-Ultra-200V-Serie, Core-Ultra-Serie-3-Prozessoren
  • Qualcomm: Snapdragon 8cx Gen 3, Snapdragon-X-Serien

Betrieblich ist das Unterscheidungsmerkmal von Pluton, dass es zwei Firmware-Update-Pfade gibt. Neben dem herkömmlichen UEFI-Capsule-Update der Firmware im SPI-Flash des Mainboards kann neue Pluton-Firmware dynamisch über Betriebssystem-Updates geladen werden. Beim Systemstart initialisiert es aus der Firmware im SPI-Flash, und während des Windows-Starts wird die über Windows Update erhaltene neueste Version (falls vorhanden) geladen.12 Die Aussicht, dass eine Korrektur verteilt wird, ohne auf das BIOS-Update des PC-Anbieters warten zu müssen, wenn eine Schwachstelle in der TPM-Firmware gefunden wird, ist in der Praxis eine willkommene Eigenschaft.

6. TPM 1.2 gegenüber 2.0 und die Windows-11-Anforderungen

Wer mit älteren PCs zu tun hat, trifft weiterhin auf TPM 1.2. Der Unterschied zwischen beiden ist mehr als „die Version ist gestiegen“.6

Aspekt TPM 1.2 TPM 2.0
Kryptografische Algorithmen Nur RSA und SHA-1 Mehrere Algorithmen unterstützt (Kryptoagilität)
Sperrrichtlinie Implementierungsabhängig, variiert je Anbieter Von Windows konfiguriert, garantiert einheitlichen Schutz vor Brute-Force-Angriffen
Implementierungsformen Grundsätzlich diskrete Chips Diskret / integriert / Firmware
Standardisierung International standardisiert als ISO/IEC 11889:2015
Firmware-Anforderung BIOS ist akzeptabel Native UEFI erforderlich (CSM deaktiviert)

SHA-1 ist der Teil, der am stärksten beißt. NIST verlangte von den meisten US-Bundesbehörden ab 2014 den Wechsel zu SHA-256, und Microsoft und Google beendeten 2017 die Unterstützung für auf SHA-1 basierende Signaturen und Zertifikate. Da die TPM-1.2-Spezifikation nur SHA-1 verwenden kann, kann sie diesem Trend nicht folgen.6

Dann ist da Windows 11. Die Mindestanforderungen sind eine 64-Bit-CPU auf der Kompatibilitätsliste, 4 GB Arbeitsspeicher, 64 GB Speicherplatz, eine mit DirectX 12 oder höher kompatible Grafikkarte mit WDDM-2.0-Treiber, ein Display mit mindestens 720p, größer als 9 Zoll, mit 8 Bit pro Farbkanal, Systemfirmware, die „UEFI, Secure-Boot-fähig“ ist, und TPM 2.0.4

Lesen Sie das genau. Was die Mindestanforderung verlangt, ist, Secure-Boot-fähig zu sein, nicht, es aktiviert zu haben.4 Sie erfüllen die Anforderung auch mit deaktiviertem Secure Boot, es besteht also keine Notwendigkeit, UEFI-Einstellungen allein für den Umstieg auf Windows 11 anzufassen. Aktivieren Sie Secure Boot jedoch und erfüllt die Plattform die Anforderungen für die PCR-7-Bindung, bindet BitLocker an PCR 7 und gerät seltener in die Wiederherstellung (Abschnitt 4). Das Aktivieren allein bewirkt das nicht automatisch, prüfen Sie also über manage-bde -protectors -get C:, an welche PCRs Sie tatsächlich gebunden sind. Die korrekte Sichtweise ist, es wegen dieses praktischen Nutzens zu aktivieren, nicht weil es eine Anforderung ist.

Ein weiterer leicht übersehener Punkt ist, dass TPM 2.0 in den alten oder CSM-Modi (Compatibility Support Module) des BIOS nicht unterstützt wird. Geräte mit TPM 2.0 müssen ihren BIOS-Modus als „nur natives UEFI“ konfiguriert haben, und die Legacy-/CSM-Optionen müssen deaktiviert sein.6

Das schafft in der Praxis eine unangenehme Situation, denn ein im Legacy-Modus installiertes Betriebssystem startet nicht mehr, sobald Sie den BIOS-Modus auf UEFI ändern. Bevor Sie den BIOS-Modus ändern, müssen Sie mit dem Werkzeug MBR2GPT das Betriebssystem und die Festplatte in einen UEFI-fähigen Zustand bringen.6 Rechner, die „ein TPM haben, aber nicht auf Windows 11 aktualisiert werden können“, befinden sich oft genau in diesem Zustand. Das Gesamtbild zur Entscheidung, wie von Windows 10 migriert werden soll, ist dargelegt in „Eine realistische Antwort nach dem Support-Ende von Windows 10 — Eine Entscheidungstabelle für ESU, LTSC und Ersatz“.

Beachten Sie auch, dass für die Gerätezustandsbestätigung Windows TPM 2.0 unterstützt, und selbst ein Gerät mit TPM 2.0 nicht wie erwartet funktioniert, wenn es ein Legacy-BIOS ausführt.1

6.1. Die Ausnahme — TPM ist auf Windows 11 IoT Enterprise optional

Alles Obige zu „Windows 11 erfordert TPM 2.0“ gilt für die allgemeinen PC-Editionen. Windows 11 IoT Enterprise hat separat definierte, gelockerte Mindestanforderungen für dedizierte Geräte, und auf IoT Enterprise LTSC (sowie Nicht-LTSC ab 24H2) sind sowohl TPM als auch Secure Boot Optional.5 Bei Industrie-PCs und eingebetteten Geräten kann dieses Wissen die Schlussfolgerung umkehren, „dieses Board kann kein Windows 11 ausführen“.

Die offizielle Anforderungstabelle hat zwei Spalten: PREFERRED und OPTIONAL (das Minimum für dedizierte Geräte).5

Punkt Windows 11 für allgemeine PCs Windows 11 IoT Enterprise LTSC
PREFERRED
Windows 11 IoT Enterprise LTSC
OPTIONAL
TPM TPM 2.0 erforderlich TPM 2.0 Optional
Secure Boot Fähigkeit erforderlich Aktiviert Optional
Systemfirmware UEFI UEFI BIOS akzeptabel
Speicher 4 GB 4 GB 2 GB
Speicherplatz 64 GB 64 GB 16 GB

Es gibt drei Vorbehalte.

  • Das bedeutet nicht „LTSC heißt kein TPM nötig“. Die gelockerten Anforderungen sind für IoT Enterprise definiert; Windows 11 Enterprise LTSC (ohne IoT) wird wie die allgemeinen PC-Editionen behandelt. Die Namen ähneln sich und werden verwechselt, aber die Schlussfolgerung ändert sich je nachdem, welche Lizenz Sie beschaffen.
  • Nicht-LTSC IoT Enterprise unterscheidet sich je nach Version. In den OPTIONAL-Anforderungen für 21H2 bis 23H2 ist TPM 2.0 weiterhin erforderlich (nur Secure Boot ist optional); das TPM wird erst ab 24H2 optional.5
  • Prozessoranforderungen sind separat. Selbst mit optionalem TPM und Secure Boot ist die Liste der unterstützten Prozessoren separat definiert, prüfen Sie sie also unbedingt.5

Microsoft selbst fügt einen Hinweis dazu hinzu, was die Wahl der gelockerten Anforderungen bedeutet: Sie sollten sorgfältig überlegen, bevor Sie Anforderungen auf einem Gerät senken, dem Endbenutzer später Software hinzufügen können, da das Fehlen eines TPM die von diesen Endbenutzern benötigte Software beeinträchtigen kann.5 Ohne TPM kann BitLocker Schlüssel nicht an den Startzustand versiegeln, und Windows-Hello-Schlüssel fallen auf Softwareschutz zurück. Wechseln Sie Ihre Perspektive von „es passend machen, um die Anforderung zu erfüllen“ zu „es passend machen, um den Schutz zu erhalten, den dieses Gerät braucht“.

Das Gesamtbild der Wahl zwischen IoT Enterprise und LTSC sowie der Lizenzbeschaffung ist dargelegt in „Welches Windows sollte auf einen Industrie-PC? — Ein praktischer Leitfaden zu Windows IoT Enterprise / LTSC“.

7. Wo Windows das TPM tatsächlich einsetzt

Zu hören, „ein TPM ist erforderlich“, ist schwer zu akzeptieren, wenn Sie nicht sehen können, von welchen alltäglichen Funktionen es abhängt. Hier eine Übersicht.

TPM 2.0BitLocker / Geräteverschlüsselungversiegelt Schlüssel an den StartzustandWindows Helloschützt an eine PIN oder Biometrie gebundene SchlüsselBrute-Force-Schutz macht kurze PINs sicherCredential Guardschützt Schlüssel der isolierten Umgebung durch MessungMeasured Boot / Remote-Attestierungstellt eine signierte Zusammenfassung des Startzustands ausGerätezustandsbestätigungEingabe für die bedingten Zugriffsrichtlinien des MDMPlatform Crypto Providermacht Zertifikat-Privatschlüssel nicht exportierbar

Abbildung 5: Die wichtigsten auf dem TPM aufbauenden Windows-Sicherheitsfunktionen

BitLocker / Geräteverschlüsselung. Wie in Abschnitt 4 behandelt. Es gibt vier Entsperrmethoden — nur TPM, TPM + PIN, TPM + Startschlüssel und TPM + PIN + Startschlüssel —, und „nur TPM“ wird als die bequemste, aber weniger sichere Methode beschrieben im Vergleich zu jenen, die einen zusätzlichen Authentifizierungsfaktor erfordern.11

Beachten Sie, dass sich die Voraussetzungen für die Geräteverschlüsselung (den Mechanismus, der BitLocker automatisch aktiviert) in den vergangenen Jahren geändert haben. Früher musste die Erfüllung der Modern-Standby- oder HSTI-Anforderungen sowie das Fehlen DMA-fähiger externer Anschlüsse gegeben sein, aber ab Windows 11 Version 24H2 wurden diese Voraussetzungen entfernt, und weit mehr Rechner sind nun abgedeckt.13 Die Behauptung in älteren Beiträgen, „es funktioniert nur auf Modern-Standby-Rechnern“, gilt ab 24H2 nicht mehr. Sie können prüfen, ob ein bestimmter Rechner qualifiziert, unter „Device Encryption Support“ in msinfo32.exe (Systeminformationen).13

Windows Hello / Windows Hello for Business. Die Authentifizierung kombiniert einen pro Gerät bereitgestellten Schlüssel mit einer PIN oder Biometrie. Existiert ein TPM, schützt das TPM den Schlüssel; andernfalls wird er per Software geschützt. Biometrische Daten werden auf diesem Gerät nur verwendet, um auf den bereitgestellten Schlüssel zuzugreifen, und nicht zwischen Geräten geteilt.3 Auf einem Gerät mit TPM kann der Schlüssel nicht anderswohin kopiert werden, was Ihnen die Eigenschaft verschafft, dass durchgesickerte Anmeldedaten auf einem anderen Gerät nicht verwendet werden können.

Credential Guard. Diese Funktion führt Anmeldedaten-Hashing in einem isolierten, vom Kernel unzugänglichen Speicherbereich durch. Dieser isolierte Bereich wird während des Startvorgangs initialisiert und geschützt, und Credential Guard nutzt das TPM, um seine Schlüssel durch Messung zu schützen. Die Schlüssel sind nur in der Startphase zugänglich, in der der isolierte Bereich initialisiert wird, und stehen dem normalen Kernel nicht zur Verfügung.3

Measured Boot und Remote-Attestierung. Mit einem AIK kann das TPM eine kryptografisch über den aktuellen Messzustand signierte Aussage (ein Quote) erzeugen. Diese an eine entfernte Partei zu senden, belegt, „mit welcher Software und Konfiguration der Rechner gestartet und das Betriebssystem initialisiert hat“.3 Die Messung endet beim Ausgangszustand von Windows, sie enthält also keine datenschutzsensiblen Informationen wie etwa, welche Anwendungen Sie nutzen.3

Gerätezustandsbestätigung. Microsofts Health-Attestation-Dienst stellt AIK-Zertifikate für TPMs mehrerer Hersteller aus, parst die Measured-Boot-Informationen und verwandelt sie in einfache Aussagen wie „ist BitLocker an“, „ist Secure Boot an“ und „ist DEP aktiviert“. MDM-Systeme (etwa Intune) können diese Aussagen dann nutzen, um ein Gerät zu isolieren oder den Zugriff auf Cloud-Dienste zu blockieren, ohne den komplexen Quote selbst parsen zu müssen.13

Platform Crypto Provider. Dies schützt Zertifikat-Privatschlüssel mit dem TPM. Eine Zertifikatvorlage kann „den Platform Crypto Provider des TPM verwenden“ angeben, und ein als nicht exportierbar konfigurierter Zertifikat-Privatschlüssel kann nicht aus dem TPM entnommen werden. Erfordert das Zertifikat eine PIN, greift der Brute-Force-Schutz des TPM automatisch.3 Das ist der für Entwickler relevante Einstiegspunkt, der in Abschnitt 10 behandelt wird.

Virtuelle Smartcards. Diese Funktion lässt das TPM sich verhalten wie „eine stets eingesteckte Smartcard“ und beseitigt so die Kosten für den Kauf und die Verteilung physischer Karten und Lesegeräte.3 Microsoft empfiehlt Nutzern virtueller Smartcards inzwischen jedoch, zu Windows Hello for Business oder FIDO2-Sicherheitsschlüsseln zu wechseln.2 Es bleibt als vorhandener Bestand erhalten, ist aber nicht die Richtung, die man für ein neues Design wählen sollte.

8. Das TPM Ihres eigenen PCs prüfen

Ab hier wird es praktisch. Zunächst ist zu beachten, dass Windows 10/11 das TPM automatisch initialisieren und dessen Besitz übernehmen. Es besteht daher normalerweise keine Notwendigkeit, Einstellungen in der TPM-Verwaltungskonsole (tpm.msc) anzufassen, und Microsoft erklärt: „In den meisten Fällen empfehlen wir, die Konfiguration über tpm.msc zu vermeiden.“ Die Ausnahmen sind Situationen im Zusammenhang mit dem Zurücksetzen oder der Neuinstallation des PCs.1 Übrigens endete die aktive Weiterentwicklung der TPM-Verwaltungskonsole mit Windows Server 2019 / Windows 10 Version 1809.1

8.1. Betrachtung in der grafischen Oberfläche

  • Win + Rtpm.msc öffnet die TPM-Verwaltungskonsole. Sie zeigt an, ob ein TPM vorhanden ist, dessen Zustand, Spezifikationsversion und Hersteller.
  • Dieselben Informationen finden Sie unter GerätesicherheitDetails des Sicherheitsprozessors in der Windows-Sicherheit. Von diesem Bildschirm aus gelangen Sie zu Fehlerbehebung beim SicherheitsprozessorTPM löschen (in Abschnitt 9 behandelt — drücken Sie es nicht leichtfertig).7

8.2. Betrachtung in PowerShell

Untersuchen Sie mehrere Rechner, ist PowerShell der verlässliche Weg. Das Modul TrustedPlatformModule verfügt über einen vollständigen Satz an Cmdlets.14

# Den TPM-Zustand auf einen Schlag prüfen (als Administrator ausführen)
Get-Tpm

Die Ausgabe sieht so aus.15

TpmPresent                : True
TpmReady                  : True
TpmEnabled                : True
TpmActivated              : True
TpmOwned                  : True
ManufacturerIdTxt         : INTC
ManufacturerVersion       : 402.1.0.0
ManagedAuthLevel          : Full
OwnerClearDisabled        : False
AutoProvisioning          : Enabled
LockedOut                 : False
LockoutHealTime           : 10 minutes
LockoutCount              : 0
LockoutMax                : 31

So lesen Sie sie.15

  • TpmPresent: ob ein TPM existiert. Ist dies False, liegt das Problem bei der Hardware oder den UEFI-Einstellungen.
  • TpmReady: ob Windows es verwenden kann. Ist TpmPresent True, aber TpmReady False, ist bei der Initialisierung oder Besitzübernahme etwas schiefgelaufen.
  • LockedOut / LockoutCount / LockoutMax / LockoutHealTime: der Zustand des Brute-Force-Schutzes. Ist LockedOut True, sind Sie vorübergehend gesperrt, etwa wegen falsch eingegebener PINs.
  • OwnerClearDisabled: ist dies True, kann das Betriebssystem das TPM nicht mit dem Besitzer-Autorisierungswert zurücksetzen (löschen).
  • AutoProvisioning: ob die automatische Bereitstellung durch Windows aktiviert ist.

Möchten Sie programmatisch entscheiden, ob die Spezifikationsversion 2.0 ist, ist WMI der bequeme Weg.

# Spezifikationsversion, Hersteller und Aktivierungszustand abrufen
Get-CimInstance -Namespace 'root/CIMv2/Security/MicrosoftTpm' -ClassName Win32_Tpm |
    Select-Object SpecVersion, ManufacturerId, ManufacturerVersion,
                  IsEnabled_InitialValue, IsActivated_InitialValue, IsOwned_InitialValue

Achten Sie hier auf ManufacturerId. Das von Get-Tpm zurückgegebene ManufacturerIdTxt (eine Zeichenkette wie INTC) ist eine Eigenschaft, die es nur bei Get-Tpm gibt; sie existiert nicht in der Win32_Tpm-Klasse.16 Schreiben Sie unachtsam Select-Object ManufacturerIdTxt, kommt diese Spalte stillschweigend leer zurück.

Was Win32_Tpm hat, ist ein uint32-Wert ManufacturerId, der zu einer Zeichenkette wird, wenn jedes Byte als ASCII-Zeichen interpretiert wird (zum Beispiel 14145487360x54 0x50 0x4D 0x00TPM).16 Möchten Sie die Zeichenkette, dekodieren Sie sie entweder selbst wie unten oder verwenden Sie einfach Get-Tpm.

# ManufacturerId (uint32) in eine ASCII-Zeichenkette umwandeln und auflisten
Get-CimInstance -Namespace 'root/CIMv2/Security/MicrosoftTpm' -ClassName Win32_Tpm |
    Select-Object SpecVersion, ManufacturerVersion,
        @{ Name = 'ManufacturerText'; Expression = {
            $bytes = [System.BitConverter]::GetBytes([uint32]$_.ManufacturerId)
            # Den uint32 vom höchstwertigen Byte her lesen (z. B. 1229870147 -> 0x49 0x4E 0x54 0x43 -> INTC)
            if ([System.BitConverter]::IsLittleEndian) { [array]::Reverse($bytes) }
            -join ($bytes | Where-Object { $_ -ne 0 } | ForEach-Object { [char]$_ })
        } }

SpecVersion kommt in der Form „Spezifikationsversion, Revision, Errata“ zurück, etwa 2.0, 0, 1.16.16 Zu prüfen, ob es mit 2.0 beginnt, genügt, um zu entscheiden, ob die Windows-11-TPM-Anforderung erfüllt ist (andere Anforderungen wie CPU, Speicher und Speicherplatz müssen separat geprüft werden — siehe Abschnitt 11). Um dies remote gegen viele Rechner auszuführen, siehe „Einstieg in PowerShell Remoting (WinRM) — Mehrere Windows-Rechner gleichzeitig verwalten“.

Darüber hinaus liefert Get-TpmEndorsementKeyInfo Informationen zum EK und dessen Zertifikat, und Get-TpmSupportedFeature sagt Ihnen, ob bestimmte Funktionen unterstützt werden. Unblock-Tpm hebt eine Sperre auf, und Clear-Tpm setzt das TPM zurück.14

8.3. Betrachtung mit Kommandozeilenwerkzeugen

tpmtool ist das Standardwerkzeug zum Abrufen von TPM-Informationen und zur Diagnose.17

:: Grundlegende TPM-Informationen anzeigen
tpmtool getdeviceinformation

:: TPM-Protokolle im aktuellen Verzeichnis sammeln
tpmtool gatherlogs

Um gleichzeitig den BitLocker-Zustand zu betrachten, verwenden Sie zusätzlich manage-bde -status oder Get-BitLockerVolume. Untersuchungsverfahren auf Seiten des Ereignisprotokolls sind behandelt in „Ereignisprotokolle mit Get-WinEvent praxisnah untersuchen — Die Geschwindigkeit der Filterung entscheidet über die Dauer der Untersuchung“.

9. Praktische Probleme — Aufforderungen zum Wiederherstellungsschlüssel, Löschen des TPM und Sperren

In der Praxis kommt das TPM meist zur Sprache, wenn etwas schiefgegangen ist. Hier die drei häufigsten Fälle.

9.1. Sie werden nach dem BitLocker-Wiederherstellungsschlüssel gefragt

Das ist die häufigste Anfrage, und die Ursache einzugrenzen ist tatsächlich einfach.

UEFI/BIOS aktualisiertSecure-Boot-Einstellungen geändertCSM aktiviertTPM gelöschtMainboard ausgetauschtAnderes Betriebssystem von USB gestartetBoot-Reihenfolge geändertKeine AhnungAufforderung zum Wiederherstellungsschlüssel beim StartHat sich kurz zuvoretwas geändert?Messwerte wie PCR 0 haben sich geändertab dem nächsten Start wird neu versiegelt, alsomit dem Wiederherstellungsschlüssel entsperren und fortfahrenDer PCR-7-Messwert hat sich geändertEinstellung rückgängig machen oder mit dem Schlüssel entsperrenDer versiegelte Schlüssel selbst ist verschwundensofern BitLocker nicht vorher ausgesetzt wurde,ist der Wiederherstellungsschlüssel der einzige WegMesswerte der Boot-Konfiguration haben sich geändertrückgängig machen und neu startenUntersuchen, auch einen möglichen Angriff einbeziehenProtokolle sammeln, dann mit dem Schlüssel entsperrenPrüfen, wo der Wiederherstellungsschlüssel gespeichert istAD DS / Entra ID / Microsoft-Konto

Abbildung 6: Eingrenzung, warum Sie nach dem BitLocker-Wiederherstellungsschlüssel gefragt wurden

Firmware-Updates sind der klassische Auslöser für den Wiederherstellungsmodus. Microsoft empfiehlt, BitLocker vor einem Firmware-Update auszusetzen, wenn Sie ein Profil konfiguriert haben, das PCR 0 einschließt.9 Umgekehrt sinkt bei Rechnern, bei denen Secure Boot korrekt konfiguriert ist und die Bindung an PCR 7 erfolgt, die Häufigkeit, nach Firmware-Updates in die Wiederherstellung zu geraten.9 Auf Modern-Standby-Rechnern ist der PCR-7-Messwert eine Logo-Anforderung, und sind TPM und Secure Boot korrekt konfiguriert, erfolgt die Bindung standardmäßig an PCR 7 und PCR 11.9

Die betriebliche Schlussfolgerung ist einfach. Setzen Sie BitLocker stets vor einem UEFI-Update, einer Änderung der Secure-Boot-Konfiguration, dem Löschen des TPM oder dem Austausch des Mainboards aus. Und prüfen Sie vorher, wo der Wiederherstellungsschlüssel gespeichert ist (Active Directory Domain Services, Microsoft Entra ID, oder bei privaten Rechnern ein Microsoft-Konto). Organisationen können BitLocker so konfigurieren, dass Wiederherstellungsschlüssel in AD DS gespeichert werden.3

Ob Sie ein Aussetzen eingefügt haben, macht den ganzen Unterschied für den nachfolgenden Aufwand aus. Das Aussetzen von BitLocker hinterlässt einen klaren Schlüsselschutz auf dem Volume, sodass selbst beim Löschen oder Austauschen des TPM der Rechner startet, ohne dass Sie den Wiederherstellungsschlüssel eingeben müssen (die Fortsetzung des Schutzes nach dem Start versiegelt gegen das neue TPM neu). Abbildung 6 sagt für den Fall, dass Sie ohne Aussetzen gelöscht oder ausgetauscht haben, „der Wiederherstellungsschlüssel ist der einzige Weg“. Anders gesagt: Ein einziger vorbereitender Schritt vermeidet diesen Zweig vollständig.

9.2. Sie möchten das TPM löschen / Sie haben es bereits gelöscht

Das Löschen des TPM verursacht Datenverlust. Die Warnung in der offiziellen Dokumentation ist eindeutig: Das Löschen zerstört alle im Zusammenhang mit dem TPM erzeugten Schlüssel, zusammen mit den durch diese Schlüssel geschützten Daten (virtuelle Smartcards, Anmelde-PINs und Ähnliches). Für alle vom TPM geschützten oder verschlüsselten Daten stellen Sie sicher, dass Sie Backups und einen Wiederherstellungsweg haben.7

Es gibt drei weitere praktische Vorsichtsmaßnahmen.7

  • Löschen Sie nicht das TPM eines Geräts, das Ihnen nicht gehört (ein Firmen- oder Schul-PC), ohne Anweisung eines Administrators.
  • Löschen Sie stets über die Betriebssystemfunktion (tpm.msc oder Windows-Sicherheit), niemals direkt über UEFI.
  • Möchten Sie das TPM nur vorübergehend stoppen, verwenden Sie „TPM ausschalten“ statt zu löschen.

Nach dem Löschen initialisiert Windows das TPM automatisch neu und übernimmt erneut dessen Besitz.7

Hervorzuheben ist hier, dass das Löschen des TPM keine Datenbereinigung ist. Was beim Löschen verloren geht, sind die Schlüssel im TPM; nicht ein einziges Byte der Daten auf der Festplatte wird gelöscht. BitLocker-Wiederherstellungsschlüssel werden normalerweise bei AD DS, Microsoft Entra ID oder einem Microsoft-Konto hinterlegt, sodass jeder, der einen davon besitzt, das Volume auch nach dem Löschen des TPM weiterhin entschlüsseln kann.

Bei der Übergabe eines Rechners an einen Dritten ist der eigentliche Kern der Aufgabe ein Verfahren zur Datenträgerlöschung: Windows’ „Diesen PC zurücksetzen (alles entfernen)“, ein dediziertes Löschwerkzeug, kryptografisches Löschen oder physische Zerstörung. Das Löschen des TPM ist nur der letzte Schliff. Das vollständige Entsorgungs- und Übergabeverfahren ist dargelegt in „Was vor der Entsorgung eines Windows-PCs zu tun ist — Eine praktische Checkliste für Datenlöschung, Kontotrennung und Backups“.

Es gibt noch eine überraschend wenig bekannte Falle. Manche Systeme tragen mehrere TPMs, die sich im UEFI umschalten lassen, aber Windows unterstützt diese Konfiguration nicht. Das Umschalten von TPMs kann dazu führen, dass Windows das neue nicht korrekt erkennt, und BitLocker gerät in den Wiederherstellungsmodus. Wechseln Sie doch, müssen Sie wechseln, löschen und Windows neu installieren. Microsoft empfiehlt dringend, sich bei einem System mit zwei TPMs für eines zu entscheiden und es nie zu ändern.7

9.3. Das TPM ist gesperrt

Wiederholt falsch eingegebene PINs sperren das TPM. In der Windows-Standardkonfiguration sperrt TPM 2.0 nach 32 fehlgeschlagenen Authentifizierungen und vergisst alle 10 Minuten einen Fehlschlag. Selbst während der Sperre können Sie aus der Sperre herauskommen, indem Sie den Rechner für das Heilungsintervall eingeschaltet lassen.2 Zehn Minuten sind nur der Windows-Standardwert, prüfen Sie also das tatsächliche Intervall mit LockoutHealTime von Get-Tpm auf diesem Rechner (Abschnitt 8). Es einfach ruhen zu lassen, ist manchmal schneller, als hektisch immer wieder neu zu starten.

Möchten Sie sie sofort aufheben, senden Sie den Sperr-Reset-Befehl. Das TPM-Besitzerpasswort wird hier leicht missverstanden. Ab Windows 10 Version 1607 behält Windows das Besitzerpasswort bei der Bereitstellung des TPM nicht bei (es setzt einen zufälligen, hochentropischen Wert und verwirft ihn dann).18 Verfahren, die davon ausgehen, „der Administrator hat das Besitzerpasswort“, stocken in der Praxis.

Was stattdessen verwendet wird, ist die Sperr-Autorisierung. Der Standardwert 5 von OSManagedAuthLevel bedeutet für TPM 2.0 „nur die Sperr-Autorisierung beibehalten“.18 Mit anderen Worten: Der Standardzustand ist, „das vollständige Besitzerpasswort ist verschwunden, aber die zum Aufheben einer Sperre benötigte Autorisierung bleibt erhalten“, und der Sperrzeit-Reset in tpm.msc und Unblock-Tpm funktionieren normalerweise mit dieser Autorisierung. Es gibt eine Einstellung, die das Besitzerpasswort selbst beibehält (OSManagedAuthLevel in der Registrierung auf 4 setzen), aber Microsoft rät dringend davon ab.18

Beachten Sie, dass es auch ohne das Besitzerpasswort einen Weg zu Verwaltungsvorgängen wie Aktivieren, Deaktivieren und Löschen des TPM über die physische Anwesenheitsbestätigung im UEFI gibt.18 Das ist jedoch kein alternativer Weg, eine Sperre sofort und zerstörungsfrei aufzuheben. Ist die Sperr-Autorisierung nicht verfügbar, besteht der Grundansatz darin, auf zeitbasierte Heilung zu warten (ein Fehlschlag alle 10 Minuten); Löschen ist ein letztes Mittel, das jeden Schlüssel zerstört (Abschnitt 9.2).

Beachten Sie außerdem, dass in Konfigurationen, in denen Sie den Autorisierungswert zum Zurücksetzen explizit eingeben, ein Reset-Versuch mit dem falschen Wert das TPM dazu bringt, weitere Reset-Versuche für 24 Stunden zu verweigern.2 Probieren Sie keine Werte auf gut Glück aus.

Schließlich erlaubt TPM 2.0 auch Schlüssel, die ohne Autorisierungswert erzeugt wurden, und diese bleiben verwendbar, während das TPM gesperrt ist. BitLockers Standardkonfiguration „nur TPM“ kann Windows selbst bei gesperrtem TPM weiterhin starten.2

10. Das TPM aus Entwicklersicht — Platform Crypto Provider und CNG

Kommt in Ihrer eigenen Anwendung eine Anforderung auf — „den Lizenzschlüssel an das Gerät binden“, „ein gerätespezifisches Client-Zertifikat für die Verbindung zum Server verwenden“, „sicherstellen, dass sich die geheimen Werte in der Konfigurationsdatei nur auf diesem Rechner entschlüsseln lassen“ — ist das TPM eine starke Option.

10.1. Verwenden Sie CNG, nicht TBS

Windows besitzt eine niedrigschwellige API namens TBS (TPM Base Services). Es ist ein Systemdienst, der den TPM-Zugriff über Anwendungen hinweg zentral verwaltet, bereitgestellt als RPC-basierte API, die den TPM-Zugriff kooperativ nach der vom Aufrufer angegebenen Priorität einplant.19

Aber die TBS-Dokumentation selbst sagt Folgendes: „Das TPM kann auch zur Schlüsselspeicherung verwendet werden, Entwicklern wird jedoch empfohlen, für diese Szenarien die Schlüsselspeicher-APIs zu verwenden. Die Schlüsselspeicher-APIs bieten Funktionalität zum Erzeugen von Schlüsseln, Signieren, Verschlüsseln und Persistieren von Schlüsseln auf einer höheren, leichter zu handhabenden Ebene als TBS.“19 Mit anderen Worten: Möchten Sie lediglich einen Schlüssel schützen, gibt es keinen Grund, TBS anzufassen.

Was Sie verwenden sollten, ist der CNG-Schlüsselspeicheranbieter (Cryptography API: Next Generation) „Microsoft Platform Crypto Provider“. CNG trennt kryptografische Anbieter von Schlüsselspeicheranbietern, und der Platform Crypto Provider ist ein KSP, der das TPM nutzt, um private Schlüssel sicher zu speichern und deren Extraktion zu verhindern.8

Es gibt zwei Eigenschaften, die der Platform Crypto Provider bietet und die ein reiner Software-CNG-Anbieter nicht (oder nicht in gleichem Maß) bieten kann.3

  • Schlüsselschutz: Sie können Schlüssel mit Nutzungsbeschränkungen im TPM erzeugen. Das Betriebssystem kann den Schlüssel im TPM laden und verwenden, ohne ihn in den Systemspeicher zu kopieren. Er lässt sich als nicht exportierbar konfigurieren. Ein vom TPM erzeugter Schlüssel existiert nur in diesem TPM, und dieses TPM ist keine Quelle für Kopien des Schlüssels.
  • Schutz vor Brute-Force-Angriffen: Sie können für einen Schlüssel einen Autorisierungswert wie eine PIN verlangen, und bei zu vielen Rateversuchen verweigert das TPM für eine Zeit.

10.2. In C# schreiben

Von .NET aus arbeiten Sie mit den CNG-Klassen in System.Security.Cryptography.

using System;
using System.Security.Cryptography;

const string KeyName = "KomuraSoft.DeviceKey";

// NTE_EXISTS: "das Objekt existiert bereits" (ein Schlüssel gleichen Namens ist bereits vorhanden)
const int NTE_EXISTS = unchecked((int)0x8009000F);

// Der Schlüsselspeicheranbieter, der das TPM verwendet
var provider = new CngProvider("Microsoft Platform Crypto Provider");

// Entscheiden, ob dies ein benutzerbezogener oder ein rechnerbezogener Schlüssel ist (von einem Dienst oder einer Aufgabe verwendet).
// Die erzeugende und die verwendende Seite müssen stets übereinstimmen — eine Abweichung hier bedeutet,
// dass "der von mir erzeugte Schlüssel nicht gefunden werden kann"
const bool UseMachineKey = false;
var openOptions = UseMachineKey ? CngKeyOpenOptions.MachineKey : CngKeyOpenOptions.None;
var creationOptions = UseMachineKey
    ? CngKeyCreationOptions.MachineKey   // Erzeugung erfordert Administratorrechte
    : CngKeyCreationOptions.None;

CngKey OpenOrCreateKey()
{
    if (CngKey.Exists(KeyName, provider, openOptions))
    {
        // Ab dem zweiten Lauf den bestehenden Schlüssel öffnen (er ist im TPM persistiert)
        return CngKey.Open(KeyName, provider, openOptions);
    }

    var creationParameters = new CngKeyCreationParameters
    {
        Provider = provider,
        KeyCreationOptions = creationOptions,
        // Niemals erlauben, den privaten Schlüssel herauszunehmen — das ist der ganze Sinn der TPM-Nutzung
        ExportPolicy = CngExportPolicies.None,
    };
    creationParameters.Parameters.Add(
        new CngProperty("Length", BitConverter.GetBytes(2048), CngPropertyOptions.None));

    try
    {
        return CngKey.Create(CngAlgorithm.Rsa, KeyName, creationParameters);
    }
    catch (CryptographicException ex) when (ex.HResult == NTE_EXISTS)
    {
        // Erzeugt ein anderer Prozess zwischen Exists und Create einen Schlüssel desselben Namens,
        // schlägt Create mit NTE_EXISTS fehl. Nur in diesem Fall den vom Gewinner erzeugten Schlüssel erneut öffnen.
        // Jeder andere Fehlschlag (TPM nicht verfügbar, unzureichende Rechte und Ähnliches) wird
        // unverändert an den Aufrufer weitergereicht
        return CngKey.Open(KeyName, provider, openOptions);
    }
}

using (var key = OpenOrCreateKey())
using (var rsa = new RSACng(key))
{
    byte[] payload = System.Text.Encoding.UTF8.GetBytes("device-attestation-challenge");
    // Das Signieren geschieht innerhalb des TPM. Der private Schlüssel erscheint nie im Prozessspeicher
    byte[] signature = rsa.SignData(payload, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
}

ExportPolicy = CngExportPolicies.None ist der entscheidende Punkt. Belassen Sie es beim Standardwert, riskieren Sie eine Konfiguration, in der der Schlüssel exportiert werden kann, obwohl Sie sich die Mühe gemacht haben, das TPM zu verwenden. „Der Schlüssel verlässt nie [den Chip]“ ist überhaupt der Grund, ein TPM zu verwenden, geben Sie also explizit nicht exportierbar an.

Die andere Falle ist die Verwechslung von benutzerbezogenen mit rechnerbezogenen Schlüsseln. Die zweiargumentigen Überladungen von CngKey.Exists / CngKey.Open suchen nur nach benutzerbezogenen Schlüsseln. Ändern Sie nur die erzeugende Seite auf CngKeyCreationOptions.MachineKey und lassen die verwendende Seite unverändert, wird der bestehende Maschinenschlüssel nicht gefunden, und Sie erhalten einen Fehlermodus, bei dem der Code „jedes Mal versucht, einen Schlüssel gleichen Namens neu zu erzeugen, und scheitert“. Wie im obigen Code stellen Sie sicher, dass derselbe Geltungsbereich (CngKeyCreationOptions.MachineKey und CngKeyOpenOptions.MachineKey) an allen drei Stellen verwendet wird: Erzeugung, Existenzprüfung und Öffnen.

Es gibt auch einen Grund, OpenOrCreateKey in eine Funktion mit try/catch auszulagern. „Auf Existenz prüfen, dann erzeugen“ ist unter Nebenläufigkeit brüchig. Sehen zwei Prozesse — etwa wenn die App zweimal gestartet wird — beide Exists == false und fahren mit Create fort, gewinnt, wer zuerst erzeugt, und der Verlierer scheitert mit „ein Schlüssel dieses Namens existiert bereits“. Das passiert nur beim ersten Start, und selbst dann nur selten, sodass Sie es beim Testen fast nie treffen werden. Bauen Sie die Bereinigung von Anfang an ein: Der Verlierer öffnet erneut den vom Gewinner erzeugten Schlüssel.

Das erneute Öffnen ist jedoch nur gültig, wenn der Grund für den Fehlschlag „ein Schlüssel dieses Namens existiert bereits“ (NTE_EXISTS) ist. Leiten Sie andere Fehlschläge — das TPM ist nicht verfügbar, Rechte sind unzureichend — über denselben Pfad, wird die eigentliche Ursache durch eine andere Ausnahme von Open ersetzt, die „Schlüssel nicht gefunden“ besagt, und die Untersuchung führt in die Irre. Deshalb grenzt der obige Code im Ausnahmefilter auf HResult ein.

10.3. Realitäten, die Sie in Ihr Design einbauen sollten

Aus dem, was die offizielle Dokumentation sagt, und aus der Natur des TPM ergeben sich mehrere Punkte, die Sie vor Beginn der Implementierung klären sollten.

  • Das TPM ist nicht schnell. Es ist ein dedizierter Mikrocontroller oder ein kleiner Prozessor, der in einem geschützten Modus der CPU läuft.2 Dass eine Schlüsselerzeugung mehrere Sekunden dauert, ist nicht ungewöhnlich. Verwenden Sie TPM-Schlüssel nicht direkt, um große Datenmengen zu verschlüsseln. Verschlüsseln Sie die Daten mit einem symmetrischen Schlüssel wie AES, und schützen Sie diesen symmetrischen Schlüssel mit dem TPM-Schlüssel — eine zweistufige Anordnung.
  • Führen Sie Schlüsselerzeugung oder Signierung nicht im UI-Thread aus. Die obige Langsamkeit zeigt sich direkt als Einfrieren.
  • Das Löschen des TPM zerstört die Schlüssel. Gehen Sie davon aus, dass sie durch Reparaturen, Mainboard-Austausch oder Neuinstallation des Betriebssystems verloren gehen, und gestalten Sie einen Weg zur erneuten Registrierung ein (etwa ein Verfahren zur erneuten Registrierung des Geräts serverseitig). Ein Design, bei dem „wenn der Schlüssel weg ist, stecken Sie fest“, wird garantiert zu einem Vorfall in der Praxis führen.
  • Entscheiden Sie zwischen benutzer- und rechnerbezogen. Benutzerbezogene Schlüssel sind an das Profil gebunden. Verwenden Sie sie von einem Dienst oder einer geplanten Aufgabe aus, benötigen Sie rechnerbezogen (CngKeyCreationOptions.MachineKey), und die Erzeugung erfordert Administratorrechte. Vergessen Sie nicht, auch auf der verwendenden Seite CngKeyOpenOptions.MachineKey zu übergeben. Für Überlegungen dazu, wo Daten abgelegt werden sollen, lohnt sich auch „Wie Sie wählen, wo eine Windows-App lokale Daten speichert — Eine Entscheidungstabelle für SQLite / JSON / Registrierung / Access“.
  • Allein die rechnerbezogene Einstellung lässt ein Dienstkonto den Schlüssel noch nicht verwenden. MachineKey bestimmt nur, wo der Schlüsselspeicher liegt; wer ihn verwenden darf, wird durch die am Schlüssel angehängte ACL (Sicherheitsdeskriptor) bestimmt. Ein von einem Administrator erzeugter und anschließend von einem nicht-administrativen Dienstkonto geöffneter Schlüssel, der mit „Zugriff verweigert“ fehlschlägt, ist ein klassischer Vorfall. Die Abhilfe besteht entweder darin, den Schlüssel unter der Identität zu erzeugen, die ihn verwenden wird (dem Konto des Dienstes), oder die SID des Dienstes bei der Erzeugung im Sicherheitsdeskriptor als erlaubt einzutragen (CNGs Eigenschaft Security Descr). In jedem Fall stets das Verhalten unter dem tatsächlichen Ausführungskonto verifizieren.
  • Entscheiden Sie, wie Sie mit Umgebungen ohne TPM umgehen. Weisen Sie sie als Anforderung zurück, oder weichen Sie auf Microsoft Software Key Storage Provider aus und akzeptieren „eine niedrigere Schutzstufe“? In gemischten Umgebungen ist es üblich, in der Zertifikatvorlage den Platform Crypto Provider zu bevorzugen und gleichzeitig Software-Anbieter zuzulassen.3
  • Überlegen Sie sorgfältig, ob Sie einem Schlüssel eine PIN geben. Der Schutz vor Brute-Force-Angriffen ist ein Vorteil, aber die TPM-Sperre ist global. Fehlerzähler pro einzelnem Schlüssel zu verwalten, ist technisch nicht praktikabel, sodass zu viele Authentifizierungsfehlschläge das gesamte TPM sperren.2 Das bedeutet, dass eine Fehleingabe in Ihrer eigenen Anwendung Windows Hello auf demselben Rechner mit in Mitleidenschaft ziehen kann.
  • Die Handhabung der Anmeldedaten selbst bleibt ein separates Problem. Wie Sie es so gestalten, dass nichts im Klartext in Skripten oder Konfigurationsdateien gespeichert wird, ist behandelt in „Anmeldeinformationen in PowerShell sicher handhaben — Klartext-Passwörter aus Ihren Skripten verbannen“.

11. Bewährte Praxis (Entscheidungstabelle)

Situation Was zu tun ist Grund / Anmerkungen
Sie möchten wissen, ob ein Rechner auf Windows 11 wechseln kann Verwenden Sie PC Health Check oder ein Verwaltungswerkzeug zur Entscheidung. Prüfen Sie manuell, achten Sie auf die CPU-Kompatibilitätsliste, 4 GB Speicher, 64 GB Speicherplatz, eine GPU mit DirectX 12 oder höher und WDDM-2.0-Treiber, ein 720p-/größer-als-9-Zoll-/8-bpc-Display, native UEFI- und Secure-Boot-fähige Firmware sowie TPM 2.0 Entscheiden Sie „es lässt sich aktualisieren“ nicht allein anhand des TPM. GPU und Display gehören ebenfalls zu den Mindestanforderungen. Etwas zu übersehen ist das eigentliche Risiko, überlassen Sie die Entscheidung daher grundsätzlich einem Werkzeug4
Sie möchten nur einen Massenbestand der TPM-Anforderung Bestätigen Sie 2.0 mit Get-Tpm und dem SpecVersion von Win32_Tpm Dies prüft die TPM-Anforderung, nicht die Windows-11-Eignung als solche416
Ein TPM ist vorhanden, der Rechner erfüllt aber weiterhin nicht die Windows-11-Anforderungen Prüfen Sie, ob der BIOS-Modus Legacy/CSM ist. Konvertieren Sie mit MBR2GPT zu UEFI, bevor Sie umschalten TPM 2.0 funktioniert im CSM-Modus nicht6
Ein Industrie-PC oder ein eingebettetes Gerät hat kein TPM oder kann keines aufnehmen Prüfen Sie die OPTIONAL-Mindestanforderungen von Windows 11 IoT Enterprise. Unterscheiden Sie dabei aber stets Edition (IoT Enterprise gegenüber Enterprise LTSC ohne IoT) und Version (LTSC, oder Nicht-LTSC ab 24H2) Das TPM ist optional auf IoT Enterprise LTSC und Nicht-LTSC ab 24H2. Nicht-LTSC 21H2 bis 23H2 erfordern TPM 2.0. Enterprise LTSC ohne IoT erhält die gelockerten Anforderungen nicht5
UEFI/BIOS aktualisieren BitLocker vorher aussetzen und prüfen, wo der Wiederherstellungsschlüssel gespeichert ist Firmware-Updates ändern die PCR-Messwerte9
Sie möchten das TPM löschen Zunächst Backups und einen Wiederherstellungsweg sicherstellen. Über die Betriebssystemfunktion tun (niemals über UEFI) Das Löschen verliert jeden vom TPM abgeleiteten Schlüssel und dessen Daten7
Die Aufforderung zum Wiederherstellungsschlüssel erschien Aufzählen, was sich kurz zuvor geändert hat (Firmware, Secure Boot, Boot-Reihenfolge, TPM) Die Änderung hat einen Messwert verschoben — das ist die Ursache911
Das TPM ist gesperrt Mit eingeschaltetem Rechner das Heilungsintervall abwarten (standardmäßig 10 Minuten; LockoutHealTime von Get-Tpm prüfen). Bei Eile den Sperrzeit-Reset in tpm.msc oder Unblock-Tpm verwenden Das Besitzerpasswort wird seit 1607 nicht mehr beibehalten. Standardmäßig behält TPM 2.0 nur die Sperr-Autorisierung bei. Ein Reset mit falschem Autorisierungswert löst ein 24-stündiges Wiederholungsverbot aus182
Ein Rechner, bei dem physischer Angriff in Betracht kommt TPM + PIN (erweiterte PIN) konfigurieren, Ruhezustand deaktivieren und mit Ruhezustand oder Ausschalten betreiben Nur TPM ist die auf Bequemlichkeit ausgerichtete Konfiguration11
Sie möchten Schlüssel in Ihrer eigenen Anwendung schützen CNGs Microsoft Platform Crypto Provider + ExportPolicies.None Die höherwertigen Schlüsselspeicher-APIs werden gegenüber TBS empfohlen198
Sie möchten eine große Datenmenge verschlüsseln Mit einem symmetrischen Schlüssel verschlüsseln und nur diesen Schlüssel mit dem TPM schützen Das TPM ist langsam und für direkte Massenverschlüsselung ungeeignet2
Einen Rechner entsorgen oder übergeben Die Datenträgerlöschung (Windows-Reset, ein dediziertes Löschwerkzeug, physische Zerstörung) zum Hauptverfahren machen und das TPM zuletzt als einen Teil davon löschen Das Löschen des TPM löscht nicht die Daten auf der Festplatte. Ein separat hinterlegter Wiederherstellungsschlüssel kann sie weiterhin entschlüsseln. Beachten Sie auch, dass eine falsche Reihenfolge Sie von Ihren eigenen Daten aussperren kann7

12. Zusammenfassung

  • Das TPM ist ein passiver Sicherheitsprozessor, der sowohl „ein Tresor, der einen privaten Schlüssel verwenden lässt, ohne ihn den Chip verlassen zu lassen“ als auch „ein Kassenbuch, das aufzeichnet, was beim Start geladen wurde“ ist.
  • Die für Measured Boot verwendeten statischen PCRs lassen sich nur mit Extend vorantreiben, und da die Messung vor der Ausführung erfolgt, kann keine Komponente in der Kette ihre eigenen Spuren löschen. BitLocker versiegelt seine Schlüssel an diese Messwerte (TPM 2.0 hat zwar rücksetzbare PCRs, aber das sind nicht die zum Versiegeln verwendeten).
  • Standardmäßig unter nativem UEFI verwendet die Versiegelung PCR 0/2/4/11; ist Secure Boot verfügbar, PCR 7/11. Die Bindung an PCR 7 macht das Geraten in die Wiederherstellung nach einem Firmware-Update weniger wahrscheinlich.
  • Es gibt drei Implementierungen — diskret, integriert und Firmware —, und Windows behandelt sie alle identisch. Pluton ist die in die CPU integrierte Form, und ihr betriebliches Unterscheidungsmerkmal ist, dass sich ihre Firmware auch über Windows Update aktualisieren lässt.
  • Die Windows-11-Anforderungen sind TPM 2.0 und Firmware, die „UEFI, Secure-Boot-fähig“ ist. Die Anforderung ist Fähigkeit, nicht Aktivierung, aber die Aktivierung hat den praktischen Nutzen, BitLocker an PCR 7 zu binden. Ein Rechner mit TPM erfüllt die Anforderung im CSM-Modus weiterhin nicht, führen Sie also MBR2GPT aus, bevor Sie den BIOS-Modus ändern.
  • Die Ausnahme ist Windows 11 IoT Enterprise, wo die gelockerten Anforderungen für dedizierte Geräte sowohl TPM als auch Secure Boot optional machen. Das gilt aber für IoT Enterprise LTSC und Nicht-LTSC ab 24H2; Nicht-LTSC 21H2 bis 23H2 erfordern TPM 2.0, und Windows 11 Enterprise LTSC ohne IoT erhält die Lockerung nicht. Sich von vornherein gegen ein TPM zu entscheiden, bedeutet auch, auf den Schutz von BitLocker und Windows Hello zu verzichten.
  • Setzen Sie vor einem Firmware-Update, einer Änderung der Secure-Boot-Konfiguration, dem Löschen des TPM oder dem Austausch des Mainboards BitLocker aus und bestätigen Sie, wo sich der Wiederherstellungsschlüssel befindet — als Paar.
  • Verwenden Sie aus Ihrer eigenen Anwendung heraus CNGs Microsoft Platform Crypto Provider statt TBS. Geben Sie explizit nicht exportierbar an, und bauen Sie die Langsamkeit des TPM sowie den Verlust der Schlüssel beim Löschen in Ihr Design ein.

Verwandte Artikel

Verwandte Beratungsleistungen

KomuraSoft LLC übernimmt Bestandsaufnahmen der Hardwareanforderungen für die Windows-11-Migration, Beratung zum betrieblichen Design von BitLocker sowie die Vertragsentwicklung von Windows-Geschäftsanwendungen einschließlich gerätespezifischer Schlüsselverwaltung mit dem TPM.

  1. Microsoft Learn, Trusted Platform Module Technology Overview. Dazu, dass das TPM ein durch mehrere physische Sicherheitsmechanismen manipulationsresistent gemachter sicherer Kryptoprozessor ist; dass Malware die Sicherheitsfunktionen des TPM nicht manipulieren kann; die drei Vorteile Schlüsselerzeugung, -speicherung und Nutzungsbeschränkung plus Geräteauthentifizierung und Plattformintegrität; das Messen und Aufzeichnen von Startcode beim Hochfahren; dass Windows 10/11 das TPM automatisch initialisieren und dessen Besitz übernehmen, sodass die Konfiguration über tpm.msc normalerweise vermieden werden sollte; dass die aktive Weiterentwicklung der TPM-Verwaltungskonsole mit Windows Server 2019 / Windows 10 1809 endete; und dass die Gerätezustandsbestätigung TPM 2.0 und UEFI-Firmware erfordert, sodass ein Gerät mit Legacy-BIOS und TPM 2.0 nicht wie erwartet funktioniert.  2 3 4 5 6

  2. Microsoft Learn, Trusted Platform Module (TPM) fundamentals. Dazu, dass die privaten Teile des Storage Root Key und des Endorsement Key nie einer anderen Komponente, Software, einem Prozess oder Benutzer offengelegt werden; Schlüssel-Wrapping/-Binding; Versiegeln an und Entsiegeln von Plattform-Messwerten; dass der EK ein RSA-Schlüsselpaar ist, dessen private Hälfte das TPM nie verlässt; Schlüsselattestierung; dass der Schutz vor Brute-Force-Angriffen eine globale Sperre ist; dass Windows TPM 2.0 so konfiguriert, dass es nach 32 fehlgeschlagenen Authentifizierungen sperrt und alle 10 Minuten einen Fehlschlag vergisst; dass der Zähler nach 320 Minuten ohne Fehlschlag auf null zurückkehrt; dass sich die Sperre durch 10-minütiges eingeschaltetes Lassen des Rechners aufheben lässt; sofortiges Zurücksetzen mit dem Besitzerpasswort und das 24-stündige Wiederholungsverbot bei falschem Wert; dass Schlüssel ohne Autorisierungswert während der Sperre weiterhin verwendbar bleiben, sodass BitLockers Konfiguration „nur TPM“ weiterhin starten kann; dass das TPM auf einem dedizierten Mikrocontroller oder in einem geschützten Modus der CPU läuft; und die Empfehlung, dass Nutzer virtueller Smartcards zu Windows Hello for Business oder FIDO2 wechseln.  2 3 4 5 6 7 8 9 10 11 12 13 14 15

  3. Microsoft Learn, How Windows uses the TPM. Dazu, dass softwarebasierter Schlüsselschutz Reverse-Engineering-Angriffen ausgesetzt ist; Schlüsselschutz und Schutz vor Brute-Force-Angriffen des Platform Crypto Provider; dass das EK-Zertifikat die Authentizität eines TPM bestätigt und AIKs die Privatsphäre wahren; dass das CRTM die nächste Komponente bedingungslos hasht und im TPM aufzeichnet, vor der Ausführung misst, sodass Messwerte nicht gelöscht werden können (und beim Neustart zurückgesetzt werden); dass BitLocker im TPM einen Schlüssel erzeugt, der nur verwendbar ist, wenn die Startmessungen den erwarteten Werten entsprechen; dass Wiederherstellungsschlüssel in AD DS gespeichert werden können; dass Measured Boot den Windows-Kernel, ELAM-Treiber und Boot-Treiber aufzeichnet; AIK-basierte Quotes und Remote-Attestierung; den Health-Attestation-Dienst und dessen Integration mit MDM; dass Credential Guard die Schlüssel der isolierten Umgebung durch TPM-Messungen schützt; den Schlüsselschutz von Windows Hello for Business und dass biometrische Daten nicht geräteübergreifend geteilt werden; virtuelle Smartcards; und die Praxis bei Zertifikatvorlagen in gemischten Umgebungen.  2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

  4. Microsoft Learn, Windows 11 requirements. Zu den Windows-11-Mindestanforderungen (eine kompatible 64-Bit-CPU oder SoC mit 1 GHz oder schneller und 2 oder mehr Kernen, 4 GB oder mehr Speicher, 64 GB oder mehr Speicherplatz, eine mit DirectX 12 oder höher kompatible Grafikkarte mit WDDM-2.0-Treiber, Systemfirmware, die „UEFI, Secure-Boot-fähig“ ist, TPM 2.0, ein Display mit mindestens 720p, größer als 9 Zoll, mit 8 Bit pro Farbkanal, und eine Internetverbindung), einschließlich der Tatsache, dass die Anforderung Secure-Boot-fähig zu sein ist, nicht es aktiviert zu haben.  2 3 4 5

  5. Microsoft Learn, Minimum System Requirements - Windows IoT Enterprise. Dazu, dass die PREFERRED-Mindestanforderungen für Windows IoT Enterprise denen für Verbrauchergeräte entsprechen, und dass es Flexibilität gibt (die OPTIONAL-Mindestanforderungen), um für dedizierte Geräte von dieser Schwelle abzuweichen. Dazu, dass die OPTIONAL-Mindestanforderungen für Windows 11 IoT Enterprise LTSC 2 GB Speicher, 16 GB Speicherplatz, BIOS als akzeptable Systemfirmware, TPM „Optional“ und Secure Boot „Optional“ umfassen. Zu Nicht-LTSC-Windows-11-IoT-Enterprise, wo die OPTIONAL-Anforderungen für 21H2/22H2/23H2 weiterhin TPM 2.0 erfordern, wobei nur Secure Boot optional ist, und das TPM erst ab 24H2 optional wird. Dazu, dass Prozessoranforderungen auf einer separaten Seite definiert sind. Und zu der Aussage, dass das Senken von Anforderungen bei einem dedizierten Gerät, dem Endbenutzer Software hinzufügen können, sorgfältiger Überlegung bedarf, da das Fehlen eines TPM die von Endbenutzern benötigte Software beeinträchtigen kann (anders als etwa eine Änderung des Speichertyps, die nur die Lese-/Schreibleistung betrifft). Diese gelockerten Anforderungen gelten für die Editionsfamilie Windows IoT Enterprise.  2 3 4 5 6 7

  6. Microsoft Learn, TPM recommendations. Dazu, dass das TPM passiv ist — eine Komponente, die Befehle empfängt und Antworten zurückgibt; dass TPM 1.2 nur RSA und SHA-1 unterstützt; dass NIST ab 2014 den Wechsel zu SHA-256 verlangte und Microsoft und Google 2017 die Unterstützung für SHA-1-Signaturen und -Zertifikate beendeten; die Kryptoagilität von TPM 2.0 und dessen internationale Standardisierung als ISO/IEC 11889:2015; dass die Sperrrichtlinie von TPM 1.2 zwischen Implementierungen variiert, während TPM 2.0 von Windows so konfiguriert wird, dass ein einheitlicher Schutz vor Brute-Force-Angriffen garantiert ist; die drei Implementierungen — diskret (dTPM), integriert und Firmware (fTPM) —, dass Windows sie alle identisch verwendet und Microsoft keine Position zur Implementierungsform bezieht; und dass TPM 2.0 in den Legacy- und CSM-BIOS-Modi nicht unterstützt wird und natives UEFI erfordert, sodass ein im Legacy-Modus installiertes Betriebssystem MBR2GPT benötigt, bevor der BIOS-Modus geändert wird. Beachten Sie, dass dieselbe Seite Modern Standby als Voraussetzung für die Geräteverschlüsselung nennt, diese Voraussetzung jedoch in Windows 11 Version 24H2 entfernt wurde (siehe Abschnitt 7 und [^bitlockerindex]).  2 3 4 5 6 7 8 9 10 11 12 13

  7. Microsoft Learn, Troubleshoot the TPM. Dazu, dass Windows das TPM automatisch initialisiert und dessen Besitz übernimmt, sodass die Erzeugung eines Besitzerpassworts nicht nötig ist; dass das Löschen des TPM Datenverlust verursacht und alle vom TPM abgeleiteten Schlüssel und Daten zerstört, einschließlich virtueller Smartcards und Anmelde-PINs; dass das TPM eines nicht eigenen Geräts nicht ohne Anweisung eines Administrators gelöscht werden sollte; dass stets über die Betriebssystemfunktion (tpm.msc) gelöscht werden sollte, nicht direkt über UEFI; die Option, das TPM auszuschalten, wenn es nur vorübergehend gestoppt werden muss; das Verfahren zum Löschen über Windows-Sicherheit, Gerätesicherheit → Details des Sicherheitsprozessors → Fehlerbehebung; dass Windows nach dem Löschen automatisch neu initialisiert und den Besitz erneut übernimmt; dass Windows das Umschalten zwischen mehreren TPMs auf einem System nicht unterstützt, wobei BitLocker in den Wiederherstellungsmodus gerät, wenn dies dennoch geschieht; und die Überprüfung der UEFI-Einstellungen, wenn TPM 2.0 nicht erkannt wird.  2 3 4 5 6 7 8

  8. Microsoft Learn, CNG Key Storage Providers. Dazu, dass CNG kryptografische Anbieter von Schlüsselspeicheranbietern (KSPs) trennt; dass der Microsoft Platform Crypto Provider ein KSP ist, der das TPM verwendet, um private Schlüssel sicher zu speichern, sodass sie selbst von bösartiger Software nicht extrahiert werden können; und zur Verwendung durch Übergabe von MS_PLATFORM_CRYPTO_PROVIDER an NCryptOpenStorageProvider.  2 3

  9. Microsoft Learn, Configure BitLocker. Zur Liste der PCRs 0-23 und was jeder unter der Richtlinie „Configure TPM platform validation profile for native UEFI firmware configurations“ misst; dass das native UEFI-Standardprofil PCR 0, 2, 4 und 11 ist; dass die Versiegelung standardmäßig PCR 7 und PCR 11 verwendet, wo der Secure-Boot-Zustand (PCR 7) unterstützt wird; dass PCR 7 anzeigt, ob Secure Boot aktiviert ist und welchen Schlüsseln vertraut wird, sodass die Verwendung anstelle von PCR 0, 2 und 4 — die Hashes der tatsächlichen Firmware- und Bootmgr-Images sind — die Wahrscheinlichkeit senkt, nach Firmware- oder Image-Updates in die Wiederherstellung zu geraten; dass BitLocker vor einem Firmware-Update in Konfigurationen, die PCR 0 einschließen, ausgesetzt werden muss; und dass die PCR-7-Messung eine Logo-Anforderung auf Modern-Standby-Systemen ist, sodass bei korrekt konfiguriertem TPM und Secure Boot die Standardbindung PCR 7 und PCR 11 ist.  2 3 4 5 6 7 8 9

  10. Microsoft Learn, Secure the Windows boot process. Zu den Rollen von Secure Boot, Trusted Boot, ELAM und Measured Boot; dass Trusted Boot den Bootloader die digitale Signatur des Kernels verifizieren lässt, bevor er ihn lädt, wobei der Kernel anschließend Boot-Treiber, Startdateien und ELAM verifiziert; dass ELAM vor Boot-Treibern von Drittanbietern lädt; und dass Measured Boot die UEFI-Firmware die Hashes der Firmware, des Bootloaders, der Boot-Treiber und alles, was vor der Anti-Malware-Anwendung geladen wird, im TPM speichern lässt. 

  11. Microsoft Learn, BitLocker countermeasures. Dazu, dass BitLocker standardmäßig den Integritätsschutz von Secure Boot über die PCR-7-Messung nutzt, sodass nicht autorisierte EFI-Firmware, Boot-Anwendungen und Bootloader den BitLocker-Schlüssel nicht erlangen können; die vier Entsperrmethoden — nur TPM, TPM + Startschlüssel, TPM + PIN, TPM + Startschlüssel + PIN —, wobei nur TPM Bequemlichkeit bevorzugt und vergleichsweise weniger sicher ist; dass Änderungen am TPM, an der BIOS-/UEFI-Konfiguration, an Boot-Dateien oder an der Boot-Konfiguration den Wiederherstellungsmodus auslösen; dass Bootkits und Rootkits durch PCR-Messungen erkannt werden, sodass der Schlüssel nicht freigegeben wird; dass Windows Schlüssel mit PCR 11 auf 0 versiegelt und der Boot Manager PCR 11 bei der Übergabe der Kontrolle stets auf 1 ändert, sodass das Entsiegeln nach einem Festplattentausch nicht funktioniert; und die Empfehlung von TPM + erweiterter PIN mit deaktiviertem Ruhezustand, wo physischer Angriff in Betracht kommt.  2 3 4 5

  12. Microsoft Learn, Microsoft Pluton security processor. Dazu, dass Pluton ein in die CPU eingebauter sicherer kryptografischer Prozessor ist; darauf ausgelegt, TPM-Funktionalität bereitzustellen und gleichzeitig Sicherheitsfunktionen zu bieten, die über die TPM-2.0-Spezifikation hinausgehen; die unterstützten Chipsätze (AMD Ryzen 6000/7000/8000/9000 und Ryzen-AI-Serien, Intel Core Ultra 200V-Serie und Core Ultra Serie 3, Qualcomm Snapdragon 8cx Gen 3 und Snapdragon-X-Serien); dass die Firmware beim Start aus dem SPI-Flash des Mainboards geladen wird, wobei während des Windows-Starts die über Windows Update erhaltene neueste Version verwendet wird; und die zwei Aktualisierungspfade UEFI-Capsule-Update und Betriebssystem-Update.  2 3

  13. Microsoft Learn, BitLocker overview. Dazu, dass die Geräteverschlüsselung die Erfüllung der Modern-Standby- oder HSTI-Sicherheitsanforderungen sowie das Fehlen DMA-fähiger externer Anschlüsse erforderte, und dass diese DMA- und HSTI-/Modern-Standby-Voraussetzungen ab Windows 11 Version 24H2 entfernt wurden, sodass mehr Geräte für automatische und manuelle Geräteverschlüsselung qualifizieren; dass die Geräteverschlüsselung nur das Betriebssystemlaufwerk und feste Laufwerke abdeckt; dass der Wiederherstellungsschlüssel bei Microsoft Entra ID, AD DS oder einem Microsoft-Konto gesichert wird, bevor der Klarschlüssel entfernt wird; und dass sich die Erfüllung der Voraussetzungen unter „Device Encryption Support“ in msinfo32.exe überprüfen lässt.  2

  14. Microsoft Learn, TrustedPlatformModule Module. Zu den Cmdlets Clear-Tpm, ConvertTo-TpmOwnerAuth, Disable-TpmAutoProvisioning, Enable-TpmAutoProvisioning, Get-Tpm, Get-TpmEndorsementKeyInfo, Get-TpmSupportedFeature, Import-TpmOwnerAuth, Initialize-Tpm, Set-TpmOwnerAuth und Unblock-Tpm sowie deren Rollen.  2

  15. Microsoft Learn, Get-Tpm (TrustedPlatformModule). Dazu, dass Get-Tpm ein TpmObject zurückgibt, und zur Bedeutung jeder Eigenschaft — TpmPresent, TpmReady, TpmEnabled, TpmActivated, TpmOwned, ManagedAuthLevel, OwnerAuth, OwnerClearDisabled, AutoProvisioning, LockedOut, LockoutHealTime, LockoutCount, LockoutMax, SelfTest — zusammen mit Beispielausgaben.  2

  16. Microsoft Learn, Win32_Tpm class. Zu den Eigenschaften der Klasse Win32_Tpm (IsActivated_InitialValue, IsEnabled_InitialValue, IsOwned_InitialValue, SpecVersion, ManufacturerVersion, ManufacturerVersionInfo, ManufacturerId, PhysicalPresenceVersionInfo), einschließlich der Tatsache, dass ManufacturerId ein uint32 ist, der zu einer Zeichenkette wird, wenn jedes Byte als ASCII-Zeichen interpretiert wird (zum Beispiel 1414548736 → 0x54/0x50/0x4D/0x00 → „TPM“), und dass SpecVersion eine Zeichenkette ist, die Haupt- und Nebenversion der TCG-Spezifikation sowie Revision und Errata enthält. ManufacturerIdTxt gehört nicht zu den Eigenschaften dieser Klasse.  2 3 4

  17. Microsoft Learn, tpmtool. Dazu, dass tpmtool ein Dienstprogramm zum Abrufen von TPM-Informationen ist; dass getdeviceinformation grundlegende TPM-Informationen anzeigt; und dass gatherlogs TPM-Protokolle im aktuellen Verzeichnis sammelt. 

  18. Microsoft Learn, Change the TPM owner password. Dazu, dass Windows ab Windows 10 Version 1607 das Besitzerpasswort bei der Bereitstellung des TPM nicht beibehält, sondern einen zufälligen, hochentropischen Wert setzt und verwirft. Dazu, dass eine Beibehaltung durch Setzen von OSManagedAuthLevel unter dem Registrierungsschlüssel HKLM\Software\Policies\Microsoft\TPM auf 4 möglich ist, wovon Microsoft jedoch dringend abrät; dass der Standardwert in Versionen neuer als Windows 10 1703 5 ist, was für TPM 2.0 „die Sperr-Autorisierung beibehalten“ bedeutet; und dass Verwaltungsvorgänge wie Aktivieren, Deaktivieren und Löschen auch ohne Besitzerpasswort über die physische Anwesenheitsbestätigung im UEFI weiterhin möglich bleiben.  2 3 4 5

  19. Microsoft Learn, TPM Base Services. Dazu, dass TBS ein Systemdienst ist, der den TPM-Zugriff über Anwendungen hinweg zentral verwaltet und eine RPC-basierte API bereitstellt; den TPM-Zugriff kooperativ nach der vom Aufrufer angegebenen Priorität einplant; und die Empfehlung, dass Entwickler für Schlüsselspeicherszenarien die höherwertigen, leichter zu handhabenden Schlüsselspeicher-APIs statt TBS verwenden.  2 3

Aktuelle Artikel mit denselben Schlagwörtern führen zu verwandten Themen weiter.

Diese Seiten ordnen den Artikel in einen größeren Leistungs- und Entscheidungskontext ein.

Dieser Artikel ist direkt mit den folgenden Leistungen verbunden.

Häufige Fragen

Fragen, die in Beratungen zu diesem Artikelthema häufig gestellt werden.

Was tut das TPM eigentlich?
Kurz gesagt ist es ein kleiner Tresor, der Ihnen erlaubt, einen privaten Schlüssel zu verwenden, ohne den Schlüssel jemals herauszugeben. Ein im TPM erzeugter privater Schlüssel kann, je nach Konfiguration, den Chip überhaupt nie verlassen. Anwendungen und das Betriebssystem erhalten nicht den Schlüssel selbst; sie bitten das TPM, „diese Daten zu signieren“ oder „mit diesem Schlüssel zu entschlüsseln“, und erhalten nur das Ergebnis. Darüber hinaus werden die Hashes der beim Start geladenen Firmware und des Bootloaders in einem Bereich namens PCRs kumulativ aufgezeichnet, und ein Schlüssel kann so „versiegelt“ werden, dass er nur freigegeben wird, wenn diese Werte den erwarteten entsprechen. Genau dieser Mechanismus ist der Grund, warum sich BitLocker nicht entsperren lässt, sobald das Innere des PCs ausgetauscht wurde.
Warum hat Windows 11 TPM 2.0 zur Pflicht gemacht?
Weil BitLocker, Windows Hello, Credential Guard und die Gerätezustandsbestätigung alle um einen hardwareverankerten Vertrauensanker herum konzipiert sind. TPM 1.2 konnte nur RSA und SHA-1 verwenden, und sein Sperrverhalten unterschied sich von Anbieter zu Anbieter, während TPM 2.0 neuere Algorithmen unterstützt und Windows den Schutz vor Brute-Force-Angriffen einheitlich konfiguriert. Beachten Sie, dass TPM 2.0 nicht im klassischen BIOS-Kompatibilitätsmodus (CSM) funktioniert, eine native UEFI-Konfiguration ist also Voraussetzung. Die Ausnahme ist Windows 11 IoT Enterprise: Bei IoT Enterprise LTSC sowie bei Nicht-LTSC-Versionen ab 24H2 sind sowohl TPM als auch Secure Boot optional (bei Nicht-LTSC 21H2 bis 23H2 ist TPM 2.0 weiterhin erforderlich; das ähnlich benannte Windows 11 Enterprise LTSC ohne IoT erhält die gelockerten Anforderungen nicht).
Was ist der Unterschied zwischen dTPM, fTPM und Pluton? Welches sollte ich wählen?
Sie unterscheiden sich in der Implementierung. Ein dTPM (Discrete TPM) ist ein dedizierter Chip auf dem Mainboard; ein fTPM (Firmware-TPM) ist eine Softwareimplementierung, die in der vertrauenswürdigen Ausführungsumgebung der CPU läuft; und Pluton ist ein von Microsoft entworfener, in die CPU integrierter Sicherheitsprozessor. Aus Sicht von Windows werden sie alle gleich verwendet, und Microsoft stellt ausdrücklich klar, keine Position dazu zu beziehen, welche Implementierung Sie wählen sollten. Die praktischen Unterschiede bestehen darin, dass ein diskreter Chip einen Bus zur CPU besitzt, der zum Ziel physischer Angriffe werden kann; dass das Verhalten eines fTPM von CPU-Firmware-Updates abhängt; und dass sich die Firmware von Pluton über Windows Update aktualisieren lässt. Können Sie bei der Beschaffung wählen, sind für geschäftlich genutzte Rechner die Support-Richtlinie des Anbieters und die Zuverlässigkeit seiner Firmware-Updates die realistischen Kriterien.
Ich habe das BIOS aktualisiert und wurde nach dem BitLocker-Wiederherstellungsschlüssel gefragt. Warum?
Der BitLocker-Schlüssel ist an die Messwerte zum Startzeitpunkt (PCRs) versiegelt; ändern sich die gemessenen Größen, wird der Schlüssel nicht freigegeben, und Sie gelangen in die Wiederherstellung. Ein Firmware-Update ist genau ein Vorgang, der Messwerte wie PCR 0 verändert. Microsoft selbst empfiehlt, BitLocker vor einem Firmware-Update auszusetzen, wenn das Profil PCR 0 einschließt. Sobald Sie mit dem Wiederherstellungsschlüssel entsperren, wird der Schlüssel gegen die neuen Messwerte neu versiegelt, sodass es aus demselben Grund nicht erneut passiert. Betrieblich sollten Sie BitLocker vor einem UEFI-Update, einer Änderung der Secure-Boot-Konfiguration, dem Löschen des TPM oder dem Austausch des Mainboards stets aussetzen — und vorab prüfen, wo der Wiederherstellungsschlüssel gespeichert ist (Active Directory, Microsoft Entra ID oder ein Microsoft-Konto).
Wie schütze ich Schlüssel mit dem TPM aus meiner eigenen Anwendung heraus?
Statt TPM-Befehle direkt auszugeben, verwenden Sie den CNG-Schlüsselspeicheranbieter (Cryptography API: Next Generation) namens „Microsoft Platform Crypto Provider“. In .NET erzeugt die bloße Übergabe dieses Anbieters und von ExportPolicies.None an CngKey.Create den privaten Schlüssel im TPM in einem Zustand, in dem er nicht herausgenommen werden kann. Die systemnahen TPM Base Services (TBS) sind ebenfalls öffentlich, aber Microsoft selbst empfiehlt, für Schlüsselspeicherung, Signierung und Verschlüsselung die höherwertigen Schlüsselspeicher-APIs zu verwenden. Bauen Sie implementierungsseitig ein, dass TPM-Operationen langsam sind, dass das Löschen des TPM die Schlüssel zerstört und dass Sie eine Entscheidung darüber benötigen, wie Sie auf Rechnern ohne TPM ausweichen.

Autorenprofil

Profilseite des Artikelautors.

Go Komura

Geschäftsführer von KomuraSoft LLC

Spezialisiert auf Windows-Softwareentwicklung, technische Beratung und Fehleranalyse, insbesondere bei bestehenden Systemen und schwer reproduzierbaren Störungen.

Zurück zum Blog