Digital Certificate

codakcodak·2026년 1월 25일

Security

목록 보기
4/4

디지털 인증서

  • 공개 키와 디지털 서명을 포함하는 파일로, 시스템 또는 서버 접근에 필요한 신뢰를 제공하는 신분증
  • 신뢰의 책임을 제 3자 (CA)에게 제공
  • 웹 브라우저에서는 X.509라는 인증서 공통 표준 형식을 사용
  • 인증서에 포함된 주요 정보
    • Serial Number
    • Version
    • Name of the cert holder
    • Extensions
    • Issuer (디지털 서명을 한 자)
    • Subject (소유자)
    • Public Key (소유자의 공개 키)
    • Signature Algorithm
    • 유효 기간

인증 기관 (CA)

  • CA가 신원 검증 후 인증서에 디지털 서명을 하여 디지털 인증서 생성
  • 인증 기관으로의 인증서 발급 흐름
    1. 개인 키 생성
    2. 공개 키 생성 및 서버/조직 정보 포함하여 CSR 생성
    3. CA에 CSR 제출
    4. CA가 소유권 및 신원 검증
    5. CA가 CA의 개인 키로 CSR을 서명 및 인증서 발급

인증서 체인

  • 하나의 인증서를 신뢰하기 위해 거쳐야 하는 인증서들의 서명 연결 구조
  • 웹 서버가 사용하는 디지털 인증서는 단독으로 신뢰되지 않으며 다음과 같은 계층적 구조안에 존재
    • 서명 구조
      [ Root CA 기관 ]
        - Root CA Public Key
        - Root CA Private Key
                │
                │  Root CA Private Key로 서명
                ▼
      [ Intermediate CA 인증서 ]
        - Subject: Intermediate CA
        - Public Key: Intermediate CA Public Key
        - Signature: Signed by Root CA
                │
                │  Intermediate CA Private Key로 서명
                ▼
      [ Web Server 인증서 ]
        - Subject: Web Server
        - Public Key: Web Server Public Key
        - Signature: Signed by Intermediate CA
    • 검증 구조
      [ Web Server 인증서 ]
        - Subject: Web Server
        - Public Key: Web Server Public Key
        - Signature: Signed by Intermediate CA
                  │
                  │  (상위 인증서에 포함된 Intermediate CA 공개 키로 서명 검증)
                  ▼
      [ Intermediate CA 인증서 ]
        - Subject: Intermediate CA
        - Public Key: Intermediate CA Public Key
        - Signature: Signed by Root CA
                  │
                  │  (브라우저 / OS에 내장된 Root CA 인증서에서
                  │   공개 키를 추출하여 서명 검증)
                  ▼
      [ Root CA 인증서 ]
        - Subject = Issuer = Root CA
        - Public Key: Root CA Public Key
        - Self-Signed
        - (브라우저 / OS Trust Store에 사전 내장된 Trust Anchor)

내장된 Root CA 목록

  • 크롬 브라우저의 경우 chrome://settings/security를 통해 신뢰된 Root CA 목록을 확인할 수 있으며,
    웹 서버가 제공하는 인증서 체인이 서버 인증서부터 최상위 Root 인증서까지
    정상적으로 연결되고,
    체인의 최상위 Root 인증서가 브라우저에 내장된 신뢰 목록 중 하나일 경우,
    브라우저는 인증서 체인에 포함된 각 인증서의 디지털 서명을 순차적으로 검증한다. 만약 검증이 성공한다면 브라우저는 해당 인증서를 사용하는 웹 서버를 신뢰 가능한 대상으로 판단한다.

Subject Alternative Name (SAN)

  • X.509 인증서 확장 필드 중 하나로, 하나의 인증서를 여러 도메인에 대해 유효하기 만들기 위한 필드
  • X509v3 Subject Alternative Name:
    DNS:www.example.com
    DNS:api.example.com
    DNS:login.example.com
    만약 위처럼 설정되어 있다면 해당 인증서는 위 3개의 DNS 주소에 대해서 유효하다.
profile
숲을 보는 코더

0개의 댓글