공개키 기반 구조: Difference between revisions

From IT Wiki
No edit summary
No edit summary
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:
;PKI, Public Key Infrastructure
;PKI, Public Key Infrastructure
==개요==
==개요==
* 공개키 암호화 기술과 신뢰된 인증기관을 통해 인증서를 발행하고 전자서명, 부인방지 등의 기능을 제공하는 보안 체계
* [[공개키 암호화]] 기술과 신뢰된 인증기관을 통해 인증서를 발행하고 전자서명, 부인방지 등의 기능을 제공하는 보안 체계
* 대표적인 사용 예로 공인인증서와 SSL이 있다.  
* 대표적인 사용 예로 공인인증서와 SSL이 있다.  
:둘다 Server-Client, 또는 Peer-To-Peer끼리 자체적으로 암호화 키를 교환하지 않는다.<br> 공인인증기관을 두고, 인증서를 기반으로 소통한다.
:둘다 Server-Client, 또는 Peer-To-Peer끼리 자체적으로 암호화 키를 교환하지 않는다.<br> 공인인증기관을 두고, 인증서를 기반으로 소통한다.
Line 29: Line 29:
== 시스템 요소 ==
== 시스템 요소 ==
* KGS(Key Generation System): 공개키, 비밀키 쌍 생성
* KGS(Key Generation System): 공개키, 비밀키 쌍 생성
* OCSP, CRL
* [[OCSP]], [[CRL]]
** 인증서의 유효성 검증을 위해 실시간성의 OCSP 또는 배치성의 CRL 이용
** 인증서의 유효성 검증을 위해 실시간성의 OCSP 또는 배치성의 CRL 이용
** OCSP(Online Certificate Status Protocol): 발급된 인증서의 효력 실시간 조회
** OCSP(Online Certificate Status Protocol): 발급된 인증서의 효력 실시간 조회
Line 38: Line 38:


==구조==
==구조==
[[파일:공인인증구조.png]]
[[파일:공인인증구조.png|700px]]
===계층 구조===
===계층 구조===
* 위에서 설명한 대로 인증기관이 계층적으로 존재하는 트리형태의 구조
* 위에서 설명한 대로 인증기관이 계층적으로 존재하는 트리형태의 구조
Line 61: Line 61:
* 인증기관이 ''"저 이름, 소속 등을 가진 사람은 이 공개키를 가진다."'' 라고 인증하는 파일
* 인증기관이 ''"저 이름, 소속 등을 가진 사람은 이 공개키를 가진다."'' 라고 인증하는 파일


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

Latest revision as of 23:42, 1 May 2020

PKI, Public Key Infrastructure

개요[edit | edit source]

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

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

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

구성[edit | edit source]

  • 인증기관(CA, Certification Authority)
    • 인증서 발행기관. 아래 3계층으로 구분할 수 있다.
    1. 정책 승인기관(PAA, Policy Approving Authority)
    2. 정책 인증기관(PCA, Policy Certification Authority)
    3. 인증기관(CA, Certification Authority)
  • 검증기관(VA)
    • 권장되지만 선택적이다. 인증기관에서 이 일을 할 수도 있다.
  • 등록기관(RA)
    • 선택적이다. 인증기관에서 이 일을 할 수도 있다.
  • 저장소(Repository)
    • 대표적으로 X.500, LDAP 등을 이용한다.
  • 사용자
    • 사람이 아닌 시스템도 포함이다.
    • 인증서를 요청하고, 생성하고, 검증하는 능동적인 역할을 하는 주체

시스템 요소[edit | edit source]

  • 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): 전자서명 비밀키의 이동성 보장을 위한 키 로밍 서비스


구조[edit | edit source]

공인인증구조.png

계층 구조[edit | edit source]

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

네트워크 구조[edit | edit source]

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

혼합형 구조[edit | edit source]

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


인증서(PKC, Public Key Certificate)[edit | edit source]

인증서의 구성[edit | edit source]

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

인증서 표준[edit | edit source]

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