Informazioni sugli aggiornamenti via etere
Aggiornamenti sono una parte importante del modello di sicurezza Azure Sphere, poiché incarnano la proprietà della sicurezza rinnovabile. Verificare che gli aggiornamenti vengano eseguiti regolarmente consente di mantenere i dispositivi conformi alle 7 proprietà . I dispositivi Azure Sphere verificano la disponibilità di aggiornamenti quando si connettono a Internet per la prima volta dopo l'accensione o dopo la pressione del pulsante Reimposta. Successivamente, i controlli avvengono a intervalli regolari (attualmente 20 ore).
Esistono tre tipi di aggiornamenti: aggiornamenti prerequisiti, aggiornamenti del sistema operativo e aggiornamenti della distribuzione. Gli aggiornamenti prerequisiti vengono usati per garantire che i componenti su cui si basa il processo di aggiornamento, attualmente trusted key store (TKS) e archivio certificati, siano aggiornati. Il TKS viene utilizzato per autenticare le immagini da scaricare e installare, mentre l'archivio certificati convalida le connessioni Internet. Un aggiornamento del sistema operativo riguarda il software fornito da Microsoft nel dispositivo, incluso il sistema operativo normale in cui vengono eseguite le applicazioni, ma anche firmware di livello inferiore, come il sottosistema Blobna e il Monitor di sicurezza. Gli aggiornamenti della distribuzione sono destinati al software dell'utente, ovvero le applicazioni e le immagini di configurazione della bacheca di alto livello e in tempo reale( se presenti). I prerequisiti e gli aggiornamenti del sistema operativo sono gestiti da Azure Sphere; gli aggiornamenti delle applicazioni sono coordinati da Azure Sphere in base alle distribuzioni create dall'organizzazione.
Per consentire a qualsiasi dispositivo di ricevere aggiornamenti prerequisiti o del sistema operativo:
- Deve essere connesso a Internet.
- I requisiti di rete devono essere configurati in modo appropriato.
Per consentire a qualsiasi dispositivo di aggiornare le immagini di configurazione dell'applicazione e della scheda:
- Non deve avere la capacità di sviluppo delle applicazioni.
- Deve essere rivendicato da un catalogo.
- Deve appartenere a un gruppo di dispositivi.
- Il gruppo di dispositivi a cui appartiene deve essere assegnato da una distribuzione.
- La distribuzione deve contenere immagini dell'applicazione (e facoltativamente un'immagine di configurazione della bacheca) create da o per conto dell'organizzazione.
- Il gruppo di dispositivi deve disporre dei criteri di aggiornamento UpdateAll. Puoi disabilitare gli aggiornamenti dell'applicazione per un particolare gruppo di dispositivi utilizzando il comando di aggiornamento di device-group az sphere .
Per tutti i dispositivi di un determinato gruppo di dispositivi, le distribuzioni destinate a quel gruppo di dispositivi sono considerate l'origine della verità per l'acquisizione di immagini di tali dispositivi. Tutte le immagini nel dispositivo che non esistono nella distribuzione verranno rimosse dal dispositivo. L'unica eccezione, come di Azure Sphere OS 21.04, è che le immagini di configurazione della scheda non vengono rimosse a meno che non vengano sostituite con una nuova immagine di configurazione della scheda.
Il controllo dell'aggiornamento del dispositivo avviene in tre fasi corrispondenti ai tre tipi di aggiornamenti:
- Nella prima fase, Azure Sphere ottiene un manifesto che elenca le versioni correnti di TKS e dell'archivio certificati. Se l'archivio certificati e TKS nel dispositivo sono aggiornati, l'aggiornamento continua con la seconda fase. In caso contrario, le immagini correnti vengono scaricate e installate.
- Nella seconda fase, Azure Sphere ottiene un manifesto che elenca le versioni correnti delle varie immagini dei componenti del sistema operativo. Se alcune immagini nel dispositivo non sono aggiornate, le immagini correnti vengono scaricate insieme alle immagini di rollback che possono essere usate per ripristinare lo stato noto del dispositivo se il processo di aggiornamento non riesce. Le immagini del sistema operativo e del rollback vengono scaricate e archiviate in un'area di gestione temporanea nel dispositivo, quindi le immagini del sistema operativo vengono installate e il dispositivo viene riavviato.
- Nella terza fase, Azure Sphere controlla la presenza di aggiornamenti della distribuzione se il gruppo di dispositivi li accetta. Come con l'aggiornamento del sistema operativo, anche le immagini di rollback per le applicazioni vengono implementate in base alle esigenze. Le immagini dell'applicazione e del rollback vengono scaricate e archiviate nell'area di gestione temporanea, quindi le immagini dell'applicazione vengono installate.
Aggiornamento cumulativo
Ogni parte del processo di aggiornamento include un'opzione di rollback. Nell'aggiornamento prerequisito, l'immagine di rollback è semplicemente un backup dello stato pre-aggiornamento. Se l'aggiornamento non riesce, viene ripristinato lo stato di pre-aggiornamento.
Il rollback a qualsiasi livello forza il rollback a tutti i livelli superiori: se un'immagine del firmware non viene avviata, viene eseguito il rollback sia delle partizioni firmware che delle partizioni dell'applicazione.
Per l'aggiornamento del sistema operativo, un errore di verifica della firma o difficoltà di runtime possono attivare un rollback. In caso di errore di verifica della firma, viene effettuato un tentativo di correggere l'immagine; in caso di esito negativo, viene attivato un rollback completo. In un rollback completo, le immagini di rollback a fasi vengono installate sia per il sistema operativo che per le applicazioni.
Gli aggiornamenti del sistema operativo e le distribuzioni hanno cicli di rilascio indipendenti, quindi è possibile che si verifichino più distribuzioni tra gli aggiornamenti del sistema operativo. In questo caso, è importante notare che gli obiettivi di rollback per la distribuzione non sono la distribuzione più recente, ma piuttosto la distribuzione al momento dell'ultimo aggiornamento del sistema operativo. In questo modo il sistema operativo e l'applicazione interagiscono nello stato di rollback.
Aggiornamenti interrotti
Se un aggiornamento viene interrotto, ad esempio a causa di un'interruzione di corrente o di una perdita di connettività, esistono quattro scenari possibili per ogni tipo di aggiornamento:
- Se un set completo di immagini è stato scaricato e messo in fase, ma non ancora installato, l'installazione verrà completata al ripristino dell'alimentazione.
- Se alcune immagini, ma non tutte, sono state scaricate e a fasi, l'aggiornamento continuerà a scaricare le immagini mancanti e quindi procedere con l'installazione.
- Se un aggiornamento viene interrotto durante l'installazione al termine del download, l'installazione verrà riavviato all'avvio.
- Se nessuna immagine è stata scaricata completamente, il processo di aggiornamento verrà avviato al ripristino dell'alimentazione, in quanto non ci sarà nulla di pronto per l'installazione.
Aggiornamenti in scenari di risparmio energia
Azure Sphere supporta scenari a basso consumo energetico che consentono di spegnere i dispositivi per periodi prolungati per risparmiare la durata della batteria. In tali scenari, è importante che il dispositivo sia autorizzato a controllare periodicamente la disponibilità di aggiornamenti. L'applicazione di esempio Power Down mostra come ridurre correttamente il consumo di energia assicurando al contempo che il dispositivo rimanga periodicamente attivo per controllare la disponibilità di aggiornamenti del sistema operativo e delle app.
Aggiornamenti posticipati
Per evitare che le attività critiche vengano interrotte da aggiornamenti, le applicazioni di alto livello possono incorporare l'aggiornamento posticipato. Questa funzionalità consente all'applicazione di completare le attività critiche e quindi prepararsi per l'arresto per consentire l'aggiornamento di procedere. Nell'esempio DeferredUpdate viene illustrato come implementare un aggiornamento posticipato.