Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Nota
Alcune funzionalità di Controllo app per le aziende sono disponibili solo in versioni specifiche di Windows. Altre informazioni sulla disponibilità delle funzionalità di Controllo app.
A partire da aprile 2026, le autorità di certificazione (CA) con firma incrociata non sono più attendibili per impostazione predefinita per la firma del driver in modalità kernel. Il percorso standard per la firma dei driver del kernel è tramite Hardware Dev Center (HDC), che richiede l'invio di file binari del driver alla certificazione WHCP (Hardware Compatibility Program) Di Microsoft per Windows. Tuttavia, le organizzazioni con ambienti classificati, sensibili o con air-gapped potrebbero non essere in grado di inviare driver a Microsoft per la certificazione. Inoltre, le organizzazioni che scrivono driver solo per uso interno potrebbero non voler certificare i driver per l'ecosistema Windows.
I firmatari del kernel personalizzati consentono di risolvere questo problema estendendo il controllo delle app per le aziende per consentire alle organizzazioni di considerare attendibili i driver del kernel firmati con la propria infrastruttura a chiave pubblica (PKI), senza richiedere firme WHCP. La funzionalità usa un criterio di controllo delle app firmato da un'autorità di firma nella gerarchia di avvio protetto per definire quali certificati di firma sono autorizzati per il codice in modalità kernel. Questa funzionalità offre un controllo granulare e controllabile sul limite di attendibilità del kernel e rimuove il requisito per la certificazione WHCP dei driver.
Funzionamento dei firmatari del kernel personalizzati
La funzionalità di firma del kernel personalizzata usa una catena di attendibilità a più livelli e un criterio di controllo delle app per ignorare i requisiti di firma predefiniti incorporati nel kernel windows. Ecco come funziona la catena di trust:
| Livello | Ruolo |
|---|---|
| Chiave PK (Secure Boot Platform Key) /Chiave di scambio chiavi (KEK) | Radice dell'attendibilità. Di proprietà dell'utente o dell'OEM. Non può essere modificato senza l'accesso fisico al firmware. |
| Firmatario dei criteri di Controllo app | Firma il file binario dei criteri di Controllo app. Deve essere concatenato a un'autorità nel database PK o KEK di avvio protetto. |
| Criteri di Controllo app | Elenca i firmatari del kernel attendibili, tra cui l'infrastruttura a chiave pubblica personalizzata, Windows e, facoltativamente, i firmatari WHCP. Distribuito nella partizione di sistema EFI. |
| Integrità del codice del kernel Windows | Convalida tutti i driver del kernel in fase di caricamento in base ai criteri di Controllo app. Consente solo i driver consentiti elencati dai criteri di Controllo app. |
Solo il titolare della piattaforma (proprietario della chiave di piattaforma o della chiave kek) può autorizzare il criterio. Questo processo di registrazione ad alto attrito è intenzionale. Il processo impedisce l'uso improprio nei dispositivi consumer e garantisce che solo le organizzazioni con accesso al firmware fisico possano abilitare la funzionalità.
Importante
Una volta distribuito, un criterio firmato può essere aggiornato solo con un nuovo criterio firmato dalla stessa autorità. Se si rimuove il criterio senza una sostituzione valida, l'avvio di Windows non riesce. Per eseguire il ripristino, è necessario accedere al menu UEFI (Unified Extensible Firmware Interface) per disabilitare l'avvio protetto o modificare le variabili del firmware. Pianificare attentamente le procedure di gestione e ripristino delle chiavi prima della distribuzione. Vedere altre informazioni sui criteri di controllo app firmati.
Garanzie di sicurezza
I firmatari del kernel personalizzati offrono le garanzie di sicurezza seguenti:
- Integrità dell'avvio protetto: I firmatari del kernel personalizzati funzionano solo quando l'avvio protetto è abilitato. I criteri devono essere firmati dal proprietario della chiave di avvio protetto o della chiave kek e non possono essere contraffatti senza l'accesso al firmware fisico.
- Protezione da manomissioni: Dopo la distribuzione, i criteri firmati non possono essere rimossi senza un criterio di sostituzione firmato dalla stessa autorità.
- Attendibilità granulare: I criteri di Controllo app consentono regole di attendibilità per certificato e per hash. È possibile controllare esattamente quali driver vengono eseguiti nel kernel.
- Non ripudio: Tutte le firme di criteri e driver sono verificabili dal punto di vista crittografico. I log eventi di integrità del codice acquisiscono tutte le decisioni di caricamento e blocco per il controllo.
Piattaforme ed edizioni supportate
La funzionalità di firma del kernel personalizzata è disponibile nelle piattaforme Windows seguenti con l'aggiornamento non di sicurezza di aprile 2026:
- Windows 11 (versione 24H2 e successive)
La funzionalità è disponibile in tutte le edizioni di Windows tranne Home.
Nota
Questa funzionalità non è ancora supportata nei sistemi ARM64 con Avvio sicuro di System Guard.
Distribuzione personalizzata dei firmatari del kernel
Prima di iniziare, verificare che siano soddisfatti i requisiti seguenti:
- Eseguire l'installazione pulita di Windows in un'edizione supportata. I firmatari del kernel personalizzati devono essere abilitati durante la configurazione iniziale del dispositivo. La funzionalità non verrà abilitata nei sistemi attualmente in esecuzione.
- Firmware UEFI (versione 2.3 o successiva) con avvio protetto abilitato.
- Infrastruttura PKI di proprietà del cliente. Una soluzione di archiviazione delle chiavi supportata da HSM è consigliata per gli ambienti di produzione.
- Accesso amministrativo alle variabili del firmware UEFI (PK, KEK, DB).
- SignTool.exe dal Windows SDK.
- Familiarità con la progettazione dei criteri di Controllo app per le aziende, i criteri firmati e le regole dei criteri.
Passaggio 1: Generare le chiavi di avvio protetto
Generare la coppia di chiavi PKI che funge da radice di attendibilità nell'avvio protetto e da usare per firmare i criteri di Controllo app. Per firmare i criteri di controllo dell'app, è possibile usare la chiave o la chiave kek come radice dell'attendibilità. Le linee guida di Microsoft sono l'aggiunta della chiave PKI alla chiave KEK in modo che il proprietario della chiave chiave possa continuare a fornire il servizio kek in futuro.
I certificati PK e KEK devono essere certificati radice o certificati intermedi emessi direttamente dalla radice. Il documento Windows Secure Boot Key Creation and Management Guidance contiene altre informazioni e indicazioni sulla creazione di certificati compatibili con l'avvio protetto. È anche possibile usare la chiave KEK Microsoft come modello di riferimento per le proprietà e le estensioni della chiave.
Nota
Se l'organizzazione è già proprietaria della chiave PK nei dispositivi, è possibile firmare i criteri di controllo delle app o firmare un aggiornamento kek per aggiungere una nuova chiave di avvio protetto. Se non si è proprietari della chiave PK, è necessario disabilitare l'avvio protetto per impostare una nuova chiave PK o chiave kek nei dispositivi esistenti. Per i dispositivi futuri, è consigliabile usare l'OEM hardware per preconfigurare le chiavi di avvio protetto personalizzate nella factory.
Passaggio 2: Configurare le variabili UEFI di avvio protetto con accesso alla chiave di base
Se si è proprietari della chiave PK nei dispositivi, è possibile firmare la registrazione kek per aggiungere la chiave pubblica KEK al firmware UEFI. Se non si è proprietari della chiave PK, è possibile passare al passaggio 3.
Generare il contenuto di registrazione kek
# Generate KEK content file
# Replace the SignatureOwner GUID with your organization's GUID
Format-SecureBootUEFI `
-Name KEK `
-SignatureOwner "55555555-5555-5555-5555-555555555555" `
-ContentFilePath C:\KEK\KEK_SigList.bin `
-FormatWithCert `
-Certificate C:\KEK\policy_signer.cer `
-SignableFilePath C:\KEK\KEK_Signable_SigList.bin `
-Time 2025-01-01T00:00:00Z `
-AppendWrite:$true
Firmare il file di registrazione kek con il file PK
signtool.exe sign /fd sha256
/p7 .\
/p7co 1.2.840.113549.1.7.1 `
/p7ce DetachedSignedData `
/a `
/f PK.pfx`
C:\KEK\KEK_Signable_SigList.bin
Passaggio 3. Configurare le variabili UEFI di avvio protetto senza accesso alla chiave di configurazione
Per impostare le variabili di avvio protetto UEFI, disabilitare innanzitutto l'avvio protetto nel menu UEFI per impostare il firmware in modalità di installazione. In modalità di installazione le variabili possono essere impostate senza aggiornamenti firmati.
Impostare le variabili nell'ordine seguente:
- DB : aggiungere il certificato OEM e Windows UEFI CA 2023.
- KEK : aggiungere microsoft KEK CA 2K 2023 e il certificato del firmatario dei criteri dell'organizzazione.
- PK : impostare la chiave di piattaforma dell'organizzazione (o lasciare la chiave PK OEM in vigore se si usa la registrazione kek).
Attenzione
L'impostazione non corretta delle variabili di avvio sicuro può rendere il dispositivo non avviabile. Testare questo processo sull'hardware del lab prima della distribuzione nell'ambiente di produzione. Mantenere sempre l'accesso alle impostazioni del firmware UEFI in modo da poter eseguire il ripristino disabilitando l'avvio protetto, se necessario. Le chiavi necessarie per Windows sono disponibili nel documento Secure Boot Key Creation and Management Guidance .The keys required for Windows are available on the Secure Boot Key Creation and Management Guidance document.The keys required for Windows are available on the Secure Boot Key Creation and Management Guidance document.
Passaggio 4: Creare i criteri di Controllo app
Iniziare con i criteri predefiniti di Windows applicati come modello di base, quindi analizzare il dispositivo per individuare altri firmatari che devono essere considerati attendibili.
Individuare il modello di criteri predefinito
Il modello di criteri predefinito è disponibile all'indirizzo:
%WINDIR%\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Enforced.xml
Analizzare il dispositivo per individuare i firmatari del kernel esistenti
New-CIPolicy -ScanPath 'C:\' -UserPEs -NoScript `
-FilePath '.\ScannedPolicy.xml' `
-Level PCACertificate -Fallback Hash
Nota
Questo comando crea regole del certificato di firma aggiungendo l'attendibilità alla CA intermedia. È possibile ottenere attendibilità più granulare in Controllo app e sono documentate nel documento delle regole dei criteri
Unire i criteri predefiniti con i risultati dell'analisi
Merge-CIPolicy `
-PolicyPaths 'C:\Windows\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Enforced.xml', '.\ScannedPolicy.xml' `
-OutputFilePath '.\CustomKernelSignersPolicy.xml'
Preparare i criteri per la firma
La funzionalità di firma del kernel personalizzata richiede che i criteri siano firmati e protetti da avvio protetto e dai componenti di avvio di Windows precedenti. Vedere altre informazioni sui criteri di controllo app firmati. Per abilitare i criteri firmati, rimuovere l'opzione 6 (criteri non firmati):
Set-RuleOption -Option 6 -FilePath .\CustomKernelSignersPolicy.xml -Delete
(Facoltativo) Rimuovere l'integrità del codice in modalità utente
Se si desidera che i criteri vengano applicati solo ai driver in modalità kernel, rimuovere l'opzione 0 (UMCI):
Set-RuleOption -Option 0 -FilePath .\CustomKernelSignersPolicy.xml -Delete
Importante
Dopo aver rimosso l'opzione della regola UMCI, è anche necessario rimuovere manualmente l'elemento UMCI signing scenario (Valore 12) dal file CustomKernelSignersPolicy.xml.
Procedure consigliate per i criteri di base
- Personalizzare prima l'immagine. Rimuovere qualsiasi software non approvato prima di analizzare il dispositivo.
-
Utilizzare
-Level PCACertificateper il miglior equilibrio tra specificità e copertura. - L'analisi acquisisce tutti i firmatari esistenti nel dispositivo, garantendo che i componenti e i driver hardware di Windows rimangano attendibili. Prendere in considerazione solo l'analisi dei driver riservati.
- Eseguire un test approfondito in modalità di controllo prima di eseguire la distribuzione in modalità applicata.
Passaggio 5: Aggiungere firmatari del kernel personalizzati ai criteri
Aggiungere l'hash TBS (Da firmare) di ogni certificato attendibile alle sezioni seguenti del codice XML dei criteri. Sono necessarie voci per:
| Certificato | Scopo | Sezione Criteri |
|---|---|---|
| Certificato del firmatario dei criteri | Questo certificato firma i criteri di integrazione continua e viene concatenato all'autorità aggiunta alla chiave chiave di avvio protetto o alla chiave kek | <UpdateSigners> |
| Certificati di firma del driver personalizzati | Questo certificato firma i driver del kernel | <Signers> |
# Policy signer certificate(s):
Add-SignerRule -CertificatePath <path_to_cer> -FilePath .\CustomKernelSignersPolicy.xml -Update
# Custom kernel signer certificate(s):
Add-SignerRule -CertificatePath <path_to_cer> -FilePath .\CustomKernelSignersPolicy.xml -Kernel
Suggerimento
È anche possibile ottenere l'hash TBS del certificato usando il certutil comando : certutil -dump <certificate.cer>. Cercare il valore hash della firma nell'output. Questo valore è l'hash TBS del certificato.
Passaggio 6: Convertire e firmare i criteri
Convertire i criteri XML in formato binario
Set-CIPolicyIdInfo -ResetPolicyID -FilePath .\CustomKernelSignersPolicy.xml
$PolicyId = ([xml](Get-Content .\CustomKernelSignersPolicy.xml)).SiPolicy.PolicyId
ConvertFrom-CIPolicy .\CustomKernelSignersPolicy.xml -BinaryFilePath ("./" + $PolicyId + ".cip")
Firmare i criteri con il certificato di firma dei criteri
signtool.exe sign /fd sha256 `
/p7 .\ `
/p7co 1.3.6.1.4.1.311.79.1 `
/p7ce Embedded`
/a `
/f policy_signer.pfx `
("./" + $PolicyId + ".cip")
Importante
L'OID 1.3.6.1.4.1.311.79.1 è l'OID di firma dei criteri di integrazione continua di Windows. È necessario usare questo OID per l'integrità del codice Di Windows per riconoscere la firma. Il certificato del firmatario dei criteri deve essere concatenato alla chiave di chiave chiave o alla chiave kek. Vedere altre informazioni sui criteri di controllo app firmati.
Passaggio 7: Distribuire i criteri
È possibile distribuire il file binario dei criteri firmati usando uno dei metodi seguenti:
- Soluzione MDM, ad esempio Microsoft Intune
- CiTool (disponibile su Windows 11)
- Criteri di gruppo (distribuisci tramite oggetto Criteri di gruppo)
- Distribuzione basata su script (distribuzione tramite script)
Distribuzione basata su script nella partizione di sistema EFI
Tutte le soluzioni precedenti, oltre alla distribuzione basata su script, distribuiscono automaticamente il file binario dei criteri nella partizione di sistema EFI (ESP). Se si esegue la distribuzione tramite script, è necessario copiare manualmente il file binario dei criteri firmati nella partizione EFI:
# Mount the EFI System Partition
mountvol s: /s
# Copy the signed policy to the active policies directory
copy ("./" + $PolicyId + ".cip") s:\EFI\Microsoft\Boot\CiPolicies\Active\
Nota
I metodi MDM, CiTool e GPO copiano automaticamente i criteri nella partizione EFI.
Passaggio 8: Reimpostare Windows
Per abilitare la funzionalità, è necessario reimpostare Windows. Una volta che i criteri sono presenti nella partizione EFI, è necessario reimpostare il dispositivo usando un metodo di reimpostazione, ad esempio la reimpostazione rapida. I criteri non saranno considerati attendibili da Windows se non viene eseguita una reimpostazione.
Passaggio 9: Disabilitare i criteri driver Windows
A partire dall'aggiornamento non di sicurezza di aprile 2026, Windows 11 (24H2 e versioni successive) e Windows Server 2025 applicano criteri del kernel che limitano l'attendibilità per il programma driver con firma incrociata. Se il criterio è attivo, è necessario disabilitarlo, in caso contrario il criterio driver bloccherà i driver personalizzati firmati PKI.
# Mount the EFI System Partition
mountvol s: /s
# Remove the default Windows kernel policy if present
del s:\EFI\Microsoft\Boot\CiPolicies\Active\{8F9CB695-5D48-48D6-A329-7202B44607E3}.cip
Passaggio 10: Convalidare la distribuzione
Eseguire prima il test in modalità di controllo
Prima di applicare i criteri, eseguire la distribuzione con la modalità di controllo abilitata per registrare le violazioni dei criteri senza bloccare i driver:
- Assicurarsi che
Enabled:Audit Modesia impostato nella sezione dei criteri<Rules>. - Distribuire i criteri e riavviare il dispositivo.
- Esaminare i log eventi di Integrità del codice inRegistri> applicazioni e serviziMicrosoft> Windows >CodeIntegrity.
Elenco di controllo di convalida
- Il caricamento dei driver con firma personalizzata viene eseguito correttamente.
- I driver non firmati o non autorizzati sono bloccati (in modalità Imponi).
- Windows Update e i flussi di manutenzione del sistema operativo continuano a funzionare.
- I log eventi di integrità del codice mostrano solo gli eventi di blocco previsti.
- I criteri vengono convalidati in tutte le configurazioni hardware di destinazione prima della distribuzione a livello di flotta.
Al termine della convalida, rimuovere l'opzione della Enabled:Audit Mode regola dai criteri, firmare nuovamente e distribuire nei dispositivi di produzione. Non è necessaria un'installazione pulita di Windows per gli aggiornamenti dei criteri.