PKI에서는 인증기관, 등록기관, 그리고 사용자 간의 각종 인증서 업무를 처리하기 위한 표준적인 통신 프로토콜이 필요하다. 이를 CMP(Certificate Management Protocols)라 하며, 인증서 발급/갱신/폐지 요청 및 응답 처리에 사용된다. 인증서 관리 프로토콜은 PKI 구성요소 간의 온라인 상호연동 뿐만 아니라, 상호인증 하려는 두 인증기관 사이에서도 사용될 수 있다.
대한민국의 행정전자서명인증체계에서는 RFC4210을 준용하여 인증서 관리를 수행하며, 그에 필요한 메시지는 RFC4211의 메시지 형태를 사용한다. 인증서 관리 규격들은 다음의 문서에서 표준을 명시하고 있다.
■ RFC 4210 Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)
PKI의 초기화와 사용자의 등록, 인증서 발급, 갱신, 폐지 등 PKI 관리를 위한 방안을 기술하고, 이를 구현하기 위한 메시지 구문을 정의한다.
■ RFC 4211 Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)
RFC4210에서 기술된 내용 중 인증서 요청과 관련된 메시지 구문을 정의한다.
■ PKCS#10 v1.7 Certification Request Syntax Standard
PKCS#10에서 정의하는 요청서의 내용은 다음과 같다.
여기서 subjectPublicKeyInfo는 X.509에서 정의되는 것으로 공개키와 공개키가 사용되는 알고리즘 정보를 포함한다.
인증서 관리 프로세스
인증서 \ 단계 | 발급 | 갱신 | 폐지 |
최상위인증기관(Root CA) 인증서 |
1. RootCA 설치 시 콘솔에서 인증서와 키 파일 생성
2. 인증서를 Ldap에 수동 게시
※ RootCA에서 CA인증서 발급 시 2인 이상의 Pin 입력 필요
|
1. RootCA 콘솔에서 갱신 명령어로 RootCA 인증서 갱신
2. 갱신된 RootCA 인증서를 Ldap에 수동 게시
|
1. RootCA 콘솔에서 폐지명령으로 인증서 폐지
2. 폐지된 RootCA 인증서를 Ldap에서 삭제
|
인증기관
(CA) 인증서
|
1. 해당 인증기관에서 CSR 제공
2. RootCA 관리도구에서 CSR을 이용하여 인증서 발급
3. 인증서를 Ldap에 수동 게시
|
1. RootCA 관리도구에서 CA 인증서 갱신
2. 갱신된 CA 인증서를 Ldap에 수동 게시
|
1. RootCA 관리도구에서 CA인증서 폐지
2. 인증서를 Ldap에서 삭제
|
등록기관
(RA) 인증서
|
1. CA 관리도구에서 RA 인증서와 키 파일 생성
2. RA 인증서를 Ldap에 게시
|
1. CA 관리도구에서 RA 인증서와 키 파일 갱신
2. RA 인증서를 Ldap에 게시
|
1. CA 관리도구에서 인증서 폐지
2. 인증서를 Ldap에서 삭제
|
원격등록기관
(LRA) 인증서
|
1. RA 관리도구에서 LRA 인증서와 키 파일 생성
2. 발급된 인증서 오프라인 전달
※LRA 인증서는 LDAP 게시안함
|
1. RA 관리도구에서 LRA 인증서와 키 파일 갱신 | 1. RA 관리도구에서 LRA 인증서 폐지 |
OCSP 인증서 |
1. 해당 CA가 OCSP 인증서와 키파일 생성
2. OCSP 인증서를 Ldap에 자동 게시
3. 발급된 인증서를 OCSP 시스템에 로드 및 설치
|
1. OCSP 서버는 일주일(7일) 주기로 OCSP 단기인증서 자동 갱신을 해당 RA에 요청
2. 갱신된 인증서 Ldap에 자동 게시
|
1. 해당 RA에서 OCSP 인증서 폐지 요청
2. 해당 CA에서 OCSP 인증서 폐지 및 LDAP에서 삭제
|
시점확인
(TSA) 인증서
|
1. RA관리도구에서 TSA 인증서 발급요청
2. TSA인증서를 Ldap에 게시
3. 발급된 인증서를 시점확인 서버에 설치
|
1. RA관리도구에서 TSA 인증서 갱신요청
2. TSA인증서를 Ldap에 게시
3. 갱신된 인증서를 시점확인 서버에 설치
|
1. RA관리도구에서 TSA 인증서 폐지
2. 폐지된 인증서는 Ldap에서 자동 삭제됨
|
신뢰기관 인증서 목록 (CTL) |
1. RootCA 관리도구에서 CTL 생성
2. 생성된 CTL은 Ldap에 자동 배포
|
1. RootCA 관리도구에서 3개월 주기로 CTL 자동 갱신
2. 갱신된 CTL은 Ldap에 자동 배포
|
1. RootCA 관리도구에서 CTL 폐지
2. CTL은 Ldap에 자동 삭제
|
웹서비스 인증서 |
1. 인증홈페이지 툴 또는 웹서버에서 CSR 제공
2. 인증홈페이지에서 CSR을 이용하여 웹서비스 인증서 발급
3. 발급된 인증서를 인증홈페이지에서 다운로드
|
1. 인증홈페이지에서 웹서비스 인증서 갱신
2. 갱신된 인증서를 인증홈페이지에서 다운로드
|
RA 관리도구에서 웹서비스 인증서 폐지 |
인증서 관리 메시지
데이터 구조
인증서 관리에 사용되는 모든 메시지는 다음과 같은 구조를 가지고 있다.
PKI Header | PKI Body | PKI Protection | ExtraCerts(Sequence of Certificate) |
PKI Header는 인증서 관리 메시지에 공통적으로 적용되는 정보인 주소 지정(addressing)과 발급, 갱신, 폐지등을 구분할 수 있는 정보를 포함한다.
PKI Body는 특정 메시지와 관련된 정보를 포함한다.
메시지 프로파일
인증서 관리 메시지는 크게 인증서 발급(Initial Registration), 인증서 갱신(Key Update), 인증서 폐지(Revocation) 세가지로 구분되어, 전자서명용과 암호화용 인증서를 함께 발급/갱신/폐지 요청한다.
또한 인증서 정책 정보를 전달하기 위해 사용되는 General Message와 General Response가 존재한다.
References
행정전자서명 프로파일 및 알고리즘 상세서(웹트러스트 인증 (gpki.go.kr))
'Security > WEB' 카테고리의 다른 글
[웹 크롤링] cloudflare 차단 우회 (1) | 2023.12.27 |
---|---|
[웹해킹] OAST / OOB(Out-of-Band) Testing (0) | 2023.05.27 |
제 3자 쿠키 허용, 왜 위험할까? (0) | 2022.10.30 |
[WEB] Client Side Storage (0) | 2022.10.09 |
2FA 인증 및 우회 방법 정리 (0) | 2022.08.31 |