베지밀
SSL/TLS 인증서란? (ft.PKI) 본문
인터넷에서 주고 받는 모든 데이터는 제 3자의 위협에 노출될 수 있다. 특히 로그인 정보, 개인정보 등 민감한 정보는 암호화된 통신이 필수적이다.
인터넷 상에서 암호화 통신을 가능하게 해주는 핵심 요소가 바로 SSL/TLS 인증서이다.
🛡️인증서의 개념과 역할
SSL 인증서는 클라이언트와 서버 간 통신이 안전하게 이루어질 수 있도록 신뢰를 보증해주는 문서이다.
서버는 인증서를 통해 자신이 신뢰할 수 있는 주체임을 증명하고, 클라이언트는 이 정보를 바탕으로 서버의 진위 여부를 판단한 뒤, 안전한 통신을 진행한다.
간단한 인증서 동작 과정
- 클라이언트가 서버에 접속
- 서버가 자신의 인증서(서버 인증서)를 클라이언트에 전달
- 클라이언트는 이 인증서를 검증 (CA 서명 확인, CN 확인 등)
- 인증이 완료되면, 인증서에 포함된 서버의 공개키로 세션 키를 암호화
- 이후부터는 대칭키 기반으로 통신을 암호화
인증서의 기능
- 서버의 신뢰성 검증: 해당 서버가 진짜임을 입증
- 공개키 제공: 클라이언트가 서버에 안전하게 비밀키를 전달할 수 있도록 서버의 공개키 제공
- 암호화 통신의 기반 제공: SSL/TLS 통신에서 중요한 키 교환 과정의 보안성 확보
인증서에 포함되는 정보
- 서버의 공개키 (암호화 통신에 사용)
- 도메인 정보 (예: www.example.com)
- 인증서 발급자 (CA: Certificate Authority)
- 인증서 유효기간
- 조직 정보 등
🗂️인증서의 종류
서버 인증서
- 실제 통신에 사용되는 인증서
- SSL Handshake 시 서버가 클라이언트에 전송
- 클라이언트는 서버의 도메인(CN)과 인증서의 CA 서명을 검증한 후, 인증서에 포함된 서버 공개키로 이후 트래픽을 암호화
- 공인 인증서 또는 사설 인증서일 수 있음
CA 인증서
- 서버 인증서를 검증할 때 참조하는 인증서
- 직접적으로 통신에 사용되지 않음
- SSL Handshake 시 서버가 보낸 서버 인증서의 CA(인증기관)를 확인하고, 자신의 신뢰할 수 있는 인증기관 목록(Root CA)에 있는지 확인하는 용도로 사용
🔐 PKI(Public Key Infrastructure) 구조
PKI는 공개키 기반 구조로 인증서가 작동하는 기본 틀이다.
CA(Certificate Authority)
- 신뢰할 수 있는 제3자 기관
- 인증서를 발급/서명/폐지함
CA 체인 구조
CA는 체인 구조로 이루어져 있다.

- 인증서는 Root CA에서 시작한다.
- Root CA는 자가 서명(Self-signed)한 인증서로 공개키 기반 암호화를 사용한다.
- Root CA → Intermediate CA → 서버 인증서 형태로 체인을 구성한다.
- 하위 인증서에 서명하고,
- 상위 인증서를 참고하여 인증을 수행한다.
- 서버를 신뢰하려면 서버 인증서의 서명을 따라가서 Root CA로 추적할 수 있어야 한다.
CSR(Certificate Signing Request, 인증서 서명 요청)
CSR은 인증서를 발급받기 위한 서명 요청을로, 서버 관리자는 공개키와 서버 정보, 서명을 포함한 CSR을 만들어 CA에 제출한다.
CSR에 포함되는 내용
- 서버의 공개키
- 도메인, 조직명, 지역 등의 소유자 정보
- 키 길이 및 알고리즘
- 디지털 서명 (서버의 개인키로 서명)
CRL(Certificate Revocation List, 인증서 폐기 목록)
CRL은 더이상 유효하지 않은 인증서의 목ㄹ촉으로, 인증서 유출이나 악용 등으로 인해 인증서가 폐기되면 해당 인증서를 CRL에 등록해서 무효화한다.
CRL이 필요한 이유
- 인증서가 해킹/유출되어 더이상 신뢰할 수 없는 경우
- 사용자가 악의적으로 인증서를 사용한 경우
- 조기 폐기된 인증서를 신뢰할 수 없도록 하기 위해
CRL은 오직 CA만 생성할 수 있다.
CN(Common Name)
CN은 인증서를 사용할 서버나 VPN 게이트웨이의 FQDN 정보이다.
클라이언트는 접속하려는 도메인과 인증서의 CN이 일치하는지 확인하여 "이 인증서가 해당 도메인/서버에게 발급된 것인지" 검증한다.
SSL 인증서는 단순한 인증 문서를 넘어서, 인터넷 통신 보안의 기본이며 서버의 신뢰성을 보장하는 필수 요소이다.
이러한 인증서를 교환하는 SSL Handshake 과정에 대해서는 다른 포스팅에서 더 자세히 알아보자.
출처: https://day-night.tistory.com/146 [베지밀:티스토리]