Utilizzo del certificato con Azure SphereCertificate use with Azure Sphere

Questo argomento fornisce una panoramica del Azure Sphere "Landscape" del certificato: i tipi di certificati usati dai vari componenti Azure Sphere, da dove provengono, da dove vengono archiviati, dal modo in cui vengono aggiornati e da come accedervi, quando necessario.This topic provides an overview about the Azure Sphere certificate “landscape”: the types of certificates that the various Azure Sphere components use, where they come from, where they’re stored, how they’re updated, and how to access them when necessary. Viene inoltre descritto il modo in cui il Azure Sphere sistema operativo, l'SDK e i servizi rendono più semplice la gestione dei certificati.It also describes how the Azure Sphere OS, SDK, and services make certificate management easier for you. Si presuppone che l'utente abbia una conoscenza di base delle autorità di certificazione e della catena di attendibilità.We assume you have a basic familiarity with certificate authorities and the chain of trust.

Dispositivi Azure SphereAzure Sphere devices

Ogni dispositivo Azure Sphere si basa sull'archivio radice attendibile, che fa parte del sistema operativo Azure Sphere.Every Azure Sphere device relies on the Trusted Root store, which is part of the Azure Sphere OS. L'archivio radice attendibile contiene un elenco di certificati radice usati per convalidare l'identità del servizio di sicurezza Azure Sphere quando il dispositivo si connette per l'autenticazione del dispositivo e l'attestazione (DAA), l'aggiornamento in modalità (OTA) o la segnalazione degli errori.The Trusted Root store contains a list of root certificates that are used to validate the identity of the Azure Sphere Security Service when the device connects for device authentication and attestation (DAA), over-the-air (OTA) update, or error reporting. Questi certificati vengono forniti con il sistema operativo.These certificates are provided with the OS.

Quando l'attestazione giornaliera riesce, il dispositivo riceve due certificati: un certificato di aggiornamento e un certificato del cliente.When daily attestation succeeds, the device receives two certificates: an update certificate and a customer certificate. Il certificato di aggiornamento consente al dispositivo di connettersi al servizio Azure Sphere Update per ottenere gli aggiornamenti software e caricare le segnalazioni degli errori. non è accessibile alle applicazioni o tramite la riga di comando.The update certificate enables the device to connect to the Azure Sphere Update Service to get software updates and to upload error reports; it is not accessible to applications or through the command line. Il certificato del cliente, talvolta denominato certificato DAA, può essere usato dalle applicazioni per connettersi a servizi di terze parti, ad esempio wolfSSL, che usano Transport Layer Security (TLS).The customer certificate, sometimes called the DAA certificate, can be used by applications to connect to third-party services such wolfSSL that use transport layer security (TLS). Questo certificato è valido per circa 25 ore.This certificate is valid for about 25 hours. Le applicazioni possono recuperarlo a livello di codice chiamando la funzione DeviceAuth_GetCertificatePath.Applications can retrieve it programmatically by calling the DeviceAuth_GetCertificatePath function.

I dispositivi che si connettono ai servizi basati su Azure, ad esempio hub Azure, IoT Central e IoT Edge devono presentare il certificato della CA Azure Sphere tenant per autenticare il tenant Azure Sphere.Devices that connect to Azure-based services such as Azure IoT Hub, IoT Central, and IoT Edge must present their Azure Sphere tenant CA certificate to authenticate their Azure Sphere tenant. Il comando azsphere CA-certificate download nell'interfaccia della riga di comando restituisce il certificato della CA tenant per tali utilizzi.The azsphere ca-certificate download command in the CLI returns the tenant CA certificate for such uses.

Connessioni di rete EAP-TLSEAP-TLS network connections

I dispositivi che si connettono a una rete EAP-TLS necessitano di certificati per l'autenticazione con il server RADIUS della rete.Devices that connect to an EAP-TLS network need certificates to authenticate with the network’s RADIUS server. Per eseguire l'autenticazione come client, il dispositivo deve passare un certificato client al raggio.To authenticate as a client, the device must pass a client certificate to the RADIUS. Per eseguire l'autenticazione reciproca, il dispositivo deve disporre anche di un certificato CA radice per il server RADIUS in modo che possa autenticare il server.To perform mutual authentication, the device must also have a root CA certificate for the RADIUS server so that it can authenticate the server. Microsoft non fornisce uno di questi certificati; l'utente o l'amministratore di rete è responsabile per verificare l'autorità di certificazione corretta per il server RADIUS della rete e quindi acquisire i certificati necessari dall'emittente.Microsoft does not supply either of these certificates; you or your network administrator are responsible for ascertaining the correct certificate authority for your network’s RADIUS server and then acquiring the necessary certificates from the issuer.

Per ottenere i certificati per il server RADIUS, è necessario eseguire l'autenticazione all'autorità di certificazione.To obtain the certificates for the RADIUS server, you’ll need to authenticate to the certificate authority. A questo scopo, è possibile usare il certificato DAA, come indicato in precedenza.You can use the DAA certificate, as previously mentioned, for this purpose. Dopo aver acquisito i certificati per il server RADIUS, è necessario archiviarli nell'archivio certificati del dispositivo.After acquiring the certificates for the RADIUS server, you should store them in the device certificate store. L'archivio certificati del dispositivo è disponibile solo per l'autenticazione a una rete protetta con EAP-TLS.The device certificate store is available only for use in authenticating to a secured network with EAP-TLS. Il certificato DAA non viene mantenuto nell'archivio certificati del dispositivo e viene mantenuto in modo sicuro nel sistema operativo. Il comando azsphere Device Certificate nell'interfaccia della riga di comando consente di gestire l'archivio certificati dalla riga di comando.(The DAA certificate is not kept in the device certificate store; it is kept securely in the OS.) The azsphere device certificate command in the CLI lets you manage the certificate store from the command line. Azure Sphere applicazioni possono usare l' API CertStore per archiviare, recuperare e gestire i certificati nell'archivio certificati del dispositivo.Azure Sphere applications can use the CertStore API to store, retrieve, and manage certificates in the device certificate store. 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.The CertStore API also includes functions to return information about individual certificates so that apps can prepare for certificate expiration and renewal.

Per informazioni aggiuntive, vedere usare EAP-TLS per una descrizione completa dei certificati usati nella rete EAP-TLS e per informazioni su come proteggere l'accesso Wi-Fi aziendale: EAP-TLS su Azure Sphere in Microsoft Tech community.See Use EAP-TLS for a full description of the certificates used in EAP-TLS networking, and see Secure enterprise Wi-Fi access: EAP-TLS on Azure Sphere on the Microsoft Tech Community for additional information.

Applicazioni Azure SphereAzure Sphere applications

Azure Sphere le applicazioni necessitano di certificati per l'autenticazione ai servizi Web e ad alcune reti.Azure Sphere applications need certificates to authenticate to web services and some networks. A seconda dei requisiti del servizio o dell'endpoint, un'app può usare il certificato DAA o un certificato da un'autorità di certificazione esterna.Depending on the requirements of the service or endpoint, an app may use either the DAA certificate or a certificate from an external certificate authority.

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.Apps that connect to a third-party service using wolfSSL or a similar library can call the DeviceAuth_GetCertificatePath function to get the DAA certificate for authentication. Questa funzione è stata introdotta nell'intestazione deviceauth. h in 20,10 SDK.This function was introduced in the deviceauth.h header in the 20.10 SDK.

La libreria di Azure per le cose che è incorporata in Azure Sphere considera già attendibile la CA radice necessaria, quindi le app che usano questa libreria per accedere ai servizi di Azure Internet (hub, IoT Central, servizio Device provisioning) non richiedono certificati aggiuntivi.The Azure IoT library that is built into Azure Sphere already trusts the necessary root CA, so apps that use this library to access Azure IoT services (IoT Hub, IoT Central, device provisioning service) do not require any additional certificates.

Se le app usano altri servizi di Azure, consultare la documentazione relativa a tali servizi per determinare quali certificati sono necessari.If your apps use other Azure services, check with the documentation for those services to determine which certificates are required.

API pubblica di Azure SphereAzure Sphere Public API

Il Azure Sphere API pubblica (Papi) comunica con il servizio di sicurezza Azure Sphere per richiedere e recuperare informazioni sui dispositivi distribuiti.The Azure Sphere Public API (PAPI) communicates with the Azure Sphere Security Service to request and retrieve information about deployed devices. Il servizio di sicurezza utilizza un certificato TLS per autenticare tali connessioni.The Security Service uses a TLS certificate to authenticate such connections. Ciò significa che qualsiasi codice o script che usa l'API pubblica, insieme a qualsiasi altro client del servizio di sicurezza, ad esempio Azure Sphere SDK (inclusa l'interfaccia della riga di comando azsphere V1 e v2), deve considerare attendibile questo certificato per potersi connettere al servizio di sicurezza.This means that any code or scripts that use the Public API, along with any other Security Service clients such as the Azure Sphere SDK (including both the v1 and v2 azsphere CLI), must trust this certificate to be able to connect to the Security Service. L'SDK usa i certificati nell'archivio certificati di sistema del computer host per la convalida Azure Sphere servizio di sicurezza, come per molte applicazioni API pubbliche.The SDK uses the certificates in the host machine’s system certificate store for Azure Sphere Security Service validation, as do many Public API applications.

Il 13 ottobre 2020 il servizio di sicurezza ha aggiornato il certificato TLS dell'API pubblica su uno emesso dal certificato G2 radice globale DigiCert.On October 13, 2020, the Security Service updated its Public API TLS certificate to one issued from the DigiCert Global Root G2 certificate. I sistemi Windows e Linux includono il certificato DigiCert Global Root G2, quindi il certificato richiesto è immediatamente disponibile.Both Windows and Linux systems include the DigiCert Global Root G2 certificate, so the required certificate is readily available. Tuttavia, come descritto in un post di Blog precedente, solo gli scenari dei clienti che hanno interessato il soggetto, il nome o l'autorità emittente (SNI) che apportano modifiche necessarie per gestire questo aggiornamento.However, as we described in an earlier blog post, only customer scenarios that involved subject, name, or issuer (SNI) pinning required changes to accommodate this update.

Servizio di sicurezza di Azure SphereAzure Sphere Security Service

Azure Sphere servizi cloud in generale e il servizio di sicurezza, in particolare, gestiscono numerosi certificati utilizzati nella comunicazione da servizio a servizio sicura.Azure Sphere cloud services in general, and the Security Service in particular, manage numerous certificates that are used in secure service-to-service communication. La maggior parte di questi certificati è interna ai servizi e ai relativi client, quindi Microsoft coordina gli aggiornamenti in base alle esigenze.Most of these certificates are internal to the services and their clients, so Microsoft coordinates updates as required. Ad esempio, oltre ad aggiornare il certificato TLS dell'API pubblica nel ottobre, il servizio di sicurezza Azure Sphere ha aggiornato anche i relativi certificati TLS per il servizio DAA e il servizio di aggiornamento.For example, in addition to updating the Public API TLS certificate in October, the Azure Sphere Security Service also updated its TLS certificates for the DAA service and Update service. Prima dell'aggiornamento, i dispositivi ricevevano un aggiornamento OTA all'archivio radice attendibile che includeva il nuovo certificato radice richiesto.Prior to the update, devices received an OTA update to the Trusted Root store which included the new required root certificate. Non è necessaria alcuna azione da parte del cliente per gestire la comunicazione del dispositivo con il servizio di sicurezza.No customer action was necessary to maintain device communication with the Security Service.

In che modo Azure Sphere rendere più semplici le modifiche ai certificati per i clienti?How does Azure Sphere make certificate changes easier for customers?

La scadenza del certificato è una delle cause comuni degli errori per i dispositivi internet che Azure Sphere possono impedire.Certificate expiration is a common cause of failures for IoT Devices that Azure Sphere can prevent.

Poiché il prodotto Azure Sphere include sia il sistema operativo sia il servizio di sicurezza, i certificati utilizzati da entrambi i componenti sono gestiti da Microsoft.Because the Azure Sphere product includes both the OS and the Security Service, the certificates used by both these components are managed by Microsoft. I dispositivi ricevono certificati aggiornati tramite il processo DAA, gli aggiornamenti del sistema operativo e dell'applicazione e la segnalazione degli errori senza richiedere modifiche alle applicazioni.Devices receive updated certificates through the DAA process, OS and application updates, and error reporting without requiring changes in applications. Quando Microsoft ha aggiunto il certificato DigiCert Global Root G2, non sono state apportate modifiche ai clienti per continuare con DAA, aggiornamenti o segnalazione errori.When Microsoft added the DigiCert Global Root G2 certificate, no customer changes were required to continue DAA, updates, or error reporting. I dispositivi che erano offline al momento dell'aggiornamento ricevevano l'aggiornamento non appena si riconnettevano a Internet.Devices that were offline at the time of the update received the update as soon as they reconnected to the internet.

Il sistema operativo Azure Sphere include anche la libreria Azure, pertanto se Microsoft apporta ulteriori modifiche ai certificati usati dalle librerie di Azure, la libreria verrà aggiornata nel sistema operativo, in modo che le applicazioni non debbano essere modificate.The Azure Sphere OS also includes the Azure IoT library, so if Microsoft makes further changes to certificates that the Azure IoT libraries use, we will update the library in the OS so that your applications won’t need to be changed. Verranno inoltre fornite informazioni sui post di Blog aggiuntivi relativi a eventuali casi limite o circostanze speciali che potrebbero richiedere modifiche alle applicazioni o agli script.We’ll also let you know through additional blog posts about any edge cases or special circumstances that might require modifications to your apps or scripts.

In entrambi i casi viene illustrato il modo in cui Azure Sphere semplifica la gestione delle applicazioni eliminando la necessità di aggiornamenti di manutenzione delle applicazioni per gestire le modifiche dei certificati.Both of these cases show how Azure Sphere simplifies application management by removing the need for maintenance updates of applications to handle certificate changes. Poiché ogni dispositivo riceve un certificato di aggiornamento come parte dell'attestazione giornaliera, è possibile gestire facilmente l'aggiornamento di qualsiasi certificato gestito localmente usato dai dispositivi e dalle applicazioni.Because every device receives an update certificate as part of its daily attestation, you can easily manage the update of any locally-managed certificates your devices and applications use. Se, ad esempio, l'applicazione convalida l'identità del server line-of-business (come dovrebbe), è possibile distribuire un pacchetto di immagini dell'applicazione aggiornato che includa certificati aggiornati.For example, if your application validates the identity of your line-of-business server (as it should), you can deploy an updated application image package that includes updated certificates. I servizi di aggiornamento dell'applicazione forniti dalla piattaforma Azure Sphere offrono questi aggiornamenti, eliminando la preoccupazione che il servizio di aggiornamento stesso provochi un problema di scadenza del certificato.The application update services provided by the Azure Sphere platform delivers those updates, removing the worry that the update service itself will incur a certificate expiry issue.

Per ulteriori informazioniFor more information

Procedure consigliate per l'implementazione di sette proprietà in Azure SphereBest practices for implementing seven properties in Azure Sphere

Autenticazione dei dispositivi e servizio di attestazione di Azure SphereAzure Sphere Device Authentication and Attestation Service

Aggiornamenti certificati aggiuntivi per Azure SphereAdditional certificate updates for Azure Sphere

Modifiche ai certificati TLS di AzureAzure TLS Certificate Changes

TLS di Azure: le modifiche sono imminenti. (... e perché è necessario prestare attenzioneAzure IoT TLS: Changes are coming! (…and why you should care)