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

1. 인증서 유효성 확인 방안 두 가지

인증 기관(CA, Certificate Authority)은 유효기간 만료, 개인 키 유출 등의 다양한 이유로 사용 중인 인증서를 폐지할 수 있다. CA는 이렇게 폐지된 인증서를 더 이상 사용할 수 없도록 인증서 폐지 목록(CRL, Certificate Revocation List)을 활용하여 모두에게 공표한다.

 

인증서를 사용하는 입장에서는 사용 전 항상 인증서의 유효성을 확인해야 하는데 그 방안으로는 두 가지가 있다. 첫째, CRL를 활용하는 방법과 둘째, OCSP(Online Certificate Status Protocol) 서버를 활용하는 방법이 있다. 해당 내용은 이미 언급한 바가 있기 때문에 'PKI : 인증서 유효성 확인'을 첨부하니 참고한다.

 

2. CRL - 인증서 유효성 확인 예시

이전에 작성한 'PKI : 인증서 발급'에서 발급된 인증서가 네트워크 상에서 어떻게 활용될 수 있는지에 대한 예시를 제시한 바가 있는데 구체화하여 'CRL - 인증서 유효성 확인'과정을 살펴보면 다음과 같다.

 

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

 

  1. 지젤이는 은행 업무를 온라인으로 보기 위해 은행 서버에 접속한다.
  2. 지젤이의 브라우저는 '인증서를 활용한 로그인'을 하기 위해 자신의 개인 키로 전자 서명을 수행하여 SignedData를 생성한다.
  3. 지젤이의 브라우저는 SignedData를 은행 서버에 전송하며 로그인 요청을 한다.
  4. 은행 서버는 로그인 요청과 같이 동봉된 인증서에서 '확장필드 : CRL 배포지점'을 확인한다.
  5. 은행 서버는 4 과정에서 확인한 주소로 접속하여 CRL 파일을 다운로드 요청한다.
  6. CRL 웹 서버는 응답으로 CRL 파일을 내려준다.
  7. 은행 서버는 사용자 인증서의 시리얼 넘버가 CRL에 기재되었는지 확인한다.
  8. 은행 서버는 전달받은 서명값의 이상 유무를 확인한다.
  9. 은행 서버는 비즈니스 로직을 수행 후 로그인 요청에 대해 성공 응답을 보낸다.
  10. 이후 지젤이는 은행 업무를 본다.

 

즉, 4 - 7이 CRL을 활용한 인증서 폐지 유무 검토 과정이다.

 

※ 참고

SignedData : 데이터의 무결성과 송신자의 신원 인증을 보장하기 위해 사용되는 구조로 주로 디지털 서명에 활용된다.

 

3. 마무리

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

 

  • 인증서의 유효성을 확인하는 방법으로 CRL 혹은 OCSP 서버를 활용할 수 있다.
  • CRL을 활용한다는 것은 CRL을 다운로드하여 해당 인증서의 시리얼 넘버가 목록에 포함되어 있는지 확인하는 방식을 의미한다.

 

 

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