Migrar recursos do Hub IoT para um novo certificado de raiz TLS

O Hub IoT do Azure e o Serviço de Aprovisionamento de Dispositivos (DPS) utilizam certificados TLS emitidos pelo Baltimore CyberTrust Root, que expira em 2025. A partir de fevereiro de 2023, todos os hubs IoT na cloud global do Azure serão migrados para um novo certificado TLS emitido pelo DigiCert Global Root G2.

Você deve começar a planejar agora os efeitos da migração de seus hubs IoT para o novo certificado TLS:

  • Qualquer dispositivo que não tenha o DigiCert Global Root G2 em seu armazenamento de certificados não poderá se conectar ao Azure.
  • O endereço IP do hub IoT será alterado.

Linha Cronológica

A migração do Hub IoT está concluída, exceto para hubs que já foram aprovados para uma extensão. Se for descoberto que seu hub IoT está usando o certificado de Baltimore sem um acordo em vigor com a equipe de produto, seu hub será migrado sem qualquer aviso adicional.

Depois que todos os hubs IoT tiverem migrado, o DPS realizará sua migração entre 15 de janeiro e 30 de setembro de 2024.

Para cada hub IoT com um contrato de extensão em vigor, você pode esperar o seguinte:

  • Uma a duas semanas antes da migração: os proprietários de assinaturas de cada hub IoT recebem uma notificação por e-mail informando sobre a data de migração. Esta notificação não se aplica a hubs que são migrados manualmente.
  • Dia da migração: O hub IoT muda seu certificado TLS para o DigiCert Global Root G2, o que resulta em nenhum tempo de inatividade para o hub IoT. O Hub IoT não força reconexões de dispositivos.
  • Após a migração: os proprietários da assinatura recebem uma notificação confirmando que o hub IoT foi migrado. Os dispositivos tentam se reconectar com base em sua lógica de repetição individual, momento em que solicitam e recebem o novo certificado de servidor do Hub IoT e se reconectam somente se confiarem no Digicert Global Root G2.

Solicite uma prorrogação

A partir de agosto de 2023, o processo de solicitação de extensão está fechado para o Hub IoT e o IoT Central. Se for descoberto que seu hub IoT está usando o certificado de Baltimore sem um contrato de extensão em vigor com a equipe de produto, seu hub será migrado sem qualquer aviso adicional.

Passos necessários

Para se preparar para a migração, siga as seguintes etapas:

  1. Mantenha o Baltimore CyberTrust Root no armazenamento raiz confiável de seus dispositivos. Adicione os certificados DigiCert Global Root G2 e Microsoft RSA Root Certificate Authority 2017 aos seus dispositivos. Você pode baixar todos esses certificados dos detalhes da Autoridade de Certificação do Azure.

    É importante ter os três certificados em seus dispositivos até que as migrações do Hub IoT e do DPS sejam concluídas. Manter o Baltimore CyberTrust Root garante que seus dispositivos permanecerão conectados até a migração, e adicionar o DigiCert Global Root G2 garante que seus dispositivos alternarão e se reconectarão sem problemas após a migração. A Microsoft RSA Root Certificate Authority 2017 ajuda a evitar futuras interrupções caso o DigiCert Global Root G2 seja desativado inesperadamente.

    Para obter mais informações sobre as práticas de certificado recomendadas do Hub IoT, consulte Suporte a TLS.

  2. Certifique-se de que você não está fixando nenhum certificado intermediário ou folha e está usando as raízes públicas para executar a validação do servidor TLS.

    O Hub IoT e o DPS ocasionalmente rolam sua autoridade de certificação (CA) intermediária. Nesses casos, seus dispositivos perderão a conectividade se procurarem explicitamente uma CA intermediária ou um certificado folha. No entanto, os dispositivos que executam a validação usando as raízes públicas continuarão a se conectar, independentemente de quaisquer alterações na autoridade de certificação intermediária.

Para obter mais informações sobre como testar se seus dispositivos estão prontos para a migração do certificado TLS, consulte a postagem do blog Azure IoT TLS: Critical changes are almost here.

Verificar o status de migração de um hub IoT

Para saber se um hub IoT foi migrado ou não, verifique a raiz do certificado ativo para o hub.

  1. No Portal do Azure, navegue para o seu hub IoT.

  2. Selecione Exportar modelo na seção Automação do menu de navegação.

  3. Aguarde até que o modelo seja gerado e navegue até a propriedade resources.properties.features no modelo JSON. Se RootCertificateV2 estiver listado como um recurso, então seu hub foi migrado para o DigiCert Global G2.

Perguntas mais frequentes

Meus dispositivos usam autenticação SAS/X.509/TPM. Esta migração afetará os meus dispositivos?

A migração do certificado TLS não afeta a forma como os dispositivos são autenticados pelo Hub IoT. Essa migração afeta como os dispositivos autenticam os pontos de extremidade do Hub IoT e do DPS.

O Hub IoT e o DPS apresentam seu certificado de servidor aos dispositivos, e os dispositivos autenticam esse certificado na raiz para confiar em sua conexão com os pontos de extremidade. Os dispositivos precisarão ter o novo DigiCert Global Root G2 em seus repositórios de certificados confiáveis para poder verificar e se conectar ao Azure após essa migração.

Meus dispositivos usam os SDKs do Azure IoT para se conectar. Tenho que fazer alguma coisa para manter os SDKs trabalhando com o novo certificado?

Depende.

  • Sim, se você usar o cliente de dispositivo Java V1. Este cliente empacota o certificado raiz do Baltimore Cybertrust junto com o SDK. Você pode atualizar para Java V2 ou adicionar manualmente o certificado DigiCert Global Root G2 ao seu código-fonte.
  • Não, se você usar os outros SDKs do Azure IoT. A maioria dos SDKs do Azure IoT depende do armazenamento de certificados do sistema operacional subjacente para recuperar raízes confiáveis para autenticação de servidor durante o handshake TLS.

Independentemente do SDK usado, é altamente recomendável que todos os clientes validem seus dispositivos antes da migração, conforme descrito na seção de validação da postagem do blog Azure IoT TLS: Alterações críticas estão quase aqui.

Meus dispositivos se conectam a uma região soberana do Azure. Ainda preciso atualizá-los?

Não, apenas a nuvem global do Azure é afetada por esta alteração. As nuvens soberanas não estão incluídas nesta migração.

Eu uso o IoT Central. Preciso de atualizar os meus dispositivos?

Sim, o IoT Central usa o Hub IoT e o DPS no back-end. A migração TLS afetará sua solução e você precisará atualizar seus dispositivos para manter a conexão.

Você pode migrar seu aplicativo do Baltimore CyberTrust Root para o DigiCert Global G2 Root em sua própria programação. Recomendamos o seguinte processo:

  1. Mantenha o Baltimore CyberTrust Root no seu dispositivo até que o período de transição seja concluído em 30 de setembro de 2024 (necessário para evitar a interrupção da conexão).
  2. Além da raiz de Baltimore, certifique-se de que a raiz global G2 da DigiCert seja adicionada ao seu armazenamento raiz confiável.
  3. Certifique-se de que você não está fixando nenhum certificado intermediário ou folha e está usando as raízes públicas para executar a validação do servidor TLS.
  4. Em seu aplicativo IoT Central, você pode encontrar as configurações de Certificação Raiz em Configurações>do Aplicativo>Baltimore Cybertrust Migration.
    1. Selecione DigiCert Global G2 Root para migrar para a nova raiz do certificado.
    2. Clique em Salvar para iniciar a migração.
    3. Se necessário, você pode migrar de volta para a raiz de Baltimore selecionando Baltimore CyberTrust Root e salvando as alterações. Esta opção está disponível até 15 de agosto de 2023 e será desativada.

Quanto tempo demorarão os meus dispositivos a voltar a ligar?

Vários fatores podem afetar o comportamento de reconexão do dispositivo.

Os dispositivos são configurados para reverificar sua conexão em um intervalo específico. O padrão nos SDKs do Azure IoT é reverificar a cada 45 minutos. Se você implementou um padrão diferente em sua solução, sua experiência pode variar.

Além disso, como parte da migração, seu hub IoT pode obter um novo endereço IP. Se seus dispositivos usam um servidor DNS para se conectar ao hub IoT, pode levar até uma hora para que os servidores DNS sejam atualizados com o novo endereço. Para obter mais informações, consulte Endereços IP do Hub IoT.

Quando posso remover o Baltimore Cybertrust Root dos meus dispositivos?

Você pode remover o certificado raiz de Baltimore assim que todos os estágios da migração estiverem concluídos. Se você usar apenas o Hub IoT, poderá remover o certificado raiz antigo depois que a migração do Hub IoT estiver programada para ser concluída em 15 de outubro de 2023. Se você usar o Serviço de Provisionamento de Dispositivo ou o IoT Central, precisará manter ambos os certificados raiz em seu dispositivo até que a migração do DPS esteja programada para ser concluída em 30 de setembro de 2024.

Resolver problemas

Se você estiver enfrentando problemas gerais de conectividade com o Hub IoT, confira estes recursos de solução de problemas:

Se você estiver assistindo ao Azure Monitor depois de migrar certificados, procure um evento DeviceDisconnect seguido de um evento DeviceConnect, conforme demonstrado na captura de tela a seguir:

Captura de ecrã dos registos do Azure Monitor a mostrar eventos DeviceDisconnect e DeviceConnect.

Se o dispositivo se desconectar, mas não se reconectar após a migração, tente as seguintes etapas:

  • Verifique se a resolução de DNS e a solicitação de handshake foram concluídas sem erros.

  • Verifique se o dispositivo tem o certificado DigiCert Global Root G2 e o certificado Baltimore instalados no armazenamento de certificados.

  • Use a seguinte consulta Kusto para identificar a atividade de conexão para seus dispositivos. Para obter mais informações, consulte Visão geral da linguagem 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 a guia Métricas do seu hub IoT no portal do Azure para acompanhar o processo de reconexão do dispositivo. Idealmente, você não verá nenhuma alteração em seus dispositivos antes e depois de concluir essa migração. Uma métrica recomendada para assistir é Dispositivos conectados, mas você pode usar quaisquer gráficos que monitore ativamente.