-
인증서 암호화 방식
- 공개 방식 (e.g. rsa)
- 대칭키 방식 (e.g. aes)
-
인증 절차
- 클라이언트->서버
- 랜덤데이터를 만들어 서버에 보낸다
- 사용가능한 암호화 방식을 서버에 보낸다
- 서버->클라이언트
- 랜덤데이터를 만들어 클라이언트에 보낸다
- 클라이언트가 사용가능한 암호화방식을 선택해 클라이언트에 보낸다
- 인증서를 보낸다 (공개키, CA, 도메인 등 포함)
- 클라이언트->CA
- 인증서를 보내 검증받는다
- 클라이언트
- 위에서 생성한 랜덤데이터를 조합해 임시키를 생성한다
- 임시키를 인증서의 공개키로 암호화한다
- 클라이언트->서버
- 암호화한 임시키를 서버에 전송한다
- 서버
- 인증서의 공개키로 암호화됐기때문에 임시키를 서버에 저장된 비밀키로 복호화한다
- 클라이언트->서버
-
CA (Certificate Authority)
- 공인된 CA에서 받은 인증서는 공인 CA의 비밀키로 암호화됐기때문에 인증서의 공개키로 복호화가 가능하다
- 사설 CA에서 받은 인증서는 브라우저에 저장된 CA 리스트에 없기때문에 브라우저에 경고 표시가 나타난다
-
인증서 종류
- 공인CA 인증서
- 유료
- 많은 사람에게 오픈되는 사이트인 경우 사용
- 브라우저에 안전함 표시됨
- 사설CA 인증서
- 무료
- 인증서에 금지된 정보 포함 가능
- 브라우저에 안전하지 않음 표시됨
- 자체서명 인증서
- CA 없이 발급된 인증서
- 인증서 자체가 CA 역할
- 보안에 취약하지만 사용 용이
- 공인CA 인증서