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의 동작 메커니즘 🌟
상당히 직관적이고 빠릅니다.
- 내 크롬 브라우저가 은행 사이트에 접속하여 은행의 '디지털 인증서'를 받습니다.
- 브라우저는 인증서 안에 적혀있는 경찰청 주소(OCSP Responder URL)를 읽어냅니다.
- 브라우저는 은행 사이트를 잠깐 멈춰두고, 뒤로 몰래 경찰청 서버에 HTTP 요청을 날립니다. "일련번호 9999번 인증서, 지금 살아있나요?"
- 경찰청(CA) 서버가 DB를 조회한 후 즉시 **3가지 상태 중 하나의 짧은 도장 찍힌 답장(Signed Response)**을 쏴줍니다.
- Good (정상): 해킹 안 당했고 멀쩡함. 통과!
- Revoked (폐기됨): 해킹당해서 아까 폐기했음. 접속 차단해!
- Unknown (알 수 없음): 우리 서버에 9999번이라는 번호 자체가 없는데? 차단해!
- 브라우저가 '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초 만에 실시간으로 물어보고 들여보내는 혁신 시스템입니다. 빠르고 완벽해 보이지만, 기도의 무전이 끊기거나 경찰청 무전병이 화장실에 가면 클럽 입장이 전면 중단되는 골 때리는 병목 현상을 낳았습니다.