[HTTP] HTTPS란?

2024. 2. 17. 18:32Web/네트워크

[HTTP] HTTP / HTTPS란?

 

 학습하는 웹 프로젝트에 HTTPS를 적용하기 위해 HTTPS를 먼저 알아보게 되었다. 


 기존 HTTP는 인터넷상에서 데이터를 주고받기 위한 프로토콜이었다. 해당 프로토콜은 웹 브라우저와 웹 서버 간의 통신에서 사용이 되며, 클라이언트(브라우저)가 서버에 요청(Request)을 보내면, 서버는 클라이언트에게 요청에 맞는 응답(Response)을 반환한다. 다만 이러한 요청과 응답을 주고받는 과정에 데이터 암호화와 같은 보안 기능이 없기에 정보 노출 및 데이터 보안성이 위험한 상황이 발생한다


 이러한 문제점을 해결하기 위해 HTTPS가 등장하였다. HTTPS는 Hypertext Transfer Protocol Secure의 약어이다. HTTPS는 기존 HTTP에 보안적인 처리를 추가로 진행을 했다. 해당 보안처리는 HTTP 위에 SSL/TLS 프로토콜을 사용하여 데이터를 암호화하고 보안적으로 안전한 통신을 제공하는 것이다 HTTPS의 사용을 통해 데이터가 중간에서 가로채지거나 조작되는 것을 방지하며, 사용자와 웹 서버 간의 안전한 통신을 보장한다. 이를 통해 온라인 결제, 로그인 정보 전송, 개인정보를 다루는 웹 페이지에서 사용한다.

 

그렇기에 정보의 시대에서 기존 거의 모든 http를 사용하는 웹서비스는 사라졌고 https로 대체되었다. 


HTTPS를 구현하는 것에는 SSL(Secure Sockets Layer) / TLS(Transport Layer Security) 프로토콜이 존재한다. 이때 TLS는 SSL에서 발견된 보안의 취약점을 개선하기 위해 등장한 후속 버전이다. SSL에서 발견된 문제점 중에 하나는 바로 암호화에 대해 취약점이 존재했다는 점이다. 암호화를 시키는 암호를 공격자가 강제로 선택할 수 있다는 부분이 발견되었고 TLS에서는 그러한 취약점을 보완한 것이다.

 

  1. 암호 알고리즘 지원
    1. 기존 SSL에서 사용하던 것보다 더 강력하고 안전한 암호 알고리즘을 지원한다
  2. 역호완성
    1. SSL과 역호완성을 유지하며 새로운 기능을 도입하였다.
    2. 기존의 SSL을 사용하는 시스템에서도 상대적으로 쉬운 전환을 가능하게 했다.
  3. 보안 관련 사항 갱신
    1. 지속적으로 최신의 보안 표준을 준수하도록 업데이트한다. 그렇기에 새로운 취약점이 발견될 때마다 대응 조치가 이루어진다

  HTTP HTTPS
보안성 보안기능 존재 x

데이터 암호화가 되지않기에 중간에 가로채거나 변경 가능
SSL/TLS를 사용하여 데이터를 암호화하고 안전한 통신 제공
포트 기본적으로 80번 포트 사용 기본적으로 443 포트를 사용

암호화된 데이터를 전송하기 위해 사용자와 서버 간에 암호화된 연결을 설정
인증서 인증서 필요 x SSL/TLS 인증서 필요

서버의 신뢰성 입증
사용처 주로 정보의 안전성이 크게 중요하지 않는 경우에 사용 개인정보, 금융정보, 로그인 정보 등의 웹페이지에서 사용

보안이 필요한 모든 경우에 권장

 

'Web > 네트워크' 카테고리의 다른 글

[Etc] Presigned URL이란  (0) 2023.08.28
[Web 지식] IPv6 - Internet Protocol  (0) 2023.05.25
[REST API] REST API 설계  (0) 2022.12.22
[HTTP] PUT / PATCH 차이  (0) 2022.12.22
[Basic] 인증, 인가  (0) 2022.12.14