인증서(Certificate)는 디지털 신원 증명서로, 웹 서버, 클라이언트, 개인의 신원을 증명하는 핵심 보안 요소
TLS Handshake 과정을 통해 인증서가 HTTPS 통신에서 안전한 연결(Secure Connection)을 설정하는 데 사용됨
CA(Certificate Authority)는 인증서 발급 및 진위 보증을 담당하며, 신뢰 체인(Chain of Trust)을 통해 인증서의 유효성을 검증
인증서 파일 형식, 도메인 인증서 종류, 실무 이슈(체인 불완전, CN vs SAN) 등 다양한 실무 문제를 제시
OpenSSL, Java keytool 등 인증서 관리 도구(Certificate Management Tools)를 활용한 실무 팁 제공
인증서는 Subject, Public Key, 유효 기간(Validity Period) 등 다양한 정보를 포함하며, CA(Certificate Authority)의 디지털 서명(Digital Signature)을 통해 위변조를 방지한다.
Subject: 인증서 소유자 정보(도메인, 조직명 등)
Public Key: 공개 키 암호화에 사용되는 키
Signature: CA의 개인 키로 암호화된 해시 값으로, 인증서의 무결성 보장
인증서의 구조를 이해하는 것은 보안 취약점(Security Vulnerability)을 파악하고, 올바른 인증서 관리(Certificate Management)를 위한 첫걸음이다.
TLS Handshake는 브라우저와 서버 간의 안전한 통신을 설정하는 과정으로, 인증서 검증(Certificate Verification)이 핵심 단계이다.
Client Hello: 클라이언트가 지원하는 암호화 방식(Cipher Suites)을 서버에 전달
Server Hello + Certificate: 서버가 자신의 인증서를 클라이언트에 전송
Certificate Verification: 클라이언트가 CA, 유효 기간, 도메인 일치 여부 등을 검증
Key Exchange: Diffie-Hellman 알고리즘으로 세션 키(Session Key) 생성
Secure Communication: 세션 키를 이용한 대칭 키 암호화 기반의 양방향 보안 통신(Two-way Secure Communication) 시작
CA는 인증서 발급 및 관리의 핵심 주체로, Root CA, Intermediate CA, End-Entity Certificate로 구성된 신뢰 체인을 통해 인증서의 유효성을 검증한다.
Root CA: 브라우저/OS에 사전 설치된 신뢰할 수 있는 CA
Intermediate CA: Root CA의 서명을 받아 발급된 CA
End-Entity Certificate: 실제 웹사이트에 발급되는 인증서
브라우저는 Root CA부터 End-Entity Certificate까지의 신뢰 체인을 검증(Chain Verification)하여 인증서의 진위 여부를 판단하며, 신뢰 체인이 불완전할 경우 경고 메시지(Warning Message)를 표시한다.
도메인 인증서는 검증 수준에 따라 DV(Domain Validated), OV(Organization Validated), EV(Extended Validation)로 구분되며, 각각의 검증 절차(Verification Process)와 발급 시간(Issuance Time)이 다르다.
DV: 도메인 소유권만 확인, 발급 시간 수분~수시간
OV: 도메인+조직 실재 확인, 발급 시간 1~3일
EV: 도메인+조직+법적 실재 확인, 발급 시간 1~2주
Certificate Policies 확장 필드의 OID(Object Identifier)를 통해 DV/OV/EV를 구분할 수 있으며, 높은 수준의 인증서(High-Level Certificate)**일수록 더 많은 정보와 신뢰도를 제공한다.
실무에서는 인증서 체인 불완전, CN vs SAN, OpenSSL/keytool 명령어 활용 등 다양한 문제에 직면하며, 문제 해결 능력(Problem-solving Skills)이 중요하다.
인증서 체인 불완전: 서버가 End-Entity Certificate만 제공하는 경우, 중간 CA(Intermediate CA) 인증서 누락으로 인해 신뢰 오류 발생
CN vs SAN: Chrome 58+ 버전부터 CN을 무시하고 SAN만 확인하므로, SAN에 모든 도메인 포함 여부 확인 필수
OpenSSL/keytool: 인증서 파일 형식 변환, 정보 확인, 만료일 확인 등 다양한 작업 자동화(Automation)에 활용
정기적인 인증서 갱신(Certificate Renewal) 및 모니터링(Monitoring)**을 통해 서비스의 안정성을 확보해야 한다.