OCSP(Online Certificate Status Protocol) & OCSP Stapling

2021. 7. 13. 10:452018년 이전 관심사/보안

반응형

OCSP(온라인 인증서 상태 프로토콜)

  • 인증서의 상태를 실시간으로 체크하기 위한 프로토콜
    • 인증서의 시리얼을 통하여 실시간으로 인증서의 만료 여부를 CA 인증서 DB에 직접 요청
    • OCSP 서버는 요청을 받아 확인 후, 좋음(good), 만료(revoked), 알수 없음(unknown)으로 응답
      • 인증서가 유효하지 못한 경우, error code를 응답함.
  • X.509를 이용한 전자 서명 인증서의 폐기 상태를 파악하는데 사용되는 인터넷 프로토콜
  • 인증서 폐기 목록(CRL)을 대체하기 위해 만들어졌으며, 구체적으로 공개 키 기반 구조의 인증서 폐기 목록과 관련된 문제들을 검증하기 위함
  • CRL(Certificate Revocation List)도 동일한 기능을 하지만, CRL 보다 개선된 표준이라고 할 수 있음
    • CRL이란 인증서 폐기 목록
    • 기존에 사용하던 방식으로 CRL를 이용하여 인증서의 무결성(Validation) 여부를 확인
    • 현재 사용 중인 인증서가 만료 된 것인지 정상인지를 판단 할 수 있는 신뢰 할 수 있는 인증서 폐기 목록
    • 클라이언트에서 매우 큰 CRL(인증서 폐기 목록)을 모두 다운로드 받아 확인 해야 하는 단점이 있음
      • 처리 시간 느림
      • CA 기관에서 상기 항목을 계속 갱신해야 하고, 클라이언트도 계속 갱신 해야 함.
    • 동작 방식
      • HTTP or LDAP 이용, 인증서를 통해 교부 받은 URL을 이용해 CRL 요청
      • CA는 요청 받은 이후 CRL List(인증서 만료 목록)을 응답 함
      • 브라우저는 CRL 정보를 파싱하고 현재 접속하려는 사이트의 인증서가 CRL에 포함 되어 있는지 점검
  • OCSP 단점
    • OCSP는 모든 클라이언트들의 인증서 만료 여부 확인 요청을 모두 처리 해야 함.
      • 만약 클라이언트 수가 늘어 나며, OCSP 서버로 요청도 늘어 나므로 보안상 취약점이나 웹사이트가 느려지는 문제 발생 가능
    • 이 단점을 해결하기 위해 OCSP Stapling 이 만들어 짐.

OCSP Stapling

  • 클라이언트가 직접 OCSP를 통하여 인증서 만료 여부를 확인 하는 것이 아니라, 서비스를 제공하는 웹서버 중간에서 OCSP를 통한 인증서 만료 여부를 중계
  • 실제 인증서 만료 여부는 웹서버가 OCSP 서버와 확인
  • 클라이언트는 웹서버 접속 시, 웹서버를 통하여 인증서 만료 여부 확인

 

반응형