Ⅰ. Certificate Transparency(CT) 이란?
SSL/TLS 인증서의 발급 과정을 감시하고 투명성을 보장하기 위한 공개 로깅 시스템입니다. 인증서가 발급되거나 사용되기 전에 이를 기록한 공개 로그 서버를 통해 인증서의 무결성을 검증하고, 불법적으로 발급된 인증서를 탐지할 수 있도록 도와줍니다.
Ⅱ. Certificate Transparency(CT) 주요 목적
ⅰ. 불법 인증서 발급 방지
: 신뢰할 수 없는 CA(Certificate Authority)가 허위 인증서를 발급하더라도 이를 투명하게 기록하여 탐지 가능.
ⅱ. 발급 프로세스 투명화
: 인증서가 공개 로그에 기록되므로 발급 내역을 누구나 검증 가능.
ⅲ. 중간자 공격 방어
: 위조된 인증서 사용을 감지하여 웹사이트와 사용자를 보호.
Ⅲ. Certificate Transparency(CT) 작동 방식
ⅰ. 인증서 로그 기록
1) 인증서가 발급될 때, CA는 인증서를 CT 로그 서버에 기록합니다.
2) CT 로그 서버는 이를 확인하고, 고유한 로그 증명서(SCT, Signed Certificate Timestamp)를 발급합니다.
ⅱ. 로그 증명 포함
1) 인증서는 SCT 정보를 포함하여 서버로 전달됩니다.
2) 클라이언트(예: 브라우저)는 인증서에 포함된 SCT를 검증하여 로그에 기록되었는지 확인합니다.
ⅲ. 투명성 및 검증
1) 클라이언트는 인증서가 올바르게 발급되고 CT 로그 서버에 기록되었는지 확인합니다.
2) 로그에 없는 인증서는 신뢰할 수 없는 인증서로 간주되어 차단됩니다.
Ⅳ. Certificate Transparency(CT) 구성 요소
항목 | 설명 |
CT 로그(Log) | 인증서를 기록하는 공개적으로 접근 가능한 서버. 로그 서버는 신뢰성을 보장하기 위해 고유 ID와 시간 정보(SCT)를 포함합니다. |
로그 증명서 (SCT, Signed Certificate Timestamp) |
인증서가 로그 서버에 성공적으로 기록되었음을 나타내는 디지털 서명. SCT는 인증서의 일부로 포함되어 클라이언트에 제공됩니다. |
모니터링(Monitors) | CT 로그를 지속적으로 감시하여 위조 인증서를 탐지합니다. 조직이나 보안 연구자가 이를 수행할 수 있습니다. |
감사(Auditors) | CT 로그의 무결성을 확인하여 악의적 수정이나 삭제를 방지합니다. |
Ⅴ. Certificate Transparency(CT) 동작 예제
ⅰ) 웹사이트 관리자는 SSL/TLS 인증서를 요청합니다.
ⅱ) CA는 인증서를 발급하기 전 CT 로그 서버에 이를 기록하고 SCT를 발급받습니다.
ⅲ) 인증서는 SCT를 포함해 서버에 설치됩니다.
ⅳ) 사용자의 브라우저는 SCT를 확인하고, 해당 인증서가 CT 로그에 기록된 인증서인지 검증합니다.
ⅴ) SCT가 유효하지 않거나 로그에 없는 인증서는 신뢰할 수 없다고 간주됩니다.
Ⅵ. Certificate Transparency(CT) 장점
ⅰ. 불법 인증서 감지
: 허위 인증서 발급을 빠르게 탐지하여 피해를 최소화.
ⅱ. CA의 책임 강화
: 인증서를 투명하게 기록해야 하므로 CA의 신뢰도를 높이고 책임을 강화.
ⅲ. 공개 데이터 검증
: 로그가 누구에게나 공개되어 있어, 제3자가 이를 확인하고 감사 가능.
ⅳ. 브라우저 지원 확대
: Google Chrome, Mozilla Firefox 등 주요 브라우저가 CT 검증을 지원.
Ⅶ. Certificate Transparency(CT) 한계 및 문제점
ⅰ. 중앙화된 로그 서버 의존
: 로그 서버가 신뢰성을 잃거나 공격받으면 시스템에 문제가 발생할 수 있음.
ⅱ. 운영 비용 증가
: 로그 서버를 유지하고 모니터링하는 데 추가적인 비용과 관리가 필요.
ⅲ. 완벽한 보호는 아님
: CT는 위조 인증서를 감지할 수 있지만, 이를 사전에 차단하지는 못함.
ⅳ. 브라우저 간 지원 불균형
: 모든 브라우저가 CT를 동일하게 처리하지 않아, 호환성 문제가 발생할 수 있음.
Ⅷ. Certificate Transparency(CT), HPKP, HSTS, Preloading 차이점 비교
항목 | CT (Certificate Transparency) |
HPKP (HTTP Public Key Pinning) |
HSTS (HTTP Strict Transport Security) |
HSTS Preloading |
목적 | 인증서 발급 투명성 확보 및 불법 인증서 감지 | 특정 서버의 인증서를 고정하여 위조 방지 | HTTPS 연결 강제 및 중간자 공격(SSL Stripping) 방지 | 브라우저에 사전 등록된 사이트만 HTTPS 연결 강제 |
작동방식 | 인증서를 CT 로그 서버에 기록, SCT로 검증 | 공개 키 해시를 브라우저에 미리 저장 | HTTPS 강제 연결을 위한 헤더 설정 | 사이트 정보를 브라우저의 HSTS 목록에 사전 등록 |
설정 및 유지보수 | 로그 서버 관리 필요, 상대적으로 간단 | 설정이 복잡하며 실수 시 사이트 접근 불가 | 헤더 설정이 간단하고 관리 부담 적음 | 사이트 사전 등록 요청 필요, 업데이트에 시간 소요 |
보안 강화수준 | 인증서 위조 탐지 가능, 투명성 보장 | 인증서 위조 사전 차단 가능 | HTTPS 연결 강제, SSL Stripping 방지 | HTTPS 연결 강제, 사전 등록으로 설정 오류 방지 |
적용 범위 | 모든 CA와 인증서 발급 절차 | 특정 서버의 공개 키 | 모든 HTTPS 요청 | 브라우저에 사전 등록된 도메인 |
사용 사례 | 전반적인 인증서 보안 향상 | 민감 데이터 전송 또는 높은 보안 요구 환경 | HTTPS 보안을 기본으로 제공해야 하는 모든 사이트 | 대형 사이트나 공용 네트워크에서 주로 사용 |
단점 및 한계 | 로그 서버 의존성, 사전 차단 불가 | 설정 실수 시 정상 사이트 차단, 브라우저 지원 중단 | 브라우저 초기 요청 시 HTTP를 사용하면 첫 연결이 위험할 수 있음 | 사전 등록 필요, 비등록 사이트는 효과 없음 |
현재 지원여부 | 주요 브라우저 및 시스템에서 널리 사용 | 주요 브라우저에서 지원 중단 | 현재도 널리 사용 | 주요 브라우저에서 적극 지원 |
브라우저 지원 | Google Chrome, Mozilla Firefox 등 | 과거에는 지원되었으나 현재는 미지원 | 모든 주요 브라우저에서 지원 | Google Chrome, Firefox, Microsoft Edge 등 |
Ⅸ. Certificate Transparency(CT), HPKP, HSTS, Preloading 요약
항목 | 요약 설명 |
Certificate Transparency (CT) | SSL/TLS 인증서 발급을 투명하게 공개해 위조 인증서를 감지. 인증서를 CT 로그 서버에 기록해 발급 과정 투명성을 보장. |
HTTP Public Key Pinning (HPKP) | 특정 서버의 인증서를 클라이언트에 고정(Pinning)하여 위조된 인증서 차단. 설정 실수로 사이트가 차단될 위험이 높아 현재는 비권장. |
HTTP Strict Transport Security (HSTS) | HTTP 요청을 HTTPS로 강제 전환. 브라우저가 이후 모든 연결을 HTTPS로 시도하도록 설정 |
HSTS Preloading | HSTS 설정을 브라우저의 사전 등록 목록에 추가하여 HTTPS를 강제. 초기에 HTTP 요청 없이 HTTPS 연결을 보장. |
'어플리케이션' 카테고리의 다른 글
HSTS(HTTP Strict Transport Security)에 대해 알아보겠습니다. (0) | 2025.01.09 |
---|---|
HPKP(HTTP Public Key Pinning)에 대해 알아보겠습니다. (0) | 2025.01.08 |
워터링 홀(Watering Hole) 공격에 대해 알아보겠습니다. (0) | 2025.01.05 |
Software Development Life Cycle (SDLC)에 대해 알아보겠습니다. (2) | 2024.12.24 |
CI/CD(Continuous Integration/Continuous Deployment) (1) | 2024.12.20 |