View a markdown version of this page

Authentification du serveur - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Authentification du serveur

Lorsque votre appareil ou un autre client tente de se connecter à AWS IoT Core, le AWS IoT Core le serveur enverra un X.509 certificat que votre appareil utilise pour authentifier le serveur. L'authentification s'effectue au niveau de la couche TLS par le biais de la validation du X.509 chaîne de certificats. Il s'agit de la même méthode que celle utilisée par votre navigateur lorsque vous visitez une URL HTTPS. Si vous souhaitez utiliser des certificats de votre propre autorité de certification, veuillez consulter Gestion de vos certificats d’autorité de certification.

Lorsque vos appareils ou d'autres clients établissent une connexion TLS à un AWS IoT Core point final, AWS IoT Core présente une chaîne de certificats que les appareils utilisent pour vérifier qu'ils communiquent avec AWS IoT Core et pas un autre serveur se faisant passer pour AWS IoT Core. La chaîne présentée dépend de la combinaison du type de point de terminaison auquel l'appareil se connecte et du suite de chiffrement que le client et AWS IoT Core négocié lors de la poignée de main TLS.

Types de point de terminaison

AWS IoT Core appuis iot:Data-ATS. iot:Data-ATS les points de terminaison présentent un certificat de serveur signé par un Amazon Trust Services CA.

Les certificats présentés par les points de terminaison ATS ont été signés par Starfield (signature croisée). Certaines mises en œuvre de client TLS nécessitent la validation de la racine de confiance et exigent que les certificats d'autorité de certification Starfield soient installés dans les magasins d'approbations du client.

Avertissement

L'utilisation d'une méthode d'épinglage de certificat qui hache l'ensemble du certificat (y compris le nom de l'émetteur, etc.) n'est pas recommandée car cela entraînera l'échec de la vérification du certificat, étant donné que les certificats ATS que nous fournissons sont signés par Starfield (signature croisée) et ont un nom d'émetteur différent.

Important

Utiliser iot:Data-ATS points de terminaison. Les certificats Symantec et Verisign sont devenus obsolètes et ne sont plus pris en charge par AWS IoT Core.

Vous pouvez utiliser la commande describe-endpoint pour créer votre point de terminaison ATS.

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

Cette commande describe-endpoint renvoie un point de terminaison au format suivant.

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

La première fois que la commande describe-endpoint est appelée, un point de terminaison est créé. Tous les appels suivants de describe-endpoint renvoient le même point de terminaison.

Note

Pour voir votre iot:Data-ATS point de terminaison dans le AWS IoT Core console, choisissez Réglages. La console affiche uniquement le point de terminaison iot:Data-ATS.

Création d'un IotDataPlaneClient avec le AWS SDK pour Java

Pour créer un IotDataPlaneClient qui utilise un iot:Data-ATS point de terminaison, vous devez effectuer les opérations suivantes.

  • Créez un iot:Data-ATS point de terminaison à l'aide du DescribeEndpoint API.

  • Spécifiez ce point de terminaison lorsque vous créez le IotDataPlaneClient.

L'exemple suivant exécute ces deux opérations.

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(); }

Certificats d'autorité de certification pour l'authentification du serveur

En fonction du type de terminal de données que vous utilisez et de la suite de chiffrement que vous avez négociée, AWS IoT Core les certificats d'authentification du serveur sont signés par l'un des certificats CA racine suivants :

Points de terminaison Amazon Trust Services (préférés)

Note

Vous devrez peut-être faire un clic droit sur ces liens et sélectionner Enregistrer le lien sous... pour enregistrer ces certificats sous forme de fichiers.

  • Clé RSA 2048 bits : Amazon Root CA 1

  • Clé RSA 4096 bits : Amazon Root CA 2 Réservé pour un usage futur.

  • Clé ECC 256 bits : Amazon Root CA 3

  • Clé ECC 384 bits : Amazon Root CA 4 Réservé pour un usage futur.

Ces certificats sont tous signés (signature croisée) par le certificat d'autorité de certification racine Starfield. Tout nouveau AWS IoT Core régions, à compter du lancement le 9 mai 2018 de AWS IoT Core dans la région Asie-Pacifique (Mumbai), ne diffusez que des certificats ATS.

VeriSign Endpoints (anciens)

Instructions d'authentification du serveur

De nombreuses variables peuvent affecter la capacité d'un appareil à valider le certificat d'authentification du serveur AWS IoT Core . Par exemple, les appareils peuvent être trop limités en mémoire pour contenir tous les certificats d'autorité de certification racine possibles, ou les appareils peuvent mettre en œuvre une méthode non standard de validation de certificat. Pour ces raisons, nous suggérons de suivre les instructions suivantes :

  • Nous vous recommandons d'utiliser votre point de terminaison ATS et d'installer tous les certificats Amazon Root CA pris en charge.

  • Si vous ne pouvez pas stocker tous ces certificats sur votre appareil et si vos appareils n'utilisent pas ECC-based validation, vous pouvez omettre le Amazon Root CA 3 et Amazon Root CA 4 Certificats ECC. Si vos appareils ne sont pas implémentés RSA-based validation du certificat, vous pouvez omettre Amazon Root CA 1 et Amazon Root CA 2 Certificats RSA. Vous devrez peut-être faire un clic droit sur ces liens et sélectionner Enregistrer le lien sous... pour enregistrer ces certificats sous forme de fichiers.

  • Si vous rencontrez des problèmes de validation de certificat de serveur lorsque vous vous connectez à votre point de terminaison ATS, essayez d'ajouter le certificat d'autorité de certification racine Amazon à signature croisée pertinent à votre magasin d'approbations. Vous devrez peut-être faire un clic droit sur ces liens et sélectionner Enregistrer le lien sous... pour enregistrer ces certificats sous forme de fichiers.

  • Si vous rencontrez des problèmes de validation de certificat de serveur, votre appareil devra peut-être explicitement approuver l'autorité de certification racine. Essayez d'ajouter Starfield Root CA Certificate à votre boutique de confiance.

  • Si vous rencontrez toujours des problèmes après avoir exécuté les étapes ci-dessus, contactez AWS l’assistance aux développeurs.

Note

Les certificats CA ne peuvent pas être utilisés au-delà de leur date d'expiration pour valider un certificat de serveur. Les certificats CA peuvent devoir être remplacés avant leur date d'expiration. Vérifiez que vous pouvez mettre à jour les certificats d’autorité de certification racine sur tous vos appareils ou vos clients afin d'assurer une connectivité permanente et la conformité aux bonnes pratiques de sécurité du moment.

Note

Lors de la connexion à AWS IoT Core dans le code de votre appareil, transmettez le certificat à l'API que vous utilisez pour vous connecter. L'API que vous utilisez varie selon le kit SDK. Pour de plus amples informations, veuillez consulter Kits SDK pour les appareils AWS IoT Core.