2019. 10. 8. 22:15ㆍ정보보안
공개키 기반 구조(PKI Public Key Infrastructure)는 공개키 인증서의 인증성을 제공하는 신뢰구조를 말한다. 다수의 인증기관을 포함하는 복잡한 구조에서 상호 인증을 위한 계층적 인증체계를 관리한다. 이에는 인증서 발행, 배달, 관리, 인증네트워크 등이 포함된다. 즉, 개방형 네트워크 환경에서 보안요구 사항을 만족하게 하기 위해서 공개키 암호화 인증서를 사용할 수 있게 한 구조를 말한다.
1. PKI 구성요소 : PKI는 다수요소로 구성되어 있다. 인증서나 디지털 데이터 그리고 인증기관들도 포함된다. 이러한 각 요소를 컴포넌트라 부른다. PKI는 공개키 인증서, 인증기관, 저장소, 디렉터리, 사용자, 등록기관 등의 컴포넌트로 구성되어 있다.
2. 공개키 인증서는 해당키가 누구 것인지 알려준다. 인증서 안에는 공개키 정보와 공개키 주인 정보가 있다. 인증기관은 공개키 인증서를 발급하고 철회하는 기관을 말한다. 저장소는 공개키 인증서를 저장하고 있는 기관이다. 사용자는 공개키를 사용하는 사람이다. 이 중에서 PKI에서 가장 중요한 역할을 하는 것이 바로 '공개키 인증서'이다. 공개키 인증서는 공개키 인증서, 인증서 정책, 인증서 경로, 인증서 철회 리스트 등으로 구성되어 있다.
3. 공개키 인증서는 해당 공개키가 누구 것인지 공개키에 맞는 개인키를 가지고 있는 사람이 누구인지 안다. 인증정책은 인증서가 어떠한 방식으로 사용될 것인가를 알려주고, 인증서 경로는 인증서들을 연결할 수 있는 방법을 제공한다. 인증서 철회리스트는 공개키 인증서가 유효한지 확인시켜 주는 역할을 한다.
4. PKI 컴포넌트
(1) CA(Certification Authority) : CA 인증기관은 PKI구조에 가장 기반이 되는 요소이다.
CA는 인증서 발급, 인증서 상태관리, 인증서 문제시 해당 인증서 철회를 위한 CRL 발급, 유효한 인증서와 CRL의 리스트 발행, 지금까지 발행한 인증서와 CRL의 모든 리스트의 저장 등의 역할을 하고 있다. CA는 인증서와 인증서 관리를 위한 모든 작업을 담당한다고 보면 된다.
(2) 저장소 : 인증서와 CRL을 사용자에게 분배하는 역할을 한다. 저장소는 CA로부터 인증서와 CRL을 받아 내부적으로 저장하고 이를 요구하는 사용자에게 나누어 준다. CA도 같은 역할이 있지만 인증서와 CRL 숫자가 너무 많아 따로 저장소에서 CA가 발급한 인증서와 CRL을 저장하고 있다. 사용자들의 요청이 있을 때 해당 인증서와 CRL을 사용자에게 전송한다.
(3) 사용자 : 인증서를 사용하는 사람이다. 인증서를 CA로부터 발급받을 수 있고 다른 사람의 인증서를 사용해서 인증할 수도 있다.
(4) 인증서 정책 : 인증서를 어떻게 사용할 것인가에 따른 항목이 들어갈 수 있다. 이것을 인증서 정책이라 한다. 이는 인증서 역할을 정할 수도 있고 이러한 역할이나 정책은 인증서를 발급하는 사람의 수준에 따라 결정이 된다. 발급받는 사람의 신용이 높다면 인증서 정책에도 이를 반영하여 높은 권한이 신원에 대한 믿음이 적은 사람이 낮은 권한이 인증서 정책에 반영될 것이다.
(5) 인증요청서 : 인증서 발급을 위해서는 인증 요청서를 만들어야 한다. 신용카드를 만들기 위하여 신청서를 먼저 만드는 원리와 같다고 보면 된다. CA에게 인증서를 발급해 달라고 요청하기 위해서는 먼저 인증 요청서를 만들고 이 요청서에는 사용자, 주체의 정보와 공개키 등 여러 가지 정보가 들어 있다. CA는 인증 요청서 심사 후에 사용자에게 인증서를 발급한다. 발급하는 인증서는 사용자가 보낸 인증 요청서에 있는 항목을 그대로 사용하게 된다.
(6) 인증서 철회 리스트 : 인증서 철회 리스트 CRL은 CA에서 발급된다. 이 CRL에는 CA가 발급한 인증서 중에서 철회된 인증서들의 리스트가 들어 있다. CRL은 악의적인 목적으로 사용되는 인증서를 확인하게 되면 이를 취소해야 한다. CA가 인증서를 발급했지만 내용이 잘못 기재되었을 때는 인증서를 취소해야 한다. CRL은 취소해야 하는 인증서 리스트를 가지고 있다. CA는 자신이 발급한 인증서를 일련번호로 구분하는데 CRL에는 철회되어야 할 인증서 일련번호가 들어가 있다. CRL 안에는 CA를 나타낼 수 있는 CA 정보들과 CRL의 유효기간, 그리고 CA가 CRL의 내용에 서명한 서명 값이 들어 있다. 특히 특정인의 인증서를 인증하려는 사용자들은 그 사람의 인증서를 발급한 CA로부터 CRL을 받아서 그 사람의 인증서가 CRL에 포함되었는지 검사해야 한다. 혹시 철회된 인증서일지도 모르기 때문이다.
5. PKI 인증방식 확장
(1) 단일 인증기관을 이용한 인증 : 단일 인증기관이 각 사용자의 공개키에 대한 인증서를 발급하는 형태를 말하며 인증 서비스 지원영역이 단일 인증기관으로 제한되어 있다.
(2) 상호인증을 이용한 인증 : 인증기관이 각 사용자의 공개키에 대한 인증서를 발급한다. 그리고 인증기관 상호 간에 인증기관의 공개키에 대한 인증서를 발급한다. 이렇게 함으로써 인증 서비스 영역이 확장되고 네트워크형 구조가 된다. 하지만 추가적인 확장이 쉽지 않다는 단점이 있다.
(3) 계층적 구조를 이용한 인증 : 인증기관들은 역할에 따라 계층적으로 구성된다. 상위 인증기관이 하위 인증기관에 대하여 인증하는 형식으로 계층적으로 인증해 나가는 방식이다. 이렇게 함으로써 인증 서비스 영역이 확장되고 추가적인 인증 서비스 영역 확장이 쉽게 된다.