Computer Science/Network
HTTP vs. HTTPS (HTTP와 HTTPS 차이점)
hyerann
2021. 4. 11. 16:43
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를 사용하는 이유)
- 기밀성
- HTTPS는 인터넷과 같은 공공 매체에서 두 참여자 간의 통신을 보호
- ex) HTTPS가 없다면 와이파이(Wi-Fi) 액세스 포인트(Access Point)를 운영하는 사람은 액세스 포인트를 사용하는 사람이 온라인에서 무언가를 구입할 때 신용카드와 같은 개인정보를 볼 수도 있음
- 무결성
- HTTPS는 변조되지 않은 정보로 목적지에 도달하게 함
- ex) 와이파이가 웹사이트에 광고를 추가하거나, 대역폭을 절약하고자 이미지 품질을 저하시키거나, 읽는 기사의 내용을 변조할 수 있지만 HTTPS는 웹사이트를 변조할 수 없도록 함
- 인증
- HTTPS를 통해 웹사이트의 진위 여부를 확인할 수 있음
- ex) 와이파이 액세스 포인트를 운영하는 사람이 가짜 웹사이트를 브라우저에 보낼 수도 있음. HTTPS는 example.com이라는 웹사이트가 실제로 example.com인지 확인함. 일부 인증서는 yourbank.com이 YourBank.Inc라는 걸 알리기 위해 해당 웹사이트의 법적 신원을 검사하기도 함
HTTPS의 장점
- 보안
- 보안 단계를 거치기 때문에 서버 부하 증가로 인한 처리 속도 이슈는 없는가?
- 최근에 네트워크 장비와 서버 장비 성능의 폭발적 증가에 따라, 체감하는 속도 저하는 거의 발생하지 않음
- 검색 우선순위
- 그럼 개인정보를 사용하지 않는 사이트는 굳이 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은 서버 속도를 증가시켜 사이트 및 웹 응용 프로그램 성능을 향상시키도록 동작
(출처) 아래의 사이트들을 보면서 정리하였습니다. 좋은 글 감사합니다. 😊🙇🏻♀️
- ko.wikipedia.org/wiki/HTTP
- ko.wikipedia.org/wiki/HTTPS
- velog.io/@okstring/http-vs-https
- artist-developer.tistory.com/23
- hanimini.tistory.com/11
- blog.wishket.com/http-vs-https-차이-알면-사이트의-레벨이-보인다/
- jeong-pro.tistory.com/89
- middleware.tistory.com/entry/PKIPublic-Key-Infrastructure-공개키-기반-구조
- webactually.com/2018/11/16/http에서-https로-전환하기-위한-완벽-가이드/
- mangkyu.tistory.com/98
- webactually.com/2018/11/16/http에서-https로-전환하기-위한-완벽-가이드/