Revogação de certificado OPM
Um certificado OPM (gerenciador de proteção de saída) pode ser revogado pela Microsoft. A lista de certificados revogados é armazenada em uma GRL (lista de revogação global). O GRL tem o seguinte formato:
Secção | Descrição |
---|---|
Cabeçalho | Uma estrutura GRL_HEADER. |
Núcleo | Contém as seguintes listas de revogação:
|
Entradas extensíveis | Contém informações usadas por outros componentes. Esta seção não é relevante para o OPM. |
Renovações: | Contém GUIDs que definem identificadores do Windows Update. Esta seção contém identificadores para as seguintes listas:
|
Assinatura: Seção Core | Assina o cabeçalho e as seções principais. |
Assinatura: Seção Extensível | Assina o cabeçalho e as seções extensíveis. |
O cabeçalho GRL é uma estrutura GRL_HEADER. O dwSequenceNumber membro da estrutura contém o número de versão GRL. Esse número é incrementado sempre que o GRL é atualizado e uma nova versão colocada no computador do usuário.
Certificados OPM revogados são listados na lista de revogações de certificado da seção Core. Cada entrada Core no GRL é uma matriz de 20 bytes que contém o hash SHA-1 da chave pública do certificado revogado.
As seções de Assinatura contêm assinaturas que podem ser usadas para verificar se o GRL não foi adulterado. Cada seção de Assinatura contém a estrutura am MF_SIGNATURE. A primeira assinatura assina o cabeçalho mais a seção Core. A segunda assinatura assina o cabeçalho mais a seção Extensível; essa assinatura não é relevante para o OPM.
Para garantir que o GRL em si não tenha sido adulterado, verifique a assinatura da seguinte maneira:
- Localize o início da estrutura de MF_SIGNATURE. O local da estrutura de MF_SIGNATURE é fornecido no membro cbSignatureCoreOffset da estrutura GRL_HEADER. O local é especificado como um deslocamento em bytes desde o início do GRL.
- Analise a estrutura de MF_SIGNATURE como uma assinatura PKCS nº 7 com uma cadeia de certificados.
- Verifique a cadeia de certificados até uma raiz confiável.
- Verifique se o certificado folha tem o seguinte identificador de objeto na EKU: "1.3.6.1.4.1.311.10.5.4".
- Compute um hash dos bytes que incluem o cabeçalho e as seções principais do GRL.
- Verifique se o hash corresponde à assinatura no certificado folha.
Tópicos relacionados