Geräteauthentifizierungskonzepte in IoT Central

In diesem Artikel wird beschrieben, wie Geräte bei einer Azure IoT Central-Anwendung authentifiziert werden. Weitere Informationen zum gesamten Verbindungsprozess finden Sie unter Verbinden eines Geräts.

Geräte authentifizieren sich bei der IoT Central-Anwendung entweder mithilfe eines Shared Access Signature-Tokens (SAS) oder eines X.509-Zertifikats. In Produktionsumgebungen werden X.509-Zertifikate empfohlen.

Sie verwenden Registrierungsgruppen zur Verwaltung der Geräteauthentifizierungsoptionen in Ihrer IoT Central-Anwendung.

In diesem Artikel werden die folgenden Geräteauthentifizierungsoptionen beschrieben:

X.509-Registrierungsgruppe

In einer Produktionsumgebung ist die Verwendung von X.509-Zertifikaten der empfohlene Mechanismus zur Geräteauthentifizierung für IoT Central. Weitere Informationen finden Sie unter Geräteauthentifizierung mit X.509-Zertifikaten.

Eine X.509-Registrierungsgruppe enthält ein X.509-Stammzertifikat oder X.509-Zwischenzertifikat. Geräte können sich authentifizieren, wenn sie ein gültiges Blattzertifikat haben, das vom Stamm- oder Zwischenzertifikat abgeleitet wurde.

So stellen Sie eine Verbindung eines Geräts mit einem X.509-Zertifikat mit Ihrer Anwendung her:

  1. Erstellen Sie eine Registrierungsgruppe, die den Nachweistyp X.509-Zertifikate verwendet.
  2. Fügen Sie ein X.509-Zwischen- oder Stammzertifikat in der Registrierungsgruppe hinzu, und überprüfen Sie es.
  3. Generieren Sie ein untergeordnetes Zertifikat aus dem Stamm- oder Zwischenzertifikat in der Registrierungsgruppe. Installieren Sie das Blattzertifikat auf dem Gerät, das es beim Herstellen einer Verbindung mit Ihrer Anwendung verwenden soll.

Jede Registrierungsgruppe sollte ein eindeutiges X.509-Zertifikat verwenden. IoT Central unterstützt nicht die Verwendung desselben X.509-Zertifikats in mehreren Registrierungsgruppen.

Weitere Informationen finden Sie unter Informationen zum Verbinden von Geräten mit X.509-Zertifikaten.

Nur für Testzwecke

Verwenden Sie in einer Produktionsumgebung Zertifikate von Ihrem Zertifikatanbieter. Mit den folgenden Hilfsprogrammen können Sie ausschließlich zu Testzwecken Stamm-, Zwischen- und Gerätezertifikate generieren:

  • Tools for the Azure IoT Device Provisioning Device SDK (Tools für das Azure IoT Device Provisioning-Geräte-SDK): Sammlung von Node.js-Tools, mit denen Sie X.509-Zertifikate und -Schlüssel generieren und überprüfen können.
  • Managing test CA certificates for samples and tutorials (Verwalten von Test-Zertifizierungsstellenzertifikaten für Beispiele und Tutorials): Sammlung von PowerShell- und Bash-Skripts für folgende Zwecke:
    • Erstellen einer Zertifikatkette.
    • Speichern Sie die Zertifikate als CER-Dateien zum Hochladen in Ihre IoT Central-Anwendung.
    • Verwenden Sie den Überprüfungscode aus der IoT Central-Anwendung, um das Verifizierungszertifikat zu generieren.
    • Erstellen Sie untergeordnete Zertifikate für Ihre Geräte unter Verwendung Ihrer Geräte-IDs als Parameter für das Tool.

SAS-Registrierungsgruppe

Eine SAS-Registrierungsgruppe enthält SAS-Schlüssel auf Gruppenebene. Geräte können sich authentifizieren, wenn sie ein gültiges SAS-Token haben, das von einem SAS-Schlüssel auf Gruppenebene abgeleitet wurde.

So stellen Sie eine Verbindung eines Geräts mit einem Geräte-SAS-Token mit Ihrer Anwendung her:

  1. Erstellen Sie eine Registrierungsgruppe, die den Nachweistyp Shared Access Signature (SAS) verwendet.

  2. Kopieren Sie den Gruppenprimärschlüssel oder -sekundärschlüssel aus der Registrierungsgruppe.

  3. Verwenden Sie die Azure CLI zum Generieren eines Gerätetokens aus dem Gruppenschlüssel.

    az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
    
  4. Verwenden Sie das generierte Gerätetoken, wenn das Gerät eine Verbindung mit ihrer IoT Central-Anwendung herstellt.

Hinweis

Wenn Sie vorhandene SAS-Schlüssel in Ihren Registrierungsgruppen verwenden möchten, deaktivieren Sie den Umschalter Schlüssel automatisch generieren, und geben Sie Ihre SAS-Schlüssel manuell ein.

Wenn Sie die Standardregistrierungsgruppe SAS-IoT-Devices verwenden, generiert IoT Central automatisch die einzelnen Geräteschlüssel. Wählen Sie für den Zugriff auf diese Schlüssel auf der Seite „Gerätedetails“ die Option Verbinden aus. Auf dieser Seite wird der ID-Bereich, die Geräte-ID, der Primärschlüssel und der Sekundärschlüssel angezeigt, die Sie in Ihrem Gerätecode verwenden. Außerdem wird auf der Seite ein QR-Code angezeigt, der dieselben Daten enthält.

Individuelle Registrierung

Normalerweise stellen Geräte eine Verbindung mithilfe von Anmeldeinformationen her, die von einem X.509-Zertifikat oder SAS-Schlüssel der Registrierungsgruppe abgeleitet wurden. Wenn Ihre Geräte jedoch jeweils eigene Anmeldeinformationen haben, können Sie individuelle Registrierungen verwenden. Eine individuelle Registrierung ist ein Eintrag für ein einzelnes Gerät, das verbunden werden darf. Individuelle Registrierungen verwenden als Nachweismechanismen X.509-Blattzertifikate oder SAS-Token (von einem physischen oder virtuellen Trusted Platform Module). Weitere Informationen finden Sie unter Individuelle DPS-Registrierung.

Hinweis

Wenn Sie eine individuelle Registrierung für ein Gerät erstellen, hat diese Vorrang vor den Standardoptionen für Registrierungsgruppen in Ihrer IoT Central-Anwendung.

Erstellen individueller Registrierungen

IoT Central unterstützt die folgenden Nachweismechanismen für individuelle Registrierungen:

  • Symmetrischer Schlüsselnachweis: Der Nachweis des symmetrischen Schlüssels ist eine einfache Methode zum Authentifizieren eines Geräts bei einer DPS-Instanz. Öffnen Sie zum Erstellen einer individuellen Registrierung, bei der symmetrische Schlüssel verwendet werden, die Seite Geräteverbindung für das Gerät. Wählen Sie dann Individuelle Registrierung als Authentifizierungstyp und Shared Access Signature (SAS) als Authentifizierungsmethode aus. Geben Sie Base64-codierte primäre und sekundäre Schlüssel ein, und speichern Sie Ihre Änderungen. Verwenden Sie den ID-Bereich, die Geräte-ID und den primären oder den sekundären Schlüssel, um Ihr Gerät zu verbinden.

    Tipp

    Zum Testen können Sie OpenSSL verwenden, um Base64-codierte Schlüssel zu generieren: openssl rand -base64 64

  • X.509-Zertifikate: Öffnen Sie zum Erstellen einer individuellen Registrierung mit X.509-Zertifikaten die Seite Geräteverbindung. Wählen Sie dann Individuelle Registrierung als Authentifizierungstyp und Zertifikate (X.509) als Authentifizierungsmethode aus. Für Gerätezertifikate, die mit einem Eintrag für eine individuelle Registrierung verwendet werden, müssen der Aussteller und der Antragsteller-CN auf die Geräte-ID festgelegt werden.

    Tipp

    Zum Testen können Sie die Tools für das Azure IoT Device Provisioning-Geräte-SDK für Node.js verwenden, um ein selbstsigniertes Zertifikat zu generieren: node create_test_cert.js device "mytestdevice"

  • Trusted Platform Module (TPM)-Nachweis: Ein TPM ist ein Typ von Hardwaresicherheitsmodul. Die Verwendung eines TPM stellt eine der sichersten Möglichkeiten dar, ein Gerät zu verbinden. In diesem Artikel wird davon ausgegangen, dass Sie ein diskretes, integriertes oder Firmware-TPM verwenden. Durch Software emulierte TPMs eignen sich gut für die Prototyperstellung oder für Tests, bieten aber nicht das gleiche Maß an Sicherheit wie diskrete, integrierte oder Firmware-TPMs. Verwenden Sie keine Software-TPMs in Produktionsumgebungen. Öffnen Sie zum Erstellen einer individuellen Registrierung mit TPM die Seite Geräteverbindung. Wählen Sie dann Individuelle Registrierung als Authentifizierungstyp und TPM als Authentifizierungsmethode aus. Geben Sie den TPM-Endorsement Key ein, und speichern Sie die Geräteverbindungsinformationen.

Automatisches Registrieren von Geräten

Dieses Szenario ermöglicht OEMs die Massenfertigung von Geräten, die eine Verbindung herstellen können, ohne zuvor in einer Anwendung registriert zu werden. Ein OEM generiert geeignete Anmeldeinformationen und konfiguriert die Geräte im Werk.

So werden Geräte, die X.509-Zertifikate verwenden, automatisch registriert:

  1. Generieren Sie die untergeordneten Zertifikate für Ihre Geräte mit dem Stamm- oder Zwischenzertifikat, das Sie in Ihre X.509-Registrierungsgruppe hochgeladen haben. Verwenden Sie in den Blattzertifikaten Geräte-IDs als CNAME. Eine Geräte-ID kann Buchstaben, Ziffern und das Zeichen - enthalten.

  2. Schreiben Sie als OEM für jedes Gerät eine Geräte-ID, ein generiertes untergeordnetes X.509-Zertifikat und den ID-Bereich-Wert der Anwendung in den Flashspeicher. Der Gerätecode sollte auch die Modell-ID des Gerätemodells senden, das er implementiert.

  3. Wenn Sie ein Gerät einschalten, stellt es zuerst eine Verbindung mit DPS her, um seine IoT Central-Verbindungsinformationen abzurufen.

  4. Das Gerät verwendet die Informationen von DPS, um eine Verbindung mit Ihrer IoT Central-Anwendung herzustellen und sich bei ihr zu registrieren.

  5. Die IoT Central-Anwendung verwendet die vom Gerät gesendete Modell-ID, um das registrierte Gerät einer Gerätevorlage zuzuweisen.

So werden Geräte, die SAS-Token verwenden, automatisch registriert:

  1. Kopieren Sie den Gruppenprimärschlüssel aus der SAS-IoT-Devices-Registrierungsgruppe:

    Screenshot that shows the group primary key from SAS IoT Devices enrollment group.

  2. Verwenden Sie zum Generieren der SAS-Schlüssel für das Gerät den Befehl az iot central device compute-device-key. Verwenden Sie den primären Gruppenschlüssel aus dem vorherigen Schritt. Die Geräte-ID kann Buchstaben, Ziffern und das Zeichen - enthalten:

    az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
    
  3. Schreiben Sie als OEM für jedes Gerät die Geräte-ID, den generierten Geräte-SAS-Schlüssel und den ID-Bereich-Wert der Anwendung in den Flashspeicher. Der Gerätecode sollte auch die Modell-ID des Gerätemodells senden, das er implementiert.

  4. Wenn Sie ein Gerät einschalten, stellt es zuerst eine Verbindung mit DPS her, um seine IoT Central-Registrierungsinformationen abzurufen.

  5. Das Gerät verwendet die Informationen von DPS, um eine Verbindung mit Ihrer IoT Central-Anwendung herzustellen und sich bei ihr zu registrieren.

  6. Die IoT Central-Anwendung verwendet die vom Gerät gesendete Modell-ID, um das registrierte Gerät einer Gerätevorlage zuzuweisen.

Nächste Schritte

Als Nächstes werden folgende Schritte vorgeschlagen: