HTTP와 HTTPS의 차이

Purple·2022년 1월 27일
0

TIL

목록 보기
70/73
  • HTTP(HyperText Transfer Protocol)
    웹상에서 클라이언트와 서버가 서로 정보를 주고받을 수 있도록 하는 규약
    클라이언트는 URL(Uniform Resource Locator)로 된 HTTP를 통해 서버에게 정보 송신을 요청
  • HTTPS(HTTP + Secure)
    HTTP의 일반 텍스트에 SSL 이나 TLS 프로토콜을 씌워 데이터를 암호화
    공통 키 방식과 비대칭 키 방식을 사용

HTTPS가 가진 특징

1. 보안성

  • HTTP는 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜이다.
  • HTTP 프로토콜의 문제점은 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않는다.
  • HTTPS는 SSL(Secure Socket Layer)/TLS(Transport Layer Security)*을 사용한다.
  • HTTPS는 TLS(전송 계층 보안) 프로토콜을 통해서도 보안을 유지한다.**

2. 인증서

  • 브라우저의 응답과 함께 전달된 인증서 정보를 확인한다. 브라우저는 인증서에서 해당 인증서를 발급한 CA(Certificate Authority) 정보를 확인하고, 인증된 CA가 발급한 인증서가 아니라면 사용자에게 경고를 한다. 브라우저는 인증서의 도메인과 데이터를 제공한 제공자의 도메인을 비교할 수 있게 되어, 이 두 정보가 같다면 정보제공자를 신뢰할 수 있게된다.

3. 비대칭 키 방식

  1. 비대칭 키 방식이 가진 이점은 이어가되 전송 소요시간 및 리소스 부담은 줄이는 방식
  2. HTTPS를 통한 통신이 시작될 때, 서버는 서버가 제공한 공개 키와 증명서에 부합하는 요청을 클라이언트가 보냈는지를 확인. 클라이언트가 공통 키를 서버가 제공한 공개 키로 암호화해 서버에게 보낸 첫 번째 요청을 복호화하는 과정을 핸드쉐이크(handshake)라고 부르는데, 이 과정이 끝나면 실제 요청과 정보를 교환하는 과정이 이어진다.
  3. 서버가 제공하는 비대칭 키(=공개 키)를 써 클라이언트는 서버에게 보낼 공통 키를 암호화한다.
  4. 서버는 클라이언트가 보낸 암호화된 요청을 비대칭 키로 복호화한다.
  5. 결과적으로 클라이언트와 서버는 서버가 제공한 비대칭 키를 통해 암호화된 공통 키로 통신한다.
  • 비대칭형 암호는 암복호화가 대칭형 암호화에 비하여 현저하게 느리다.
  • 개인키로 암호화를 진행하는 경우 개인키의 소유자가 개인키로 데이터를 암호화하고 공개키와 함께 전달한다. 이 과정에서 공개키와 데이터를 획득한 사람은 누구라도 공개키를 이용하여 복호화가 가능하다.
  • 이런 위험에도 불구하고 이 방법을 사용하는 이유는 데이터 제공자의 신원을 보장해주기 때문이다. 암호화된 데이터가 공개키로 복호화된다는 것은 공개키와 쌍을 이루는 개인키에 의해서 암호화 되었다는 것을 의미한다. 즉 데이터 제공자의 신원 확인이 보장된다는 것이다.

* TLS 와 SSL의 차이점

TLS는 Netscape가 개발한 SSL이라고 불리는 이전의 암호화 프로토콜에서 발전한 것
즉, TLS 1.0 = SSL 3.1 (SSL은 현재 사용중인 TLS 암호화의 전신)
SSL 프로토콜에서 취약점이 발견되고 있으나 Netscape에서 1996년 이후 더 이상 업데이트 하지 않아 보안 전문가들은 SS의 사용을 중단하라고 권장한다. 실제로, 최신 웹 브라우저는 대부분 이제 SSL을 지원하지 않는다.
사람들이 아직 TLS를 아직 SSL이라고 부르는건 SSL의 인지도가 높기때문이다. 그래서 SSL/TLS 암호화라고 부르는 경우도 있다.

** TLS와 HTTPS

HTTPS는 HTTP 프로토콜 상위에서 TLS 암호화를 구현한 것으로 모든 웹 사이트와 다른 웹 서비스에서 사용된다. 따라서 HTTPS를 사용하는 웹 사이트는 TLS 암호화를 이용한다. 서버의 공개 키는 TLS 인증서의 일부이다.

참조링크
1. CloudFlare CloudFlare what-is-ssl
2. IBM SSL/TLS 데이터 교환의 개요
3. 해시넷 비대칭키

profile
다시 보면, 더 많은 것들이 보인다.

0개의 댓글