Serverauthentifizierung - AWS IoT Core

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Serverauthentifizierung

Wenn Ihr Gerät oder ein anderer Client versucht, eine Verbindung herzustellen AWS IoT Core, sendet der AWS IoT Core Server ein X.509-Zertifikat, das Ihr Gerät zur Authentifizierung des Servers verwendet. Die Authentifizierung erfolgt auf der TLS-Ebene durch die Validierung der X.509-Zertifikatskette. Dies ist dieselbe Methode, die Ihr Browser verwendet, wenn Sie eine HTTPS-URL besuchen. Informationen zum Verwenden von Zertifikaten von Ihrer eigenen Zertifizierungsstelle finden Sie unter Verwalten eigener CA-Zertifikate.

Wenn Ihre Geräte oder andere Clients eine TLS-Verbindung zu einem AWS IoT Core Endpunkt aufbauen, wird eine Zertifikatskette AWS IoT Core angezeigt, anhand derer die Geräte überprüfen, ob sie mit einem anderen Server kommunizieren AWS IoT Core und nicht, der sich als ein anderer Server ausgibt. AWS IoT Core Welche Kette angezeigt wird, hängt von einer Kombination aus dem Endpunkttyp, zu dem das Gerät eine Verbindung herstellt, und der Cipher Suite ab, die der Client und die während des TLS-Handshakes AWS IoT Core ausgehandelt haben.

Endpunkttypen

AWS IoT Core unterstützt zwei verschiedene Datenendpunkttypen, und. iot:Data iot:Data-ATS iot:DataEndgeräte verfügen über ein Zertifikat, das mit dem Public Primary G5-Root-CA-Zertifikat der VeriSign Klasse 3 signiert ist. iot:Data-ATSEndgeräte legen ein Serverzertifikat vor, das von einer Amazon Trust Services-Zertifizierungsstelle signiert wurde.

Zertifikate, die von ATS-Endpunkten vorgewiesen werden, sind von Starfield gegensigniert. Einige TLS-Client-Implementierungen erfordern die Überprüfung der Vertrauenswürdigkeit und die Installation der Starfield CA-Zertifikate in den Vertrauensspeichern des Clients.

Warnung

Die Verwendung einer Zertifikat-Pinning-Methode, die das gesamte Zertifikat (einschließlich des Ausstellernamens usw.) hasht, wird nicht empfohlen, da dies zum Scheitern der Zertifikatsprüfung führt, da die von uns bereitgestellten ATS-Zertifikate von Starfield gegensigniert sind und einen anderen Ausstellernamen haben.

Wichtig

Verwenden Sie iot:Data-ATS-Endgeräte, es sei denn, Ihr Gerät benötigt Symantec- oder Verisign-CA-Zertifikate. Symantec- und Verisign-Zertifikate sind veraltet und werden von den meisten Webbrowsern nicht mehr unterstützt.

Sie können den Befehl describe-endpoint verwenden, um Ihren ATS-Endpunkt zu erstellen.

aws iot describe-endpoint --endpoint-type iot:Data-ATS

Der Befehl describe-endpoint gibt einen Endpunkt im folgenden Format zurück.

account-specific-prefix.iot.your-region.amazonaws.com
Anmerkung

Beim ersten Aufruf von describe-endpoint wird ein Endpunkt erstellt. Alle nachfolgenden Aufrufe von describe-endpoint geben den gleichen Endpunkt zurück.

Aus Gründen der Abwärtskompatibilität werden Symantec-Endgeräte AWS IoT Core weiterhin unterstützt. Weitere Informationen finden Sie unter Wie AWS IoT Core Kunden hilft, das wachsende Misstrauen gegenüber Symantec-Zertifizierungsstellen zu überwinden. Geräte, die auf ATS-Endgeräten betrieben werden, sind vollständig interoperabel mit Geräten, die auf Symantec-Endgeräten im selben Konto betrieben werden, und erfordern keine erneute Registrierung.

Anmerkung

Um Ihren iot:Data-ATS Endpunkt in der Konsole zu sehen, wählen Sie Einstellungen AWS IoT Core . Die Konsole zeigt nur den iot:Data-ATS-Endpunkt an. Aus Gründen der Abwärtskompatibilität zeigt der Befehl describe-endpoint standardmäßig den iot:Data-Endpunkt an. Um den iot:Data-ATS-Endpunkt anzuzeigen, geben Sie wie im vorherigen Beispiel den Parameter --endpointType an.

Erstellen eines IotDataPlaneClient mit dem AWS SDK for Java

Standardmäßig erstellt das AWS -SDK für Java - Version 2 ein IotDataPlaneClient mithilfe eines iot:Data-Endpunkts. Um einen Client zu erstellen, der einen iot:Data-ATS-Endpunkt verwendet, müssen Sie die folgenden Schritte ausführen:

  • Erstellen Sie einen iot:Data-ATS Endpunkt mithilfe der DescribeEndpointAPI.

  • Geben Sie diesen Endpunkt an, wenn Sie den IotDataPlaneClient erstellen.

Im folgenden Beispiel werden beide Operationen ausgeführt.

public void setup() throws Exception { IotClient client = IotClient.builder().credentialsProvider(CREDENTIALS_PROVIDER_CHAIN).region(Region.US_EAST_1).build(); String endpoint = client.describeEndpoint(r -> r.endpointType("iot:Data-ATS")).endpointAddress(); iot = IotDataPlaneClient.builder() .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) .endpointOverride(URI.create("https://" + endpoint)) .region(Region.US_EAST_1) .build(); }

CA-Zertifikate für die Serverauthentifizierung

Je nachdem, welchen Typ von Datenendpunkt Sie verwenden und welche Verschlüsselungssuite Sie ausgehandelt haben, werden AWS IoT Core Serverauthentifizierungszertifikate mit einem der folgenden Root-CA-Zertifikate signiert:

Amazon Trust Services-Endpunkte (bevorzugt)

Anmerkung

Möglicherweise müssen Sie mit der rechten Maustaste auf diese Links klicken und Link speichern unter... auswählen, um diese Zertifikate als Dateien zu speichern.

  • RSA 2048-Bit-Schlüssel: Amazon Root CA 1.

  • RSA 4096-Bit-Schlüssel: Amazon Root CA 2. Für die spätere Verwendung reserviert.

  • ECC-256-Bit-Schlüssel: Amazon Root CA 3.

  • ECC-384-Bit-Schlüssel: Amazon Root CA 4. Für die spätere Verwendung reserviert.

Diese Zertifikate werden alle durch das Starfield Root CA-Zertifikat signiert. Alle neuen AWS IoT Core Regionen, beginnend mit der Markteinführung von AWS IoT Core in der Region Asien-Pazifik (Mumbai) am 9. Mai 2018, bieten ausschließlich ATS-Zertifikate an.

VeriSign Endgeräte (veraltet)

Richtlinien für die Serverauthentifizierung

Es gibt viele Variablen, die die Fähigkeit eines Geräts zur Überprüfung des AWS IoT Core -Server-Authentifizierungszertifikats beeinflussen können. So können beispielsweise Geräte zu speicherbeschränkt sein, um alle möglichen Root-CA-Zertifikate aufzunehmen, oder Geräte können eine nicht standardmäßige Methode der Zertifikatsvalidierung implementieren. Aus diesen Gründen empfehlen wir, diese Richtlinien zu befolgen:

  • Wir empfehlen, dass Sie Ihren ATS-Endpunkt verwenden und alle unterstützten Amazon Root CA-Zertifikate installieren.

  • Wenn Sie nicht alle diese Zertifikate auf Ihrem Gerät speichern können und wenn Ihre Geräte keine ECC-basierte Validierung verwenden, können Sie die ECC-Zertifikate Amazon Root CA 3 und Amazon Root CA 4 weglassen. Wenn Ihre Geräte keine RSA-basierte Zertifikatsvalidierung implementieren, können Sie die RSA-Zertifikate Amazon Root CA 1 und Amazon Root CA 2 weglassen. Möglicherweise müssen Sie mit der rechten Maustaste auf diese Links klicken und Link speichern unter... auswählen, um diese Zertifikate als Dateien zu speichern.

  • Wenn bei der Verbindung mit Ihrem ATS-Endpunkt Probleme bei der Validierung von Serverzertifikaten auftreten, versuchen Sie, das entsprechende signierte Amazon Root CA-Zertifikat in Ihrem Vertrauensspeicher hinzuzufügen. Möglicherweise müssen Sie mit der rechten Maustaste auf diese Links klicken und Link speichern unter... auswählen, um diese Zertifikate als Dateien zu speichern.

  • Wenn bei der Validierung von Serverzertifikaten Probleme auftreten, muss Ihr Gerät möglicherweise explizit der Stammzertifizierungsstelle vertrauen. Versuchen Sie, das Starfield Root CA Certificate zu Ihrem Trust Store hinzuzufügen.

  • Wenn nach der Ausführung der obigen Schritte immer noch Probleme auftreten, wenden Sie sich bitte an den AWS -Developer Support.

Anmerkung

CA-Zertifikate haben ein Ablaufdatum, nach dem sie nicht mehr zur Validierung eines Serverzertifikats verwendet werden können. Es kann sein, dass CA-Zertifikate vor ihrem Ablaufdatum ersetzt werden müssen. Stellen Sie sicher, dass Sie die CA-Stammzertifikate auf all Ihren Geräten oder Clients aktualisieren können, um eine ununterbrochene Verbindung sicherzustellen und bei bewährten Sicherheitsmethoden stets auf dem aktuellen Stand zu sein.

Anmerkung

Wenn Sie AWS IoT Core in Ihrem Gerätecode eine Verbindung herstellen, übergeben Sie das Zertifikat an die API, die Sie für die Verbindung verwenden. Die von Ihnen verwendete API hängt vom SDK ab. Weitere Informationen finden Sie im Abschnitt zu AWS IoT Core -Geräte-SDKs.