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 serveur envoie un certificat X.509 que votre appareil utilise pour authentifier le serveur. L'authentification a lieu au niveau de la couche TLS par le biais de la validation de la chaîne du certificat X.509. 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 avec un point de AWS IoT Core terminaison, AWS IoT Core présente une chaîne de certificats que les appareils utilisent pour vérifier qu'ils communiquent avec eux AWS IoT Core et qu'aucun autre serveur ne se fait passer AWS IoT Core pour un autre serveur. La chaîne présentée dépend de la combinaison du type de point de terminaison auquel l'appareil se connecte et de la suite de chiffrement AWS IoT Core négociée par le client lors de la prise de contact TLS.

Types de point de terminaison

AWS IoT Core prend en charge deux types de points de terminaison de données différents, iot:Data etiot:Data-ATS. iot:Datales points de terminaison présentent un certificat signé par le certificat de l'autorité de certification racine G5 publique principale de VeriSign classe 3. iot:Data-ATSles points de terminaison présentent un certificat de serveur signé par une autorité de certification Amazon Trust Services.

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

Utilisez des points de terminaison iot:Data-ATS, sauf si votre appareil nécessite des certificats CA Symantec ou Verisign. Les certificats Symantec et Verisign sont obsolètes et ne sont plus pris en charge par la plupart des navigateurs Web.

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.

Pour des raisons de rétrocompatibilité, il est AWS IoT Core toujours compatible avec les terminaux Symantec. Pour de plus amples informations, veuillez consulter l'article de blog How AWS IoT Core is Helping Customers Navigate the Upcoming Distrust of Symantec Certificate Authorities. Les appareils fonctionnant sur les points de terminaison ATS sont entièrement compatibles avec les appareils fonctionnant sur les points de terminaison Symantec dans le même compte et ne nécessitent pas de réenregistrement.

Note

Pour afficher votre iot:Data-ATS point de terminaison dans la AWS IoT Core console, choisissez Paramètres. La console affiche uniquement le point de terminaison iot:Data-ATS. Par défaut, la commande describe-endpointaffiche le point de terminaison iot:Data pour une compatibilité descendante. Pour afficher le point de terminaison iot:Data-ATS, spécifiez le paramètre --endpointType, comme dans l'exemple précédent.

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

Par défaut, le SDK AWS pour Java - Version 2 crée un IotDataPlaneClient à l’aide d’un point de terminaison iot:Data. Pour créer un client qui utilise un point de terminaison iot:Data-ATS, procédez comme suit.

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

  • 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

Selon le type de point de terminaison de données que vous utilisez et la suite de chiffrement que vous avez négociée, les certificats d'authentification AWS IoT Core du serveur sont signés par l'un des certificats d'autorité de certification 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. Toutes les nouvelles AWS IoT Core régions, à compter du lancement de AWS IoT Core la région Asie-Pacifique (Mumbai) le 9 mai 2018, ne proposent que des certificats ATS.

VeriSign Points de terminaison (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 la validation basée sur ECC, vous pouvez omettre les certificats Amazon Root CA 3 et Amazon Root CA 4 ECC. Si vos appareils ne mettent pas en œuvre la validation de certificats basée sur RSA, vous pouvez omettre les certificats RSA Amazon Root CA 1 et Amazon Root CA 2. 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

Lorsque vous vous connectez AWS IoT Core au 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.