본문 바로가기
system_fundamentals/security_cryptography

인증서는 누가 믿는가

by 죄니안죄니 2026. 5. 15.
반응형
인증서는 누가 믿는가인증서는 누가 믿는가인증서는 누가 믿는가
 
 
 

핵심부터 말하면:

인증서는 "브라우저/OS가 미리 신뢰하는 CA"를 믿는 구조
 

다.

즉:

"누가 이 공개키가 진짜라고 보증했는가?"
 

를 따라 올라가는 구조다.


먼저 문제 상황

예를 들어 네가:

https://naver.com
 

접속했다고 하자.


서버가 공개키를 보냄

"이게 제 공개키입니다"
 

라고.


그런데 문제

공격자가 중간에서:

"제가 네이버입니다"
 

하면서 자기 공개키 보내면?


그럼 브라우저는 고민함

"이 공개키가 진짜 네이버 것인지
어떻게 믿지?"
 

여기서 인증서 등장

인증서는 쉽게 말하면:

"공개키 신분증"
 

이다.


인증서 안에는

예:

정보 의미
도메인 naver.com
공개키 서버 공개키
발급기관 CA
전자서명 CA 서명

CA(Certificate Authority)

대표:

  • Let's Encrypt
  • DigiCert
  • GlobalSign

CA 역할

"이 공개키는 진짜 네이버 것 맞음"
 

이라고 전자서명 해준다.

즉:

보증기관
 

역할.


그럼 CA는 누가 믿는데?

핵심 질문이다.

답:

브라우저와 OS가 기본 내장한
Root CA 목록
 

을 믿는다.


실제로 브라우저 안에는

엄청 많은:

신뢰 가능한 Root CA 공개키
 

들이 미리 저장돼 있다.

예:

  • Windows
  • macOS
  • Android
  • Chrome
  • Firefox

내부에 다 있음.


브라우저 검증 흐름

1

서버가 인증서 보냄.


2

브라우저가:

CA 전자서명 검증
 

한다.


3

그 CA가 Root CA 목록에 있으면:

"신뢰 가능"
 

판단.


즉 신뢰 구조는 이렇게

브라우저
↓ 신뢰
Root CA
↓ 서명
Intermediate CA
↓ 서명
서버 인증서
 

이걸 Trust Chain(신뢰 체인)이라고 함

Chain of trust


왜 중간 CA를 쓰나?

Root CA는 너무 중요해서:

거의 오프라인 보관
 

한다.

그래서 실무 발급은:

Intermediate CA
 

가 담당.


브라우저는 결국 Root CA를 신뢰

즉:

"내가 이미 알고 있는 Root가
이 인증서를 보증했네"
 

라고 판단.


그래서 가짜 인증서가 어려움

공격자가:

자기 공개키
 

로 인증서 만들어도:

신뢰된 CA 서명 없음
 

이면 브라우저가 차단.


그래서 이런 경고 뜸

"이 연결은 안전하지 않음"
 

Self-Signed 인증서는?

직접 자기 자신이 서명한 인증서.

즉:

"내가 나를 믿는다"
 

구조.


그래서 브라우저 기본 신뢰 안 함

보통:

  • 사내망
  • 개발환경

에서 사용.


실제 HTTPS에서 브라우저가 확인하는 것

검사 의미
CA 신뢰 여부 진짜 기관인가
도메인 일치 naver.com 맞나
만료 여부 인증서 유효기간
폐기 여부 해킹돼 취소됐나

인증서가 깨지면 위험한 이유

만약 신뢰된 CA가 해킹되면:

가짜 인증서 발급 가능
 

하다.

그래서 CA 보안이 엄청 중요.


실제 역사적 사고

예전:

  • DigiNotar 해킹 사건

으로 가짜 Google 인증서 발급된 적 있음.

브라우저들이 해당 CA를 신뢰목록에서 제거했다.


그래서 Root CA는 엄청 엄격

OS/브라우저에 들어가려면:

  • 감사
  • 보안 인증
  • 운영 기준

엄청 까다롭다.


핵심 한 줄

인증서는:

브라우저와 OS가 미리 신뢰하는 Root CA가
"이 공개키는 진짜 해당 사이트 것"이라고
전자서명으로 보증하는 구조
 

다.

반응형

'system_fundamentals > security_cryptography' 카테고리의 다른 글

Self-signed 문제  (0) 2026.05.15
CA 체계  (1) 2026.05.15
TLS Handshake 전체 흐름  (0) 2026.05.15
HTTPS는 어떻게 안전한가  (0) 2026.05.15
권한 시스템 설계  (1) 2026.05.15

댓글