Compartir a través de


Revocación de certificados OPM

Microsoft puede revocar un certificado de administrador de protección de salida (OPM). La lista de certificados revocados se almacena en una lista de revocación global (GRL). La GRL tiene el formato siguiente:

Sección Descripción
Encabezado Estructura GRL_HEADER .
Core Contiene las siguientes listas de revocación:
  • Revocaciones binarias de kernel
  • Revocaciones binarias en modo de usuario
  • Revocación de certificados
  • Raíces de confianza (reservadas)
La lista de raíces de confianza no se usa actualmente y está reservada para su uso futuro.
Entradas extensibles Contiene información utilizada por otros componentes. Esta sección no es relevante para OPM.
Renovaciones: Contiene GUID que definen identificadores de Windows Update. Esta sección contiene identificadores para las listas siguientes:
  • Revocaciones binarias de kernel
  • Revocaciones binarias en modo de usuario
  • Revocación de certificados
Una aplicación puede usar estos identificadores para solicitar una versión renovada de un binario revocado, si hay alguno disponible.
Firma: sección Principal Firma el encabezado y las secciones principales.
Firma: sección extensible Firma el encabezado y las secciones extensibles.

 

El encabezado GRL es una estructura GRL_HEADER . El miembro dwSequenceNumber de la estructura contiene el número de versión grL. Este número se incrementa cada vez que se actualiza la GRL y se coloca una nueva versión en el equipo del usuario.

Los certificados OPM revocados se enumeran en la lista de revocaciones de certificados de la sección Core. Cada entrada Core en la GRL es una matriz de 20 bytes que contiene el hash SHA-1 de la clave pública del certificado revocado.

Las secciones Firma contienen firmas que se pueden usar para comprobar que la GRL no se ha alterado. Cada sección Signature contiene la estructura am MF_SIGNATURE . La primera firma firma el encabezado más la sección Core. La segunda firma firma el encabezado más la sección Extensible; esta firma no es relevante para OPM.

Para asegurarse de que la propia GRL no se ha alterado, compruebe la firma como se indica a continuación:

  1. Busque el inicio de la estructura MF_SIGNATURE . La ubicación de la estructura MF_SIGNATURE se da en el miembro cbSignatureCoreOffset de la estructura GRL_HEADER . La ubicación se especifica como un desplazamiento en bytes desde el principio de la GRL.
  2. Analice la estructura de MF_SIGNATURE como una firma PKCS #7 con una cadena de certificados.
  3. Compruebe la cadena de certificados hasta una raíz de confianza.
  4. Compruebe que el certificado hoja tiene el siguiente identificador de objeto en la EKU: "1.3.6.1.4.1.311.10.5.4".
  5. Calcule un hash de los bytes que incluyen el encabezado y las secciones principales de la GRL.
  6. Compruebe que el hash coincide con la firma en el certificado hoja.

Administrador de protección de salida

GRL_HEADER

MF_SIGNATURE