Avvio protetto

L'avvio protetto è uno standard di sicurezza sviluppato dai membri del settore IT per garantire che un dispositivo venga avviato usando solo software considerato attendibile dal relativo produttore OEM (Original Equipment Manufacturer). Al momento dell'avvio del PC, il firmware controlla la firma di ogni parte del software di avvio, inclusi i driver del firmware UEFI (noti anche come ROMs option), le applicazioni EFI e il sistema operativo. Se le firme sono valide, l'avvio del PC e il firmware fornisce il controllo al sistema operativo.

L'OEM può usare istruzioni dal produttore del firmware per creare chiavi di avvio sicure e archiviarle nel firmware del PC. Quando si aggiungono driver UEFI, è anche necessario assicurarsi che siano firmati e inclusi nel database di avvio sicuro.

Per informazioni sul funzionamento del processo di avvio sicuro, incluso l'avvio attendibile e l'avvio misurato, vedere Proteggere il processo di avvio Windows 10.

Requisiti di avvio sicuri

Per supportare l'avvio sicuro, è necessario specificare quanto segue.

Requisito hardware Dettagli
Variabili UEFI versione 2.3.1 Errata C Le variabili devono essere impostate su SecureBoot=1 e SetupMode=0 con un database di firma (EFI_IMAGE_SECURITY_DATABASE) necessario per avviare il computer in modo sicuro e includere un'infrastruttura PK impostata in un database KEK valido. Per altre informazioni, cercare i requisiti di sistema System.Fundamentals.Firmware.UEFISecureBoot nel download PDF delle specifiche e dei criteri del programma di compatibilità hardware di Windows.
UEFI v2.3.1 Sezione 27 La piattaforma deve esporre un'interfaccia che rispetta il profilo di UEFI v2.3.1 Sezione 27.
Database di firma UEFI La piattaforma deve essere fornita con le chiavi corrette nel database di firma UEFI (db) per consentire a Windows di avviare. Deve inoltre supportare gli aggiornamenti autenticati sicuri ai database. L'archiviazione di variabili sicure deve essere isolata dal sistema operativo in esecuzione, in modo che non possano essere modificate senza rilevamento.
Firma del firmware Tutti i componenti del firmware devono essere firmati usando almeno RSA-2048 con SHA-256.
Gestione avvio Quando viene attivata l'alimentazione, il sistema deve avviare l'esecuzione del codice nel firmware e usare la crittografia della chiave pubblica in base ai criteri dell'algoritmo per verificare le firme di tutte le immagini nella sequenza di avvio, fino a e includere Windows Boot Manager.
Protezione di rollback Il sistema deve proteggere dal rollback del firmware alle versioni precedenti.
EFI_HASH_PROTOCOL La piattaforma fornisce l'EFI_HASH_PROTOCOL (per UEFI v2.3.1) per l'offload delle operazioni hash crittografiche e l'EFI_RNG_PROTOCOL (Microsoft definito) per l'accesso all'entropia della piattaforma.

Database e chiavi di firma

Prima della distribuzione del PC, l'OEM archivia i database di avvio sicuro nel PC. Include il database delle firme (db), il database delle firme revocate (dbx) e il database della chiave di registrazione delle chiavi (KEK). Questi database vengono archiviati nel firmware nonvolatile RAM (NV-RAM) in fase di produzione.

Il database di firma (db) e il database delle firme revocate (dbx) elencano gli hash di firma o di immagini delle applicazioni UEFI, i caricatori del sistema operativo (ad esempio Il caricatore del sistema operativo Microsoft o Gestione avvio) e i driver UEFI che possono essere caricati nel dispositivo. L'elenco revocato contiene elementi che non sono più attendibili e potrebbero non essere caricati. Se un hash di immagine si trova in entrambi i database, il database delle firme revocate (dbx) ha un precedente.

Il database chiave di registrazione delle chiavi (KEK) è un database separato di chiavi di firma che possono essere usate per aggiornare il database delle firme e revocare il database delle firme. Microsoft richiede l'inserimento di una chiave specificata nel database KEK in modo che in futuro Microsoft possa aggiungere nuovi sistemi operativi al database di firma o aggiungere immagini non note al database delle firme revocate.

Dopo l'aggiunta di questi database e dopo la convalida e il test del firmware finale, l'OEM blocca il firmware dalla modifica, ad eccezione degli aggiornamenti firmati con la chiave o gli aggiornamenti corretti da un utente fisicamente presente che usa i menu del firmware e quindi genera una chiave della piattaforma (PK). L'infrastruttura PK può essere usata per firmare gli aggiornamenti a KEK o per disattivare l'avvio sicuro.

È necessario contattare il produttore del firmware per strumenti e assistenza per la creazione di questi database.

Sequenza di avvio

  1. Dopo l'attivazione del PC, i database di firma vengono controllati con la chiave della piattaforma.
  2. Se il firmware non è attendibile, il firmware UEFI deve avviare il ripristino specifico dell'OEM per ripristinare il firmware attendibile.
  3. Se si verifica un problema con Windows Boot Manager, il firmware tenterà di avviare una copia di backup di Windows Boot Manager. In caso di errore, il firmware deve avviare correzioni specifiche dell'OEM.
  4. Dopo l'avvio di Windows Boot Manager, se si verifica un problema con i driver o il kernel NTOS, viene caricato Windows Recovery Environment (Windows RE) in modo che questi driver o l'immagine del kernel possano essere ripristinati.
  5. Windows carica software antimalware.
  6. Windows carica altri driver kernel e inizializza i processi in modalità utente.