Google si impegna a promuovere l'equità razziale per le comunità nere. Vedi come.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Stato del dispositivo

Lo stato del dispositivo indica in che modo il software può essere trasferito liberamente su un dispositivo e se la verifica viene applicata. Gli stati del dispositivo sono LOCKED e UNLOCKED . LOCKED dispositivi LOCKED impediscono il flashing del nuovo software sul dispositivo, mentre i dispositivi UNLOCKED consentono la modifica.

Quando un dispositivo si accende, il bootloader verifica innanzitutto se un dispositivo è LOCKED o UNLOCKED . Se un dispositivo è UNLOCKED , il bootloader mostra all'utente un avviso e quindi procede all'avvio anche se il sistema operativo caricato non è firmato dalla radice del trust.

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 della fiducia. Per ulteriori dettagli, consultare 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 chiedono la conferma dell'utente prima che i dati vengano eliminati.

La transizione da UNLOCKED a LOCKED è anticipata quando un utente acquista un dispositivo di sviluppo usato. A seguito del blocco del dispositivo, l'utente deve avere la certezza che si trova in uno stato prodotto dal produttore del dispositivo, a condizione che non vi siano avvisi. La transizione da LOCKED a UNLOCKED è prevista quando uno sviluppatore desidera disabilitare la verifica sul dispositivo per scopi di sviluppo.

Radice di fiducia

Root of trust è la chiave crittografica utilizzata per firmare la copia di Android memorizzata sul dispositivo. La parte privata della radice della fiducia è nota solo al produttore del dispositivo e viene utilizzata per firmare ogni versione di Android destinata alla distribuzione. La parte pubblica della radice della fiducia è incorporata nel dispositivo e viene archiviata in un luogo in modo da non poter essere manomessa (in genere archiviazione di sola lettura).

Quando carica Android, il bootloader utilizza la radice della fiducia per verificare l'autenticità. Per ulteriori dettagli su questo processo, consultare Verifica dell'avvio . I dispositivi possono avere caricatori di avvio multipli e pertanto possono essere in gioco più chiavi crittografiche.

Radice di fiducia impostabile dall'utente

I dispositivi possono facoltativamente consentire all'utente di configurare la radice della fiducia (ad esempio una chiave pubblica). I dispositivi possono utilizzare questa radice di attendibilità impostabile dall'utente per l'avvio verificato anziché la radice di attendibilità integrata. 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 della fiducia impostabile dall'utente, deve essere eseguita in modo tale che:

  • È richiesta la conferma fisica per impostare / cancellare la radice della fiducia impostabile dall'utente.
  • La radice della fiducia 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 della fiducia impostabile dall'utente viene archiviata in un archivio a prova di manomissione. Evidente da manomissione significa che è possibile rilevare se Android ha manomesso i dati, ad esempio, se sono stati sovrascritti o modificati.
  • Se è impostata una radice di trust impostabile dall'utente, il dispositivo dovrebbe consentire l'avvio di una versione di Android firmata con la radice di trust incorporata o la radice di trust impostabile dall'utente.
  • Ogni volta che il dispositivo si avvia utilizzando la radice di attendibilità impostabile dall'utente, l'utente deve essere informato 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 è disporre di una partizione virtuale che può essere salvata 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 della fiducia impostabile dall'utente:

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

La radice della fiducia impostabile dall'utente può essere cancellata emettendo:

fastboot erase avb_custom_key