SSL, TLS, HTTPS에 대해 알아보자
먼저 HTTP에 대해 알아보자.
HTTP (HyperText Transfer Protocol) 는 주로 HTML (Hyper Text Markup Language, 웹 페이지를 위한 마크업 언어) 문서를 주고 받는데 사용되는 데이터 전송 프로토콜이다. 클라이언트인 웹 브라우저가 HTTP 전송 규약을 통하여 웹 서버로부터 웹 페이지나 그림 정보를 요청하면, 웹 서버는 이 요청에 응답하여 필요한 정보를 사용자에게 전달한다.
예를 들어 'http://www.MLOps.com' 과 같이 'http://'로 시작되는 URL을 지정하면, 여기에 존재하는 데이터를 HTTP를 사용하여 서버에서 브라우저로 전송한다.
[ HTTP Request 예시 ]
[ HTTP Response 예시 ]
HTTP의 문제점은 브라우저로 전송되는 데이터가 암호화되지 않는다는 것이었다. 그래서 등장한 것이 HTTPS다.
HTTPS (HyperText Transfer Protocol Secure) 프로토콜은 서버와 브라우저 사이의 연결을 암호화하고, 민감한 정보를 주고받을 때 도난 당하는 것을 막아준다.
그렇다면 어떻게 Website를 암호화 시킬 수 있을까?
여기서 필요한 것이 바로 SSL (Secure Sockets Layer) 또는 TLS (Transport Layer Security) 라 불리는 Security Certificate 프로토콜들이다. SSL 인증서는 웹사이트와 브라우저 사이에 전송되는 데이터를 암호화하여 인터넬 연결을 보호하기 위한 표준 기술이다. TLS는 SSL의 향상된 버전으로 이를 적용하면,
1. 데이터가 암호화 되고
2. 전송중인 데이터 조작을 막고
3. 해커로부터의 공격을 막을 수 있다
구글은 보안 인증이 적용되지 않는 웹사이트에 대한 접근에 경고문을 띄워 불이익을 주고 있다.
[ TCP connection이 이뤄진 후의 SSL / TLS Handshake 과정 ]