678. CRL (Certificate Revocation List) 스펙 및 폐기/배포 지연 약점 완화 체계
핵심 인사이트: 인증서 유효기간이 1년 남아도 안심할 수 없다. 만약 해커가 네이버 서버실을 털어 '네이버의 개인키(마스터키)'를 훔쳐 갔다면? 해커는 남은 1년 동안 네이버 행세를 완벽히 할 수 있다. 이것을 막기 위해 CA(인증국)가 "이 인증서는 유효기간은 남았지만 해킹당했으니 당장 찢어버려라!"라고 전 세계에 뿌리는 '수배자 전단지 블랙리스트'가 바로 CRL이다.
Ⅰ. CRL (Certificate Revocation List, 인증서 폐기 목록)의 개념
- 개념: 신분증(인증서)의 유효 기간(보통 1~2년)이 지나지 않았음에도 불구하고, 개인키가 유출되었거나 직원이 퇴사하는 등 **비정상적인 사유로 인해 CA(인증기관)가 강제로 취소(폐기)시켜버린 '불량 인증서들의 고유 일련번호(Serial Number) 블랙리스트 명단'**입니다. (X.509 표준 규격)
- 동작 방식: 내 컴퓨터(크롬 브라우저)가 웹사이트에 접속할 때마다 인증서를 받으면, 브라우저 뒤에선 몰래 이 CRL 명단(수배 전단지 파일)을 다운받아, 접속한 사이트의 번호가 블랙리스트에 적혀 있는지 확인(조회)합니다. 있으면 새빨간 경고창을 띄우고 접속을 아예 끊어버립니다.
Ⅱ. CRL의 치명적인 구조적 한계와 약점 🌟
초창기에 만든 이 수배 전단지 방식은 인터넷이 커지면서 끔찍한 비효율을 낳았습니다.
-
배포 지연 (Time Delay)의 공포 - "시차 문제"
- CA는 이 CRL 파일을 실시간으로 만들지 않고, 보통 12시간이나 24시간 등 주기적으로 묶어서 한 번씩(Batch) 발행합니다.
- 만약 낮 12시에 네이버 키가 털려 해커가 사기를 치기 시작해도, 밤 12시에 새 블랙리스트(CRL) 전단지가 내 컴퓨터로 다운로드되기 전까지 무려 12시간 동안 내 컴퓨터는 해커를 정상 사이트로 오해하고 털리게 됩니다. (가장 치명적인 보안 시차)
-
통신 및 메모리 과부하 (오버헤드)
- 인터넷에 폐기된 인증서가 수천만 개로 쌓이면서, CRL 파일 하나의 크기가 수십 메가바이트(MB)로 거대하게 뚱뚱해졌습니다.
- 내가 작은 웹사이트 하나 들어갈 때마다 브라우저가 이 무거운 수십 메가짜리 텍스트 명단 파일을 매번 다운받아서 처음부터 끝까지 검색(
Ctrl+F)해야 하니, 브라우저 속도가 느려지고 스마트폰 데이터가 낭비되는 재앙이 벌어졌습니다.
Ⅲ. 약점 완화 체계 (CRL 최적화 기법)
위의 뚱뚱한 파일 문제를 덜어내기 위해 여러 꼼수가 등장했습니다.
-
Delta CRL (델타 CRL):
- 매번 전체 명단(수십 MB)을 다운받지 않습니다.
- 어제 전체 명단(Base CRL)을 받았으니, 오늘은 어제 이후로 "새로 추가된 수배자 명단(Delta CRL, 수십 KB)"만 살짝 다운받아서 기존 명단에 업데이트 치는 아주 스마트하고 효율적인 차분 다운로드 방식입니다.
-
DP (Distribution Point, 배포 지점 분산):
- 하나의 거대한 텍스트 파일에 모든 걸 적지 않고, 은행권 폐기 명단 파일, 쇼핑몰 폐기 명단 파일 등으로 쪼개서 각기 다른 서버 URL(배포 지점)에 분산 저장해 두는 방식입니다. 다운로드 시간을 줄입니다.
📢 섹션 요약 비유: CRL은 경찰이 전 국민에게 매일 아침 우편으로 뿌리는 '전국 범죄자 수배 전단지 책자'입니다. 책자가 너무 두꺼워서(수십 MB) 매번 배달받는 집배원(브라우저)도 힘들고, 전단지를 뒤져가며 내 앞의 사람이 수배자인지 찾는 시간도 너무 오래 걸립니다(오버헤드). 게다가 아침에만 책자가 오기 때문에, 낮에 탈옥한 흉악범은 다음 날 아침 새 책자가 오기 전까지는 아무 제재 없이 활보할 수 있는 끔찍한 시간적 사각지대(배포 지연)를 피할 수 없습니다.