Autenticación del servidor - AWS IoT Core

Autenticación del servidor

Cuando el dispositivo u otro cliente intenta conectarse a AWS IoT Core, el servidor de AWS IoT Core enviará un certificado X.509 que el dispositivo utiliza 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 punto de conexión de AWS IoT Core, AWS IoT Core presenta una cadena de certificados que los dispositivos utilizan para verificar si se están comunicando con AWS IoT Core y no con otro servidor que suplante a AWS IoT Core . La cadena que se presenta depende de una combinación del tipo de punto de conexión al que se conecta el dispositivo y del conjunto de cifrado que el cliente y AWS IoT Core negociaron durante el protocolo TLS.

Tipo de punto de conexión

AWS IoT Core admite iot:Data-ATS. Los puntos de conexión iot:Data-ATS incluyen un certificado de servidor firmado por una entidad de certificación 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

Utilice puntos de conexión iot:Data-ATS. Los certificados de Symantec y Verisign han quedado obsoletos y ya no son compatibles con AWS IoT Core.

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.

nota

Para ver el punto de conexión iot:Data-ATS en la consola de AWS IoT Core, elija Settings (Configuración). La consola solo muestra el punto de conexión iot:Data-ATS.

Crear un IotDataPlaneClient con el AWS SDK para Java

Para crear un IotDataPlaneClient que utilice un punto de conexión iot:Data-ATS, debe hacer lo siguiente.

  • Cree un punto de conexión iot:Data-ATS utilizando la API DescribeEndpoint.

  • 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

En función del tipo de punto de conexión de datos que esté utilizando y del conjunto de cifrado que haya negociado, los certificados de autenticación del servidor de AWS IoT Core estarán firmados por uno de los siguientes certificados de la entidad de certificación 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. A partir del lanzamiento de AWS IoT Core en la región de Asia Pacífico (Mumbai) el 9 de mayo de 2018, todas las regiones nuevas de AWS IoT Core proporcionan exclusivamente certificados de ATS.

Puntos de enlace de VeriSign (heredados)

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 a AWS IoT Core en el código del dispositivo, pase el certificado a la API que está utilizando para realizar la conexión. La API que use variará según el SDK. Para obtener más información, consulte los SDK de dispositivos AWS IoT Core.