Condividi tramite


Gestore sicurezza di Azure IoT Edge

Si applica a: Icona Sì IoT Edge 1.1

Importante

La data di fine del supporto di IoT Edge 1.1 è stata il 13 dicembre 2022. Controlla il ciclo di vita dei prodotti Microsoft per ottenere informazioni sul modo in cui viene supportato questo prodotto, servizio, tecnologia o API. Per altre informazioni sull'aggiornamento alla versione più recente di IoT Edge, vedere Aggiornare IoT Edge.

Il gestore sicurezza di Azure IoT Edge è una tecnologia di sicurezza ben delimitata per la protezione del dispositivo IoT Edge e di tutti i relativi componenti tramite l'astrazione dell'hardware del processore di sicurezza. Il responsabile della sicurezza è il punto focale per la protezione avanzata e fornisce il punto di integrazione della tecnologia ai produttori di apparecchiature originali (OEM).

Il responsabile della sicurezza astrae l'hardware del processore sicuro in un dispositivo IoT Edge.

Gestore sicurezza di Azure IoT Edge Il responsabile della sicurezza di IoT Edge mira a difendere l'integrità del dispositivo IoT Edge e di tutte le operazioni software intrinseche. Il gestore della sicurezza trasferisce il trust dalla radice hardware sottostante dell'hardware di trust (se disponibile) per eseguire il bootstrap del runtime IoT Edge e monitorare le operazioni in corso. Il gestore sicurezza di IoT Edge è costituito da software che opera in combinazione con l'hardware del processore di sicurezza, se disponibile, per offrire le massime garanzie di sicurezza.

Le responsabilità del gestore sicurezza di IoT Edge includono, in via esemplificativa:

  • Eseguire il bootstrap del dispositivo Azure IoT Edge.
  • Controllare l'accesso alla radice di attendibilità dell'hardware del dispositivo tramite i servizi notarili.
  • Monitorare l'integrità delle operazioni di IoT Edge in fase di esecuzione.
  • Riceve la delega di attendibilità dal modulo di protezione hardware (HSM)
  • Effettuare il provisioning dell'identità del dispositivo e gestire la transizione dell'attendibilità, se applicabile.
  • Ospitare e proteggere i componenti del dispositivo di servizi cloud come il servizio Device Provisioning.
  • Effettuare il provisioning di moduli IoT Edge con identità univoche.

Il gestore della sicurezza di IoT Edge è costituito da tre componenti:

  • Daemon di sicurezza di IoT Edge
  • Livello di astrazione della piattaforma del modulo di sicurezza hardware (HSM PAL)
  • Radice hardware silicon di trust o HSM (facoltativo, ma altamente consigliato)

Daemon di sicurezza di IoT Edge

Il daemon di sicurezza di IoT Edge è responsabile delle operazioni di sicurezza logiche del gestore della sicurezza. Rappresenta una parte significativa della base di elaborazione attendibile del dispositivo IoT Edge.

Principi di progettazione

IoT Edge segue due principi fondamentali: ottimizzare l'integrità operativa e ridurre al minimo il bloat e la varianza.

Ottimizzare l'integrità operativa

Il daemon di sicurezza di IoT Edge opera con il più alto livello di integrità possibile all'interno delle funzionalità di difesa di qualsiasi hardware della radice di attendibilità. Con l'integrazione corretta, l'hardware della radice di attendibilità misura e monitora il daemon di sicurezza in modo statico e in fase di esecuzione per impedire la manomissione. L'accesso fisico dannoso ai dispositivi è sempre una minaccia in IoT. La radice dell'hardware di trust svolge un ruolo importante per difendere l'integrità del dispositivo IoT Edge. La radice di attendibilità dell'hardware si presenta in due varianti:

  • Elementi sicuri per la protezione di informazioni riservate come segreti e chiavi di crittografia.
  • Proteggere le enclave per la protezione di segreti come chiavi e carichi di lavoro sensibili, ad esempio modelli di Machine Learning riservati e operazioni di misurazione.

Esistono due tipi di ambienti di esecuzione per l'uso della radice di attendibilità dell'hardware:

  • L'ambiente di esecuzione standard o avanzato (REE, Rich Execution Environment), che si basa sull'uso di elementi sicuri per proteggere le informazioni riservate.
  • L'ambiente di esecuzione attendibile (TEE, Trusted Execution Environment), che si basa sull'uso della tecnologia delle enclavi sicure per proteggere le informazioni riservate e offrire la protezione per l'esecuzione del software.

Per i dispositivi che usano enclave sicuri come radice di attendibilità hardware, la logica sensibile all'interno del daemon di sicurezza di IoT Edge deve trovarsi all'interno dell'enclave. Le parti non sensibili del daemon di sicurezza possono trovarsi all'esterno dell'ambiente TEE. In tutti i casi, è consigliabile che i produttori di progettazione originali (ODM) e i produttori di apparecchiature originali (OEM) estendono l'attendibilità dal modulo di protezione hardware per misurare e difendere l'integrità del daemon di sicurezza IoT Edge all'avvio e al runtime.

Ridurre al minimo il software bloat e la varianza

Un altro principio di base per il daemon di sicurezza di IoT Edge è la riduzione della varianza. Per il massimo livello di attendibilità, il daemon di sicurezza di IoT Edge può essere strettamente associato alla radice di attendibilità dell'hardware del dispositivo e operare come codice nativo. In questi casi, è comune aggiornare il software IoT Edge tramite la radice hardware dei percorsi di aggiornamento sicuri dell'attendibilità anziché i meccanismi di aggiornamento del sistema operativo, che possono risultare difficili. Il rinnovo della sicurezza è consigliato per i dispositivi IoT, ma requisiti di aggiornamento eccessivi o payload di aggiornamento di grandi dimensioni possono espandere la superficie delle minacce in molti modi. Ad esempio, si potrebbe essere tentati di ignorare alcuni aggiornamenti per ottimizzare la disponibilità dei dispositivi. Di conseguenza, la progettazione del daemon di sicurezza di IoT Edge è concisa per mantenere la base di elaborazione attendibile ben isolata di piccole dimensioni per incoraggiare gli aggiornamenti frequenti.

Architettura

Il daemon di sicurezza di IoT Edge utilizza da qualsiasi tecnologia disponibile per la radice di attendibilità dell'hardware per la protezione avanzata. Consente anche la suddivisione tra un ambiente di esecuzione standard/avanzato (REE) e un ambiente di esecuzione attendibile (TEE), quando le tecnologie hardware offrono ambienti di quest'ultimo tipo. Le interfacce specifiche del ruolo consentono ai componenti principali di assicurare l'integrità del dispositivo IoT Edge e delle relative operazioni.

Architettura del daemon di sicurezza di Azure IoT Edge

Interfaccia cloud

L'interfaccia cloud consente l'accesso ai servizi cloud che integrano la sicurezza dei dispositivi. Ad esempio, questa interfaccia consente l'accesso al servizio Device Provisioning per la gestione del ciclo di vita delle identità dei dispositivi.

API di gestione

L'API di gestione viene chiamata dall'agente IoT Edge durante la creazione/avvio/arresto/rimozione di un modulo IoT Edge. Il daemon di sicurezza archivia le "registrazioni" per tutti i moduli attivi. Queste registrazioni eseguono il mapping dell'identità di un modulo ad alcune proprietà del modulo. Ad esempio, queste proprietà del modulo includono l'identificatore del processo (pid) del processo in esecuzione nel contenitore e l'hash del contenuto del contenitore Docker.

Queste proprietà vengono usate dall'API del carico di lavoro (descritta di seguito) per verificare che il chiamante sia autorizzato per un'azione.

L'API di gestione è un'API con privilegi, che può essere chiamata solo dall'agente di IoT Edge. Poiché il bootstrap del daemon di sicurezza di IoT Edge e avvia l'agente di IoT Edge, verifica che l'agente IoT Edge non sia stato manomesso, quindi può creare una registrazione implicita per l'agente IoT Edge. Lo stesso processo di attestazione impiegato dall'API viene usato anche per limitare l'accesso all'API di gestione solo all'agente di IoT Edge.

API del contenitore

L'API contenitore interagisce con il sistema contenitore in uso per la gestione dei moduli, ad esempio Moby o Docker.

API del carico di lavoro

L'API del carico di lavoro è accessibile a tutti i moduli. Fornisce una prova di identità, come un certificato X509 o un token firmato del modulo di protezione hardware, e il bundle di attendibilità corrispondente a un modulo. Il bundle di attendibilità contiene i certificati della CA per tutti gli altri server che i moduli devono considerare attendibili.

Il daemon di sicurezza di IoT Edge usa un processo di attestazione per proteggere questa API. Quando un modulo chiama l'API, il daemon di sicurezza di IoT Edge tenta di trovare una registrazione per l'identità. Se l'operazione riesce, usa le proprietà della registrazione per misurare il modulo. Se il risultato del processo di misurazione corrisponde alla registrazione, viene generata una nuova prova di identità. I certificati della CA (bundle di attendibilità) corrispondenti vengono restituiti al modulo. Il modulo usa questo certificato per connettersi all'hub IoT o ad altri moduli oppure per avviare un server. Quando il token firmato o il certificato sta per scadere, è responsabilità del modulo richiedere un nuovo certificato.

Integrazione e manutenzione

Microsoft mantiene la base di codice principale per il daemon di sicurezza di IoT Edge su GitHub.

Installazione e aggiornamenti

L'installazione e gli aggiornamenti del daemon di sicurezza di IoT Edge vengono gestiti tramite il sistema di gestione pacchetti del sistema operativo. I dispositivi IoT Edge con una radice di attendibilità dell'hardware devono fornire protezione avanzata aggiuntiva per l'integrità del daemon eseguendo la gestione del relativo ciclo di vita tramite i sistemi di gestione degli aggiornamenti e dell'avvio protetto. I produttori di dispositivi devono esplorare queste strade in base alle funzionalità dei rispettivi dispositivi.

Controllo delle versioni

Il runtime di IoT Edge registra e restituisce la versione del daemon di sicurezza di IoT Edge. La versione è restituita tramite l'attributo runtime.platform.version della proprietà segnalata del modulo dell'agente di IoT Edge.

Modulo di protezione hardware

Il livello di astrazione della piattaforma del modulo di sicurezza hardware (HSM PAL) astrae tutte le radici dell'hardware attendibile per isolare lo sviluppatore o l'utente di IoT Edge dalle loro complessità. Include una combinazione di API (Application Programming Interface) e procedure di comunicazione tra domini, ad esempio per la comunicazione tra un ambiente di esecuzione standard e un'enclave protetta. L'implementazione effettiva del Platform Abstraction Layer del modulo di protezione hardware dipende dallo specifico hardware sicuro in uso. La sua esistenza consente di usare praticamente qualsiasi hardware di processore sicuro.

Hardware della radice di attendibilità per il processore sicuro

Un processore sicuro è necessario per ancorare l'attendibilità nell'hardware del dispositivo IoT Edge. I processori sicuri possono essere di diversi tipi, come Trusted Platform Module (TPM), embedded Secure Element (eSE), Arm TrustZone, Intel SGX e tecnologie per processori sicuri personalizzate. L'uso di una radice di attendibilità con processori sicuri è fortemente consigliato, considerati i rischi associati alla possibilità di accesso fisico ai dispositivi IoT.

Il gestore sicurezza di IoT Edge ha come obiettivo di identificare e isolare i componenti che difendono la sicurezza e l'integrità della piattaforma Azure IoT Edge per la protezione avanzata personalizzata. Le terze parti, come i produttori di dispositivi, devono fare uso delle funzionalità di sicurezza personalizzate disponibili con l'hardware dei relativi dispositivi.

Informazioni su come rafforzare la protezione di Azure IoT con Trusted Platform Module (TPM) usando software o TPM virtuale:

Creare ed effettuare il provisioning di un dispositivo IoT Edge con un TPM virtuale in Linux o Linux in Windows.

Passaggi successivi

Per altre informazioni sulla protezione dei dispositivi IoT Edge, leggere i post di blog seguenti: