SSL의 통신과정
SSL 인증서의 역할 1. 클라이언트가 접속한 서버가 신뢰할 수 있는 서버임을 보장한다. 2. SSL 통신에 사용할 공개키를 클라이언트에게 제공한다. CA : 인증서 발급 기관 SSL 인증서를 발급해주는 민간기업들을 CA(Certificate Authority) 라고 부른다. 인증서는 개인키 소유자의 공개키에 인증기관의 개인키로 전자서명한 데이터다. 모든 인증서는 발급 기관(CA)이 있어야 하나 최상위 인증기관(Root CA)은 서명해줄 상위 인증기관이 없으므로 Root CA의 개인키로 스스로의 인증서에 서명하여 최상위 인증기관 인증서를 만든다. 이렇게 스스로 서명한 Root CA 인증서를 Self Signed Certificate 라고 부른다. CA는 신뢰성이 엄격하게 공인된 기업들만이 참여할 수 있다. 공인CA와 사설CA 만약, 네이버나 다음과 같이 공개된 사이트에 접속한 클라이언트에게는 1, 2번을 모두 충족시킬 필요가 있다. 하지만 개인적인 개발이 목적이라면 사이트에 접속하는 클라이언트가 나 자신 또는 팀원 밖에 없고, 그 도메인이 그 사이트라는 것을 인지하고 있기 때문에(=SSL 인증서의 역할 1번을 이미 충족함.) SSL 인증서의 2번 역할인 암호화 기능만을 사용하려면 사설 CA를 이용하면 된다. (2번 역할인 공개키를 클라이언트에게 제공하는 것이 어떻게 암호화 기능을 하는 지는 아래의 핸드쉐이크 단계 3-3 ~ 에서 알 수 있다.) SSL 인증서의 내용 1. 서비스의 정보 (인증서를 발급한 CA, 서비스의 도메인 등) 2. 서버 측 공개키 (공개키의 내용, 공개키의 암호화 방법) SSL 인증서 전달의 개요 서버는 자기가 생성한 공개키와 함께 서비스에 대한정보를 묶어서 인증기관에 전송하면 인증기관에서 심의한 후 문제가 없으면 인증서를 서비스에 다시 제공, 그 서비스는 그 인증서를 자신의 서비스에 접속하는 사용자에게 제공 필수 기본 개념 브라우저에는 CA의 리스트(CA의 공개키 포함)가 저장되어있다. CA 리스트...