OPM-Zertifikatsperrung
Ein OpM-Zertifikat (Output Protection Manager) kann von Microsoft widerrufen werden. Die Liste der widerrufenen Zertifikate wird in einer globalen Sperrliste (GRL) gespeichert. Die GRL weist das folgende Format auf:
Abschnitt | Beschreibung |
---|---|
Kopfball | Eine GRL_HEADER Struktur. |
Kern | Enthält die folgenden Sperrlisten:
|
Erweiterbare Einträge | Enthält Informationen, die von anderen Komponenten verwendet werden. Dieser Abschnitt ist für OPM nicht relevant. |
Erneuerungen: | Enthält GUIDs, die Windows Update-IDs definieren. Dieser Abschnitt enthält Bezeichner für die folgenden Listen:
|
Signatur: Kernabschnitt | Signiert die Kopf- und Kernabschnitte. |
Signatur: Erweiterbarer Abschnitt | Signiert die Kopfzeile und erweiterbare Abschnitte. |
Der GRL-Header ist eine GRL_HEADER Struktur. Das dwSequenceNumber Element der Struktur enthält die GRL-Versionsnummer. Diese Zahl wird immer dann erhöht, wenn die GRL aktualisiert wird und eine neue Version auf dem Computer des Benutzers platziert wird.
Widerrufene OPM-Zertifikate sind in der Zertifikatsperrliste des Abschnitts "Core" aufgeführt. Jeder Core-Eintrag in der GRL ist ein 20-Byte-Array, das den SHA-1-Hash des öffentlichen Schlüssels des widerrufenen Zertifikats enthält.
Die Signaturenabschnitte enthalten Signaturen, die verwendet werden können, um zu überprüfen, ob die GRL nicht manipuliert wurde. Jede Signaturabschnitte enthält am MF_SIGNATURE Struktur. Die erste Signatur signiert die Kopfzeile plus den Core-Abschnitt. Die zweite Signatur signiert die Kopfzeile plus den Extensible-Abschnitt; diese Signatur ist für OPM nicht relevant.
Um sicherzustellen, dass die GRL selbst nicht manipuliert wurde, überprüfen Sie die Signatur wie folgt:
- Suchen Sie den Anfang der MF_SIGNATURE Struktur. Die Position der MF_SIGNATURE Struktur wird im cbSignatureCoreOffset Member der GRL_HEADER Struktur angegeben. Die Position wird als Offset in Byte vom Anfang der GRL angegeben.
- Analysieren Sie die MF_SIGNATURE Struktur als PKCS #7-Signatur mit einer Zertifikatkette.
- Überprüfen Sie die Zertifikatkette bis zu einem vertrauenswürdigen Stamm.
- Stellen Sie sicher, dass das Blattzertifikat den folgenden Objektbezeichner in der EKU aufweist: "1.3.6.1.4.1.311.10.5.4".
- Berechnen Sie einen Hash der Bytes, die die Kopfzeile und die Kernabschnitte der GRL enthalten.
- Stellen Sie sicher, dass der Hash mit der Signatur im Blattzertifikat übereinstimmt.
Verwandte Themen