Abrufen und Bereitstellen von Zertifikaten für EAP-TLS-Netzwerke

Bevor ein Azure Sphere-Gerät eine Verbindung mit einem EAP-TLS-Netzwerk herstellen kann, muss es über ein Clientzertifikat verfügen, das der RADIUS-Server zum Authentifizieren des Geräts verwenden kann. Wenn Ihr Netzwerk eine gegenseitige Authentifizierung erfordert, muss jedes Gerät auch über ein Zertifikat der Stammzertifizierungsstelle verfügen, damit es den RADIUS-Server authentifizieren kann.

Wie Sie diese Zertifikate erwerben und bereitstellen, hängt von den Netzwerkressourcen ab, die für Ihre Geräte verfügbar sind.

  • Wenn das EAP-TLS-Netzwerk das einzige verfügbare Netzwerk ist, müssen Sie die Zertifikate manuell bereitstellen.
  • Wenn eine andere Form von Netzwerk verfügbar ist, z. B. ein offenes Netzwerk, können Sie einen "Bootstrap"-Ansatz verwenden. Beim Bootstrapping-Ansatz ruft eine allgemeine Azure Sphere-Anwendung die Zertifikate aus dem offenen Netzwerk ab und verwendet sie dann, um eine Verbindung mit dem EAP-TLS-Netzwerk herzustellen.

Vorsicht

Da Zertifikat-IDs systemweit sind, kann ein az sphere-Befehl oder ein Funktionsaufruf, der ein neues Zertifikat hinzufügt, ein Zertifikat überschreiben, das von einem früheren Befehl oder Funktionsaufruf hinzugefügt wurde, was zu Netzwerkverbindungsfehlern führen kann. Es wird dringend empfohlen, eindeutige Prozeduren für die Zertifikataktualisierung zu entwickeln und Zertifikat-IDs sorgfältig auszuwählen. Weitere Informationen finden Sie unter Zertifikat-IDs .

Manuelle Bereitstellung

Wenn das EAP-TLS-Netzwerk das einzige Netzwerk ist, das für Ihre Geräte verfügbar ist, müssen Sie die Zertifikate manuell bereitstellen. Die manuelle Bereitstellung umfasst das Abrufen der Zertifikate über einen Netzwerk-PC oder Linux-Computer und das anschließende Laden der Zertifikate auf jedes Azure Sphere-Gerät mithilfe der Azure Sphere-CLI. Dieser Ansatz erfordert eine physische Verbindung zwischen dem PC oder Linux-Computer und dem Azure Sphere-Gerät.

Manuelles Abrufen der Zertifikate

Die Stammzertifizierungsstelle und die Clientzertifikate müssen sich im befinden. PEM-Format, das auf das Azure Sphere-Gerät geladen werden soll. Sie müssen das Zertifikat der Stammzertifizierungsstelle vom entsprechenden Server zusammen mit dem Clientzertifikat und dem privaten Schlüssel (und optional einem Kennwort für Ihren privaten Schlüssel) für Ihr Gerät abrufen. Jedes Zertifikat muss vom entsprechenden Server in Ihrem EAP-TLS-Netzwerk generiert und signiert werden. Ihr Netzwerkadministrator oder Sicherheitsteam kann die Details angeben, die Sie zum Abrufen der Zertifikate benötigen.

Speichern Sie die Zertifikate im . PEM-Format auf Ihrem PC oder Linux-Computer, und verwenden Sie dann die Azure Sphere CLI, um sie auf dem Azure Sphere-Gerät zu speichern.

Speichern der Zertifikate mithilfe der CLI

Fügen Sie das Azure Sphere-Gerät an Ihren Netzwerk-PC oder Linux-Computer an, und verwenden Sie den Befehl az sphere, um die Zertifikate auf dem Gerät zu speichern.

So speichern Sie das Zertifikat der Stammzertifizierungsstelle auf dem Azure Sphere-Gerät:

az sphere device certificate add --certificate "server-key-xyz" --cert-type rootca --public-key-file <filepath_to_server_ca_public.pem>

So speichern Sie das Clientzertifikat auf dem Azure Sphere-Gerät:

az sphere device certificate add --certificate "client-key-abc" --cert-type client --public-key-file <filepath_to_client_public.pem> --private-key-file <filepath_to_client_private.pem> --private-key-password "_password_"

Bootstrap-Bereitstellung

Um Azure Sphere-Geräte in einer großen Anzahl oder an vielen Standorten zu verbinden, sollten Sie einen Bootstrap-Ansatz verwenden. Um diese Methode verwenden zu können, müssen Ihre Geräte in der Lage sein, eine Verbindung mit einem Netzwerk herzustellen, über das sie auf einen Server zugreifen können, der die Zertifikate bereitstellen kann. Ihre allgemeine Azure Sphere-Anwendung stellt über das verfügbare Netzwerk eine Verbindung mit dem Server her, fordert die Zertifikate an und speichert sie auf dem Gerät.

In der folgenden Abbildung wird dieser Vorgang zusammengefasst.

Zertifikatfluss während der Bootstrap-Bereitstellung

  1. Die Anwendung auf dem Azure Sphere-Gerät stellt eine Verbindung mit dem offenen Netzwerk her und kontaktiert den Azure Sphere-Sicherheitsdienst, um das DAA-Zertifikat zu erhalten. Anschließend wird das DAA-Zertifikat auf dem Gerät installiert. Das Gerät sollte dieses Zertifikat verwenden, um sich beim Zertifikatausstellerdienst zu authentifizieren.

  2. Die Anwendung stellt als Nächstes eine Verbindung mit dem Zertifikatausstellerdienst her, den der Netzwerkadministrator festgelegt hat. Es stellt sein DAA-Zertifikat vor, um seine Identität mit dem Server zu überprüfen, und fordert das Stammzertifizierungsstellenzertifikat für den RADIUS-Server im EAP-TLS-Netzwerk zusammen mit dem Clientzertifikat und dem privaten Schlüssel an. Der Dienst übergibt ggf. weitere Informationen an die Anwendung, z. B. die Clientidentität und das Kennwort für den privaten Schlüssel. Die Anwendung installiert dann das Clientzertifikat, den privaten Clientschlüssel und das Zertifikat der Stammzertifizierungsstelle auf dem Gerät. Anschließend kann die Verbindung mit dem geöffneten Netzwerk getrennt werden.

  3. Die Anwendung konfiguriert und aktiviert das EAP-TLS-Netzwerk. Es stellt das Clientzertifikat und den privaten Schlüssel bereit, um die Identität des Geräts nachzuweisen. Wenn das Netzwerk die gegenseitige Authentifizierung unterstützt, authentifiziert die Anwendung auch den RADIUS-Server mithilfe des Zertifikats der Stammzertifizierungsstelle.

Authentifizieren des Geräts und Abrufen des Clientzertifikats während des Bootstrappings

Ein Azure Sphere-Gerät kann sein DAA-Zertifikat (Device Authentication and Attestation) verwenden, um sich bei einem Dienst zu authentifizieren, der die anderen erforderlichen Zertifikate bereitstellen kann. Das DAA-Zertifikat ist über den Azure Sphere-Sicherheitsdienst verfügbar.

So rufen Sie das DAA-Zertifikat ab:

  1. Geben Sie die Mandanten-ID von Azure Sphere (Legacy) im Abschnitt DeviceAuthentication des Anwendungsmanifests für die allgemeine Anwendung an.
  2. Rufen Sie DeviceAuth_CurlSslFunc aus der allgemeinen Anwendung auf, um die Zertifikatkette für den aktuellen Azure Sphere-Katalog abzurufen.

Wenn das Anwendungsmanifest die Mandanten-ID von Azure Sphere (Legacy) für das aktuelle Gerät enthält, verwendet die funktion DeviceAuth_CurlSslFunc die DAA-Clientzertifikatkette für die Authentifizierung, wenn der Zieldienst die gegenseitige TLS-Authentifizierung erfordert.

Abrufen des Stammzertifizierungsstellenzertifikats für den RADIUS-Server

Zum Abrufen des Stammzertifizierungsstellenzertifikats für den RADIUS-Server stellt die Anwendung eine Verbindung mit einem Zertifikatserverendpunkt her, auf den über ihr Netzwerk zugegriffen werden kann, und kann das Zertifikat bereitstellen. Ihr Netzwerkadministrator sollte Informationen zum Herstellen einer Verbindung mit dem Endpunkt und zum Abrufen des Zertifikats bereitstellen können.

Installieren der Zertifikate mithilfe der CertStore-API

Die Anwendung verwendet die CertStore-API , um die Zertifikate auf dem Gerät zu installieren. Die CertStore_InstallClientCertificate-Funktion installiert das Clientzertifikat und CertStore_InstallRootCACertificate das Zertifikat der Stammzertifizierungsstelle für den RADIUS-Server. Verwalten von Zertifikaten in allgemeinen Anwendungen bietet zusätzliche Informationen zur Verwendung der CertStore-API für die Zertifikatverwaltung.

Die Beispielanwendung Zertifikate zeigt, wie eine Anwendung diese Funktionen verwenden kann.