자.. 이번에는 PKI(Public-Key Infrastructure).. 공개키 인증 구조에 대해 알아보자.
유저가 올바르게 공개키를 획득할 수 있도록 구현된 구조이다.
PKI는 여러가지 요소로 구성이 되어있다.
* 공개키 인증서
* 인증기관 (CA)
* 저장소
* 사용자
* 등록기관
이중에 가장 중요한게 공개키 인증서 겠죠.. 이놈도 여러가지 요소로 구성돼있다
- 공개키 인증서 : 해당 공개키의 주인, 그에 맞는 개인키를 가지고 있는 놈이 누군지.
- 인증서 정책 : 인증서가 어떤 방식으로 사용되나
- 인증서 경로 : 인증서 연결 경로
- 인증서 철회 리스트 (CRL, Certificate Revocation List) : 인증서 취소목록이다. 키가 유효한지..(X.509에 정의된 목록 이용)
일단 PKI가 뭔지 감을 잡아보자.
이렇게 CA 들이 계층 구조화 되어있는 것이다.
맨 위에 CA는 root CA로, CA1, CA2, CA3를 관리하는 녀석이다.
국가 단위로 인증서를 관리하려면 기관 하나에서 다 관리하기 힘들다. 그래서 저렇게 가지를 쳐서 관리를 함.
예를 하나 들어보자.
CA1에서 발급한 A사용자의 인증서를 표기하는 방법은
CA1<<사용자A>> 요렇게 생겼다.
자신의 인증서 + CA1의 인증서 모두 들고 있어야 한다.
+ Root CA 값은 안전하게 갖고 있어야 한다.
User1과 User5가 인증을 하려고 할 때,
user1은 일단 root CA의 공개키를 갖고 있어야 하고,
user5는 CA<<CA2>>, CA2<<USER5>> 를 user1에게 보낸다.
1. user1은 CA의 공개키를 이용하여 CA<<CA2>>를 검증한다.
2. CA2의 공개키를 추출한다. ( CA<<CA2>> 로 부터)
3. CA2의 공개키를 이용하여 CA2<<User5>>를 검증한다.
4. User5의 공개키를 추출한다 ( CA2<<User5>>로 부터)
그리고 .. root CA가 여러개인 경우가 있다. 국가와 국가간 인증할 때 그러하겠지.
그럴 땐 아래와 같이 교차 인증을 해야 한다.
위와 같이 계층 구조가 아니라 서로 인증을 해야 하는 구조이다.
'IT 그리고 정보보안 > Knowledge base' 카테고리의 다른 글
충돌 회피성 (=충돌 저항성) (0) | 2021.04.16 |
---|---|
PGP (Pretty Good Privacy) (0) | 2021.04.16 |
X.509 Authentication Service (0) | 2021.04.16 |
커버로스(KERBEROS) 인증 (0) | 2021.04.16 |
니덤-슈로더 프로토콜 (Needham-Schroeder Protocol) (0) | 2021.04.16 |