OCSP 스테이플링 (OCSP Stapling)

정보보안학
한 줄 정의: OCSP 스테이플링은 서버가 인증서 폐지 상태 응답을 미리 받아 클라이언트에게 직접 첨부해 전달함으로써 인증서 유효성 확인 속도와 개인정보 보호를 개선하는 기술입니다.

쉽게 풀면

병원 진단서를 낼 때마다 발급 기관에 직접 전화해 진위를 확인하는 대신, 최근 발급한 확인 도장을 서류에 미리 붙여 함께 제출하는 것과 비슷합니다. 원래는 웹사이트에 접속할 때마다 브라우저가 인증기관에 직접 물어봐야 했지만, OCSP 스테이플링에서는 서버가 미리 상태 응답을 받아두었다가 인증서와 함께 접속자에게 건네줍니다. 그러면 접속자는 별도로 인증기관에 문의할 필요가 없어져 접속 속도가 빨라집니다. 또한 접속자가 어떤 사이트를 방문하는지 인증기관에 노출되지 않아 개인정보 보호에도 도움이 됩니다.

왜 중요한가

정보보안학에서는 인증서 폐지 확인 방식의 성능과 프라이버시 문제가 오랜 연구 주제로 다뤄집니다. 기존 OCSP 방식은 매 접속마다 실시간 조회가 필요해 지연이 발생하고 사용자 접속 정보가 인증기관에 노출되는 문제가 있었는데, OCSP 스테이플링은 이를 구조적으로 개선한 대안으로 TLS 성능 최적화 연구에서 자주 인용됩니다.

논문에서는 이렇게 쓰입니다

"OCSP 스테이플링을 적용한 서버는 TLS 핸드셰이크 과정에서 추가적인 실시간 조회 지연을 제거할 수 있음을 확인하였다."

실시간 폐지 확인 절차를 생략해 접속 지연을 줄인 효과를 검증한 사례입니다.

"본 연구는 OCSP 스테이플링 미적용 사이트 비율을 조사하여 실제 배포 환경에서의 채택 현황을 분석하였다."

실제 웹사이트들의 OCSP 스테이플링 도입 실태를 조사한 연구 예시입니다.

조금 더 깊게 보면

OCSP 스테이플링에서 서버는 인증기관으로부터 서명된 응답을 주기적으로 캐싱해두고, TLS 핸드셰이크 시 인증서와 함께 클라이언트에게 전달합니다. 이 응답에는 유효기간이 있어 서버가 주기적으로 갱신해야 하며, 이를 확장한 must-staple 옵션은 스테이플링이 없는 경우 접속을 거부하도록 강제할 수 있습니다.

주의할 점

서버가 스테이플링된 응답을 제때 갱신하지 않으면 오히려 오래된 상태 정보를 제공하게 될 수 있으며, 클라이언트가 must-staple을 강제하지 않는 한 서버가 스테이플링을 생략해도 접속이 차단되지는 않는다는 한계가 있습니다.

관련 용어