김 컴퓨터


HTTPS (Hypertext Transfer Protocol Secure)

HTTPS는 기존의 HTTP에 보안 계층(SSL/TLS)을 추가하여, 웹 서버와 클라이언트(브라우저) 간의 통신을 암호화하고 인증하는 통신 규약입니다. 웹사이트의 URL이 http 대신 https로 시작하는 이유입니다.


1. HTTPS의 구성 및 역할

HTTPS는 다음 두 가지 프로토콜의 조합입니다.

$$\mathbf{HTTPS} = \mathbf{HTTP} \quad + \quad \mathbf{SSL/TLS}$$

① HTTP (Hypertext Transfer Protocol)

실제 데이터(HTML, 이미지, JSON 등)를 전송하는 통신 규칙입니다.

② SSL/TLS (Secure Sockets Layer/Transport Layer Security)

데이터를 암호화하고 서버의 신원을 확인하는 보안 계층입니다. SSL은 구식이며, 현재는 그 후속 버전인 TLS가 사용되지만, 통칭하여 SSL/TLS라고 부릅니다.

2. HTTPS의 3대 보안 원칙 (CIA Triad)

HTTPS는 통신 과정에서 보안의 3요소를 모두 충족합니다.

원칙 역할 확보 기술
기밀성 (Confidentiality) 데이터가 중간에 도청되더라도 내용을 알 수 없게 암호화 대칭키 암호화 사용
무결성 (Integrity) 데이터가 전송 중 변조되지 않았음을 확인 해시 함수 사용
인증 (Authentication) 접속하려는 서버가 진짜임을 SSL/TLS 인증서로 증명 비대칭키 암호화 및 CA 서명

3. 작동 원리: SSL/TLS 핸드셰이크 (Handshake)

클라이언트와 서버가 암호화 통신을 시작하기 위해 서로를 인증하고 암호화 키를 교환하는 과정입니다.

  1. 클라이언트 요청: 브라우저가 서버에 접속하여 SSL/TLS 통신을 요청합니다.
  2. 서버 응답 (인증서 전송): 서버가 자신의 SSL/TLS 인증서(공개키 포함)를 브라우저에 보냅니다.
  3. 클라이언트 검증: 브라우저는 인증서가 신뢰할 수 있는 CA(인증 기관)에서 발급되었는지 확인하여 서버의 신원을 인증합니다.
  4. 키 교환: 브라우저와 서버는 RSA 같은 비대칭키 방식을 이용해 앞으로의 통신에 사용할 대칭키를 안전하게 생성하고 교환합니다.
  5. 암호화 통신 시작: 교환된 대칭키를 사용하여 HTTP 데이터를 암호화/복호화하며 빠르고 안전한 통신을 지속합니다.