SSL 인증 과정
개념
- SSL을 통한 인증은 비대칭키 암호 방식와 대칭키 암호 방식 혼합 사용 (공개키 방식이 시스템에 로드를 많이 가중하여 지속적으로 사용하기에 무리가 있어 혼합 사용함)
- 클라이언트와 서버의 통신은 대칭키 방식
- 대칭키 방식으로 통신하기 위한 대칭키 전달은 공개키 방식으로 암호화 하여 통신
SSL 과정
- 1. 클라이언트 헬로 (Client Hello)
- 브라우저에서 초기 통신 내용
- Random : 28바이트
- Session ID : null (이미 연결된 상태라면 값이 존재)
- Cipher Suites : 클라이언트가 지원하는 암호알고리즘 리스트
- 2. 서버 헬로 (Server Hello)
- 서버에서 전달된 통신 내용 (2,551 바이트)
- Random : 28바이트
- Session ID : 32바이트 (재연결 시도 시)
- Cipher Suites
- Certificate Message : 클라이언트가 접속 사이트가 맞는지 확인 할 수 있는 인증서
- Server Hello Done 메세지
- 3. 인증 확인
- 전달된 인증서의 공개키를 가지고 접속 사이트가 믿을 수 있는 사이트인지 확인 (공개키는 접속 사이트의 서버가 가지고 있는 비공개키로만 해석 가능하므로 원하는 사이트가 맞는지 확인이 가능)
- 4. 공개키 암호화 방식으로 키교환
- 클라이언트에서 가지고 있는 Random 28바이트와 서버에서 전달된 Random 28바이트를 합쳐 pre master secret 값을 만들어 공개키 암호화 방식으로 서버에 전달
- 5. HTTP 통신
같이 보기
참고