Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota
Algunas funcionalidades de App Control para empresas solo están disponibles en versiones específicas de Windows. Obtenga más información sobre la disponibilidad de características de App Control.
A partir de abril de 2026, las entidades de certificación (CA) firmadas cruzadas ya no son de confianza de forma predeterminada para la firma de controladores en modo kernel. La ruta de acceso estándar para la firma de controladores de kernel se realiza a través del Centro de desarrollo de hardware (HDC), que requiere el envío de archivos binarios del controlador a la certificación del Programa de compatibilidad de hardware (WHCP) de Microsoft para Windows. Sin embargo, es posible que las organizaciones con entornos clasificados, confidenciales o con conexión aérea no puedan enviar controladores a Microsoft para su certificación. Además, es posible que las organizaciones que escriben controladores para uso interno no quieran certificar controladores para el ecosistema de Windows.
Los firmantes de kernel personalizados resuelven este problema ampliando App Control for Business para permitir que las organizaciones confíen en los controladores de kernel firmados con su propia infraestructura de clave pública (PKI), sin necesidad de firmas WHCP. La característica usa una directiva de Control de aplicaciones firmada por una entidad de firma en la jerarquía de arranque seguro para definir qué certificados de firma están autorizados para el código de modo kernel. Esta característica proporciona un control granular y auditable sobre el límite de confianza del kernel y elimina el requisito de certificar los controladores de WHCP.
Funcionamiento de los firmantes de kernel personalizados
La característica de firmantes de kernel personalizado usa una cadena de confianza en capas y una directiva de Control de aplicaciones para invalidar los requisitos de firma predeterminados integrados en el kernel de Windows. Este es el funcionamiento de la cadena de confianza:
| Capa | Rol |
|---|---|
| Clave de plataforma de arranque seguro (PK) / clave de intercambio de claves (KEK) | Raíz de confianza. Propiedad de usted o del OEM. No se puede cambiar sin acceso físico al firmware. |
| Firmante de directivas de App Control | Firma el binario de directiva de App Control. Debe encadenar a una entidad en la base de datos PK o KEK de arranque seguro. |
| Directiva de Control de aplicaciones | Enumera los firmantes de kernel de confianza, incluidos los PKI personalizados, Windows y, opcionalmente, los firmantes de WHCP. Implementado en la partición del sistema EFI. |
| Integridad del código del kernel de Windows | Valida todos los controladores de kernel en tiempo de carga con la directiva de App Control. Solo permite que los controladores se permitan en la directiva de Control de aplicaciones. |
Solo el titular de la plataforma (pk o propietario de KEK) puede autorizar la directiva. Este proceso de inscripción de alta fricción es intencionado. El proceso evita el uso indebido en los dispositivos de consumidor y garantiza que solo las organizaciones con acceso al firmware físico puedan habilitar la característica.
Importante
Una vez implementada una directiva firmada, solo se puede actualizar con una nueva directiva firmada por la misma autoridad. La eliminación de la directiva sin un reemplazo válido hace que Windows no arranque. Para recuperarlo, debe acceder al menú Unified Extensible Firmware Interface (UEFI) para deshabilitar el arranque seguro o modificar las variables de firmware. Planee cuidadosamente los procedimientos de administración y recuperación de claves antes de la implementación. Consulte más información sobre las directivas de App Control firmadas.
Garantías de seguridad
Los firmantes de kernel personalizados proporcionan las siguientes garantías de seguridad:
- Integridad de arranque segura: Los firmantes de kernel personalizados solo funcionan cuando está habilitado el arranque seguro. La directiva debe estar firmada por el propietario de Secure Boot PK o KEK y no se puede suplantar sin acceso al firmware físico.
- Protección contra alteraciones: Una vez implementada, la directiva firmada no se puede quitar sin una directiva de reemplazo firmada por la misma autoridad.
- Confianza granular: La directiva de Control de aplicaciones permite reglas de confianza por certificado y por hash. Controla exactamente qué controladores se ejecutan en el kernel.
- No repudio: Todas las firmas de directivas y controladores se pueden comprobar criptográficamente. Los registros de eventos de integridad de código capturan todas las decisiones de carga y bloqueo para la auditoría.
Plataformas y ediciones admitidas
La característica de firmantes de kernel personalizado está disponible en las siguientes plataformas Windows con la actualización no relacionada con la seguridad de abril de 2026:
- Windows 11 (versión 24H2 y posteriores)
La característica está disponible en todas las ediciones de Windows excepto En casa.
Nota
Esta característica aún no se admite en sistemas ARM64 con System Guard Secure Launch.
Implementación de firmantes de kernel personalizados
Antes de empezar, asegúrese de que se cumplen los siguientes requisitos:
- Instalación limpia de Windows en una edición compatible. Los firmantes de kernel personalizados deben estar habilitados durante la configuración inicial del dispositivo. La característica no se habilitará en sistemas en ejecución actualmente.
- Firmware UEFI (versión 2.3 o posterior) con arranque seguro habilitado.
- Infraestructura PKI propiedad del cliente. Se recomienda una solución de almacenamiento de claves respaldada por HSM para entornos de producción.
- Acceso administrativo a variables de firmware UEFI (PK, KEK, DB).
- SignTool.exe del Windows SDK.
- Familiaridad con el diseño de directivas de App Control para empresas, directivas firmadas y reglas de directiva.
Paso 1: Generar las claves de arranque seguro
Genere el par de claves PKI que actúa como raíz de confianza en Arranque seguro y se use para firmar la directiva de App Control. Pk o KEK se pueden usar como raíz de confianza para firmar la directiva de Control de aplicaciones. La guía de Microsoft consiste en agregar la clave PKI a KEK para que el propietario de PK pueda seguir prestando servicio a KEK en el futuro.
Los certificados PK y KEK deben ser certificados raíz o certificados intermedios (PCA) emitidos directamente desde la raíz. El documento Windows Secure Boot Key Creation and Management Guidance (Guía de administración y creación de claves de arranque seguro de Windows ) contiene más información e instrucciones sobre cómo crear certificados compatibles con el arranque seguro. También puede usar la clave KEK de Microsoft como plantilla de referencia para las propiedades y extensiones de clave.
Nota
Si su organización ya posee el PK en los dispositivos, puede firmar la directiva de Control de aplicaciones con ella o firmar una actualización kek para anexar una nueva clave de arranque seguro. Si no es propietario de pk, debe deshabilitar Arranque seguro para establecer un nuevo PK o KEK en los dispositivos existentes. En el caso de los dispositivos futuros, considere la posibilidad de trabajar con el OEM de hardware para preconfigurar las claves de arranque seguro personalizadas en la fábrica.
Paso 2: Configurar las variables UEFI de arranque seguro con acceso a pk
Si es propietario de PK en los dispositivos, puede firmar la inscripción de KEK para agregar la clave pública KEK al firmware de UEFI. Si no es propietario del PK, puede ir al paso 3.
Generación del contenido de inscripción de 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
Firmar el archivo de inscripción de KEK con el 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
Paso 3. Configuración de las variables UEFI de arranque seguro sin acceso a pk
Para establecer las variables de arranque seguro de UEFI, primero deshabilite Arranque seguro en el menú UEFI para poner el firmware en modo de instalación. En el modo de instalación, las variables se pueden establecer sin actualizaciones firmadas.
Establezca las variables en el orden siguiente:
- DB : agregue el certificado OEM y Windows UEFI CA 2023.
- KEK : agregue microsoft KEK CA 2K 2023 y el certificado de firmante de directivas de su organización.
- PK : establezca la clave de plataforma de su organización (o deje el PK de OEM en su lugar si usa la inscripción de KEK).
Precaución
Establecer variables de arranque seguro incorrectamente puede hacer que el dispositivo no se pueda iniciar. Pruebe este proceso en el hardware de laboratorio antes de implementarlo en producción. Mantenga siempre el acceso a la configuración de firmware de UEFI para que pueda recuperarse deshabilitando Arranque seguro si es necesario. Las claves necesarias para Windows están disponibles en nuestro documento Guía de administración y creación de claves de arranque seguro.
Paso 4: Creación de la directiva de App Control
Comience con la directiva de Windows aplicada predeterminada como plantilla base y, a continuación, examine el dispositivo en busca de otros firmantes de confianza.
Busque la plantilla de directiva predeterminada.
La plantilla de directiva predeterminada está disponible en:
%WINDIR%\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Enforced.xml
Examinar el dispositivo en busca de firmantes de kernel existentes
New-CIPolicy -ScanPath 'C:\' -UserPEs -NoScript `
-FilePath '.\ScannedPolicy.xml' `
-Level PCACertificate -Fallback Hash
Nota
Este comando crea reglas de certificado de firma anclando la confianza a la entidad de certificación intermedia. Se puede lograr una confianza más granular en App Control y se documenta en nuestro documento de reglas de directivas.
Combinar la directiva predeterminada con los resultados del examen
Merge-CIPolicy `
-PolicyPaths 'C:\Windows\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Enforced.xml', '.\ScannedPolicy.xml' `
-OutputFilePath '.\CustomKernelSignersPolicy.xml'
Preparación de la directiva para la firma
La característica de firmantes de kernel personalizado requiere que la directiva esté firmada y protegida por los componentes de arranque seguro y los primeros componentes de arranque de Windows. Consulte más información sobre las directivas de App Control firmadas. Para habilitar la directiva firmada, quite la opción 6 (directiva sin firmar):
Set-RuleOption -Option 6 -FilePath .\CustomKernelSignersPolicy.xml -Delete
(Opcional) Eliminación de la integridad del código en modo de usuario
Si desea que la directiva se aplique solo a los controladores de modo kernel, quite la opción 0 (UMCI):
Set-RuleOption -Option 0 -FilePath .\CustomKernelSignersPolicy.xml -Delete
Importante
Después de quitar la opción de regla UMCI, también debe quitar manualmente el UMCI signing scenario elemento (Value 12) del archivo CustomKernelSignersPolicy.xml.
Procedimientos recomendados para la directiva base
- Personalice primero la imagen. Quite cualquier software no aprobado antes de examinar el dispositivo.
-
Uso
-Level PCACertificatepara el mejor equilibrio de especificidad y cobertura. - El examen captura todos los firmantes existentes en el dispositivo, lo que garantiza que los componentes de Windows y los controladores de hardware sigan siendo de confianza. Considere la posibilidad de escanear solo los controladores confidenciales en su lugar.
- Pruebe exhaustivamente en el modo auditoría antes de implementarlo en modo aplicado.
Paso 5: Agregar firmantes de kernel personalizados a la directiva
Agregue el hash TBS (para firmar) de cada certificado de confianza a las secciones siguientes del XML de directiva. Necesita entradas para:
| Certificado | Propósito | Sección directiva |
|---|---|---|
| Certificado de firmante de directiva | Este certificado firma la propia directiva de CI y se encadena a la autoridad agregada al PK de arranque seguro o KEK. | <UpdateSigners> |
| Certificados de firma de controladores personalizados | Este certificado firma los controladores 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
Sugerencia
También puede obtener el hash TBS del certificado mediante el certutil comando : certutil -dump <certificate.cer>. Busque el valor hash de firma en la salida. Este valor es el hash TBS del certificado.
Paso 6: Convertir y firmar la directiva
Conversión de la directiva XML en formato binario
Set-CIPolicyIdInfo -ResetPolicyID -FilePath .\CustomKernelSignersPolicy.xml
$PolicyId = ([xml](Get-Content .\CustomKernelSignersPolicy.xml)).SiPolicy.PolicyId
ConvertFrom-CIPolicy .\CustomKernelSignersPolicy.xml -BinaryFilePath ("./" + $PolicyId + ".cip")
Firma de la directiva con el certificado de firma de directiva
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
El OID 1.3.6.1.4.1.311.79.1 es el OID de firma de directiva de CI de Windows. Debe usar este OID para la integridad del código de Windows para reconocer la firma. El certificado de firmante de directiva debe encadenarse a pk o KEK. Consulte más información sobre las directivas de App Control firmadas.
Paso 7: Implementación de la directiva
Puede implementar el binario de directiva firmada mediante cualquiera de los métodos siguientes:
- Solución MDM, como Microsoft Intune
- CiTool (disponible en Windows 11)
- directiva de grupo (implementar a través de GPO)
- Implementación basada en scripts (implementación mediante script)
Implementación basada en scripts en la partición del sistema EFI
Todas las soluciones anteriores, además de la implementación basada en scripts, implementan el binario de directiva en la partición del sistema EFI (ESP) automáticamente. Si se implementa mediante script, debe copiar manualmente el binario de directiva firmada en la partición 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
Los métodos MDM, CiTool y GPO copian la directiva en la partición EFI automáticamente.
Paso 8: Restablecer Windows
Se requiere un restablecimiento de Windows para habilitar la característica. Una vez que la directiva está presente en la partición EFI, debe restablecer el dispositivo mediante un método de restablecimiento como el restablecimiento de botón de inserción. Windows no confiará en la directiva si no se realiza un restablecimiento.
Paso 9: Deshabilitar la directiva de controladores de Windows
A partir de la actualización de seguridad de abril de 2026, Windows 11 (24H2 y versiones posteriores) y Windows Server 2025 aplica una directiva de kernel que restringe la confianza para el programa de controladores firmados entre sí. Si la directiva está activa, debe deshabilitarla; de lo contrario, la directiva de controladores bloqueará los controladores con firma PKI personalizada.
# 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
Paso 10: Validar la implementación
Probar primero en modo auditoría
Antes de aplicar la directiva, implemente con el modo auditoría habilitado para registrar infracciones de directiva sin bloquear los controladores:
- Asegúrese de que
Enabled:Audit Modeestá establecido en la sección directiva<Rules>. - Implemente la directiva y reinicie el dispositivo.
- Revise los registros de eventos de integridad de código en Registros de aplicaciones y servicios>De Microsoft>Windows>CodeIntegrity.
Lista de comprobación de validación
- Los controladores con firma personalizada se cargan correctamente.
- Los controladores no firmados o no autorizados están bloqueados (en el modo Aplicar).
- Windows Update y los flujos de mantenimiento del sistema operativo siguen funcionando.
- Los registros de eventos de integridad de código solo muestran los eventos de bloque esperados.
- La directiva se valida en todas las configuraciones de hardware de destino antes de la implementación en toda la flota.
Una vez completada la validación, quite la Enabled:Audit Mode opción de regla de la directiva, vuelva a firmar e implemente en los dispositivos de producción. No se requiere una instalación limpia de Windows para las actualizaciones de directivas.