CA(인증기관)이란?
디지털 통신 및 거래에 대한 신뢰도를 높이기 위해 디지털 인증서를 발급하는 조직
1. 서버의 인증서 확인이 중요한 이유
- 인터넷에서 클라이언트(사용자)와 서버 간의 데이터 통신은 보안을 필수로 요구
- 하지만 서버가 신뢰할 수 있는 대상인지 검증되지 않은 상태에서 통신이 이뤄진다면, 중간자 공격(Man-in-the-Middle Attack)과 같은 보안 위협에 노출
- 이를 방지하기 위해 HTTPS 프로토콜은 서버의 인증서를 검증하는 과정을 포함
2. 서버 인증서 확인 과정
a. 서버가 CA에 인증 요청
- 서버는 자신의 사이트 정보와 공개키를 CA(인증기관)에 전달
- 이 요청은 서버가 자신이 신뢰할 수 있는 기관으로부터 인증받기를 원하는 과정
b. CA에서 인증서 발급
- CA는 서버에서 받은 정보를 검토하여 유효성을 확인합
- 확인이 완료되면, CA는 CA의 개인키를 사용하여 해당 정보 서명
- 이 과정을 통해 디지털 인증서가 생성
c. 인증서 전달
- CA는 생성한 인증서를 서버에 전달
- 서버는 이 인증서를 저장하여 클라이언트 요청 시 인증서를 전송할 준비를 함
d. 클라이언트에서 서버로의 접속 요청
- 사용자가 서버에 접속하려는 요청 전송
예: 브라우저에서 웹사이트 접속
e. 서버에서 인증서 전달
- 서버는 클라이언트로 인증서를 전송
- 이 인증서에는 서버의 공개키와 CA 서명 포함
f. 클라이언트가 인증서를 검증
- 클라이언트는 CA의 공개키를 사용하여 인증서를 복호화
- CA의 공개키는 대부분의 클라이언트(브라우저나 OS)에 사전 설치되어 있음
- 복호화에 성공하면 해당 인증서가 CA에 의해 발급되었음을 신뢰
- 복호화된 인증서를 통해 서버의 공개키 획득
3. 서버 인증서 확인의 결과
- 클라이언트는 서버의 공개키를 신뢰하며, 이를 기반으로 대칭키 교환 또는 암호화된 데이터 통신 시작
- 인증서 검증이 실패하면, 클라이언트는 해당 서버와의 연결을 차단하고 경고 메시지를 표시
'네트워크' 카테고리의 다른 글
HTTP & HTTPS (2) | 2024.11.06 |
---|---|
대칭키 & 비대칭키 (0) | 2024.10.30 |
[iOS] About Notification & Delegation (0) | 2024.10.26 |
[iOS] About WidgetKit - 1 (0) | 2024.10.24 |
[iOS] About JWT(Jason Web Token) (0) | 2024.10.17 |