678. CRL (Certificate Revocation List) 스펙 및 폐기/배포 지연 약점 완화 체계

핵심 인사이트: 인증서 유효기간이 1년 남아도 안심할 수 없다. 만약 해커가 네이버 서버실을 털어 '네이버의 개인키(마스터키)'를 훔쳐 갔다면? 해커는 남은 1년 동안 네이버 행세를 완벽히 할 수 있다. 이것을 막기 위해 CA(인증국)가 "이 인증서는 유효기간은 남았지만 해킹당했으니 당장 찢어버려라!"라고 전 세계에 뿌리는 '수배자 전단지 블랙리스트'가 바로 CRL이다.

Ⅰ. CRL (Certificate Revocation List, 인증서 폐기 목록)의 개념

  • 개념: 신분증(인증서)의 유효 기간(보통 1~2년)이 지나지 않았음에도 불구하고, 개인키가 유출되었거나 직원이 퇴사하는 등 **비정상적인 사유로 인해 CA(인증기관)가 강제로 취소(폐기)시켜버린 '불량 인증서들의 고유 일련번호(Serial Number) 블랙리스트 명단'**입니다. (X.509 표준 규격)
  • 동작 방식: 내 컴퓨터(크롬 브라우저)가 웹사이트에 접속할 때마다 인증서를 받으면, 브라우저 뒤에선 몰래 이 CRL 명단(수배 전단지 파일)을 다운받아, 접속한 사이트의 번호가 블랙리스트에 적혀 있는지 확인(조회)합니다. 있으면 새빨간 경고창을 띄우고 접속을 아예 끊어버립니다.

Ⅱ. CRL의 치명적인 구조적 한계와 약점 🌟

초창기에 만든 이 수배 전단지 방식은 인터넷이 커지면서 끔찍한 비효율을 낳았습니다.

  1. 배포 지연 (Time Delay)의 공포 - "시차 문제"

    • CA는 이 CRL 파일을 실시간으로 만들지 않고, 보통 12시간이나 24시간 등 주기적으로 묶어서 한 번씩(Batch) 발행합니다.
    • 만약 낮 12시에 네이버 키가 털려 해커가 사기를 치기 시작해도, 밤 12시에 새 블랙리스트(CRL) 전단지가 내 컴퓨터로 다운로드되기 전까지 무려 12시간 동안 내 컴퓨터는 해커를 정상 사이트로 오해하고 털리게 됩니다. (가장 치명적인 보안 시차)
  2. 통신 및 메모리 과부하 (오버헤드)

    • 인터넷에 폐기된 인증서가 수천만 개로 쌓이면서, CRL 파일 하나의 크기가 수십 메가바이트(MB)로 거대하게 뚱뚱해졌습니다.
    • 내가 작은 웹사이트 하나 들어갈 때마다 브라우저가 이 무거운 수십 메가짜리 텍스트 명단 파일을 매번 다운받아서 처음부터 끝까지 검색(Ctrl+F)해야 하니, 브라우저 속도가 느려지고 스마트폰 데이터가 낭비되는 재앙이 벌어졌습니다.

Ⅲ. 약점 완화 체계 (CRL 최적화 기법)

위의 뚱뚱한 파일 문제를 덜어내기 위해 여러 꼼수가 등장했습니다.

  1. Delta CRL (델타 CRL):

    • 매번 전체 명단(수십 MB)을 다운받지 않습니다.
    • 어제 전체 명단(Base CRL)을 받았으니, 오늘은 어제 이후로 "새로 추가된 수배자 명단(Delta CRL, 수십 KB)"만 살짝 다운받아서 기존 명단에 업데이트 치는 아주 스마트하고 효율적인 차분 다운로드 방식입니다.
  2. DP (Distribution Point, 배포 지점 분산):

    • 하나의 거대한 텍스트 파일에 모든 걸 적지 않고, 은행권 폐기 명단 파일, 쇼핑몰 폐기 명단 파일 등으로 쪼개서 각기 다른 서버 URL(배포 지점)에 분산 저장해 두는 방식입니다. 다운로드 시간을 줄입니다.

📢 섹션 요약 비유: CRL은 경찰이 전 국민에게 매일 아침 우편으로 뿌리는 '전국 범죄자 수배 전단지 책자'입니다. 책자가 너무 두꺼워서(수십 MB) 매번 배달받는 집배원(브라우저)도 힘들고, 전단지를 뒤져가며 내 앞의 사람이 수배자인지 찾는 시간도 너무 오래 걸립니다(오버헤드). 게다가 아침에만 책자가 오기 때문에, 낮에 탈옥한 흉악범은 다음 날 아침 새 책자가 오기 전까지는 아무 제재 없이 활보할 수 있는 끔찍한 시간적 사각지대(배포 지연)를 피할 수 없습니다.