Grundlagen zu TPM
Dieser Artikel enthält eine Beschreibung der Komponenten des Trusted Platform Module (TPM 1.2 und TPM 2.0) und erläutert, wie sie zur Entschärfung von Wörterbuchangriffen verwendet werden.
Ein TPM ist ein Mikrochip, der für die Bereitstellung grundlegender sicherheitsrelevanter Funktionen entwickelt wurde, die hauptsächlich Verschlüsselungsschlüssel umfassen. Das TPM ist auf der Hauptplatine eines Computers installiert und kommuniziert über einen Hardwarebus mit dem Rest des Systems.
Geräte, die ein TPM enthalten, können kryptografische Schlüssel erstellen und verschlüsseln, sodass die Schlüssel nur vom TPM entschlüsselt werden können. Dieser Prozess, der häufig als "Umschließen" oder "Binden" eines Schlüssels bezeichnet wird, kann dazu beitragen, den Schlüssel vor der Offenlegung zu schützen. Jedes TPM verfügt über einen primären Umbruchschlüssel, den sogenannten Speicherstammschlüssel, der im TPM selbst gespeichert wird. Der private Teil eines Speicherstammschlüssels oder Endorsement Keys, der in einem TPM erstellt wird, wird niemals für andere Komponenten, Software, Prozesse oder Benutzer verfügbar gemacht.
Sie können angeben, ob verschlüsselungsschlüssel, die das TPM erstellt, migriert werden können. Wenn Sie angeben, dass sie migriert werden können, können die öffentlichen und privaten Teile des Schlüssels für andere Komponenten, Software, Prozesse oder Benutzer verfügbar gemacht werden. Wenn Sie angeben, dass Verschlüsselungsschlüssel nicht migriert werden können, wird der private Teil des Schlüssels nie außerhalb des TPM verfügbar gemacht.
Geräte, die ein TPM enthalten, können auch einen Schlüssel erstellen, der umschlossen und an bestimmte Plattformmessungen gebunden ist. Diese Art von Schlüssel kann nur entwrappt werden, wenn diese Plattformmessungen die gleichen Werte aufweisen wie beim Erstellen des Schlüssels. Dieser Vorgang wird als Versiegeln des Schlüssels für das TPM bezeichnet. Das Entschlüsseln des Schlüssels wird als Entsiegelung bezeichnet. Das TPM kann auch Daten versiegeln und nicht versiegeln, die außerhalb des TPM generiert werden. Mit versiegelten Schlüsseln und Software wie bitLocker Drive Encryption können Daten gesperrt werden, bis bestimmte Hardware- oder Softwarebedingungen erfüllt sind.
Bei einem TPM werden private Teile von Schlüsselpaaren vom Arbeitsspeicher getrennt, der vom Betriebssystem gesteuert wird. Schlüssel können für das TPM versiegelt werden, und bestimmte Zusicherungen zum Zustand eines Systems (Zusicherungen, die die Vertrauenswürdigkeit eines Systems definieren) können vorgenommen werden, bevor die Schlüssel entsiegelt und zur Verwendung freigegeben werden. Das TPM verwendet seine eigene interne Firmware und Logikschaltungen, um Anweisungen zu verarbeiten. Daher ist es nicht auf das Betriebssystem angewiesen und nicht auf Sicherheitsrisiken ausgesetzt, die möglicherweise im Betriebssystem oder in der Anwendungssoftware vorhanden sind.
- Informationen dazu, welche Versionen von Windows welche Versionen des TPM unterstützen, finden Sie unter Übersicht über die Technologie des Trusted Platform Module.
- Weitere Informationen dazu, welche TPM-Dienste mithilfe von Gruppenrichtlinieneinstellungen zentral gesteuert werden können, finden Sie unter TPM-Gruppenrichtlinieneinstellungen.
Die in den Versionen verfügbaren Features werden von der Trusted Computing Group (TCG) in Spezifikationen definiert. Weitere Informationen finden Sie auf der Seite Trusted Platform Module (Trusted Platform Module ) auf der Trusted Computing Group-Website.
Die folgenden Abschnitte bieten eine Übersicht über die Technologien, die das TPM unterstützen:
- Gemessener Start mit Unterstützung für den Nachweis
- TPM-basierte virtuelle Smartcard
- TPM-basierter Zertifikatspeicher
- TPM-Cmdlets
- Schnittstelle für physische Anwesenheit
- TPM 1.2-Zustände und -Initialisierung
- Endorsement Keys
- TPM-Schlüsselnachweis
- Antihämmern
Gemessener Start mit Unterstützung für den Nachweis
Das Feature "Gemessener Start" bietet Anti-Malware-Software mit einem vertrauenswürdigen Protokoll (resistent gegen Spoofing und Manipulation) aller Startkomponenten. Anti-Malware-Software kann das Protokoll verwenden, um zu bestimmen, ob Komponenten, die vor der Ausführung ausgeführt wurden, vertrauenswürdig oder mit Schadsoftware infiziert sind. Es kann auch die Protokolle für den gemessenen Start zur Auswertung an einen Remoteserver senden. Der Remoteserver kann Korrekturaktionen starten, indem er mit Software auf dem Client interagiert oder ggf. über Out-of-Band-Mechanismen verwendet.
TPM-basierte virtuelle Smartcard
Warnung
Windows Hello for Business - und FIDO2-Sicherheitsschlüssel sind moderne Zwei-Faktor-Authentifizierungsmethoden für Windows. Kunden, die virtuelle Smartcards verwenden, werden empfohlen, zu Windows Hello for Business oder FIDO2 zu wechseln. Für neue Windows-Installationen empfehlen wir Windows Hello for Business oder FIDO2-Sicherheitsschlüssel.
Die virtuelle Smartcard emuliert die Funktionalität herkömmlicher Smartcards. Virtuelle Smartcards verwenden den TPM-Chip anstelle einer separaten physischen Smartcard und eines separaten Lesegeräts. Dies reduziert die Verwaltungs- und Bereitstellungskosten von Smartcards in einem Unternehmen erheblich. Für den Endbenutzer ist die virtuelle Smartcard immer auf dem Gerät verfügbar. Wenn ein Benutzer mehr als ein Gerät verwenden muss, muss dem Benutzer für jedes Gerät eine virtuelle Smartcard ausgestellt werden. Ein Computer, der von mehreren Benutzern gemeinsam genutzt wird, kann mehrere virtuelle Smartcards hosten, eine für jeden Benutzer.
TPM-basierter Zertifikatspeicher
Das TPM schützt Zertifikate und RSA-Schlüssel. Der TPM-Schlüsselspeicheranbieter (KSP) bietet eine einfache und bequeme Verwendung des TPM als Eine Möglichkeit, private Schlüssel stark zu schützen. Der TPM-KSP generiert Schlüssel, wenn sich eine Organisation für Zertifikate registriert. Das TPM schützt auch Zertifikate, die aus einer externen Quelle importiert werden. TPM-basierte Zertifikate sind Standardzertifikate. Das Zertifikat kann niemals das TPM verlassen, aus dem die Schlüssel generiert werden. Das TPM kann auch für Kryptografievorgänge über die Kryptografie-API: Next Generation (CNG) verwendet werden.
TPM-Cmdlets
Sie können das TPM mit Windows PowerShell verwalten. Ausführliche Informationen finden Sie unter TPM-Cmdlets in Windows PowerShell.
Schnittstelle für physische Anwesenheit
Für TPM 1.2 erfordern die TCG-Spezifikationen für TPMs physische Anwesenheit (in der Regel durch Drücken einer Taste), um das TPM einzuschalten, es zu deaktivieren oder zu löschen. Diese Aktionen können in der Regel nicht mit Skripts oder anderen Automatisierungstools automatisiert werden, es sei denn, der einzelne OEM stellt sie bereit.
TPM 1.2-Zustände und -Initialisierung
TPM 1.2 verfügt über mehrere mögliche Zustände. Windows initialisiert das TPM automatisch, wodurch es in einen aktivierten, aktivierten und besitzereigenen Zustand versetzt wird.
Endorsement Keys
Eine vertrauenswürdige Anwendung kann TPM nur verwenden, wenn das TPM einen Endorsement Key enthält, bei dem es sich um ein RSA-Schlüsselpaar handelt. Die private Hälfte des Schlüsselpaars befindet sich im TPM und ist außerhalb des TPM niemals offengelegt oder zugänglich.
Schlüsselnachweis
Mit dem TPM-Schlüsselnachweis kann eine Zertifizierungsstelle überprüfen, ob ein privater Schlüssel durch ein TPM geschützt ist und dass das TPM von der Zertifizierungsstelle als vertrauenswürdig eingestuft wird. Als gültig erwiesene Endorsement Keys werden verwendet, um die Benutzeridentität an ein Gerät zu binden. Das Benutzerzertifikat mit einem TPM-bestätigten Schlüssel bietet eine höhere Sicherheit, die durch Nichtexportierbarkeit, Antihämmern und Isolation von Schlüsseln gesichert wird, die von einem TPM bereitgestellt werden.
Antihämmern
Wenn ein TPM einen Befehl verarbeitet, erfolgt dies in einer geschützten Umgebung. Beispielsweise ein dedizierter Mikrocontroller auf einem diskreten Chip oder ein spezieller hardwaregeschützter Modus auf der Haupt-CPU. Ein TPM wird verwendet, um einen kryptografischen Schlüssel zu erstellen, der nicht außerhalb des TPM offengelegt wird. Sie wird im TPM verwendet, nachdem der richtige Autorisierungswert angegeben wurde.
TPMs verfügen über einen Anti-Hammering-Schutz, der brute-force-Angriffe oder komplexere Wörterbuchangriffe verhindern soll, die versuchen, Autorisierungswerte für die Verwendung eines Schlüssels zu bestimmen. Der grundlegende Ansatz besteht darin, dass das TPM nur eine begrenzte Anzahl von Autorisierungsfehlern zulässt, bevor es weitere Versuche verhindert, Schlüssel und Sperren zu verwenden. Die Angabe einer Fehleranzahl für einzelne Schlüssel ist technisch nicht praktikabel, sodass TPMs eine globale Sperrung aufweisen, wenn zu viele Autorisierungsfehler auftreten.
Da viele Entitäten das TPM verwenden können, kann ein einzelner Autorisierungserfolg den Anti-Hammering-Schutz des TPM nicht zurücksetzen. Dadurch wird verhindert, dass ein Angreifer einen Schlüssel mit einem bekannten Autorisierungswert erstellt und dann zum Zurücksetzen des TPM-Schutzes verwendet. TPMs sind so konzipiert, dass Autorisierungsfehler nach einem bestimmten Zeitraum vergessen werden, sodass das TPM nicht unnötigerweise in einen Sperrzustand wechselt. Ein TPM-Besitzerkennwort kann verwendet werden, um die Sperrlogik des TPM zurückzusetzen.
TPM 2.0 Anti-Hämmern
TPM 2.0 weist ein klar definiertes Antihämmerverhalten auf. Dies steht im Gegensatz zu TPM 1.2, für das der Anti-Hämmerschutz vom Hersteller implementiert wurde und die Logik in der gesamten Branche sehr unterschiedlich war.
Bei Systemen mit TPM 2.0 wird das TPM von Windows so konfiguriert, dass es nach 32 Autorisierungsfehlern gesperrt und alle 10 Minuten einen Autorisierungsfehler vergessen wird. Dies bedeutet, dass ein Benutzer schnell versuchen kann, einen Schlüssel mit dem falschen Autorisierungswert 32-mal zu verwenden. Bei jedem der 32 Versuche zeichnet das TPM auf, ob der Autorisierungswert richtig war oder nicht. Dies bewirkt versehentlich, dass das TPM nach 32 fehlgeschlagenen Versuchen in einen gesperrten Zustand wechselt.
Versuche, einen Schlüssel mit einem Autorisierungswert für die nächsten 10 Minuten zu verwenden, geben keinen Erfolg oder Fehler zurück. Stattdessen gibt die Antwort an, dass das TPM gesperrt ist. Nach 10 Minuten wird ein Autorisierungsfehler vergessen, und die Anzahl der vom TPM gespeicherten Autorisierungsfehler sinkt auf 31. Das TPM verlässt den gesperrten Zustand und kehrt zum normalen Betrieb zurück. Mit dem richtigen Autorisierungswert könnten Schlüssel normal verwendet werden, wenn in den nächsten 10 Minuten keine Autorisierungsfehler auftreten. Wenn ein Zeitraum von 320 Minuten ohne Autorisierungsfehler verstrichen ist, merkt sich das TPM keine Autorisierungsfehler, und 32 fehlgeschlagene Versuche können erneut auftreten.
Windows erfordert nicht, dass TPM 2.0-Systeme Autorisierungsfehler vergessen, wenn das System vollständig ausgeschaltet ist oder das System im Ruhezustand ist. Windows erfordert, dass Autorisierungsfehler vergessen werden, wenn das System normal, im Energiesparmodus oder in einem anderen Zustand als ausgeschaltet ausgeführt wird. Wenn ein Windows-System mit TPM 2.0 gesperrt ist, verlässt das TPM den Sperrmodus, wenn das System 10 Minuten lang eingeschaltet bleibt.
Der Anti-Hammering-Schutz für TPM 2.0 kann sofort vollständig zurückgesetzt werden, indem ein Zurücksetzungssperrbefehl an das TPM gesendet und das TPM-Besitzerkennwort bereitgestellt wird. Standardmäßig stellt Windows TPM 2.0 automatisch bereit und speichert das TPM-Besitzerkennwort zur Verwendung durch Systemadministratoren.
In einigen Implementierungen wird der TPM-Besitzerautorisierungswert zentral in Active Directory und nicht im lokalen System gespeichert. Ein Administrator kann die TPM-Sperrzeit ausführen tpm.msc
und zurücksetzen. Wenn das TPM-Besitzerkennwort lokal gespeichert wird, wird es verwendet, um die Sperrzeit zurückzusetzen. Wenn das TPM-Besitzerkennwort auf dem lokalen System nicht verfügbar ist, muss es vom Administrator bereitgestellt werden. Wenn ein Administrator versucht, den TPM-Sperrstatus mit dem falschen TPM-Besitzerkennwort zurückzusetzen, lässt das TPM keinen weiteren Versuch zu, den Sperrstatus für 24 Stunden zurückzusetzen.
TPM 2.0 ermöglicht die Erstellung einiger Schlüssel ohne zugeordneten Autorisierungswert. Diese Schlüssel können verwendet werden, wenn das TPM gesperrt ist. Beispielsweise kann BitLocker mit einer nur tpm-Standardkonfiguration einen Schlüssel im TPM verwenden, um Windows zu starten, auch wenn das TPM gesperrt ist.
Grund für die Standardwerte
BitLocker erlaubte ursprünglich 4 bis 20 Zeichen für eine PIN. Windows Hello verfügt über eine eigene PIN für die Anmeldung, die 4 bis 127 Zeichen lang sein kann. Sowohl BitLocker als auch Windows Hello verwenden das TPM, um PIN-Brute-Force-Angriffe zu verhindern.
Windows 10, Version 1607 und frühere verwendete Parameter zur Verhinderung von Wörterbuchangriffen. Die Parameter zur Verhinderung von Wörterbuchangriffen bieten eine Möglichkeit, Sicherheitsanforderungen und Benutzerfreundlichkeit in Einklang zu bringen. Wenn BitLocker beispielsweise mit einer TPM- und PIN-Konfiguration verwendet wird, ist die Anzahl der PIN-Vermutungen im Laufe der Zeit begrenzt. Ein TPM 2.0 in diesem Beispiel könnte so konfiguriert werden, dass nur 32 PIN-Raten sofort und dann nur eine weitere Schätzung alle zwei Stunden zulässig ist. Dies entspricht maximal etwa 4.415 Schätzungen pro Jahr. Wenn die PIN aus vier Ziffern besteht, können alle 9999 möglichen PIN-Kombinationen in etwas mehr als zwei Jahren versucht werden.
Ab Windows 10, Version 1703, wurde die Mindestlänge für die BitLocker-PIN auf sechs Zeichen erhöht, um sich besser an anderen Windows-Features anzupassen, die TPM 2.0 verwenden, einschließlich Windows Hello. Das Erhöhen der PIN-Länge erfordert eine größere Anzahl von Vermutungen für einen Angreifer. Aus diesem Grund wurde die Sperrdauer zwischen den einzelnen Raten verkürzt, damit legitime Benutzer einen fehlgeschlagenen Versuch früher wiederholen können, während ein ähnliches Schutzniveau beibehalten wird. Falls die Legacyparameter für Sperrschwellenwert und Wiederherstellungszeit verwendet werden müssen, stellen Sie sicher, dass das Gruppenrichtlinienobjekt aktiviert ist, und konfigurieren Sie das System für die Verwendung der Legacyeinstellung Parameter zur Verhinderung von Wörterbuchangriffen für TPM 2.0.
TPM-basierte Smartcards
Die Windows TPM-basierte Smartcard, bei der es sich um eine virtuelle Smartcard handelt, kann so konfiguriert werden, dass die Anmeldung beim System zugelassen wird. Im Gegensatz zu physischen Smartcards verwendet der Anmeldevorgang einen TPM-basierten Schlüssel mit einem Autorisierungswert. Die folgende Liste zeigt die Vorteile virtueller Smartcards:
- Physische Smartcards können die Sperre nur für die physische Smartcard-PIN erzwingen, und sie können die Sperre zurücksetzen, nachdem die richtige PIN eingegeben wurde. Bei einer virtuellen Smartcard wird der Anti-Hammering-Schutz des TPM nach einer erfolgreichen Authentifizierung nicht zurückgesetzt. Die zulässige Anzahl von Autorisierungsfehlern, bevor das TPM in die Sperre eintritt, umfasst viele Faktoren.
- Hardwarehersteller und Softwareentwickler können die Sicherheitsfeatures des TPM verwenden, um ihre Anforderungen zu erfüllen.
- Die Auswahl von 32 Fehlern als Sperrschwellenwert besteht darin, zu vermeiden, dass Benutzer das TPM sperren (auch wenn sie lernen, neue Kennwörter einzugeben oder wenn sie ihre Computer häufig sperren und entsperren). Wenn Benutzer das TPM sperren, müssen sie 10 Minuten warten oder andere Anmeldeinformationen für die Anmeldung verwenden, z. B. einen Benutzernamen und ein Kennwort.