Emisión de certificados de dispositivo en Azure Device Registry (vista previa)

La emisión de certificados de dispositivo es el proceso por el que los dispositivos solicitan y reciben un certificado como parte del aprovisionamiento. Este artículo explica la responsabilidad de un dispositivo para enviar una solicitud de firma de certificados (CSR), cómo Azure Device Registry (ADR) y Device Provisioning Service (DPS) trabajan juntos para emitir certificados a gran escala, y cómo IoT Hub confía en los certificados emitidos.

Importante

Azure IoT Hub con la integración del Registro de dispositivos de Azure y la administración de certificados X.509 respaldada por Microsoft está en public preview y no se recomienda para cargas de trabajo de producción. Para obtener más información, vea FAQ: Novedades de IoT Hub?.

Funcionamiento de la emisión de certificados de dispositivo

En los pasos siguientes se describe el flujo de emisión de un extremo a otro:

  1. El dispositivo IoT se conecta al endpoint DPS y se autentica utilizando su credencial de incorporación, como una clave simétrica, un certificado X.509 o un Módulo de Plataforma de Confianza (TPM). Como parte de esta llamada de registro, el dispositivo envía una solicitud de firma de certificado (CSR) que incluye la clave pública del dispositivo y su identificador de registro.

  2. Tras la validación exitosa de la credencial de incorporación, la identidad del dispositivo se crea en ADR y se asigna al IoT Hub correspondiente según la configuración de inscripción.

  3. El DPS reenvía el CSR a la autoridad certificadora (CA) que creaste en ADR y referenciaste en la inscripción del DPS. La CA valida la solicitud y luego emite un certificado X.509 firmado.

  4. DPS devuelve al dispositivo el certificado emitido y los detalles de conexión de IoT Hub.

  5. El dispositivo se autentica con IoT Hub mediante la presentación de su cadena de certificados completa.

Diagrama que muestra cómo se integra el Registro de dispositivos de Azure con IoT Hub y DPS para la administración de certificados durante la provisión.

Requisitos de solicitud de firma de certificados

Cuando un dispositivo se provisiona o reabastece, envía un CSR a DPS. DPS espera que la CSR cumpla los siguientes requisitos:

  • Formato: Reglas de codificación distinguidas (DER) codificadas en Base64 siguiendo la especificación #10 de los estándares de criptografía de clave pública (PKCS). No se pueden incluir los encabezados y pies de página de correo mejorado para la privacidad (PEM).
  • Nombre común (CN): El campo CN debe coincidir exactamente con el identificador de registro de DPS del dispositivo. Para orientación sobre implementación, consulte Unified Azure IoT SDKs (vista previa) para IoT Hub y Azure Device Registry.

Algoritmos criptográficos

Las autoridades certificadoras que creas en Azure Device Registry utilizan los siguientes estándares criptográficos para todos los certificados que emiten:

Propiedad Value
Algoritmo de clave ECC (ECDSA)
Curva NIST P-384 (secp384r1)
Algoritmo hash SHA-384
Almacenamiento de claves HSM administrado por Azure

ECC con P-384 ofrece seguridad equivalente a RSA con tamaños de clave mucho más pequeños. Este algoritmo genera certificados más pequeños, protocolos de enlace TLS más rápidos y menor consumo de energía en dispositivos IoT restringidos.

Confianza de IoT Hub y sincronización de CA

Para que un dispositivo se autentique con IoT Hub usando su certificado emitido, IoT Hub debe confiar en la CA intermedia que firmó el certificado del dispositivo. Cuando creas la CA, el ADR envía automáticamente el certificado público de la CA a tus Hubs IoT vinculados. IoT Hub almacena el certificado intermedio de la CA y lo utiliza para validar la cadena de certificados que presentan tus dispositivos durante la autenticación TLS.

Introducción a la emisión de certificados de dispositivos

Los dispositivos IoT pueden solicitar certificados de dispositivo a ADR utilizando flujos de trabajo estándar de dispositivos. Para empezar, consulta Unified Azure IoT SDKs (vista previa) para IoT Hub y Azure Device Registry.