21. 인증서와 인증국 - 보안의 기본 |
* 인증서란?
-
인증서(Certificate)란 자신이 올바른 존재라는 것을 나타내기 위해 사용하는 장치이다.
컴퓨터 세계에서는 이 인증서가 서버의 존재 증명이나 암호화 통신을 수행하기 위한 신뢰의 기초가 된다.
또한 전자서명을 하는 경우에 인증서를 사용하는 경우도 있다.
-
인증서에는 인증서의 발행자, 발행을 받는 사람, 유효기한과 같은 정보가 들어 있다.
* 인증서를 발행하기 위한 장치
-
컴퓨터 세계의 인증서는 인증국(CA: Certificate Authority)이라는 기관이 발행한다.
인증국을 유지 운용하는 장치를 PKI(Public Key Infrastructure: 공개키 기반)라고 부르는 경우가 있다.
PKI 는 신뢰하는 기업이 운영하는 경우도 있는가 하면 국가가 운영하는 경우도 있다.
국가가 운영하는 PKI 를 GPKI(Government PKI)라고 한다.
* 인증서의 검증 방식
-
서버 인증서를 검증하려면 인증서를 발행한 인증국의 인증서가 필요하다.
이와 같이 인증서를 검증하기 위한 인증서를 루트 인증서 또는 중간 인증서라고 부른다.
보통 루트 인증서는 OS 나 브라우저와 함꼐 배포되므로 사용자가 신경 쓸 필요가 없다.
한편 중간 인증서는 서버를 운용하는 측이 서버 인증서와 함께 서버에 저장하여 사용할 수 있도록 하고 있다.
-
인증서의 유효기한 전에 인증서를 무효화하는 경우가 있다.
이를 위해 사용되는 것이 인증서 폐기 목록(CRL: Certificate Revocation List) 또는 OCSP(Open Certificate Statue Protocol)에 의한 인증서의 유효성 확인이다.
* 다양한 인증국과 인증서의 예
-
루트 인증국 : 인증국의 최상위 인증국. 루트 인증국의 정당성은 자기 스스로 보증한다.
중간 인증국 : 루트 인증국으로부터 위임을 받은 인증국으로, 루트 인증국으로부터 신뢰받음으로써 자신을 보증한다.
루트 인증서 : 루트 인증국이 발행한 인증서가 올바른지 아닌지를 확인하는 근거가 되는 인증서. 루트 인증국 자신을 증명하는 인증서
중간 인증서 : 중간 인증국이 발행한 인증서가 올바른지 아닌지를 확인하는 근거가 되는 인증서. 중간 인증서 자체는 상위 인증국이 발행한다.
* 인증서 검증 절차
-
서버가 루트 인증국이 발행한 인증서를 사용하는 경우
1. 이용자가 루트 인증서가 이미 들어있는 브라우저 등으로 서버에 인증서의 제시를 요구한다.
2. 서버는 루트 인증국이 발행한 인증서를 이용자에게 제시한다.
3. 이용자는 받은 인증서를 검증한다.
이용자가 서버의 인증서를 검증하는 방식은 이렇다.
1. 루트 인증국의 공개키를 추출한다.
2. 공개키를 사용하여 루트 인증국의 비밀키로 서명된 서버 인증서를 검증한다.
-
서버가 중간 인증국이 발행한 인증서를 사용하는 경우.
1. 이용자가 서버의 인증서 제시를 요구한다.
2. 서버는 서버 인증서와 중간 인증서를 제공한다.
3. 이용자는 받은 인증서를 검증한다.
이용자가 서버의 인증서를 검증하는 방식은 이렇다.
1. 중간 인증국의 공개키를 추출한다.
2. 공개키를 사용하여 중간 인증국의 비밀키로 서명된 서버 인증서를 검증한다.
3. 루트 인증서의 공개키를 추출한다.
4. 공개키를 사용하여 루트 인증국의 비밀키로 서명된 중간 인증서를 검증한다.
'프로그래밍 놀이터 > 보안' 카테고리의 다른 글
[도서 정리] 23. 바이러스 검사 - 보안의 기본 (0) | 2019.10.23 |
---|---|
[도서 정리] 22. 암호화 파일 시스템 - 보안의 기본 (0) | 2019.10.22 |
[도서 정리] 20. 전자서명과 그 응용 예 - 보안의 기본 (0) | 2019.10.20 |
[도서 정리] 19. 싱글 사인온 - 보안의 기본 (0) | 2019.10.19 |
[도서 정리] 18. 이중 인증 - 보안의 기본 (0) | 2019.10.19 |
댓글