HTTPS는 "Hyper Text Transfer Protocol Secure"의 약자로, 웹 브라우저와 웹 서버 간에 정보를 안전하게 전송하기 위한 프로토콜입니다. 기본적으로 HTTP에 SSL/TLS 암호화 레이어를 추가하여 작동합니다. 이로 인해 데이터가 안전하게 전송될 수 있습니다.
원리
연결 초기화: 클라이언트(보통 웹 브라우저)가 서버에 연결을 요청합니다.
SSL/TLS 핸드셰이크: 서버는 클라이언트에게 자신의 공개키를 포함한 디지털 인증서를 전송합니다.
키 교환과 암호화: 클라이언트는 받은 공개키를 사용하여 임시 세션 키를 암호화하고 서버에게 전송합니다. 서버는 자신의 개인키로 이를 복호화하여 세션 키를 얻습니다.
암호화된 통신: 이후 모든 데이터는 이 세션 키를 사용하여 암호화되어 전송됩니다.
이렇게 하면 중간자 공격(Man-in-the-Middle Attack)이나 데이터 유출 등의 위험을 크게 줄일 수 있습니다.
핸드쉐이크가 완료되면, 서버와 클라이언트는 암호화된 통신을 위해 세션키(대칭키) 를 사용합니다. 이후의 모든 통신은 이 세션키로 암호화되고 복호화됩니다.