인증서 투명성 (Certificate Transparency)
쉽게 풀면
은행이 발급한 모든 신분증을 공개 장부에 빠짐없이 기록해 누구나 열람할 수 있게 하는 제도와 비슷합니다. 인증기관이 인증서를 발급할 때마다 그 내역을 공개 로그에 남기고, 도메인 소유자는 이 로그를 감시해 자신의 이름으로 몰래 발급된 인증서가 있는지 확인할 수 있습니다. 브라우저는 로그에 기록되지 않은 인증서를 의심스럽게 취급하기도 합니다. 이를 통해 인증기관의 실수나 해킹으로 인한 부정 발급을 빠르게 발견할 수 있습니다.
왜 중요한가
정보보안학에서 PKI(공개키 기반구조)의 신뢰성은 전체 웹 보안의 근간으로 다뤄지며, 인증기관 한 곳의 오류나 침해가 전체 생태계에 영향을 줄 수 있다는 점이 중요한 연구 주제입니다. 인증서 투명성은 이런 단일 신뢰점 문제를 완화하는 실질적 대응책으로 평가받아 관련 논문에서 자주 다뤄집니다. 구글 크롬을 비롯한 주요 브라우저가 이 로그 등록을 사실상 필수 요건으로 강제하면서, 인증기관들도 발급 즉시 로그에 제출하는 절차를 표준 운영 방식으로 채택하게 되었습니다.
논문에서는 이렇게 쓰입니다
공개 로그 데이터를 활용해 이상 발급을 자동으로 탐지하는 시스템을 다룬 사례입니다.
클라이언트 측에서 인증서 투명성을 검증 요건으로 강제하는 정책 변화를 설명한 예입니다.
조금 더 깊게 보면
인증서 투명성 로그는 변경이 불가능한 append-only 구조의 머클 트리(Merkle tree)를 기반으로 하여, 항목이 삭제되거나 조작되지 않았음을 암호학적으로 증명할 수 있습니다. 인증서에는 로그 등록을 증명하는 서명 인증서 타임스탬프(SCT)가 함께 포함되는 방식이 널리 쓰입니다. 여러 독립된 로그 서버에 동일 인증서를 중복 기록하게 함으로써 특정 로그 운영자 한 곳이 악의적으로 기록을 누락하거나 조작해도 다른 로그를 통해 탐지될 수 있게 설계되어 있습니다. 도메인 소유자는 자신의 도메인 이름으로 로그를 검색해 몰래 발급된 인증서가 있는지 스스로 확인할 수 있습니다.
주의할 점
인증서 투명성은 부정 발급을 사후에 탐지하는 데 도움을 줄 뿐, 발급 자체를 사전에 차단하지는 못한다는 한계가 있습니다. 또한 로그를 실제로 모니터링하는 주체가 없다면 탐지 효과가 제한적입니다.