1. HTTP와 HTTPS란?
HTTP(Hypertext Transfer Protocol)와 HTTPS(Hypertext Transfer Protocol Secure)는 웹에서 데이터를 전송하기 위해 사용되는 프로토콜입니다. 여기서 프로토콜이란 컴퓨터나 네트워크 장비가 서로 통신하기 위한 규약을 말합니다.
2. HTTP의 특징
https://achieve-dev.tistory.com/34
HTTP에 대한 자세한 내용은 이전에 작성했던 게시글을 참고하시면 좋겠습니다!
HTTP는 웹 서버와 웹 브라우저 사이에서 정보를 주고받는 데 사용됩니다. 클라이언트가 HTTP를 통해 요청을 보내면, 서버는 그 요청에 따른 결과를 응답으로 돌려줍니다.
그러나 HTTP의 문제점은 바로 보안입니다. HTTP를 통해 전송되는 정보는 암호화되지 않아, 중간에서 데이터를 가로채는 것이 가능합니다. 이를 '중간자 공격(Man-In-The-Middle Attack)'이라고 부릅니다.
3. HTTPS의 특징
HTTPS는 기본적으로 HTTP의 보안 버전이라고 할 수 있습니다. HTTPS는 SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 프로토콜을 사용하여 통신을 암호화합니다.
이로 인해 HTTPS는 중간에서 데이터를 가로채더라도, 암호화되어 있어 원본 데이터를 알아볼 수 없습니다. 따라서 로그인 정보, 신용카드 정보 등과 같은 민감한 정보를 주고받는 웹 사이트에서는 HTTPS를 사용하는 것이 필수적입니다.
HTTPS에서 사용되는 암호화 방법은 크게 두 가지, 즉 대칭키 암호화와 비대칭키 암호화입니다. 이 두 가지 방법은 조합되어 사용되어, 안전하면서도 효율적인 데이터 전송을 가능하게 합니다.
3-1) 대칭키 암호화
대칭키 암호화는 동일한 키를 암호화와 복호화에 모두 사용하는 방법입니다. 이 방법은 비교적 빠르고 효율적이지만, 키를 안전하게 교환하는 것이 어렵다는 단점이 있습니다. 대칭키 암호화는 HTTPS 통신에서 실제 데이터를 암호화하고 복호화하는 데 사용됩니다.
3-2) 비대칭키 암호화
비대칭키 암호화는 두 개의 키, 즉 공개키와 개인키를 사용하는 방법입니다. 한 키로 암호화하면 다른 키로만 복호화할 수 있습니다. 이 방법은 안전하지만 대칭키 암호화에 비해 처리 속도가 느리다는 단점이 있습니다. 비대칭키 암호화는 HTTPS 통신에서 대칭키를 안전하게 교환하는 데 사용됩니다.
3-3) 대칭키+비대칭키 암호화
HTTPS 통신이 이루어질 때, 클라이언트와 서버는 먼저 비대칭키 암호화를 사용하여 안전하게 대칭키를 교환합니다. 이렇게 교환된 대칭키는 이후의 통신에서 데이터를 암호화하고 복호화하는 데 사용되며, 이 과정을 'SSL/TLS 핸드셰이크'라고 부릅니다. 이런 방식으로 HTTPS는 대칭키의 효율성과 비대칭키의 안전성을 모두 활용하게 됩니다!!
4. HTTP, HTTPS 이외의 프로토콜
- SSH(Secure Shell): 원격 컴퓨터와 안전하게 통신하고 제어하기 위한 프로토콜입니다. 네트워크를 통해 다른 컴퓨터에 로그인하거나, 파일을 안전하게 전송하는 등의 작업에 사용됩니다.
- FTP(File Transfer Protocol): 파일 전송을 위한 프로토콜로, 클라이언트와 서버 사이에서 파일을 전송할 때 주로 사용됩니다. FTP는 사용자 이름과 비밀번호를 이용해 인증을 수행하며, 파일 전송은 비암호화 상태로 이루어집니다.
- SMTP(Simple Mail Transfer Protocol): 이메일 전송을 위한 프로토콜로, 이메일 서버 사이에서 메일을 전송하거나 사용자가 메일 서버에 메일을 전송하는 데 사용됩니다. 메일 내용과 제목, 수신자 정보 등을 포함한 메시지를 전송하는데 이용됩니다.
'Network' 카테고리의 다른 글
[Network] HTTP 메서드의 종류 (0) | 2024.02.26 |
---|---|
[Network] HTTP(Hypertext Transfer Protocol)의 시작 (0) | 2024.02.11 |