Rollen von X.509-Gerätezertifikaten

Während des Lebenszyklus Ihrer IoT-Lösung müssen Sie Zertifikate „rollen“ (festlegen, dass ein neues Zertifikat ab einem bestimmten Zeitpunkt zum aktuellen Zertifikat wird). Zwei der wichtigsten Gründe für das Rollen von Zertifikaten sind Sicherheitsverletzungen und der Ablauf von Zertifikaten.

Das Rollen von Zertifikaten ist eine bewährte Sicherheitsmethode, um Ihr System im Falle einer Sicherheitsverletzung zu schützen. Als Teil der Assume Breach-Methodik (von einer Sicherheitsverletzung ausgehen) betont Microsoft neben vorbeugenden Maßnahmen die Notwendigkeit von reaktiven Sicherheitsprozessen. Das Rollen Ihrer Gerätezertifikate sollte ein Bestandteil dieser Sicherheitsprozesse sein. Die Häufigkeit, mit der Sie die Zertifikate rollen, hängt von den Sicherheitsanforderungen Ihrer Lösung ab. Kunden, deren Lösungen sensible Daten beinhalten, rollen Zertifikate möglicherweise täglich, während andere ihre Zertifikate alle zwei Jahre rollen.

Beim Rollen von Gerätezertifikaten müssen das auf dem Gerät gespeicherte Zertifikat und der IoT Hub aktualisiert werden. Anschließend kann das Gerät sich selbst mit dem IoT Hub anhand der normalen Bereitstellung mit Device Provisioning Service (DPS) erneut bereitstellen.

Abrufen neuer Zertifikate

Zum Abrufen neuer Zertifikate für Ihre IoT-Geräte stehen Ihnen viele Methoden zur Auswahl. Dazu zählen das Abrufen von Zertifikaten aus der Geräte-Factory, das Generieren Ihrer eigenen Zertifikate und die Verwaltung der Zertifikaterstellung durch einen Drittanbieter.

Zertifikate werden voneinander signiert, um eine Vertrauenskette von einem Stammzertifizierungsstellenzertifikat zu einem untergeordneten Zertifikat zu bilden. Ein Signaturzertifikat ist das Zertifikat, das zum Signieren des untergeordneten Zertifikats am Ende der Vertrauenskette verwendet wird. Bei einem Signaturzertifikat kann es sich um ein Stammzertifizierungsstellenzertifikat oder ein Zwischenzertifikat in der Vertrauenskette handeln. Weitere Informationen finden Sie unter X.509-Zertifikate.

Zum Abrufen eines Signaturzertifikats stehen zwei Methoden zur Auswahl. Die erste Methode, die für Produktionssysteme empfohlen wird, ist der Kauf eines Signaturzertifikats von einer Stammzertifizierungsstelle (ZS). Auf diese Weise wird die Sicherheit an eine vertrauenswürdige Quelle gebunden.

Die zweite Methode ist die Erstellung eigener X.509-Zertifikate mit einem Tool wie OpenSSL. Dieser Ansatz eignet sich hervorragend zum Testen von X.509-Zertifikaten, bietet jedoch wenig Garantien im Hinblick auf die Sicherheit. Wir empfehlen, diesen Ansatz nur für Tests zu verwenden, es sei denn, Sie sind in der Lage, als Ihr eigener ZS-Anbieter zu fungieren.

Rollen des Zertifikats auf dem Gerät

Zertifikate auf einem Gerät sollten immer an einem sicheren Ort gespeichert werden, beispielsweise in einem Hardwaresicherheitsmodul (HSM). Die Art und Weise, wie Sie Gerätezertifikate rollen, hängt in erster Linie davon ab, wie sie erstellt und auf den Geräten installiert wurden.

Wenn Ihre Zertifikate von einem Drittanbieter stammen, müssen Sie überprüfen, wie dieser seine Zertifikate rollt. Der Prozess kann in Ihrer Vereinbarung mit dem Drittanbieter enthalten oder als separater Dienst verfügbar sein.

Wenn Sie Ihre eigenen Gerätezertifikate verwalten, müssen Sie eine eigene Pipeline für die Aktualisierung von Zertifikaten erstellen. Stellen Sie sicher, dass sowohl alte als auch neue untergeordnete Zertifikate denselben allgemeinen Namen (Common Name, CN) aufweisen. Durch die Verwendung desselben allgemeinen Namens kann das Gerät sich selbst erneut bereitstellen, ohne einen doppelten Registrierungseintrag zu erstellen.

Die Mechanismen zum Installieren eines neuen Zertifikats auf einem Gerät umfassen häufig einen der folgenden Ansätze:

  • Sie können auslösen, dass betroffene Geräte eine neue Zertifikatsignieranforderung (Certificate Signing Request, CSR) an Ihre PKI-Zertifizierungsstelle (Certificate Authority, CA) senden. In diesem Fall kann jedes Gerät wahrscheinlich sein neues Gerätezertifikat direkt von der Zertifizierungsstelle herunterladen.

  • Sie können eine CSR von jedem Gerät beibehalten und verwenden, um ein neues Gerätezertifikat von der PKI-Zertifizierungsstelle abzurufen. In diesem Fall müssen Sie das neue Zertifikat mithilfe eines sicheren OTA-Updatediensts wie Device Update for IoT Hub in einem Firmwareupdate an jedes Gerät übertragen.

Rollen des Zertifikats in DPS

Das Gerätezertifikat kann einem IoT Hub manuell hinzugefügt werden. Das Zertifikat kann auch mithilfe einer Device Provisioning Service-Instanz automatisiert werden. In diesem Artikel wird davon ausgegangen, dass zur Unterstützung der automatischen Bereitstellung eine Device Provisioning Service-Instanz verwendet wird.

Wenn ein Gerät zunächst mittels automatischer Bereitstellung bereitgestellt wird, wird es gestartet und stellt eine Verbindung mit Provisioning Service her. Provisioning Service antwortet, indem er vor dem Erstellen einer Geräteidentität in einem IoT Hub eine Identitätsüberprüfung ausführt, bei der das untergeordnete Zertifikat des Geräts als Anmeldeinformation verwendet wird. Provisioning Service teilt dem Gerät anschließend mit, welchem IoT Hub es zugewiesen ist. Das Gerät verwendet dann sein untergeordnetes Zertifikat, um sich zu authentifizieren und eine Verbindung mit dem IoT Hub herzustellen.

Sobald ein neues untergeordnetes Zertifikat auf das Gerät gerollt wurde, kann das Gerät keine Verbindung mit dem IoT Hub mehr herstellen, da es ein neues Zertifikat zur Verbindungsherstellung verwendet. Der IoT Hub erkennt nur das Gerät mit dem alten Zertifikat. Der Verbindungsversuch des Geräts führt zu einem Verbindungsfehler vom Typ „nicht autorisiert“. Um diesen Fehler zu beheben, müssen Sie den Registrierungseintrag für das Gerät entsprechend dem neuen untergeordneten Zertifikat des Geräts aktualisieren. Anschließend kann Provisioning Service bei der erneuten Bereitstellung des Geräts die IoT Hub-Geräteregistrierungsinformationen wie erforderlich aktualisieren.

Eine mögliche Ausnahme, bei der dieser Verbindungsfehler nicht auftritt, wäre ein Szenario, in dem Sie eine Registrierungsgruppe für Ihr Gerät in Provisioning Service erstellt haben. Rollen Sie in diesem Fall die Stamm- oder Zwischenzertifikate in der Vertrauenskette des Geräts nicht, wird das Gerät erkannt, sofern das neue Zertifikat Teil der in der Registrierungsgruppe definierten Vertrauenskette ist. Falls dieses Szenario infolge einer Sicherheitsverletzung auftritt, sollten Sie zumindest die von der Sicherheitsverletzung betroffenen Gerätezertifikate in der Gruppe nicht zulassen. Weitere Informationen finden Sie unter "Bestimmte Geräte in einer Registrierungsgruppe nicht zulassen".

Wie Sie den Registrierungseintrag aktualisieren, hängt davon ab, ob Sie individuelle Registrierungen oder Gruppenregistrierungen verwenden. Zudem unterscheiden sich die empfohlenen Verfahren abhängig davon, ob Sie Zertifikate aufgrund einer Sicherheitsverletzung oder aufgrund des Zertifikatablaufs rollen. In den folgenden Abschnitten wird beschrieben, wie Sie diese Aktualisierungen vornehmen.

Rollen von Zertifikaten für einzelne Registrierungen

Wenn Sie Zertifikate als Reaktion auf eine Sicherheitsverletzung einführen, sollten Sie alle kompromittierten Zertifikate sofort löschen.

Wenn Sie Zertifikate für die Verarbeitung von Zertifikatablaufen bereitstellen, sollten Sie die sekundäre Zertifikatkonfiguration verwenden, um ausfallzeiten für Geräte zu reduzieren, die versuchen, es bereitzustellen. Wenn sich das sekundäre Zertifikat später am Ablauf befindet und rolliert werden muss, können Sie mit der primären Konfiguration drehen. Ein solcher Wechsel zwischen primärem und sekundärem Zertifikat reduziert die Downtime für Geräte, die sich bereitzustellen versuchen.

Die Registrierungseinträge für gerollte Zertifikate werden auf der Seite Registrierungen verwalten aktualisiert. Gehen Sie wie folgt vor, um auf diese Seite zuzugreifen:

  1. Melden Sie sich bei der Azure-Portal an, und navigieren Sie zur Device Provisioning Service-Instanz, die den Registrierungseintrag für Ihr Gerät enthält.

  2. Klicken Sie auf Registrierungen verwalten.

    Screenshot that shows the Manage enrollments page in the Azure portal.

  3. Wählen Sie die Registerkarte "Einzelne Registrierungen " und dann den Registrierungs-ID-Eintrag aus der Liste aus.

  4. Aktivieren Sie die Kontrollkästchen "Primäres/sekundäres Zertifikat entfernen oder ersetzen", wenn Sie ein vorhandenes Zertifikat löschen möchten. Wählen Sie das Dateiordnersymbol aus, um nach den neuen Zertifikaten zu suchen und hochzuladen.

    Wenn eines Ihrer Zertifikate kompromittiert wurde, sollten Sie sie so schnell wie möglich entfernen.

    Wenn sich eines Ihrer Zertifikate dem Ablauf nähert, können Sie es beibehalten, solange das zweite Zertifikat nach diesem Datum noch aktiv ist.

    Screenshot that shows how to remove a certificate and upload new ones.

  5. Wählen Sie abschließend Speichern aus.

  6. Wenn Sie ein kompromittiertes Zertifikat aus dem Bereitstellungsdienst entfernt haben, kann das Zertifikat weiterhin verwendet werden, um Geräteverbindungen mit dem IoT-Hub herzustellen, solange dort eine Geräteregistrierung vorhanden ist. Es gibt zwei Vorgehensweisen:

    Die erste Möglichkeit ist das manuelle Navigieren zu Ihrem IoT-Hub und das sofortige Entfernen der Geräteregistrierung, die dem kompromittierten Zertifikat zugeordnet ist. Wenn das Gerät dann mit einem aktualisierten Zertifikat erneut bereitgestellt wird, wird eine neue Geräteregistrierung erstellt.

    Die zweite Möglichkeit ist die Verwendung der Unterstützung für die erneute Bereitstellung, um das Gerät auf demselben IoT-Hub erneut bereitzustellen. Dieser Ansatz kann genutzt werden, um das Zertifikat für die Geräteregistrierung auf dem IoT-Hub zu ersetzen. Weitere Informationen finden Sie unter How to reprovision devices (Erneutes Bereitstellen von Geräten).

Rollen von Zertifikaten für Registrierungsgruppen

Um eine Gruppenregistrierung als Reaktion auf eine Sicherheitsverletzung zu aktualisieren, sollten Sie das kompromittierte Stammzertifizierungsstellen- oder Zwischenzertifikat sofort löschen.

Wenn Sie Zertifikate für die Verarbeitung von Zertifikatablaufen bereitstellen, sollten Sie die sekundäre Zertifikatkonfiguration verwenden, um keine Ausfallzeiten für Geräte sicherzustellen, die versuchen, es bereitzustellen. Wenn sich das sekundäre Zertifikat später auch dem Ablauf nähert und rolliert werden muss, können Sie mit der primären Konfiguration drehen. Ein solcher Wechsel zwischen primärem und sekundärem Zertifikat stellt sicher, dass keine Downtime für Geräte auftritt, die sich bereitzustellen versuchen.

Aktualisieren von Stammzertifizierungsstellenzertifikaten

  1. Wählen Sie im Abschnitt Einstellungen des Navigationsmenüs für Ihre Gerätebereitstellungsdienstinstanz Zertifikateaus.

    Screenshot that shows the certificates page.

  2. Wählen Sie das kompromittierte oder abgelaufene Zertifikat aus der Liste und dann "Löschen" aus. Bestätigen Sie den Löschvorgang, indem Sie den Zertifikatnamen eingeben und "OK" auswählen.

  3. Führen Sie die unter Konfigurieren überprüfter Zertifizierungsstellenzertifikate beschriebenen Schritte aus, um neue Stammzertifizierungsstellenzertifikate hinzuzufügen und zu überprüfen.

  4. Wählen Sie im Abschnitt "Einstellungen" des Navigationsmenüs für Die Instanz des Gerätebereitstellungsdiensts die Option "Registrierungsgruppen verwalten" aus, und wählen Sie die Registerkarte "Registrierungsgruppen" aus.

  5. Wählen Sie ihren Namen der Registrierungsgruppe aus der Liste aus.

  6. Wählen Sie im Abschnitt "X.509-Zertifikateinstellungen " Ihr neues Zertifikat der Stammzertifizierungsstelle aus, um das kompromittierte oder abgelaufene Zertifikat zu ersetzen oder als sekundäres Zertifikat hinzuzufügen.

    Screenshot that shows selecting a new uploaded certificate for an enrollment group.

  7. Wählen Sie Speichern aus.

  8. Wenn Sie ein kompromittiertes Zertifikat aus dem Bereitstellungsdienst entfernt haben, kann das Zertifikat weiterhin verwendet werden, um Geräteverbindungen mit dem IoT-Hub herzustellen, solange dort Geräteregistrierungen vorhanden sind. Es gibt zwei Vorgehensweisen:

    Die erste Möglichkeit wäre, manuell zu Ihrem IoT-Hub zu navigieren und sofort die Geräteregistrierungen zu entfernen, die dem kompromittierten Zertifikat zugeordnet sind. Wenn Ihre Geräte dann mit aktualisierten Zertifikaten erneut bereitgestellt wurden, wird jeweils eine neue Geräteregistrierung erstellt.

    Die zweite Möglichkeit ist die Verwendung der Unterstützung für die erneute Bereitstellung, um Ihre Geräte auf demselben IoT-Hub erneut bereitzustellen. Dieser Ansatz kann verwendet werden, um Zertifikate für Geräteregistrierungen auf dem IoT-Hub zu ersetzen. Weitere Informationen finden Sie unter How to reprovision devices (Erneutes Bereitstellen von Geräten).

Aktualisieren von Zwischenzertifikaten

  1. Wählen Sie im Abschnitt "Einstellungen" des Navigationsmenüs für Die Instanz des Gerätebereitstellungsdiensts die Option "Registrierungsgruppen verwalten" aus, und wählen Sie die Registerkarte "Registrierungsgruppen" aus.

  2. Wählen Sie den Gruppennamen aus der Liste aus.

  3. Aktivieren Sie die Kontrollkästchen "Primäres/sekundäres Zertifikat entfernen oder ersetzen", wenn Sie ein vorhandenes Zertifikat löschen möchten. Wählen Sie das Dateiordnersymbol aus, um nach den neuen Zertifikaten zu suchen und hochzuladen.

    Wenn eines Ihrer Zertifikate kompromittiert wurde, sollten Sie sie so schnell wie möglich entfernen.

    Wenn sich eines Ihrer Zertifikate dem Ablauf nähert, können Sie es beibehalten, solange das zweite Zertifikat nach diesem Datum noch aktiv ist.

    Jedes Zwischenzertifikat sollte durch ein überprüftes Stammzertifizierungsstellenzertifikat signiert werden, das dem Bereitstellungsdienst bereits hinzugefügt wurde. Weitere Informationen finden Sie unter X.509-Zertifikate.

    Screenshot that shows replacing an intermediate certificate for an enrollment group.

  4. Wenn Sie ein kompromittiertes Zertifikat aus dem Bereitstellungsdienst entfernt haben, kann das Zertifikat weiterhin verwendet werden, um Geräteverbindungen mit dem IoT-Hub herzustellen, solange dort Geräteregistrierungen vorhanden sind. Es gibt zwei Vorgehensweisen:

    Die erste Möglichkeit ist das manuelle Navigieren zu Ihrem IoT-Hub und das sofortige Entfernen der Geräteregistrierung, die dem kompromittierten Zertifikat zugeordnet ist. Wenn Ihre Geräte dann mit aktualisierten Zertifikaten erneut bereitgestellt wurden, wird jeweils eine neue Geräteregistrierung erstellt.

    Die zweite Möglichkeit ist die Verwendung der Unterstützung für die erneute Bereitstellung, um Ihre Geräte auf demselben IoT-Hub erneut bereitzustellen. Dieser Ansatz kann verwendet werden, um Zertifikate für Geräteregistrierungen auf dem IoT-Hub zu ersetzen. Weitere Informationen finden Sie unter How to reprovision devices (Erneutes Bereitstellen von Geräten).

Erneutes Bereitstellen des Geräts

Nachdem das Zertifikat auf das Gerät und in Device Provisioning Service gerollt wurde, kann das Gerät sich selbst erneut bereitstellen, indem es eine Verbindung mit Device Provisioning Service herstellt.

Eine einfache Möglichkeit zum Programmieren von Geräten zur erneuten Bereitstellung besteht darin, dass Gerät so zu programmieren, dass es zum Durchführen des Bereitstellungsablaufs eine Verbindung mit Provisioning Service herstellt, wenn es beim Verbindungsversuch mit dem IoT Hub einen Fehler vom Typ „nicht autorisiert“ empfängt.

Eine weitere Möglichkeit besteht darin, sowohl das alte als auch das neue Zertifikat für eine kurze Überlappungsdauer als gültige Zertifikate zu verwenden und mit dem IoT Hub einen Befehl an Geräte zu senden, damit sie sich zum Aktualisieren ihrer IoT Hub-Verbindungsinformationen über Provisioning Service erneut registrieren. Da jedes Gerät Befehle anders verarbeiten kann, müssen Sie Ihr Gerät programmieren, um zu wissen, was sie tun müssen, wenn der Befehl aufgerufen wird. Zum Steuern des Geräts über IoT Hub stehen verschiedene Möglichkeiten zur Verfügung. Wir empfehlen die Verwendung von direkten Methoden oder Aufträgen, um den Prozess zu initiieren.

Nach Abschluss der Bereitstellung können Geräte mithilfe ihrer neuen Zertifikate eine Verbindung mit IoT Hub herstellen.

Verweigern von Zertifikaten

Es kann vorkommen, dass Sie ein Gerätezertifikat als Reaktion auf eine Sicherheitsverletzung verweigern müssen. Um ein Gerätezertifikat nicht zuzulassen, deaktivieren Sie den Registrierungseintrag für das Zielgerät/-zertifikat. Weitere Informationen zum Verweigern von Geräten finden Sie im Artikel Verwalten der Registrierungsaufhebung.

Sobald ein Zertifikat in einem deaktivierten Registrierungseintrag enthalten ist, schlagen alle mit diesem Zertifikat ausgeführten Versuche zur Registrierung bei einem IoT Hub fehl. Dies gilt selbst dann, wenn das Zertifikat in einem anderen Registrierungseintrag aktiviert ist.

Nächste Schritte