Protocol, HTTP, SSL, HTTPS 까지
Table of Content
HTTP 란?
HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜입니다. HTTP는 웹에서 이루어지는 모든 데이터 교환, 송수신의 규칙이며, 클라이언트-서버 프로토콜이기도 합니다.
Protocol 이란?
HTTPS 란?
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)
Related Posts
Search