Condividi tramite


Identità e sicurezza del dispositivo

È possibile distribuire e gestire più dispositivi contemporaneamente. La gestione dei dispositivi si basa sulla capacità di identificare e accedere a ogni dispositivo singolarmente quando necessario. Per consentire l'operazione, a ogni dispositivo Azure Sphere viene assegnato un ID di dispositivo interno univoco che persiste tramite gli eventuali aggiornamenti del dispositivo, incluse le operazioni di ripristino.

Tuttavia, nei sistemi digitali, l'ID di un dispositivo può essere facilmente falsificato, contraffatto o usato in modo improprio. Di conseguenza, è consigliabile consentire solo ai dispositivi le cui identità possono essere verificate e convalidate per accedere ai dati estremamente preziosi e connettersi ai servizi.

Azure Sphere fornisce un processo per consentire a un dispositivo di identificarsi (autenticazione) e per confermare l'identità del dispositivo (attestazione). Il processo di autenticazione e attestazione usato dal servizio di sicurezza Azure Sphere utilizza chiavi note, comunicazioni sicure e hardware specializzato per confermare l'identità di un dispositivo. Se l'autenticazione e l'attestazione del dispositivo hanno esito positivo, viene rilasciato un certificato al dispositivo. Un certificato valido indica che:

  • L'identità del dispositivo è stata verificata.
  • Il dispositivo può essere considerato attendibile.

Con Azure Sphere, i certificati del dispositivo vengono prima collegati a un certificato a livello di tenant (consentendo a un'organizzazione di considerare attendibili solo i dispositivi dei propri tenant) e quindi a un certificato Microsoft, che indica che Microsoft ha convalidato che questo hardware è un'istanza verificata di un chip Azure Sphere certificato che esegue un sistema operativo Microsoft protetto.

I concetti seguenti consentono di usare l'identità del dispositivo nei modi più sicuri ed efficaci:

  • La fiducia è transitoria
    L'attendibilità in un sistema può andare persa e può essere riconquistata. Un principio di implementazione dell'architettura Zero Trust in un sistema IoT consiste nel verificare in modo esplicito. Questo significa che ogni volta che si ha un'interazione con un dispositivo, determinare in modo esplicito l'autenticità del dispositivo e dimostrare che la transazione dati è attendibile. I dispositivi Azure Sphere eseguono automaticamente un processo di autenticazione e attestazione ogni 24 ore con i servizi di sicurezza cloud Azure Sphere. Un'indicazione che l'identità di un dispositivo è stata verificata correttamente è la presenza di un certificato firmato crittograficamente, rootato nel servizio Microsoft Azure Sphere Cloud Security Service.

  • Identità = identificatori + attestazione
    Gli identificatori possono essere copiati e duplicati. Di conseguenza, un dispositivo non può essere semplicemente conosciuto dal suo identificatore. L'identità di un dispositivo (o l'identità di un utente) deve essere considerata una combinazione di un identificatore e di un attestazione che tale identificatore è valido all'interno di un contesto specifico. Non è consigliabile assegnare identificatori ai dispositivi e usarli indipendentemente dal processo di attestazione. Se possibile, combina gli identificatori con l'attestazione a ogni livello di interazione all'interno dei tuoi sistemi.

  • Identificatori e certificati attendibili
    Un identificatore deve essere considerato non più di un riferimento. Da solo non deve essere considerato per indicare nulla sull'attendibilità dell'oggetto a cui fa riferimento. Ad esempio, utilizzare un identificatore per sottoscrivere messaggi MQTT, utilizzare un identificatore per raggruppare i dati attendibili all'interno di un portale e utilizzare identificatori per instradare il traffico e i dati in un sistema. Tuttavia, quando si tratta di considerare attendibile, anziché considerare attendibile l'identificatore, considerare attendibile un certificato con firma crittografica e concatenato. I certificati sono particolarmente utili per il flusso di dati senza password tra i componenti di sistema e sono prove di identificazione che è stata testata e che si è rivelata attendibile all'interno di un contesto specifico.

Quando si usa hub IoT di Azure, se configurati in base a raccomandazioni documentate, questi concetti sono già incorporati, semplificando la distribuzione di un sistema protetto e resiliente.

Questi concetti devono essere applicati anche quando ci si connette a endpoint o servizi non Azure che si controllano direttamente. Ad esempio, se si utilizza MQTT, un dispositivo può includere la propria identità nell'ambito dell'argomento MQTT su cui pubblica. Tuttavia, prima di accettare un aggiornamento di argomento dal dispositivo, il server MQTT deve verificare che il certificato fornito dal dispositivo lo autentica per la pubblicazione su questo argomento specifico.

Certificato dispositivo Azure Sphere e accesso all'ID dispositivo

  • Per accedere a un certificato dispositivo nell'applicazione, usare la funzione DeviceAuth_GetCertificatePath .

  • Per accedere all'ID dispositivo univoco del dispositivo, analizzare l'oggetto dal certificato fornito dalla funzione DeviceAuth_GetCertificatePath() usando la funzione wolfSSL_X509_get_subject_name .

Il frammento di codice Get Azure Sphere Device ID illustra come ottenere l'ID dispositivo Azure Sphere in un'applicazione di alto livello. Restituisce l'ID dispositivo come buffer di caratteri di 128 caratteri. Questo frammento comandi wolfSSL per aprire una sessione con il certificato, estrarre il contesto e il certificato, analizzare l'ID oggetto del certificato, che è l'ID dispositivo per i dispositivi Azure Sphere, e restituirlo come char puntatore.