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.
Rollieren eines 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 Verweigern bestimmter Geräte in einer Registrierungsgruppe.
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 rollieren, da Zertifikate ablaufen, sollten Sie die Konfiguration des sekundären Zertifikats wie folgt verwenden, um die Downtime für Geräte zu reduzieren, die bereitgestellt werden sollen. Wenn zu einem späteren Zeitpunkt das sekundäre Zertifikat bald abläuft und rolliert 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.
Die Registrierungseinträge für gerollte Zertifikate werden auf der Seite Registrierungen verwalten aktualisiert. Gehen Sie wie folgt vor, um auf diese Seite zuzugreifen:
Melden Sie sich beim Azure-Portal an, und navigieren Sie zu der Device Provisioning Service-Instanz mit dem Registrierungseintrag für Ihr Gerät.
Klicken Sie auf Registrierungen verwalten.
Wählen Sie die Registerkarte Einzelne Registrierungen und dann den Registrierungs-ID-Eintrag aus der Liste aus.
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 eines Ihrer Zertifikate demnächst abläuft, können Sie es beibehalten, solange das zweite Zertifikat nach diesem Datum noch aktiv ist.
Wählen Sie abschließend Speichern aus.
Wenn Sie das kompromittierte Zertifikat aus DPS entfernt haben, kann es weiterhin verwendet werden, um Geräteverbindungen mit dem IoT-Hub herzustellen – sofern dort eine zugehörige 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 rollen, weil Zertifikate ablaufen, sollten Sie die Konfiguration des sekundären Zertifikats 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 von Stammzertifizierungsstellenzertifikaten
Wählen Sie Zertifikate im Abschnitt Einstellungen des Navigationsmenüs für Ihre DPS-Instanz aus.
Wählen Sie das kompromittierte oder abgelaufene Zertifikat aus der Liste und dann Löschen aus. Bestätigen Sie die Löschung, indem Sie den Namen des Zertifikats eingeben und OK auswählen.
Führen Sie die unter Konfigurieren überprüfter Zertifizierungsstellenzertifikate beschriebenen Schritte aus, um neue Stammzertifizierungsstellenzertifikate hinzuzufügen und zu überprüfen.
Wählen Sie Registrierungen verwalten im Abschnitt Einstellungen des Navigationsmenüs für Ihre DPS-Instanz und dann die Registerkarte Registrierungsgruppen aus.
Wählen Sie den Namen Ihrer Registrierungsgruppe in der Liste aus.
Wählen Sie im Abschnitt X.509-Zertifikateinstellungen Ihr neues Stammzertifizierungsstellenzertifikat aus, um das kompromittierte oder abgelaufene Zertifikat zu ersetzen oder als sekundäres Zertifikat hinzuzufügen.
Wählen Sie Speichern.
Wenn Sie das kompromittierte Zertifikat aus DPS entfernt haben, kann es weiterhin verwendet werden, um Geräteverbindungen mit dem IoT-Hub herzustellen – sofern dort zugehörige Geräteregistrierungen vorhanden sind. Es gibt zwei Vorgehensweisen:
Die erste Möglichkeit ist das manuelle Navigieren zu Ihrem IoT-Hub und das sofortige Entfernen von Geräteregistrierungen, 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
Wählen Sie Registrierungen verwalten im Abschnitt Einstellungen des Navigationsmenüs für Ihre DPS-Instanz und dann die Registerkarte Registrierungsgruppen aus.
Wählen Sie den Gruppennamen in der Liste aus.
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 eines Ihrer Zertifikate demnächst abläuft, können Sie es beibehalten, solange das zweite Zertifikat nach diesem Datum noch aktiv ist.
Jedes 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.
Wenn Sie das kompromittierte Zertifikat aus DPS entfernt haben, kann es weiterhin verwendet werden, um Geräteverbindungen mit dem IoT-Hub herzustellen – sofern dort zugehörige 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 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.
Nachdem 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
- Weitere Informationen zu X.509-Zertifikaten in Device Provisioning Service finden Sie unter X.509-Zertifikatnachweis.
- Informationen zum Ausführen eines Eigentumsnachweises für X.509-Stammzertifizierungsstellenzertifikate mit Azure IoT Hub Device Provisioning Service finden Sie unter Überprüfen von Zertifikaten.
- Weitere Informationen zum Erstellen einer Registrierungsgruppe mit dem Portal finden Sie unter Verwalten von Geräteregistrierungen mit dem Azure-Portal.