679. OCSP (Online Certificate Status Protocol) - 실시간 인증서 상태 응답 검사 체계

핵심 인사이트: 어제 배운 CRL(수배 전단지)은 책자가 너무 무겁고 배달도 하루가 걸려 실시간 방어가 불가능했다. 그래서 브라우저 개발자들이 빡쳐서 만들었다. "무식하게 전단지를 다 다운받지 마! 그냥 인터넷 뱅킹에 접속할 때마다, 경찰청(CA) 서버에 딱 한 번 '이놈 일련번호 1234번인데 해킹당한 놈이야?'라고 물어보고(Request), 0.1초 만에 '정상이야(Good) / 폐기됐어(Revoked)'라고 답장(Response)만 짧게 받자!" 이것이 실시간 방어의 구세주 OCSP다.

Ⅰ. OCSP의 개념 및 등장 배경

  • 개념: 클라이언트(웹 브라우저)가 거대한 블랙리스트 명단(CRL)을 통째로 다운받지 않고, 인터넷을 통해 CA의 'OCSP 응답 서버(Responder)'에 실시간으로 접속하여 특정 인증서 딱 한 장의 폐기 여부(건강 상태)만 가볍게 물어보고 답을 받는 IETF 표준 프로토콜입니다. (HTTP 기반)
  • 배경: CRL의 치명적인 한계인 거대한 파일 다운로드 과부하와 12시간씩 걸리는 업데이트 지연 시간(시차 위협)을 완벽하게 해결하기 위해 탄생했습니다.

Ⅱ. OCSP의 동작 메커니즘 🌟

상당히 직관적이고 빠릅니다.

  1. 내 크롬 브라우저가 은행 사이트에 접속하여 은행의 '디지털 인증서'를 받습니다.
  2. 브라우저는 인증서 안에 적혀있는 경찰청 주소(OCSP Responder URL)를 읽어냅니다.
  3. 브라우저는 은행 사이트를 잠깐 멈춰두고, 뒤로 몰래 경찰청 서버에 HTTP 요청을 날립니다. "일련번호 9999번 인증서, 지금 살아있나요?"
  4. 경찰청(CA) 서버가 DB를 조회한 후 즉시 **3가지 상태 중 하나의 짧은 도장 찍힌 답장(Signed Response)**을 쏴줍니다.
    • Good (정상): 해킹 안 당했고 멀쩡함. 통과!
    • Revoked (폐기됨): 해킹당해서 아까 폐기했음. 접속 차단해!
    • Unknown (알 수 없음): 우리 서버에 9999번이라는 번호 자체가 없는데? 차단해!
  5. 브라우저가 'Good'을 받으면 비로소 자물쇠 마크를 띄우고 뱅킹 화면을 열어줍니다.

Ⅲ. OCSP의 장점과 치명적인 부작용 (딜레마)

  • 장점: 12시간을 기다릴 필요 없이 **완벽한 '실시간' 악성 사이트 접속 차단(즉각성)**이 가능해졌고, 스마트폰의 네트워크 데이터 낭비(수십 MB)가 싹 사라졌습니다.
  • 치명적 부작용 1 (개인정보 침해, Privacy 🌟): 내가 하루에 성인 사이트를 10번 들어가면, 내 크롬 브라우저가 CA 서버에 10번이나 "이 성인 사이트 인증서 정상이야?"라고 꼬박꼬박 질의를 날리게 됩니다. 즉, CA(미국 기업 등)가 전 세계 사용자의 모든 웹 서핑 접속 기록을 100% 다 들여다보고 수집할 수 있는 끔찍한 사생활 감시 문제가 터졌습니다.
  • 치명적 부작용 2 (CA 서버 폭파와 지연): 전 세계 수십억 개의 폰이 사이트를 열 때마다 일제히 CA 서버에 질문 폭탄(디도스급 트래픽)을 날립니다. CA 서버가 버벅거리면 내 브라우저도 응답을 기다리느라 1~2초씩 허연 화면에서 멈춰버리는 딜레이(Latency)가 생깁니다.

Ⅳ. Soft-fail 구조 (넘어가 주기)

  • 구글 크롬 등 브라우저는 만약 카페 와이파이가 느려서 3초 안에 OCSP 응답이 안 오면, 화면을 영원히 멈추는 대신 "에이, 그냥 안전하겠지 뭐" 하고 무시하고 접속시켜 줍니다(Soft-fail). 해커가 와이파이를 조작해 OCSP 검사를 막아버리면 보안이 완전히 무력화되는 또 다른 맹점이 있었습니다. (이 모든 삽질을 완벽히 해결하는 기술이 다음 장 680번의 Stapling입니다.)

📢 섹션 요약 비유: OCSP는 클럽 입구의 기도(브라우저)입니다. 옛날엔 경찰청에서 매일 아침 오토바이로 배달해 주는 무거운 수배자 얼굴 책자(CRL)를 일일이 넘기며 손님 얼굴을 대조하느라 입구 줄이 100미터씩 밀렸습니다. OCSP는 기도가 무전기를 하나 차고, 손님이 올 때마다 "경찰청! 방금 온 홍길동 수배자임?" 하고 1초 만에 실시간으로 물어보고 들여보내는 혁신 시스템입니다. 빠르고 완벽해 보이지만, 기도의 무전이 끊기거나 경찰청 무전병이 화장실에 가면 클럽 입장이 전면 중단되는 골 때리는 병목 현상을 낳았습니다.