인증서·PKI·신뢰와 폐지 확인
공개키와 신원의 연결, PKI 신뢰 구조, CRL·OCSP의 검증 범위를 이해합니다.
1. 공개키 인증서의 역할
공개키 인증서(certificate)는 발급자가 다음 정보를 묶어 전자서명한 데이터다.
- 주체(subject)의 이름 또는 식별정보
- 주체의 공개키
- 발급자(issuer)
- 유효기간
- 일련번호
- 공개키의 허용 용도와 제약
- 발급자의 전자서명
인증서 = 주체 정보 + 공개키 + 유효기간·용도 + 발급자 서명
인증서는 공개키와 주체의 연결을 제공하지만, 다음을 자동으로 보장하지는 않는다.
- 현재 인증서가 만료되지 않았는가
- 발급 후 개인키가 유출되어 폐지되지 않았는가
- 접속 대상 이름과 인증서 이름이 일치하는가
- 인증서가 서버 인증·코드 서명 등 현재 용도로 허용되는가
- 발급자를 검증자가 신뢰하는가
2. PKI의 주요 구성요소
| 구성요소 | 역할 |
|---|---|
| CA(Certification Authority) | 인증서를 발급하고 서명하며 폐지 정보를 관리한다. |
| RA(Registration Authority) | 인증서 신청자의 신원과 신청정보를 확인한다. |
| 주체(Subject) | 인증서에 공개키가 등록되는 사용자·서버·장치 등이다. |
| 신뢰 당사자(Relying Party) | 인증서를 검증하고 사용할지 결정한다. |
| 저장소(Repository) | 인증서·CRL 등 공개 정보를 배포한다. |
| 신뢰 앵커(Trust Anchor) | 검증자가 미리 신뢰하도록 등록한 루트 공개키·인증서 정보다. |
CA와 RA는 같은 조직에서 함께 운영될 수 있지만 개념적 역할은 다르다. RA는 신원 확인을, CA는 발급과 서명을 담당한다.
3. 인증서 발급과 종료
- 주체가 키쌍을 생성한다.
- 공개키와 신원정보를 포함한 신청서를 제출한다.
- RA 또는 CA가 신청 정보를 확인한다.
- CA가 인증서를 발급하고 서명한다.
- 인증서를 배포하고 서비스에서 사용한다.
- 만료 전 갱신하거나 새 키로 재발급한다.
- 개인키 유출·자격 상실·정보 변경 시 만료 전이라도 폐지한다.
만료(expiration)는 예정된 유효기간 종료이고, 폐지(revocation)는 사고나 자격 변화로 유효기간이 남아 있어도 사용을 중단시키는 것이다.
4. X.509 인증서에서 볼 핵심 항목
| 항목 | 의미 |
|---|---|
| Version | 인증서 형식 버전 |
| Serial Number | 같은 발급자 범위에서 인증서를 식별하는 번호 |
| Issuer | 인증서를 발급한 CA |
| Validity | Not Before와 Not After로 표현되는 유효기간 |
| Subject | 공개키의 주체 |
| Subject Public Key Info | 공개키와 알고리즘 정보 |
| Signature Algorithm / Signature Value | CA가 사용한 서명 알고리즘과 서명값 |
| Extensions | 용도·이름·CA 여부 등 추가 제약 |
주요 확장은 다음 수준으로 구분하면 충분하다.
- Basic Constraints: CA 인증서인지 여부
- Key Usage / Extended Key Usage: 키가 허용되는 용도
- Subject Alternative Name(SAN): 서버 이름·이메일 등 추가 식별자
- CRL Distribution Points / AIA: CRL 배포 위치와 발급자·OCSP 정보 확인 위치
5. 인증 경로와 신뢰 앵커
일반적인 계층 구조는 다음과 같다.
신뢰 앵커(루트 CA)
↓ 서명
중간 CA 인증서
↓ 서명
최종 사용자·서버 인증서
루트 인증서가 자기서명되었다는 사실 자체가 신뢰를 만들지는 않는다. 운영체제·브라우저·조직 정책에 의해 미리 신뢰하도록 등록된 루트이기 때문에 신뢰 앵커가 된다.
경로 검증의 기본 순서
- 인증서 체인이 신뢰 앵커까지 연결되는가
- 각 발급자 서명이 정상인가
- 각 인증서가 유효기간 안에 있는가
- 중간 인증서가 CA 역할을 허용하는가
- 최종 인증서의 이름과 사용 목적이 요청과 일치하는가
- 인증서가 폐지되지 않았는가
6. CRL과 OCSP
CRL(Certificate Revocation List)
CA가 폐지된 인증서의 일련번호와 폐지 정보를 묶어 전자서명한 목록이다.
- 장점: 한 번 내려받아 여러 인증서를 확인할 수 있다.
- 단점: 목록이 커질 수 있고 갱신 주기 사이에는 최신 폐지 정보 반영이 늦을 수 있다.
OCSP(Online Certificate Status Protocol)
검증자가 특정 인증서의 상태를 온라인 응답자에게 질의하는 방식이다.
good: 응답자가 해당 인증서를 폐지 상태로 알고 있지 않음revoked: 폐지됨unknown: 응답자가 상태를 판단하지 못함
good은 체인·이름·기간·용도까지 모두 정상이라는 뜻이 아니다. 폐지 상태 확인 결과 중 하나일 뿐이다.
7. PKI 신뢰 구조
| 구조 | 특징 |
|---|---|
| 계층형 | 루트에서 하위 CA로 내려가는 트리 구조. 관리와 경로가 비교적 단순하다. |
| 네트워크형·상호인증형 | CA들이 서로 교차 인증해 여러 신뢰 경로를 만든다. |
| 복합형·브리지형 | 여러 PKI 영역을 중간 연결 구조로 연계한다. |
시험에서는 구조 이름보다 신뢰 경로를 어떻게 형성하고 누가 최종 신뢰 기준이 되는지를 중심으로 판단한다.
개념 확인 문제
문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.
01OCSP 응답이 good이면 이름·유효기간·용도까지 모두 올바른 인증서인가?
아니다. good은 폐지 상태 확인의 결과다. 신뢰 경로, 발급자 서명, 이름, 유효기간과 용도를 별도로 확인해야 한다.
02루트 인증서가 자기서명되었다는 사실만으로 검증자가 신뢰해야 하는가?
아니다. 미리 신뢰하도록 등록한 신뢰 앵커인지가 중요하다. 누구나 자기 키로 자기서명을 만들 수 있다.