Comprensione concettuale dei certificati x.509 nel settore IoTConceptual understanding of X.509 CA certificates in the IoT industry

In questo articolo si descrive il valore dell'uso dei certificati di autorità del certificato X.509 nella produzione e nell'autenticazione del dispositivo all'hub IoT.This article describes the value of using X.509 certificate authority (CA) certificates in IoT device manufacturing and authentication to IoT Hub. Include le informazioni relative alla configurazione della catena di alimentazione ed evidenzia i vantaggi.It includes information about supply chain setup and highlight advantages.

L'articolo illustra:This article describes:

  • Cosa sono i certificati della CA x.509 e come ottenerliWhat X.509 CA certificates are and how to get them

  • Come registrare il certificato della CA X.509 all'hub IoTHow to register your X.509 CA certificate to IoT Hub

  • Come configurare una catena di alimentazione di produzione per un'autenticazione basata sull'autorità di certificazione X.509How to set up a manufacturing supply chain for X.509 CA-based authentication

  • Come si collegano i dispositivi firmati con l'autorità di certificazione X.509 all'hub IoTHow devices signed with X.509 CA connect to IoT Hub

Importante

Le funzionalità seguenti per i dispositivi che usano l'autenticazione dell'autorità di certificazione (CA) X. 509 non sono ancora disponibili a livello generale e la modalità di anteprima deve essere abilitata:The following functionality for devices that use X.509 certificate authority (CA) authentication is not yet generally available, and preview mode must be enabled:

  • HTTPS, MQTT su WebSocket e AMQP su protocolli WebSocket.HTTPS, MQTT over WebSockets, and AMQP over WebSockets protocols.
  • Caricamenti di file (tutti i protocolli).File uploads (all protocols).

È disponibile a livello generale nei dispositivi che usano l'autenticazione con identificazione personale X. 509.It is generally available on devices that use X.509 thumbprint authentication. Per altre informazioni sull'autenticazione X. 509 con l'hub Internet, vedere certificati x. 509 supportati.To learn more about X.509 authentication with IoT Hub, see Supported X.509 certificates.

PanoramicaOverview

L'autenticazione dell'autorità di certificazione X.509 è un approccio per l'autenticazione dei dispositivi nell'hub IoT usando un metodo che semplifica notevolmente la creazione dell'identità del dispositivo e la gestione del ciclo di vita nella catena di alimentazione.X.509 Certificate Authority (CA) authentication is an approach for authenticating devices to IoT Hub using a method that dramatically simplifies device identity creation and life-cycle management in the supply chain.

Un attributo distintivo dell'autenticazione dell'autorità di certificazione X.509 è una relazione uno/molti che un certificato dell'autorità della CA possiede con i dispositivi di downstream.A distinguishing attribute of the X.509 CA authentication is a one-to-many relationship a CA certificate has with its downstream devices. Questa relazione consente la registrazione di un numero qualsiasi di dispositivi nell'hub IoT registrando un certificato dell'autorità di certificazione X.509 una volta, in caso contrario i certificati univoci del dispositivo devono essere pre-registrati per ogni dispositivo prima che un dispositivo possa connettersi.This relationship enables registration of any number of devices into IoT Hub by registering an X.509 CA certificate once, otherwise device unique certificates must be pre-registered for every device before a device can connect. Questa relazione uno/molti semplifica anche le operazioni di gestione del ciclo di vita dei certificati del dispositivo.This one-to-many relationship also simplifies device certificates life-cycle management operations.

Un altro attributo importante dell'autenticazione dell'autorità di certificazione X.509 è una semplificazione della logistica della catena di alimentazione.Another important attribute of the X.509 CA authentication is simplification of supply chain logistics. L'autenticazione sicura dei dispositivi richiede che ogni dispositivo usi un segreto univoco come ad esempio chiave come base per essere considerato attendibile.Secure authentication of devices requires that each device holds a unique secret like a key as basis for trust. Nell'autenticazione basata sui certificati il segreto è una chiave privata.In certificates-based authentication, this secret is a private key. Un tipico flusso di produzione del dispositivo prevede più passaggi e responsabili.A typical device manufacturing flow involves multiple steps and custodians. La gestione sicura delle chiavi private del dispositivo in più responsabili e il mantenimento dell'attendibilità è un'operazione complessa e costosa.Securely managing device private keys across multiple custodians and maintaining trust is difficult and expensive. Usando le autorità di certificazione si risolve questo problema, poiché ogni responsabile firma in una catena di crittografia considerata attendibile invece che dimostrarsi attendibile con delle chiavi private del dispositivo.Using certificate authorities solves this problem by signing each custodian into a cryptographic chain of trust rather than entrusting them with device private keys. Ogni responsabile a turno firma i dispositivi nella rispettiva fase del processo del flusso di produzione.Each custodian in turn signs devices at their respective process step of the manufacturing flow. Il risultato complessivo è una catena di alimentazione ottimale con una responsabilità incorporata tramite l'uso della catena di crittografia di attendibilità.The overall result is an optimal supply chain with built-in accountability through use of the cryptographic chain of trust. Vale la pena notare che questo processo produce maggiore protezione quando i dispositivi proteggono le chiavi private univoche.It is worth noting that this process yields the most security when devices protect their unique private keys. A tal fine, l'utente è invitato a usare i moduli di protezione hardware (HSM) in grado di generare internamente le chiavi private che non vedranno mai la luce del giorno.To this end, we urge the use of Hardware Secure Modules (HSM) capable of internally generating private keys that will never see the light of day.

In questo articolo si offre una vista end-to-end dell'uso dell'autenticazione dell'autorità di certificazione X.509, dalla configurazione della catena di alimentazione alla connessione del dispositivo, mentre si usa un esempio reale per consolidare la comprensione.This article offers an end-to-end view of using the X.509 CA authentication, from supply chain setup to device connection, while making use of a real world example to solidify understanding.

È anche possibile usare i gruppi di registrazione con il servizio Device provisioning in hub Azure (DPS) per gestire il provisioning dei dispositivi negli hub.You can also use enrollment groups with the Azure IoT Hub Device Provisioning Service (DPS) to handle provisioning of devices to hubs. Per altre informazioni sull'uso di DPS per il provisioning dei dispositivi certificati X. 509, vedere esercitazione: effettuare il provisioning di più dispositivi x. 509 usando i gruppi di registrazione.For more information on using DPS to provision X.509 certificate devices, see Tutorial: Provision multiple X.509 devices using enrollment groups.

IntroduzioneIntroduction

Il certificato della CA X.509 è un certificato digitale il cui proprietario può firmare altri certificati.The X.509 CA certificate is a digital certificate whose holder can sign other certificates. Questo certificato digitale è X.509 perché è conforme con uno standard di formattazione dei certificati previsto dallo standard RFC 5280 di IETF ed è un'autorità di certificazione (CA) perché il proprietario può firmare altri certificati.This digital certificate is X.509 because it conforms to a certificate formatting standard prescribed by IETF's RFC 5280 standard, and is a certificate authority (CA) because its holder can sign other certificates.

L'uso dell'autorità di certificazione X.509 viene compreso meglio in relazione a un esempio concreto.The use of X.509 CA is best understood in relation to a concrete example. Prendere in considerazione la Società-X, un creatore di Smart-X-Widgets progettati per l'installazione professionale.Consider Company-X, a maker of Smart-X-Widgets designed for professional installation. La Società-X affida in outsource sia la produzione sia l'installazione.Company-X outsources both manufacturing and installation. Contratta il produttore Azienda-Y per produrre gli Smart-X-Widgets e il fornitore di servizi Tecnico Z per l'installazione.It contracts manufacturer Factory-Y to manufacture the Smart-X-Widgets, and service provider Technician-Z to install. La Società-X vuole che Smart-X-Widget venga spedito direttamente dalla Azienda-Y al Tecnico-Z per l'installazione e che si connetta direttamente all'istanza della Società-X dell'hub IoT dopo l'installazione senza altri interventi da parte della Società-X.Company-X desires that Smart-X-Widget directly ships from Factory-Y to Technician-Z for installation and that it connects directly to Company-X's instance of IoT Hub after installation without further intervention from Company-X. A tale scopo, la Società-X deve completare alcune operazioni di installazione singole per preparare lo Smart-X-Widget alla connessione automatica.To make this happen, Company-X need to complete a few one-time setup operations to prime Smart-X-Widget for automatic connection. Con lo scenario end-to-end in mente, il resto di questo articolo è strutturato come segue:With the end-to-end scenario in mind, the rest of this article is structured as follows:

  • Acquisire il certificato della CA X.509Acquire the X.509 CA certificate

  • Registrare il certificato della CA X.509 a hub IoTRegister X.509 CA certificate to IoT Hub

  • Firmare i dispositivi in una catena di certificatiSign devices into a certificate chain of trust

  • Connessione del dispositivoDevice connection

Acquisire il certificato della CA X.509Acquire the X.509 CA certificate

La Società-X ha la possibilità di acquistare un certificato di autorità di certificazione X.509 da un'autorità di certificazione di radice pubblica o crearne uno tramite un processo autofirmato.Company-X has the option of purchasing an X.509 CA certificate from a public root certificate authority or creating one through a self-signed process. Una soluzione potrebbe essere ottimale rispetto all'altro in base allo scenario dell'applicazione.One option would be optimal over the other depending on the application scenario. Indipendentemente dall'opzione, il processo comporta due passaggi fondamentali, la generazione di una coppia di chiavi pubblica/privata e la firma della chiave pubblica in un certificato.Regardless of the option, the process entails two fundamental steps, generating a public/private key pair and signing the public key into a certificate.

Flusso per la generazione di certificati X509CA

Dettagli su come l'esecuzione di questi passaggi cambi con provider di servizio diversi.Details on how to accomplish these steps differ with various service providers.

Acquistare un certificato della CA X.509Purchasing an X.509 CA certificate

Il vantaggio dell'acquisto di un certificato della CA risiede nell'avere un atto della CA radice ben noto che funge da terza parte attendibile a garanzia della legittimità dei dispositivi IoT quando si connettono i dispositivi.Purchasing a CA certificate has the benefit of having a well-known root CA act as a trusted third party to vouch for the legitimacy of IoT devices when the devices connect. La società-X sceglie questa opzione se si vuole che Smart-X-Widget interagisca con prodotti o servizi di terze parti dopo la connessione iniziale all'hub.Company-X would choose this option if they intend Smart-X-Widget to interact with third-party products or services after initial connection to IoT Hub.

Per acquistare un certificato di autorità di certificazione X.509, la Società-X sceglie un provider di servizi dei certificati radice.To purchase an X.509 CA certificate, Company-X would choose a root certificates services provider. Una ricerca su internet per la frase 'Autorità di certificazione radice' genererà lead validi.An internet search for the phrase 'Root CA' will yield good leads. La CA radice guiderà la Società-X su come creare la coppia di chiavi pubblica/privata e su come generare una Richiesta di firma del certificato (CSR) per i servizi.The root CA will guide Company-X on how to create the public/private key pair and how to generate a Certificate Signing Request (CSR) for their services. Una richiesta di firma del certificato è il processo formale di richiesta di un certificato da parte di un'autorità di certificazione.A CSR is the formal process of applying for a certificate from a certificate authority. Il risultato dell'acquisto è un certificato da usare come certificato di autorità.The outcome of this purchase is a certificate for use as an authority certificate. Data la grande diffusione di certificati X.509, è probabile che il certificato sia stato formattato correttamente in relazione allo standard IETF RFC 5280.Given the ubiquity of X.509 certificates, the certificate is likely to have been properly formatted to IETF's RFC 5280 standard.

Creazione di un certificato della CA autofirmato X.509Creating a Self-Signed X.509 CA certificate

Il processo di creazione di un certificato della CA Self-Signed X. 509 è simile all'acquisto, ad eccezione del coinvolgimento di un firmatario di terze parti come l'autorità di certificazione radice.The process to create a Self-Signed X.509 CA certificate is similar to purchasing with the exception of involving a third-party signer like the root certificate authority. In questo esempio, la Società-X firmerà il certificato dell'autorità invece che un'autorità di certificazione radice.In our example, Company-X will sign its authority certificate instead of a root certificate authority. La Società-X può scegliere questa opzione per verificare fino a che punto è in grado di acquistare un certificato di autorità.Company-X may choose this option for testing until they're ready to purchase an authority certificate. La società-X può anche usare un certificato della CA autofirmato X. 509 in produzione, se Smart-X-widget non è destinato a connettersi a servizi di terze parti all'esterno dell'hub Internet.Company-X may also use a self-signed X.509 CA certificate in production, if Smart-X-Widget is not intended to connect to any third-party services outside of the IoT Hub.

Registrare il certificato X.509 all'hub IoTRegister the X.509 certificate to IoT Hub

La Società-X deve registrare l'autorità di certificazione X.509 sull'hub IoT in cui verrà usata per autenticare gli Smart-X-Widgets al momento della connessione.Company-X needs to register the X.509 CA to IoT Hub where it will serve to authenticate Smart-X-Widgets as they connect. Si tratta di un processo unico che offre la possibilità di autenticare e gestire un numero qualsiasi di dispositivi Smart-X-Widget.This is a one-time process that enables the ability to authenticate and manage any number of Smart-X-Widget devices. Si tratta di un processo monouso a causa di una relazione uno-a-molti tra certificati della CA e certificati del dispositivo firmati dal certificato della CA o da un certificato intermedio.This is a one-time process because of a one-to-many relationship between CA certificate and device certificates that are signed by the CA certificate or an intermediate certificate. Questa relazione rappresenta uno dei principali vantaggi dell'utilizzo del metodo di autenticazione della CA X. 509.This relationship constitutes one of the main advantages of using the X.509 CA authentication method. L'alternativa consiste nel caricare le identificazioni personali del certificato singolo per ogni dispositivo Smart-X-Widget aggiungendo così dei costi operativi.The alternative is to upload individual certificate thumbprints for each and every Smart-X-Widget device thereby adding to operational costs.

La registrazione del certificato della CA X.509 è un processo in due fasi, il caricamento del certificato e la proof-of-possession del certificato.Registering the X.509 CA certificate is a two-step process, the certificate upload and certificate proof-of-possession.

Registrazione di un certificato X509CA

Caricamento del certificato della CA X.509X.509 CA Certificate Upload

Il processo di caricamento del certificato della CA X.509 è proprio quello di caricare il certificato della CA nell'hub IoT.The X.509 CA certificate upload process is just that, upload the CA certificate to IoT Hub. Hub IoT si aspetta il certificato in un file.IoT Hub expects the certificate in a file. La Società-X semplicemente carica il file del certificato.Company-X simply uploads the certificate file. Il file del certificato NON DEVE in nessuna circostanza contenere chiavi private.The certificate file MUST NOT under any circumstances contain any private keys. Le procedure consigliate dagli standard che regolano l'infrastruttura a chiave pubblica (PKI) impongono che la conoscenza delle informazioni provate della Società-X in questo caso risieda esclusivamente all'interno della Società-X.Best practices from standards governing Public Key Infrastructure (PKI) mandates that knowledge of Company-X's private in this case resides exclusively within Company-X.

Proof-of-Possession del certificatoProof-of-Possession of the Certificate

Il certificato della CA X.509, come qualsiasi certificato digitale, contiene informazioni pubbliche che sono soggette a intercettazione.The X.509 CA certificate, just like any digital certificate, is public information that is susceptible to eavesdropping. Di conseguenza, un utente malintenzionato può intercettare un certificato e provare a caricarlo come proprio.As such, an eavesdropper may intercept a certificate and try to upload it as their own. In questo esempio, l'hub IoT desidera assicurarsi che il certificato della CA che la Società-X sta caricando appartenga davvero alla Società-X.In our example, IoT Hub would like to make sure that the CA certificate Company-X is uploading really belongs to Company-X. Questa operazione viene eseguita da una sfida aziendale-X per dimostrare di avere effettivamente il certificato tramite un flusso di proof-of-Possession (pop).It does so by challenging Company-X to prove that they in fact possess the certificate through a proof-of-possession (PoP) flow. Il flusso di proof-of-possession comporta che la generazione di un numero casuale da parte dell'hub IoT sia firmata dalla Società-X con la propria chiave privata.The proof-of-possession flow entails IoT Hub generating a random number to be signed by Company-X using its private key. Se la Società-X ha seguito le procedure consigliate dell'infrastruttura a chiave pubblica e ha protetto la propria chiave privata, allora è l'unica nella posizione di poter rispondere correttamente alla richiesta di proof-of-possession.If Company-X followed PKI best practices and protected their private key then only they would be in position to correctly respond to the proof-of-possession challenge. L'hub IoT prosegue per registrare il certificato della CA di X.509 al momento di una risposta con esito positivo della richiesta di proof-of-possession.IoT Hub proceeds to register the X.509 CA certificate upon a successful response of the proof-of-possession challenge.

Una risposta corretta alla richiesta di proof-of-possession da parte dell'hub IoT completa la registrazione dell'autorità di certificazione X.509.A successful response to the proof-of-possession challenge from IoT Hub completes the X.509 CA registration.

Firmare i dispositivi in una catena di certificatiSign Devices into a Certificate Chain of Trust

IoT richiede che ogni dispositivo disponga di un'identità univoca.IoT requires every device to possess a unique identity. Queste identità sono assumono la forma di certificati per gli schemi di autenticazione basati sui certificati.These identities are in the form certificates for certificate-based authentication schemes. In questo esempio ciò significa che ogni Smart-X-Widget deve possedere un certificato univoco del dispositivo.In our example, this means every Smart-X-Widget must possess a unique device certificate. Come fa la Società-X a configurarlo nella catena di alimentazione?How does Company-X setup for this in its supply chain?

Un modo per farlo è quello di pre-generare i certificati per gli Smart-X-widget e affidare la conoscenza delle chiavi private del dispositivo univoco corrispondenti ai partner della catena di alimentazione.One way to go about this is to pre-generate certificates for Smart-X-Widgets and entrusting knowledge of corresponding unique device private keys with supply chain partners. Per la Società-X, ciò significa conferire attendibilità all'Azienda-Y e al Tecnico-Z.For Company-X, this means entrusting Factory-Y and Technician-Z. Benché questo sia un metodo valido, è dotato di richieste che devono essere soddisfatte per assicurare l'attendibilità come indicato di seguito:While this is a valid method, it comes with challenges that must be overcome to ensure trust as follows:

  1. La necessità di condividere delle chiavi private del dispositivo con i partner della catena di alimentazione, oltre a ignorare le procedure consigliate dell'infrastruttura PKI di non condividere mai le chiavi private, rende costosa la costruzione dell'attendibilità nella catena di alimentazione.Having to share device private keys with supply chain partners, besides ignoring PKI best practices of never sharing private keys, makes building trust in the supply chain expensive. Ciò comporta che debbano essere installati sistemi di capitale come stanze protette per le chiavi private del dispositivo in casa e processi quali controlli di sicurezza periodici.It means capital systems like secure rooms to house device private keys, and processes like periodic security audits need to be installed. Entrambi comportano dei costi aggiuntivi per la catena di alimentazione.Both add cost to the supply chain.

  2. Considerando in modo sicuro i dispositivi nella catena di alimentazione e gestendoli in un secondo momento nella distribuzione diventa un'attività di uno a uno per ogni coppia di chiave nel dispositivo dalla generazione del punto del certificato univoco del dispositivo (chiave privata) al ritiro del dispositivo.Securely accounting for devices in the supply chain and later managing them in deployment becomes a one-to-one task for every key-to-device pair from the point of device unique certificate (hence private key) generation to device retirement. Ciò preclude la gestione del gruppo di dispositivi a meno che il concetto di gruppi sia in qualche modo integrato in modo esplicito nel processo.This precludes group management of devices unless the concept of groups is explicitly built into the process somehow. La gestione della contabilità e del ciclo di vita del dispositivo, pertanto, diventa un onere difficile di operazioni.Secure accounting and device life-cycle management, therefore, becomes a heavy operations burden. In questo esempio, la Società-X dovrebbe occuparsi del carico di lavoro.In our example, Company-X would bear this burden.

L'autenticazione del certificato della CA X.509 offre soluzioni eleganti per affrontare le richieste elencate tramite l'uso di catene di certificati.X.509 CA certificate authentication offers elegant solutions to afore listed challenges through the use of certificate chains. Una catena di certificati è il risultato di una CA che firma una CA intermedia che a sua volta firma un'altra CA intermedia e così via fino a che una CA intermedia finale non firma un dispositivo.A certificate chain results from a CA signing an intermediate CA that in turn signs another intermediate CA and so goes on until a final intermediate CA signs a device. In questo esempio, la Società-X firma l'Azienda-Y, che a sua volta firma il Tecnico-Z che infine firma lo Smart-X-Widget.In our example, Company-X signs Factory-Y, which in turn signs Technician-Z that finally signs Smart-X-Widget.

Gerarchia della catena di certificati

La precedente sequenza di certificati nella catena presenta la logica consegna dell'autorità.Above cascade of certificates in the chain presents the logical hand-off of authority. Molte catene di alimentazione seguono questa consegna logica in base alla quale ogni autorità di certificazione intermedia viene firmata nella catena mentre riceve tutti i certificati della CA in upstream e l'ultima CA intermedia infine firma ogni dispositivo e inserisce tutti i certificati di autorità dalla catena al dispositivo.Many supply chains follow this logical hand-off whereby each intermediate CA gets signed into the chain while receiving all upstream CA certificates, and the last intermediate CA finally signs each device and inject all the authority certificates from the chain into the device. Questo è comune quando la società di produzione del contratto con una gerarchia di aziende contratta un'azienda specifica per eseguire la produzione.This is common when the contract manufacturing company with a hierarchy of factories commissions a particular factory to do the manufacturing. Nel corso della gerarchia ci potrebbero essere più livelli (ad esempio, per tipo di prodotto/geografia linea di produzione/tipo), solo l'azienda alla fine ottiene di interagire con il dispositivo, ma la catena è gestita dalla parte superiore della gerarchia.While the hierarchy may be several levels deep (for example, by geography/product type/manufacturing line), only the factory at the end gets to interact with the device but the chain is maintained from the top of the hierarchy.

Delle catene alternative potrebbero avere diverse CA intermedie che interagiscono con il dispositivo, in tal caso l'autorità di certificazione che interagisce con il dispositivo inserisce il contenuto della catena di certificati in quel punto.Alternate chains may have different intermediate CA interact with the device in which case the CA interacting with the device injects certificate chain content at that point. I modelli ibridi sono anche possibili laddove solo alcune delle autorità di certificazione abbiano un'interazione fisica con il dispositivo.Hybrid models are also possible where only some of the CA has physical interaction with the device.

In questo esempio, sia l'Azienda-Y sia il Tecnico-Z interagiscono con lo Smart-X-Widget.In our example, both Factory-Y and Technician-Z interact with the Smart-X-Widget. Anche se la Società-X è la proprietaria dello Smart-X-Widget, non interagisce effettivamente con esso nell'intera catena di alimentazione.While Company-X owns Smart-X-Widget, it actually does not physically interact with it in the entire supply chain. La catena di certificati di attendibilità per lo Smart-X-Widget comporta pertanto che la Società-X firmi per l'Azienda-Y che a sua volta firma per il Tecnico-Z che fornirà quindi la firma finale allo Smart-X-Widget.The certificate chain of trust for Smart-X-Widget therefore comprise Company-X signing Factory-Y which in turn signs Technician-Z that will then provide final signature to Smart-X-Widget. La produzione e l'installazione dello Smart-X-Widget comporta che l'Azienda-Y e il Tecnico-Z usino i loro rispettivi certificati CA intermedi per firmare ogni Smart-X-Widget.The manufacture and installation of Smart-X-Widget comprise Factory-Y and Technician-Z using their respective intermediate CA certificates to sign each and every Smart-X-Widgets. Il risultato finale di questo processo è lo Smart-X-widget con certificati univoci del dispositivo e una catena di certificati attendibili che va fino al certificato della CA della Società-X.The end result of this entire process is Smart-X-Widgets with unique device certificates and certificate chain of trust going up to Company-X CA certificate.

Catena di trust dai certificati di una società ai certificati di un'altra società

Questo è una buona occasione per esaminare il valore del metodo della CA X.509.This is a good point to review the value of the X.509 CA method. Invece di pre-generare e distribuire i certificati per ogni Smart-X-Widget nella catena di alimentazione, la Società-X firma solo una volta per l'Azienda-Y.Instead of pre-generating and handing off certificates for every Smart-X-Widget into the supply chain, Company-X only had to sign Factory-Y once. Invece di tenere traccia di ogni dispositivo in tutto il ciclo di vita dei dispositivi, la Società-X potrebbe adesso monitorare e gestire i dispositivi tramite i gruppi che emergono naturalmente dal processo della catena di alimentazione, ad esempio, i dispositivi installati dal Tecnico-Z dopo luglio di un qualunque anno.Instead of having to track every device throughout the device's life-cycle, Company-X may now track and manage devices through groups that naturally emerge from the supply chain process, for example, devices installed by Technician-Z after July of some year.

Ultima cosa, ma non meno importante, il metodo di autenticazione della CA garantisce una contabilità protetta nella catena di alimentazione del dispositivo.Last but not least, the CA method of authentication infuses secure accountability into the device manufacturing supply chain. A causa del processo della catena di certificati, le azioni di ogni membro nella catena sono registrate e crittograficamente e verificabili.Because of the certificate chain process, the actions of every member in the chain is cryptographically recorded and verifiable.

Questo processo si basa su alcuni presupposti che devono essere resi visibili per motivi di completezza.This process relies on certain assumptions that must be surfaced for completeness. È necessaria la creazione indipendente della coppia di chiavi pubblica/privata univoche del dispositivo e che la chiave privata sia protetta all'interno del dispositivo.It requires independent creation of device unique public/private key pair and that the private key be protected within the device. Fortunatamente esistono dei chip in silicone protetti sotto forma di moduli di protezione hardware (HSM) in grado di generare chiavi internamente e proteggere le chiavi private.Fortunately, secure silicon chips in the form of Hardware Secure Modules (HSM) capable of internally generating keys and protecting private keys exist. La Società X deve solo aggiungere uno di tali chips alla distinta di base dei componenti del Smart-X-Widget.Company-X only need to add one of such chips into Smart-X-Widget's component bill of materials.

Connessione del dispositivoDevice Connection

Le sezioni precedenti hanno lavorato per la costruzione della connessione del dispositivo.Previous sections above have been building up to device connection. Registrando semplicemente un certificato della CA X.509 all'hub IoT una volta, come possono potenzialmente milioni di dispositivi connettersi e ottenere l'autenticazione dal primo momento?By simply registering an X.509 CA certificate to IoT Hub one time, how do potentially millions of devices connect and get authenticated from the first time? Semplice. Tramite lo stesso caricamento del certificato e lo stesso flusso di proof-of-possession che si è verificato in precedenza con la registrazione del certificato della CA X.509.Simple; through the same certificate upload and proof-of-possession flow we earlier encountered with registering the X.509 CA certificate.

I dispositivi prodotti per l'autenticazione della CA X.509 sono dotati di certificati univoci del dispositivo e di una catena di certificati dalle rispettive catena di alimentazione della produzione.Devices manufactured for X.509 CA authentication are equipped with device unique certificates and a certificate chain from their respective manufacturing supply chain. La connessione del dispositivo, anche per la prima volta, ha luogo in un processo a due fasi: il caricamento della catena di certificati e la proof-of-possession.Device connection, even for the very first time, happens in a two-step process: certificate chain upload and proof-of-possession.

Durante il caricamento della catena di certificati, il dispositivo carica il proprio certificato univoco del dispositivo insieme alla catena di certificati installata all'interno di esso nell'hub IoT.During the certificate chain upload, the device uploads its device unique certificate together with the certificate chain installed within it to IoT Hub. Usando il certificato della CA X.509 pre-registrato, l'hub IoT può convalidare crittograficamente un paio di elementi, che la catena di certificati caricata è internamente coerente e che la catena è stata originata dal proprietario valido del certificato della CA X.509.Using the pre-registered X.509 CA certificate, IoT Hub can cryptographically validate a couple of things, that the uploaded certificate chain is internally consistent, and that the chain was originated by the valid owner of the X.509 CA certificate. È quanto accade con il processo di registrazione della CA di X.509, l'hub IoT dovrebbe avviare un processo di richiesta-risposta di proof-of-possession per verificare che la catena e pertanto il certificato del dispositivo appartenga effettivamente al dispositivo che lo sta caricando.Just was with the X.509 CA registration process, IoT Hub would initiate a proof-of-possession challenge-response process to ascertain that the chain and hence device certificate actually belongs to the device uploading it. Agisce in questo modo generando una richiesta casuale che deve essere firmata dal dispositivo usando la chiave privata per la convalida da parte di hub IoT.It does so by generating a random challenge to be signed by the device using its private key for validation by IoT Hub. Una risposta corretta attiva hub IoT per accettare il dispositivo come autentico e concedergli la connessione.A successful response triggers IoT Hub to accept the device as authentic and grant it connection.

In questo esempio, ciascun Smart-X-Widget potrebbe caricare il proprio certificato univoco del dispositivo insieme ai certificati della CA X.509 dell'Azienda-Y e del Tecnico-Z e quindi rispondere alla richiesta di proof-of-possession dall'hub IoT.In our example, each Smart-X-Widget would upload its device unique certificate together with Factory-Y and Technician-Z X.509 CA certificates and then respond to the proof-of-possession challenge from IoT Hub.

Flusso da un certificato a un altro, pop Challenge dall'hub

Si noti che la base della relazione di attendibilità risiede nelle chiavi private di protezione che comprendono le chiavi private del dispositivo.Notice that the foundation of trust rests in protecting private keys including device private keys. Pertanto è fondamentale sottolineare l'importanza dei chip di sicurezza in silicone sotto forma di moduli di protezione hardware (HSM) per la protezione delle chiavi private del dispositivo e la procedura consigliata complessiva di non condividere mai le chiavi private, come ad esempio affidare a un'altra azienda la propria chiave privata.We therefore cannot stress enough the importance of secure silicon chips in the form of Hardware Secure Modules (HSM) for protecting device private keys, and the overall best practice of never sharing any private keys, like one factory entrusting another with its private key.