1. X.509 인증서 기본 구조
이전 글에서 언급한 X.509 인증서 구조를 참고한다면 인증서 구조에 대한 전체 맥락을 확인할 수 있다.
X.509 Certificate
│
├─ TBSCertificate
│ │
│ ├─ Version ┐
│ ├─ SerialNumber │
│ ├─ SignatureAlgorithm │
│ ├─ Issuer │ 기본필드
│ ├─ Validity │
│ ├─ Subject │
│ ├─ SubjectPublicKeyInfo ┘
│ │
│ └─ Extensions ─ 확장 필드
│
├─ SignatureAlgorithm
│
└─ SignatureValue
요약하자면 X.509 인증서는 TBSCertificate, SignatureAlgorithm, SignatureValue로 구성된 구조체이다. 그중 TBSCertificate에는 다양한 정보가 담겨 있으며, 해당 데이터는 기본 필드(Mandatory Fields)와 확장 필드(Extensions Fields)로 구분할 수 있다.
2. X.509 인증서 - 기본 필드 상세 설명
기본 필드는 X.509 인증서에 반드시 포함되어야 하는 핵심 정보이다. 이 필드들은 총 7개로 구성되며, 인증서의 신뢰성을 보장하고 상호 운용성을 확보하기 위해 공통 구조로 설계되었다.
- Version
인증서의 X.509 버전 정보. 현재 사용 중인 버전은 '3'이다.
- Serial Number
인증서의 고유 식별자. 각 인증서는 인증 기관(CA, Certificate Authority)이 발급하는 고유한 일련번호를 가져야 한다. 주로 정수 값으로 표현된다.
- Signature Algorithm
CA가 인증서를 서명할 때 사용해야 할 서명 알고리즘을 명시하는 값. 해당 값은 OID(Object Identifier) 값으로 기재된다.
- Issuer
인증서를 발급한 기관 정보. 일반적으로 발급자라고 불리며 DN(Distinguished Name) 형식으로 표현된다.
- Validity
인증서의 유효 기간. 시작일(notBefore)과 만료일(notAfter)로 구성된다. 해당 일자가 지나면 인증서는 더 이상 신뢰할 수 없다.
- Subject
인증서를 소유한 Entity(사용자, 서버 등) 정보. 일반적으로 주체라고 불리며 발급자와 마찬가지로 DN(Distinguished Name) 형식으로 표현된다.
- Subject Public Key Info
주체의 공개 키 정보. 해당 필드는 공개 키 알고리즘(Subject Public Key Algorithm)과 실제 공개 키 값(Subject Public Key)으로 구성된다.
3. X.509 인증서 기본 필드 출력 예시
OpenSSL 명령어를 사용하여 X.509 인증서의 내부 구조와 세부 내용을 확인할 수 있다. 아래의 예시를 통해 기본 필드가 어떻게 출력되는지 확인해 보자.
% openssl x509 -in cert.pem -text -noout
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
3a:ab:79:89:cc:cc:3a...
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=XX, O=XXX, CN=XXX
Validity
Not Before: Jan 1 01:00:08 2025 GMT
Not After : Mar 31 01:00:07 2025 GMT
Subject: CN=XXXXXXXXX
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
Public-Key: (256 bit)
pub:
04:49:10:d3:90:32:e8:27....
ASN1 OID: prime256v1
NIST CURVE: P-256
위의 예제에서는 인증서의 버전, 일련번호, 서명 알고리즘, 발급자, 유효 기간, 주체, 공개 키 정보를 확인할 수 있다.
4. 마무리
이번 글을 정리하면 다음과 같다.
- X.509 인증서의 기본 필드는 인증서가 신뢰될 수 있도록 중요한 정보를 포함하며, 상호 운용성을 확보하는 데 필수적이다.
- 기본 필드는 버전, 일련번호, 서명 알고리즘, 발급자, 유효 기간, 주체, 주체의 공개키 정보가 있다.
- X.509 인증서 확장 필드는 다음 글을 확인하자.
'보안 > 인증서' 카테고리의 다른 글
인증 경로와 인증서 체인 이해하기 : 구성, 동작 원리, HTTPS 적용 사례 (0) | 2025.03.04 |
---|---|
X.509 인증서의 확장 필드 정리 : Key Usage, SAN부터 AIA까지 (0) | 2025.02.17 |
X.509 인증서 구조 정리 : TBSCertificate, SignatureAlgorithm, SignatureValue에 대한 이해 (0) | 2025.01.26 |
인증서와 ASN.1의 이해 - TLV 구조와 실제 변환 예시까지 (0) | 2025.01.21 |
디지털 인증서란? X.509와 ASN.1 그리고 파일 형식까지 (0) | 2025.01.20 |