{"id":1601,"date":"2014-11-07T22:38:24","date_gmt":"2014-11-07T20:38:24","guid":{"rendered":"http:\/\/www.windows-infrastructure.de\/?p=1601"},"modified":"2021-03-06T18:09:00","modified_gmt":"2021-03-06T16:09:00","slug":"tpm-trusted-platform-module","status":"publish","type":"post","link":"http:\/\/www.windows-infrastructure.de\/tpm-trusted-platform-module\/","title":{"rendered":"TPM (Trusted Platform Module)"},"content":{"rendered":"
Der TPM (Trusted Platform Module) ist\u00a0die\u00a0Entwicklung, eines von der Industrie gegr\u00fcndeten Konsortiums, der TCPA\u00a0(Trusted Computing Platform Alliance), sp\u00e4ter\u00a0TCG\u00a0(Trusted Computing Group). Ziel ist es, Sicherheit und Schutz von Hardware und Daten zu gew\u00e4hrleisten, und diese vor Kompromittierung, Besch\u00e4digung und Diebstahl zu sch\u00fctzen.<\/p>\n
<\/span><\/span><\/p>\n <\/span><\/span><\/p>\n Der TPM ist ein Security Chip, der seit einigen Jahren in aktuellen Ger\u00e4ten verbaut ist. Meist ist der Chip (Trusted Platform Module Entity; TPME)\u00a0fest mit der Hauptplatine verbunden. Es gibt aber auch steckbare Varianten. Der TPM, in der weit verbreiteten\u00a0Spezifikation 1.2, ist mit\u00a0verschiedenen Algorithmen und Funktionen ausgestattet<\/p>\n <\/span><\/span><\/p>\n Die Configuration Register dienen der Speicherung von Integrit\u00e4ts- Hashwerten, die aus Messergebnissen\u00a0von\u00a0Hardware und Konfigurationen generiert werden. Je nach TPM Version ist eine Mindestanzahl der 160 Bit langen PCRs definiert.<\/p>\n <\/span><\/span><\/p>\n f\u00fcr das Herstellen der Plattform Integrit\u00e4t (dem zu erwartenden Verhalten), werden Integrierger\u00e4ts Messungen. (z.B. Bios,Rom,OS,Applikation) durchgef\u00fchrt. Die Logs werden ausserhalb des TPMs gespeichert, im\u00a0Stored Measurement Log (SML). Hashwerte der SMLs werden im TPM in verschiedenen PCRs abgelegt. \u00c4ndert sich eine Konfiguration, oder wird Schadcode eingeschleusst, wird eine \u00c4nderung erkannt. Durch die zwangsl\u00e4ufige Abweichung an den SMLs, und damit nicht mehr \u00fcbereinstimmenden Hash im einem oder mehreren PCRs, wird der Level der Integrit\u00e4t neu bewertet.<\/p>\n Von einander abh\u00e4ngige\u00a0Komponenten\u00a0lassen sich verketten.\u00a0Die erste gestartet Instanz wird als\u00a0Core Root of Trust for Measurement (CRTM) bezeichnet, und ist\u00a0beim\u00a0Bootvorgang einer Workstation das Bios. Der\u00a0BIOS Boot Block f\u00fchrt eine Messung seiner eigenen Integrit\u00e4t durch, generiert ein SML, und \u00fcbergibt den Hash an den TPM, der eine inkrementelle Einlagerung in das PCR vornimmt. Hat der Boot Block den Integrit\u00e4ts Check bestanden (\u00dcbergabe des CRTM an einen RTM, Root of Trust for Measurement), kann das Bios geladen werden, und der Measurement Agent des Bios kann mit Messung der Roms fortfahren. Wenn auch dieser Check positiv ausgefallen ist, geht es weiter mit dem Bootloader, dem OS und den Applikationen. Bricht nur ein Glied in der Kette, wird die Workstation nicht zum starten der Applikation in der Lage sein.<\/p>\n <\/span><\/span><\/p>\n Der Root of Trust Storage (RTS) sch\u00fctzt Daten und Keys innerhalb des TPMs. Dabei verwaltet der RTS Manager sogenante Key-Slots im nichtfl\u00fcchtigen Speicherbereich, um aktuell verwendete Keys zu lagern.<\/p>\n Jeder Chip\u00a0muss, per Definition, bei\u00a0Auslieferung ein vordefiniertes 2048 Bit langes RSA Schl\u00fcsselpaar (den \u00f6ffentliche Schl\u00fcssel PUBEK und privaten Schl\u00fcssel PRIVEK), den Endorsement Key (EK) beinhalten. Das Generieren des Schl\u00fcsselpaars\u00a0geschieht idealerweise durch einen im TPM\u00a0Chip integrierten Prozess (TPM_CreateEndorsementKeyPair). Alternativ ist auch eine externe Erstellung des Schl\u00fcsselpaars, mit identischen\u00a0Eigenschaften, und nachtr\u00e4glicher Implementierung durch den Hersteller m\u00f6glich.<\/p>\n Der EK private Key ist\u00a0nicht auslesbar, und wird den TPM nie verlassen. Lediglich der TPM selbst, hat Zugriff auf den Schl\u00fcssel, der in einem eigenen gesch\u00fctzten Bereich liegt. Der EK public Key dagegen, bedarf keiner Schutzmechanismen.<\/p>\n Der Storage Root Key wird bei der ersten Inbetriebnahme (take TPM Ownership<\/em> aus dem OS heraus) des TPM’s generiert (RSA Schl\u00fcssel mit 2048 Bit). Der Zweck dieses Keys, ist die Verschl\u00fcsselung weiterer Keys. Der SRK\u00a0stellt, wie der Name schon sagt die Root einer Key Hierarchie dar. Wird ein neuer Owner gesetzt, wird auch der SRK neu generiert. Vorhandene Keys des Vorbesitzers werden nicht vererbt. Einige Keys unterhalb der Hierarchie sind migrierbar!<\/p>\n Zum Einsatz kommt ein AIK, um einer entfernten Applikation eine Remote Attestation (RA) anzubieten.<\/p>\n Der AIK ist ein RSA Schl\u00fcssel mit 2048 Bit, der vom TPM generiert wird, und nur zur Signatur eingesetzt wird. Der private Schl\u00fcssel ist an den ausstellenden TPM gebunden, und l\u00e4sst sich nicht exportieren.<\/p>\n kann das selbe wie der AIK plus etwas mehr; wird f\u00fcr die Signatur externen Daten, oder interner TPM Stati verwendet<\/p>\n der Storage Key wird verwendet, um Anwendungs- Keys innerhalb der Key Hierarchie, oder Daten (seal operation) zu verschl\u00fcsseln.<\/p>\n der Bindung Key dient der sicheren Auslagerung von Daten und Keys<\/p>\n <\/span><\/span><\/p>\n bei der Versiegelung wird ein Hashwert mithilfe definierter Systemmetricen generiert. Die zu sch\u00fctzenden Daten werden mit diesem Hash verschl\u00fcsselt. F\u00fcr die\u00a0Entschl\u00fcsselung wird der Hashwert mit den selben Metricen erneut gebildet. Ist der Hashwert nicht idetnisch, bleiben die Daten verschl\u00fcsselt.\u00a0Somit wird gew\u00e4hrleistet, dass die Enschl\u00fcsselung nur auf derselben nicht kompromietierten Plattform erfolgen kann.<\/p>\n bei der Auslagerung k\u00f6nnen externe Daten, an eine TPM Plattform gebunden werden. Die Daten werden mit dem Public Key verschl\u00fcsselt, und k\u00f6nnen nur durch den TPM, der den private Key f\u00fcr die Entschl\u00fcsselung h\u00e4lt, entschl\u00fcsselt werden. Die Verschl\u00fcsselung kann durch ein externes Ger\u00e4t erfolgen. Der TPM selbst kann durch diese Funktion\u00a0Schl\u00fcssel auslagern, und an sich binden.<\/p>\n Der TPM besitzt eine Key Cache Implementierung (Key Cache Manager, KCM) die es erlaubt, Schl\u00fcssel auszulagern und bei Bedarf wieder einzulesen.\u00a0Keys, die nicht im Zugriff sind k\u00f6nnen, im verschl\u00fcsselten Zustand, extern (z.B. Harddisk) ausgelagert werden.<\/p>\n <\/span><\/span><\/p>\n Die Attestierung best\u00e4tigt, dass das\u00a0Endger\u00e4t unter der sicheren Verwaltung eines TPM’s ist, und sch\u00fctzt es\u00a0vor der Installation unautorisierter oder manipulierter Firm- bzw. Software.\u00a0Der AIK (Attestation Identity Key), ist ein Alias des Endorsement Keys, der in unbegrenzter Anzahl generiert werden kann. Indem ein AIK Key anstelle des EK zum Einsatz kommt,k\u00f6nnen keine R\u00fcckschl\u00fcsse auf die ausstellende Plattform gezogen werden; zum Schutz der Privatsph\u00e4re. Damit k\u00f6nnen mehrere Remote Attestations (RA)\u00a0pro Endger\u00e4t ausgestellt werden, ohne das die entfernte Applikation in der Lage ist zu erkennen, um welchen EK und damit TPM und Endger\u00e4t es sich handelt.\u00a0Es gibt die beiden folgenden Attestationsverfahren:<\/p>\n die entfernte Applikation fordert beim Endger\u00e4te ein Request for Attestation an; der vom EK signierte AIK wird\u00a0an\u00a0eine private CA \u00a0(Certification Authority) gesendet und signiert, es sei denn,\u00a0der EK steht auf der CRL (Certificate Revocation List) der CA. Das von der CA signierte AIK wird direkt an die entfernte Applikation gesendet, die wiederum entscheidet, ob es das Endger\u00e4t f\u00fcr Vertraunesw\u00fcrdig h\u00e4lt. Der\u00a0entfernte Computer \u00a0sieht nur die von der CA signierten AIKs, und hat keinen Bezug zum EK.<\/p>\n der Einsatz von DAA ersetzt die Notwendigkeit\u00a0einer privaten CA. Durch komplexe kryptographische Verfahren kann der Aufbau der Kommunikation direkt zwischen entfernter Applikation und Endger\u00e4t erfolgen. Die zum Einsatz kommende Zero Knowledge Proof (ZKP) Technik arbeitet dabei mit Gruppensignaturen, und verschleiert auch mehrfache Verbindungen mit dem selben Endger\u00e4t.<\/p>\n <\/p>\n <\/p>\n die Spezifikation f\u00fcr TPM 2.0 wurde im April 2014 freigegeben. Im Gegensatz zu TPM1.2 beherrscht\u00a0Version 2.0 mehrere Hash- sowie Asymmetrische Algorithmen. Der bisherige SHA-1 gilt seit Jahren als „unsicher“.<\/p>\n<\/span>\n Ab 2015 sollen Endger\u00e4te nur noch das „Windows Certified“ Logo erhalten, wenn ein TPM 2.0 Chip verbaut ist. In den Medien gibt es seit bekannt werden der TPM 2.0 Spezifikationen vermehrt Bedenken bzgl. Hintert\u00fcrchen, und einem zwanghaft aktivierten Chip. L\u00e4sst sich der Chip nicht mehr Aus-und Einschalten (Opt-out\/Opt-in Funktion), kommt das einer Entm\u00fcndigung des Benutzers gleich. Der Hersteller der Hardware k\u00f6nnte damit\u00a0z.B. vorgeben, welche Systeme gebootet werden d\u00fcrfen.<\/p>\n<\/span>\n Das BSI hat im August 2013 eine Stellungnahme zu TPM 2.0 und Windows 8 ver\u00f6ffentlicht in der es u.a. heisst:<\/p>\n Das BSI sieht derzeit jedoch einige kritische Aspekte im Zusammenhang mit bestimmten Einsatzszenarien, in denen Windows 8 in Kombination mit einer Hardware betrieben wird, die \u00fcber ein TPM 2.0 verf\u00fcgt.\u00a0<\/span><\/em><\/p>\n <\/span><\/span><\/em><\/p>\n Aus Sicht des BSI geht der Einsatz von Windows 8 in Kombination mit einem TPM 2.0 mit einem Verlust an Kontrolle \u00fcber das verwendete Betriebssystem und die eingesetzte Hardware einher. Daraus ergeben sich f\u00fcr die Anwender, speziell auch f\u00fcr die Bundesverwaltung und kritische Infrastrukturen, neue Risiken. Insbesondere k\u00f6nnen auf einer Hardware, die mit einem TPM 2.0 betrieben wird, mit Windows 8 durch unbeabsichtigte Fehler des Hardware- oder Betriebssystemherstellers, aber auch des Eigent\u00fcmers des IT-Systems Fehlerzust\u00e4nde entstehen, die einen weiteren Betrieb des Systems verhindern. Dies kann soweit f\u00fchren, dass im Fehlerfall neben dem Betriebssystem auch die eingesetzte Hardware dauerhaft nicht mehr einsetzbar ist.<\/span><\/em><\/p><\/blockquote>\n Link zur offiziellen Stellungnahme<\/a><\/p>\n <\/span><\/span><\/p>\n In den\u00a0Microsoft Hardware Systemvoraussetzungen f\u00fcr das „Hardware Certification Program“ ehemals „Windows Logo Program“ mit dem Stand vom April 2014, \u00a0gibt es mit dem 01.01.2015 drei Neuerungen. Eine davon hat den Titel\u00a0System.Fundamentals.TPM20.TPM20Required\u00a0<\/em>(All systems ship with TPM 2.0),\u00a0<\/em>g\u00fcltig f\u00fcr Windows 8.1 und RT 8.1. Bei der Beschreibung ist folgender Satz vermerkt:<\/p>\n Mandatory: All x86\/x64 devices equipped with TPM 2.0 must have the option in UEFI bios to turn off the TPM\u00a0<\/span>device. <\/span><\/em><\/p><\/blockquote>\n<\/span>\n Damit ist f\u00fcr Microsoft Zertifizierte Ger\u00e4te, zumindest f\u00fcr x86 und x64 basierende, eine Aus- und Einschalt (evtl. Eingeschr\u00e4nkte Opt-out\/Opt-in) Funktion erforderlich.<\/p>\n Link zur Seite: http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/hardware\/dn423132.aspx<\/a><\/p>\n <\/span><\/span><\/p>\n <\/p>\n aktiviert man auf einem Computer mit TPM 1.2. Bitlocker, wird man aufgefordert einen Reboot durchzuf\u00fchren, um den TPM zu initialisieren.<\/p>\n <\/p>\n Nach dem POST muss das Einschalten und die Erlaubnis der \u00dcbernahme des Besitzes mit F1 best\u00e4tigt werden. Nach dem Hochfahren des Systems ist Bitlocker in der Lage, den Schl\u00fcssel im TPM zu hinterlegen, und die Platte zu verschl\u00fcsseln.<\/p>\n<\/span>\n <\/p>\n in Windows kommt man mit dem Ausf\u00fchren von tpm.msc<\/em> in die TPM Verwaltungskonsole. Hier sieht man unten Rechts die TPM Version 1.2. Neben einem TPM und Ownership Reset, k\u00f6nnte der TPM hier wieder deaktiviert werden. Vorsicht: beim Deaktivieren verliert der TPM den Bitlocker Schl\u00fcssel! \u00a0<\/strong><\/p>\n <\/span><\/span><\/p>\n <\/p>\n Dieser Screenshot ist von einem Surface2 RT mit Windows 8.1. Hier musste der TPM nicht aktiviert werden, dieser war bereits bei Auslieferung aktiv. Wie man sieht hat dieses Ger\u00e4t bereits einen TPM 2.0 Chip eingebaut. Der TPM l\u00e4sst sich hier nicht deaktivieren. (Das entspricht der ab 2015 geltenden Windows Certified Anforderung, siehe weiter oben, TPM 2.0 )<\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/span><\/span><\/span><\/span><\/span><\/p>\n Quelle: TPM Main Specification Level 2 Version 1.2, Revision 116, Stand M\u00e4rz 2011 Der TPM (Trusted Platform Module) ist\u00a0die\u00a0Entwicklung, eines von der Industrie gegr\u00fcndeten Konsortiums, der TCPA\u00a0(Trusted Computing Platform Alliance), sp\u00e4ter\u00a0TCG\u00a0(Trusted Computing Group). Ziel ist es, Sicherheit und Schutz von Hardware und Daten zu gew\u00e4hrleisten, und diese vor Kompromittierung, Besch\u00e4digung und Diebstahl zu… Weiterlesen Was TPM nicht ist<\/h4>\n
\n
Trusted Platform Module (TPM)<\/h4>\n
\n
\n
\n
Platform Configuration Register (PCR)<\/h4>\n
System Integrit\u00e4ts Pr\u00fcfung<\/h4>\n
TPM Schl\u00fcssel<\/h4>\n
Endorsement Key (EK)<\/h5>\n
Storage Root Key (SRK)<\/h5>\n
Attestation Identity Key (AIK)<\/h5>\n
Signing Key<\/h5>\n
Storage Key<\/h5>\n
Binding Key<\/h5>\n
Sicherheitsfunktionen des TPM’s<\/h4>\n
Versiegelung (sealing\/unsealing)<\/h5>\n
Auslagerung (binding\/wrapping)<\/h5>\n
Schl\u00fcssel Aus- und Einlagerung<\/h5>\n
Bescheinigung<\/h4>\n
Privacy CA (ab TPM 1.1)<\/h5>\n
Direct Anonymous Attestation (DAA, ab TPM 1.2)<\/h5>\n
TPM\u00a02.0<\/h4>\n
TPM Verwaltung<\/h4>\n
\nhttp:\/\/www.trustedcomputinggroup.org\/resources\/tpm_main_specification<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"