HTTP vs HTTPS
HTTP
- HyperText Transfer Protocol
- W3 상에서 정보를 주고 받을 수 있는 프로토콜
- 주로 TCP를 사용하고 HTTP/3 부터는 UDP를 사용하며, 80번 포트를 사용한다.
HTTPS
- HyperText Protocol over Secure Socket Layer, HTTP over TSL, HTTP over SSL, HTTP Secure
- World Wide Web 웹 통신 프로토콜 HTTP의 보안이 강화된 버전
- 통신의 인증과 암호화를 위해 netscape communications corporation에서 개발했으며, 전자 상거래에서 널리 쓰인다.
- 기존 HTTP 레이어에 SSL ( TSL ) 프로토콜을 얹어 평문 데이터를 암호화한다.
- 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL 이나 TSL 프로토콜을 통해 세션 데이터를 암호화 한다
=> 데이터의 적잘한 보호를 보장해준다.
=> 보호의 수준은 웹 브라우저에서의 구현 정확도와 서버 소프트웨어, 지원 하는 알고리즘에 달려있다.
- TCP/IP 443번 포트를 이용한다.
- 민감한 트래픽 ( 인증, 전자상거래 ) 등에 이용한다.
단,
- 암호화 / 복호화 하는 과정이 필요하기에 HTTP 보다 속도가 느리다.
- 인증서를 발급하고 유지하기 위한 추가 비용이 발생한다.
HTTPS를 사용하는 이유
1. 기밀성
- HTTPS는 인터넷과 같은 공공매체에서 두 참여자 간 통신을 보호한다.
EX) HTTPS가 없다면 와이파이 ( Wi-Fi) 엑세스 포인트 ( Access Point )를 운영하는 사람은 액세스 포인트를 사용하려는
사람이 온라인에서 무언가를 구입할 때 신용카드와 같은 개인정보를 볼 수도 있다.
2. 무결성
- HTTPS는 변조되지 않은 정보로 목적지에 도달하게 함.
EX) 와이파이가 웹 사이트에 광고를 추가하거나, 대역폭을 절약하고자 이미지 품질을 저하시키거나, 기사의 내용을 4
변조 할 수 있지만 HTTPS는 웹사이트를 변조할 수 없게 합니다.
3. 인증
- HTTPS를 통해 웹사이트의 진위 여부를 확인할 수 있음.
EX) 와이파이 액세스 포인트를 운영하는 사람이 가짜 웹사이트를 브라우저에 보낼 수 있음. HTTPS는 example.com
이라는 웹사이트를 실제로 example.com인지 확인함.
HTTPS의 장점
1. 보안
- 보안 단계를 거치기 때문에 서버 부하 증가로 인한 처리 속도 이슈는 없는가
=> 최근에 네트워크 장비와 서버 장비 성능의 폭발적 증가에 따라 체감하는 속도저하는 거의 발생하지 않음.
2. 검색 우선 순위
- 그럼 개인 정보를 사용하지 않는 사이트는 굳이 https를 적용하지 않아도 되는 것 아닌가?
=> 우리가 대표적으로 사용하는 검색 포털 사이트인 구글, 네이버, 다음 모두 검색 엔진 최적화
( SEO : Search Engine Optimizaion) 를 통해 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은 물론이고 서브 도메인도 무제한으로 보호할 수 있게 해줌
HTTP vs. HTTPS (HTTP와 HTTPS 차이점)
HTTPS는 HTTP에서 보안이 강화된 프로토콜이다.. 이정도 밖에 모르는 상태였는데 얘네를 좀 더 자세히 알 필요성을 느껴서 알아보고자 한다❗️👩🏻💻 HTTP HyperText Transfer Protocol W3 상에서 정보
hyeran-story.tistory.com
mkcert
Create Self Signed Development Certificates. Latest version: 1.5.0, last published: 5 months ago. Start using mkcert in your project by running `npm i mkcert`. There are 29 other projects in the npm registry using mkcert.
www.npmjs.com