글 작성자: 택시 운전사
반응형

HTTP HTTPS

저번에 DNS(Domain Name Server)에 대해 알아보았는데요, 이번에는 이번에 차단 규제로 논란 중인 HTTPS와 그 이전에 나온 HTTP 대해 알아보겠습니다.

HTTP and HTTPS

HTTP(HyperText Transfer Protocol, 초본문전송규약, 하이퍼본문 전송규약)

WWW(World Wide Web) 상에서 정보를 주고 받을 수 있는 프로토콜(protocol)입니다. 주로 HTML 문서를 주고받는 데에 쓰이며, TCP(Transmission Control Protocol, 전송조종규약)와 UDP(User Datagram Protocol)을 사용하며, 80번 포트를 사용합니다. 1996년 1.0 버전, 1999년 1.1 버전이 발표되었습니다. 암호화되지 않은 방법으로 데이터를 전송하여 서버와 클라이언트 간의 메시지 감청이 쉽습니다. 예를 들어 로그인 정보를 서버로 전송할 때, 스니핑(sniffing) 또는 스푸핑(spoofing)에 노출될 수 있습니다.

HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜입니다. 예를 들어, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 되고, 이 정보가 모니터와 같은 출력장치를 통해 사용자에게 나타나게 됩니다.

HTTP를 통해 전달되는 자료는 http:로 시작하는 URL로 조회할 수 있습니다.

HTTPS(HyperText Transfer Protocol over Secure Socket Layer, HTTP over TLS, HTTP over SSL, HTTP Secure)

HTTPSWWW의 통신 프로토콜인 HTTP의 보안이 강화된 버전입니다. HTTPS는 통신의 인증과 암호화를 위해 개발되었으며, 보안이 중요한 전자 상거래에서 널리 쓰입니다.

HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신, **SSL(Secure Socket Layer)**이나 TLS(Transfer Layer Secure) 프로토콜을 통해 세션 데이터를 암호화해서 전송 데이터를 보호합니다. HTTPS의 기본 TCP/IP 포트는 443입니다.

보호의 수준은 웹 브라우저에서의 구현 정확도와 서버 소프트웨어, 지원하는 암호화 알고리즘에 달려있습니다.

HTTPS를 사용하는 웹페이지의 URI는 http:// 대신 https://로 시작합니다.

SSL

SSL 디지털 인증서

SSL 인증서는 클라이언트와 서버간의 통신을 제 3자가 보증해주는 전자화된 문서입니다.

SSL과 SSL 디지털 인증서의 이점

  • 패킷에 해당되는 통신 내용의 노출 및 변경 예방
  • 클라이언트가 접속하려는 서버가 신뢰 가능한 서버인지 판단 가능

암호화

SSL의 핵심은 암호화입니다.

  • 암호화: 원문을 아무나 이해할 수 없게 특정 키를 이용하여 변환
  • 키: 원문을 암호화하는 기준, 이 키를 알고 있으면 복호화(decryption)가 가능합니다.

위의 방식이 대칭키 방식의 암호화입니다.

대칭 키(sysmmetric-key) 암호화 방식

  • 암호화(encryption)와 복호화(decryption)에 같은 키를 사용하는 방식입니다. 즉, 송신자와 수신자가 같은 공유키를 가져야 해석이 가능합니다.
  • 대칭키 전달 과정에서 키가 유출되면 복호화(decryption)이 가능하기 때문에 위험합니다.

공개 키(public-key) 암호화 방식

  • 키가 유출되면 보안이 위험해지는 대칭키 암호화 방식을 보완하기 위해 탄생했습니다.
  • 암호화(encryption)와 복호화(decryption)에 서로 다른 키를 이용합니다.
  • 공개 키(public-key)는 공개되어 있으며, 보통 디지털 인증서에 포함되어 있습니다.
  • 비공개 키(private-key)는 호스트만 알고 있습니다.
  • 메시지의 인코딩은 누구나 할 수 있지만, 복호화(decryption)는 비공개 키(private-key) 소유자만 가능합니다.
  • 클라이언트가 안전하게 서버로 메시지를 전송할 수 있습니다.
  • 알고리즘 계산이 있기 때문에 비용 소모가 발생합니다.

공개 키와 비공개 키

전자 서명

비공개 키(private-key) 소유자가 비공개 키를 이용하여 정보 암호화(encryption) 후 공개 키(public-key)와 함께 암호화된 정보를 전송할 수 있습니다. 정보와 공개 키(public-key)를 획득한 사람은 공개 키(public-key)를 이용하여 암호화된 정보를 복호화(decryption)합니다. 이 과정에서 공개키가 유출될 시 공격의 위험이 높아집니다. 보통 이런 경우 데이터 보호 목적이 아닌 신원 보장의 목적으로 이루어집니다. 이를 전자 서명이라 부릅니다.

결론

HTTP와 HTTPS의 특징을 표로 정리하면 다음과 같습니다.

HTTP HTTPS
속도 빠르다 느리다
변조 가능성 높다 낮다
비용 없음 설치 및 인증서 유지 비용
트래픽 적게 발생 많이 발생

참고

Written with StackEdit.

반응형

'Network' 카테고리의 다른 글

[네트워크] OSI 7 Layer와 TCP/IP  (0) 2019.05.28
[네트워크] 🤷‍♂️ DNS가 뭐길래  (0) 2019.02.12