Migración de recursos IoT Hub a un nuevo certificado raíz TLS

Azure IoT Hub y Device Provisioning Service (DPS) usan certificados TLS que emite Baltimore CyberTrust Root, que expira en 2025. A partir de febrero de 2023, todos los centros de IoT de la nube global de Azure migrarán a un nuevo certificado TLS que emite DigiCert Global Root G2.

Ahora debe empezar a planear los efectos de migrar los centros de IoT al nuevo certificado TLS:

  • Cualquier dispositivo que no tenga DigiCert Global Root G2 en su almacén de certificados no podrá conectarse a Azure.
  • La dirección IP del centro de IoT cambiará.

Escala de tiempo

La migración de IoT Hub se ha completado, excepto los centros que ya se han aprobado para una extensión. Si el centro de IoT está usando el certificado de Baltimore sin un acuerdo con el equipo del producto, el centro se migrará sin previo aviso.

Después de migrar todos los centros de IoT, DPS realizará su migración entre el 15 de enero y el 30 de septiembre de 2024.

Para cada centro de IoT con un contrato de extensión implementado, puede esperar lo siguiente:

  • Una a dos semanas antes de la migración: los propietarios de la suscripción de cada centro de IoT reciben una notificación por correo electrónico que les informa de su fecha de migración. Esta notificación no se aplica a los centros que se migran manualmente.
  • Día de la migración: el centro de IoT cambia su certificado TLS a DigiCert Global Root G2, lo que no produce tiempo de inactividad para el centro de IoT. IoT Hub no fuerza las reconexión de dispositivos.
  • Después de la migración: los propietarios de la suscripción reciben una notificación que confirma que se ha migrado el centro de IoT. Los dispositivos intentan volver a conectarse en función de su lógica de reintento individual, en ese momento solicitan y reciben el nuevo certificado de servidor de IoT Hub y se vuelven a conectar solo si confían en Digicert Global Root G2.

Solicitud de una extensión

A partir de agosto de 2023, el proceso de solicitud de extensión se cierra para IoT Hub e IoT Central. Si se encuentra que el centro de IoT está usando el certificado Baltimore sin un contrato de extensión implementado con el equipo del producto, el centro se migrará sin previo aviso.

Pasos necesarios

A fin de prepararse para la migración, complete estos pasos:

  1. Mantenga el certificado Baltimore CyberTrust Root en el almacén raíz de confianza de los dispositivos. Agregue los certificados DigiCert Global Root G2 y Microsoft RSA Root Certificate Authority 2017 a los dispositivos. Puede descargar todos estos certificados en los detalles de la entidad de certificación de Azure.

    Es importante tener los tres certificados en los dispositivos hasta que se completen las migraciones de IoT Hub y DPS. Mantener el certificado Baltimore CyberTrust Root garantiza que los dispositivos permanecerán conectados hasta la migración y agregar el de DigiCert Global Root G2 garantiza que los dispositivos cambien y se vuelvan a conectar sin problemas después de la migración. La entidad de certificación raíz de Microsoft RSA 2017 ayuda a evitar interrupciones futuras en caso de que DigiCert Global Root G2 se retire inesperadamente.

    Para obtener más información sobre los procedimientos de certificados recomendados de IoT Hub, consulte Compatibilidad con TLS.

  2. Asegúrese de que no ancla ningún certificado intermedio o de hoja y de que usa las raíces públicas para realizar la validación del servidor TLS.

    IoT Hub y DPS de vez en cuando se acumulan sobre su entidad de certificación intermedia (CA). En estos casos, los dispositivos perderán la conectividad si buscan explícitamente una CA intermedia o un certificado de hoja. Pero los dispositivos que realizan la validación mediante las raíces públicas seguirán conectándose, independientemente de los cambios realizados en la CA intermedia.

Para obtener más información sobre cómo probar si los dispositivos están listos para la migración de certificados TLS, vea la entrada de blog TLS de Azure IoT: están a punto de llegar cambios muy importantes.

Comprobación del estado de migración de un centro de IoT

Para saber si un centro de IoT se ha migrado, compruebe la raíz del certificado activo del centro.

  1. En Azure Portal, navegue hasta su centro de IoT.

  2. Seleccione Exportar plantilla en la sección Automatización del menú de navegación.

  3. Espere a que se genere la plantilla y vaya a la propiedad resources.properties.features de la plantilla JSON. Si RootCertificateV2 aparece como una característica, el centro se ha migrado a DigiCert Global G2.

Preguntas más frecuentes

Mis dispositivos usan la autenticación SAS/X.509/TPM. ¿Afectará esta migración a mis dispositivos?

La migración del certificado TLS no afecta a la forma en que IoT Hub autentica los dispositivos. Esta migración afecta a cómo los dispositivos autentican los puntos de conexión de IoT Hub y DPS.

IoT Hub y DPS presentan su certificado de servidor a los dispositivos y estos autentican ese certificado en la raíz para confiar su conexión a los puntos de conexión. Los dispositivos deberán tener el nuevo certificado DigiCert Global Root G2 en sus almacenes de certificados de confianza para poder comprobar y conectarse a Azure después de esta migración.

Mis dispositivos usan los SDK de Azure IoT para conectarse. ¿Hay que hacer algo para que los SDK sigan funcionando con el nuevo certificado?

Depende.

  • , si usa el cliente de dispositivo Java V1. Este cliente empaqueta el certificado Baltimore Cybertrust Root junto con el SDK. Puede actualizar a Java V2 o agregar manualmente el certificado DigiCert Global Root G2 al código fuente.
  • No, si usa los otros SDK de Azure IoT. La mayoría de los SDK de Azure IoT dependen del almacén de certificados del sistema operativo subyacente a fin de recuperar raíces de confianza para la autenticación del servidor durante el protocolo de enlace de TLS.

Independientemente del SDK usado, se recomienda encarecidamente que todos los clientes validen sus dispositivos antes de la migración, tal como se describe en la sección de validación de la entrada de blog TLS de Azure IoT: están a punto de llegar cambios muy importantes.

Mis dispositivos se conectan a una región soberana de Azure. ¿Todavía necesito actualizarlos?

No, este cambio solo afecta a la nube global de Azure. Las nubes soberanas no están incluidas en esta migración.

Uso IoT Central. ¿Es necesario actualizar mis dispositivos?

Sí, IoT Central usa IoT Hub y DPS en el back-end. La migración de TLS afectará a la solución y deberá actualizar los dispositivos para mantener la conexión.

Puede migrar la aplicación desde la raíz de Baltimore CyberTrust a DigiCert Global Root G2 según su propia programación. Recomendamos el siguiente proceso:

  1. Mantenga la raíz de Baltimore CyberTrust en el dispositivo hasta que finalice el período de transición el 30 de septiembre de 2024 (necesario para evitar la interrupción de la conexión).
  2. Además de la raíz de Baltimore, asegúrese de que DigiCert Global Root G2 se agrega a su almacén raíz de confianza.
  3. Asegúrese de que no está anclando ningún certificado intermedio o de hoja y que está utilizando las raíces públicas para realizar la validación del servidor TLS.
  4. En la aplicación de IoT Central, puede encontrar la configuración de certificación de raíz en Configuración>Aplicación>Migración a Baltimore Cybertrust. 
    1. Seleccione DigiCert Global G2 Root para migrar a la nueva raíz del certificado.
    2. Haga clic en Guardar para iniciar la migración.
    3. Si es necesario, puede volver a migrar a la raíz de Baltimore seleccionando Raíz de Baltimore CyberTrust y guardando los cambios. La opción estará disponible hasta el 15 de agosto de 2023 y se deshabilitará posteriormente.

¿Cuánto tiempo tardarán mis dispositivos en volver a conectarse?

Varios factores pueden afectar al comportamiento en la reconexión de dispositivos.

Los dispositivos están configurados para volver a comprobar su conexión en un intervalo específico. El valor predeterminado de los SDK de IoT de Azure es volver a comprobar la conexión cada 45 minutos. Si ha implementado un patrón diferente en la solución, la experiencia puede variar.

Además, como parte de la migración, el centro de IoT puede obtener una nueva dirección IP. Si los dispositivos usan un servidor DNS para conectarse a un centro de IoT, los servidores DNS pueden tardar hasta una hora en actualizarse con la nueva dirección. Para obtener más información, vea Direcciones IP de IoT Hub.

¿Cuándo puedo quitar el certificado Baltimore Cybertrust Root de mis dispositivos?

Puede quitar el certificado raíz de Baltimore una vez completadas todas las fases de la migración. Si solo utiliza IoT Hub, puede quitar el certificado raíz antiguo después de que la migración de IoT Hub programada finalice el 15 de octubre de 2023. Si usa el servicio de aprovisionamiento de dispositivos o IoT Central, debe mantener ambos certificados raíz en el dispositivo hasta que finalice la migración de DPS programada el 30 de septiembre de 2024.

Solución de problemas

Si tiene problemas generales de conectividad con IoT Hub, consulte estos recursos de solución de problemas:

Si está viendo Azure Monitor después de migrar certificados, debe buscar un evento DeviceDisconnect seguido de otro DeviceConnect, tal como se muestra en la captura de pantalla siguiente:

Captura de pantalla de los registros de Azure Monitor en la que se muestran los eventos DeviceDisconnect y DeviceConnect.

Si el dispositivo se desconecta y no se vuelve a conectar después de la migración, pruebe los pasos siguientes:

  • Comprobar que la resolución DNS y la solicitud de protocolo de enlace se hayan completado sin errores.

  • Comprobar que el dispositivo tiene los certificados DigiCert Global Root G2 y Baltimore instalados en el almacén de certificados.

  • Usar la siguiente consulta de Kusto para identificar la actividad de conexión de los dispositivos. Para obtener más información, vea Información general del Lenguaje de consulta Kusto (KQL).

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
    | where Category == "Connections"
    | extend parsed_json = parse_json(properties_s)
    | extend SDKVersion = tostring(parsed_json.sdkVersion), DeviceId = tostring(parsed_json.deviceId), Protocol = tostring(parsed_json.protocol)
    | distinct TimeGenerated, OperationName, Level, ResultType, ResultDescription, DeviceId, Protocol, SDKVersion
    
  • Use la pestaña Métricas del centro de IoT en Azure Portal para realizar un seguimiento del proceso de reconexión del dispositivo. Lo ideal es que no vea ningún cambio en los dispositivos antes y después de completar esta migración. Una métrica recomendada para ver es Connected Devices (Dispositivos conectados), pero puede usar cualquier gráfico que supervise activamente.