HTTP는 Hypertext Transfer Protocol의 약자로, 웹 서버와 웹 브라우저 간에 정보를 주고받는 데 사용되는 프로토콜이다.
클라이언트(웹 브라우저)와 서버 간의 통신을 위한 규칙을 정의하고, 웹 페이지, 이미지, 비디오 등의 리소스를 전송한다.
HTTP를 사용하던 예전과 다르게 요즘은 HTTPS를 쓴다
서버를 HTTP를 통해 보내면 암호가 텍스트 그대로 누구나 알아볼 수 있는 형태로 보내진다.
누군가에게 노출이 된다는 것.
모든 사이버 정보가 털릴 수 있다.
HTTPS는 HTTP와 다르게 뒤죽박죽 텍스트로 보이게 전달한다.
보안을 좋게 유지해주는 것.
보안과 신뢰성을 강화하기 위해, 기관으로부터 검증된 사이트만 HTTPS를 쓸 수 있다.
- 내가 사이트에 보내는 정보들을 제 3자가 못보게 한다.
- 접속한 사이트가 믿을 만한 곳인지 알 수 있다.
정리하자면 HTTP는 인터넷상의 커뮤니케이션에서 사용되는 형식 중 하나이다.
여기서 보안을 추가한 것을 HTTPS
HTTPS를 사용하려면 대칭 키와 비대칭 키를 알아야 한다.
HTTPS는 대칭 키 암호화와 비대칭 키 암호화를 조합하여 사용한다.
대칭 키 암호화 (Symmetric Key Encryption):
- 대칭 키 암호화는 하나의 키를 사용하여 메시지를 암호화하고 해독하는 방식이다.
- 암호화와 해독에 같은 키를 사용하기 때문에 "대칭"이라 불린다.
- 데이터의 기밀성을 제공하기 위한 주요 목적으로 사용된다.
- 대표적인 대칭 알고리즘으로는 AES(AES-256), DES, 3DES 등이 있다.
- 대칭 키를 안전하게 공유하기 위한 문제가 있기 때문에, 대칭 키 암호화는 주로 소량의 데이터 전송에 사용된다.
비대칭 키 암호화(Asymmetric Key Encryption):
- 비대칭 키 암호화는 공개 키와 개인 키 두 개의 키를 사용하여 메시지를 암호화하고 해독하는 방식이다.
- 암호화에 사용되는 키와 해독에 사용되는 키가 서로 다르기 때문에 "비대칭"이라 불린다.
- 공개 키는 모두에게 공개되어 있고, 개인 키는 키의 소유자만 알고 있다.
- 데이터의 기밀성뿐만 아니라 인증과 디지털 서명을 제공하기 위한 목적으로 사용된다.
- 대표적인 비대칭 알고리즘으로는 RSA, ECC(Elliptic Curve Cryptography), DSA 등이 있다.
HTTPS에서는 이 대칭 키 암호화와 비대칭 키 암호화를 조합하여 사용한다.
1. 전송되는 데이터의 대칭 키를 비대칭 키로 안전하게 교환하고,
- 클라이언트가 서버에 접속할 때, 서버는 공개키와 인증서를 제공한다. 클라이언트는 서버의 공개키를 사용하여 대칭 키를 암호화하고 서버에게 전송한다. 이렇게 함으로써 대칭 키가 안전하게 교환
2. 이후에는 대칭 키를 사용하여 실제 데이터를 암호화한다.
- 대칭 키를 안전하게 교환한 후에는 실제 데이터 전송 시에 대칭 키를 사용하여 데이터를 암호화한다. 대칭 키는 안전하게 교환되었으므로, 이를 사용하여 데이터를 암호화하고 복호화할 수 있다. 이렇게 함으로써 데이터의 기밀성과 무결성이 보호된다.
이 방식을 통해 안전하게 암호화된 통신이 이루어지는 것이다.
키값은 복호화를 통해 원본 내용을 알 수가 있다.
내 컴퓨터와 네이버 서버에 동일한 키가 있다면 내가 로그인할 때 실어보내는 비밀번호는 이걸로 암호화하고 네이버는 이를 복호화해서 알 수 있다.
누가 훔쳐보더라도 알 수 없는 것.
아니 근데 어떻게 이 동일한 키를 양쪽이 공유하지?
한 쪽에서 다른 쪽으로 키를 한 번은 전송해야 하잖아.
보내는 동안 해커가 본다면?

사진 출처: 얄팍한 코딩사전 유튜브
이게 문제점이다.
이를 보완한 방식이 비대칭 키. or 공개 키.
A키와 B키가 있다고 하자.
A키로 암호화하면 B키로 풀 수 있다는 것.
네이버는 두 키 중 개인 키를 자기들만 알고 있고 나머지 하나는 모두에게 공개한다.
같은 키가 아니므로 키를 보내도 중간에서 알아듣지 못하게 됨. 보안이 완성!

'Network' 카테고리의 다른 글
라우터/L3 스위치: 3계층 장비 -2 (36) | 2024.07.27 |
---|---|
라우터/L3 스위치: 3계층 장비 -1 (24) | 2024.07.04 |
스위치: 2계층 장비 (0) | 2024.04.29 |
네트워크 연결과 구성요소 (0) | 2024.04.24 |
네트워크 시작 (0) | 2024.04.22 |