Certificare e firmare il pacchetto di aggiornamento
Poiché l'aggiornamento del firmware viene recapitato come pacchetto driver, sarà necessario eseguire tutti gli stessi processi di verifica e firma come pacchetto driver normale. Il pacchetto driver dovrà superare i test di Windows Hardware Lab Kit (Windows HLK) e dovrà essere inviato al Centro per i partner per la firma. Dopo la firma, il pacchetto driver verrà distribuito di nuovo al mittente.
La firma del pacchetto driver è diversa dalla firma del firmware UEFI o del firmware del dispositivo stesso. La firma del pacchetto driver, recapitata tramite il catalogo di sicurezza, viene usata da Windows per verificare l'integrità di firmware.bin prima di consegnarla all'UEFI. Windows non fornisce il catalogo di sicurezza al firmware. La firma nel firmware UEFI o nell'aggiornamento del firmware del dispositivo viene convalidata dal firmware della piattaforma e non è controllata da Windows. L'IHV/OEM è responsabile di garantire l'integrità e la sicurezza del firmware tramite la verifica della firma, la crittografia o altri mezzi.
Processo di firma dell'aggiornamento del firmware e requisiti per l'avvio protetto UEFI
Quando si firmano gli aggiornamenti del firmware UEFI destinati all'utilizzo da parte dei dispositivi Windows con avvio protetto UEFI attivo, il processo di firma comporta una combinazione delle attività seguenti:
Firma delle immagini del firmware aggiornate.
Firma della capsula che trasporta il firmware aggiornato.
Firma del pacchetto di aggiornamento del firmware fornito al sistema operativo; questo pacchetto conterrà la capsula.
Di queste attività, è sempre necessario solo il numero 3. In un sistema abilitato per l'avvio protetto, è necessario firmare tutto il firmware UEFI, il che implica che #1 è necessario quando l'aggiornamento riguarda driver o applicazioni UEFI. Per i sistemi di standby connessi, è necessario anche #1 per tutto il firmware di sistema. Se l'aggiornamento del firmware non è protetto da altri mezzi, la capsula deve essere firmata per proteggere l'aggiornamento del firmware stesso e per garantire l'autenticità del pacchetto di aggiornamento prima dell'installazione.
Il diagramma seguente indica il firmatario per i vari componenti descritti nel resto di questo articolo.
Firmare il firmware aggiornato
Dopo la firma, la firma del firmware aggiornato deve essere convalidata dal caricatore del firmware del sistema durante l'avvio. Come minimo, questo si verificherà automaticamente al riavvio, ma la pre-convalida è consigliata per motivi di affidabilità e esperienza utente.
Nei sistemi Arm non è possibile installare driver UEFI o applicazioni separati dall'immagine del firmware, poiché l'unica immagine UEFI PE/COFF consentita è il caricatore del sistema operativo Microsoft Windows (BootMgfw.efi) e verrà verificata usando la sola voce UEFI Allowed Database contenente microsoft Windows Production CA 2011. Pertanto, è possibile aggiungere solo firmware di sistema e dispositivo. Nei sistemi non Arm, i driver e le applicazioni UEFI possono essere firmati con qualsiasi concatenamento delle chiavi a una chiave nel database consentito UEFI.
Il firmware del sistema o del dispositivo può essere firmato con un concatenamento delle chiavi a una chiave associata alla ROM di avvio del sistema o essere protetto con altri mezzi (ad esempio, una capsula firmata e quindi l'installazione protetta).
Firmare la capsula
Il contenuto della capsula è determinato dall'OEM. La capsula può contenere solo un catalogo di immagini del firmware da aggiornare in qualsiasi formato scelto dall'OEM o può essere consegnato sotto forma di immagine dell'applicazione EFI (formato di file PE/COFF). Se la capsula è un file PE/COFF, deve essere firmata dall'OEM prima di inviare a Microsoft per la firma del pacchetto firmware di Windows.
Nei sistemi basati su Arm, poiché non sono consentite chiavi diverse da Microsoft Production CA 2011 nel database consentito UEFI ("db") e Microsoft non userà un firmatario in questa CA per firmare il codice UEFI di terze parti, il caricamento di tale capsule non può usare il normale servizio UEFI LoadImage. L'applicazione capsule può tuttavia essere caricata usando una verifica specifica della piattaforma rispetto alla chiave pubblica rom di avvio o all'infrastruttura PK UEFI. Questo carico deve comunque essere misurato in TPM PCR[7] come per qualsiasi altra immagine. Più in generale, quando la firma della capsula viene considerata necessaria (ad esempio, per garantire l'integrità e l'autenticità del pacchetto di aggiornamento completo) e la capsula può includere aggiornamenti del firmware all'esterno di UEFI, la capsula deve essere firmata in modo che possa essere verificata usando chiavi non UEFI mantenute dalla piattaforma (ad esempio, firmate usando un concatenamento delle chiavi a una chiave pubblica associata a ROM di avvio o ueFI PK).
Nei sistemi non Arm, la capsula può essere un'applicazione EFI purché sia firmata con un concatenamento delle chiavi a una voce nel database consentito UEFI. L'avvio protetto UEFI può quindi essere usato automaticamente per verificare l'integrità della capsula.
Firmare il pacchetto di aggiornamento del firmware
Il pacchetto di aggiornamento del firmware deve essere inviato al Centro per i partner per la firma. Questo passaggio creerà una firma del catalogo del contenuto del pacchetto. La firma del catalogo viene usata dal caricatore del sistema operativo Microsoft per verificare che il pacchetto sia autentico e non sia stato manomesso prima che l'aggiornamento effettivo venga fornito al firmware tramite UpdateCapsule.
Invio del pacchetto di aggiornamento del firmware al Centro per i partner per la firma:
Firmare il contenuto della capsula in base alle istruzioni riportate nella sezione precedente.
Creare un pacchetto di aggiornamento del firmware che include la capsula e firmare il pacchetto di aggiornamento del firmware. Per altre informazioni, vedere Creazione di un pacchetto driver di aggiornamento.
A partire da Windows 8, Windows non consente pacchetti di aggiornamento del firmware firmati dall'OEM Verisign, anche in ambienti di test.
Aggiornare il firmware installando il pacchetto di aggiornamento del firmware.
Installare Windows Hardware Lab Kit (HLK) nel sistema di test ed eseguire tutti i test applicabili al dispositivo firmware.
Inviare i log HLK e il driver al Centro per i partner per la firma.
Durante l'invio del pacchetto driver di aggiornamento del firmware, assicurarsi di selezionare Windows 8 o versione successiva come sistema operativo applicabile. Se si sceglie un sistema operativo di livello inferiore, il Centro per i partner firmerà il catalogo nel pacchetto driver con l'algoritmo SHA1. A partire da Windows 8, tutti i pacchetti driver di aggiornamento del firmware devono essere firmati SHA256.
Articoli correlati
Aggiornamenti del firmware del sistema e del dispositivo tramite un pacchetto di driver del firmware
Personalizzare il firmware per aree geografiche diverse