다음을 통해 공유


OPM 인증서 해지

MICROSOFT에서 OPM(출력 보호 관리자) 인증서를 해지할 수 있습니다. 해지된 인증서 목록은 GRL(전역 해지 목록)에 저장됩니다. GRL의 형식은 다음과 같습니다.

섹션 Description
헤더 GRL_HEADER 구조체입니다.
핵심 다음 해지 목록을 포함합니다.
  • 커널 이진 해지
  • 사용자 모드 이진 해지
  • 인증서 해지
  • 신뢰할 수 있는 루트(예약됨)
신뢰할 수 있는 루트 목록은 현재 사용되지 않으며 나중에 사용하도록 예약되어 있습니다.
확장 가능한 항목 다른 구성 요소에서 사용하는 정보를 포함합니다. 이 섹션은 OPM과 관련이 없습니다.
갱신: Windows 업데이트 식별자를 정의하는 GUID를 포함합니다. 이 섹션에는 다음 목록에 대한 식별자가 포함되어 있습니다.
  • 커널 이진 해지
  • 사용자 모드 이진 해지
  • 인증서 해지
애플리케이션은 이러한 식별자를 사용하여 사용 가능한 경우 해지된 이진 파일의 갱신된 버전을 요청할 수 있습니다.
서명: 핵심 섹션 헤더 및 핵심 섹션에 서명합니다.
서명: 확장 가능한 섹션 머리글 및 확장 가능한 섹션에 서명합니다.

 

GRL 헤더는 GRL_HEADER 구조체입니다. 구조체의 dwSequenceNumber 멤버에는 GRL 버전 번호가 포함됩니다. GRL이 업데이트되고 새 버전이 사용자의 컴퓨터에 배치될 때마다 이 번호가 증가합니다.

해지된 OPM 인증서는 Core 섹션의 인증서 해지 목록에 나열됩니다. GRL의 각 Core 항목은 해지된 인증서의 공개 키의 SHA-1 해시를 포함하는 20바이트 배열입니다.

서명 섹션에는 GRL이 변조되지 않았는지 확인하는 데 사용할 수 있는 서명이 포함되어 있습니다. 각 서명 섹션에는 MF_SIGNATURE 구조가 포함됩니다. 첫 번째 서명은 헤더와 Core 섹션에 서명합니다. 두 번째 서명은 헤더와 Extensible 섹션에 서명합니다. 이 서명은 OPM과 관련이 없습니다.

GRL 자체가 변조되지 않았는지 확인하려면 다음과 같이 서명을 확인합니다.

  1. MF_SIGNATURE 구조체의 시작을 찾습니다. MF_SIGNATURE 구조체의 위치는 GRL_HEADER구조체cbSignatureCoreOffset 멤버에 지정됩니다. 위치는 GRL 시작부터 오프셋(바이트)으로 지정됩니다.
  2. MF_SIGNATURE 구조를 인증서 체인을 사용하여 PKCS #7 서명으로 구문 분석합니다.
  3. 신뢰할 수 있는 루트까지 인증서 체인을 확인합니다.
  4. 리프 인증서에 EKU에 "1.3.6.1.4.1.311.10.5.4"라는 개체 식별자가 있는지 확인합니다.
  5. GRL의 헤더 및 핵심 섹션을 포함하는 바이트의 해시를 계산합니다.
  6. 해시가 리프 인증서의 서명과 일치하는지 확인합니다.

출력 보호 관리자

GRL_HEADER

MF_SIGNATURE