Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden die Konzepte beschrieben, die bei der Bereitstellung von Geräten mit tpm-Nachweis (Trusted Platform Module) im Device Provisioning Service (DPS) erforderlich sind. Dieser Artikel ist für alle Personas relevant, die an der Vorbereitung eines Geräts für die Bereitstellung beteiligt sind.
Ein Trusted Platform Module (TPM) ist ein Typ von Hardwaresicherheitsmodul (HSM). In diesem Artikel wird davon ausgegangen, dass Sie ein diskretes, firmwarebasiertes oder integriertes TPM verwenden. Software-emulierte TPMs eignen sich gut für die Prototyperstellung oder Tests, bieten jedoch nicht das gleiche Maß an Sicherheit wie diskrete, Firmware- oder integrierte TPMs. Es wird nicht empfohlen, Software-TPMs in der Produktion zu verwenden.
Dieser Artikel ist nur für Geräte relevant, die TPM 2.0 mit Hash-basiertem Nachrichtenauthentifizierungscode (HMAC) und deren Bestätigungsschlüsseln verwenden. TPM ist ein branchenweiter ISO-Standard aus der Trusted Computing Group, und Sie können mehr über TPM unter der vollständigen TPM 2.0-Spezifikation oder der ISO/IEC 11889-Spezifikation lesen. In diesem Artikel wird auch davon ausgegangen, dass Sie mit öffentlichen und privaten Schlüsselpaaren und deren Verwendung für die Verschlüsselung vertraut sind.
Die Gerätebereitstellungsdienst-SDKs behandeln alles, was in diesem Artikel für Sie beschrieben wird. Sie müssen keine TPM-Unterstützung implementieren, wenn Sie die SDKs auf Ihren Geräten verwenden. Dieser Artikel hilft Ihnen, konzeptionell zu verstehen, was mit Ihrem TPM-Sicherheitschip geschieht, wenn Ihr Gerät eingerichtet wird und warum er so sicher ist.
Überblick
TPMs verwenden etwas, das als Bestätigungsschlüssel (EK) bezeichnet wird, als sichere Vertrauensbasis. Der EK ist für das TPM eindeutig, und wenn er geändert wird, ändert sich im Grunde genommen das Gerät in ein neues Gerät.
TPMs weisen einen anderen Schlüsseltyp auf, der als Speicherstammschlüssel (Storage Root Key, SRK) bezeichnet wird. Der Besitzer des TPM kann eine SRK generieren, nachdem er den Besitz des TPM übernommen hat. Das Übernehmen des TPM ist die TPM-spezifische Methode, "jemand legt ein Kennwort auf dem HSM fest.". Wenn ein TPM-Gerät an einen neuen Besitzer verkauft wird, kann der neue Besitzer das TPM übernehmen, um eine neue SRK zu generieren. Die neue SRK-Generation stellt sicher, dass der vorherige Besitzer das TPM nicht verwenden kann. Da die SRK für den Besitzer des TPM einzigartig ist, kann die SRK verwendet werden, um Daten für diesen Besitzer im TPM selbst zu verschlüsseln. Der SRK stellt dem Besitzer eine Sandbox zum Speichern seiner Schlüssel bereit und bietet Widerrufbarkeit von Zugriffsrechten, wenn das Gerät oder TPM verkauft wird. Es ist wie der Umzug in ein neues Haus: Das Übernehmen des Eigentums ändert die Schlösser an den Türen und zerstört alle Möbel, die von den vorherigen Eigentümern (SRK) hinterlassen wurden, aber Sie können die Adresse des Hauses (EK) nicht ändern.
** Sobald ein Gerät eingerichtet ist, stehen sowohl ein EK als auch ein SRK zur Nutzung bereit.
Die spezifischen Schritte für die Besitznahme eines TPM variieren je nach Hersteller, verwendetem TPM-Tools und Gerätebetriebssystem.
Der Gerätebereitstellungsdienst verwendet den öffentlichen Teil des EK (EK_pub), um Geräte zu identifizieren und zu registrieren. Der Gerätehersteller kann die EK_pub während der Herstellung oder des endgültigen Tests lesen und die EK_pub in den Bereitstellungsdienst hochladen, sodass das Gerät erkannt wird, wenn es eine Verbindung zur Bereitstellung herstellt. Der Gerätebereitstellungsdienst überprüft weder die SRK noch den Besitzer, daher führt das "Löschen" des TPM dazu, dass Kundendaten gelöscht werden, aber das EK (sowie andere Anbieterdaten) wird beibehalten, und der Gerätebereitstellungsdienst erkennt das Gerät weiterhin, wenn es sich zur Bereitstellung verbindet.
Nachweisprozess
Wenn ein Gerät mit einem TPM zum ersten Mal eine Verbindung mit Device Provisioning Service herstellt, vergleicht der Dienst zuerst den bereitgestellten EK_pub mit dem in der Registrierungsliste gespeicherten EK_pub. Stimmen die EK_pubs nicht überein, ist das Gerät für die Bereitstellung nicht zulässig. Stimmen die EK_pubs überein, fordert der Dienst vom Gerät einen Besitznachweis für den privaten Teil des EK über eine Nonce-Abfrage, bei der es sich um eine sichere Abfrage zum Nachweis der Identität handelt. Der Device Provisioning-Dienst generiert eine Nonce und verschlüsselt sie dann mit dem SRK und anschließend mit dem EK_pub, die beide vom Gerät beim anfänglichen Registrierungsaufruf bereitgestellt werden. Der private Teil des EK bleibt beim TPM immer geschützt. Diese Sicherheit verhindert Fälschungen und stellt sicher, dass SAS-Token sicher auf autorisierten Geräten bereitgestellt werden.
Sehen wir uns den Nachweisprozess im Detail an.
Gerät fordert eine IoT Hub-Zuweisung an
Zuerst stellt das Gerät eine Verbindung zum Gerätebereitstellungsdienst her und fordert die Bereitstellung an. Dabei teilt das Gerät dem Dienst seine Registrierungs-ID, einen ID-Bereich sowie den EK_pub und SRK_pub des TPM mit. Der Dienst übergibt die verschlüsselte Nonce zurück an das Gerät und fordert das Gerät auf, die Nonce zu entschlüsseln und zu verwenden, um ein SAS-Token zu signieren, um die Verbindung erneut herzustellen und die Bereitstellung abzuschließen.
Nonce-Herausforderung
Das Gerät empfängt die Nonce und verwendet die privaten Teile des EK und SRK zum Entschlüsseln der Nonce in das TPM. Durch die Reihenfolge der Nonce-Verschlüsselung wird die Vertrauensstellung vom EK, der unveränderlich ist, an den SRK delegiert, der sich ändern kann, wenn ein neuer Besitzer das TPM übernimmt.
Überprüfen der Nonce und Empfangen der Anmeldeinformationen
Das Gerät kann dann ein SAS-Token mithilfe der entschlüsselten Nonce signieren und eine Verbindung mit dem Gerätebereitstellungsdienst mithilfe des signierten SAS-Tokens erneut herstellen. Nach Abschluss der Nonce-Abfrage lässt der Dienst eine Bereitstellung für das Gerät zu.