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은 서버 속도를 증가시켜 사이트 및 웹 응용 프로그램 성능을 향상시키도록 동작