HTTP와 HTTPS의 차이점은 무엇인지 확인해보고자 한다.
HTTP는 HyperText Transfer Protocol의 약자다. 해석하자면 HyperText를 전송하는 규약을 뜻한다. 즉, 서로 다른 시스템 간에 데이터를 주고받게 해주는 프로토콜이다. 하지만 HTTP는 데이터를 있는 그대로 전송한다. 그래서 중간에 다른 누군가 데이터를 직접 확인하고 위조, 변조를 할 수 있게 된다. 이러한 문제를 해결하기 위해 사용하는 것이 HTTPS다.
HTTPS는 HyperText Transfer Protocol Secure의 약자로 HTTP에 데이터의 보안과 인증 무결성을 더한 프로토콜이라고 생각하면 된다. HTTPS는 중간에 데이터를 가로채어 보더라도 암호화되어 있기 때문에 데이터 식별이 불가능하게 된다. 또한, 데이터가 위조, 변조 되었는지 확인하는 것도 가능하다. 이러한 기능이 가능한 것은 SSL/TLS 덕분이다.
SSL은 Secure Socket Layer의 약자로 TLS의 전신이 된 방식입니다. Netscape가 SSL의 개발을 진행하다가 더 이상 참여하지 않게 되고, IETF가 개발을 주도하면서 TLS로 변경되었다.
TLS는 Transport Layer Security의 약자로 SSL을 이어 HTTPS에 이용되고 있는 프로토콜입니다. SSL과 TLS 용어가 혼용되어 사용되는 경우가 많아서, SSL/TLS 암호화라고도 부릅니다. 이메일이나 메세지 VoIP와 같은 커뮤니케이션 통신을 암호화하는데 사용된다.
우선 통신의 두 당사자가 신뢰할 수 있는 사람임을 체크하기 위해 handshake를 진행한다. 이 과정에서 사용하는 방식은 비대칭키 암호화 방식이다.
https://www.cloudflare.com/ko-kr/learning/ssl/transport-layer-security-tls/