Stato del dispositivo

Lo stato del dispositivo indica la possibilità di eseguire liberamente il flashing del software su un dispositivo l'applicazione forzata della verifica. Gli stati del dispositivo sono LOCKED e UNLOCKED. LOCKED dispositivi impediscono il flashing di nuovi dispositivi software al dispositivo, mentre i dispositivi UNLOCKED consentono modifica.

Quando un dispositivo si accende, il bootloader controlla innanzitutto se LOCKED o UNLOCKED. Se un dispositivo viene UNLOCKED, il bootloader mostra all'utente un avviso e poi procede anche se il sistema operativo caricato non è firmato dalla radice di attendibilità.

Se il dispositivo è LOCKED, il bootloader esegue i passaggi in Verifica l'avvio per eseguire la verifica dal software del dispositivo. I dispositivi LOCKED si avviano solo se il sistema operativo caricato è firmato correttamente dalla radice di attendibilità. Per ulteriori dettagli, vedi Il flusso di avvio.

relative alla modifica dello stato del dispositivo

Per modificare lo stato di un dispositivo, usa il comando fastboot flashing [unlock | lock]. Per proteggere l'utente dati, tutte le transizioni di stato cancellano le partizioni dei dati e chiedono una conferma prima dell'eliminazione dei dati.

La transizione da UNLOCKED a LOCKED è prevista quando un utente acquista un dispositivo di sviluppo usato. In seguito al blocco del dispositivo, l'utente deve avere la certezza che si trova in uno stato generato dal dispositivo produttore, purché non ci siano avvisi. LOCKED per La transizione UNLOCKED è prevista quando uno sviluppatore vuole disabilitare verifica sul dispositivo a fini di sviluppo.

Radice di fiducia

La radice di attendibilità è la chiave di crittografia utilizzata per firmare la copia di Android. memorizzati sul dispositivo. La parte privata della radice di attendibilità è nota solo al di dispositivi mobili ed è utilizzato per firmare tutte le versioni di Android destinate distribuzione dei contenuti. La parte pubblica della radice di attendibilità è incorporata nel dispositivo e sono archiviati in un luogo e non possono essere manomessi (generalmente sono in sola lettura archiviazione).

Quando carica Android, il bootloader utilizza la radice di attendibilità per verificare autenticità. Per ulteriori dettagli su questa procedura, consulta Verifica dell'avvio. I dispositivi potrebbero avere più bootloader e, di conseguenza, potrebbero essere presenti più chiavi di crittografia.

Radice di attendibilità configurabile dall'utente

I dispositivi possono facoltativamente consentire all'utente di configurare la radice di attendibilità (per ad esempio una chiave pubblica). I dispositivi possono utilizzare questa radice di attendibilità configurabile dall'utente per Avvio verificato anziché la radice di attendibilità integrata. Ciò consente all'utente di installare e utilizzare versioni personalizzate di Android senza sacrificare la sicurezza miglioramenti dell'Avvio verificato.

Se viene implementata la radice di attendibilità impostabile dall'utente, questa deve essere eseguita in modo tale che:

  • È necessaria la conferma fisica per impostare/cancellare la radice impostabile dall'utente di la fiducia degli utenti.
  • La radice di attendibilità configurabile dall'utente può essere impostata solo dall'utente finale. Non può essere impostato in fabbrica o in qualsiasi punto intermedio prima che l'utente finale riceva dispositivo.
  • La radice di attendibilità impostabile dall'utente viene archiviata in uno spazio di archiviazione a prova di manomissione. Evidente di manomissione significa che è possibile rilevare se Android è manomesso i dati, ad esempio se sono stati sovrascritti o modificati.
  • Se è impostata una radice di attendibilità configurabile dall'utente, il dispositivo deve consentire una versione di Android ha firmato con la radice di attendibilità integrata o con l'impostazione configurabile dall'utente radice di attendibilità per l'avvio.
  • Ogni volta che il dispositivo si avvia utilizzando la radice di attendibilità impostabile dall'utente, ricevi una notifica che indica che sul dispositivo è in corso il caricamento di una versione personalizzata di Android. Per ad esempio schermate di avviso, consulta LOCKED di dispositivi con un set di chiavi personalizzate.

Un modo per implementare la radice di attendibilità impostabile dall'utente è avere una che può essere visualizzata in modalità flash o cancellata solo quando il dispositivo è UNLOCKED. I dispositivi Google Pixel 2 usano questo approccio la partizione virtuale è denominata avb_custom_key. Il formato del in questa partizione è l'output Comando avbtool extract_public_key. Ecco un esempio di come impostare la radice di attendibilità configurabile dall'utente:

avbtool extract_public_key --key key.pem --output pkmd.bin
fastboot flash avb_custom_key pkmd.bin

La radice di attendibilità impostabile dall'utente può essere cancellata rilasciando:

fastboot erase avb_custom_key