
오늘 알아볼 것은 SSL 인증서이다. SSL 인증서를 알아보기 전 http와 https가 뭔지 먼저 알아볼것이다
위 사진과 같이 모든 부분이 HTTP의 웹을 이루는 구조이고 우리가 실제로 사용하며 볼 수 있는 부분은 Client부분이다.
HTTP: 노출될 정보가 없고 개인적으로나 간단하게 정보를 저장하기 위한 사이트 구현시에 사용 할 수 있음, 정보노출의 우려가 있음 HTTPS: 중요한 정보를 담고 있는 사이트라면 사용해야함, 하지만 비용적인 문제가 생길 수도 있고 HTTP 프로토콜보다 속도가 느림
HTTP의 보안문제와 같은 이유로 HTTPS를 사용한다 이를 설정하기위한 SSL 인증서에 대해 알아볼 것이다
클라이언트가 서버에 접속하여 사용자가 HTTPS URL로 사이트에 접속하게 되면 클라이언트가 서버에 연결 요청을 보냄
서버 인증서 제공: 서버는 클라이언트에 SSL 인증서 제공
클라이언트 인증서 검증:클라이언트는 인증서를 검증해 신뢰할 수 있는 기관에서 발급했는지 확인함
암호화된 연결 설정: 검증이 완료된 브라우저와 서버간에 암호화된 연결을 설정
CA (Certificate Authority) 디지털 인증서를 발급해주는 기관 TLS / SSL 기반의 통신을 위해선 CA의 인증서 발급이 있어야함
웹사이트에서 공개키와 개인키를 쌍으로 생성함
CA에 웹사이트의 정보와 생성된 공개키를 바탕으로 CSR을 작성해서 보냄 (CSR[인증서 서명 요청]: 신청자가 보내는 인코딩된 메시지로 조직명,도메인 이름, 지역, 국가 정보 와 인증서에 포함될 공개 키)
받은 공개키를 HASH후 CA의 개인키로 암호화를 하여 디지털 서명을 만들어줌
서명과 웹의 정보가 포함된 인증서를 웹사이트에 발급