Learning
토픽 22 / 210·암호학

인증서 투명성 (Certificate Transparency, CT)

인증서 투명성 (Certificate Transparency, CT)

SSL/TLS 인증서의 발급 내역을 공개 로그에 기록하여 CA의 오발급이나 악의적 인증서 발급을 탐지할 수 있게 하는 구조로, Google이 제안하고 RFC 6962로 표준화됨

목적: 인증서 오발급 탐지, CA 신뢰성 강화, 중간자 공격 방지, 도메인 소유자 모니터링

배경: DigiNotar(2011), Symantec 오발급 사건 등 CA 신뢰 문제 발생

CT 구성요소

  • CT 로그(Log): 인증서를 추가 전용(Append-only)으로 저장하는 공개 로그, Merkle Tree 기반
  • 모니터(Monitor): 로그를 감시하여 의심스러운 인증서 탐지, 도메인 소유자에게 알림
  • 감사자(Auditor): 로그의 무결성 검증, 인증서가 로그에 포함되었는지 확인

SCT (Signed Certificate Timestamp)

  • 로그 서버가 인증서 제출 시 발급하는 서명된 타임스탬프
  • 인증서에 포함되거나 TLS 핸드셰이크 시 전달
  • 브라우저가 SCT 확인하여 CT 준수 검증

동작 과정

Merkle Tree 활용: 로그 일관성 증명, 포함 증명, 효율적 감사

장점: CA 투명성, 오발급 조기 탐지, 도메인 보호, 생태계 신뢰

단점: 프라이버시(발급 인증서 공개), 로그 인프라 필요, 운영 복잡

브라우저 정책: Chrome(2018~), Safari, Firefox 모두 CT 요구

적용사례: Let's Encrypt, 모든 주요 CA, Google, Facebook 도메인 모니터링

기술요소: Merkle Tree, SCT, 추가 전용 로그, 암호학적 감사

비교: CT(사후감사/공개) vs OCSP(실시간 폐지확인) vs CRL(폐지목록)

연관: PKI, X.509, CA, TLS, Merkle Tree, 인증서 검증