TLS - 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.

TLS

Utilisez ces tests pour déterminer si le protocole de sécurité de la couche transport (TLS) entre vos appareils AWS IoT est sécurisé.

Note

Device Advisor prend désormais en charge TLS 1.3.

Happy Path

Connexion TLS

Valide si le périphérique testé peut effectuer la prise de contact TLS avec. AWS IoT Ce test ne valide pas l'implémentation MQTT de l'appareil client.

Exemple Définition du cas de test de l'API :
Note

EXECUTION_TIMEOUT a une valeur par défaut de 5 minutes. Pour de meilleurs résultats, nous recommandons un délai d'attente de 2 minutes.

"tests":[ { "name":"my_tls_connect_test", "configuration": { // optional: "EXECUTION_TIMEOUT":"300", //in seconds }, "test":{ "id":"TLS_Connect", "version":"0.0.0" } } ]
Exemple Sorties du scénario de test :
  • Réussite — L'appareil testé a terminé la prise de contact TLS avec. AWS IoT

  • Réussir avec des avertissements — L'appareil testé a terminé la prise de contact TLS avec AWS IoT, mais des messages d'avertissement TLS ont été envoyés par l'appareil ou. AWS IoT

  • Échec : le périphérique testé n'a pas réussi à terminer la prise de contact TLS AWS IoT en raison d'une erreur de connexion.

TLS reçoit des fragments de taille maximale

Ce cas de test confirme que votre appareil peut recevoir et traiter des fragments de taille maximale TLS. Votre appareil de test doit s'abonner à une rubrique préconfigurée avec QoS 1 pour recevoir une charge utile importante. Vous pouvez personnaliser la charge utile avec la configuration ${payload}.

Exemple Définition du cas de test de l'API :
Note

EXECUTION_TIMEOUT a une valeur par défaut de 5 minutes. Pour de meilleurs résultats, nous recommandons un délai d'attente de 2 minutes.

"tests":[ { "name":"TLS Receive Maximum Size Fragments", "configuration": { // optional: "EXECUTION_TIMEOUT":"300", //in seconds "PAYLOAD_FORMAT":"{"message":"${payload}"}", // A string with a placeholder ${payload}, or leave it empty to receive a plain string. "TRIGGER_TOPIC": "test_1" // A topic to which a device will subscribe, and to which a test case will publish a large payload. }, "test":{ "id":"TLS_Receive_Maximum_Size_Fragments", "version":"0.0.0" } } ]

Suites de chiffrement

Support des appareils TLS pour les suites de AWS IoT chiffrement recommandées

Vérifie que les suites de chiffrement figurant dans le message Hello du client TLS envoyé par le périphérique testé contiennent les AWS IoT cipher suites.(suites de chiffrement recommandées) Il fournit des informations supplémentaires sur les suites de chiffrement prises en charge par l'appareil.

Exemple Définition du cas de test de l'API :
Note

EXECUTION_TIMEOUT a une valeur par défaut de 5 minutes. Nous recommandons une valeur de délai d'attente de 2 minutes.

"tests":[ { "name":"my_tls_support_aws_iot_cipher_suites_test", "configuration": { // optional: "EXECUTION_TIMEOUT":"300", // in seconds }, "test":{ "id":"TLS_Support_AWS_IoT_Cipher_Suites", "version":"0.0.0" } } ]
Exemple Sorties du scénario de test :
  • Réussite — L'appareil testé contient au moins l'une des suites de AWS IoT chiffrement recommandées et ne contient aucune suite de chiffrement non prise en charge.

  • Passez avec avertissements : les suites de chiffrement de l'appareil contiennent au moins une suite de chiffrement AWS IoT , mais :

    1. Il ne contient aucune des suites de chiffrement recommandées

    2. Il contient des suites de chiffrement qui ne sont pas prises en charge par AWS IoT.

    Nous vous suggérons de vérifier que toutes les suites de chiffrement non prises en charge sont sûres.

  • Échec : le périphérique soumis aux suites de chiffrement testées ne contient aucune des suites de chiffrement AWS IoT prises en charge.

Certificat de serveur de plus grande taille

Certificat de serveur TLS de grande taille

Les validations sur votre appareil peuvent terminer la négociation TLS avec AWS IoT lorsqu'il reçoit et traite un certificat de serveur de plus grande taille. La taille du certificat de serveur (en octets) utilisé par ce test est supérieure de 20 à celle actuellement utilisée dans le cas de test TLS Connect et IoT Core. Au cours de ce scénario de AWS IoT test, testez l'espace tampon de votre appareil pour le TLS. Si l'espace tampon est suffisamment important, la poignée de main TLS se termine sans erreur. Ce test ne valide pas l'implémentation MQTT de l'appareil. Le scénario de test prend fin une fois le processus de handshake TLS terminé.

Exemple Définition du cas de test de l'API :
Note

EXECUTION_TIMEOUT a une valeur par défaut de 5 minutes. Pour de meilleurs résultats, nous recommandons un délai d'attente de 2 minutes. Si ce scénario de test échoue mais que le test TLS Connect réussit, nous vous recommandons d'augmenter la limite d'espace tampon de votre appareil pour le protocole TLS. L'augmentation de la limite d'espace tampon garantit que votre appareil pourra traiter un certificat de serveur de plus grande taille au cas où la taille augmenterait.

"tests":[ { "name":"my_tls_large_size_server_cert_test", "configuration": { // optional: "EXECUTION_TIMEOUT":"300", // in seconds }, "test":{ "id":"TLS_Large_Size_Server_Cert", "version":"0.0.0" } } ]
Exemple Sorties du scénario de test :
  • Réussite — L'appareil testé a terminé la prise de contact TLS avec. AWS IoT

  • Réussissez avec des avertissements — L'appareil testé a terminé la prise de contact TLS avec AWS IoT, mais des messages d'avertissement TLS proviennent soit de l'appareil, soit. AWS IoT

  • Échec : le périphérique testé n'a pas réussi à terminer la prise de contact TLS en AWS IoT raison d'une erreur survenue lors du processus de prise de contact.

Certificat de serveur non sécurisé TLS

Non signé par une autorité de certification reconnue

Confirme que l'appareil testé ferme la connexion s'il est présenté avec un certificat de serveur sans signature valide de l'autorité de certification ATS. Un appareil ne doit se connecter qu'à un point de terminaison présentant un certificat valide.

Exemple Définition du cas de test de l'API :
Note

EXECUTION_TIMEOUT a une valeur par défaut de 5 minutes. Nous recommandons une valeur de délai d'attente de 2 minutes.

"tests":[ { "name":"my_tls_unsecure_server_cert_test", "configuration": { // optional: "EXECUTION_TIMEOUT":"300", //in seconds }, "test":{ "id":"TLS_Unsecure_Server_Cert", "version":"0.0.0" } } ]
Exemple Sorties du scénario de test :
  • Réussite — L'appareil testé a fermé la connexion.

  • Échec — L'appareil testé a terminé la prise de contact TLS avec. AWS IoT

Certificat de serveur du nom de sujet incorrect TLS / Nom commun de sujet (CN) / Nom alternatif du sujet (SAN) incorrect

Valide que l'appareil testé ferme la connexion s'il reçoit un certificat de serveur pour un nom de domaine différent de celui demandé.

Exemple Définition du cas de test de l'API :
Note

EXECUTION_TIMEOUT a une valeur par défaut de 5 minutes. Nous recommandons une valeur de délai d'attente de 2 minutes.

"tests":[ { "name":"my_tls_incorrect_subject_name_cert_test", "configuration": { // optional: "EXECUTION_TIMEOUT":"300", // in seconds }, "test":{ "id":"TLS_Incorrect_Subject_Name_Server_Cert", "version":"0.0.0" } } ]
Exemple Sorties du scénario de test :
  • Réussite — L'appareil testé a fermé la connexion.

  • Échec : l'appareil testé a terminé la prise de contact TLS avec. AWS IoT

Certificat de serveur TLS expiré

Certificat de serveur expiré

Confirme que l'appareil testé ferme la connexion s'il reçoit un certificat de serveur expiré.

Exemple Définition du cas de test de l'API :
Note

EXECUTION_TIMEOUT a une valeur par défaut de 5 minutes. Nous recommandons une valeur de délai d'attente de 2 minutes.

"tests":[ { "name":"my_tls_expired_cert_test", "configuration": { // optional: "EXECUTION_TIMEOUT":"300", //in seconds }, "test":{ "id":"TLS_Expired_Server_Cert", "version":"0.0.0" } } ]
Exemple Sorties du scénario de test :
  • Réussite — L'appareil testé refuse de terminer la prise de contact TLS avec. AWS IoT L'appareil envoie un message d'alerte TLS avant de fermer la connexion.

  • Pass with warnings — L'appareil testé refuse de terminer la prise de contact TLS avec AWS IoT. Cependant, il n'envoie pas de message d'alerte TLS avant de fermer la connexion.

  • Échec : le périphérique testé termine la prise de contact TLS avec. AWS IoT