출처 : m.blog.naver.com/nttkak/20130245553 사이트에서 참고하였습니다. 

 

CA가 인증서를 발급 할 때, 인증서에 들어가는 항목의 종류와 항목의 값들을 CA 나름대로 기입 한다면, 인증서를 사용하는 사용자마다 다른 형식의 인증서를 가지고 있을 것이고, 인증서의 내용을 이해하는데 문제가 생긴다. 

 

따라서 인증서를 작성 함에 있어서 표준이 필요하다. 

현재 가장 널리 사용되고 있는 공개키 인증서의 표준은 X.509 형식이다. 

X.509 라는 것은 표준번호이며, 그래서 이 형식 대로 작성된 인증서를 X.509 라고 부르는 것이다. 

 

[ X.509 인증서 항목 ]

 

X.509 인증서는 현재 (2020 년 9월 기준) 버전 3까지 발표된 상태이다. 

버전 3 인증서와 이전의 X.509 인증서와 다른 점은 버전 3에는 Extension 이라는 섹션이 추가되었다. 

 

이 Extension 섹션은 필수 항목이 아닌 추가적인 사항을 나타내는 항목들이다. 

다음은 X.509 형식의 필수/추가 항목이다.  ( Extension 은 중요한 것만 설명됨 )

항목명 필수/옵션 설명
필수 정보
Version 필수 인증서의 버전으로 V3 가 들어간다.
SerialNumber 필수 인증서 고유의 일련번호
Signature 필수 발급자의 서명
Issuer 필수 발급자의 정보. DN( Distinguished Name) 형식
Validity 필수 인증서의 유효기간. 시작 날자와 종료날자
Subject 필수 주체의 정보. DN( Distinguished Name ) 형식
SubjectPublicKeyInfo 필수 주체의 공개키
항목명 필수/옵션 설명
Extension
SubjectAltName 필수/옵션 주체의 다른 이름을 나타냄.
DN 형식이 아니라 여러 종류의 값이 들어갈 수 있다. 주로 주체의 도메인 네임이 들어간다
PolicyMappings 옵션 정책 정보를 다른 정책들과 연결 할 수 있는 정보를 제공
NameConstraints 옵션  
PolicyConstraints 옵션 인증서 경로의 제약 사항을 정함
IssuerAltName 옵션 발급자의 다른 이름. DN 형식이 다른 값들이 들어갈 수 있다. 주로 발급자의 도메인 네임이 들어감
AuthorityKeyIdentifier 옵션 발급자의 키를 나타낼 수 있는 키의 이름
SubjectKeyIdentifier 옵션 주체의 키를 나타낼 수 있는 키 이름
BasicConstraints 필수/옵션 제약 사항. 주로 이 인증서가 다른 인증서를 발급 할 수 있는 권한이 있는지 없는지를 나타낸다. 
CRLDistributionPoints 옵션 이 인증서의 CRL을 얻을 수 있는 곳을 정한다.
KeyUsage 옵션 인증서에 기입된 공개키가 사용되는 보안 서비스 종류를 결정.
보안 서비스의 종류는 서명, 부인방지, 전자 서명, 키교환 등이 있다. 

위 표에서 언급된 DN의 항목들과 설명은 다음 표와 같다

항목 설명 DN 항목 Example
CountryName 국가코드 2자리 C KR
StateOrProvinceName 주 이름.
(우리나라 경우 도 / 시 )
ST Kyunggi
LocalityName 시 이름 또는 구 이름 L Pangyo
OrganizationName 소속 기관명 O Naver
OrganizationalUnitName 소속 부서명 OU Dev
CommonName 주체를 나타내는 이름 CN test.naver.com
EmailAddress 이메일 emalAddress test@naver.com

 

[ X.509 인증서가 저장되는 여러 가지 형식들 ]

 

X.509 표준의 인증서 형식은 ASN.1 ( Abstract Syntax Notation One ) 이라는 명명규칙을 따름

ASN1. 은 C 언어 같은 프로그래밍 언어와 비슷하다. 

많은 변수 형식이 있고, 많은 구조체 데이터 저장 형식이 있다. 인증서의 각 항목은 OID 라는 일련

번호로 나타낼 수 있으며 항목의 데이터는 ASN.1 타입의 데이터로 표현된다. 

 

ASN.1 형식은 다음 기회에 설명하며, X.509 인증서의 각 항목의 내용은 ASN.1 의 형식에 맞게 

저장된다는 것만 알아두자.

 

ASN.1 형식으로 되어 있는 X.509 인증서의 내용을 파일로 저장 할 때 주로 두가지 종류의 형식으로 

저장한다. 

첫 번째는 X.509 인증서 내용을 Base64 encoding 으로 인코딩 하여 저장하는 것이다. 

두 번째는 X.509 인증서 내용을 binary 형태로 저장하는 것이다. 

 

Base64 encoding 형식은 PEM 이고, binary 형식은 DER 이다. 

 

 

'Development > Security (보안)' 카테고리의 다른 글

MTLS 란 무엇인가? 통신과정은 ?  (0) 2020.10.27
SSL 통신원리  (0) 2020.10.14
SSL 이란?  (0) 2020.09.22
JAVA 사설인증서 MTLS 통신 ( Server )  (0) 2020.09.16
Java 사설인증서 MTLS 통신 ( Client )  (0) 2020.09.15

+ Recent posts