공개키 기반 구조

From IT Wiki
Revision as of 23:42, 1 May 2020 by 김창수 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
PKI, Public Key Infrastructure

개요

  • 공개키 암호화 기술과 신뢰된 인증기관을 통해 인증서를 발행하고 전자서명, 부인방지 등의 기능을 제공하는 보안 체계
  • 대표적인 사용 예로 공인인증서와 SSL이 있다.
둘다 Server-Client, 또는 Peer-To-Peer끼리 자체적으로 암호화 키를 교환하지 않는다.
공인인증기관을 두고, 인증서를 기반으로 소통한다.

RFC 2822에선 다음과 같이 정의한다.

PKI는 공개키 암호화를 기초로, 인증서를 생성·관리·저장·분배·취소 하는데 필요한 하드웨어, 소프트웨어, 사람, 정책, 절차이다.

구성

  • 인증기관(CA, Certification Authority)
    • 인증서 발행기관. 아래 3계층으로 구분할 수 있다.
    1. 정책 승인기관(PAA, Policy Approving Authority)
    2. 정책 인증기관(PCA, Policy Certification Authority)
    3. 인증기관(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): 전자서명 비밀키의 이동성 보장을 위한 키 로밍 서비스


구조

공인인증구조.png

계층 구조

  • 위에서 설명한 대로 인증기관이 계층적으로 존재하는 트리형태의 구조
  • 인증경로 탐색이 용이하다.
  • 최상위 인증기관 간의 인증은 허용(국제 상호동작 지향)하나, 하위 인증기관끼리는 인증 할 수 없다.
  • 최상위 인증기관의 비밀키 노출시 전 인증기관에 위협이 된다.

네트워크 구조

  • 상하위 관계 없이 인증의 표준만 가지고 인증기관 각각이 자신의 정책에 따라 독립적으로 존재
  • 모든 인증기관이 상호 인증을 할 수 있다.
  • 인증경로 탐색이 복잡하다.
  • 한 인증기관의 비밀키가 노출될 경우 국소적인 피해가 발생한다.

혼합형 구조

  • 계층 구조와 네트워크 구조를 필요에 따라 적절히 혼합한 구조
  • 계층 구조를 기반으로 하되, 네트워크 구조의 융통성을 가미하는 경우


인증서(PKC, Public Key Certificate)

인증서의 구성

  • 이름 소속 등 개인식별 정보, 공개키, 인증기관의 서명
  • 인증기관이 "저 이름, 소속 등을 가진 사람은 이 공개키를 가진다." 라고 인증하는 파일

인증서 표준

X.509
  • 인증서 표준 규격
  • 버전, 일련번호, 서명 알고리즘ID, 발행자 이름, 유효기간, 주체 이름, 주체의 공개키, 발행자 유일 식별자, 주체 유일 식별자, 확장, 서명으로 구성