X.509

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 찾기

X.509는 암호학에서 공개키 인증서와 인증알고리즘의 표준 가운데에서 공개 키 기반(PKI)의 ITU-T 표준이다.

목차

[편집] 역사와 활용

X.509는 1988년 6월 3일 X.500 표준안의 일환으로 시작되었다. 1993년 인증기관 고유 식별자와 주체고유 식별자가 추가된 v2가 발표되었으며, 1996년에 확장 기능(Extension)을 이용해 데이터를 추가할 수 있는 v3가 발표되어 현재 쓰이고 있다. PGP처럼 상호 신뢰를 기반으로 하는 웹 모델과 달리, X.509는 매우 엄격한 수직적 구조를 채택하였다. 따라서 하나의 인증 기관을 정점으로하는 트리 구조를 갖게 된다. 이러한 형태의 불편함을 해소하기 위해, v3는 보다 유연한 구조를 채택하여 몇 개의 신용할만한 Root CA끼리는 상호 인증, 혹은 자가 인증을 허용하고 있다.

[편집] 인증서

X.509 시스템에서 CA는 X.500 규약에 따라 서로 구별되는 공개키를 가진 인증서를 발행한다.

한 조직의 인증된 루트 인증서는 그 PKI 시스템을 사용하는 모든 직원들에 분배될 수 있다. 인터넷 익스플로러모질라, 오페라와 같은 브라우저는 SSL 인증서라 불리는 미리 설치된 루트 인증서가있다. 사용자가 이 루트 인증서를 제거하거나 사용중지할 수도 있기는 하지만, 거의 그러지는 않는다.

X.509는 또한 CRL (certificate revocation list) 구현을 위한 표준도 포함한다. IETF에서 승인된 인증서 유효성 점검 방법은 OCSP(Online Certificate Status Protocol)이다.

[편집] 인증서의 구조

X.509 v3의 디지털 인증서의 구조는 아래와 같다.

  • Certificate
    • Version 인증서의 버전을 나타냄
    • Serial Number CA가 할당한 정수로 된 고유 번호
    • Algorithm ID
    • Issuer
    • Validity
      • Not Before
      • Not After
    • Subject
    • Subject Public Key Info
      • Public Key Algorithm
      • Subject Public Key
    • Issuer Unique Identifier (Optional)
    • Subject Unique Identifier (Optional)
    • Extensions (Optional)
      • ...*Certificate Signature Algorithm
  • Certificate Signature

[편집] 인증서 파일 확장자

X.509 인증서의 확장자는 다음과 같다:

  • .CER - CER 암호화 된 인증서. 복수의 인증서도 가능.
  • .DER - DER 암호화 된 인증서.
  • .PEM - (Privacy Enhanced Mail) Base64로 암호화 된 인증서. "-----BEGIN CERTIFICATE-----"와 "-----END CERTIFICATE-----" 가운데에 들어간다.
  • .P7B - .p7c 참조.
  • .P7C - PKCS#7 서명 자료 구조(자료는 제외), 인증서이거나 CRL(복수도 가능).
  • .PFX - .p12 참조.
  • .P12 - PKCS#12, 공개 인증서와 암호로 보호되는 개인 키를 가질 수 있다(복수도 가능).

PKCS#7는 데이터를 서명하거나 암호화 할 때 쓰이는(enveloping) 표준이다. 서명된 데이터를 검증할 때는 인증서가 필요하기 때문에 서명 자료 구조에 인증서를 포함하기도 한다. .P7C 파일은 데이터가 아니라 서명 자료 구조일 뿐이다.

PKCS#12는 PFX(개인 정보 교환:Personal inFormation eXchange)이 발전된 형태이며, 하나의 파일에서 공개 / 개인 자료들을 교환할 때 쓰인다.

A .PEM 파일은 단수, 혹은 복수의 인증서와 개인 키를 가질 수 있으며 적절한 시작/종료 라인 사이에 위치한다(CERTIFICATE or RSA PRIVATE KEY).

[편집] 바깥 고리

개인 도구
이름공간

변수
행위
둘러보기
인쇄/내보내기
도구모음
다른 언어