0Pricing
Cryptology Academy · 강의

OCSP 스테이플링과 인증서 투명성

성능 향상을 위해 OCSP 스테이플링을 구성하고, 감사 가능성을 위한 Certificate Transparency 로그를 이해합니다.

OCSP 스테이플링과 인증서 투명성은(는) CoddyKit의 무료 Cryptology Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cryptology Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

CRL 문제

인증서 폐지 목록(CRL)은 CA가 게시하는 파일로, 폐지된 모든 인증서를 나열합니다. CRL에는 여러 문제가 있습니다. 시간이 지날수록 커지고, 클라이언트가 전체를 다운로드해야 하며, 최신 상태 유지 기간이 제한됩니다(일정에 따라 게시됨). 또한 브라우저는 역사적으로 CRL 가져오기에 실패하면 소프트 실패하여 인증서를 허용했으므로, 실제 환경에서 폐지가 신뢰할 수 없게 되었습니다.

실시간 상태 확인을 위한 OCSP

온라인 인증서 상태 프로토콜(OCSP, RFC 6960)을 사용하면 클라이언트가 CA의 OCSP 응답 서버에 질의하여 특정 인증서의 폐지 상태를 실시간으로 확인할 수 있습니다. OCSP 응답은 인증서 상태를 "정상", "폐지됨" 또는 "알 수 없음"으로 나타내며 CA가 서명합니다. 전체 CRL을 다운로드하는 것보다 효율적입니다.

OCSP의 개인정보 보호 문제

표준 OCSP에는 심각한 개인정보 보호 결함이 있습니다. 클라이언트가 확인할 인증서 일련번호를 CA의 OCSP 응답 서버에 전달해야 하므로, CA 또는 네트워크 관찰자가 사용자가 어느 웹사이트를 언제 방문하는지 알 수 있습니다. 이로 인해 인증 기관 수준에서 사용자 개인정보를 침해하는 감시 수단이 만들어집니다.

OCSP 스테이플링 메커니즘

OCSP 스테이플링(RFC 6066)은 서버가 CA에서 OCSP 응답을 미리 가져와 캐시하게 함으로써 개인정보 보호 문제를 해결합니다. TLS 핸드셰이크 중에 서버는 이 캐시된 응답을 핸드셰이크에 스테이플링하여 클라이언트에 직접 전달합니다. 클라이언트는 CA에 직접 연결하지 않고도 최신 폐지 상태를 확인할 수 있습니다.

OCSP 스테이플링 구성

Nginx에서 OCSP 스테이플링을 구성하려면 서버 블록에 "ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8;"을 지정해야 합니다. ssl_certificate_by_lua_block 또는 ssl_trusted_certificate 지시어가 검증에 사용할 체인을 제공합니다. Apache에서는 VirtualHost에 "SSLUseStapling on"을 지정해야 합니다. 두 서버 모두 응답을 캐시하고 만료 전에 갱신합니다.

OCSP 필수 스테이플링 확장 기능

OCSP 필수 스테이플링 X.509 확장 기능(RFC 7633)은 이 인증서의 서버가 항상 OCSP 응답을 스테이플링한다는 것을 브라우저에 알립니다. 브라우저가 서버에 연결했을 때 스테이플링된 응답을 받지 못하면 연결을 거부합니다. 이를 통해 폐지된 인증서를 보유한 공격자가 OCSP 응답을 차단하여 소프트 실패 동작을 유도하는 것을 막을 수 있습니다.

인증서 투명성 개념

인증서 투명성(CT)은 공개적으로 신뢰되는 모든 CA가 발급한 모든 인증서를 인증서가 전달되기 전에 공개적으로 감사할 수 있고 추가만 가능한 로그에 기록해야 하는 시스템입니다. 이러한 로그를 통해 도메인 소유자, 연구자 및 모니터링 담당자는 어떤 도메인에 대해 잘못 발급되거나 부정하게 취득된 인증서가 있는지 탐지할 수 있습니다.

CT 서명된 인증서 타임스탬프

CA가 CT 로그에 인증서를 제출하면 로그는 서명된 인증서 타임스탬프(SCT)를 반환합니다. SCT는 인증서가 로그에 기록되었다는 암호학적으로 서명된 약속입니다. SCT는 인증서 자체에 포함되거나 TLS 확장을 통해 전달되거나 OCSP 응답에 스테이플링됩니다. Chrome이 신뢰하려면 최소 두 개의 SCT가 필요합니다.

Chrome CT 요구 사항

Google Chrome은 2018년 4월부터 공개적으로 신뢰되는 모든 TLS 인증서에 인증서 투명성을 요구해 왔습니다. 유효한 SCT가 없는 인증서는 Chrome에서 인증서 오류와 함께 거부됩니다. 이 요구 사항은 사실상 모든 주요 CA가 CT 로그에 기록하도록 강제합니다. Chrome에서 인증서가 거부되는 CA는 공개 CA로 운영될 수 없기 때문입니다.

CT를 통한 잘못 발급된 인증서 탐지

CT 로그를 사용하면 누구나 자신의 도메인에 발급된 인증서를 모니터링할 수 있습니다. crt.sh 및 Facebook의 CT Monitor와 같은 서비스를 사용하면 도메인 소유자가 모든 CT 로그에서 주체 또는 SAN 항목에 자신의 도메인이 포함된 인증서를 검색할 수 있습니다. 손상된 CA가 발급했거나 BGP 하이재킹을 통해 발급된 인증서와 같은 무단 발급을 몇 시간 내에 탐지할 수 있습니다.

CT 로그 생태계

CT 로그는 Google(Argon, Xenon), Cloudflare(Nimbus), DigiCert, Sectigo를 비롯한 여러 독립 조직이 운영합니다. 여러 로그 운영자가 존재하면 하나의 주체가 기록된 인증서를 은폐하는 것을 막을 수 있습니다. 브라우저는 승인 목록에 있는 로그의 SCT를 요구하여 어떤 로그를 신뢰할지 품질을 관리합니다.

OCSP 스테이플링 확인

표준 OCSP와 비교할 때 OCSP 스테이플링은 어떤 문제를 해결합니까?

학습 내용 정리: OCSP 및 CT

CRL은 크고 최신 상태가 아닙니다. OCSP는 실시간 폐지 상태를 제공하지만 CA에 웹 탐색 데이터를 유출합니다. OCSP 스테이플링은 미리 가져온 폐지 상태를 TLS 핸드셰이크 중에 전달하여 개인정보를 보호합니다. OCSP 필수 스테이플링은 소프트 실패 우회를 방지합니다. 인증서 투명성은 발급된 모든 인증서를 로그에 기록하여 SCT를 통해 잘못 발급된 인증서를 탐지할 수 있게 합니다. Chrome은 2018년부터 CT를 요구해 왔습니다.

자주 묻는 질문

“OCSP 스테이플링과 인증서 투명성” 강의는 무료인가요?

네 — “OCSP 스테이플링과 인증서 투명성” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cryptology Academy 강의 전체를 잠금 해제할 수 있습니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“OCSP 스테이플링과 인증서 투명성”에서 뭘 배우나요?

성능 향상을 위해 OCSP 스테이플링을 구성하고, 감사 가능성을 위한 Certificate Transparency 로그를 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 Cryptology Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cryptology Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cryptology Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“OCSP 스테이플링과 인증서 투명성” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cryptology Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cryptology Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. OpenSSL 명령줄 핵심
  2. 인증서 체인 생성 및 관리
  3. OCSP 스테이플링과 인증서 투명성
  4. Let's Encrypt와 ACME 프로토콜 자동화
← Cryptology Academy(으)로 돌아가기