- 공개키와 해당 공개키의 소유자를 연결짓는 전자문서. 인증서는 일반적으로 CA(Certification Authority)가 전자서명을 통해 생성. 오늘날 사용되는 대부분의 인증서는 X.509 버전 3 표준을 따름.
1. 일련번호 : 인증서를 발급한 인증기관 내의 유일번호
2. 버전 : X.509의 버전을 나타냄. 현재 3.0이 사용
3. 서명 알고리즘 : 인증서 발급 시 사용된 알고리즘의 식별자
4. 발급자 : 인증서를 발급한 CA의 DN(Distinguished Name; X.500 표준에 따라 명명됨)
5. 유효기간 : 인증서의 유효기간. 시작일과 만료일로 구성.
6. 주체 : 인증서의 소유자 DN
7. 주체의 공개키 정보 : 공기캐 값, 알고리즘 식별자 등으로 구성
인증서의 라이프사이클
인증서 신청 -> 인증서 신청 검증 -> 인증서 발행 -> 인증서 수령 -> 인증서 사용 -> 인증서 일시 정지(suspension) -> 인증서 폐지(revocation) -> 인증서 만기 및 재개(renewal)
- 인증서의 서명 확인은 인증서의 CA의 공개키를 이용하여 확인. 이 때 CA의 공개키를 확인하기 위해 해당 CA의 인증서를 확인해야함. 이와 같은 절차의 필요로 인해 최상위 인증기관의 인증서까지 확인하는 절차를 거침.
국내 공인증서의 발전 전망
- 현재의 PC 저장 방식 공인인증서의 경우 PC에 저장하는 것 자체가 보안성에 문제가 있음. 추후 보안토큰에 공인 인증서를 저장하는 방식으로 변경될 전망(
기사 참고)
X.509의 정의PKI를 위한 ITU-T 표준으로서 PKC의 표준 포맷과 인증 경로 확인 알고리즘(certification path validation algorithm)을 정의. 1996년 version 3 발표. 일반적으로 X.509 인증서는 RFC3280에 명시된대로 IETF의 PKIX(PKI working group) 인증서와 X.509 v3 인증서 표준의 CRL(Certificate Revocation List) 프로파일을 가리킨다.
X.509의 특징- X.500 전통의 DN(Distinguished Name)뿐 아니라 여러 종류의 name 형식을 인식 : internet e-mail address, Internet domain Name, X.400 e-mail address, X.500 directory name등
- Internet Explorer, Netscape/Mozilla firefox 등 대부분의 유명 브라우저에는 루트 인증서가 기본적으로 장착되어 있어 SSL 인증서가 바로 동작하므로, 브라우저 소유자는 어떤 CA가 신뢰 가능한지를 바로 알 수 있다.
- X.509는 CRL 표준을 포함하지만 IETF에서 승인한 인증서 유효성 검사 방식은 OCSP이며 대부분의 유명 브라우저는 CRL을 검사하지 않는다(검사로 인한 성능 저하로 인해)
X.509의 구조(version 3)
- 인증서
버전, 일련번호, 알고리즘 ID, 발행자(Issuer), 유효성, 주체, 주체 공개키 정보(공개키 알고리즘, 주체의 공개키), 발행자 유일 번호(선택 사항; Unique Identifier), 주체 유일 번호(선택 사항), 확장 필드(선택 사항)
- 인증서 서명 알고리즘
인증서 서명
X.509의 예
Certificate:
Data:
Version: 1 (0x0)
Serial Number: 7829 (0x1e95)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc,
OU=Certification Services Division,
CN=Thawte Server CA/emailAddress=server-certs@thawte.com
Validity
Not Before: Jul 9 16:04:02 1998 GMT
Not After : Jul 9 16:04:02 1999 GMT
Subject: C=US, ST=Maryland, L=Pasadena, O=Brent Baccala,
OU=FreeSoft, CN=www.freesoft.org/emailAddress=baccala@freesoft.org
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:b4:31:98:0a:c4:bc:62:c1:88:aa:dc:b0:c8:bb:
33:35:19:d5:0c:64:b9:3d:41:b2:96:fc:f3:31:e1:
66:36:d0:8e:56:12:44:ba:75:eb:e8:1c:9c:5b:66:
70:33:52:14:c9:ec:4f:91:51:70:39:de:53:85:17:
16:94:6e:ee:f4:d5:6f:d5:ca:b3:47:5e:1b:0c:7b:
c5:cc:2b:6b:c1:90:c3:16:31:0d:bf:7a:c7:47:77:
8f:a0:21:c7:4c:d0:16:65:00:c1:0f:d7:b8:80:e3:
d2:75:6b:c1:ea:9e:5c:5c:ea:7d:c1:a1:10:bc:b8:
e8:35:1c:9e:27:52:7e:41:8f
Exponent: 65537 (0x10001)
Signature Algorithm: md5WithRSAEncryption
93:5f:8f:5f:c5:af:bf:0a:ab:a5:6d:fb:24:5f:b6:59:5d:9d:
92:2e:4a:1b:8b:ac:7d:99:17:5d:cd:19:f6:ad:ef:63:2f:92:
ab:2f:4b:cf:0a:13:90:ee:2c:0e:43:03:be:f6:ea:8e:9c:67:
d0:a2:40:03:f7:ef:6a:15:09:79:a9:46:ed:b7:16:1b:41:72:
0d:19:aa:ad:dd:9a:df:ab:97:50:65:f5:5e:85:a6:ef:19:d1:
5a:de:9d:ea:63:cd:cb:cc:6d:5d:01:85:b5:6d:c8:f3:d9:f7:
8f:0e:fc:ba:1f:34:e9:96:6e:6c:cf:f2:ef:9b:bf:de:b5:22:
68:9f
댓글을 달아 주세요