HTTP
는 HyperText Transfer Protocol 의 약자로 인터넷 상에서 데이터를 주고 받을 수 있는 프로토콜이다. HTTP는 따로 암호화 과정을 거치지 않아 중간에 패킷을 탈취당할 수 있다. 이를 보완하기 위한 것이 HTTPS
이고, 쉽게 말해 HTTP에 보안 계층을 추가한 것이다.
SSL/TLS
SSL
Secure Socket Layer 의 약자로 클라이언트와 서버 간 보안을 위한 프로토콜이다. 1.0은 대중에게 공개되지 않고 2.0부터 공개됐는데 몇 가지 취약점 때문에 1년 만에 SSL 3.0으로 대체되었다고 한다.
TLS
SSL 3.0을 표준화한 프로토콜이 TLS
(Transport Layer Security)이다. SSL 3.0과 극적인 차이가 있는 것은 아니지만 둘은 서로 상호 운용되지 않는다.
SSL 통신 과정
SSL/TLS는 보통 SSL 인증서를 이용한다. SSL 인증서는 클라이언트와 서버 사이의 통신을 공인된 제 3자가 보증해주는 문서로 공개키, 발급자, 유효 기간 등의 정보가 담겨 있다. 보증해주는 제 3자를 CA
(Certificate Authority)라고 한다. 인증서는 통신 내용이 노출이나 변경되는 것을 방지하고 해당 서버가 신뢰할 수 있는 서버임을 보장해준다.