Uso dei certificati con Azure Sphere

Questo argomento fornisce una panoramica sul certificato Azure Sphere "orizzontale": i tipi di certificati usati dai vari componenti di Azure Sphere, da dove provengono, da dove sono archiviati, come vengono aggiornati e come accedervi quando necessario. Descrive anche in che modo il sistema operativo Azure Sphere, l'SDK e i servizi semplificano la gestione dei certificati. Si suppone che l'utente abbia familiarità di base con le autorità di certificazione e con la catena di trust.

Dispositivi Azure Sphere

Ogni dispositivo Azure Sphere si basa sull'archivio Trusted Root, che fa parte del sistema operativo Azure Sphere. L'archivio radice attendibile contiene un elenco di certificati radice usati per convalidare l'identità del servizio azure sphere security quando il dispositivo si connette per l'autenticazione e l'attestazione del dispositivo (DAA), l'aggiornamento over-the-air (OTA) o la segnalazione degli errori. Questi certificati vengono forniti con il sistema operativo.

Al completamento dell'attestazione giornaliera, il dispositivo riceve due certificati: un certificato di aggiornamento e un certificato del cliente. Il certificato di aggiornamento consente al dispositivo di connettersi al servizio di aggiornamento Azure Sphere per ottenere gli aggiornamenti software e caricare le segnalazioni di errori; non è accessibile alle applicazioni o tramite la riga di comando. Il certificato del cliente, a volte chiamato certificato DAA, può essere utilizzato dalle applicazioni per connettersi a servizi di terze parti come wolfSSL che utilizzano transport layer security (TLS). Il certificato è valido per 24 ore. Le applicazioni possono recuperarla a livello di programmazione chiamando la funzione DeviceAuth_GetCertificatePath.

I dispositivi che si connettono a servizi basati su Azure come hub IoT di Azure, Azure IoT Central e Azure IoT Edge devono presentare il certificato CA tenant di Azure Sphere per autenticare il tenant azure sphere. Il comando di download del certificato ca azsfera nell'area di certificazione CA del tenant restituisce il certificato CA tenant per tali usi.

Connessioni di rete EAP-TLS

I dispositivi che si connettono a una rete EAP-TLS necessitano di certificati per l'autenticazione con il server RADIUS della rete. Per eseguire l'autenticazione come client, il dispositivo deve passare un certificato client al raggio. Per eseguire l'autenticazione reciproca, il dispositivo deve inoltre disporre di un certificato CA radice per il server RADIUS in modo che possa autenticare il server. Microsoft non fornisce nessuno di questi certificati; l'utente o l'amministratore di rete è responsabile dell'individuazione dell'autorità di certificazione corretta per il server RADIUS della propria rete e dell'acquisizione dei certificati necessari dall'emittente.

Per ottenere i certificati per il server RADIUS, è necessario eseguire l'autenticazione nell'autorità di certificazione. È possibile usare il certificato DAA, come accennato in precedenza, a questo scopo. Dopo aver acquisito i certificati per il server RADIUS, è necessario archiviarli nell'archivio certificati dispositivo. L'archivio certificati dispositivo è disponibile solo per l'autenticazione in una rete protetta con EAP-TLS. Il certificato DAA non viene conservato nell'archivio certificati del dispositivo, ma viene mantenuto in modo sicuro nel sistema operativo. Il comando certificato del dispositivo azsfera nell'elenco dei certificati consente di gestire l'archivio certificati dalla riga di comando. Le applicazioni Azure Sphere possono usare l'API CertStore per archiviare, recuperare e gestire i certificati nell'archivio certificati del dispositivo. L'API CertStore include anche funzioni per restituire informazioni sui singoli certificati, in modo che le app possano prepararsi per la scadenza e il rinnovo dei certificati.

Per altre informazioni, vedere Usare EAP-TLS per una descrizione completa dei certificati usati nella rete EAP-TLS e vedere Proteggere l'accesso Wi-Fi aziendale: EAP-TLS in Azure Sphere nel Microsoft Tech Community.

Applicazioni Azure Sphere

Le applicazioni Azure Sphere richiedono certificati per l'autenticazione nei servizi Web e in alcune reti. A seconda dei requisiti del servizio o dell'endpoint, un'app può usare il certificato DAA o un certificato di un'autorità di certificazione esterna.

Le app che si connettono a un servizio di terze parti tramite wolfSSL o una libreria simile possono chiamare la funzione DeviceAuth_GetCertificatePath per ottenere il certificato DAA per l'autenticazione. Questa funzione è stata introdotta nell'intestazione deviceauth.h nell'SDK 20.10.

La libreria IoT di Azure incorporata in Azure Sphere considera già attendibile la CA radice necessaria, quindi le app che usano questa libreria per accedere ai servizi IoT di Azure (hub IoT di Azure, Azure IoT Central, servizio di provisioning del dispositivo) non richiedono certificati aggiuntivi.

Se le app usano altri servizi di Azure, consulta la documentazione relativa a tali servizi per determinare quali certificati sono necessari.

API pubblica Azure Sphere

Azure Sphere Public API (PAPI) comunica con il servizio di sicurezza Azure Sphere per richiedere e recuperare informazioni sui dispositivi distribuiti. Il servizio di sicurezza utilizza un certificato TLS per autenticare tali connessioni. Ciò significa che qualsiasi codice o script che utilizza l'API pubblica, insieme a qualsiasi altro client del servizio di sicurezza come Azure Sphere SDK (inclusi sia la cli classica di Azure Sphere che quella di Azure Sphere), devono considerare attendibile questo certificato per poter connettersi al servizio di sicurezza. L'SDK utilizza i certificati nell'archivio certificati di sistema del computer host per la convalida del servizio Azure Sphere Security, così come molte applicazioni API pubbliche.

Il 13 ottobre 2020 il servizio di sicurezza ha aggiornato il certificato TLS API pubblico a uno rilasciato dal certificato DigiCert Global Root G2. Entrambi i sistemi Windows e Linux includono il certificato DigiCert Global Root G2, quindi il certificato richiesto è immediatamente disponibile. Tuttavia, come descritto in un post di blog precedente, solo gli scenari dei clienti che hanno coinvolto oggetto, nome o emittente (SNI) hanno aggiunto le modifiche necessarie per supportare questo aggiornamento.

Servizio di sicurezza Azure Sphere

I servizi cloud Azure Sphere in generale e il Servizio di sicurezza in particolare gestiscono numerosi certificati usati nella comunicazione sicura da servizio a servizio. La maggior parte di questi certificati è interna ai servizi e ai loro client, quindi Microsoft coordina gli aggiornamenti in base alle esigenze. Ad esempio, oltre ad aggiornare il certificato TLS API pubblica in ottobre, il servizio di sicurezza Azure Sphere ha aggiornato anche i certificati TLS per il servizio DAA e il servizio di aggiornamento. Prima dell'aggiornamento, i dispositivi hanno ricevuto un aggiornamento OTA per l'archivio radice attendibile che includeva il nuovo certificato radice richiesto. Non è stata necessaria alcuna azione da parte del cliente per mantenere la comunicazione del dispositivo con il servizio di sicurezza.

In che modo Azure Sphere semplifica le modifiche ai certificati per i clienti?

La scadenza del certificato è una causa comune di errori per i dispositivi IoT che Azure Sphere può impedire.

Poiché il prodotto Azure Sphere include sia il sistema operativo che il servizio di sicurezza, i certificati usati da entrambi questi componenti sono gestiti da Microsoft. I dispositivi ricevono certificati aggiornati tramite il processo DAA, gli aggiornamenti del sistema operativo e delle applicazioni e la segnalazione degli errori senza richiedere modifiche nelle applicazioni. Quando Microsoft ha aggiunto il certificato DigiCert Global Root G2, non sono state richieste modifiche al cliente per continuare DAA, aggiornamenti o segnalazione errori. I dispositivi che erano offline al momento dell'aggiornamento hanno ricevuto l'aggiornamento non appena si sono riconnessi a Internet.

Il sistema operativo Azure Sphere include anche la libreria IoT di Azure, quindi se Microsoft apporta ulteriori modifiche ai certificati usati dalle librerie IoT di Azure, la libreria verrà aggiornata nel sistema operativo in modo che le applicazioni non debbano essere modificate. Ti informeremo anche tramite altri post di blog su eventuali casi edge o circostanze speciali che potrebbero richiedere modifiche alle app o agli script.

Entrambi questi casi mostrano in che modo Azure Sphere semplifica la gestione delle applicazioni rimuovendo la necessità di aggiornamenti di manutenzione delle applicazioni per gestire le modifiche ai certificati. Poiché ogni dispositivo riceve un certificato di aggiornamento come parte dell'attestazione giornaliera, è possibile gestire facilmente l'aggiornamento di qualsiasi certificato gestito in locale usato dai dispositivi e dalle applicazioni. Ad esempio, se l'applicazione convalida l'identità del server line-of-business (come dovrebbe), è possibile distribuire un pacchetto di immagini dell'applicazione aggiornato che include certificati aggiornati. I servizi di aggiornamento dell'applicazione forniti dalla piattaforma Azure Sphere forniscono tali aggiornamenti, rimuovendo la preoccupazione che il servizio di aggiornamento stesso incorrerà in un problema di scadenza del certificato.

Per ulteriori informazioni

Servizio di attestazione e autenticazione del dispositivo Azure Sphere

Aggiornamenti aggiuntivi dei certificati per Azure Sphere

Modifiche al certificato TLS di Azure

Azure IoT TLS: le modifiche sono in arrivo. (... e perché dovrebbe interessarti)