X.509 인증서에 의존하는 대부분의 응용 프로그램의 경우 인증, 서명 또는 암호화 작업을 수행할 때 사용되는 인증서 상태의 유효성을 검사해야 합니다. 이러한 인증서 유효성 검사 및 해지 확인은 루트 인증서에 이르기까지 인증서 체인의 모든 인증서에 대해 수행됩니다. 루트 인증서나 체인의 다른 인증서가 유효하지 않을 경우 체인에서 유효하지 않은 인증서 아래에 있는 인증서도 유효하지 않게 됩니다.

유효성 검사에는 다음이 포함됩니다.

  • 각 인증서의 서명이 유효한가

  • 현재 날짜와 시간이 각 인증서 유효 기간 내에 속하는가

  • 손상되었거나 잘못된 형식을 갖는 인증서가 없는가

또한 인증서 체인에 있는 각 인증서의 해지 상태도 확인됩니다. 해지 확인은 CRL(인증서 해지 목록) 또는 OCSP(온라인 인증서 상태 프로토콜) 응답을 사용하여 수행할 수 있습니다.

OCSP란?

Microsoft 온라인 응답자는 OCSP 프로토콜을 구현합니다. 인증서를 받는 사람은 이 프로토콜을 통해 HTTP(Hypertext Transfer Protocol)를 사용하여 OCSP 응답자에게 인증서 상태 요청을 전송할 수 있습니다. 이 OCSP 응답자는 인증서 상태를 나타내는 디지털로 서명된 최종 응답을 반환합니다. 요청당 검색되는 데이터 양은 CA의 해지된 인증서 수에 관계없이 일정합니다.

자세한 내용은 RFC 2560, "X.509 인터넷 공개 키 인프라 온라인 인증서 상태 프로토콜 - OCSP"(https://go.microsoft.com/fwlink/?LinkID=71068(페이지는 영문일 수 있음))를 참조하십시오.

온라인 응답자

Microsoft에서 구현하는 OCSP(온라인 응답자)는 클라이언트 구성 요소와 서버 구성 요소로 구분됩니다. 클라이언트 구성 요소는 CryptoAPI 2.0 라이브러리로 구축되지만 서버 구성 요소는 AD CS(Active Directory 인증서 서비스) 서버 역할에서 제공하는 새로운 서비스로 삽입됩니다. 다음 프로세스는 클라이언트 구성 요소와 서버 구성 요소의 상호 작용 방식을 설명합니다.

  1. 응용 프로그램이 OCSP 응답자에 대한 위치를 지정하는 인증서를 확인하려고 할 때 클라이언트 구성 요소는 먼저 로컬 메모리 및 디스크 캐시를 검색하여 현재 해지 데이터가 들어 있는 캐시된 OCSP 응답을 찾습니다.

  2. 허용 가능한 캐시된 응답을 찾지 못하면 요청은 HTTP 프로토콜을 사용하여 온라인 응답자로 전송됩니다.

  3. 온라인 응답자 웹 프록시는 요청을 디코딩하고 확인합니다. 요청이 유효하면 웹 프록시 캐시에서 요청을 채우는 데 필요한 해지 정보가 확인됩니다. 현재 정보를 캐시에 사용할 수 없으면 요청은 온라인 응답자 서비스로 전달됩니다.

  4. 온라인 응답자 서비스는 요청을 받고 로컬 CRL(있는 경우) 및 CA가 발급한 캐시된 최신 CRL 복사본을 확인합니다.

  5. 인증서가 로컬 또는 캐시된 해지 목록에 없으면 해지 공급자는 해지 구성에 나열된 위치로부터 업데이트된 CA CRL(있는 경우)을 가져와 인증서의 상태를 확인합니다. 그런 후 공급자는 온라인 응답자 서비스로 인증서의 상태를 반환합니다.

  6. 그러면 웹 프록시는 응답을 인코딩한 후 클라이언트로 다시 전송하여 인증서가 유효함을 클라이언트에 알립니다. 또한 이 인증서에 대한 추가 상태 요청이 있는 경우 제한된 시간 동안 응답 복사본을 캐시합니다.