Conceptos de autenticación de dispositivos en IoT Central

En este artículo se describe cómo se autentican los dispositivos a una aplicación de IoT Central. Para más información sobre el proceso de conexión general, consulte Conectar un dispositivo.

Los dispositivos se autentican con la aplicación de IoT Central mediante un token de firma de acceso compartido (SAS) o un certificado X.509. Los certificados X.509 se recomiendan en entornos de producción.

Los grupos de inscripción se usan para administrar las opciones de autenticación de dispositivos en la aplicación de IoT Central.

En este artículo se describen las siguientes opciones de autenticación de dispositivos:

Grupo de inscripción X.509

En un entorno de producción, se recomienda el uso de certificados X.509 como mecanismo de autenticación de dispositivos para IoT Central. Para más información consulte Autenticación de dispositivos mediante certificados de entidades de certificación X.509.

Un grupo de inscripción X.509 contiene un certificado X.509 raíz o intermedio. Los dispositivos pueden autenticarse si tienen un certificado de hoja válido derivado del certificado raíz o intermedio.

Para conectar un dispositivo con un certificado X.509 a la aplicación, haga lo siguiente:

  1. Cree un grupo de inscripción que use el tipo de atestación Certificados (X.509).
  2. Agregue y verifique un certificado X.509 intermedio o raíz en el grupo de inscripción.
  3. Genere un certificado de hoja a partir del certificado raíz o intermedio en el grupo de inscripción. Instale el certificado de hoja en el dispositivo para que lo use cuando se conecte a la aplicación.

Cada grupo de inscripción debe usar un certificado X.509 único. IoT Central no admite el uso del mismo certificado X.509 en varios grupos de inscripción.

Para más información, vea Procedimiento para conectar dispositivos con certificados X.509.

Solo para fines de prueba

En un entorno de producción, use certificados de su proveedor de certificados. Solo para pruebas, puede usar las siguientes utilidades para generar certificados raíz, intermedio y de dispositivo:

Grupo de inscripción SAS

Un grupo de inscripción SAS contiene claves SAS de nivel de grupo. Los dispositivos pueden autenticarse si tienen un token de SAS válido que se deriva de una clave SAS de nivel de grupo.

Para conectar un dispositivo con un token de SAS del dispositivo a la aplicación, haga lo siguiente:

  1. Cree un grupo de inscripción que use el tipo de atestación Firma de acceso compartido (SAS).

  2. Copie la clave principal o secundaria del grupo desde el grupo de inscripción.

  3. Use la CLI de Azure para generar un token del dispositivo a partir de la clave de grupo:

    az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
    
  4. Use el token del dispositivo generado cuando el dispositivo se conecte a la aplicación de IoT Central.

Nota:

Para usar las claves SAS existentes en los grupos de inscripción, deshabilite el botón de alternancia Generar claves automáticamente y escriba manualmente las claves SAS.

Si usa el grupo de inscripción SAS-IoT-Devices predeterminado, IoT Central genera automáticamente las claves de dispositivo individuales. Para acceder a estas claves, seleccione Conectar en la página de detalles del dispositivo. En esta página se muestran el ámbito de identificador, el identificador de dispositivo, la clave principal y la clave secundaria que se usan en el código del dispositivo. Esta página también muestra un código QR que contiene los mismos datos.

Inscripción individual

Normalmente, los dispositivos se conectan mediante credenciales derivadas de un certificado X.509 del grupo de inscripción o una clave SAS. Sin embargo, si cada uno de los dispositivos tiene sus propias credenciales, puede usar inscripciones individuales. Una inscripción individual es una entrada para un único dispositivo que le permite conectarse. Las inscripciones individuales pueden usar certificados X.509 de hoja o tokens de SAS (de un módulo de plataforma segura físico o virtual) como mecanismos de atestación. Para más información, consulte Inscripción individual de DPS.

Nota:

Cuando se crea una inscripción individual para un dispositivo, tiene prioridad sobre las opciones de grupo de inscripción predeterminadas de la aplicación de IoT Central.

Creación de inscripciones individuales

IoT Central admite los siguientes mecanismos de atestación para las inscripciones individuales:

  • Atestación de clave simétrica: la atestación de clave simétrica es un enfoque sencillo para autenticar un dispositivo con una instancia de DPS. Para crear una inscripción individual que use claves simétricas, abra la página Device connection (Conexión de dispositivos), seleccione Individual enrollment (Inscripción individual) como tipo de autenticación y Firma de acceso compartido (SAS) como método de autenticación. Escriba las claves principal y secundaria codificadas en Base64 y guarde los cambios. Use el valor de ID scope (Ámbito de id.), Device ID (Id. de dispositivo) y la clave principal o secundaria para conectarse al dispositivo.

    Sugerencia

    Con fines de prueba, puede usar OpenSSL para generar claves codificadas en Base64: openssl rand -base64 64

  • Certificados X.509: Para crear una inscripción individual con certificados X.509, abra la página Device connection (Conexión de dispositivos), seleccione Individual enrollment (Inscripción individual) como tipo de autenticación y Certificates (X.509) (Certificados [X.509]) como método de autenticación. Los certificados de dispositivo usados con una entrada de inscripción individual tienen el requisito de que el emisor y el CN del firmante están establecidos en el identificador de dispositivo.

    Sugerencia

    Con fines de prueba, puede usar las herramientas para el SDK de dispositivo de Azure IoT Device Provisioning para Node.js para generar un certificado autofirmado: node create_test_cert.js device "mytestdevice"

  • Atestación del Módulo de plataforma segura (TPM): Un TPM es un tipo de módulo de seguridad de hardware. El uso de un TPM es una de las formas más seguras de conectar un dispositivo. En este artículo se supone que usa un TPM discreto, de firmware o integrado. Los TPM emulados por software son adecuados para prototipos o pruebas, pero no brindan el mismo nivel de seguridad que los TPM discretos, de firmware o integrados. No use TPM de software en producción. Para crear una inscripción individual que use un TPM, abra la página Device Connection (Conexión de dispositivos), seleccione Individual enrollment (Inscripción individual) como tipo de autenticación y TPM como método de autenticación. Escriba la clave de aprobación de TPM y guarde la información de conexión del dispositivo.

Registro automático de dispositivos

Este escenario permite a los OEM fabricar dispositivos de forma masiva que puedan conectarse sin registrarse primero en una aplicación. Un OEM genera las credenciales de dispositivo adecuadas y configura los dispositivos en la fábrica.

Para registrar automáticamente dispositivos que usan certificados X.509:

  1. Genere certificados de hoja para los dispositivos con el certificado raíz o intermedio que agregó al grupo de inscripción X.509. Use los identificadores de dispositivo como CNAME en los certificados de hoja. Un identificador de dispositivo puede contener letras, números y el carácter -.

  2. Como OEM, cargue cada dispositivo con un identificador de dispositivo, un certificado de hoja X.509 generado y el valor Ámbito de id. de la aplicación. El código del dispositivo también debe enviar el identificador del modelo de dispositivo que implementa.

  3. Al encender un dispositivo, primero se conecta a DPS para recuperar la información de conexión de IoT Central.

  4. El dispositivo usa la información de DPS para conectarse y registrarse en la aplicación de IoT Central.

  5. La aplicación de IoT Central usa el identificador de modelo enviado por el dispositivo para asignar el dispositivo registrado a una plantilla de dispositivo.

Para registrar automáticamente dispositivos que usan tokens de SAS:

  1. Copie la clave principal del grupo desde el grupo de inscripción SAS-IoT-Devices:

    Screenshot that shows the group primary key from SAS IoT Devices enrollment group.

  2. Use el comando az iot central device compute-device-key para generar las claves SAS del dispositivo. Use la clave principal del grupo del paso anterior. El identificador de dispositivo puede contener letras, números y el carácter -:

    az iot central device compute-device-key --primary-key <enrollment group primary key> --device-id <device ID>
    
  3. Como OEM, cargue cada dispositivo con el identificador del dispositivo, la clave SAS de dispositivo generada y el valor de Ámbito de id. de la aplicación. El código del dispositivo también debe enviar el identificador del modelo de dispositivo que implementa.

  4. Al encender un dispositivo, primero se conecta a DPS para recuperar la información de registro de IoT Central.

  5. El dispositivo usa la información de DPS para conectarse y registrarse en la aplicación de IoT Central.

  6. La aplicación de IoT Central usa el identificador de modelo enviado por el dispositivo para asignar el dispositivo registrado a una plantilla de dispositivo.

Pasos siguientes

Algunos pasos siguientes sugeridos son: