본문 바로가기
전공과목/네트워크

[네트워크] HTTP vs HTTPS 차이점 및 SSL/TLS 핸드셰이크와 암호화 원리 완전 정리

by 아임코딩 2026. 8. 18.
반응형

컴퓨터공학과 네트워크 전공 시험이나 개발자 면접에서 "웹 보안 및 전송 프로토콜의 작동 원리"를 물어볼 때 빠지지 않는 핵심 주제가 있습니다. 바로 HTTP와 HTTPS의 차이점SSL/TLS 암호화 메커니즘입니다.

"HTTPS는 단지 암호화만 추가된 것일까?"

"대칭키와 공개키(비대칭키) 암호화 방식을 왜 둘 다 섞어서 쓸까?"

HTTP와 HTTPS의 차이점부터 암호화 방식의 특징, 그리고 시험 단골 서술형으로 나오는 SSL/TLS 핸드셰이크 과정까지 핵심만 깔끔하게 정리해 드립니다!

1. HTTP vs HTTPS 핵심 차이점

HTTPS를 구성하는 SSL/TLS 보안 프로토콜의 핵심 요소. 출처: Fauzi Muda / Getty Images

🔹 HTTP (HyperText Transfer Protocol)

  • 평문(Plaintext) 전송: 데이터를 암호화하지 않은 상태로 전송합니다.
  • 보안 취약: 제3자가 중간에 패킷을 스니핑(Sniffing)하여 로그인 정보나 금융 데이터 등 민감한 정보를 탈취하거나 변조하기 쉽습니다.
  • 기본 포트: 80번 사용.

🔹 HTTPS (HTTP Secure)

  • 암호화 통신: HTTP에 SSL(Secure Sockets Layer) / TLS(Transport Layer Security) 프로토콜을 탑재하여 데이터를 암호화해 전송합니다.
  • 보안성 제공: 데이터의 무결성(Integrity), 기밀성(Confidentiality), 인증(Authentication)을 보장합니다.
  • 기본 포트: 443번 사용.

2. 대칭키 vs 공개키(비대칭키) 암호화

HTTPS의 보안 원리를 이해하려면 대칭키공개키 방식을 구분해야 합니다.

구분 대칭키(Symmetric Key) 암호화 공개키(Asymmetric Key / 비대칭키) 암호화
키 구조 암호화키 = 복호화키 (단일 키) 공개키(Public Key) + 개인키(Private Key)
연산 속도 매우 빠름 상대적으로 느림 (복잡한 수학 연산)
핵심 단점 키 전달 과정에서 키 유출 위험 존재 연산 오버헤드가 큼
HTTPS 적용 실제 데이터(HTTP 메시지) 암호화에 사용 대칭키를 안전하게 교환하는 핸드셰이크 과정에 사용

💡 시험 단골 포인트: 하이브리드 암호화 (Hybrid Encryption)

HTTPS는 두 암호화 방식의 장점만 취해 **혼합(하이브리드)**하여 사용합니다.

  1. 속도가 느린 공개키 방식으로 안전하게 **대칭키(세션 키)**를 공유하고,
  2. 실제 데이터 송수신은 속도가 빠른 대칭키 방식으로 암호화하여 통신합니다.

3. SSL/TLS 핸드셰이크(Handshake) 동작 메커니즘

TCP 3-Way Handshake 이후, 클라이언트와 서버가 암호화 통신을 준비하기 위해 수행하는 과정입니다.

  1. Client Hello: 클라이언트가 서버에게 지원 가능한 암호화 알고리즘 목록(Cipher Suite)과 난수(Random Bytes)를 전달합니다.
  2. Server Hello: 서버가 지원할 암호화 알고리즘을 선택하고, 자신의 난수와 CA(인증 기관)에서 발급받은 SSL Certificate(인증서)를 보냅니다. (인증서 안에는 서버의 공개키가 포함되어 있습니다.)
  3. 인증서 검증 & Pre-Master Secret 생성:
    • 클라이언트는 브라우저에 내장된 CA 공개키로 서버 인증서의 유효성을 검증합니다.
    • 클라이언트는 새로운 난수인 Pre-Master Secret을 생성하고, 서버의 공개키로 암호화하여 서버로 전송합니다.
  4. 대칭키(Master Secret / Session Key) 생성:
    • 서버는 자신의 개인키로 암호화된 Pre-Master Secret을 복호화하여 알아냅니다.
    • 클라이언트와 서버 양쪽 모두 동일한 Pre-Master Secret과 난수를 조합하여 실제 데이터 암호화에 쓰일 대칭키(세션 키)를 만듭니다.
  5. Handshake 종료: 세션 키 수립 완료를 확인한 후, 이후의 모든 HTTP 요청/응답은 이 세션 키(대칭키)를 이용해 암호화되어 주고받아집니다.

4. 한눈에 끝내는 핵심 요약표 (★시험 필수)

구분 HTTP HTTPS
보안 레이어 없음 SSL / TLS 계층 추가
기본 포트 80 443
암호화 방식 없음 하이브리드 암호화 (공개키로 대칭키 교환 후 대칭키 통신)
CA 인증서 불필요 필수 (서버 신원 및 공개키 검증용)
속도/비용 상대적으로 빠름 SSL 핸드셰이크 오버헤드 발생 및 CA 인증서 발급 비용

5. 시험 단골 출제 유형 체크

  1. Q. HTTPS가 대칭키와 공개키 암호화 방식을 혼합하여 사용하는 이유는?
  2. 👉 공개키 방식의 안전한 키 교환 장점과 대칭키 방식의 빠른 암호화/복호화 속도 장점을 모두 얻기 위해서입니다.
  3. Q. 클라이언트가 SSL 핸드셰이크 과정에서 서버 인증서의 신뢰성을 검증하기 위해 사용하는 것은?
  4. 👉 브라우저에 미리 저장되어 있는 CA(인증 기관)의 공개키입니다.
  5. Q. HTTP와 HTTPS의 기본 포트 번호는 각각 몇 번인가?
  6. 👉 HTTP는 80번, HTTPS는 443번입니다.
반응형