Blog

[CS] HTTPS가 동작하는 방식

Category
Author
citeFred
citeFred
PinOnMain
1 more property
Protocol, HTTP, SSL, HTTPS 까지
Table of Content

HTTP 란?

HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜입니다. HTTP는 웹에서 이루어지는 모든 데이터 교환, 송수신의 규칙이며, 클라이언트-서버 프로토콜이기도 합니다.

Protocol 이란?

HTTPS 란?

HTTP는 평문 데이터를 전송하는 프로토콜이기 때문에, 중요한 정보를 주고 받으면 제 3자에 의해 조회될 수 있습니다. 따라서 암호화가 필요하며 HTTPS (HyperText Transfer Protocol Secure)는 HTTP protocol의 암호화된 버전입니다. 이것은 대개 클라이언트와 서버 간의 모든 커뮤니케이션을 암호화 하기 위하여 SSL 또는 보완버전인 TLS를 사용합니다.

Secure? SSL이란?

Secure? TLS 란?

HTTPS 동작 원리

HTTPS는 HTTP 프로토콜 + SSL 프로토콜입니다. 다음과 같은 흐름이 있습니다.
1.
핸드셰이크 과정 (Handshake):
클라이언트가 서버에 접속 요청을 보냅니다.
서버는 클라이언트에게 SSL 인증서를 전송합니다.
SSL 인증서에는 서비스의 정보(인증서를 발급한 CA, 서비스의 도메인 등)와 서버의 공개키가 포함되어 있습니다.
2.
공개키 전달:
클라이언트는 서버의 공개키를 사용하여 대칭키(암호화와 해독에 같은 키를 사용하는 방식)로 사용할 새로운 키를 생성합니다.
클라이언트는 생성한 대칭키를 서버의 공개키로 암호화하여 서버에게 안전하게 전송합니다.
3.
대칭키 교환:
서버는 자신의 비공개키로 이 암호문을 해독하여 대칭키를 얻습니다.
이제 양측은 안전한 연결을 위해 대칭키를 사용할 수 있게 됩니다.
4.
안전한 통신:
이제 클라이언트와 서버는 대칭키인 "세션키"를 사용하여 통신을 암호화하고 해독할 수 있습니다.
데이터는 이 대칭키를 이용해 암호화되어 전송되어 중간에서 가로채어도 해독이 어려워집니다.
이것이 HTTPS의 전반적인 과정입니다. 1,2과정에서는 비대칭키 암호화, 3,4 과정에선 대칭키 암호화가 사용됩니다.

대칭키 암호화 (Symmetric-key cryptography)

비대칭키 암호화 방식 (Public-key cryptography)

Search
 | Main Page | Category |  Tags | About Me | Contact | Portfolio