HTTPS는 HTTP에 Secure을 붙인 용어이다.
즉, HTTPS는 HTTP에서의 통신을 안전하게 보호하기 위한 구조이다.
Web 브라우저와 Web서버에서 인터넷 뱅킹, 신용카드 관련 서비스, 개인정보를 등록하거나 수정하는 경우처럼 보안이 중요한 경우에 HTTPS를 사용한다.
아래 그림에서 볼 수 있듯이 HTTPS 는 HTTP 에서 암호화를 한 형태이다
HTTPS 는 암호화하는 과정에서 대개 클라이언트와 서버 간의 모든 커뮤니케이션을 암호화 하기 위해서 사용하는 SSL 이나 TLS를 사용한다고 한다
SSL이란 보안 소켓 계층을 이르는 것으로, 인터넷 상에서 데이터를 안전하게 전송하기 위한 인터넷 암호화 통신 프로토콜을 말한다
SSL은 전자상거래 등의 보안을 위해 넷스케이프에서 처음 개발되었고
시간이 지나 인터넷상의 표준 프로토콜로 자리매김하면서 SSL이라는 명칭이 특정 회사의 제품 이름 같다하여, IETF(Internet Engineering Task Force)에 의해 TLS(Transport Layer Security)로 표준화 되었다
TLS는 SSL 3.0을 기반으로 발표되었기 때문에, SSL과는 아주 근소한 차이를 빼고는 거의 같다고 볼 수 있으며, 현재 1999년에 처음 발표된 TLS 1.0이 계속 유지되어 오고 있습니다.
SSL의 동작원리를 이해하기 위해서는 OSI 7계층 모델에 대해서 먼저 알아야 한다
OSI 7 계층
ISO에서 네트워크의 구현을 설명하기 위해, 각 프로토콜을 계층별로 분리하여 개발한 모델을 말한다
SSL프로토콜은 위 OSI 7계층 모델의 어느 한 계층에 속해서 동작하는 것이 아니라,
응용계층과 전송계층 사이에 독립적인 프로토콜 계층을 만들어서 동작하며,
이 때, 응용계층의 프로토콜들은 외부로 보내는 데이터를 TCP가 아닌 SSL에 보내게 되고,
SSL은 받은 데이터를 암호화하여 TCP에 보내어 외부 인터넷으로 전달하게 된다
전달 받을 때 역시, TCP로부터 받은 데이터를 복호화하여 응용계층에 전달하게 되는데,
이 과정에서 Application은 SSL을 TCP로 인식하고, TCP는 SSL을 Application으로 인식하기 때문에,
Application과 TCP사이의 데이터 전달 방식은 기존 전달 방식을 그대로 사용하게 된다
자세한 SSL 프로토콜에 대해 알고싶으면 이 링크를 참조하자 https://m.blog.naver.com/xcripts/70122755291
HTTPS는 HTTP프로토콜인데, SSL/TLS를 사용한 데이터 암호화 기능이 있다.
SSL은 90년대 중반 넷스케이프에 의해서 생성되었지만, 현재는 폐기된 프로토콜이다.
TLS는 IETF에서 유지&관리하는 웹의 보안 암호화를 위한 새로운 프로토콜이다.
https://bumday.tistory.com/43
https://m.blog.naver.com/xcripts/70122755291
https://blog.wishket.com/http-vs-https-%EC%B0%A8%EC%9D%B4-%EC%95%8C%EB%A9%B4-%EC%82%AC%EC%9D%B4%ED%8A%B8%EC%9D%98-%EB%A0%