Signers de Kernel Personalizados para Controlo de Aplicações para Empresas

Observação

Algumas capacidades do Controlo de Aplicações para Empresas só estão disponíveis em versões específicas do Windows. Saiba mais sobre a disponibilidade das funcionalidades do Controlo de Aplicações.

A partir de abril de 2026, as autoridades de certificação (ACs) assinadas cruzadas já não são consideradas fidedignas por predefinição para a assinatura do controlador do modo kernel. O caminho padrão para a assinatura do controlador de kernel é através do Hardware Dev Center (HDC), que requer a submissão de binários de controlador à Microsoft para certificação whCP (Programa de Compatibilidade de Hardware do Windows ). No entanto, as organizações com ambientes classificados, confidenciais ou com disponibilidade aérea poderão não conseguir submeter controladores à Microsoft para certificação. Além disso, as organizações que escrevem controladores para utilização interna apenas podem não querer certificar controladores para o ecossistema do Windows.

Os signatários de kernel personalizados resolvem este problema ao expandir o Controlo de Aplicações para Empresas para permitir que as organizações confiem nos controladores de kernel assinados com a sua própria infraestrutura de chaves públicas (PKI), sem necessidade de assinaturas WHCP. A funcionalidade utiliza uma política de Controlo de Aplicações assinada por uma autoridade de assinatura na hierarquia de Arranque Seguro para definir que certificados de assinatura estão autorizados para o código do modo kernel. Esta funcionalidade dá-lhe controlo granular e auditável sobre o limite de fidedignidade do kernel e remove o requisito para que o WHCP certifique os controladores.

Como funcionam os Signatários de Kernel Personalizados

A funcionalidade de sinalizadores de kernel personalizados utiliza uma cadeia de fidedignidade em camadas e uma política de Controlo de Aplicações para substituir os requisitos de assinatura predefinidos incorporados no kernel do Windows. Eis como funciona a cadeia de fidedignidade:

Camada Função
Chave de Plataforma de Arranque Seguro (PK)/Chave do Exchange de Chaves (KEK) Raiz de confiança. Propriedade de si ou do OEM. Não é possível alterar sem acesso físico ao firmware.
Signatário da política de Controlo de Aplicações Assina o binário da política de Controlo de Aplicações. Tem de encadear a uma autoridade na base de dados SECURE Boot PK ou KEK.
Política de Controlo de Aplicações Lista os signatários de kernel fidedignos, incluindo o PKI personalizado, o Windows e, opcionalmente, os signatários WHCP. Implementado na Partição do Sistema EFI.
Integridade do código do kernel do Windows Valida todos os controladores de kernel no tempo de carregamento em relação à política de Controlo de Aplicações. Só permite que os controladores permitam listados pela política de Controlo de Aplicações.

Apenas o titular da plataforma (proprietário de PK ou KEK) pode autorizar a política. Este processo de inscrição de fricção elevada é intencional. O processo impede a utilização indevida em dispositivos de consumidor e garante que apenas as organizações com acesso a firmware físico podem ativar a funcionalidade.

Importante

Assim que uma política assinada for implementada, só pode ser atualizada com uma nova política assinada pela mesma autoridade. Remover a política sem uma substituição válida faz com que o Windows não arranque. Para recuperar, tem de aceder ao menu UEFI (Extensible Firmware Interface) unificado para desativar o Arranque Seguro ou modificar variáveis de firmware. Planeie cuidadosamente os seus procedimentos de gestão e recuperação de chaves antes da implementação. Veja mais informações sobre as políticas de Controlo de Aplicações assinadas.

Garantias de segurança

Os signatários de kernel personalizados fornecem as seguintes garantias de segurança:

  • Integridade do Arranque Seguro: Os signatários de kernel personalizados só funcionam quando o Arranque Seguro está ativado. A política tem de ser assinada pelo proprietário do Secure Boot PK ou KEK e não pode ser falsificada sem acesso físico ao firmware.
  • Proteção contra adulteração: Depois de implementada, a política assinada não pode ser removida sem uma política de substituição assinada pela mesma autoridade.
  • Confiança granular: A política de Controlo de Aplicações permite regras de fidedignidade por certificado e por hash. Controla exatamente que controladores são executados no kernel.
  • Não rejeição: Todas as assinaturas de políticas e controladores são criptograficamente verificáveis. Os registos de eventos de integridade do código capturam todas as decisões de carregamento e bloqueio para auditoria.

Plataformas e Edições Suportadas

A funcionalidade de sinalizadores de kernel personalizados está disponível nas seguintes plataformas windows com a atualização não relacionada com segurança de abril de 2026:

  • Windows 11 (versão 24H2 e posterior)

A funcionalidade está disponível em todas as edições do Windows, exceto em Home Page.

Observação

Esta funcionalidade ainda não é suportada em sistemas ARM64 com o Lançamento Seguro do System Guard.

Implementação de Signatários de Kernel Personalizados

Antes de começar, certifique-se de que os seguintes requisitos são cumpridos:

  • Instalação limpa do Windows numa edição suportada. Os signatários de kernel personalizados têm de ser ativados durante a configuração inicial do dispositivo. A funcionalidade não será ativada em sistemas atualmente em execução.
  • Firmware UEFI (versão 2.3 ou posterior) com Arranque Seguro ativado.
  • Infraestrutura PKI pertencente ao cliente. Recomenda-se uma solução de armazenamento de chaves suportada por HSM para ambientes de produção.
  • Acesso administrativo a variáveis de firmware UEFI (PK, KEK, DB).
  • SignTool.exe do SDK do Windows.
  • Estar familiarizado com o design da política do Controlo de Aplicações para Empresas, as regras de política assinadas e as políticas.

Passo 1: Gerar as chaves de Arranque Seguro

Gere o par de chaves PKI que serve como a sua raiz de confiança no Arranque Seguro e seja utilizado para assinar a política de Controlo de Aplicações. O PK ou o KEK podem ser utilizados como a raiz da fidedignidade para assinar a política de Controlo de Aplicações. A documentação de orientação da Microsoft é adicionar a chave PKI à KEK para que o proprietário do PK possa continuar a utilizar a KEK no futuro.

Os certificados PK e KEK têm de ser certificados de raiz ou certificados intermédios (PCAs) emitidos diretamente a partir da raiz. O documento Orientações de Criação e Gestão de Chaves de Arranque Seguro do Windows tem mais informações e orientações sobre a criação de certificados compatíveis com o Arranque Seguro. Também pode utilizar a chave Microsoft KEK como um modelo de referência para propriedades e extensões de chave.

Observação

Se a sua organização já tiver o PK nos seus dispositivos, pode assinar a política de Controlo de Aplicações com o mesmo ou assinar uma atualização KEK para acrescentar uma nova chave de Arranque Seguro. Se não for o proprietário do PK, terá de desativar o Arranque Seguro para definir um novo PK ou KEK em dispositivos existentes. Para dispositivos futuros, considere trabalhar com o OEM de hardware para pré-configurar as chaves de Arranque Seguro personalizadas na fábrica.

Passo 2: Configurar as variáveis UEFI de Arranque Seguro com acesso ao PK

Se for o proprietário do PK em dispositivos, pode assinar a inscrição KEK para adicionar a sua chave pública KEK ao firmware UEFI. Se não for o proprietário do PK, pode avançar para o Passo 3.

Gerar o conteúdo de inscrição 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

Assinar o ficheiro de inscrição KEK com o seu 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

Etapa 3. Configurar as variáveis UEFI de Arranque Seguro sem acesso ao PK

Para definir as variáveis de Arranque Seguro UEFI, desative primeiro o Arranque Seguro no menu UEFI para colocar o firmware no Modo de Configuração. No Modo de Configuração, as variáveis podem ser definidas sem atualizações assinadas.

Defina as variáveis pela seguinte ordem:

  1. DB – Adicione o certificado OEM e a AC UEFI do Windows 2023.
  2. KEK – adicione o microsoft KEK CA 2K 2023 e o certificado do signatário da política da sua organização.
  3. PK – Defina a Chave de Plataforma da sua organização (ou deixe o OEM PK implementado se estiver a utilizar a inscrição KEK).

Cuidado

Definir variáveis de Arranque Seguro incorretamente pode tornar o dispositivo inbootável. Teste este processo em hardware de laboratório antes de implementar na produção. Mantenha sempre o acesso às definições de firmware UEFI para que possa recuperar ao desativar o Arranque Seguro, se necessário. As chaves necessárias para o Windows estão disponíveis no nosso documento de Orientação de Criação e Gestão de Chaves de Arranque Seguro.

Passo 4: Criar a política de Controlo de Aplicações

Comece com a Política predefinida imposta do Windows como o modelo base e, em seguida, analise o dispositivo quanto a outros signatários que precisem de ser fidedignos.

Localizar o modelo de política predefinido

O modelo de política predefinido está disponível em:

%WINDIR%\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Enforced.xml

Analisar os signatários de kernel existentes no dispositivo

New-CIPolicy -ScanPath 'C:\' -UserPEs -NoScript `
    -FilePath '.\ScannedPolicy.xml' `
    -Level PCACertificate -Fallback Hash

Observação

Este comando cria regras de certificado de assinatura ao afixar confiança à AC intermédia. A confiança mais granular pode ser obtida no Controlo de Aplicações e está documentada no nosso documento de regras de política

Intercalar a política predefinida com os resultados da análise

Merge-CIPolicy `
    -PolicyPaths 'C:\Windows\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Enforced.xml', '.\ScannedPolicy.xml' `
    -OutputFilePath '.\CustomKernelSignersPolicy.xml'

Preparar a política para assinatura

A funcionalidade de sinalizadores de kernel personalizados requer que a política seja assinada e protegida pelo Arranque Seguro e pelos componentes de arranque inicial do Windows. Veja mais informações sobre as políticas de Controlo de Aplicações assinadas. Para ativar a política assinada, remova a Opção 6 (política não assinada):

Set-RuleOption -Option 6 -FilePath .\CustomKernelSignersPolicy.xml -Delete

(Opcional) Remover Integridade do Código do Modo de Utilizador

Se quiser que a política se aplique apenas aos controladores do modo kernel, remova a Opção 0 (UMCI):

Set-RuleOption -Option 0 -FilePath .\CustomKernelSignersPolicy.xml -Delete

Importante

Depois de remover a opção de regra UMCI, também tem de remover manualmente o UMCI signing scenario elemento (Valor 12) do ficheiro CustomKernelSignersPolicy.xml.

Melhores práticas para a política base

  • Personalize primeiro a imagem. Remova qualquer software não aprovado antes de analisar o dispositivo.
  • Utilizar -Level PCACertificate para o melhor equilíbrio de especificidade e cobertura.
  • A análise captura todos os signatários existentes no dispositivo, garantindo que os componentes do Windows e os controladores de hardware permanecem fidedignos. Considere analisar apenas os controladores confidenciais.
  • Teste minuciosamente no Modo de auditoria antes de implementar no modo imposto.

Passo 5: adicionar signatários de kernel personalizados à política

Adicione o hash TBS (A Assinar) de cada certificado fidedigno às secções seguintes do XML da política. Precisa de entradas para:

Certificado Finalidade Secção de Política
Certificado do signatário da política Este certificado assina a própria política de CI e acorrenta à autoridade adicionada à PK de Arranque Seguro ou à KEK <UpdateSigners>
Certificado(s) de assinatura de controlador personalizado(s) Este certificado assina os controladores de 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

Dica

Também pode obter o hash TBS do certificado com o certutil comando : certutil -dump <certificate.cer>. Procure o valor Hash de Assinatura na saída. Este valor é o hash TBS do certificado.

Passo 6: Converter e assinar a política

Converter a política XML em formato binário

Set-CIPolicyIdInfo -ResetPolicyID -FilePath .\CustomKernelSignersPolicy.xml
$PolicyId = ([xml](Get-Content .\CustomKernelSignersPolicy.xml)).SiPolicy.PolicyId
ConvertFrom-CIPolicy .\CustomKernelSignersPolicy.xml -BinaryFilePath ("./" + $PolicyId + ".cip")

Assinar a política com o certificado de assinatura de política

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

O OID 1.3.6.1.4.1.311.79.1 é o OID de assinatura da Política de CI do Windows. Tem de utilizar este OID para a integridade do código do Windows para reconhecer a assinatura. O certificado do signatário da política tem de ser ligado ao seu PK ou KEK. Veja mais informações sobre as políticas de Controlo de Aplicações assinadas.

Passo 7: Implementar a política

Pode implementar o binário da política assinada com qualquer um dos seguintes métodos:

Implementação baseada em scripts para a Partição do Sistema EFI

Todas as soluções acima, além da implementação baseada em scripts, implementam automaticamente o binário da política na Partição do Sistema EFI (ESP). Se implementar através de script, tem de copiar manualmente o binário da política assinada para a partição 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\

Observação

Os métodos MDM, CiTool e GPO copiam a política para a partição EFI automaticamente.

Passo 8: Repor o Windows

É necessária uma reposição do Windows para ativar a funcionalidade. Assim que a política estiver presente na partição EFI, tem de repor o dispositivo através de um método de reposição, como a reinicialização rápida. A política não será considerada fidedigna pelo Windows se não for efetuada uma reposição.

Passo 9: Desativar a Política de Controlador do Windows

A partir da atualização não relacionada com segurança de abril de 2026, o Windows 11 (24H2 e posterior) e o Windows Server 2025 impõem uma política de kernel que restringe a confiança para o programa de controladores transassinados. Se a política estiver ativa, tem de a desativar. Caso contrário, a política de controladores bloqueará os controladores personalizados assinados por 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

Passo 10: Validar a implementação

Testar primeiro no Modo de auditoria

Antes de impor a política, implemente com o Modo de auditoria ativado para registar violações de políticas sem bloquear os controladores:

  1. Certifique-se de que Enabled:Audit Mode está definido na secção de política <Rules> .
  2. Implemente a política e reinicie o dispositivo.
  3. Reveja os registos de eventos da Integridade do Código em Aplicações e Serviços Regista a>Integridade do Código doMicrosoft>Windows>.

Lista de verificação de validação

  • Os controladores assinados personalizados são carregados com êxito.
  • Os controladores não assinados ou não autorizados estão bloqueados (no modo Impor).
  • Windows Update e os fluxos de manutenção do SO continuam a funcionar.
  • Os registos de eventos da Integridade do Código mostram apenas os eventos de bloco esperados.
  • A política é validada em todas as configurações de hardware de destino antes da implementação em toda a frota.

Assim que a validação estiver concluída, remova a opção Enabled:Audit Mode de regra da política, volte a assinar e implemente em dispositivos de produção. Não é necessária uma instalação limpo do Windows para atualizações de políticas.