Ermitteln und Exportieren eines Trusted Platform Module (TPM) Endorsement Zertifikats

Möchte man die Trusted Platform Module (TPM) Key Attestation verwenden, hat man die Option, das TPM unter Anderem über das Endorsement-Zertifikat (EkCert) zu attestieren. Nachfolgend wird beschrieben, wie man an diese Information herankommt.

Voraussetzungen überprüfen

Zunächst sollte überprüft werden, ob überhaupt ein Endorsement Zertifikat im Trusted Platform Modul hinterlegt ist.

Manche TPM unterstützen einen hybriden Modus, d.h. sie können sowohl in Spezifikation 1.2 als auch in 2.0 betrieben werden. Die Umstellung erfolgt üblicherweise im BIOS. Bei Intel-basierten Systemen heißt die Option sehr oft "Intel Platform Trust Technology (Intel PTT)", bei AMD-basierten Systemen "Firmware TPM" oder "fTPM".

Mit folgendem PowerShell-Befehl wird überprüft, ob ein Endorsement Zertifikat im TPM vorhanden ist. Der Befehl muss mit erhöhten Rechten (Run as Administrator) ausgeführt werden.

Get-TpmEndorsementKeyInfo
Ausgabe von Get-TpmEndorsementkeyInfo auf einem Surface Book 2 basierenden System mit diskretem TPM. Das Endorsement Zertifikat ist unter ManufacturerCertificates gespeichert.
Ausgabe von Get-TpmEndorsementkeyInfo auf einem Intel basierenden System mit Core i5 Prozessor der 5. Generation. Das Endorsement Zertifikat ist unter AdditionalCertificates gespeichert.
Ausgabe von Get-TpmEndorsementkeyInfo auf einem AMD basierenden System mit Ryzen 5 Prozessor der 2. Generation. Das Endorsement Zertifikat ist unter AdditionalCertificates gespeichert.

Das Zertifikat würde entweder unter "ManufacturerCertificates" (bei einem disktreten TPM) oder unter "AdditionalCertificates" (bei einem in die CPU integrierten TPM) auftauchen.

Ist kein Endorsement Zertifikat vorhanden, sollte noch einmal überprüft werden, ob der Betriebsmodus im BIOS umgestellt werden kann. Leider verfügen aber nicht alle TPM über ein Endorsementzertifikat, sodass in diesem Fall nur der Endorsement Key genutzt werden kann (siehe Artikel "Die Prüfsumme (Hash) eines Trusted Platform (TPM) Endorsement Key ermitteln").

Export des Endorsement-Zertifikats

Folgender Befehl für die Windows PowerShell exportiert das Endorsementzertifikat in eine Datei. Der Befehl muss mit erhöhten Rechten (Run as Administrator) ausgeführt werden.

Für das ManufacturerCertificates Attribut kann dieser Befehl verwendet werden.

(Get-TpmEndorsementKeyInfo).ManufacturerCertificates | Foreach-Object -Process { Set-Content -Value $_.RawData -Encoding Byte -Path "$($_.Thumbprint).crt" -Force }

Für das AdditionalCertificates Attribut kann dieser Befehl verwendet werden.

(Get-TpmEndorsementKeyInfo).AdditionalCertificates | Foreach-Object -Process { Set-Content -Value $_.RawData -Encoding Byte -Path "$($_.Thumbprint).crt" -Force } 

Die resultierende Datei kann man nun durch Doppelklick öffnen und inspizieren.

Vervollständigen der Zertifikatkette

Da die ausstellende Zertifizierungsstelle nicht bekannt ist, wird angezeigt, dass das Zertifikat nicht zu einer Stammzertifizierungsstelle zurückverfolgt werden kann. Man kann jedoch manuell die Zertifikatkette vervollständigen (siehe Artikel "Grundlagen: Auffinden von Zertifikaten und Validierung des Zertifizierungspfades").

Dieser Prozess kann nur dann erfolgreich sein, wenn die Zertifikate eine entsprechende AIA-Erweiterung beinhalten und die darin enthaltene Adresse auch funktioniert. Dies kann sich je nach TPM-Hersteller unterscheiden. Sollte man die Zertifikate auf diese Weise nicht herunterladen können, bleibt nur übrig, den Hersteller des Computers oder des TPMs zu kontaktieren, und um Zusendung der Zertifikate zu bitten.

Hierzu sucht man im Karteireiter "Details" nach der Authority Information Access (AIA) Erweiterung. Dort sollte eine URL hinterlegt sein, von welcher man das Zertifizierungsstellen-Zertifikat der ausstellenden Zertifizierungsstelle erhalten kann.

Nachdem dieses heruntergeladen wurde, steht man wieder vor der gleichen Herausforderung.

Darum wird der Prozess so lange wiederholt, bis man bei der Stammzertifizierungsstelle (Root CA) landet.

Weiterführende Links:

Externe Quellen

de_DEDeutsch