HTTP와 HTTPS

yuriyaam·2021년 2월 5일
0

네트워크와 보안

목록 보기
2/2
post-thumbnail

HTTP

HyperText Tranfer Protocol로 WWW상에서 정보를 주고 받는 프로토콜. 80포트를 사용한다.
웹브라우저(클라이언트)가 서버에 HTTP를 통해 웹페이지나 이미지 정보를 요청하면 서버는 이 요청에 응답하여 요구하는 정보를 제공하게 된다.
http는 텍스트 교환으로, 단순 텍스트를 주고받기 때문에 누군가 네트워크에서 신호를 가로채서 본다면 내용이 노출된다.


HTTPS

Hyper Text Transfer Protocol Secure로 인터넷 상에서 정보를 암호화하는 SSL(Secure Socket Layer)프로토콜을 이용하여 웹브라우저(클라이언트)와 서버가 데이터를 주고 받는 프로토콜. 443포트를 사용한다.
HTTPS는 http 메세지(text)를 암호화하는 것으로 HTTPS의 S가 Secure Socket, 보안 통신망을 말한다.
HTTPS의 암호화 원리를 간단히 알아보면 핵심은 공개키 암호화 방식이다.

공개키 알고리즘 (비대칭 암호방식)

암호화, 복호화시킬 수 있는 서로 다른 키 2개가 존재하여 개인키와 공용키를 모두 사용한다.

  • 1번 키로 암호화 -> 반드시 2번키로만 복호화
  • 2번 키로 암호화 -> 반드시 1번키로만 복호화

그 중에서 하나 키는 모두에게 공개하는 공개키(1번 키)로 만들어서 공개키 저장소에 등록해놓는다.
서버는 서버만 알 수 있는 개인키(2번 키)를 소유하고 있으면 된다.

1번키로 암호화된 http 요청, 즉 HTTPS 프로토콜을 사용한 요청이 온다면 서버는 개인키(2번 키)를 이용하여 1번키로 암호화된 문장을 해독하게 된다.
서버는 요청이 무엇인지 알게되고 요청에 맞는 응답을 다시 개인키(2번 키)로 암호화해서 요청한 클라이언트에게 보내주게 된다.
그리고 응답을 받은 클라이언트는 공개키(1번 키)를 이용해서 개인키(2번 키) 암호화된 HTTPS 응답을 해독하고 사용하는 시나리오다.




0개의 댓글