웹 개발 메모장

[http] https 란? 본문

옛날../http

[http] https 란?

도로롱주 2018. 1. 2. 08:42




HTTP + SSL = HTTPS



http 통신은 암호화 되어있지 않은 평문으로 이루어집니다.

그리고 통신은 클라이언트와 서버가 다이렉트로 통신하는 것이 아니라 다른 컴퓨터나 네트워크 기기들을 거쳐서 이루어 집니다.


여기서 보안 상의 문제가 발생합니다.


네트워크 상에 통신되고 있는 HTTP 메시지가 그대로 노출이 되기 때문입니다.

예를들어 Wire Shark 라는 툴을 이용하면 네트워크 상의 패킷들을 수집해 그 내용을 볼 수 있습니다.

뿐만 아니라 클라이언트와 서버는 서로 상대방이 자신이 목표로 했던 대상인지 인증하는 과정이 없기 때문에 중간에 끼어든 다른 기기가 자신이 서버 또는 클라이언트 인 것 처럼 위장하여 악용할 수 있습니다.


HTTP를 SSL(Secure Socket Layer) 이라는 다른 프로토콜과 조합하여 안전한 통신로를 확보하고 그 통신로를 통해 HTTP 통신을 하는 것을 HTTPS 라고 부릅니다.


SSL은 암호화뿐만 아니라 상대를 확인하는 수단으로 증명서를 제공합니다.

그 증명서를 이용해 서로 원하는 상대인지를 판단해 통신이 가능합니다.


단점도 존재하는데 우선 당연히 처리해야할 데이터 양과 통신량이 늘어남으로 인해 느려집니다.

게다가 증명서가 필요하지만 이를 CA에서 구입해야 하고 일반적으로 년 수십만원 정도의 비용이 발생하기 때문에 증명서의 구입이 부담되는 서비스나 개인적인 사이트 등에서는 HTTP 만 선택하는 경우도 있습니다.



'옛날.. > http' 카테고리의 다른 글

[http] http의 병목현상을 해결할 SPDY  (0) 2018.01.02
[http] 사용자 인증  (0) 2018.01.02
[http] HTTP 메시지 헤더 필드  (0) 2018.01.01
[http] 프록시, 게이트 웨이, 터널  (0) 2017.12.29
[http] 가상 호스트  (0) 2017.12.29
Comments