Condividi tramite


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 un normale pacchetto driver. 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. Una volta firmato, 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 nel 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 sull'aggiornamento del firmware UEFI o del firmware del dispositivo viene convalidata dal firmware della piattaforma e non viene 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:

  1. Firma delle immagini del firmware aggiornate.

  2. Firma della capsula contenente il firmware aggiornato.

  3. Firma del pacchetto di aggiornamento del firmware fornito al sistema operativo; questo pacchetto conterrà la capsula.

Di queste attività, è sempre necessario solo #3. In un sistema protetto abilitato all'avvio, è necessario firmare tutto il firmware UEFI, che implica che #1 sia necessario quando l'aggiornamento riguarda driver o applicazioni UEFI. Per i sistemi di standby connessi, è necessario anche #1 per il firmware di tutto il 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.

componenti e firmatari di aggiornamento del firmware.

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 separate 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 l'unica voce ueFI Allowed Database contenente la CA di produzione di Microsoft Windows 2011. Pertanto, è possibile aggiungere solo il firmware del sistema e del dispositivo. Nei sistemi non ARM, i driver e le applicazioni UEFI possono essere firmati con qualsiasi chiave che fa riferimento a una chiave nel database consentito UEFI.

Il firmware del sistema o del dispositivo può essere firmato utilizzando una catena di chiavi che fanno riferimento a una chiave associata alla ROM di avvio del sistema o essere protetto tramite altri mezzi (ad esempio, una capsula firmata e quindi un'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 distribuito 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 di aggiornamento del firmware di Microsoft per Windows.

Nei sistemi basati su Arm, poiché non sono consentite chiavi diverse dalla CA di produzione Microsoft 2011 nel database consentito UEFI ("db") e Microsoft non userà un firmatario con questa CA per firmare il codice UEFI di terze parti, il caricamento di tale capsula non può usare il normale servizio UEFI LoadImage. L'applicazione capsule può, tuttavia, essere caricata utilizzando una verifica specifica della piattaforma rispetto alla chiave pubblica del ROM di avvio o al 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 ritenuta 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 una chiave che risale a una voce nel Database Autorizzato 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 relativo al 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:

  1. Firmare il contenuto della capsula in base alle istruzioni riportate nella sezione precedente.

  2. Creare un pacchetto di aggiornamento del firmware che includa la capsula e apporre una firma di test al 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 OEM Verisign, anche in ambienti di test.

  3. Aggiornare il firmware installando il pacchetto di aggiornamento del firmware.

  4. Installare Windows Hardware Lab Kit (HLK) nel sistema di test ed eseguire tutti i test applicabili al dispositivo firmware.

  5. Inviare i log HLK e il driver al Centro partner per la firma.

Durante l'invio del pacchetto del 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.

Aggiornamenti del firmware di sistema e dispositivo tramite un pacchetto di driver firmware

Popolare la tabella ESRT

Personalizzare il firmware per aree geografiche diverse

Creare un pacchetto di aggiornamento del firmware

Installare l'aggiornamento