차이점 맛보기

HTTPHTTPS
정의Hypertext Transfer ProtocolHypertext Transfer Protocol Secure
기본 프로토콜HTTP/1과 HTTP/2는 TCP/IP를 사용
HTTP/3은 QUIC 프로토콜을 사용
SSL/TLS와 함께 HTTP/2 사용
(HTTP 요청 및 응답을 추가로 암호화하기 위해서)
포트기본 포트 80기본 포트 443
용도텍스트 기반 웹 사이트모든 최신 웹 사이트
보안추가 보안 기능 없음퍼블릭 키 암호화에 SSL 인증서 사용
장점인터넷을 통한 통신웹 사이트에 대한 권위, 신뢰성 및 검색 엔진 순위 개선


HTTP와 HTTPS의 차이점

HTTP

사용자가 웹사이트를 방문하면, 사용자 브라우저는 웹서버에 HTTP 요청을 한다. 그러면 웹서버는 HTTP응답으로 응답을 한다. HTTP로는 사용자 브라우저와 웹서버는 데이터를 일반 텍스트로 교환한다.

HTTPS

HTTPS는 암호화된 데이터를 전송하므로 HTTPS는 더 안전한 버전이라고 할 수 있다.(HTTPS의 'S'는 Secure)



HTTP 프로토콜

HTTP는 네트워크 통신 모델에서 애플리케이션 계층 프로토콜이다.
HTTP는 암호화되지 않은 데이터를 전송한다. 따라서 브라우저에서 전송된 정보를 제 3자가 가로챌 위험이 있다.

요청 :

만약 웹사이트의 데이터 일부를 보려고 한다면, HTTP GET요청을 전송하고, 일부 정보를 전송하려고 하면 HTTP PUT 요청을 한다.

응답 :

서버는 숫자코드 등 여러가지 방식으로 HTTP 응답을 전송한다.
이러한 응답은 보통 사용자에게 보이지는 않는다.

200 - OK(정상)
400 - Bad request(잘못된 요청)
404 - Resource not found(리소스를 찾을 수 없음)



HTTPS 프로토콜

HTTP는 암호화되지 않은 데이터를 전송하므로 위험성이 있기 때문에,
HTTPS는 HTTP 요청 및 응답을 SSL, TLS 기술과 결합하여 암호화된 데이터를 교환한다.

<프로세스>

  1. 브라우저는 https:// 를 입력하고 https 웹사이트에 접속하려고 한다.
  2. 브라우저는 서버의 SSL을 요청한다.(사이트의 신뢰성 검증)
  3. 웹서버는 퍼블릭 키[1]가 포함된 SSL 인증서를 회신한다.
    (SSL인증서는 서버 아이덴티티를 증명한다.)
  4. 브라우저에서 인증되면, 브라우저는 퍼블릭 키를 사용하여 비밀 키[2]가 포함된 메세지를 암호화하고 전송한다.
  5. 웹 서버는 개인 키를 사용하여 메시지를 해독하고 세션 키를 검색한다. 그 후, 세션 키를 암호화하고 브라우저에 승인 메시지를 전송한다.
  6. 이제 브라우저와 웹서버 모두 동일한 세션키를 사용하고 메세지를 안전하게 전송한다.



HTTPS를 선택하는 이유

1. 보안

HTTP 메세지는 암호화되지 않은 일반 텍스트이기 때문에 권한이 없는 사용자가 쉽게 읽을 수 있다. 하지만 HTTPS는 모든 데이터가 암호화 되어 있기 때문에 제 3자가 네트워크를 통해 정보를 가로챌 수 없다. 신용카드 정보나 개인정보 같은 정보를 보호하기 위해서는 HTTPS를 이용하는 것이 좋다.

2. 권위

GOOGLE은 HTTPS의 중요성을 밝혔다. 따라서 HTTPS을 기반으로 하는 알고리즘을 출시했고 보안이 없는 HTTP는 검색에서 높은 순위를 얻기 힘들다.
GOOGLE은 HTTPS의 가중치를 더 늘릴 예정이며, 모든 사용자의 정보를 더 안전하게 보호하기 위해 모든 웹사이트 소유자가 HTTP에서 HTTPS로 전환하기로 권장하고 있다.

3. 성능 및 분석

HTTPS 웹 애플리케이션은 HTTP 애플리케이션보다 로드 속도가 더 빠르다. 마찬가지로, HTTPS는 참조 링크도 더 잘 추적한다.



참고

HTTP/2, HTTP/3, HTTPS의 차이점

최초의 HTTP 버전이 HTTP/1.1이다. HTTP/2와 HTTP/3은 프로토콜 자체를 업그레이드한 버전이다.
HTTP/2는 텍스트 형식 대신, 바이너리[3]로 데이터를 교환한다. 또한 서버가 새 HTTP 요청을 기다리는 대신, 클라이언트 캐시에 응답을 사전에 전송할 수 있다.
HTTP/3는 최근에 나온 버전이고, HTTP/3의 목표는 실시간 스트리밍 및 최신 데이터 요구를 효율적으로 응답하는 것이다.

HTTPS는 SSL/TLS와 함께 HTTP/2를 사용한다. HTTP/3이 더욱 발전하면 브라우저 및 서버 기술도 결국 HTTPS에 통합될 것이다.



중요 용어 및 개념

공개키(비대칭키)
공개키 방식은 두개의 키를 갖게 되는데 A키를 사용해 암호화를 하면 B키로 복호화를 할수 있고, B키로 암호화를 하면 A키로 복호화를 할 수 있는 방식이다.
두개의 키 중 하나를 비공개키(private key, 개인키, 비밀키라고도 부른다)로 하여자신만이 가지고 있고, 나머지를 공개키로 지정하여 대중에게 공개한다. 클라이언트는 이 공개키를 사용하여 비밀번호화 같은 정보를 암호화 하여 서버에 보내면 서버는 자신이 보관하고 있던 비공개키를 사용하여, 암호화된 내용을 복호화 할 수 있다.

[1][2]퍼블릭 키, 비밀키
공개 키(퍼블릭 키) 암호 방식은 열쇠로 잠겨 있고 좁은 투입구가 있는 편지함에 비유할 수 있다. 이런 편지함은 위치(공개 키)만 알면 투입구를 통해 누구나 편지를 넣을 수 있지만 열쇠(개인 키)를 가진 사람만이 편지함을 열어 내용을 확인할 수 있다.
공개키 암호화 방식은 개인키(프라이빗키) 암호 방식보다 복잡한 경향이 있기 때문에 효율성을 위해서 개인키(혹은 대칭키)와 함께 사용한다.
키를 만든 사람 : 매우 풀기 어려운 수학문제(공개 키)를 일반에 공개한다. 출제자만 알고 있는 특정 정보(개인 키)는 숨긴다.
만약 두 개의 큰 소수를 곱한 숫자를 문제가 있다면, 두 개의 큰 소수는 개인 키가 되고 두 소수를 곱한 값은 공개 키가 된다. 따라서 이 공개 키는 일반에 공개하고 개인 키는 숨긴다.

[3]바이너리
0과 1, 두 숫자로만 이루어진 이진법을 의미한다.

참고자료

1) https://aws.amazon.com/ko/compare/the-difference-between-https-and-http/
2) https://www.ascentkorea.com/difference-between-http-and-https/

0개의 댓글