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).
[편집] 바깥 고리
- (영어) ITU-T Recommendation X.509 : Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks
- (영어) Peter Gutmann's articles, an overview of PKI [1], X.509 implementation notes X.509 Style Guide