Certificate Transparency는 이제 정적 파일로 돌아간다
10년간 모든 TLS 인증서는, 각 항목을 24시간 안에 병합하고 쉬지 않고 질의에 답해야 하는 살아있는 append-only 암호 데이터베이스에 게시됐다. 2026년 초까지 Let's Encrypt는 자기 로그를 버킷 속 정적 파일 폴더로 갈아 끼웠다. 더 나은 설계다.
프로토콜, 보안 사건, 그리고 인터넷이 실제로 작동하는 방식. 147편.
10년간 모든 TLS 인증서는, 각 항목을 24시간 안에 병합하고 쉬지 않고 질의에 답해야 하는 살아있는 append-only 암호 데이터베이스에 게시됐다. 2026년 초까지 Let's Encrypt는 자기 로그를 버킷 속 정적 파일 폴더로 갈아 끼웠다. 더 나은 설계다.
CA는 대개 해킹으로 죽지 않는다. Entrust는 현대적인 방식으로 죽었다 — 서류 작업으로. 늦은 폐기, 놓친 마감, 그리고 마침내 약속을 믿길 멈춘 브라우저 루트 프로그램.
HTTP Public Key Pinning은 헤더 하나로 사이트의 TLS 키를 고정하게 해줬다. 동시에 내 도메인을 영구히 벽돌로 만들거나, 공격자가 인질로 잡게도 했다. 브라우저가 죽였다.
인증서 유효기간, HSTS, DNSSEC 서명, TOTP 코드 — 당신 보안의 놀랄 만큼 많은 부분이 사실은 '지금 몇 시인가'에 대한 주장이다. 그리고 지금 몇 시인지 정하는 프로토콜은 40년간 먼저 답한 놈을 믿어왔다.
2023년 구글 리졸버는 조용히 wikipedia.org 대신 wIKiPEDiA.oRG를 묻기 시작했다. 버그가 아니다 — 표준이 되지 못한 채 15년을 버틴 스푸핑 방어 해킹이고, 그럼에도 작동하며, 그 누구의 허락도 필요 없어서 배포됐다.
10여 년 전 DNS는 위조된 응답과 반사 공격을 막을 값싼 방어책을 얻었다. 당신의 리졸버는 거의 확실히 이걸 지원한다. 그리고 거의 확실히 요구하지는 않는다 — '지원'과 '요구' 사이의 그 틈이 이야기의 전부다.
ACME 주문·도메인 검증·갱신의 흐름, 챌린지 선택 기준과 발급된 인증서가 실제 서버에 반영됐는지 확인하는 방법.
2024년 2월, 조작된 DNS 패킷 하나가 검증 리졸버를 몇 시간 동안 얼릴 수 있었다. 결함은 코딩 실수가 아니라 1999년까지 뿌리가 거슬러 올라가는 DNSSEC 명세의 요구사항이었다.
2024년 4월, 한 연구자가 단 하나의 TCP 연결로 Apache·Node.js·Tomcat을 무너뜨릴 수 있음을 보였다. 그 HTTP/2 프레임은 액세스 로그에 남지 않는다. 버그는 코드가 아니라 명세의 이음새에 있었기에 동시에 모든 곳에서 터졌다.
오랫동안 CA 근처에서 BGP 경로를 잠깐만 비틀 수 있으면, 소유하지도 않은 도메인의 진짜 브라우저 신뢰 인증서를 발급받을 수 있었다. 2025년, 업계가 마침내 이걸 훨씬 어렵게 만들었다. MPIC가 어떻게 작동하고, 무엇은 못 고치는지.
모든 CDN이 루트 도메인을 호스트명으로 향하게 하라고 한다. DNS는 1987년부터 바로 그걸 금지해 왔다 — 그래서 업계는 비표준 편법 더미를 쌓았고, 진짜 해결책은 아직 브라우저에서 안 먹는다.
예전엔 당신과 사이트 사이의 모든 DNS 서버가 당신이 입력한 전체 이름을 봤다 — TLD만 알면 되는 서버까지도. 리졸버 쪽 변경 하나가 그 대부분을 고쳤고, DNSSEC과 달리 누구의 허락도 구하지 않고 배포됐다.