HTTP의 보안 버전으로, 인터넷 상에서 데이터를 안전하게 전송하기 위해 SSL/TLS 프로토콜을 사용해 데이터 암호화. HTTPS는 웹사이트와 클라이언트 간의 데이터 전송 시 기밀성, 무결성, 인증을 보장하는 역할을 수행
SSL/TLS프로토콜을 사용해 클라이언트와 서버 간에 주고받은 모든 데이터를 암호화. 이로 인해 제3자가 전송되는 데이터를 읽거나 조작하는 것을 방지함. 특히, 개인 정보나 결제 정보와 같은 민감한 데이터를 보호하는 데 중요한 역할을 함
SSL/TLS는 데이터가 전송되는 동안 수정되거나 손상되지 않도록 보호함. 데이터가 중간에 변경되면, 수신 측에서 이를 감지할 수 있음. 이는 해커나 악의적인 공격자가 데이터를 변조하는 것을 막을 수 있음
HTTPS는 서버의 신뢰성을 확인할 수 있도록 인증서를 사용. 웹사이트의 서버는 SSL/TLS 인증서를 보유하고 있으며, 이 인증서를 통해 서버가 합법적이고 신뢰할 수 있는 서버임을 사용자에게 증명. 인증서 발급 기관(CA, Certificate Authority)에 의해 인증된 서버만이 HTTPS 프로토콜 사용 가능
이 두 프로토콜은 클라이언트와 서버 간의 데이터 전송을 안전하게 암호화하여 보호하는 역할을 함.
SSL(Secure Socket Layer)은 암호화 기반 인터넷 보안 프로토콜이다. 전달되는 모든 데이터를 암호화하고 특정한 유형의 사이버 공격도 차단한다.
TLS(Transport Layer Security)는 SSL의 업데이트 버전이다.

SSL/TLS는 개인정보 보호를 제공하기 위해, 웹에서 전송되는 데이터를 암호화한다. 따라서, 데이터를 가로채려 해도 거의 복호화가 불가능하다. SSL은 클라이언트와 서버 간에 핸드셰이크를 통해 인증이 이루어진다. 또한 데이터 무결성을 위해 데이터에 디지털 서명을 하여 데이터가 의도적으로 조작된 여부를 확인한다.

대칭키는 동일한 키로 암호화와 복호화를 같이 할 수 있는 암호화 기법을 의미한다. 즉, 암호화를 할 때 1234라는 값을 사용했다면 복호화를 할 때도 1234라는 값을 입력해야 한다는 것이다.

대칭키 방식은 단점이 있다. 암호를 주고받는 사람들 사이에 대칭키를 전달하는 것이 어렵다는 점이다. 대칭키가 유출되면 키를 획득한 공격자는 암호희 내용을 복호화할 수 있기 때문에 암호가 무용지물이 되기 때문이다. 이런 배경에서 나온 암호화 방식이 공개키 방식이다.
공개키 방식은 두 개의 키를 갖게 되는데 A키로 암호화를 하면 B키로 복호화할 수 있고, B키로 암호화하면 A키로 복호화할 수 있는 방식이다. 이 방식에 착안해서 두 개의 키 중 하나를 비공개키(비밀키, 개인키 라고도 부른다), 나머지를 공개키로 지정한다. 비공개키는 자신만이 가지고 있고 공개키를 타인에게 제공한다. 공개키를 제공받은 타인은 공개키를 이용해 정보를 암호화한다. 암호화한 정보를 비공개키를 가지고 있는 사람에게도 전송한다. 비공개키의 소유자는 이 키를 이용해서 암호화된 정보를 복호화한다. 이 과정에서 공개키가 유출된다고 해도 비공개키를 모르면 정보를 복호화할 수 없기 때문에 안전하다. 공개키로는 암호화할 수 있지만 복호화할 수 없기 때문이다.
이 방식은 이렇게도 응용할 수 있다. 비공개키의 소유자는 비공개키를 이용해 정보를 암호화한 뒤에 공개키와 함께 암호화된 정보를 전송한다. 정보와 공개키를 획득한 사람은 공개키를 이용해 암호화된 정보를 복호화한다. 이 과정에서 공개키가 유출된다면 의도치않게 공격자에 의해 복호화될 수도 있다. 이런 위험에도 불구하고 비공개키를 이용해 암호화하는 이유는 이것이 데이터를 보호하는 목적이 아니기 때문이다.
암호화된 데이터를 공개키를 가지고 복호화할 수 있다는 것은 그 데이터가 공개키와 쌍을 이루는 비공개키에 의해 암호화되었다는 것을 의미한다. 즉 공개키가 데이터를 제공한 사람의 신원을 보장해주는 것이다. 이러한 것을 전자 서명이라고 부른다.

컴퓨터와 컴퓨터가 네트워크를 이용해 통신을 할 때는 내부적으로 3가지 단계가 있다.
악수->전송->세션 종료
브라우저가 서버로 접속 요청을 보냄.
지원하는 암호화 방식(Cipher Suite) 목록, 랜덤 데이터, 세션 재활용 정보 등을 전달.
sipher suite : 보안의 궁극적 목표(안전한 키 교환, 전달 대상 인증, 암호화 알고리즘, 메세지 무결성 확인 알고리즘)를 달성하기 위해 사용하는 방식을 패치지로 묶어놓은 것을 의미
서버가 클라이언트 요청에 응답.
선택한 암호화 방식, 서버 인증서(공개키 포함), 랜덤 데이터 등을 전달.
브라우저가 받은 서버 인증서가 신뢰할 수 있는 CA(인증기관)에서 발급되었는지 확인. 인증서 위조 여부 검증.
브라우저는 클라이언트와 서버의 랜덤 데이터를 조합해 premaster secret라는 키를 생성.
서버의 공개키로 암호화해 안전하게 서버로 전달.
서버는 받은 Premaster Secret을 비공개키로 복호화.
클라이언트와 서버 모두 Premaster Secret을 기반으로 Master Secret(Session Key)을 생성.
이 키로 대칭 암호화를 사용해 데이터 송수신.
클라이언트와 서버가 핸드셰이크 완료를 상호 확인.
이후 통신은 생성된 세션키로 암호화된 데이터 교환 방식으로 진행.