본문 바로가기
Tech/Dev Log

HTTP vs HTTPS 비교, SSL/TLS 인증서 개념과 역할

by Hoft 2026. 3. 19.

웹사이트 주소창에 자물쇠 아이콘이 뜨는 사이트와 "안전하지 않음"이라고 경고가 뜨는 사이트, 차이를 아시나요? 오늘은 HTTP와 HTTPS의 차이, SSL/TLS 인증서가 하는 역할, 그리고 2026년부터 시작되는 인증서 유효기간 단축 정책까지 한번에 정리해볼게요. 웹 보안의 기초부터 최신 트렌드까지, 이 글 하나면 충분합니다.

🔹 HTTP vs HTTPS — 뭐가 다른 걸까?

HTTP(HyperText Transfer Protocol)는 웹 브라우저와 서버가 데이터를 주고받는 통신 규약이에요. 문제는 HTTP로 전송되는 데이터가 암호화되지 않은 평문(plain text)이라는 점입니다. 누군가 중간에서 패킷을 가로채면 로그인 정보, 카드 번호 같은 민감한 데이터가 그대로 노출돼요.

HTTPS는 여기에 SSL/TLS 암호화 계층을 추가한 프로토콜이에요. 주소가 https://로 시작하고, 브라우저 주소창에 자물쇠 아이콘이 표시됩니다.

구분 HTTP HTTPS
포트 80 443
암호화 ❌ 없음 ✅ SSL/TLS
데이터 보호 평문 전송 (도감청 가능) 암호화 전송
인증서 불필요 필수
SEO 영향 불이익 검색 순위 우대
브라우저 표시 ⚠️ "안전하지 않음" 🔒 자물쇠 아이콘

💡 핵심 포인트
2024년 이후 대부분의 브라우저는 HTTP 사이트에 "안전하지 않음" 경고를 표시합니다. Google은 HTTPS를 검색 순위 요소로 반영하고 있어서, 보안뿐 아니라 SEO 측면에서도 HTTPS 적용은 이제 선택이 아닌 필수예요.

🔹 SSL/TLS 인증서란?

SSL(Secure Sockets Layer)과 TLS(Transport Layer Security)는 네트워크 통신을 암호화하는 프로토콜이에요. SSL은 넷스케이프가 개발한 원조 프로토콜이고, TLS는 그 후속 버전입니다. 현재 SSL은 공식적으로 폐기되었고, 실제로는 TLS 1.2 또는 TLS 1.3을 사용하지만, 업계에서는 관습적으로 "SSL 인증서"라고 부르는 경우가 많아요.

// 한줄 정의

SSL/TLS 인증서 = 서버 신원 확인 + 데이터 암호화를 가능하게 하는 디지털 신분증

인증서가 하는 일을 정리하면 크게 3가지입니다.

✅ SSL/TLS 인증서의 역할

  • 암호화(Encryption) — 브라우저↔서버 간 데이터를 암호화해서 도청·위변조 방지
  • 인증(Authentication) — 접속한 서버가 진짜 그 도메인의 소유자인지 신원 확인
  • 무결성(Integrity) — 전송 중 데이터가 변조되지 않았음을 보장

🔹 HTTPS 통신이 이루어지는 과정

브라우저에서 HTTPS 사이트에 접속하면, 실제 데이터를 주고받기 전에 TLS 핸드셰이크(Handshake)라는 과정을 거칩니다. 택배로 비유하면, 물건을 보내기 전에 수신자 본인 확인 + 안전한 배송 경로를 합의하는 과정이에요.

🤝 TLS 핸드셰이크 4단계

1

Client Hello

브라우저가 서버에 "안녕! 나는 이런 암호화 방식들을 지원해" 하고 알림

2

Server Hello + 인증서 전달

서버가 암호화 방식을 선택하고, 자신의 SSL/TLS 인증서(공개키 포함)를 전달

3

키 교환 (Key Exchange)

브라우저가 인증서를 검증하고, 대칭키를 생성해 서버의 공개키로 암호화하여 전달

4

암호화 통신 시작

양쪽 모두 동일한 대칭키로 데이터를 암호화/복호화하며 통신

💡 왜 대칭키를 사용할까?
공개키 암호화(비대칭)는 안전하지만 느려요. 그래서 처음 핸드셰이크에서만 비대칭 암호화를 쓰고, 실제 데이터 전송에는 빠른 대칭키 암호화(AES 등)를 사용합니다. 보안과 성능을 동시에 잡는 방식이에요.

🔹 인증서 종류와 선택 가이드

SSL/TLS 인증서는 검증 수준에 따라 3가지로 나뉘어요. 기술적인 암호화 강도는 동일하지만, 인증 기관(CA)이 발급 전에 얼마나 엄격하게 심사하느냐의 차이입니다.

구분 DV (Domain Validation) OV (Organization Validation) EV (Extended Validation)
검증 대상 도메인 소유권만 도메인 + 조직 실체 도메인 + 조직 + 법적 존재
발급 소요 수 분 1~3일 1~2주
가격 무료~수만 원 수만~수십만 원 수십만~수백만 원
추천 대상 개인 블로그, 소규모 사이트 기업 웹사이트, SaaS 금융·공공기관, 이커머스

💡 실전 팁
개인 사이트나 소규모 프로젝트라면 Let's Encrypt 같은 무료 DV 인증서로 충분해요. 기술적인 암호화 수준은 비싼 EV 인증서와 동일하거든요. 다만, 기업이나 금융 서비스라면 OV/EV를 통해 조직 신뢰도를 높이는 게 좋습니다.

이 외에도 용도에 따라 구분할 수 있어요.

  • 단일 도메인 인증서 — example.com 하나만 보호
  • 와일드카드 인증서 — *.example.com (모든 서브도메인 포함)
  • 멀티 도메인(SAN) 인증서 — 여러 개의 다른 도메인을 하나의 인증서로 보호

🔹 2026년부터 달라지는 것 — 유효기간 47일 시대

여기서 주목해야 할 최신 변화가 있어요. CA/브라우저 포럼(CA/B Forum)이 2025년 4월에 투표를 통해 SSL/TLS 인증서 유효기간을 단계적으로 대폭 단축하기로 확정했습니다. Apple, Google 등 주요 브라우저 개발사가 주도한 이 정책은, 바로 지금(2026년 3월)부터 적용이 시작됩니다.

시행 시점 최대 유효기간 DCV 재사용 기간 갱신 주기 체감
2026년 3월 15일 🔴 200일 200일 ~6개월
2027년 3월 15일 100일 100일 ~3개월
2029년 3월 15일 47일 10일 ~1개월

왜 이렇게 짧아지는 걸까요?

  • 신뢰성 확보 — 인증서에 포함된 정보가 시간이 지나면 부정확해질 수 있어서, 짧은 주기로 갱신해 최신 상태를 유지
  • 기존 검증 방식의 한계 보완 — CRL/OCSP 기반 인증서 폐기 확인이 브라우저에서 제대로 동작하지 않는 경우가 많아, 유효기간 자체를 짧게 가져가는 게 더 효과적
  • 자동화 유도 — 수동 관리로는 한계가 있으므로, ACME 프로토콜 등을 통한 인증서 관리 자동화를 업계 표준으로 만들기 위한 목적

⚠️ 실무에 미치는 영향

  • 수백 개 인증서를 운영하는 기업은 인증서 수명주기 관리(CLM) 자동화가 사실상 필수
  • Let's Encrypt는 원래 90일 주기였으므로 이미 자동화가 구축된 환경이면 큰 영향 없음
  • OV/EV 인증서의 SII(주체 식별 정보) 재검증 주기도 825일 → 398일로 단축
  • 수동 관리 환경에서는 인증서 만료로 인한 서비스 장애 리스크가 크게 증가

🔹 실전: 무료 인증서 적용하기

개인 서버나 소규모 프로젝트에서 가장 많이 쓰는 방법은 Let's Encrypt + Certbot 조합이에요. 무료 DV 인증서를 자동으로 발급·갱신해줍니다.

Certbot으로 Nginx에 인증서 적용하기 (Ubuntu 기준)

# 1. Certbot 설치
sudo apt update
sudo apt install certbot python3-certbot-nginx

# 2. 인증서 발급 + Nginx 자동 설정
sudo certbot --nginx -d example.com -d www.example.com

# 3. 자동 갱신 테스트
sudo certbot renew --dry-run

# 4. 크론탭으로 자동 갱신 등록 (보통 설치 시 자동 등록됨)
# /etc/cron.d/certbot 또는 systemd timer 확인
sudo systemctl status certbot.timer

HTTP → HTTPS 리다이렉트 설정 (Nginx)

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    # 권장 보안 설정
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';

    # HSTS 헤더 (선택사항, 적용 시 HTTP 접근 완전 차단)
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
}

💡 추가 팁

  • AWS 환경이라면 AWS Certificate Manager(ACM)에서 무료로 인증서를 발급받아 ALB/CloudFront에 연결할 수 있어요
  • Cloudflare를 쓴다면 SSL 설정만 켜면 무료 인증서가 자동 적용됩니다
  • ssl_protocols에서 TLSv1.0, TLSv1.1은 반드시 제거하세요 — 이미 2021년에 공식 폐기된 프로토콜입니다
  • 적용 후 SSL Labs (ssllabs.com/ssltest)에서 등급을 확인해보세요. A+ 등급이 목표!

💡 정리 — 꼭 기억할 것

  • HTTP는 암호화 없음, HTTPS는 SSL/TLS로 암호화 → 지금은 HTTPS가 기본
  • SSL은 이미 폐기된 용어, 실제로는 TLS 1.2/1.3을 사용
  • DV/OV/EV 인증서의 암호화 강도는 동일 — 차이는 검증 수준(신뢰도)
  • 2026년 3월부터 인증서 유효기간 200일, 2029년에는 47일까지 단축
  • 인증서 자동화(Certbot, ACME)는 선택이 아닌 필수

HTTPS와 인증서 보안, 이제 감 좀 잡히셨나요? 특히 2026년 3월부터 시작되는 유효기간 단축은 운영 환경에 바로 영향을 주는 변화이니, 아직 인증서 자동 갱신을 설정하지 않으셨다면 지금 바로 해두시는 걸 추천드려요. 궁금한 점이 있으면 댓글로 편하게 남겨주세요!

도움이 됐다면 공감 ❤️ 부탁드려요!

반응형

▲ TOP