Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Stato del dispositivo

Lo stato del dispositivo indica quanto liberamente è possibile eseguire il flashing del software su un dispositivo e se la verifica è applicata. Gli stati del dispositivo sono LOCKED e UNLOCKED . LOCKED dispositivi LOCKED impediscono di eseguire il flashing del nuovo software sul dispositivo, mentre i dispositivi UNLOCKED consentono la modifica.

Quando un dispositivo si accende, il bootloader controlla prima se un dispositivo è LOCKED o UNLOCKED . Se un dispositivo è UNLOCKED , il bootloader mostra all'utente un avviso e quindi procede con l'avvio anche se il sistema operativo caricato non è firmato dalla radice di fiducia.

Se il dispositivo è LOCKED , il bootloader esegue i passaggi in Verifica dell'avvio per verificare il software del dispositivo. LOCKED dispositivi LOCKED avviano solo se il sistema operativo caricato è correttamente firmato dalla radice di attendibilità. Per ulteriori dettagli, vedere Il flusso di avvio .

Modifica dello stato del dispositivo

Per modificare lo stato di un dispositivo , utilizzare il fastboot flashing [unlock | lock] comando. Per proteggere i dati dell'utente, tutte le transizioni di stato cancellano le partizioni di dati e richiedono la conferma dell'utente prima che i dati vengano eliminati.

La transizione da UNLOCKED a LOCKED è prevista quando un utente acquista un dispositivo di sviluppo usato. Come risultato del blocco del dispositivo, l'utente dovrebbe avere la certezza che si trovi in ​​uno stato prodotto dal produttore del dispositivo, a condizione che non sia presente alcun avviso. La transizione da LOCKED a UNLOCKED è prevista quando uno sviluppatore desidera disabilitare la verifica sul dispositivo per scopi di sviluppo.

Radice di fiducia

La radice di attendibilità è la chiave crittografica utilizzata per firmare la copia di Android archiviata sul dispositivo. La parte privata della radice di attendibilità è nota solo al produttore del dispositivo e viene utilizzata per firmare ogni versione di Android destinata alla distribuzione. La parte pubblica della radice di attendibilità è incorporata nel dispositivo ed è archiviata in un luogo in modo che non possa essere manomessa (in genere archiviazione di sola lettura).

Quando carica Android, il bootloader utilizza la radice di fiducia per verificare l'autenticità. Per ulteriori dettagli su questo processo, vedere Verifica dell'avvio . I dispositivi possono avere più boot loader e come tali potrebbero essere in gioco più chiavi crittografiche.

Radice di fiducia impostabile dall'utente

I dispositivi possono facoltativamente consentire all'utente di configurare la radice di attendibilità (ad esempio, una chiave pubblica). I dispositivi possono utilizzare questa radice di attendibilità impostabile dall'utente per l'avvio verificato invece della radice di attendibilità incorporata. Ciò consente all'utente di installare e utilizzare versioni personalizzate di Android senza sacrificare i miglioramenti della sicurezza di Avvio verificato.

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

  • È richiesta una conferma fisica per impostare / cancellare la radice di attendibilità impostabile dall'utente.
  • La radice di attendibilità impostabile 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 ottenga il dispositivo.
  • La radice di attendibilità impostabile dall'utente viene archiviata in un archivio a prova di manomissione. Evidente la manomissione significa che è possibile rilevare se Android ha manomesso i dati, ad esempio se sono stati sovrascritti o modificati.
  • Se è impostata una radice di attendibilità impostabile dall'utente, il dispositivo dovrebbe consentire l'avvio di una versione di Android firmata con la radice di attendibilità incorporata o la radice di attendibilità impostabile dall'utente.
  • Ogni volta che il dispositivo si avvia utilizzando la radice di attendibilità impostabile dall'utente, l'utente dovrebbe ricevere una notifica che il dispositivo sta caricando una versione personalizzata di Android. Ad esempio svasa fare attenzione schermi, vedere LOCKED dispositivi con set di chiavi personalizzato .

Un modo per implementare la radice di attendibilità impostabile dall'utente consiste nell'avere una partizione virtuale che può essere visualizzata o cancellata solo quando il dispositivo è nello stato UNLOCKED . I dispositivi Google Pixel 2 utilizzano questo approccio e la partizione virtuale si chiama avb_custom_key . Il formato dei dati in questa partizione è l'output del comando avbtool extract_public_key . Ecco un esempio di come impostare la radice di attendibilità impostabile 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 emettendo:

fastboot erase avb_custom_key