"그거 그냥 SSL 프로토콜 여부 차이 아니에요?"
HTTP와 HTTPS
HTTP는 Hyper Text Transfer Protocol의 약자로, 상태를 저장하지 않는 특성을 가지며 인터넷에서 서버와 클라이언트 서로 간의 통신으로 데이터를 주고받을 수 있는 프로토콜입니다. 이 프로토콜은 80 Port를 사용하며, 평문 데이터를 주고받기 때문에 보안상 취약하다는 점이 일반적으로 알려져 있습니다.
위의 보안 취약점을 보완하기 위해 등장한 것이 바로 HTTPS Hyper Text Transfer Protocol Secure입니다.
443 Port를 이용하고 보안 소켓 계층 SSL(Secure Socket Layer)을 이용하여 통신하게 됩니다.
이 SSL은 서버와 클라이언트 사이의 평문을 암호화하여 통신하며, 데이터가 전송 중 손상/수정되는 것을 방지하
클라이언트가 자신이 의도한 웹 사이트와의 통신을 인증해주기도 합니다.
💡 이 SSL이 버전업 된 것이 요즈음의 TLS입니다. |
1. HTTP와 HTTPS의 차이점 알아보기
네트워크 패킷 분석 툴인 와이어샤크(Wireshark)를 통해 패킷을 간단하게 분석해 봅시다.
1-1. HTTP를 이용하여 평문으로 통신하는 패킷
아래 사진으로 알 수 있듯 내부의 통신 정보(Host, Content-Type, Parameter...)를 모두 확인할 수 있습니다.
즉, 패킷이 중간에서 탈취당한다면 내 중요한 개인정보가 노출될 수 있습니다.
1-2. HTTPS를 이용하여 암호화 통신을 하는 패킷
패킷 내부의 모든 정보가 암호화되어 탈취가 이루어지기 어렵습니다.
2. 마치며...
HTTP와 HTTPS의 패킷을 확인하여 간단한 차이점을 알아보았습니다.
보안을 위해 모두 HTTPS를 사용합시다. (무료 인증서를 발급해 주는 Let's Encrypt 또한 있으니까요!)
댓글