🔐

무료 HTTPS 서비스들의 원리

Let's Encrypt, Cloudflare, ACM이 무료 인증서를 제공하는 방법

Let's Encrypt가 2015년 등장한 이후 HTTPS는 사실상 무료가 되었습니다. ACME 프로토콜을 통한 자동 발급, Cloudflare의 Edge SSL 종단, AWS ACM의 관리형 인증서 등 다양한 무료 HTTPS 서비스의 동작 원리와 CA 신뢰 체인 구조를 설명합니다.

구조 다이어그램

CA 신뢰 체인 (Certificate Trust Chain)
🔐
루트 CA (Root CA)
OS/브라우저에 사전 설치됨. 오프라인 보관.
ISRG Root X1, DigiCert Global Root
서명 (Sign)
📜
중간 CA (Intermediate CA)
실제 인증서 발급 담당. 루트 CA의 위험 분산.
R3, E1 (Let's Encrypt)
발급 (Issue)
🖥️
서버 인증서
도메인에 바인딩. 90일 유효기간 (Let's Encrypt).
myapp.com
ACME 프로토콜 흐름 (자동 인증서 발급)
1
새 주문 (New Order)
ACME 클라이언트(certbot 등) → ACME 서버에 인증서 요청
2
인가 (Authorization)
서버가 도메인 소유권 증명 방법(챌린지)을 제시
3
챌린지 수행
HTTP-01 http://도메인/.well-known/acme-challenge/ 에 토큰 파일 배치
DNS-01 _acme-challenge.도메인 TXT 레코드에 토큰 설정
4
검증 (Validate)
ACME 서버가 챌린지를 확인하여 도메인 소유권 검증
5
완료 + 인증서 다운로드
CSR 제출 → 인증서 발급 → 서버에 설치
무료 HTTPS 서비스 비교
Let's Encrypt Cloudflare AWS ACM
가격 무료 무료 (프록시 필수) 무료 (AWS 서비스 연동)
유효기간 90일 자동 관리 자동 갱신 (13개월)
와일드카드 지원 (DNS-01 필요) 지원 지원
자동 갱신 certbot cron 설정 완전 자동 완전 자동
설치 위치 자체 서버 Cloudflare 엣지 ALB / CloudFront
TLS 핸드셰이크 (간소화)
💻
클라이언트
1. Client Hello
TLS 버전, 암호화 스위트 목록, 랜덤 값
2. Server Hello + Cert
선택된 암호화 스위트, 서버 인증서(공개키 포함)
3. Key Exchange
세션 키 생성을 위한 키 교환 (ECDHE)
🔒 암호화 통신 시작
대칭키(세션 키)로 데이터 암호화. TLS 1.3은 1-RTT로 완료.
🖥️
서버
Let's Encrypt는 어떻게 먹고사는가?
🏛️ 비영리 단체 ISRG (Internet Security Research Group)
2013년 설립. 인증서 판매 수익 없이 100% 후원과 기부로 운영. 연간 예산 약 $3.6M (2023년 기준).
핵심 수입
대기업 스폰서십 (~70%)
Cisco Akamai Google Chrome Mozilla Meta AWS EFF
Platinum 스폰서 연간 $300K+, Gold $150K+, Silver $50K+
기부
개인/기업 기부 (~20%)
웹사이트에서 직접 기부 가능. 개발자 커뮤니티의 자발적 지원이 큰 비중.
보조금
재단/정부 보조금 (~10%)
Ford Foundation, Linux Foundation 등에서 인터넷 보안 인프라로 지원
왜 대기업이 돈을 내는가?
HTTPS 보급 → 피싱/중간자 공격 감소 → 자사 서비스 이용 환경 안전해짐
Cisco/Akamai 입장: 고객이 SSL 인증서 비용 때문에 HTTPS 도입을 미루면 자사 CDN/보안 제품 매출에 부정적
Google Chrome: HTTPS를 검색 순위 가점 요소로 만든 입장 → 무료 인증서 보급이 필수
연간 $300K은 대기업 마케팅비의 0.001%도 안 되지만, 인터넷 전체 보안 인프라를 유지하는 효과
3.5억+
활성 인증서 수
~15
풀타임 직원
$0
인증서 발급 비용
핵심 포인트
Let's Encrypt 덕분에 HTTPS가 웹 표준이 됨 — 2024년 기준 웹 트래픽의 95%+ 가 HTTPS
DNS-01 챌린지는 와일드카드 인증서에 필수이며, 내부 서버에서도 사용 가능
TLS 1.3은 핸드셰이크를 1-RTT로 줄이고 0-RTT 재접속도 지원 (PSK)

동작 흐름

1

ACME 클라이언트(certbot)가 CA 서버에 계정 등록 및 도메인 인증서 주문

2

CA가 도메인 소유권 검증을 위한 Challenge 발행 (HTTP-01 또는 DNS-01)

3

클라이언트가 Challenge를 충족 (웹서버에 토큰 파일 배치 또는 DNS TXT 레코드 추가)

4

CA가 검증 후 DV 인증서 발급 (Root CA → Intermediate CA → End-entity 체인)

5

웹서버에 인증서 설치 → 클라이언트 접속 시 TLS 핸드셰이크로 암호화 통신 시작

장점

  • 완전 무료: Let's Encrypt, Cloudflare, ACM 모두 DV 인증서 무료 제공
  • 자동화: ACME 프로토콜로 발급/갱신 완전 자동화 가능
  • SEO 이점: Google이 HTTPS를 랭킹 시그널로 사용
  • 보안 강화: 중간자 공격(MITM) 방지, 데이터 암호화

단점

  • DV 인증서 한계: 도메인 소유권만 검증, 조직 신원 미확인
  • Let's Encrypt 90일 유효기간: 자동 갱신 실패 시 서비스 중단 위험
  • Cloudflare 의존성: Shared SSL 사용 시 Cloudflare 장애가 곧 사이트 장애
  • ACM 제약: AWS 서비스(ALB, CloudFront)에서만 사용 가능, EC2 직접 설치 불가

사용 사례

개인 블로그/포트폴리오 사이트 HTTPS 적용 (Let's Encrypt + certbot) CDN을 통한 자동 SSL 관리 (Cloudflare Universal SSL) AWS 인프라 SSL 통합 (ACM + ALB/CloudFront) 마이크로서비스 간 mTLS (Mutual TLS) 인증