SSL 인증서 기능
1) 클라이언트가 접속한 서버가 신뢰 할 수 있는 서버임을 보장한다.
2) SSL 통신에 사용할 공개키를 클라이언트에게 제공한다.
SSL 인증서 내용
1) 서비스의 정보 (인증서를 발급한 CA, 서비스의 도메인 등등)
2) 서버 측 공개키 (공개키의 내용, 공개키의 암호화 방법)
SSL 인증서 방식
1) 공개키
2) 대칭키
SSL 적용을 위한 인증서 발급**
=> CA, RA 민간 기업의 인증서 구입
=> 클라이언트가 접속한 서버가 클라이언트가 의도한 서버가 맞는지를 보장하는 역할
- CA/RA 기업 점유율
1) Symantec (VeriSign, Thawte, Geotrust) with 42.9% market share
2) Comodo with 26%
3) GoDaddy with 14%
4) GlobalSign with 7.7%
SSL 인증서 내용
1) 서비스의 정보 (인증서를 발급한 CA, 서비스의 도메인 등등)
2) 서버 측 공개키 (공개키의 내용, 공개키의 암호화 방법)
SSL 통신 절차
- handshake
- 1) Client Hello
-> 보유 암호화 방식 정보 전송, 랜덤 데이터 전송
2) Server Hello
-> 합의 암호화 방식 정보 응답, 인증서 정보(서버 공개키), 랜덤 데이터 정보
3) Client Check
-> 서버에서 전송한 인증서에 대한 복호화 진행
4) pre master secret -> master secret -> session key
4-1) client : 랜덤 데이터 조합 (서버 공개키로 암호화)
4-2) server : 랜덤 데이터 복호화(서버 비공개키로 복호화)
5) handshake 종료
- session
- client, server : session key 값으로 수신 데이터 암복호화
- session 종료
- session key 폐기
CA 인증서 발급 시 얻는 파일
- ssl.key : 서버쪽 비공개키
- ssl.crt : 디지털 인증서
- ca.pem : ROOT CA 인증서
- sub.class1.server.ca.pem : 중계자 인증서
CA 인증서 적용
1) SSL 모듈 활성화
2) 발급받은 CA 인증서 파일 경로 지정
3) vitualhost(도메인 서비스) 기능 설정 및 활성화 (https 설정 적용)