본문으로 건너뛰기

X.509 인증서 구조와 PKI 구성요소

I. X.509 — 인증서의 표준 형식​

오늘날 TLS·코드서명·S/MIME 등에 쓰이는 인증서는 X.509 v3 표준을 따릅니다. 주요 필드:

필드의미
Version버전(v3)
Serial NumberCA가 부여한 고유 일련번호(폐기 식별에 사용)
Signature Algorithm서명 알고리즘(예: SHA-256 with RSA / ECDSA)
Issuer발급자(CA)의 식별이름(DN)
Validity유효기간 (Not Before ~ Not After)
Subject주체(인증서 소유자)의 DN
Subject Public Key주체의 공개키 + 알고리즘
Extensions (v3)확장 필드(아래)
Signature위 내용에 대한 CA의 서명

주요 v3 확장(Extensions)​

확장역할
SAN (Subject Alternative Name)실제 적용 도메인 목록. 현대 브라우저는 CN이 아니라 SAN을 봄
Key Usage키 용도(디지털서명, 키암호화 등)
Extended Key Usage (EKU)세부 용도(serverAuth, clientAuth, codeSigning…)
Basic ConstraintsCA:TRUE/FALSE — CA 인증서인지 여부, 체인 깊이
AKI / SKIAuthority/Subject Key Identifier — 체인 연결에 사용
CRL Distribution / AIA폐기목록·OCSP·상위 인증서 위치

:::caution CN은 더 이상 신뢰되지 않는다 과거엔 Common Name(CN)에 도메인을 넣었지만, 현재 브라우저는 SAN만 도메인 검증에 사용합니다. SAN이 없으면 도메인 불일치로 거부됩니다. :::

II. 인코딩과 파일 확장자​

같은 인증서라도 인코딩·용도에 따라 확장자가 다릅니다.

인코딩/형식설명확장자
DER바이너리.der .cer
PEMDER을 Base64 + -----BEGIN CERTIFICATE----- 헤더.pem .crt .cer
PKCS#12인증서 + 개인키를 묶어 암호로 보호.p12 .pfx
PKCS#7인증서·체인 묶음(키 없음).p7b
CSR인증서 서명 요청.csr
-----BEGIN CERTIFICATE-----
MIIDdjCCAl6gAwIBAg-...(Base64)...
-----END CERTIFICATE-----

III. PKI 구성요소​

PKI(Public Key Infrastructure) 는 인증서를 발급·관리·검증하는 체계 전체입니다.

요소역할
CA (인증기관)인증서를 발급·서명·폐기하는 신뢰 주체
RA (등록기관)신청자 신원 확인(CA를 대신해 심사)
VA (검증기관)폐기 상태 제공(OCSP/CRL)
CSR신청자가 만드는 "서명 요청"(공개키 + 신원)
인증서 저장소발급된 인증서·CRL 게시
구독자/신뢰당사자인증서 소유자 / 그것을 신뢰하는 쪽(브라우저)

발급 흐름(개념)​

신청자: 키쌍 생성(개인키는 보관) → CSR 생성(공개키+신원) → CA에 제출
CA/RA: 신원·도메인 소유 검증(DV/OV/EV)
CA: 검증 통과 → CA 개인키로 서명 → 인증서 발급
신청자: 인증서 + 중간CA(체인) 설치

:::info 개인키는 절대 넘기지 않는다 CSR에는 공개키만 담깁니다. 개인키는 신청자 서버를 떠나지 않습니다. 이것이 PKI의 기본 원칙입니다. :::

IV. 검증 수준 (DV / OV / EV)​

등급검증 범위용도
DV (도메인 검증)도메인 소유만 확인대부분의 웹사이트, 자동발급(ACME)
OV (조직 검증)조직 실체까지 확인기업 사이트
EV (확장 검증)엄격한 법적 실체 확인금융 등(과거 주소창 녹색표시)

암호화 강도는 셋이 동일합니다. 차이는 신원 검증의 엄격함뿐입니다.

V. 결론​

X.509 인증서는 신원 + 공개키 + 확장(SAN 등) + CA 서명의 구조화된 문서이고, PKI는 이를 발급·검증·폐기하는 생태계입니다. 다음 문서에서 이 인증서들이 어떻게 신뢰 체인으로 연결되고 Root가 어떤 역할을 하는지 봅니다.