2020년 한국이 정부 연계 "공인인증서" 단일 체제를 폐지한 뒤, 네이버·카카오·토스 같은 민간 기업과 은행들이 저마다 인증 기관 역할을 맡게 되었다. 각 사업자는 독자적인 루트/체인 구조로 신원 확인용 인증서를 발급하며, 이는 브라우저가 웹사이트 TLS 인증서를 검증할 때 신뢰하는 상업용 루트 체계와는 완전히 별개다.
인증서를 구성하는 필드
- Subject — 인증서가 누구에게 발급되었는지(도메인, 조직, 또는 신원 확인 맥락에서는 개인).
- Issuer — 누가 인증서를 발급했는지(인증 기관, 또는 CA).
- 유효 기간 — 인증서가 유효한 시작일과 종료일.
- 공개 키 — 안전한 연결을 수립하거나 서명을 검증하는 데 쓰이는 키.
- 디지털 서명 — 발급자의 서명으로, 다른 모든 필드의 진위를 확인해줍니다.
같은 형식, 다른 신뢰 체인
민간 인증 사업자의 인증서와 웹사이트의 TLS 인증서는 완전히 동일한 X.509 구조와 신뢰 체인 메커니즘을 사용합니다 — 중간 인증 기관이 최종 인증서에 서명하고, 루트 CA가 그 중간 기관에 서명합니다. 차이는 어떤 신뢰 저장소가 검증하는지뿐입니다: 각 사업자의 인증 앱은 자신의 루트를 신뢰하도록 별도로 설정되어 있고, 브라우저는 HTTPS를 위해 완전히 다른 상업용 루트 집합을 신뢰합니다 — 두 체인이 만날 필요는 전혀 없습니다.
유효 기간이 제한된 이유
제한된 유효 기간(현대 웹 인증서는 보통 90일에서 1년)은 개인 키가 유출됐을 때의 위험을 줄이고, 현재 보안 표준에 맞춰 암호화 매개변수를 정기적으로 갱신하도록 강제합니다.
왜 필요한가
- 웹 서버를 설정할 때 SSL 인증서 문제 진단하기.
- 외부 서비스에 의존하지 않고 인증서의 유효 기간과 발급자 확인하기.
- mTLS, 클라이언트 인증서, 또는 민간 인증 체계로 작업할 때 인증서 구조 이해하기.
자체 서명 인증서
인증서는 어떤 CA도 거치지 않고 자신의 개인 키로 서명될 수 있습니다 — 구조적으로는 "진짜" X.509 인증서와 동일한 필드를 가지고 있지만, Issuer와 Subject가 동일합니다. 이는 같은 신뢰 문제를 극단으로 밀어붙인 경우입니다 — 체인이 어디로도 이어지지 않으니, 자신의 설정 밖에서는 그것을 신뢰할 이유가 전혀 없습니다. 그래서 내부 테스트에는 적합하지만 그 외 모든 곳에서는 신뢰할 수 없다고 표시됩니다.