네트워크

[네트워크] HTTPS : 웹 통신 보안 프로토콜

연화 2025. 1. 4. 22:31

 

HTTP는 클라이언트와 서버 간 데이터를 평문으로 주고받는 프로토콜입니다.
하지만 이런 특성 때문에 통신 내용이 쉽게 노출될 위험이 있습니다.
예를 들어, 로그인 과정에서 전송된 POST 요청은 사용자 ID와 비밀번호 같은 민감한 정보를 포함합니다.
만약 공격자가 이를 가로챈다면, 계정 탈취와 같은 심각한 문제가 발생할 수 있습니다.

이를 보완하기 위해 만들어진 것이 HTTPS입니다.

 

HTTPS란?

HTTPS(Hypertext Transfer Protocol Secure)는 HTTP에 TLS(Transport Layer Security)를 도입하여 보안을 강화한 프로토콜입니다.
TLS는 서버와 클라이언트 사이에 오가는 모든 HTTP 메시지를 암호화합니다. 공격자가 중간에 메시지를 탈취하더라도 이를 해석하는 것은 불가능하며, 결과적으로 HTTP 통신이 도청과 변조로부터 보호됩니다.

 

HTTPS의 주요 특징

  1. TLS 암호화
    • HTTPS는 클라이언트와 서버 간 데이터를 암호화하여 전송합니다.
    • 공격자가 데이터를 가로채더라도 해독할 수 없기 때문에 민감한 정보(예: 로그인 정보, 결제 정보)를 안전하게 보호할 수 있습니다.
  2. 무결성 보장
    • HTTPS는 데이터를 전송하는 동안 변조되지 않았음을 보장합니다.
    • 메시지가 중간에서 수정되었을 경우, 이를 감지하고 잘못된 데이터를 전달하지 않습니다.
  3. 인증
    • HTTPS는 서버 인증서(SSL/TLS 인증서)를 사용하여 클라이언트가 연결하려는 서버가 신뢰할 수 있는 서버인지 확인합니다.
    • 이를 통해 피싱 사이트나 중간자 공격(Man-In-The-Middle Attack)을 방지할 수 있습니다.

 

HTTPS의 동작 과정

HTTPS는 HTTP와 동일한 요청-응답 구조를 유지하지만, 통신 과정에 암호화를 추가합니다. 다음은 HTTPS가 작동하는 과정을 간단히 설명한 내용입니다:

  1. 클라이언트-서버 연결 요청
    • 클라이언트는 https://로 시작하는 URL을 통해 서버에 연결 요청을 보냅니다.
  2. TLS 핸드셰이크(TLS Handshake)
    • 클라이언트와 서버가 TLS 프로토콜을 사용하여 암호화 방식과 암호화 키를 협상합니다.
    • 서버는 인증서를 클라이언트에 전송해 신원을 증명합니다.
  3. 데이터 암호화
    • 클라이언트와 서버는 협상된 키를 사용하여 통신 데이터를 암호화합니다.
    • 암호화된 데이터만 전송되며, 중간에서 데이터가 탈취되더라도 내용을 확인할 수 없습니다.
  4. HTTP 요청-응답
    • 암호화된 HTTP 요청과 응답이 안전하게 주고받아집니다.

 

HTTP와 HTTPS의 차이

특징 HTTP HTTPS
보안 데이터가 평문으로 전송됨 데이터가 암호화되어 전송됨
포트 기본적으로 80번 포트 사용 기본적으로 443번 포트 사용
URL http://로 시작 https://로 시작
사용 사례 간단한 웹사이트 민감한 데이터 또는 모든 웹 서비스

 


초기에는 금융, 전자상거래, 정부 웹사이트 등 민감한 데이터를 다루는 웹서비스에서 HTTPS를 사용했습니다.
그러나 현재 개발되는 서비스들은 규모에 상관없이 HTTPS를 사용하는 추세입니다. 이는 데이터 보안뿐만 아니라 SEO(검색 엔진 최적화)와 사용자 신뢰도를 높이는 데도 기여하기 때문입니다.

HTTP의 단점을 보완한 HTTPS는 현대 웹 환경에서 없어서는 안 될 필수 요소입니다. 암호화를 통해 데이터 도청과 변조를 방지하며, 사용자 신뢰를 높이고 보안 사고를 예방합니다.

 

👀 그럼 HTTP는 뭘까요?

 

[네트워크] HTTP 메시지란?

HTTP 메시지는 웹 클라이언트와 서버 간의 통신을 위해 사용되는 데이터의 형식입니다.클라이언트가 서버로 전송하는 HTTP 요청(Request)서버가 클라이언트로 반환하는 HTTP 응답(Response)HTTP 메시지에

dev-yeonwha.tistory.com