본문 바로가기
Computer Science/Network

HTTP vs. HTTPS (HTTP와 HTTPS 차이점)

by hyerann 2021. 4. 11.

HTTPS는 HTTP에서 보안이 강화된 프로토콜이다.. 이정도 밖에 모르는 상태였는데

얘네를 좀 더 자세히 알 필요성을 느껴서 알아보고자 한다❗️👩🏻‍💻

 

 

HTTP

  • HyperText Transfer Protocol
  • W3 상에서 정보를 주고 받을 수 있는 프로토콜
  • 주로 TCP를 사용하고 HTTP/3 부터는 UDP를 사용하며, 80번 포트를 사용

HTTPS

  • HyperText Protocol over Secure Socket Layer, HTTP over TLS, HTTP over SSL, HTTP Secure
    • Secure Socket = 보안 통신망
  • 월드 와이드 웹 통신 프로토콜인 HTTP의 보안이 강화된 버전
  • 통신의 인증과 암호화를 위해 넷스케이프 커뮤니케이션즈 코퍼레이션이 개발했으며, 전자 상거래에서 널리 쓰임
  • 기존 HTTP 레이어에서 SSL(TLS) 프로토콜을 얹어 평문 데이터를 암호화
  • 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화 → 데이터의 적절한 보호 보장
  • 보호의 수준은 웹 브라우저에서의 구현 정확도와 서버 소프트웨어, 지원하는 암호화 알고리즘에 달려있음
  • TCP/IP 443번 포트 사용
  • 민감한 트래픽(ex. 인증, 전자상거래)에 이용
  • 고려해야하는 부분
    • 암호화/복호화의 과정이 필요하기 때문에 HTTP보다 속도가 느림(오늘날에는 거의 차이를 못느낄 정도)
    • 인증서를 발급하고 유지하기 위한 추가 비용 발생

HTTPS에서 제공하는 것(HTTPS를 사용하는 이유)

  1. 기밀성
    • HTTPS는 인터넷과 같은 공공 매체에서 두 참여자 간의 통신을 보호
    • ex) HTTPS가 없다면 와이파이(Wi-Fi) 액세스 포인트(Access Point)를 운영하는 사람은 액세스 포인트를 사용하는 사람이 온라인에서 무언가를 구입할 때 신용카드와 같은 개인정보를 볼 수도 있음
  2. 무결성
    • HTTPS는 변조되지 않은 정보로 목적지에 도달하게 함
    • ex) 와이파이가 웹사이트에 광고를 추가하거나, 대역폭을 절약하고자 이미지 품질을 저하시키거나, 읽는 기사의 내용을 변조할 수 있지만 HTTPS는 웹사이트를 변조할 수 없도록 함
  3. 인증
    • HTTPS를 통해 웹사이트의 진위 여부를 확인할 수 있음
    • ex) 와이파이 액세스 포인트를 운영하는 사람이 가짜 웹사이트를 브라우저에 보낼 수도 있음. HTTPS는 example.com이라는 웹사이트가 실제로 example.com인지 확인함. 일부 인증서는 yourbank.com이 YourBank.Inc라는 걸 알리기 위해 해당 웹사이트의 법적 신원을 검사하기도 함

HTTPS의 장점

  1. 보안
    • 보안 단계를 거치기 때문에 서버 부하 증가로 인한 처리 속도 이슈는 없는가?
    • 최근에 네트워크 장비와 서버 장비 성능의 폭발적 증가에 따라, 체감하는 속도 저하는 거의 발생하지 않음
  2. 검색 우선순위
    • 그럼 개인정보를 사용하지 않는 사이트는 굳이 https를 적용하지 않아도 되는 것 아닌가?
    • 우리가 대표적으로 사용하는 검색 포털 사이트인 구글, 네이버, 다음 모두에서 검색 엔진 최적화(SEO: Search Engine Optimization)을 통해 https를 상위 노출하고 있음
    • 동일한 키워드의 페이지 중에서 https 기반 사이트가 우선 순위로 노출

HTTPS 보안이 뛰어난 이유

 

 

 

  • 가장 커다란 차이점: SSL 인증서
  • SSL 인증서는 사용자가 사이트에 제공하는 정보를 암호화하는데, 쉽게 말해서 데이터를 암호로 바꾼다고 생각하면 쉬움
  • 이렇게 전송된 데이터는 중간에서 누군가 훔쳐 낸다고 하더라도 데이터가 암호화되어 있기 때문에 해독할 수 없음

HTTPS의 원리: 공개키 방식

  • 공개키 방식(PKI, Public Key Infrastructure)
  • 공개키는 두 개의 키를 갖게 되며, A키로 암호화하면 B키로 복호화가 가능하며, 반대로 B키로 암호화하면 A키로 복호화 가능
  • 여기서 두 개의 키 중 하나는 공개키(public key)가 되며, 하나는 비공개키(private key)가 됨
  • 비공개키는 소유자(private한 사용자)가 가지고 있게 되며, 공개키는 소유자와 타인에게 공개되는 키

 

 

(참고) SSL과 TLS

  • SSL(Secure Socket Layer)은 TLS(Transport Layer Security)의 과거 명칭
  • TLS는 SSL 3.0을 기초로 해서 IETF가 만든 프로토콜로 이는 SSL 3.0을 보다 안전하게 하고 프로토콜의 스펙을 더 정확하고 안정성을 높이는 목적으로 고안됨
  • 즉, TLS 안에 SSL가 있음

(참고) SSL 인증서 종류

  • 싱글 도메인(Single Domain) 인증서: 한 개의 도메인 또는 그 서브도메인을 위해 발행
  • 멀티플 도메인(Multiple Domain) 인증서: 통합 커뮤니케이션(Unified Communications) 인증서라고도 불리는데, 메인 도메인 이름을 비롯해서 최대 99개까지의 대체 도메인 이름(Subject Alternative Names)을 보호할 수 있게 해줌
  • 와일드카드(Wildcard) 인증서: 웹사이트 URL은 물론이고 서브 도메인도 무제한으로 보호할 수 있게 해줌

(참고) SSL Termination, TLS Termination

  • SSL 커넥션은 암호화된 데이터를 클라이언트 컴퓨터에서 웹 서버로 보내기 전에 인증을 위해 인증서 사용
  • SSL Offload의 한 형태인 SSL Terminatio은 웹 서버에서의 이러한 책임의 일부를 다른 장비로 이동시킴
  • SSL Termination은 SSL 연결을 사용하는 서버가 많은 양의 동시 연결 또는 세션 및 쿠키를 처리할 수 있도록 해줌
  • SSL Termination은 서버 속도를 증가시켜 사이트 및 웹 응용 프로그램 성능을 향상시키도록 동작

(출처) 아래의 사이트들을 보면서 정리하였습니다. 좋은 글 감사합니다. 😊🙇🏻‍♀️

댓글