HTTPS

0l0l·2021년 7월 22일
0

TIL

목록 보기
60/86

http vs. https

(출처: The Impact of SSL/TLS on HTTPS)

HTTPS가 필요한 이유?🧐

1. 개인 정보 보호

내가 친구에게 보내는 메시지를 중간에 가로채서는 안된다.
만약, HTTPS 없이 웹 사이트를 탐색 한다면 비밀번호를 해킹당할 수도 있다.
브라우저에서 URL 표시줄 맨 앞에 있는 자물쇠(🔒)는 접속한 웹사이트가 보호되고 있다는 것을 의미한다.

2. 무결성(integrity)

※ 데이터 무결성 사전적 의미: 데이터를 보호하고, 항상 정상인 데이터를 유지하는 것

만약, 내가 암호화되지 않은 메시지를 친구에게 보낸다면 친구에게 수신되기 전에 누군가 가로챌 수 있다.
중간에 메시지를 가로챈 못된 🤬이가 악의적으로 오용한 메시지를 친구에게 보낼 수 있는데 이를 중간자 공격이라 한다.
HTTPS는 메시지가 목적지로 가는 도중에 조작되지 않도록 한다. (←무결성)

3. 식별

내가 받은 메시지가 친구로부터 온 것을 확인할 수 있는 것을 의미한다.
메시지에 첨부된 디지털 서명을 통해 발신자를 확인할 수 있다.
HTTPS는 SSL 인증서를 통해 내가 보내고자 했던 수신자에게 정확하게 연결해준다.
SSL 인증서는 유효하며, 합법적인 인증기관에서 발급했음을 인증해준다.


암호화 알고리즘

HTTPS는 웹에서 개인 정보 보호, 무결성 및 식별을 제공할 수 있는 방법이 필요하다.
두 가지 유형의 암호화가 있으며, '대칭 키' 알고리즘과 '비대칭 키' 알고리즘이다.
주요 차이점은 키 배포 방법에 따른 키의 개수이다.

대칭 키 알고리즘

  • 메시지를 암호화하고 해독하는 키가 하나이다.
  • 상대에게 메시지를 보내기 전에 키로 메시지를 암호화한다.
  • 올바른 키🔑를 가진 사람만 메시지가 담긴 상자를 열 수 있다.
  • 키를 상자와 함께 보내지 않도록 비공개로 유지해야 하기 때문에 키를 공유하기 어렵다는 문제점이 있다.

비대칭 키 알고리즘

  • 하나는 공개 키이고, 다른 하나는 개인(비공개) 키이다.
  • 두 개의 키는 짝을 이루고 함께 동작한다.
  • 공개 키는 일반 텍스트로 보내거나 다른 사람과 공유해도 된다.
  • 상대에게 메시지를 보내기 전에 공개키로 메시지를 암호화한다.
  • 개인 키만으로 공개 키로 암호화한 메시지를 읽을 수 있다.(🔑➕🔑)
  • 공개 키, 개인 키를 모두 가진 사람만 메시지를 열 수 있으므로 개인 정보 보호, 식별에 유용하다.

HTTPS, SSL, TLS

HTTP는 브라우저 및 웹 서버가 정보를 교환하고 소통하기 위해 사용하는 프로토콜이다.
HTTPS는 HTTP(Hyper Text Transfer Protocol)의 Secure(보안) 버전으로 HTTPS에서의 'S'가 '안전, 보안'을 의미한다.
HTTPS는 HTTP 프로토콜일 뿐이지만, SSL/TLS 프로토콜을 사용하여 데이터를 암호화할 수 있다.

SSL/TLS는 비밀번호와 같은 개인 정보나 결제 정보를 처리할 때 필수이다.
Client가 지정한 Server만이 전송된 데이터에 접근할 수 있도록 하는 것이 목표이다.

SSL(Secure Sockets Layer;보안 소켓 계층)은 Netscape에 의해 생성된 프로토콜이며 많은 혼란을 주어 사용하지 않는다.

TLS(Transport Layer Security;전송 계층 보안)는 국제 인터넷 표준화 기구인 IETF(Internet Engineering Task Force)에서 유지, 관리하는 웹의 보안 암호화를 위한 새로운 프로토콜이다.
TLS 1.3 버전은 브라우저에서 지원하고 있으며 이전 버전의 취약성을 보완하고 보안 기능을 크게 향상시켰다.

Handshake

🔼 브라우저와 서버 간의 소통 Handshake
(출처: Establishing a SSL/TLS Session)

profile
천방지축 빙글빙글

0개의 댓글