반응형
컴퓨터공학과 네트워크 전공 시험이나 개발자 면접에서 "웹 보안 및 전송 프로토콜의 작동 원리"를 물어볼 때 빠지지 않는 핵심 주제가 있습니다. 바로 HTTP와 HTTPS의 차이점과 SSL/TLS 암호화 메커니즘입니다.
"HTTPS는 단지 암호화만 추가된 것일까?"
"대칭키와 공개키(비대칭키) 암호화 방식을 왜 둘 다 섞어서 쓸까?"
HTTP와 HTTPS의 차이점부터 암호화 방식의 특징, 그리고 시험 단골 서술형으로 나오는 SSL/TLS 핸드셰이크 과정까지 핵심만 깔끔하게 정리해 드립니다!
1. HTTP vs HTTPS 핵심 차이점

🔹 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는 두 암호화 방식의 장점만 취해 **혼합(하이브리드)**하여 사용합니다.
- 속도가 느린 공개키 방식으로 안전하게 **대칭키(세션 키)**를 공유하고,
- 실제 데이터 송수신은 속도가 빠른 대칭키 방식으로 암호화하여 통신합니다.
3. SSL/TLS 핸드셰이크(Handshake) 동작 메커니즘
TCP 3-Way Handshake 이후, 클라이언트와 서버가 암호화 통신을 준비하기 위해 수행하는 과정입니다.
- Client Hello: 클라이언트가 서버에게 지원 가능한 암호화 알고리즘 목록(Cipher Suite)과 난수(Random Bytes)를 전달합니다.
- Server Hello: 서버가 지원할 암호화 알고리즘을 선택하고, 자신의 난수와 CA(인증 기관)에서 발급받은 SSL Certificate(인증서)를 보냅니다. (인증서 안에는 서버의 공개키가 포함되어 있습니다.)
- 인증서 검증 & Pre-Master Secret 생성:
- 클라이언트는 브라우저에 내장된 CA 공개키로 서버 인증서의 유효성을 검증합니다.
- 클라이언트는 새로운 난수인 Pre-Master Secret을 생성하고, 서버의 공개키로 암호화하여 서버로 전송합니다.
- 대칭키(Master Secret / Session Key) 생성:
- 서버는 자신의 개인키로 암호화된 Pre-Master Secret을 복호화하여 알아냅니다.
- 클라이언트와 서버 양쪽 모두 동일한 Pre-Master Secret과 난수를 조합하여 실제 데이터 암호화에 쓰일 대칭키(세션 키)를 만듭니다.
- Handshake 종료: 세션 키 수립 완료를 확인한 후, 이후의 모든 HTTP 요청/응답은 이 세션 키(대칭키)를 이용해 암호화되어 주고받아집니다.
4. 한눈에 끝내는 핵심 요약표 (★시험 필수)
| 구분 | HTTP | HTTPS |
| 보안 레이어 | 없음 | SSL / TLS 계층 추가 |
| 기본 포트 | 80 | 443 |
| 암호화 방식 | 없음 | 하이브리드 암호화 (공개키로 대칭키 교환 후 대칭키 통신) |
| CA 인증서 | 불필요 | 필수 (서버 신원 및 공개키 검증용) |
| 속도/비용 | 상대적으로 빠름 | SSL 핸드셰이크 오버헤드 발생 및 CA 인증서 발급 비용 |
5. 시험 단골 출제 유형 체크
- Q. HTTPS가 대칭키와 공개키 암호화 방식을 혼합하여 사용하는 이유는?
- 👉 공개키 방식의 안전한 키 교환 장점과 대칭키 방식의 빠른 암호화/복호화 속도 장점을 모두 얻기 위해서입니다.
- Q. 클라이언트가 SSL 핸드셰이크 과정에서 서버 인증서의 신뢰성을 검증하기 위해 사용하는 것은?
- 👉 브라우저에 미리 저장되어 있는 CA(인증 기관)의 공개키입니다.
- Q. HTTP와 HTTPS의 기본 포트 번호는 각각 몇 번인가?
- 👉 HTTP는 80번, HTTPS는 443번입니다.
반응형
'전공과목 > 네트워크' 카테고리의 다른 글
| [네트워크] 매체 접근 제어(MAC): 유선(CSMA/CD) vs 무선(CSMA/CA) 완벽 정리 (0) | 2026.08.31 |
|---|---|
| [네트워크] 데이터 링크 계층의 핵심: CRC 에러 검출과 흐름 제어(Stop-and-Wait, Go-Back-N, Selective Repeat) 완벽 정리 (0) | 2026.08.31 |
| [웹개발/네트워크] 쿠키(Cookie), 세션(Session), JWT 개념과 차이점 완전 정리 (0) | 2026.08.19 |
| [네트워크] TCP vs UDP 특징 비교 및 TCP 3-Way / 4-Way Handshake 완전 정리 (0) | 2026.08.17 |
| [네트워크] OSI 7계층 구조와 계층별 역할 및 대표 장비 완전 정리 (시험 단골 주제) (0) | 2026.08.14 |