분류

1. 개요[편집]

HTTPS란 Hyper Text Transfer Protocol Secure의 약어로, TLS/SSL 프로토콜을 통한 HTTP 프로토콜이다.
TLS/SSL 프로토콜을 이용하여 사전에 공개키를 교환하게 되며 이 과정에서 브라우저는 인증서의 발행 기관 및 Revoke 여부, 유효기간 검사 등 인증서에 대한 신뢰가 가능한지 확인한다. 이후 대칭키를 이용하여 HTTP 헤더를 비롯한 모든 송수신 내용을 암호화하게 된다.

대한민국의 경우 개인정보보호법 제 29조에서 정의하는 안전조치의무에 같은법 시행령 제 48조의2 4항 다[1]에 의하여 개인정보 처리시 HTTPS를 반드시 사용하여야 한다.

TLS 프로토콜이 보안을 염두해두고 개발되었기 때문에, 중간 도청자가 MITM 공격을 시도하더라도 비밀 키가 유출되지 않는 한 데이터를 복원할 수 없다. 물론 중간에서 패킷에 장난질을 가하여 연결을 가로챌수는 있으나, 인증서가 유출되거나 CA가 부정발급을 저지르지 않는 이상 자체 서명한 가짜 인증서를 줄 수 밖에 없는데, 자체 서명된 인증서는 브라우저에 의해 신뢰되지 않기 때문에 사용자가 바로 알아챌 수 있다.

2016년, Let's Encrypt가 출범하면서 인증서를 무료로 발급받을 수 있게 되면서, 2010년 후반대 기준으로 HTTPS 사용 웹사이트의 비율이 크게 증가하였으며, 이에 따라 각종 메이저 브라우저들도 HTTPS가 적용되어 있지 않으면 사이트를 신뢰하지 않는 추세다.

[1] 정보통신망을 통하여 이용자의 개인정보 및 인증정보를 송신ㆍ수신하는 경우 보안서버 구축 등의 조치