Che cos'è Azure Sphere?

Azure Sphere è una piattaforma di applicazioni protetta e di alto livello con funzionalità di comunicazione e sicurezza integrate per i dispositivi connessi a Internet. È costituito da un'unità di microcontroller (MCU) protetta, connessa e crossover, un sistema operativo personalizzato basato su Linux (OS) e un servizio di sicurezza basato sul cloud che fornisce sicurezza continua e rinnovabile.

Azure Sphere MCU integra funzionalità di elaborazione in tempo reale con la possibilità di eseguire un sistema operativo di alto livello. Una MCU Azure Sphere, insieme al sistema operativo e alla piattaforma dell'applicazione, consente la creazione di dispositivi protetti connessi a Internet che possono essere aggiornati, controllati, monitorati e mantenuti in remoto. Un dispositivo connesso che include una MCU Azure Sphere, insieme o al posto di una MCU esistente, offre maggiore sicurezza, produttività e opportunità. Per esempio:

  • Un ambiente applicativo protetto, connessioni autenticate e l'uso esplicito delle periferiche riducono al minimo i rischi per la sicurezza dovuti, tra l'altro, allo spoofing, al software canaglia o ad attacchi denial-of-service.
  • Gli aggiornamenti software possono essere distribuiti automaticamente dal cloud a qualsiasi dispositivo connesso per risolvere i problemi, fornire nuove funzionalità o contrastare i metodi di attacco emergenti, migliorando così la produttività del personale di supporto.
  • I dati sull'utilizzo del prodotto possono essere segnalati al cloud tramite una connessione protetta per facilitare la diagnosi dei problemi e la progettazione di nuovi prodotti, aumentando così le opportunità di assistenza al prodotto, interazioni positive con i clienti e sviluppo futuro.

Il servizio di sicurezza Azure Sphere è un aspetto integrante di Azure Sphere. Utilizzando questo servizio, gli MCUs azure sphere si connettono in modo sicuro al cloud e al Web. Il servizio garantisce che il dispositivo si avvii solo con una versione autorizzata di software originale approvato. Inoltre, fornisce un canale protetto attraverso il quale Microsoft può scaricare e installare automaticamente gli aggiornamenti del sistema operativo per i dispositivi distribuiti nel campo per ridurre i problemi di sicurezza. Non è richiesto l'intervento del produttore né dell'utente finale, chiudendo così un foro di sicurezza comune.

Nota

Azure Sphere fa riferimento all'interfaccia basata su PAPI come Azure Sphere (legacy) e all'anteprima pubblica integrata di Azure Resource Manager interfaccia come Azure Sphere (integrato).

Durante l'anteprima pubblica, è consigliabile usare Azure Sphere (integrato) solo a scopo di sviluppo e test. Come procedura consigliata, i casi d'uso di produzione non devono usare un prodotto Preview. Pertanto, per i casi d'uso di produzione è consigliabile continuare a usare l'interfaccia del servizio azure sphere security esistente, ora nota come Azure Sphere (legacy), che continua a essere completamente supportata e disponibile a livello generale.

Scenario Azure Sphere

Per comprendere il funzionamento di Azure Sphere in un ambiente reale, considerare questo scenario.

Contoso, Ltd., è un produttore di prodotti di beni bianchi che incorpora una MCU Azure Sphere nelle lavastoviglie. La lavastoviglie DW100 abbina la MCU con diversi sensori e un'applicazione di alto livello integrata che funziona su Azure Sphere MCU. L'applicazione comunica con il servizio di sicurezza Azure Sphere e con i servizi cloud di Contoso. Il diagramma seguente illustra questo scenario:

Si connette a lavastoviglie IoT, Security Service e manufacturer in cloud catalogContoso network-connected

A partire dall'alto a sinistra e procedendo in senso orario:

  • Microsoft rilascia gli aggiornamenti per il sistema operativo Azure Sphere tramite il servizio azure sphere security.

  • La progettazione del prodotto Contoso rilascia gli aggiornamenti per l'applicazione DW100 tramite il servizio azure sphere security.

  • Il servizio di sicurezza Azure Sphere distribuisce in modo sicuro il sistema operativo aggiornato e il software dell'applicazione Contoso DW100 nelle lavastoviglie nelle posizioni degli utenti finali.

  • Il supporto per lavastoviglie Contoso comunica con il servizio di sicurezza Azure Sphere per determinare quale versione del software Azure Sphere e il software dell'applicazione DW100 deve essere in esecuzione su ogni dispositivo dell'utente finale e raccogliere eventuali dati di segnalazione errori segnalati al servizio. Il supporto per lavastoviglie Contoso comunica anche con il servizio cloud Contoso per ulteriori informazioni.

  • I servizi cloud Contoso supportano le applicazioni per la risoluzione dei problemi, l'analisi dei dati e l'interazione con i clienti. I servizi cloud di Contoso possono essere ospitati da Microsoft Azure, dal servizio cloud di un altro fornitore o dal cloud di Contoso.

  • I modelli Contoso DW100 nelle posizioni degli utenti finali scaricano software del sistema operativo e delle applicazioni aggiornati tramite la connessione al servizio di sicurezza Azure Sphere. Possono anche comunicare con l'applicazione di servizio cloud di Contoso per segnalare altri dati.

Ad esempio, i sensori sulla lavastoviglie potrebbero monitorare la temperatura dell'acqua, la temperatura di asciugatura e il livello dell'agente di lavaggio e caricare questi dati nei servizi cloud di Contoso, dove un'applicazione di servizio cloud la analizza per individuare potenziali problemi. Se la temperatura di asciugatura sembra insolitamente calda o fredda, il che potrebbe indicare una parte non riuscita, Contoso esegue la diagnostica in remoto e notifica al cliente che sono necessarie riparazioni. Se la lavastoviglie è in garanzia, l'applicazione del servizio cloud potrebbe anche garantire che il centro riparazioni locale del cliente disponga della parte sostitutiva, riducendo così le visite di manutenzione e i requisiti di inventario. Analogamente, se l'agente di lavaggio è basso, la lavastoviglie potrebbe indicare al cliente di acquistare altro agente di lavaggio direttamente dal produttore.

Tutte le comunicazioni avvengono su connessioni protette autenticate. Il supporto e il personale tecnico di Contoso possono visualizzare i dati usando il servizio Azure Sphere Security, le funzionalità di Microsoft Azure o un'applicazione di servizio cloud specifica di Contoso. Contoso può anche fornire applicazioni Web e mobili per i clienti, con le quali i proprietari di lavastoviglie possono richiedere assistenza, monitorare l'uso delle risorse lavastoviglie o interagire in altro modo con l'azienda.

Con gli strumenti di distribuzione di Azure Sphere, Contoso si rivolge a ogni aggiornamento software dell'applicazione al modello di lavastoviglie appropriato e il servizio azure sphere security distribuisce gli aggiornamenti software ai dispositivi corretti. Nelle lavastoviglie possono essere installati solo aggiornamenti software firmati e verificati.

Azure Sphere e le sette proprietà dei dispositivi altamente protetti

Un obiettivo principale della piattaforma Azure Sphere è fornire una sicurezza di alto valore a basso costo, in modo che i dispositivi basati su microcontroller sensibili ai prezzi possano connettersi a Internet in modo sicuro e affidabile. Poiché i giocattoli, gli elettrodomestici e altri dispositivi connessi alla rete diventano comuni, la sicurezza è della massima importanza. Non solo l'hardware del dispositivo deve essere protetto, ma anche il software e le connessioni cloud. Un calo della sicurezza in qualsiasi punto dell'ambiente operativo minaccia l'intero prodotto e, potenzialmente, qualsiasi cosa o chiunque nelle vicinanze.

In base all'esperienza pluridecennale di Microsoft in materia di sicurezza internet, il team azure sphere ha identificato sette proprietà di dispositivi altamente protetti. La piattaforma Azure Sphere è progettata intorno a queste sette proprietà:

Radice di trust basata sull'hardware. Una radice di trust basata sull'hardware garantisce che il dispositivo e la sua identità non possano essere separati, impedendo così la falsificazione o lo spoofing del dispositivo. Ogni MCU Azure Sphere è identificato da una chiave di crittografia imperdonabile che viene generata e protetta dall'hardware del sottosistema di sicurezza Cortanan progettato da Microsoft. In questo modo si garantisce una radice di fiducia sicura e resistente alle manomissioni, dal produttore all'utente finale.

Difesa approfondita. La difesa approfondita fornisce più livelli di sicurezza e quindi più misure di prevenzione contro ogni minaccia. Ogni livello di software nella piattaforma Azure Sphere verifica che il livello sopra di esso sia protetto.

Piccola base informatica attendibile. La maggior parte del software del dispositivo rimane al di fuori della base informatica attendibile, riducendo così l'area di superficie per gli attacchi. Solo il monitor di sicurezza, il runtime Screenshotn e il sottosistema Screenshotn, tutti forniti da Microsoft, vengono eseguiti nella base informatica attendibile.

Scomparti dinamici. I compartimenti dinamici limitano la portata di ogni singolo errore. Gli MCUs Azure Sphere contengono contromisure di silicio, inclusi i firewall hardware, per impedire la propagazione di una violazione della sicurezza in un componente ad altri componenti. Un ambiente di runtime vincolato e "in modalità sandbox" impedisce alle applicazioni di danneggiare il codice o i dati protetti.

Autenticazione senza password. L'uso di certificati firmati, convalidati da una chiave di crittografia non modificabile, offre un'autenticazione molto più avanzata rispetto alle password. La piattaforma Azure Sphere richiede la firma di ogni elemento software. Le comunicazioni da dispositivo a cloud e da cloud a dispositivo richiedono un'ulteriore autenticazione, ottenuta con i certificati.

Segnalazione errori. Gli errori nel software o nell'hardware del dispositivo sono tipici degli attacchi di sicurezza emergenti; che provocano un errore del dispositivo costituiscono un attacco denial-of-service. La comunicazione da dispositivo a cloud fornisce un avviso precoce dei potenziali errori. I dispositivi Azure Sphere possono segnalare automaticamente dati ed errori operativi a un sistema di analisi basato sul cloud e gli aggiornamenti e la manutenzione possono essere eseguiti in remoto.

Sicurezza rinnovabile. Il software del dispositivo viene aggiornato automaticamente per correggere vulnerabilità note o violazioni della sicurezza, senza richiedere alcun intervento da parte del produttore del prodotto o dell'utente finale. Il servizio di sicurezza Azure Sphere aggiorna automaticamente il sistema operativo Azure Sphere e le applicazioni.

Architettura Azure Sphere

Collaborando, l'hardware, il software e il servizio di sicurezza di Azure Sphere consentono approcci integrati e univoci alla manutenzione, al controllo e alla sicurezza dei dispositivi.

L'architettura hardware offre una base informatica fondamentalmente protetta per i dispositivi connessi, consentendoti di concentrarti sul tuo prodotto.

L'architettura software, con un kernel del sistema operativo personalizzato protetto in esecuzione in cima a Microsoft-written Security Monitor, consente allo stesso modo di concentrare gli sforzi del software su funzionalità IoT a valore aggiunto e specifiche del dispositivo.

Il servizio Azure Sphere Security supporta l'autenticazione, gli aggiornamenti software e la segnalazione degli errori su canali da cloud a dispositivo protetti e da dispositivo a cloud. Il risultato è un'infrastruttura di comunicazione protetta che assicura che i prodotti eseguano il sistema operativo Azure Sphere più aggiornato. Per i diagrammi dell'architettura e gli esempi di architetture cloud, vedere Esplorare le architetture di Azure.

Architettura hardware

Un Azure Sphere crossover MCU è costituito da più core su un singolo morire, come mostrato nella figura seguente.

Architettura hardware Architetturahardware Azure Sphere MCU

Ogni core, e il sottosistema associato, si trova in un dominio attendibile diverso. La radice dell'attendibilità risiede nel sottosistema di sicurezza DiNon. Ogni livello dell'architettura presuppone che il livello superiore possa essere compromesso. All'interno di ogni livello, l'isolamento delle risorse e i compartimenti dinamici garantiscono una maggiore sicurezza.

Sottosistema di sicurezza Microsoft Himalayan

Il sottosistema disicurezzao è la radice di trust protetta (in silicio) basata sull'hardware per Azure Sphere. Include un core del processore di sicurezza, motori crittografici, un generatore di numeri casuali hardware, generazione di chiave pubblica/privata, crittografia asimmetrica e simmetrica, supporto per la verifica ecDSA (algoritmo ecDSA) della curva ellittica per l'avvio protetto e avvio misurato in silicio per supportare l'attestazione remota con un servizio cloud, nonché varie contromisure di manomissione tra cui un'unità di rilevamento entropy.

Nell'ambito del processo di avvio protetto, il sottosistema Screenshotn avvia vari componenti software. Fornisce inoltre servizi di runtime, elabora le richieste di altri componenti del dispositivo e gestisce i componenti critici per altre parti del dispositivo.

Core di applicazioni di alto livello

Il core dell'applicazione di alto livello è dotato di un sottosistema ARM Cortex-A che dispone di un'unità di gestione della memoria completa (MMU). Consente la compartimentazione dei processi basata sull'hardware utilizzando la funzionalità dell'area di attendibilità ed è responsabile dell'esecuzione del sistema operativo, delle applicazioni e dei servizi di alto livello. Supporta due ambienti operativi: Normal World (NW), che esegue codice sia in modalità utente che supervisore, e Secure World (SW), che esegue solo Il monitoraggio della sicurezza fornito da Microsoft. Le applicazioni di alto livello vengono eseguite in modalità utente NW.

Core in tempo reale

I core in tempo reale dispongono di un sottosistema I/O ARM Cortex-M che può eseguire applicazioni in tempo reale come codice bare-metal o un sistema operativo in tempo reale (RTOS). Tali applicazioni possono mappare le periferiche e comunicare con applicazioni di alto livello, ma non possono accedere direttamente a Internet.

Connettività e comunicazioni

Il primo Azure Sphere MCU fornisce una radio da 802,11 b/g/n Wi-Fi che opera sia a 2,4 GHz che a 5 GHz. Le applicazioni di alto livello possono configurare, usare ed eseguire query sul sottosistema di comunicazione wireless, ma non possono programmarlo direttamente. Oltre al Wi-Fi o al suo posto, i dispositivi Azure Sphere dotati correttamente possono comunicare su una rete Ethernet.

I/O multiplo

La piattaforma Azure Sphere supporta un'ampia gamma di funzionalità di I/O, in modo da poter configurare i dispositivi incorporati in base ai requisiti di mercato e del prodotto. Le periferiche di I/O possono essere mappate al core dell'applicazione di alto livello o a un core in tempo reale.

Firewall Microsoft

I firewall hardware sono contromisure dei processori che forniscono protezione "sandbox" per garantire che le periferiche di I/O siano accessibili solo al core a cui sono mappate. I firewall impongono la compartimentazione, impedendo così a una minaccia di sicurezza localizzata nel core applicazione di alto livello di influenzare l'accesso dei core in tempo reale alle loro periferiche.

RAM e flash integrati

Gli MCU Azure Sphere includono un minimo di 4 MB di RAM integrata e 16 MB di memoria flash integrata.

Architettura software e sistema operativo

La piattaforma di applicazioni di alto livello esegue il sistema operativo Azure Sphere insieme a un'applicazione di alto livello specifica del dispositivo in grado di comunicare sia con Internet che con applicazioni in tempo reale che vengono eseguite sui core in tempo reale. La figura seguente mostra gli elementi di questa piattaforma.

Gli elementi forniti da Microsoft sono visualizzati in grigio.

Piattaformaapplicativa Piattaforma di applicazioni di alto livello

Microsoft fornisce e gestisce tutto il software diverso da applicazioni specifiche del dispositivo. Tutto il software eseguito nel dispositivo, inclusa l'applicazione di alto livello, è firmato dall'autorità di certificazione (CA) Microsoft. Gli aggiornamenti delle applicazioni vengono forniti tramite la pipeline microsoft attendibile e la compatibilità di ogni aggiornamento con l'hardware del dispositivo Azure Sphere viene verificata prima dell'installazione.

Runtime dell'applicazione

Il runtime dell'applicazione fornito da Microsoft si basa su un sottoinsieme dello standard POSIX. È costituito da librerie e servizi di runtime eseguiti in modalità utente NW. Questo ambiente supporta le applicazioni di alto livello create dall'utente.

Le librerie di applicazioni supportano le funzionalità di rete, archiviazione e comunicazione richieste dalle applicazioni di alto livello, ma che non supportano, tra gli altri vincoli, l'accesso diretto a I/O o shell di file generici. Queste restrizioni assicurano che la piattaforma rimanga protetta e che Microsoft possa fornire aggiornamenti di sicurezza e manutenzione. Inoltre, le librerie vincolate forniscono una superficie API stabile a lungo termine in modo che il software di sistema possa essere aggiornato per migliorare la sicurezza mantenendo al contempo la compatibilità binaria per le applicazioni.

Servizi del sistema operativo

I servizi del sistema operativo ospitano il contenitore di applicazioni di alto livello e sono responsabili della comunicazione con il servizio azure sphere security. Gestiscono l'autenticazione di rete e il firewall di rete per tutto il traffico in uscita. Durante lo sviluppo, i servizi del sistema operativo comunicano anche con un PC connesso e l'applicazione di cui viene effettuato il debug.

Kernel Linux personalizzato

Il kernel personalizzato basato su Linux viene eseguito in modalità supervisore, insieme a un caricatore di avvio. Il kernel è stato accuratamente ottimizzato per il flash e l'ingombro della RAM di Azure Sphere MCU. Fornisce una superficie per l'esecuzione preventiva dei processi di spazio utente in spazi di indirizzi virtuali separati. Il modello di driver espone le periferiche MCU ai servizi e alle applicazioni del sistema operativo. I driver Azure Sphere includono, tra gli altri, Wi-Fi (che include uno stack di rete TCP/IP), UART, SPI, I2C e GPIO.

Monitoraggio della sicurezza

Monitor di sicurezza fornito da Microsoft viene eseguito in SW. È responsabile della protezione dell'hardware sensibile alla sicurezza, come memoria, flash e altre risorse MCU condivise, oltre che di esporre in modo sicuro l'accesso limitato a queste risorse. I broker e i gate di Security Monitor accedono al sottosistema Di sicurezza Di Metrico e alla radice hardware della fiducia e funge da cane da guardia per l'ambiente NW. Avvia il boot loader, espone i servizi di runtime a NW e gestisce i firewall hardware e altri componenti di processore che non sono accessibili a NW.

Servizio di sicurezza Azure Sphere

Il servizio di sicurezza Azure Sphere è costituito da tre componenti: autenticazione senza password, aggiornamento e segnalazione degli errori.

  • Autenticazione senza password. Il componente di autenticazione fornisce attestazione remota e autenticazione senza password. Il servizio di attestazione remota si connette tramite un protocollo challenge-response che utilizza la funzionalità di avvio misurata sul sottosistema Cortana. Verifica non solo che il dispositivo sia stato avviato con il software corretto, ma con la versione corretta di tale software.

    Al termine dell'attestazione, il servizio di autenticazione assume il controllo. Il servizio di autenticazione comunica tramite una connessione TLS protetta ed emette un certificato che il dispositivo può presentare a un servizio Web, ad esempio Microsoft Azure o il cloud privato di una società. Il servizio Web convalida la catena di certificati, verificando così che il dispositivo sia originale, che il software sia aggiornato e che Microsoft sia la sua origine. Il dispositivo può quindi connettersi in modo sicuro e sicuro con il servizio online.

  • Aggiornamento. Il servizio di aggiornamento distribuisce aggiornamenti automatici per il sistema operativo Azure Sphere e per le applicazioni. Il servizio di aggiornamento garantisce un funzionamento continuo e consente la manutenzione remota e l'aggiornamento del software dell'applicazione.

  • Segnalazione errori. Il servizio di segnalazione degli errori fornisce una semplice segnalazione degli arresti anomali per il software distribuito. Per ottenere dati più ricchi, usare le funzionalità di report e analisi incluse in una sottoscrizione di Microsoft Azure.

Tutti i dati archiviati con il servizio di sicurezza Azure Sphere vengono crittografati archiviati per impostazione predefinita. Il servizio di sicurezza archivia i dati in Archiviazione di Azure, Azure Cosmos DB e Azure Key Vault, usando la crittografia dei dati nell'implementazione inattivi per ogni servizio di questo tipo.