[백엔드] HTTP vs HTTPS 차이

개발log·2024년 4월 19일

백엔드 기초지식

목록 보기
3/8
post-thumbnail

HTTP와 HTTPS

HTTP

  • Hypertext Transfer Protocol
  • 웹 브라우저와 웹 서버 간에 데이터를 전송, 통신하는 데 사용되는 표준 프로토콜
  • 웹에서 문서, 이미지, 동영상 등의 리소스를 요청하고 전송하는 데 많이 사용

HTTPS

  • Hypertext Transfer Protocol Secure
  • HTTP의 보안 버전으로, SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 프로토콜을 사용하여 데이터 통신을 보호함

SSL

  • 데이터 통신을 위한 보안 프로토콜 중 하나
  • 클라이언트와 서버 간의 통신을 암호화하고 인증하는 데 사용

TLS

  • 데이터 통신을 위한 보안 프로토콜 중 하나
  • SSL(Secure Sockets Layer)의 후속 버전으로 개발되었고, SSL 버전보다 더욱 안전한 통신을 제공함
  • 데이터의 기밀성, 무결성, 인증을 보장하는 데 사용

SSL과 TLS의 공통 장점

  • 암호화 (Encryption): 데이터를 암호화하여 중간에서 가로채어도 이해할 수 없도록 보호 - 제3자가 데이터를 도난당하거나 엿들을 수 없도록 보장
  • 무결성 검사 (Integrity Verification): SSL은 데이터가 중간에 조작되지 않았음을 보장하기 위해 무결성 검사를 수행 - 데이터가 전송되는 동안 변조되지 않았는지 확인하여 데이터의 무결성을 보호
  • 인증 (Authentication): 서버의 신원을 확인하고 보증하는 디지털 인증서를 사용하여 인증함 - 클라이언트가 서버가 자신을 소개한 것으로 주장하는 사람이 실제로 그러한지 확인할 수 있게 해줌

HTTP보다 HTTPS를 사용하는 이유

보안성

  • HTTP : HTTP는 평문 텍스트로 통신 - 데이터가 암호화되지 않아 중간자가 데이터를 가로채거나 조작할 수 있는 보안 취약점이 있음
  • HTTPS : HTTPS는 SSL 또는 TLS 프로토콜을 사용하여 통신을 암호화함. - 데이터가 안전하게 전송되고 중간자 공격을 방지할 수 있음
    HTTPS는 클라이언트(일반적으로 웹 브라우저)와 서버 간의 통신을 보호하는 데 사용

검색엔진 노출 증가

  • HTTP와 HTTPS 모두 검색 엔진에 노출될 수 있으나 HTTPS를 사용하는 웹사이트가 좀 더 우선적으로 노출될 가능성이 있음
  • Google은 HTTPS를 사용하는 웹 사이트를 보다 안전하다고 간주하고 이를 검색 결과에서 우선적으로 표시하는 경향이 있음

데이터 무결성

  • HTTP : HTTP는 데이터 무결성을 제공하지 않음. 데이터가 중간에 조작될 수 있기 때문에 사용자가 보낸 데이터가 원래 의도대로 도착하지 않을 수 있음
  • HTTPS : HTTPS는 암호화된 통신을 통해 데이터 무결성을 보장 (데이터가 전송되는 동안 변조되거나 변경 되지 않음을 보장). 암호화된 데이터가 전송되므로 중간에 데이터가 조작되면 무결성 검사에 실패하여 클라이언트는 해당 데이터를 신뢰하지 않게 됨

신원확인 - 인증

  • HTTP : HTTP는 보안 측면에서 인증을 제공하지 않음. 서버가 신뢰할 수 있는지 여부를 확인할 방법이 없기 때문에 중간자 공격에 노출될 수 있음
  • HTTPS : HTTPS는 인증서를 사용하여 서버의 신원을 확인. 사용자가 방문하는 웹 사이트가 실제로 방문하려고 했던 사이트인지 확인할 수 있게 해주어 사용자가 사이트와 안전하게 상호작용할 수 있음을 보장하고 중간자 공격을 방지할 수 있음

포트

  • HTTP : 기본적으로 HTTP는 80번 포트 사용
  • HTTPS : HTTPS는 기본적으로 443번 포트 사용

HTTPS는 데이터의 기밀성, 무결성 및 인증을 보장하고 보안을 강화하는 반면, HTTP는 이러한 보안 기능을 제공하지 않는다. 따라서 보안이 중요한 웹 애플리케이션 및 서비스에서는 HTTPS를 사용하는 것이 권장된다.

profile
나의 개발 저장소

0개의 댓글