[보안] CA인증서, 서버인증서, 클라이언트 인증서와 Openssl
📌CA 인증서
![]() |
ROOT 인증서로부터 시작하는 계층 구조 |
📍Root Certification, Intermediate Certification, Server Ceritification
- 루트 인증서(Root Certification)
- 최상위 인증 기관 (DigiCert, GlobalSign, GTS)이 발급하는 인증
- 운영체제(OS) 및 브라우저에서 기본적으로 신뢰하는 인증서로 저장됨.
- 자체 서명(self-Signed)이 되어있음
- 중간 인증서(Intermediate Certification)
- Root CA가 직접 웹사이트에 인증서를 발급하지 않고 중간 CA를 통해 인증서 발급
- 중간 CA는 루트 CA의 서명을 받은 인증 기관으로 직접적으로 서버 인증서를 발급
- 브라우저와 OS는 중간 인증서를 직접 신뢰하지 않지만 중간 인증서가 루트 CA에 의해 서명되었기 때문에 신뢰가 가능함
- 서버 인증서(Server Certification)
- 최종적으로 웹사이트에서 사용하는 인증서
- 중간 CA에 의해 서명됨
- 사용자의 브라우저는 루트 CA까지의 인증서 체인을 검증하여 인증서의 유효성을 확인
- ✅ 정리하면
- 루트 인증서 ➡️ 중간 인증서 ➡️ 서버 인증서 순으로 인증 체인이 이루어짐
📍인증서 발급 Work flow
- NAVER 페이지 주소 왼쪽 자물쇠를 클릭하고 인증서를 보면 ROOT -> 중간 -> SSL/TLS 인증서로 계층구조로 이루어져 있다.
![]() |
브라우저 설정에서 인증서 관련 메뉴에 들어가면 신뢰할 수 있는 인증서 목록을 확인 할 수 있다 |
- DigiCert Global Root CA 신뢰받는 ROOT 인증 기관(CA)이다.
- NAVER는 DigeCert TLS Hybrid ECC 인증서를 만들기 위해 DigiCert에 요청
- DigeCert TLS Hybrid ECC 내용을 HASH화 한 값을 DigiCert의 비밀 키로 암호화 요청
- DigiCert Global Root CA는 NAVER의 요청을 받아 암호화 함.
- DigeCert TLS Hybrid ECC 의 인증서 내용 HASH 값을 DigiCert의 비밀 키로 암호화 하여 서명
- DigeCert TLS Hybrid ECC 의 인증서를 받은 네이버는 이를 검증 할 수 있음.
- DigeCert TLS Hybrid ECC 인증서 내부의 암호화된 HASH 값을 DigiCert의 공개 키로 복호화
- 복호화에 성공하면 DigeCert TLS Hybrid ECC 인증서는 신뢰할 수 있음.
- DigeCert TLS Hybrid ECC 중간 인증서를 이용해 서버 인증서를 비밀 키로 서명함
- ✅ 정리하면
- 안타깝게도 없다.
📌Openssl?
- Openssl은 오픈소스 기반의 암호화 및 보안 프로토콜의 라이브러리
- SSL/TLS 통신 인증서 생성 및 관리 암호화 기능 제공
- Csr 생성, X.509 인증서 발급 및 변환 가능
- 인증기관(CA) 역할 수행 가능 -> 기업 내부에서 내부 인증서를 구축 할 때 활용(Private CA)
- openssl enc 명령어를 이용해 암호화 및 복호화 가능
📍내부 인증서(Private CA)
- 기업 및 개발 환경에서 자체 CA를 구축할 때 사용
- 회사 내부 및 서버 간 보안 통신, 개발 테스트용 SSL/TLS 인증서 등을 발급
- 개발 중인 홈페이지를 이런 메세지가 뜸.
- ✅ 정리하면
- 개발 중일 때는 Openssl 이용하여 개발하고 실제로 서비스 할 때는 신뢰할 수 있는 공인 Root CA를 통해 중간 인증서를 만들어야 한다.(돈이 듬)
참고---------------------------------------------------------------------------
Gpt-4o 🤖
댓글
댓글 쓰기