Freigeben über


Authentifizieren von Identitäten mit X.509-Zertifikaten

IoT Hub nutzt X.509-Zertifikate für das Authentifizieren von Geräten. Die X.509-Authentifizierung ermöglicht die Authentifizierung eines IoT-Geräts im Rahmen des Transport Layer Security (TLS)-Standardverbindungsaufbaus.

Das X.509-Zertifikat einer Zertifizierungsstelle (ZS) ist ein digitales Zertifikat, das andere Zertifikate signieren kann. Ein digitales Zertifikat gilt als ein „X.509“-Zertifikat, wenn es dem vom RFC 5280-Standard von IETF vorgeschriebenen Zertifikatformatierungsstandard entspricht.

Das X.509-CA-Feature ermöglicht die Geräteauthentifizierung bei IoT Hub mithilfe einer Zertifizierungsstelle (CA). Es vereinfacht den anfänglichen Geräteregistrierungsprozess und die Lieferkettenlogistik während der Herstellung des Geräts.

Authentifizierung und Autorisierung

Bei der Authentifizierung weisen Sie nach, dass Sie die Person sind, die Sie vorgeben zu sein. Die Authentifizierung überprüft die Identität eines Benutzers oder Geräts auf IoT Hub. Dies wird manchmal auch kurz als AuthN bezeichnet.

Die Autorisierung ist der Prozess der Bestätigung von Berechtigungen für einen authentifizierten Benutzer oder ein Gerät auf IoT Hub. Es gibt an, auf welche Ressourcen und Befehle Sie zugreifen dürfen, und was Sie mit diesen Ressourcen und Befehlen tun können. Die Autorisierung wird auch kurz als AuthZ bezeichnet.

X.509-Zertifikate werden nur für die Authentifizierung in IoT Hub und nicht für die Autorisierung verwendet. Im Gegensatz zu Microsoft Entra-ID und freigegebenen Zugriffssignaturen können Sie Berechtigungen nicht mit X.509-Zertifikaten anpassen.

Typen der Zertifikatauthentifizierung

Sie können ein X.509-Zertifikat verwenden, um ein Gerät bei IoT Hub zu authentifizieren. Laden Sie hierzu entweder einen Zertifikatfingerabdruck oder eine Zertifizierungsstelle (CA) in IoT Hub hoch.

  • X.509-Zertifikat, durch Zertifizierungsstelle signiert - Diese Option wird für Produktionsszenarien empfohlen und ist der Schwerpunkt dieses Artikels.

    Wenn Ihr Gerät über ein durch eine Zertifizierungsstelle signiertes X.509-Zertifikat verfügt, laden Sie vor der Registrierung des Geräts ein Zertifikat der Stamm- oder Zwischenzertifizierungsstelle (ZS) in die Signaturkette in IoT Hub hoch. Das Gerät verfügt über ein X.509-Zertifikat bei der verifizierten X.509-Zertifizierungsstelle in der Zertifikatvertrauenskette. Beim Herstellen einer Verbindung präsentiert das Gerät seine vollständige Zertifikatkette, und der IoT-Hub kann das Zertifikat überprüfen, da ihm die X.509-Zertifizierungsstelle bekannt ist. Mehrere Geräte können sich bei derselben verifizierten X.509-Zertifizierungsstelle authentifizieren.

  • X.509, selbstsigniert

    Wenn Ihr Gerät über ein selbstsigniertes X.509-Zertifikat verfügt, dann stellen Sie IoT Hub eine Version des Zertifikats für die Authentifizierung bereit. Wenn Sie ein Gerät registrieren, laden Sie einen Fingerabdruck des Zertifikats hoch, bei dem es sich um einen Hash des X.509-Zertifikats des Geräts handelt. Beim Herstellen einer Verbindung präsentiert das Gerät sein Zertifikat, und der IoT-Hub kann das Zertifikat anhand des von ihm bekannten Hashs überprüfen.

Wichtig

Die folgenden Funktionen für Geräte, die die Authentifizierung per X.509-Zertifizierungsstelle (ZS) verwenden, sind noch nicht allgemein verfügbar, und der Vorschaumodus muss aktiviert werden:

  • HTTPS, MQTT über WebSockets und AMQP über WebSockets-Protokolle.
  • Dateiuploads (alle Protokolle).

Diese Features sind auf Geräten, die die X.509-Fingerabdruckauthentifizierung verwenden, allgemein verfügbar.

Erzwingen der X.509-Authentifizierung

Für zusätzliche Sicherheit kann ein IoT Hub so konfiguriert werden, dass die SAS-Authentifizierung für Geräte und Module nicht zugelassen ist, sodass X.509 die einzige akzeptierte Authentifizierungsoption bleibt. Dieses Feature steht im Azure-Portal zurzeit nicht zur Verfügung. Um es zu konfigurieren, legen Sie in den IoT Hub-Ressourceneigenschaften disableDeviceSAS und disableModuleSAS auf true fest:

az resource update -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs --set properties.disableDeviceSAS=true properties.disableModuleSAS=true

Vorteile einer Authentifizierung mit X.509-Zertifizierungsstellenzertifikat

IoT erfordert eine eindeutige Identität für jedes Gerät, das eine Verbindung herstellt. Bei zertifikatbasierter Authentifizierung liegen diese Identitäten in Form von Zertifikaten vor.

Eine gültige, aber ineffiziente Möglichkeit zur Bereitstellung eines eindeutigen Zertifikats auf jedem Gerät besteht darin, Zertifikate vorab zu generieren und allen Lieferkettenpartnern die entsprechenden privaten Schlüssel zur Verfügung zu stellen. Diese Vorgehensweise führt zu Anforderungen, die erfüllt werden müssen, um die Vertrauensstellung zu gewährleisten:

  • Wenn private Schlüssel von Geräten für Lieferkettenpartner bereitgestellt werden müssen (und die bewährten Methoden für PKI somit ignoriert werden), erhöhen sich die Kosten für die Einrichtung von Vertrauensstellungen in der Lieferkette. Dann sind Systeme (z. B. geschützte Räume zur Aufbewahrung der privaten Schlüssel für Geräte) und Prozesse (z. B. regelmäßige Sicherheitsüberwachungen) erforderlich. Beides führt zu einer Erhöhung der Lieferkettenkosten.

  • Das sichere Verwalten von Geräten in der Lieferkette, und die spätere Verwaltung bei der Bereitstellung bis zur Außerbetriebnahme des Geräts wird für jedes Schlüssel-Gerät-Paar zu einer individuellen Aufgabe. Diese Beziehung schließt die Gruppenverwaltung von Geräten aus, sofern das Gruppenkonzept nicht explizit in den Prozess integriert ist. Die sichere Zurechenbarkeit und die Lebenszyklusverwaltung für Geräte ist also mit hohem Aufwand verbunden.

Die Authentifizierung per X.509-Zertifizierungsstelle bietet durch die Nutzung von Zertifikatketten elegante Lösungen für diese Herausforderungen. Eine Zertifikatkette ist das Ergebnis, wenn eine Zertifizierungsstelle eine Zwischenzertifizierungsstelle signiert, die wiederum eine weitere Zwischenzertifizierungsstelle signiert, usw., bis eine letzte Zwischenzertifizierungsstelle ein Gerät signiert. Zertifikatketten erstellen eine 1:n-Beziehung zwischen einem Zertifikat einer Zertifizierungsstelle und den nachgeschalteten Geräten. Mit dieser Beziehung können Sie eine beliebige Anzahl von Geräten bei IoT Hub registrieren, indem ein X.509-Zertifizierungsstellenzertifikat einmal registriert wird.

Die Authentifizierung per X.509-Zertifizierungsstelle (ZS) vereinfacht auch die Lieferkettenlogistik. Ein typischer Ablauf zur Fertigung eines Geräts umfasst mehrere Schritte und Verwalter. Mithilfe von Zertifizierungsstellen können Sie jeden Verwahrer für eine kryptografische Vertrauenskette signieren, anstatt Ihnen private Geräteschlüssel anzuvertrauen. Jeder Verwalter signiert Geräte für den jeweiligen Schritt des Fertigungsablaufs. Das Gesamtergebnis ist eine optimale Lieferkette mit integrierter Zurechenbarkeit dank des Einsatzes einer kryptografischen Vertrauenskette.

Bei diesem Prozess wird die höchste Sicherheit erzielt, wenn Geräte ihre eindeutigen privaten Schlüssel schützen. Zu diesem Zweck empfehlen wir die Verwendung von Hardwaresicherheitsmodulen (HSM), mit denen private Schlüssel intern generiert werden können.

Der Azure IoT Hub Device Provisioning Service (DPS) erleichtert die Bereitstellung von Gerätegruppen auf Hubs. Weitere Informationen dazu finden Sie im Tutorial: Bereitstellen mehrerer X.509-Geräte mithilfe von Registrierungsgruppen.

Flow des X.509-Zertifikats

In diesem Abschnitt wird beschrieben, wie Zertifikate von X.509-Zertifizierungsstellen (ZS) zum Authentifizieren von Geräten verwendet werden, die eine Verbindung mit IoT Hub herstellen, was die folgenden Schritte beinhaltet:

  • Rufen Sie ein X.509-Zertifizierungsstellenzertifikat ab.
  • Signieren Sie Geräte mithilfe von X.509-Zertifizierungsstellenzertifikaten.
  • Registrieren Sie das X.509-Zertifizierungsstellenzertifikat bei IoT Hub.
  • Authentifizieren Sie Geräte, die mit X.509-Zertifizierungsstellenzertifikaten signiert sind.
  • Widerrufen Sie ein Gerätezertifikat, wenn es kompromittiert ist.

Abrufen eines X.509-CA-Zertifikats

Das X.509-CA-Zertifikat ist das oberste Glied der Kette von Zertifikaten für jedes Ihrer Geräte. Je nach Verwendungszweck können Sie es erwerben oder erstellen.

Für Produktionsumgebungen empfehlen wir, dass Sie ein X.509-ZS-Zertifikat von einem professionellen Zertifikatdienstanbieter erwerben.

Sie können zu Testzwecken auch ein selbstsigniertes X.509-Zertifizierungsstellenzertifikat erstellen. Weitere Informationen zum Erstellen von Zertifikaten für Tests finden Sie unter Erstellen und Hochladen von Zertifikaten für Tests. Wir raten von selbstsignierten Zertifikaten für Produktionsumgebungen ab.

Stellen Sie unabhängig vom Bezug Ihres X.509-Zertifizierungsstellenzertifikat sicher, dass sein entsprechender privater Schlüssel stets geheim und geschützt ist.

Erwerben eines Zertifikats

Der Erwerb eines Zertifizierungsstellenzertifikats hat den Vorteil, dass eine bekannte Stammzertifizierungsstelle als vertrauenswürdiger Drittanbieter fungiert, um bei der Verbindungsherstellung der Geräte die Legitimität von IoT-Geräten zu bestätigen. Wählen Sie diese Option aus, wenn Ihre Geräte Teil eines offenen IoT-Netzwerks sind, in dem sie mit Produkten oder Diensten von Drittanbietern interagieren.

Wählen Sie zum Erwerben eines X.509-Zertifizierungsstellenzertifikats einen Dienstanbieter von Stammzertifikaten. Der Anbieter der Stammzertifizierungsstelle führt Sie durch die Schritte zum Erstellen eines öffentlichen/privaten Schlüsselpaars und zum Erstellen einer Zertifikatsignieranforderung (Certificate Signing Request, CSR) für ihre Dienste. Eine Zertifikatsignieranforderung wird für die formale Bewerbung für ein Zertifikat bei einer Zertifizierungsstelle benötigt. Das Ergebnis dieses Erwerbsvorgangs ist ein Zertifikat zur Verwendung als Zertifizierungsstellenzertifikat. Aufgrund der häufigen Verwendung von X.509-Zertifikaten ist die Wahrscheinlichkeit hoch, dass das Zertifikat richtig gemäß RFC 5280-Standard der IETF formatiert ist.

Erstellen eines selbstsignierten Zertifikats

Der Prozess zur Erstellung eines selbstsignierten X.509-Zertifizierungsstellenzertifikats ähnelt dessen Erwerb – außer dass dabei kein Drittanbieter, z. B. die Stammzertifizierungsstelle, als Signaturgeber beteiligt ist.

Möglicherweise wählen Sie diese Option zu Testzwecken, bis Sie für den Erwerb eines Zertifizierungsstellenzertifikats bereit sind. Sie könnten ein selbstsigniertes X.509-Zertifizierungsstellenzertifikat auch in der Produktion verwenden, wenn Ihre Geräte keine Verbindung mit Drittanbieterdiensten außerhalb von IoT Hub herstellen werden.

Signieren von Geräten bei einer Zertifikatvertrauenskette

Der Besitzer eines X.509-Zertifizierungsstellenzertifikats kann eine Zwischenzertifizierungsstelle kryptografisch signieren, die wiederum eine andere Zwischenzertifizierungsstelle signieren kann usw., bis die letzte Zwischenzertifizierungsstelle ein Gerätezertifikat signiert. Das Ergebnis ist eine kaskadierte Kette von Zertifikaten, die als Zertifikatvertrauenskette bezeichnet wird. Diese Delegierung des Vertrauens ist wichtig, da sie eine Verwahrungskette schafft und die Freigabe von Signaturschlüsseln vermeidet.

Diese Kaskade von Zertifikaten in der Kette stellt die logische Übergabe von Autorität dar. Viele Lieferketten folgen dieser logischen Übergabe, wobei jede Zwischenzertifizierungsstelle für die Kette signiert wird, während alle Zertifikate der vorgeschalteten Zertifizierungsstelle empfangen werden. Die letzte Zwischenzertifizierungsstelle signiert schließlich jedes Gerät und fügt alle Zertifizierungsstellenzertifikate aus der Kette in das Gerät ein.

Diagramm: Zertifikate in einer Vertrauenskette

Beim Gerätezertifikat (auch als „untergeordnetes Zertifikat“ bezeichnet) muss der allgemeine Name (Common Name,CN) auf die Geräte-ID (CN=deviceId) festgelegt werden, die bei der Registrierung des IoT-Geräts in Azure IoT Hub verwendet wurde. Diese Einstellung ist für die Authentifizierung erforderlich.

Für die Module mit X.509-Zertifikatauthentifizierung muss das Zertifikat des Moduls seinen allgemeinen Namen (Common Name, CN) wie CN=deviceId/moduleId formatiert haben.

Informieren Sie sich über das Erstellen einer Zertifikatkette, wie es beim Signieren von Geräten üblich ist.

Registrieren des X.509-CA-Zertifikats bei IoT Hub

Registrieren Sie Ihr X.509-Zertifizierungsstellenzertifikat bei IoT Hub, wo es zum Authentifizieren Ihrer Geräte verwendet wird. Ein X.509-Zertifizierungsstellenzertifikat kann jedes Gerät authentifizieren, das über die Zertifizierungsstelle in seiner Zertifikatvertrauenskette verfügt. Das Registrieren des X.509-CA-Zertifikats ist ein zweistufiger Prozess. Er umfasst das Hochladen der Zertifikatdatei, gefolgt vom Einrichten eines Eigentumsnachweises.

Im Uploadprozess wird eine Datei hochgeladen, die Ihr Zertifikat enthält. Diese Datei darf nie private Schlüssel enthalten.

Der Schritt für den Eigentumsnachweis umfasst eine kryptografische Aufforderung und einen Antwortprozess zwischen Ihnen und IoT Hub, um zu überprüfen, ob Sie das Zertifizierungsstellenzertifikat wirklich besitzen. Sie können das Eigentum entweder automatisch oder manuell überprüfen. Für die manuelle Überprüfung generiert IoT Hub eine zufällige Aufforderung, die Sie mit dem privaten Schlüssel des Zertifizierungsstellenzertifikats signieren. Wenn Sie den privaten Schlüssel wie empfohlen geheim gehalten und geschützt haben, besitzen nur Sie die nötigen Informationen zum Abschließen dieses Schritts. Die Geheimhaltung privater Schlüssel ist bei dieser Methode die Quelle des Vertrauens. Nach dem Signieren der Aufforderung laden Sie eine Datei mit den Ergebnissen hoch, um die Überprüfung abzuschließen.

Informieren Sie sich, wie Sie Ihr Zertifizierungsstellenzertifikat registrieren.

Authentifizieren von Geräten, die mit X.509-CA-Zertifikaten signiert sind

Wenn Ihr X.509-Zertifizierungsstellenzertifikat registriert ist und die Geräte mit einer Zertifikatvertrauenskette signiert wurden, ist der letzte Schritt die Geräteauthentifizierung. Wenn ein mit X.509-CA-Zertifikat signiertes Gerät eine Verbindung herstellt, lädt es seine Zertifikatkette zur Überprüfung hoch. Anhand dieser Informationen authentifiziert IoT Hub das Gerät in einem Zwei-Schritte-Prozess.

Zunächst überprüft IoT Hub die Zertifikatkette kryptografisch auf interne Konsistenz. Anschließend richtet IoT Hub eine Aufforderung zum Eigentumsnachweis an das Gerät. IoT Hub deklariert das Gerät bei einer positiven Eigentumsnachweisantwort des Geräts als authentisch. Diese Deklaration setzt voraus, dass der private Schlüssel für das Gerät geschützt ist und nur das Gerät auf diese Anforderung erfolgreich reagieren kann. Wir empfehlen, dass Sie sichere Chips wie Hardwaresicherheitsmodule (Hardware Secure Modules, HSM) zum Schutz von privaten Schlüsseln in Geräten verwenden.

Eine erfolgreiche Geräteverbindung mit IoT Hub schließt den Authentifizierungsprozess ab und weist auch auf eine ordnungsgemäße Einrichtung hin. Jedes Mal, wenn ein Gerät eine Verbindung herstellt, handelt IoT Hub die TLS-Sitzung erneut aus und überprüft das X.509-Zertifikat des Geräts.

Widerrufen eines Gerätezertifikats

IoT Hub überprüft keine Zertifikatsperrlisten der Zertifizierungsstelle, wenn Geräte mit zertifikatbasierter Authentifizierung authentifiziert werden. Wenn Sie über ein Gerät verfügen, das aufgrund eines potenziell kompromittierten Zertifikats daran gehindert werden muss, eine Verbindung mit IoT Hub herzustellen, deaktivieren Sie das Gerät in der Identitätsregistrierung. Weitere Informationen finden Sie unter Deaktivieren oder Löschen eines Geräts.

Beispielszenario

Das Unternehmen Company-X stellt Smart-X-Widgets her, die für professionelle Installation konzipiert sind. Company-X outsourct sowohl die Fertigung als auch die Installation. Das Werk Factory-Y fertigt die Smart-X-Widgets, und der Techniker Technician-Z installiert sie. Company-X möchte, dass das Smart-X-Widget von Factory-Y direkt an Technician-Z zur Installation geliefert wird. Dann soll es eine direkte Verbindung mit der IoT Hub-Instanz von Company-X herstellen. Hierzu muss Company-X einige einmalige Einrichtungsvorgänge durchführen, um das Smart-X-Widget für die automatische Verbindungsherstellung vorzubereiten. Dieses End-to-End-Szenario enthält die folgenden Schritte:

  1. Abrufen des X.509-Zertifizierungsstellenzertifikats

  2. Registrieren des X.509-Zertifizierungsstellenzertifikats bei IoT Hub

  3. Anmelden von Geräten an einer Zertifikatvertrauenskette

  4. Verbinden der Geräte

Diese Schritte werden in Tutorial: Erstellen und Hochladen von Zertifikaten zum Testen.

Abrufen des Zertifikats

Company-X kann ein X.509-Zertifizierungsstellenzertifikat entweder bei einer öffentlichen Stammzertifizierungsstelle erwerben oder eines in einem selbstsignierten Prozess erstellen. Jede dieser Optionen umfasst zwei grundlegende Schritte: Generieren eines Paars aus öffentlichem/privatem Schlüssel und Signieren des öffentlichen Schlüssels in einem Zertifikat.

Die Details zur Ausführung dieser Schritte unterscheidet sich je nach Dienstanbieter.

Diagramm des Ablaufs zum Generieren eines X.509-Zertifizierungsstellenzertifikats

Registrieren des Zertifikats bei IoT Hub

Company-X muss die X.509-Zertifizierungsstelle für IoT Hub registrieren, damit sie dort bei der Verbindungsherstellung zum Authentifizieren von Smart-X-Widgets dienen kann. Dieser einmalige Prozess ermöglicht das Authentifizieren und Verwalten einer beliebigen Anzahl von Smart-X-Widget-Geräten. Die 1:n-Beziehung zwischen Zertifizierungsstellenzertifikat und Gerätezertifikaten ist einer der Hauptvorteile der Verwendung der X.509 CA-Authentifizierungsmethode. Die Alternative wäre das Hochladen von individuellen Zertifikatfingerabdrücken für jedes einzelne Smart-X-Widget-Gerät, wodurch aber die Betriebskosten erhöht würden.

Das Registrieren des X.509-Zertifizierungsstellenzertifikats ist ein Prozess aus zwei Schritten: Upload des Zertifikats und dann Bereitstellen eines Eigentumsnachweises.

Diagramm des Prozessablaufs zum Registrieren eines X.509-Zertifizierungsstellenzertifikats

Hochladen des Zertifikats

Mit dem Uploadprozess für das X.509-Zertifizierungsstellenzertifikat wird das Zertifikat auf IoT Hub hochgeladen. IoT Hub erwartet das Zertifikat als Datei.

Die Zertifikatsdatei darf unter keinen Umständen private Schlüssel enthalten. Die bewährten Methoden der Standards für die Public Key-Infrastruktur (PKI) schreiben vor, dass die Informationen zum privaten Schlüssel von Company-X ausschließlich innerhalb von Company-X vorliegen sollten.

Nachweis des Besitzes

Beim X.509-Zertifizierungsstellenzertifikat handelt es sich wie bei allen digitalen Zertifikaten um öffentliche Informationen, für die die Gefahr des Abfangens besteht. In den Prozess eingreifende Dritte könnten ein Zertifikat abfangen und versuchen, es als eigenes Zertifikat hochzuladen. In unserem Beispiel muss IoT Hub sicherstellen, dass das von Company-X hochgeladene Zertifizierungsstellenzertifikat Company-X wirklich gehört. Hierzu wird Company-X von IoT Hub aufgefordert, anhand eines Ablaufs zum Eigentumsnachweis (Proof-of-Possession, PoP) den Besitz des Zertifikats nachzuweisen.

Für den Ablauf zum Eigentumsnachweis generiert IoT Hub eine Zufallszahl, die von Company-X mithilfe seines privaten Schlüssels signiert werden muss. Wenn sich Company-X an die bewährten Methoden für PKI gehalten und seinen privaten Schlüssel geschützt hat, könnte nur dieses Unternehmen die richtige Antwort auf die Aufforderung zum Eigentumsnachweis liefern. Wenn die Antwort zum Nachweisen des Eigentums erfolgreich war, fährt IoT Hub mit dem Registrieren des X.509-Zertifizierungsstellenzertifikats fort.

Die Registrierung des X.509-Zertifizierungsstellenzertifikats wird abgeschlossen, nachdem die Aufforderung zum Eigentumsnachweis erfolgreich beantwortet wurde.

Anmelden von Geräten an einer Zertifikatvertrauenskette

In unserem Beispiel bedeutet „zertifikatbasierte Authentifizierung“, dass es für jedes Smart-X-Widget ein eindeutiges Gerätezertifikat geben muss. Anstatt einzelne Zertifikat-/Schlüsselpaare für jedes Gerät zu erstellen, beschließt Company-X, Zertifizierungsstellenzertifikate zu verwenden und eine Zertifikatvertrauenskette für jedes Gerät zu erstellen.

In unserem Beispiel wird Factory-Y von Company-X signiert, Factory-Y signiert wiederum Technician-Z, und Technician-Z signiert schließlich das Smart-X-Widget-Gerät.

Diagramm mit einem Beispiel für eine Zertifikatkettenhierarchie

Das folgende Diagramm zeigt, wie die Zertifikatkette der Vertrauensstellung in unserem Smart-X-Widget-Beispiel zusammengestellt wird.

Diagramm der Zertifikatvertrauenskette aus den Zertifikaten eines Unternehmens zu den Zertifikaten eines anderen Unternehmens

  1. Das Unternehmen Company-X interagiert niemals physisch mit einem der Smart-X-Widgets. Es initiiert die Zertifikatkette der Vertrauensstellung durch Signieren des Zertifikats der Zwischenzertifizierungsstelle von Factory-Y.
  2. Factory-Y hat jetzt ein eigenes Zertifikat der Zwischenzertifizierungsstelle mit einer Signatur von Company-X. Es übergibt Kopien dieser Elemente an das Gerät. Außerdem verwendet es das Zertifikat der Zwischenzertifizierungsstelle, um das Zertifikat der Zwischenzertifizierungsstelle von Technician-Z und Smart-X-Widget-Gerätezertifikate zu signieren.
  3. Technician-Z hat jetzt ein eigenes Zertifikat der Zwischenzertifizierungsstelle mit einer Signatur von Factory-X. Er übergibt Kopien dieser Elemente an das Gerät. Außerdem verwendet er das Zertifikat der Zwischenzertifizierungsstelle, um das Smart-X-Widget-Gerätezertifikat zu signieren.
  4. Jedes Smart-X-Widget-Gerät hat jetzt ein eigenes eindeutiges Gerätezertifikat sowie Kopien der öffentlichen Schlüssel und Signaturen aus jedem Zertifikat der Zwischenzertifizierungsstelle, mit dem es in der gesamten Lieferkette interagiert hat. Diese Zertifikate und Signaturen können bis zum ursprünglichen Company-X-Stamm zurückverfolgt werden.

Die Methode der Authentifizierung per Zertifizierungsstelle integriert sichere Verantwortlichkeit in die Lieferkette für die Gerätefertigung. Aufgrund des Zertifikatkettenprozesses werden die Aktionen jedes Mitglieds in der Kette kryptografisch aufgezeichnet und sind überprüfbar.

Dieser Prozess basiert auf der Annahme, dass das eindeutige Paar aus öffentlichem und privatem Schlüssel für Geräte unabhängig erstellt wird und dass der private Schlüssel innerhalb des Geräts geschützt ist. Glücklicherweise gibt es sichere Siliziumchips in Form von Hardwaresicherheitsmodulen (HSM), mit denen Schlüssel intern generiert und private Schlüssel geschützt werden können. Company-X muss der Stückliste eines Smart-X-Widget-Geräts lediglich einen solchen sicheren Chip hinzufügen.

Authentifizieren von Geräten

Für die Authentifizierung per X.509-Zertifizierungsstelle gefertigte Geräte verfügen über eindeutige Gerätezertifikate und eine Zertifikatkette, die auf der jeweiligen Fertigungslieferkette basiert. Zum Herstellen der Geräteverbindung wird auch beim ersten Mal ein zweistufiger Prozess verwendet: Upload der Zertifikatkette und Eigentumsnachweis.

In unserem Beispiel lädt jedes Smart-X-Widget sein eindeutiges Gerätezertifikat zusammen mit den X.509-Zertifizierungsstellenzertifikaten für Factory-Y und Technician-Z hoch und beantwortet anschließend die Aufforderung zum Eigentumsnachweis von IoT Hub.

Anhand des vorab registrierten X.509-Zertifizierungsstellenzertifikats von Company-X überprüft IoT Hub, ob die hochgeladene Zertifikatkette intern konsistent ist und ob die Kette vom gültigen Eigentümer des X.509-Zertifizierungsstellenzertifikats stammt. Wie beim Registrierungsprozess über die X.509-Zertifizierungsstelle verwendet IoT Hub einen Abfrage/Antwort-Prozess für den Eigentumsnachweis, um sicherzustellen, dass die Kette – und deshalb das Gerätezertifikat – zum hochladenden Gerät gehört. Eine erfolgreiche Antwort führt dazu, dass IoT Hub das Gerät als authentisch akzeptiert und die Verbindungsherstellung zulässt.

Diagramm des Ablaufs zum Überprüfen eines Gerätezertifikats

Die Grundlage der Vertrauensstellung basiert auf dem Schutz von privaten Schlüsseln, einschließlich der privaten Geräteschlüssel. Daher möchten wir noch einmal betonen, wie wichtig die Verwendung von sicheren Siliziumchips in Form von Hardwaresicherheitsmodulen (HSM) zum Schutz für private Geräteschlüssel ist und dass die bewährte Methode immer darin besteht, private Schlüssel niemals aus einem Zertifikat in der Kette freizugeben.

Nächste Schritte

Verwenden Sie den Device Provisioning Service zum Bereitstellen mehrerer X.509-Geräte mithilfe von Registrierungsgruppen.

Weitere Informationen zu den Feldern eines X.509-Zertifikats finden Sie unter X.509-Zertifikate.

Wenn Sie ein Zertifikat der Stammzertifizierungsstelle oder ein Zertifikat der untergeordneten Zertifizierungsstelle haben und es auf Ihren IoT-Hub hochladen möchten, müssen Sie beweisen, dass Sie dieses Zertifikat besitzen. Weitere Informationen finden Sie unter Tutorial: Erstellen und Hochladen von Zertifikaten für Tests.