네트워크

[HTTP완벽가이드] HTTPS 관련 질문

인생개발 이정환 2024. 8. 15. 11:10

HTTPS 핸드쉐이크는 클라이언트(예: 웹 브라우저)와 서버(예: 웹사이트)가 안전한 통신을 수립하기 위해 진행하는 과정입니다. 이 과정에서 중요한 역할을 하는 것이 바로 SSL/TLS 인증서이며, 이 인증서는 **인증 기관(CA, Certificate Authority)**에 의해 발급됩니다. 이제 HTTPS 핸드쉐이크 과정에서 보안 관련 역할을 누가 담당하는지 살펴보겠습니다.

HTTPS 핸드쉐이크 과정 요약

  1. 클라이언트 요청: 클라이언트가 서버에 접속하려고 할 때, HTTPS를 사용하여 연결을 요청합니다.
  2. 서버 인증서 제공: 서버는 자신의 SSL/TLS 인증서를 클라이언트에게 제공합니다. 이 인증서에는 서버의 공개키, 서버의 도메인 이름, 인증서 발급 기관, 유효 기간 등의 정보가 포함되어 있습니다.
  3. 인증서 검증: 클라이언트는 서버가 제공한 인증서를 검증합니다. 클라이언트는 신뢰할 수 있는 인증 기관(CA) 목록을 가지고 있으며, 서버의 인증서가 이 인증 기관 중 하나에 의해 서명되었는지 확인합니다.
  4. 세션 키 설정: 클라이언트는 세션 키를 생성하고, 서버의 공개키를 사용해 암호화한 후 서버에 전송합니다. 이 세션 키는 대칭키 암호화를 위한 것으로, 이후의 통신을 암호화하는 데 사용됩니다.
  5. 암호화된 통신 시작: 서버는 자신의 개인키로 클라이언트가 보낸 세션 키를 복호화하여 대칭키를 얻고, 이 대칭키를 사용해 클라이언트와 안전한 통신을 시작합니다.

보안 서버 및 인증서 제공자

  • 보안 서버: 보안 서버는 웹사이트 소유자가 운영하는 웹 서버입니다. 이 서버는 SSL/TLS 인증서를 설치하고 HTTPS를 통해 안전한 통신을 제공합니다.
  • SSL/TLS 인증서 제공자: 이 인증서는 웹사이트 소유자가 신뢰할 수 있는 **인증 기관(CA)**에 신청하여 발급받습니다. 인증 기관은 웹사이트 소유자의 신원 및 도메인 소유권을 확인한 후 인증서를 발급합니다. 대표적인 인증 기관으로는 Let's Encrypt, DigiCert, GlobalSign, Comodo 등이 있습니다.
  • 인증 기관(CA): 인증 기관은 클라이언트가 서버의 인증서를 검증할 수 있도록 디지털 서명을 제공합니다. 클라이언트는 운영 체제나 브라우저에 내장된 신뢰할 수 있는 CA 목록을 통해 인증서의 유효성을 확인합니다.

결론

보안 서버는 웹사이트 소유자가 운영하며, HTTPS 통신의 보안을 담당합니다. 이 서버가 사용하는 SSL/TLS 인증서는 신뢰할 수 있는 인증 기관(CA)에서 발급받으며, 클라이언트는 이 인증서를 통해 서버의 신뢰성을 검증하게 됩니다. 결국, 보안 서버는 웹사이트 소유자가 관리하고, 인증서는 CA가 제공하여 HTTPS 핸드쉐이크 과정을 통해 안전한 통신이 이루어지게 됩니다.