HTTPS와 TLS 인증서 동작 원리 쉽게 이해하기

주소창의 자물쇠 아이콘 하나에는 생각보다 많은 암호화 과정이 숨어 있습니다.

HTTP와 HTTPS의 차이

HTTP는 평문으로 데이터를 주고받기 때문에 중간에서 누구나 내용을 가로채 볼 수 있습니다. HTTPS는 TLS를 통해 통신 내용을 암호화하여 제3자가 가로채더라도 내용을 알아볼 수 없게 합니다.

TLS 핸드셰이크 과정

  • 클라이언트가 서버에 접속을 요청하며 지원 가능한 암호화 방식을 전달
  • 서버가 인증서를 제시하고 사용할 암호화 방식을 결정
  • 키 교환을 통해 양측이 동일한 세션 키를 생성
  • 이후 모든 통신은 이 세션 키로 암호화

인증서가 신뢰받는 이유

TLS 인증서는 신뢰할 수 있는 인증기관(CA)이 서명합니다. 브라우저는 사전에 신뢰하는 CA 목록을 가지고 있어, 해당 CA가 서명한 인증서를 자동으로 신뢰하게 됩니다.

무료 인증서 발급

Let's Encrypt 같은 서비스를 이용하면 무료로 TLS 인증서를 발급받아 자동 갱신까지 설정할 수 있습니다. Cloudflare를 사용하는 경우에는 별도 설정 없이 기본적으로 TLS가 적용됩니다.