Eseguire la migrazione di risorse hub IoT a una nuova radice del certificato TLS
L'hub IoT di Azure e Device Provisioning Service (DPS) usano i certificati TLS rilasciati dalla radice di Baltimore CyberTrust, che scadrà nel 2025. A partire da febbraio 2023, tutti gli hub IoT nel cloud globale di Azure saranno sottoposti a migrazione verso un nuovo certificato TLS rilasciato da DigiCert Global Root G2.
È consigliabile iniziare a pianificare ora gli effetti della migrazione degli hub IoT al nuovo certificato TLS:
- Qualsiasi dispositivo che non ha DigiCert Global Root G2 nell'archivio certificati non sarà in grado di connettersi ad Azure.
- L'indirizzo IP dell'hub IoT cambierà.
Sequenza temporale
La migrazione hub IoT è completa, ad eccezione degli hub che sono già stati approvati per un'estensione. Se l'hub IoT viene trovato in uso con il certificato Baltimore senza un contratto con il team del prodotto, l'hub verrà migrato senza ulteriore preavviso.
Dopo la migrazione di tutti gli hub IoT, dps eseguirà la migrazione tra il 15 gennaio e il 30 settembre 2024.
Per ogni hub IoT con un contratto di estensione sul posto, è possibile prevedere quanto segue:
- Da una a due settimane prima della migrazione: i proprietari della sottoscrizione di ogni hub IoT ricevono una notifica tramite posta elettronica che informa la data di migrazione. Questa notifica non si applica agli hub di cui viene eseguita la migrazione manuale.
- Giorno della migrazione: l'hub IoT passa il certificato TLS alla G2 radice globale DigiCert, senza tempi di inattività per l'hub IoT. hub IoT non forza le riconnessioni del dispositivo.
- Dopo la migrazione: i proprietari della sottoscrizione ricevono una notifica che conferma che è stata eseguita la migrazione dell'hub IoT. I dispositivi tentano di riconnettersi in base alla logica di ripetizione dei tentativi, a quel punto richiedono e ricevono il nuovo certificato server da hub IoT e riconnettono solo se considerano attendibile Digicert Global Root G2.
Richiedere un'estensione
A partire da agosto 2023, il processo di richiesta di estensione viene chiuso per hub IoT e IoT Central. Se l'hub IoT viene trovato in uso con il certificato Baltimore senza un contratto di estensione in vigore con il team del prodotto, l'hub verrà migrato senza ulteriore preavviso.
Passaggi necessari
Per preparare la migrazione, seguire questa procedura:
Mantenere Baltimore CyberTrust Root nell'archivio radice attendibile dei dispositivi. Aggiungere i certificati DigiCert Global Root G2 e Microsoft RSA Root Certificate Authority 2017 ai dispositivi. È possibile scaricare tutti questi certificati dai dettagli dell'autorità di certificazione di Azure.
È importante avere tutti e tre i certificati nei dispositivi fino al completamento delle migrazioni hub IoT e DPS. Mantenere Baltimore CyberTrust Root garantisce che i dispositivi rimangano connessi fino alla migrazione e l'aggiunta di DigiCert Global Root G2 garantisce che i dispositivi cambino e si riconnettano senza problemi dopo la migrazione. Microsoft RSA Root Certificate Authority 2017 consente di evitare interruzioni future nel caso in cui DigiCert Global Root G2 venga ritirato in modo imprevisto.
Per altre informazioni sulle procedure consigliate per i certificati di hub IoT, vedere Supporto TLS.
Assicurarsi di non aggiungere certificati intermedi o foglia e di usare le radici pubbliche per eseguire la convalida del server TLS.
hub IoT e dps esegue occasionalmente il rollover dell'autorità di certificazione intermedia(CA). In questi casi, i dispositivi perderanno la connettività se cercano in modo esplicito una CA intermedia o un certificato foglia. Tuttavia, i dispositivi che eseguono la convalida usando le radici pubbliche continueranno a connettersi indipendentemente dalle modifiche apportate alla CA intermedia.
Per altre informazioni su come verificare se i dispositivi sono pronti per la migrazione dei certificati TLS, vedere il post di blog Azure IoT TLS: Le modifiche critiche sono quasi qui.
Controllare lo stato della migrazione di un hub IoT
Per sapere se è stata eseguita o meno la migrazione di un hub IoT, controllare la radice del certificato attiva per l'hub.
Nel portale di Azure passare all'hub IoT.
Selezionare Esporta modello nella sezione Automazione del menu di spostamento.
Attendere che il modello venga generato, quindi passare alla proprietà resources.properties.features nel modello JSON. Se RootCertificateV2 è elencato come funzionalità, l'hub è stato migrato a DigiCert Global G2.
Domande frequenti
I dispositivi usano l'autenticazione SAS/X.509/TPM. Questa migrazione influirà sui dispositivi?
La migrazione del certificato TLS non influisce sul modo in cui i dispositivi vengono autenticati da hub IoT. Questa migrazione influisce sul modo in cui i dispositivi autenticano gli endpoint hub IoT e DPS.
hub IoT e DPS presentano il certificato server ai dispositivi e i dispositivi eseguono l'autenticazione del certificato sulla radice per considerare attendibile la connessione agli endpoint. I dispositivi dovranno avere il nuovo DigiCert Global Root G2 negli archivi certificati attendibili per poter verificare e connettersi ad Azure dopo questa migrazione.
I dispositivi usano gli SDK di Azure IoT per connettersi. È necessario eseguire alcuna operazione per mantenere gli SDK che funzionano con il nuovo certificato?
Dipende.
- Sì, se si usa il client del dispositivo Java V1. Questo client crea un pacchetto del certificato Baltimore Cybertrust Root insieme all'SDK. È possibile eseguire l'aggiornamento a Java V2 o aggiungere manualmente il certificato DigiCert Global Root G2 al codice sorgente.
- No, se si usano gli altri SDK di Azure IoT. La maggior parte degli SDK di Azure IoT si basa sull'archivio certificati del sistema operativo sottostante per recuperare le radici attendibili per l'autenticazione server durante l'handshake TLS.
Indipendentemente dall'SDK usato, è consigliabile che tutti i clienti convalidino i dispositivi prima della migrazione, come descritto nella sezione di convalida del post di blog Azure IoT TLS: Le modifiche critiche sono quasi qui.
I dispositivi si connettono a un'area di Azure sovrana. È comunque necessario aggiornarli?
No, solo il cloud di Azure globale è interessato da questa modifica. I cloud sovrani non sono inclusi in questa migrazione.
Uso IoT Central. È necessario aggiornare i dispositivi?
Sì, IoT Central usa sia hub IoT che dps nel back-end. La migrazione TLS influirà sulla soluzione ed è necessario aggiornare i dispositivi per mantenere la connessione.
È possibile eseguire la migrazione dell'applicazione dalla root Baltimore CyberTrust alla radice DigiCert Global G2 in base alla propria pianificazione. Il processo consigliato è il seguente:
- Mantenere Baltimore CyberTrust Root sul dispositivo fino al termine del periodo di transizione il 30 settembre 2024 (necessario per impedire l'interruzione della connessione).
- Oltre a Baltimore Root, assicurarsi che digiCert Global G2 Root venga aggiunto all'archivio radice attendibile.
- Assicurarsi di non aggiungere certificati intermedi o foglia e di usare le radici pubbliche per eseguire la convalida del server TLS.
- Nell'applicazione IoT Central è possibile trovare le impostazioni di certificazione radice in Impostazioni> Application>Baltimore Cybertrust Migration.
- Selezionare DigiCert Global G2 Root per eseguire la migrazione alla nuova radice del certificato.
- Fare clic su Salva per avviare la migrazione.
- Se necessario, è possibile tornare alla radice baltimora selezionando Baltimore CyberTrust Root e salvando le modifiche. Questa opzione è disponibile fino al 15 agosto 2023 e verrà quindi disabilitata.
Quanto tempo richiederà la riconnessione dei dispositivi?
Diversi fattori possono influire sul comportamento di riconnessione del dispositivo.
I dispositivi sono configurati per ripristinare la connessione a un intervallo specifico. L'impostazione predefinita negli SDK di Azure IoT consiste nell'riverificare ogni 45 minuti. Se è stato implementato un modello diverso nella soluzione, l'esperienza potrebbe variare.
Inoltre, come parte della migrazione, l'hub IoT potrebbe ottenere un nuovo indirizzo IP. Se i dispositivi usano un server DNS per connettersi all'hub IoT, l'aggiornamento dei server DNS con il nuovo indirizzo può richiedere fino a un'ora. Per altre informazioni, vedere hub IoT indirizzi IP.
Quando è possibile rimuovere Baltimore Cybertrust Root dai dispositivi?
È possibile rimuovere il certificato radice Baltimore una volta completate tutte le fasi della migrazione. Se si usa solo hub IoT, è possibile rimuovere il certificato radice precedente dopo il completamento della migrazione hub IoT il 15 ottobre 2023. Se si usa il servizio Device Provisioning o IoT Central, è necessario mantenere entrambi i certificati radice nel dispositivo fino al completamento della migrazione del servizio Device Provisioning il 30 settembre 2024.
Risoluzione dei problemi
Se si verificano problemi di connettività generali con hub IoT, vedere queste risorse per la risoluzione dei problemi:
- Connessione e nuovi modelli di ripetizione dei tentativi con gli SDK del dispositivo.
- Comprendere e risolvere hub IoT di Azure codici di errore.
Se si osserva Monitoraggio di Azure dopo la migrazione dei certificati, è necessario cercare un evento DeviceDisconnect seguito da un evento Device Connessione, come illustrato nello screenshot seguente:
Se il dispositivo si disconnette ma non si riconnette dopo la migrazione, provare la procedura seguente:
Verificare che la risoluzione DNS e la richiesta di handshake siano completate senza errori.
Verificare che il dispositivo abbia sia il certificato DigiCert Global Root G2 che il certificato Baltimore installato nell'archivio certificati.
Usare la query Kusto seguente per identificare l'attività di connessione per i dispositivi. Per altre informazioni, vedere panoramica di Linguaggio di query 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
Usare la scheda Metriche dell'hub IoT nel portale di Azure per tenere traccia del processo di riconnessione del dispositivo. Idealmente, non dovrebbe essere visualizzata alcuna modifica nei dispositivi prima e dopo aver completato questa migrazione. Una metrica consigliata da controllare è Connessione dispositivi, ma è possibile usare i grafici monitorati attivamente.