보안/PKI / / 2025. 1. 17. 20:49

PKI : 인증서 유효성 확인 - OCSP 방식의 이해

1. 인증서 유효성 확인 방식 : CRL과 OCSP

인증 기관(CA, Certificate Authority)은 유효기간 만료, 개인 키 유출, 오용 등 다양한 사유로 이미 발급된 디지털 인증서를 폐지할 수 있다. 이러한 폐지 사실은 인증서의 무결성과 신뢰성을 훼손할 수 있기 때문에, CA는 이를 사용자에게 공식적으로 알릴 수단이 필요하다.

 

대표적인 수단이 바로 인증서 폐지 목록(CRL, Certificate Revocation List)이다. CRL은 폐지된 인증서의 시리얼 넘버를 포함하는 목록 파일로, 일정 주기로 갱신된다. 사용자는 이를 참고하여 인증서의 유효성을 판단할 수 있다.

 

인증서 유효성 확인 방식은 크게 두 가지로 나뉜다.

 

  • CRL 방식 : CRL 파일을 다운로드하여 로컬에서 폐지 여부를 대조하는 방식
  • OCSP 방식 : OCSP(Online Certifiate Status Protocol)을 통해 인증서 상태를 실시간으로 확인

 

이 글에서는 OCSP 기반의 유효성 검증 방식을 실제 적용 흐름을 중심으로 자세히 살펴본다.

※ 참고: 기본 개념은 PKI : 인증서 유효성 확인 - CRL vs OCSP를 참조한다.

 

2. OCSP 활용 시 응답 결과

OCSP 서버는 특정 인증서의 상태를 실시간으로 조회할 수 있는 기능을 제공한다. 따라서, RESTful API 혹은 명령어('certutil', 'openssl')를 활용하여 요청 보낼 수 있다. 요청 후의 응답은 다음의 세 가지 중 하나이다.

 

  • 유효한 상태를 나타내는 'good'
  • 폐지된 상태를 나타내는 ' revoked'
  • 알 수 없는 상태를 나타내는 'unknown'

 

'revoked' 상태라면 해당 인증서와 개인키를 더 이상 사용할 수 없다. 'unknown' 상태는 OCSP 서버가 정상적으로 응답하지 않거나, 요청한 인증서 체인을 확인할 수 없는 경우, 인증서의 상태값을 확인할 수 없는 경우 등 다양한 원인으로 발생할 수 있다.

 

3. OCSP - 인증서 유효성 확인 예시

앞서 설명한 'PKI : 인증서 발급'에서 인증서 발급 절차를 살펴보았다. 이번에는 발급된 인증서가 실제 네트워크 환경에서 어떻게 사용되고, 어떤 흐름으로 유효성이 검증되는지를 OCSP 기반 예시를 통해 구체화한다.

 

< 인증서 유효성 확인 과정 : OCSP >

 

  • 1️⃣ 지젤이는 은행 업무를 온라인으로 보기 위해 은행 서버에 접속한다.
  • 2️⃣ 지젤이의 브라우저는 '인증서를 활용한 로그인'을 위해 개인 키로 전자 서명을 수행하여 SignedData를 생성한다.
  • 3️⃣ 지젤이의 브라우저는 생성된 SignedData와 함께 본인의 인증서를 은행 서버에 전송하며 로그인 요청을 한다.
  • 4️⃣ 은행 서버는 전달받은 인증서 내의 '확장 필드 : 기관 정보 접근(OCSP 응답자 정보)' 정보를 확인한다.
  • 5️⃣ 은행 서버는 해당 주소를 참고하여 OCSP 서버에게 인증서 유효성 검증을 요청한다.
  • 6️⃣ OCSP 서버는 DB를 조회하여 현 시각 인증서 상태를 확인한다.
  • 7️⃣ OCSP 서버는 인증서 상태를 응답한다. 상태값이 'good'인 경우에만 이후 로직을 계속 수행한다.
  • 8️⃣ 은행 서버는 전달받은 서명값의 위변조 여부를 확인한다.
  • 9️⃣ 은행 서버는 검증이 모두 통과되면 로그인 처리 및 비즈니스 로직을 수행한다.
  • 🔟 이후 지젤이는 로그인하여 정상적으로 은행 서비스를 이용한다.

 

즉, 4️⃣ - 7️⃣의 과정이 OCSP를 통한 인증서 유효성 검토에 해당한다.

 

※ 참고 용어

SignedData : 송신자의 신원과 데이터의 무결성을 검증하기 위해 사용되는 구조. PKCS#7 혹은 CMS(Cryptographic Message Syntax)에서 전자 서명을 구성할 때 사용된다.

 

4. 마무리

이번 글을 정리하면 다음과 같다.

 

  • 인증서 유효성 검증에는 CRL 방식과 OCSP 방식이 있다.
  • OCSP 방식은 클라이언트가 인증서 내에 명시된 OCSP 서버의 주소를 활용하여 실시간으로 상태를 요청하고, 그 응답 결과에 따라 인증서의 폐지 여부를 판단하는 구조이다.
  • 이 방식은 최신 상태에 기반한 보안 대응이 가능하다는 장점이 있으나, 항상 네트워크 연결이 필요하고, 서버가 항상 동작해야 하고 응답 지연 등에 민감하다는 점을 고려해야 한다.
  • 따라서 실시간성과 보안 수준이 중요한 환경에서 OCSP는 매우 유효한 수단이 될 수 있으며, 필요시 CRL과 병행하거나 OCSP Stapling 등 보완 기술과 함께 사용되는 경우도 있다.

 

 

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유