본문 바로가기
Computer Science/Network

HTTP와 HTTPS 란?

by Ray 2021. 12. 16.

HTTP 프로토콜 (HyperText Transfer Protocol)

: 웹 상에서 웹 서버 및 웹 브라우저 간의 데이터 전송을 위한 응용계층 프로토콜입니다.

주로 HTML 문서를 주고 받는데 사용되며,

TCP와 UDP를 사용하고 80번 포트를 이용합니다.

HTTPS 프로토콜 (HyperText Treansfer Protocol over Secure Socket Layer)

: 웹 통신 프토코롤인 HTTP의 보안이 강화된 버전의 프로토콜입니다.

HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에, 웹 상에서 정보를 암호화하는 SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화합니다.

HTTPS의 기본 TCP/IP 포트로 443번 포트를 사용합니다.

HTTPS가 필요한 이유?

: HTTP를 통해 클라이언트과 서버가 요청과 응답을 주고 받습니다

이때, 주고 받는 데이터는 HTML 정보 즉, 텍스트 정보입니다.

이러한 텍스트 정보에 주민등록정보나 비밀번호 같은 민감한 정보가 포홤되고, 만약 제 3자가 중간에 이를 가로챈다면 보안상 큰 문제가 발생할 수 있습니다.

즉, 중간에서 정보를 볼 수 없도록 주고 받는 정보를 암호화할 필요가 있고

그 방법이 HTTPS입니다.

HTTPS의 원리

: 공개키/개인키 알고리즘 방식을 사용합니다.

암호화, 복호화시킬 수 있는 서로 다른 키(공개키, 개인키)를 이용한 암호화 방법입니다.

공개키 : 모두에게 공개, 공개키 저장소에 등록

개인키 : 개인에게만 공개, 클라이언트-서버구조에서 서버가 가지고 있는 비공개키

  • 클라이언트 -> 서버
    • 사용자의 데이터를 공개키로 암호화 (공개키를 얻은 인증된 사용자)
    • 서버로 전송 (데이터를 가로채도 개인키가 없으므로 복호화할 수 없음)
    • 서버의 개인키를 통해 복호화하여 요청 처리
    • 공개키 암호화: 공개키로 암호화를 하면 개인키로만 복호화할 수 있다. -> 개인키는 나만 가지고 있으므로, 나만 볼 수 있다.
  • 개인키 암호화: 개인키로 암호화하면 공개키로만 복호화할 수 있다. -> 공개키는 모두에게 공개되어 있으므로, 내가 인증한 정보임을 알려 신뢰성을 보장할 수 있다.

HTTPS의 장단점

  • 장점
    • 네트워크 상에서 열람, 수정이 불가능하므로 안전하다.
  • 단점
    • 암호화를 하는 과정이 웹 서버에 부하를 준다.
    • HTTPS는 설치 및 인증서를 유지하는데 추가 비용이 발생한다.
    • HTTP에 비해 느리다.
    • 인터넷 연결이 끊긴 경우 재인증 시간이 소요된다.
      • HTTP는 비연결형으로 웹 페이지를 보는 중 인터넷 연결이 끊겼다가 다시 연결되어도 페이지를 계속 볼 수 있다.
      • 그러나 HTTPS의 경우에는 소켓(데이터를 주고 받는 경로) 자체에서 인증을 하기 때문에 인터넷 연결이 끊기면 소켓도 끊어져서 다시 HTTPS 인증이 필요하다.

'Computer Science > Network' 카테고리의 다른 글

3-way-handshake와 4-way-handshake  (0) 2021.04.27
API란?? Http API, REST API  (0) 2021.04.27
04. Network Layer: Data Plane  (0) 2021.04.13
03 Transport Layer  (0) 2021.04.13
02 Application Layer  (0) 2021.01.24