Blocco della configurazione delle periferiche

Una configurazione periferica è una mappatura delle periferiche ai core. I chip Azure Sphere ora hanno la possibilità di bloccare una configurazione periferica per fornire ulteriore sicurezza. Tutti i chip di Azure Sphere futuri avranno anche il blocco della configurazione delle periferiche.

Durante l'avvio del sistema, il runtime Azure Sphere legge il manifesto dell'applicazione per determinare quali periferiche è consentita l'uso di un'applicazione e assegna le periferiche a un core configurando il firewall hardware. Quando la configurazione periferica non è bloccata, un utente malintenzionato potrebbe riconfigurare le assegnazioni principali delle periferiche e accedere alle periferiche arbitrarie. Quando la configurazione delle periferiche è bloccata, tuttavia, un utente malintenzionato non può riassegnare le periferiche anche se il codice è compromesso.

Quando la configurazione delle periferiche è bloccata

Il runtime Azure Sphere blocca la configurazione periferica durante l'avvio del sistema, dopo l'inizializzazione di tutte le applicazioni, se sono vere le due condizioni seguenti:

Il blocco della configurazione delle periferiche aggiunge un altro livello di sicurezza per la difesa in profondità, che è una delle sette proprietà necessarie per i dispositivi altamente protetti. Una volta bloccata, la configurazione delle periferiche non può essere modificata finché il dispositivo non viene riavviato.

Aggiornamenti delle applicazioni e riavvio del dispositivo

Un aggiornamento dell'applicazione che richiede una modifica della configurazione delle periferiche attiva un riavvio del dispositivo quando la configurazione delle periferiche è bloccata. Una volta bloccata la configurazione, il dispositivo deve riavviare prima di poter modificare la configurazione della periferica di conseguenza per l'aggiornamento dell'applicazione.

Una modifica della configurazione delle periferiche si verifica quando un aggiornamento dell'applicazione richiede il rilascio o l'acquisizione delle periferiche. Di seguito sono riportati esempi di aggiornamenti dell'applicazione che attivano un riavvio del dispositivo quando la configurazione delle periferiche è bloccata:

  • Una nuova applicazione che utilizza periferiche viene installata come parte di un aggiornamento cloud o sideload. In questo caso, è necessario acquisire un nuovo nucleo e periferiche.
  • Un'applicazione aggiornata richiede un set diverso di periferiche rispetto alla versione precedente. In questo caso, alcune periferiche devono essere rilasciate e altre periferiche devono essere acquisite.
  • Un'applicazione che utilizza periferiche viene eliminata come parte di un aggiornamento cloud. In questo caso, tutte le periferiche utilizzate dall'applicazione devono essere rilasciate.

Di seguito sono riportati esempi di aggiornamenti dell'applicazione che non attivano un riavvio del dispositivo perché la configurazione delle periferiche rimane invariata:

  • Una nuova applicazione che non usa periferiche viene installata nell'ambito di un aggiornamento cloud o di un sideload.
  • Un'applicazione che non utilizza periferiche viene eliminata nell'ambito di un aggiornamento cloud.
  • Un'applicazione aggiornata richiede il set esatto di periferiche usate dalla versione precedente.