- PKI, Public Key Infrastructure
개요
- 공개키 암호화 기술과 신뢰된 인증기관을 통해 인증서를 발행하고 전자서명, 부인방지 등의 기능을 제공하는 보안 체계
- 대표적인 사용 예로 공인인증서와 SSL이 있다.
- 둘다 Server-Client, 또는 Peer-To-Peer끼리 자체적으로 암호화 키를 교환하지 않는다.
공인인증기관을 두고, 인증서를 기반으로 소통한다.
RFC 2822에선 다음과 같이 정의한다.
PKI는 공개키 암호화를 기초로, 인증서를 생성·관리·저장·분배·취소 하는데 필요한 하드웨어, 소프트웨어, 사람, 정책, 절차이다.
구성
- 인증기관(CA, Certification Authority)
- 인증서 발행기관. 아래 3계층으로 구분할 수 있다.
- 정책 승인기관(PAA, Policy Approving Authority)
- 정책 인증기관(PCA, Policy Certification Authority)
- 인증기관(CA, Certification Authority)
- 검증기관(VA)
- 권장되지만 선택적이다. 인증기관에서 이 일을 할 수도 있다.
- 등록기관(RA)
- 선택적이다. 인증기관에서 이 일을 할 수도 있다.
- 저장소(Repository)
- 대표적으로 X.500, LDAP 등을 이용한다.
- 사용자
- 사람이 아닌 시스템도 포함이다.
- 인증서를 요청하고, 생성하고, 검증하는 능동적인 역할을 하는 주체
시스템 요소
- KGS(Key Generation System): 공개키, 비밀키 쌍 생성
- OCSP, CRL
- 인증서의 유효성 검증을 위해 실시간성의 OCSP 또는 배치성의 CRL 이용
- OCSP(Online Certificate Status Protocol): 발급된 인증서의 효력 실시간 조회
- CRL(Certificate Revocation List): 인증서의 유효성을 확인하기 위한 취소된 인증서 목록
- TSA(Time Stamp Authority): 정보 교환 시 시간정보를 포함시켜 위변조 및 부인방지 제공
- KMI(Key Management Infrastructure): 전자서명 비밀키의 이동성 보장을 위한 키 로밍 서비스
구조
계층 구조
- 위에서 설명한 대로 인증기관이 계층적으로 존재하는 트리형태의 구조
- 인증경로 탐색이 용이하다.
- 최상위 인증기관 간의 인증은 허용(국제 상호동작 지향)하나, 하위 인증기관끼리는 인증 할 수 없다.
- 최상위 인증기관의 비밀키 노출시 전 인증기관에 위협이 된다.
네트워크 구조
- 상하위 관계 없이 인증의 표준만 가지고 인증기관 각각이 자신의 정책에 따라 독립적으로 존재
- 모든 인증기관이 상호 인증을 할 수 있다.
- 인증경로 탐색이 복잡하다.
- 한 인증기관의 비밀키가 노출될 경우 국소적인 피해가 발생한다.
혼합형 구조
- 계층 구조와 네트워크 구조를 필요에 따라 적절히 혼합한 구조
- 계층 구조를 기반으로 하되, 네트워크 구조의 융통성을 가미하는 경우
인증서(PKC, Public Key Certificate)
인증서의 구성
- 이름 소속 등 개인식별 정보, 공개키, 인증기관의 서명
- 인증기관이 "저 이름, 소속 등을 가진 사람은 이 공개키를 가진다." 라고 인증하는 파일
인증서 표준
- 인증서 표준 규격
- 버전, 일련번호, 서명 알고리즘ID, 발행자 이름, 유효기간, 주체 이름, 주체의 공개키, 발행자 유일 식별자, 주체 유일 식별자, 확장, 서명으로 구성