본문 바로가기

IT Study

[IT Study] HTTP와 HTTPS 란?

반응형

HTTP 

1) HTTP(Hypertext Transfer Protocol) 

  • HTTP(Hypertext Transfer Protocol)는 서로 다른 시스템들 사이에 통신을 주고 받게 해주는 가장 기본적인 프로토콜이다. 
  • 웹 서핑을 할 때 서버에서 자신의 브라우저로 데이터를 전송해주는 용도로 많이 사용되며, 서버 - 클라이언트 모델에 맞춰 데이터를 주고 받기 위한 프로토콜이다. 
  • 인터넷 초기에 모든 웹 사이트에서 기본적으로 사용되었던 프로트콜이었다. 
  • 80번 포트를 기본적으로 사용하고 있다. 

2) HTTP의 구조 

  • HTTP는 애플리케이션 레벨의 프로토콜이기 때문에 TCP/IP 위에서 동작한다. 
  • HTTP는 상태를 가지지 않는 Stateless 프로토콜이며 Method, Path, Version, Headers, Body 등으로 구성된다. 

3) HTTP의 단점 

  • HTTP는 암호화 되지 않은 데이터를 전송하는 프로토콜이기 때문에 HTTP로 비밀번호나 주민등록처럼 중요한 정보를 주고 받으면 제 2자가 정보를 조회할 수 있다. 
  • 이런 보안의 문제를 해결하기 위해 HTTPS가 등장하게 되었다. 
프로토콜? 
-> 컴퓨터 내부에서 또는 컴퓨터 사이에 데이터 교환 방식을 정의하는 규칙 세계이다.
기간 간 통신을 교환되는 데이터의 형식에 대해 상호 합의를 요구하며 이런 형식을 정의하는 규칙의 집합이다.  

 

HTTPS

1) HTTPS(Hypertext Transfer Protocol Secure)

  • HTTPS는 HTTP에 데이터 암호화가 추가된 프로토콜이다. 
  • HTTPS는 HTTP와 다르게 443포트를 기본으로 사용하며 네트워크 상에서 제 3자가 정보를 볼 수 없도록 암호화하여 전송한다. 
  • HTTPS 프로토콜은 SSL(보안 소켓 계층)을 이용해서 HTTP의 보안상 문제를 해결했으며 SSL은 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고 서버 브라우저가 민감한 정보를 주고 받을 때도 도난당하는 것을 막아준다. 

2) HTTPS의 보안 방식 

  • SSL 인증서를 HTTP 프로토콜에 추가하여 만들어진 것이 HTTPS이며, SSL 인증서는 사용자가 사이트에 제공하는 정보를 암호화하는데 이용된다. 
  • 따라서 제 3자가 데이터를 훔쳐낸다고 하더라도 데이터가 암호화처리 되어 있기 때문에 해독을 할 수 없어 데이터를 읽을 수 없다. 
  • 그리고 HTTPS는 TLS(전송 계층 보안) 프로토콜을 사용해서 보안을 유지한다. TLS는 데이터 무결성을 보장해서 데이터가 전송 중에 수정되거나 손상되는 것을 방지하며 사용자가 접속하려는 웹사이트와 통신하고 있음을 증명할 수 있는 인증 기능도 가지고 있다. 

3) HTTPS의 대칭키 암호화와 비대칭키 암호화

  • 대칭키 암호화
    • 클라이언트와 서버가 동일한 키를 사용해서 암호화와 복호화를 진행한다.
    • 키가 노출되면 매우 위험할 수 있지만 연산속도가 빠른 장점이 있다.
  • 비대칭키 암호화
    • 1개의 쌍으로 구성된 공개키와 개인키를 이용해 암호화와 복호화를 진행한다.
    • 키가 노출되어도 비교적 안전할 수 있지만 연산속도가 느린 단점이 있다.
  • HTTPS는 대칭키 암호화와 비대칭키 암호화 방식 둘 다를 사용한다.

 

3) HTTPS의 비대칭키 암호화에서 공개키와 개인키

  • 비대칭키 암호화에서 공개키와 개인키 암호화 방식을 이용해 데이터 암호화를 진행하며 공개키와 개인키는 서로를 위한 1쌍의 키이다.
    • 공개키 : 모두에게 공개 가능한 키이다.
    • 개인키 : 나만 가지고 있어야 하는 키이다.
  • 공개키와 개인키를 암호화하면 다음과 같은 이점을 얻을 수 있다.
    • 공개키 암호화를 하면 개인키로만 복호화 할 수 있다. 따라서 개인키는 나만 갖고 있기 때문에 나만 데이터 정보를 볼 수 있다.
    • 개인키를 암호화하면 공개키로만 복호화할 수 있따. 공개키는 모두에게 공개되어 있어 내가 인증한 정보임을 알려 신뢰성을 보장받을 수 있다.

 

  HTTP HTTPS
완전한 형태  Hypertext Transfer Protocol 비공식적으로 HTTP 보인이라고 알려진 SSL / TLS 프로토콜을 사용하는 HTTP
목적 서버로부터 정보를 송신 및 수신하기위한 시스템 서버로부터 안전한 포맷으로 정보를 송신 및 수신하기위한 시스템
기본 포트  80 443
보안 데이터가 해커에 취약하기 때문에 보안 수준이 낮다.  데이터가 네트워크를 통해 전송되기 전에 암호화되므로 더욱 안전
인증서 인증서 필요 없음 SSL 디지털 인증서가 필요함
URL 시작  HTTP : // HTTPS : //
반응형

'IT Study' 카테고리의 다른 글

[IT Study] 프레임워크(Framework)란?  (0) 2022.11.06
면접 준비  (0) 2022.11.01
[ 동영상 시청 ] Flex Layout  (0) 2022.07.24
[ 동영상 시청 ] CSS 방법론  (0) 2022.07.24
[ 동영상 시청 ] 프론트엔드에서 Component란?  (0) 2022.07.24