인증서 유효기간 47일 시대 — 수동 갱신은 이제 역사다

인증서 자동화

2026년 3월 15일. 인증서 유효기간이 1년에서 200일로 줄었어요. 단계적으로 줄어들어 2029년 3월엔 47일이 돼요. 47일. 수동으로 갱신한다면 매일 인증서 교체만 하게 될 판이에요.

근데 역설적이게도, 유효기간이 짧아질수록 수동 관리가 불가능해지고, 자동화가 필수가 되면서 결과적으로 더 안전한 운영이 가능해져요. 그리고 그 자동화의 핵심에 ACME 프로토콜이 있어요.

유효기간이 왜 이렇게 짧아지는 걸까

인증서 유효기간 변화 추이

이유가 네 가지예요.

첫째, 보안 향상. 1년짜리 인증서는 키 유출 발견까지 평균 6개월이 걸리니까, 공격자가 최대 6개월 이상 탈취한 인증서를 악용할 수 있어요. 90일짜리면 악용 가능한 최대 기간이 90일로 제한돼요. 단순한 숫자 차이.

보안 비교 — 유효기간에 따른 피해 범위

둘째, 인증서 폐기 시스템의 한계 극복이에요. CRL, OCSP 같은 폐기 시스템이 있지만 현실은 녹록지 않거든요. 모든 클라이언트가 폐기 상태를 확인하지 않고, OCSP 서버 장애 시 보안 vs 가용성 딜레마가 생기고, 캐싱으로 인한 지연도 있어요. 짧은 유효기간은 이 시스템에 대한 의존도를 줄여요. 인증서 자체가 빨리 만료되니까, 폐기 메커니즘이 제대로 안 돌아가도 보안 위험이 자연스럽게 줄어드는 거예요.

셋째, 암호 알고리즘 전환 용이성. 2008년 Debian OpenSSL 취약점(CVE-2008-0166) 사례를 보면, 코드 수정으로 난수 생성기가 손상되어 생성 가능한 키가 32,768개로 제한됐어요. 수백만 개 인증서를 긴급 폐기해야 했죠. 짧은 유효기간이면 자동 갱신으로 빠르게 새 키로 교체할 수 있어요. 양자 컴퓨터 위협도 있어요. "Harvest Now, Decrypt Later" 공격 — 현재 암호화 통신을 저장해뒀다가 미래 양자 컴퓨터로 복호화하는 거예요. 2024년 NIST가 PQC 표준을 발표했고, 2030년 실용적 양자 컴퓨터 등장 예상, 2035년 기존 암호화 시스템 폐기 예상. 47일 인증서면 연 8회 갱신으로 최신 알고리즘을 즉시 적용할 수 있어요. PQC 전환 발표 후 6개월 내 완전 교체 가능. 1년짜리는 최대 1년간 구 알고리즘이 남아있을 수 있고요.

넷째, 자동화 촉진. 이게 좀 웃긴 거예요. 유효기간이 짧아질수록 수동 관리가 불가능해지고, 결국 자동화를 강제하면서 더 안전한 운영 환경을 만들어주는 거거든요.

자동화 vs 수동 관리 비교

ACME 프로토콜 — Let's Encrypt가 시작하고 업계 표준이 된 자동화의 핵심

ACME(Automated Certificate Management Environment). IETF 표준 프로토콜(RFC 8555, 2019년 3월 표준화). 인증서 발급, 갱신, 폐기를 자동화해요. Let's Encrypt가 주도해서 개발했지만, 이제는 ZeroSSL, Google Trust Services, Buypass 등도 지원하는 업계 표준이에요. 2025년 6월엔 RFC 9773(ACME Renewal Information - ARI)까지 발행됐어요.

잠깐, Let's Encrypt 얘기를 안 할 수 없어요. 2015년 등장해서 무료 + 자동화 + 90일 유효기간을 들고 나왔거든요. HTTPS 채택률을 대폭 끌어올리는 촉매제 역할을 했고, Certbot, acme.sh 같은 자동화 도구 생태계가 발전했고, 다른 CA들도 ACME를 지원하기 시작했어요. 90일 유효기간이 사실상 표준으로 자리잡은 것도 Let's Encrypt 덕분이에요.

다만 Let's Encrypt는 DV(Domain Validated) 인증서만 발급해요. 도메인 소유권만 자동으로 검증하니까 완전 자동화가 가능하지만, OV/EV는 조직 실재 확인, 법적 서류 검토 등 사람의 검증이 필요해요. 기업 환경이라면 외부 공개 서비스는 OV 인증서, 내부 서비스나 개발 환경은 DV + ACME 자동화, 이런 식으로 나눠서 가는 게 현실적이에요.

ACME의 동작 원리는 크게 7단계예요. 계정 등록 → 인증서 요청 → 도메인 소유권 검증(Challenge) → Challenge 수행 → 검증 확인 → 인증서 발급 → 자동 갱신(만료 30일 전부터). 너무 세세하게 볼 필요는 없고, "도메인 검증은 이렇게 하고, 인증서는 이렇게 발급되는구나" 정도의 큰 그림만 잡으면 충분해요.

도메인 검증 Challenge 방식 비교

도메인 검증에는 세 가지 방식이 있어요. HTTP-01은 웹 서버에 파일을 배치해서 확인하는 방식인데, 포트 80을 열어야 하고 Wildcard 인증서는 발급 불가. DNS-01은 DNS TXT 레코드로 검증하는 방식이라 Wildcard 인증서가 가능하고 서버를 인터넷에 노출할 필요가 없지만, DNS 제공자 API 지원이 필수예요. TLS-ALPN-01은 TLS 핸드셰이크 중 검증하는 방식인데, 구현이 복잡해서 일반적으로 잘 안 쓰여요.

Certbot, acme.sh, cert-manager — 상황에 맞는 도구 선택법

ACME 프로토콜의 복잡한 과정을 직접 구현할 필요는 없어요. 이미 검증된 클라이언트들이 전부 구현해놨으니까요.

Certbot은 공식 클라이언트예요. 안정적이고 플러그인 생태계가 풍부해요. Route53, Google Cloud DNS, Azure DNS, Cloudflare 등 14개 공식 DNS 플러그인이 있어서 TXT 레코드 자동 생성/삭제까지 가능해요. 설치하면 systemd timer가 자동 설정되고, 하루 2회 실행, 만료 30일 이내 인증서 자동 갱신. 단점은 Python 의존성이 있고 비교적 무겁다는 거예요.

acme.sh는 순수 Shell Script라 의존성이 없어요. 50개 이상 DNS 제공자 API를 지원하고, 빠르고 가벼워요. 설치하면 cron job이 자동 등록되어 매일 실행, 만료 60일 이내 자동 갱신. 근데 자동 웹 서버 설정은 미지원이에요.

cert-manager는 Kubernetes 전용이에요. 완전 자동화. 여러 Issuer(Let's Encrypt, Vault, Venafi)를 지원하고, Ingress에 annotation 한 줄만 추가하면 인증서가 자동 발급돼요. cert-manager controller가 주기적으로 상태를 모니터링하고, 갱신된 인증서는 Secret에 자동 업데이트. 새 도메인 추가 시에도 자동 발급. 사람 개입이 불필요한 구조예요.

실전 시나리오별로 보면, 단일 도메인이면 Certbot으로 `--nginx` 한 줄이면 끝. 가장 간단한 설정으로 완전 자동화가 돼요. Wildcard 도메인이면 acme.sh로 DNS Challenge. 하나의 Wildcard 인증서로 여러 서브도메인을 커버하고, 중앙 서버에서 발급 후 Ansible 등으로 배포하는 방식. Kubernetes 클러스터면 cert-manager를 설치하고 ClusterIssuer를 설정한 뒤, 이후 모든 Ingress에 annotation만 추가하면 돼요.

Post-Quantum부터 6일 인증서까지 — 인증서의 미래

배너

2024년 8월 NIST가 PQC 표준을 발표했어요. ML-DSA(디지털 서명, FIPS 204), ML-KEM(키 캡슐화, FIPS 203), SLH-DSA(서명, FIPS 205). 이미 Cloudflare는 TLS 1.3 연결의 약 2%에서 PQC를 사용 중이고, Chrome 131+(2024년 11월)과 Firefox 135+(2025년 2월)가 ML-KEM 하이브리드를 지원해요. OpenSSL 3.5.0+(2025년 4월), Go 1.24+(2025년 2월)도 마찬가지. 현재는 주로 키 교환 단계에서 PQC가 적용 중이고, 미래에 디지털 서명까지 확대될 예정이에요.

짧은 유효기간의 진짜 이점이 여기서 나와요. PQC로의 빠른 전환과 알고리즘 업그레이드가 쉬워지는 거예요.

Certificate Transparency도 강화되고 있어요. 모든 인증서 발급을 공개 로그에 기록하는 시스템인데, 2011년 DigiNotar 해킹 사건 — 네덜란드 CA가 해킹당해 *.google.com 등 500개 이상 위조 인증서가 발급되고 이란 정부가 Gmail 감청에 사용한 사건 — 이 계기가 됐어요. 이제 CA가 인증서 발급 시 CT 로그 서버에 제출하고, 브라우저는 SCT가 포함된 인증서만 신뢰해요. ACME로 발급된 인증서도 CT 로그에 자동 기록돼요.

Let's Encrypt는 2025년에도 새로운 기능을 쏟아내고 있어요. ACME Profiles(2025년 1월), 6일 유효기간 인증서(2025년 2월 첫 발급, 연말부터 일반 제공 예정), IP 주소 인증서(2025년 말 출시 예정). 6일 유효기간이면 폐기 자체가 불필요해지는 거예요. 실제로 Let's Encrypt는 OCSP URL을 완전히 제거하고 CRL Distribution Point만 제공하도록 전환했어요.

인증서를 수동으로 갱신하던 시대는 이제 끝나가고 있어요. 그리고 그게 귀찮은 변화가 아니라 더 안전한 인터넷을 위한 필수 요소라는 거. ACME의 개념을 확실히 이해하고 지금부터 준비한다면, 47일이 오든 6일이 오든 걱정할 게 없어요. 결국 자동화를 강제당하는 건, 어쩌면 이 업계가 받은 가장 좋은 강제일지도 몰라요.