Computer Science/Network

HTTP (Hypertext Transfer Protocol)

둥둥 2022. 11. 9. 13:51
728x90

HTTP (Hypertext Transfer Protocol)

  • 하이퍼텍스트를 전송하기위해 사용되는 통신 규약(Protocol)
    • 인터넷에서 html과 같은 문서를 사용자 컴퓨터에 설치된 웹 브라우저가 웹 서버에 요청할때의 규칙
  • HTTP 서버는 기본 포트인 80번 포트에서 서비스 대기중이며, 클라이언트(웹브라우저)가 TCP 80포트를 사용해 연결하면 서버는 응답하면서 자료를 전송한다.
  • 정보를 텍스트로 주고받기때문에 네트워크에서 전송 신호를 인터셉트 하는 경우 원하지 않는 데이터 유출이 발생할 수 있다.

이러한 취약점을 해결하기위한 프로토콜이 HTTP에 S(Secure Socket)가 추가된 HTTPS이다.

HTTPS (Hypertext Transfer Protocol Secure)

  • HTTP(Hypertext Transfer Protocol)의 확장으로 HTTP와 거의 동일하지만, 데이터를 주고 받는 과정에 '보안'요소가 추가되어 서버와 클라이언트 사이의 모든 통신 내용이 암호화된다.
    • HTTPS에서 통신 프로토콜은 TLS(Transport Layer Security)또는 SSL(Secure Sockets Layer)을 사용해 암호화 된다.

TLS(Transport Layer Security; 전송 계층 보안)

과거 SSL에서 발전하며 이름이 변경되었다.
하지만 아직도 SSL이라는 명칭이 많이 사용되고 있다.

암호화 방식

  • 공개키 암호화 방식
  • 대칭키 암호화 방식

공개키 암호화 방식

  • A키로 암호화를 하면 B키로 복호화를 할 수 있다.
  • B키로 암호화를 하면 A키로 복호화를 할 수 있다.
  • 둘 중 하나를 비공개키(Private key) 혹은 개인키라고 부르며, 자신만 가지고 있고 공개되지 않는다.
  • 나머지 하나를 공개키(Public Key)라고 부르며 타인에게 제공한다.
    • 공개키는 유출이 되어도 비공개키를 모르면 복호화 할 수 없기 때문에 안전하다.

대칭키 방식

  • 동일한 키로 암호화, 복호화가 가능하다.
  • 대칭키는 매번 랜덤으로 생성되어 누출되어도 다른 키가 사용되기때문에 안전하다.
  • 공개키보다 빠르게 통신할 수 있다.(공개키의 느리다는 단점 보완)

이러한 SSL 방식을 적용하려면 인증서를 발급받아 서버에 적용시켜야하며, 이러한 인증서를 발급하는 기관을 CA(Certificate Authority)라고 부른다.

HTTPS의 장단점

장점

  • 웹사이트의 무결성을 보호해준다. : 웹 사이트와 사용자 브라우저 사이의 통신을 침입자가 건드리지 못하도록 한다.
    • 침입자 : 악의가 있는 공격자는 물론, 합법이지만 통신에 침입하여 페이지에 광고를 삽입하는 경우도 해당
  • 사용자의 정보를 웹 서버와 주고 받아야 하는 경우에 HTTP는 정보 유출의 위험성을 가지기때문에 HTTPS를 사용해 침입자가 웹사이트와 사용자 사이의 통신을 몰래 수신하는것을 방지해 보안을 강화해준다.
  • HTTPS는 신 기능과 업데이트된 API에 대한 권한 허락을 가능하게 한다.

단점

  • 모든 사이트에서 텍스트를 암호화해서 주고 받으면 과부하가 걸려 속도가 느려질 수 있다.
    • 따라서 중요한 사이트는 HTTPS로 관리하고 그렇지 않은 사이트는 HTTP로 사용한다.
  • HTTPS를 지원한다고해서 무조건 안전한것은 아니다.
    • CA 기업이 아니라 자체적으로 인증서를 발급할 수도 있고 신뢰할수 없는 CA기업을 통해서 인증서를 발급받을수도 있기때문이다.

References.

https://www.ssl.com/ko/%EC%9E%90%EC%A3%BC-%EB%AC%BB%EB%8A%94-%EC%A7%88%EB%AC%B8/https-%EB%9E%80/
https://en.wikipedia.org/wiki/HTTPS
https://rachel-kwak.github.io/2021/03/08/HTTPS.html

728x90