Autenticación del servidor - AWS IoT Core

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Autenticación del servidor

Cuando su dispositivo u otro cliente intente conectarse AWS IoT Core, el AWS IoT Core servidor enviará un certificado X.509 que su dispositivo utilizará para autenticar el servidor. La autenticación se lleva a cabo en la capa TLS mediante la validación de la cadena de certificados X.509. Este es el mismo método que utiliza el navegador cuando visita una URL HTTPS. Si desea utilizar certificados de su propia autoridad de certificación, consulte Administración de sus certificados de entidad de certificación.

Cuando sus dispositivos u otros clientes establecen una conexión TLS con un AWS IoT Core terminal, AWS IoT Core presenta una cadena de certificados que los dispositivos utilizan para comprobar que se están comunicando con otro servidor AWS IoT Core y no con otro servidor que se hace pasar por él. AWS IoT Core La cadena que se presenta depende de una combinación del tipo de terminal al que se conecta el dispositivo y del conjunto de cifrado que el cliente y el cliente AWS IoT Core negociaron durante el protocolo de enlace TLS.

Tipo de punto de conexión

AWS IoT Core admite dos tipos de puntos finales de datos diferentes y. iot:Data iot:Data-ATS iot:Datalos puntos finales presentan un certificado firmado por el certificado de CA raíz G5 pública primaria de VeriSign clase 3. iot:Data-ATSlos puntos finales presentan un certificado de servidor firmado por una CA de Amazon Trust Services.

Los certificados presentados por los puntos de conexión de ATS están firmados por Starfield. Algunas implementaciones de cliente TLS requieren la validación de la raíz de confianza y requieren que los certificados de CA de Starfield estén instalados en los almacenes de confianza del cliente.

aviso

No se recomienda utilizar un método de fijación de certificados que aplica hash en todo el certificado (incluido el nombre del emisor, etc.) porque esto provocará un error en la verificación del certificado porque los certificados ATS que proporcionamos están firmados de forma cruzada por Starfield y tienen un nombre de emisor diferente.

importante

Use puntos de conexión iot:Data-ATS a menos que su dispositivo requiera certificados de CA de Symantec o Verisign. Los certificados de Symantec y Verisign han quedado obsoletos y ya no son compatibles con la mayoría de los navegadores web.

Puede utilizar el comando describe-endpoint para crear el punto de conexión de ATS.

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

El comando describe-endpoint devuelve un punto de conexión en el formato siguiente.

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

La primera vez que se llama a describe-endpoint, se crea un punto de conexión. Todas las llamadas posteriores a describe-endpoint devuelven el mismo punto de conexión.

Por motivos de compatibilidad con versiones anteriores, AWS IoT Core sigue siendo compatible con los puntos finales de Symantec. Para obtener más información, consulte How AWS IoT Core is Helping Customers Navigate the Upcoming Distrust of Symantec Certificate Authorities. Los dispositivos que funcionan en los puntos de conexión de ATS son totalmente interoperables con los dispositivos que funcionan en los puntos de conexión de Symantec en la misma cuenta y no es necesario volver a registrarlos.

nota

Para ver su iot:Data-ATS terminal en la consola, seleccione Configuración. AWS IoT Core La consola solo muestra el punto de conexión iot:Data-ATS. De forma predeterminada, el comando describe-endpoint muestra el punto de conexión iot:Data para garantizar la compatibilidad con versiones anteriores. Para ver el punto de conexión iot:Data-ATS, especifique el parámetro --endpointType como en el ejemplo anterior.

Crear un IotDataPlaneClient con el AWS SDK para Java

De forma predeterminada, el AWS SDK para Java - Versión 2 crea un IotDataPlaneClient utilizando un punto de conexión iot:Data. Para crear un cliente que utilice un punto de conexión iot:Data-ATS, debe hacer lo siguiente.

  • Cree un iot:Data-ATS punto final mediante la DescribeEndpointAPI.

  • Especifique ese punto de conexión al crear el IotDataPlaneClient.

En el ejemplo siguiente se realizan ambas operaciones.

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

Certificados de entidad de certificación para autenticación de servidor

Según el tipo de punto final de datos que utilice y el conjunto de cifrado que haya negociado, los certificados de autenticación AWS IoT Core del servidor se firman con uno de los siguientes certificados de CA raíz:

Puntos de enlace de Amazon Trust Services (preferidos)

nota

Es posible que tenga que hacer clic con el botón derecho en estos enlaces y seleccionar Guardar enlace como... para guardar estos certificados como archivos.

  • Clave RSA de 2048 bits: Amazon Root CA 1.

  • Clave RSA de 4096 bits: Amazon Root CA 2. Reservado para uso futuro.

  • Clave ECC de 256 bits: Amazon Root CA 3.

  • Clave ECC de 384 bits: Amazon Root CA 4. Reservado para uso futuro.

Todos estos certificados tienen firma cruzada del Certificado Starfield Root CA. Todas AWS IoT Core las nuevas regiones, a partir del lanzamiento del 9 de mayo de 2018 AWS IoT Core en la región de Asia Pacífico (Bombay), solo ofrecen certificados ATS.

VeriSign Endpoints (heredado)

Directrices de autenticación de servidores

Hay muchas variables que pueden afectar a la capacidad de un dispositivo para validar el certificado de autenticación del servidor de AWS IoT Core . Por ejemplo, los dispositivos pueden tener demasiada memoria limitada para contener todos los certificados de CA raíz posibles, o los dispositivos pueden implementar un método no estándar de validación de certificados. Por estas razones, sugerimos seguir estas directrices:

  • Le recomendamos que utilice el punto de conexión ATS e instale todos los certificados de CA raíz de Amazon Root CA compatibles.

  • Si no puede almacenar todos estos certificados en su dispositivo y si sus dispositivos no utilizan la validación basada en ECC, puede omitir los certificados Amazon Root CA 3 y Amazon Root CA 4 de ECC. Si sus dispositivos no implementan una validación de certificados basada en RSA, puede omitir los certificados Amazon Root CA 1 y Amazon Root CA 2 de RSA. Es posible que tenga que hacer clic con el botón derecho en estos enlaces y seleccionar Guardar enlace como... para guardar estos certificados como archivos.

  • Si tiene problemas de validación de certificados de servidor al conectarse a su punto de conexión de ATS, intente agregar el certificado Amazon Root CA correspondiente con firma cruzada a su almacén de confianza. Es posible que tenga que hacer clic con el botón derecho en estos enlaces y seleccionar Guardar enlace como... para guardar estos certificados como archivos.

  • Si experimenta problemas de validación de certificados de servidor, es posible que el dispositivo deba confiar explícitamente en la CA raíz. Intente agregar el Starfield Root CA Certificate a su almacén de confianza.

  • Si sigue teniendo problemas después de ejecutar los pasos anteriores, póngase en contacto con AWS Developer Support.

nota

Los certificados de CA tienen una fecha de vencimiento posterior que no pueden usar para validar un certificado del servidor. Los certificados de CA podrían tener que reemplazarse antes de su fecha de vencimiento. Asegúrese de que puede actualizar los certificados de entidad de certificación raíz en todos sus dispositivos o clientes para asegurarse de que la conectividad se mantenga y esté al día de las prácticas recomendadas de seguridad.

nota

Cuando se conecte con AWS IoT Core el código de su dispositivo, pase el certificado a la API que está utilizando para conectarse. La API que use variará según el SDK. Para obtener más información, consulte los SDK de dispositivos AWS IoT Core.