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 im IoT Hub

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 Verweigern bestimmter Geräte in einer Registrierungsgruppe.

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 beim Azure-Portal an, und navigieren Sie zu der IoT Hub Device Provisioning Service-Instanz mit dem Registrierungseintrag für Ihr Gerät.

  2. Klicken Sie auf Registrierungen verwalten.

    Manage enrollments

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.

Individuelle Registrierungen und Sicherheitsverletzungen

Wenn Sie Zertifikate als Reaktion auf eine Sicherheitsverletzung rollen, sollten Sie die folgende Methode verwenden, bei der das aktuelle Zertifikat sofort gelöscht wird:

  1. Klicken Sie auf Individuelle Registrierungen, und klicken Sie dann in der Liste auf den Eintrag für die Registrierungs-ID.

  2. Klicken Sie auf die Schaltfläche Delete current certificate (Aktuelles Zertifikat löschen) und anschließend auf das Ordnersymbol, um das neue Zertifikat auszuwählen, das für den Registrierungseintrag hochgeladen werden soll. Klicken Sie abschließend auf Speichern.

    Diese Schritte müssen für das primäre und das sekundäre Zertifikat ausgeführt werden, sofern beide kompromittiert wurden.

    Manage individual enrollments with a security breach

  3. Nachdem das kompromittierte Zertifikat aus dem Provisioning-Dienst entfernt wurde, kann es weiterhin verwendet werden, um Geräteverbindungen mit dem IoT-Hub herzustellen – sofern dort eine Geräteregistrierung dafür 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.

    Remove IoT hub device registration

    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).

Individuelle Registrierungen und Zertifikatablauf

Wenn Sie Zertifikate rollen, weil Zertifikate ablaufen, sollten Sie die Konfiguration des sekundären Zertifikats wie folgt verwenden, um die Downtime für Geräte zu reduzieren, die sich bereitzustellen versuchen.

Wenn später auch das sekundäre Zertifikat bald abläuft und gerollt werden muss, können Sie zur Verwendung der primären Konfiguration wechseln. Ein solcher Wechsel zwischen primärem und sekundärem Zertifikat reduziert die Downtime für Geräte, die sich bereitzustellen versuchen.

  1. Klicken Sie auf Individuelle Registrierungen, und klicken Sie dann in der Liste auf den Eintrag für die Registrierungs-ID.

  2. Klicken Sie auf die Schaltfläche Sekundäres Zertifikat und anschließend auf das Ordnersymbol, um das neue Zertifikat auszuwählen, das für den Registrierungseintrag hochgeladen werden soll. Klicken Sie auf Speichern.

    Manage individual enrollments using the secondary certificate expiration

  3. Später, wenn das primäre Zertifikat abgelaufen ist, kehren Sie zurück, und löschen Sie das primäre Zertifikat, indem Sie auf die Schaltfläche Delete current certificate (Aktuelles Zertifikat löschen) klicken.

Registrierungsgruppen und Sicherheitsverletzungen

Um eine Gruppenregistrierung als Reaktion auf eine Sicherheitsverletzung zu aktualisieren, sollten Sie einen der folgenden Ansätze verwenden, bei denen das aktuelle Stammzertifizierungsstellen- oder Zwischenzertifikat sofort gelöscht wird.

Aktualisieren kompromittierter Stammzertifizierungsstellenzertifikate

  1. Klicken Sie auf die Registerkarte Zertifikate für Ihre Device Provisioning Service-Instanz.

  2. Klicken Sie in der Liste auf das kompromittierte Zertifikat und anschließend auf die Schaltfläche Löschen. Bestätigen Sie den Löschvorgang, indem Sie den Namen des Zertifikats eingeben und auf OK klicken. Wiederholen Sie diesen Vorgang für alle kompromittierten Zertifikate.

    Delete root CA certificate

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

  4. Klicken Sie auf die Registerkarte Registrierungen verwalten für Ihre Device Provisioning Service-Instanz, und klicken Sie dann auf die Liste Registrierungsgruppen. Klicken Sie in der Liste auf den Namen Ihrer Registrierungsgruppe.

  5. Klicken Sie auf Zertifizierungsstellenzertifikat, und wählen Sie das neue Stammzertifizierungsstellenzertifikat aus. Klicken Sie anschließend auf Speichern.

    Select the new root CA certificate for a compromised certificate

  6. Nachdem das kompromittierte Zertifikat aus dem Provisioning-Dienst entfernt wurde, kann es weiterhin verwendet werden, um Geräteverbindungen mit dem IoT-Hub herzustellen – sofern dort Geräteregistrierungen dafür 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.

    Remove IoT hub device registration

    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 kompromittierter Zwischenzertifikate

  1. Klicken Sie auf Registrierungsgruppen, und klicken Sie dann in der Liste auf den Gruppennamen.

  2. Klicken Sie auf Intermediate Certificate (Zwischenzertifikat) und anschließend auf Delete current certificate (Aktuelles Zertifikat löschen). Klicken Sie auf das Ordnersymbol, um zu dem neuen Zwischenzertifikat zu navigieren, das für die Registrierungsgruppe hochgeladen werden soll. Klicken Sie abschließend auf Speichern. Diese Schritte müssen sowohl für das primäre als auch das sekundäre Zertifikat ausgeführt werden, sofern beide kompromittiert wurden.

    Das neue Zwischenzertifikat muss von einem überprüften Stammzertifizierungsstellenzertifikat signiert sein, das bereits in Provisioning Service hinzugefügt wurde. Weitere Informationen finden Sie unter X.509-Zertifikate.

    Manage individual enrollments for a compromised intermediate

  3. Nachdem das kompromittierte Zertifikat aus dem Provisioning-Dienst entfernt wurde, kann es weiterhin verwendet werden, um Geräteverbindungen mit dem IoT-Hub herzustellen – sofern dort Geräteregistrierungen dafür 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.

    Remove IoT hub device registration

    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).

Registrierungsgruppen und Zertifikatablauf

Wenn Sie Zertifikate rollen, weil Zertifikate ablaufen, sollten Sie die Konfiguration des sekundären Zertifikats wie folgt verwenden, um sicherzustellen, dass keine Downtime für Geräte auftritt, die sich bereitzustellen versuchen.

Wenn später auch das sekundäre Zertifikat bald abläuft und gerollt werden muss, können Sie zur Verwendung der primären Konfiguration wechseln. 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 ablaufender Stammzertifizierungsstellenzertifikate

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

  2. Klicken Sie auf die Registerkarte Registrierungen verwalten für Ihre Device Provisioning Service-Instanz, und klicken Sie dann auf die Liste Registrierungsgruppen. Klicken Sie in der Liste auf den Namen Ihrer Registrierungsgruppe.

  3. Klicken Sie auf Zertifizierungsstellenzertifikat, und wählen Sie das neue Stammzertifizierungsstellenzertifikat unter der Konfiguration Sekundäres Zertifikat aus. Klicken Sie anschließend auf Speichern.

    Select the new root CA certificate for expiration

  4. Später, wenn das primäre Zertifikat abgelaufen ist, klicken Sie auf die Registerkarte Zertifikate für Ihre Device Provisioning Service-Instanz. Klicken Sie in der Liste auf das abgelaufene Zertifikat und anschließend auf die Schaltfläche Löschen. Bestätigen Sie den Löschvorgang, indem Sie den Namen des Zertifikats eingeben und auf OK klicken.

    Delete root CA certificate

Aktualisieren ablaufender Zwischenzertifikate

  1. Klicken Sie auf Registrierungsgruppen, und klicken Sie dann in der Liste auf den Gruppennamen.

  2. Klicken Sie auf die Schaltfläche Sekundäres Zertifikat und anschließend auf das Ordnersymbol, um das neue Zertifikat auszuwählen, das für den Registrierungseintrag hochgeladen werden soll. Klicken Sie auf Speichern.

    Das neue Zwischenzertifikat muss von einem überprüften Stammzertifizierungsstellenzertifikat signiert sein, das bereits in Provisioning Service hinzugefügt wurde. Weitere Informationen finden Sie unter X.509-Zertifikate.

    Manage enrollment groups using the secondary certificate expiring

  3. Später, wenn das primäre Zertifikat abgelaufen ist, kehren Sie zurück, und löschen Sie das primäre Zertifikat, indem Sie auf die Schaltfläche Delete current certificate (Aktuelles Zertifikat löschen) klicken.

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 unterschiedlich verarbeiten kann, müssen Sie Ihr Gerät so programmieren, dass es beim Aufrufen des Befehls die richtige Aktion ausführt. 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.

Sobald die erneute Bereitstellung abgeschlossen ist, können Geräte mit ihren neuen Zertifikaten 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