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 nuvem global do Azure começaram a migrar para um novo certificado TLS emitido pelo DigiCert Global Root G2.
Os efeitos da migração do certificado TLS em seus hubs IoT incluem:
- Qualquer dispositivo que não tenha o DigiCert Global Root G2 em seu armazenamento de certificados não poderá mais se conectar ao Azure.
- O endereço IP do hub IoT foi alterado.
Linha Cronológica
A partir de 30 de setembro de 2024, a migração estará concluída para todos os recursos do Hub IoT, IoT Central e Serviço de Provisionamento de Dispositivos.
Passos necessários
Como parte da migração, execute as seguintes etapas:
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.
O DigiCert Global Root G2 garante que seus dispositivos possam se conectar 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.
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.
Perguntas mais frequentes
Meus dispositivos usam autenticação SAS/X.509/TPM. Esta migração afetou 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 precisam 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.
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. Nuvens soberanas não foram 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 afetou sua solução e você precisa atualizar seus dispositivos para manter a conexão.
Quando posso remover o Baltimore Cybertrust Root dos meus dispositivos?
Você pode remover o certificado raiz de Baltimore agora que todos os estágios da migração estão concluídos. A partir de 30 de setembro de 2024, nenhum recurso do Azure IoT usará o certificado raiz de Baltimore.
Resolver problemas
Se você estiver enfrentando problemas gerais de conectividade com o Hub IoT, confira estes recursos de solução de problemas:
- Padrões de conexão e repetição com SDKs de dispositivo.
- Entenda e resolva os códigos de erro do Hub IoT do Azure.
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:
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.