개인의 기록
  • 소개
  • 프로젝트
  • 글
  • 링크

© 2026 newgirok

← 글 목록

HTTPS — 보안 HTTP

2025년 9월 23일
HTTPS보안

HTTPS(HTTP Secure)는 HTTP에 TLS(Transport Layer Security)를 적용하여 통신을 암호화한 프로토콜입니다.

HTTP와 HTTPS의 차이

HTTP는 데이터를 평문으로 전송하므로 중간자가 내용을 그대로 볼 수 있습니다. HTTPS는 TLS로 암호화하여 도청, 변조, 위장을 방지합니다.

HTTP  → 포트 80, 평문 전송
HTTPS → 포트 443, 암호화 전송

HTTPS가 제공하는 보안 속성

기밀성 (Confidentiality)

TLS가 데이터를 암호화하여 네트워크를 가로채도 내용을 알 수 없습니다.

무결성 (Integrity)

MAC(Message Authentication Code)으로 데이터가 전송 중에 수정되었는지 확인합니다.

인증 (Authentication)

서버의 SSL/TLS 인증서를 검증하여 접속한 서버가 진짜인지 확인합니다. 피싱 사이트를 방지합니다.

HTTPS 연결 과정

1. 클라이언트 → 서버: ClientHello (지원하는 암호화 방식 목록 전송)
2. 서버 → 클라이언트: ServerHello + 인증서 전송
3. 클라이언트: 인증서의 CA 서명 검증
4. 키 교환: 세션 키 협상 (TLS 1.3에서는 1-RTT)
5. 이후 통신은 세션 키로 암호화

SSL 인증서

브라우저는 운영체제에 설치된 신뢰할 수 있는 CA 목록을 보유합니다. 인증서의 서명이 이 CA 중 하나와 일치하면 신뢰합니다.

인증서 종류

종류설명
DV (Domain Validation)도메인 소유권만 확인, 가장 빠르고 저렴
OV (Organization Validation)도메인 + 조직 실재 확인
EV (Extended Validation)엄격한 조직 검증, 브라우저 주소창에 회사명 표시

Let's Encrypt

무료 인증서 발급 기관으로, 자동 갱신을 지원합니다. 현재 대부분의 개인 사이트와 소규모 서비스가 Let's Encrypt 인증서를 사용합니다.

HSTS

Strict-Transport-Security: max-age=31536000; includeSubDomains

HTTP로 접속 시 자동으로 HTTPS로 리다이렉트합니다. 첫 접속 시 HTTP 다운그레이드 공격을 방지합니다.

← 이전 글HTTP/3 — QUIC 기반의 차세대 HTTP
다음 글 →IP — 인터넷 프로토콜