0Pricing
Security+ Academy · 강의

인증 기관과 신뢰 체인

루트 CA, 중간 CA, 최종 엔터티 인증서가 브라우저와 운영 체제에서 신뢰하는 계층 구조를 형성하는 방식을 학습합니다.

인증 기관과 신뢰 체인은(는) CoddyKit의 무료 Security+ Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Security+ Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Security+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

공개 key 암호에서의 신뢰 문제

비대칭 암호화는 공개 key가 실제로 여러분이 생각하는 사람의 것인지 신뢰할 수 있을 때만 유용합니다. 신뢰 메커니즘이 없다면 공격자는 다른 사람의 공개 key를 요청하는 과정을 가로채 자신의 key로 바꿀 수 있습니다. 이는 전형적인 중간자 공격입니다. Public Key Infrastructure (PKI)는 Certificate Authority (CA)라는 신뢰할 수 있는 제3자를 도입하여 이 신뢰 문제를 해결합니다. CA는 검증된 신원과 공개 key의 연결을 증명서에 담아 디지털 서명합니다. CA를 신뢰한다면 CA가 인증한 모든 대상도 신뢰할 수 있습니다.

Certificate Authority란 무엇인가

Certificate Authority (CA)는 certificate 요청자의 신원을 확인한 후 디지털 certificate를 발급하는 조직입니다. CA는 자체 개인 key로 각 certificate에 서명하므로, CA를 신뢰하는 누구나 CA의 공개 key를 사용해 certificate의 진위를 검증할 수 있습니다. 유형은 두 가지입니다. Public CAs(DigiCert, GlobalSign, Let's Encrypt 등)는 운영 체제와 브라우저에 루트 certificate가 미리 설치되어 있습니다. Private (Internal) CAs는 조직이 직접 운영하며 내부 certificate 발급에 사용됩니다(VPN, 내부 서비스, 장치 certificate 등).

# View a website's certificate and issuer
openssl s_client -connect google.com:443 -showcerts 2>/dev/null | 
  openssl x509 -noout -text | grep -A2 'Issuer'
# Issuer: C = US, O = Google Trust Services, CN = WR2
# Subject: CN = *.google.com

# Check CA certificate details
curl -v https://google.com 2>&1 | grep 'issuer'

Root CAs: 최상위 신뢰 앵커

Root CA는 PKI 계층에서 가장 높은 권한을 가진 기관입니다. Root CA certificate는 자체 서명되므로 이를 검증할 더 높은 기관이 없습니다. 대신 운영 체제 공급업체(마이크로소프트, 애플, 모질라)가 엄격한 감사 절차를 통해 Root CA를 심사하고, 신뢰할 수 있는 certificate 저장소에 해당 certificate를 미리 설치하기 때문에 루트 certificate를 신뢰합니다. 일반적인 브라우저의 신뢰 저장소에는 약 130~150개의 신뢰할 수 있는 Root CA가 있습니다. Root CA가 침해되면 해당 CA가 지금까지 발급한 모든 certificate가 의심 대상이 됩니다. 따라서 Root CA의 개인 key는 오프라인 상태의 에어갭 하드웨어 보안 모듈(HSM)에 보관합니다.

# List trusted root CAs on Linux (varies by distro)
ls /etc/ssl/certs/ | head -20
# Or view specific CA cert
openssl x509 -in /etc/ssl/certs/DigiCert_Global_Root_CA.pem -noout -text

# On Windows, view trust store via MMC
# certmgr.msc > Trusted Root Certification Authorities

Intermediate CAs: 위임 계층

Root CAs는 최종 주체에 certificate를 직접 발급하는 경우가 드뭅니다. 대신 중간 CA 운영자에게 certificate를 발급하여 Intermediate CAs(하위 CA라고도 함)를 만듭니다. 그런 다음 Intermediate CAs가 최종 주체 certificate(예: HTTPS 서버 certificate)를 발급합니다. 이 위임 계층에는 여러 목적이 있습니다. Root CA의 개인 key를 오프라인으로 유지하여 보호하고(Intermediate CA가 침해되더라도 전체 루트가 아니라 해당 certificate 체인만 폐기됨), 용도별 CA를 사용할 수 있게 하며(코드 서명과 TLS 등), 사설 PKI 내부의 조직 계층도 지원합니다.

신뢰 체인(certificate 체인)

certificate 체인(또는 신뢰 체인)은 최종 주체 certificate에서 신뢰할 수 있는 Root CA까지 이어지는 certificate의 순서입니다. 일반적인 HTTPS 웹사이트의 체인은 다음과 같습니다. 최종 주체 cert(예: *.google.com) → Intermediate CA cert(예: Google Trust Services WR2) → Root CA cert(예: Google Trust Services LLC). 브라우저가 사이트를 방문하면 전체 체인을 검증합니다. 각 certificate의 서명이 그보다 한 단계 위의 기관에 의해 생성되었는지, 그리고 루트가 신뢰 저장소에 있는지 확인하는 방식입니다. 이 체인에 어느 하나라도 끊어진 부분이 있으면 certificate 오류가 발생합니다.

# View the full certificate chain
openssl s_client -connect example.com:443 -showcerts 2>/dev/null
# Shows: 0 = end-entity cert, 1 = intermediate CA, 2 = root CA

# Verify a certificate chain manually
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt server_cert.pem
# server_cert.pem: OK

교차 인증과 Bridge CAs

서로 다른 두 PKI 계층이 상호 신뢰를 설정해야 할 때는 교차 인증을 사용합니다. 각 CA가 상대방의 루트에 certificate를 발급하여 양방향 신뢰를 설정합니다. Bridge CA는 여러 도메인 CA와 교차 인증하는 중앙 허브 CA로, 서로 다른 조직이나 정부 기관 사이에 신뢰 웹을 만듭니다. US Federal Bridge CA는 여러 연방 정부 PKI 시스템을 연결합니다. 교차 인증은 관리가 복잡하지만, 조직을 통합하거나 하나의 계층으로 합치지 않고 기관 간 신뢰를 구축할 때 필요합니다.

Registration Authorities (RA)

Registration Authority (RA)는 CA를 대신해 신원 확인을 수행하지만 직접 certificate를 발급하지는 않는 기관입니다. RA는 certificate 요청을 받고, 신청자의 신원을 확인한 뒤(증명서 확인, 도메인 검증 또는 certificate 유형에 따른 대면 확인), 승인된 요청을 CA에 전달하여 서명받습니다. 이렇게 위임하면 CA가 모든 확인 작업을 직접 수행하지 않고도 발급 규모를 확장할 수 있습니다. 기업 PKI에서는 직원의 certificate 요청을 확인하는 인사 부서나 IT 헬프데스크가 RA 역할을 맡을 수 있습니다.

Certificate 검증 수준

Certificate 고정은 애플리케이션이 신뢰할 수 있는 모든 Root CA의 certificate를 받아들이는 대신 특정 certificate 또는 CA만 신뢰하도록 미리 설정하는 기법입니다. 공격자가 신뢰할 수 있는 CA에서 위조 certificate를 발급받더라도 MITM 공격을 막을 수 있습니다. 모바일 앱과 보안이 중요한 애플리케이션은 자체 서버의 certificate만 허용하기 위해 고정을 사용합니다. 단점은 고정된 certificate가 만료되거나 교체되면 앱을 업데이트할 때까지 애플리케이션이 작동하지 않는다는 것입니다. HPKP(HTTP Public Key Pinning)는 브라우저 기반 고정 메커니즘이었지만, 잘못 배포될 위험 때문에 더 이상 사용되지 않습니다.

Certificate 고정

인증서 고정은 애플리케이션이 신뢰할 수 있는 모든 루트 CA의 인증서를 신뢰하는 대신, 특정 인증서나 CA만 신뢰하도록 소스 코드에 미리 지정하는 기법입니다. 이 기법을 사용하면 공격자가 신뢰할 수 있는 CA에서 위조 인증서를 발급받더라도 MITM 공격을 방지할 수 있습니다. 모바일 앱과 보안이 중요한 애플리케이션은 자체 서버의 인증서만 수락하도록 보장하기 위해 인증서 고정을 사용합니다. 단점은 고정된 인증서가 만료되거나 교체되면 앱이 업데이트될 때까지 애플리케이션이 작동하지 않는다는 것입니다. HPKP(HTTP 공개 키 고정)는 브라우저 기반의 인증서 고정 방식이었지만, 잘못 배포될 위험 때문에 더 이상 사용되지 않습니다.

내부 Private CA 설정

조직은 내부 certificate 요구 사항을 충족하기 위해 자체 private CA를 운영합니다. 여기에는 VPN 클라이언트 인증, 내부 HTTPS 서비스용 certificate 발급, 코드 서명, 장치 인증 등이 포함됩니다. 마이크로소프트 Active Directory Certificate Services (AD CS)는 기업에서 가장 널리 사용되는 사설 CA입니다. 내부 CA가 발급한 certificate를 신뢰해야 하는 모든 장치와 브라우저에는 일반적으로 Group Policy를 통해 내부 CA certificate를 배포해야 합니다. Private CAs는 공개 인터넷에서 신뢰되는 certificate를 발급할 수 없으며, private CA 루트가 설치된 조직의 장치에서만 사용할 수 있습니다.

# Create a simple private CA with OpenSSL
# Generate root CA private key
openssl genrsa -aes256 -out ca.key 4096

# Create self-signed root CA certificate (valid 10 years)
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt \
  -subj '/C=US/O=MyCompany/CN=MyCompany Root CA'

# Now use ca.crt and ca.key to sign intermediate and end-entity certs

CA 침해와 DigiNotar의 교훈

DigiNotar 침해(2011년)는 Security+ 응시자가 알아야 할 가장 중요한 CA 사건입니다. 네덜란드 CA인 DigiNotar가 공격자에게 침해되어 Google, 모질라, 정부 도메인용 위조 certificate가 발급되었습니다. 이 certificate는 이란에서 시민을 대상으로 중간자 공격을 수행하는 데 사용되었습니다. 그 결과 모든 주요 브라우저와 운영 체제 공급업체가 신뢰할 수 있는 루트 저장소에서 DigiNotar를 즉시 제거했고, DigiNotar가 지금까지 발급한 모든 certificate가 무효화되었습니다. DigiNotar는 몇 주 안에 파산했습니다. 이 사건은 CA 침해가 치명적이라는 점과, 현재 CA 시스템에 CAA DNS 레코드, Certificate Transparency, 다중 요소 인증이 요구되는 이유를 보여 주었습니다.

빠른 확인

이 레슨에서 다룬 CompTIA Security+ (SY0-701) 개념에 대한 이해도를 확인해 보세요.

레슨 요약

이 레슨에서는 다음을 배웠습니다. Certificate 인증 기관은 공개 키를 검증된 신원에 연결하고, 신뢰 체인은 최종 엔터티에서 중간 CA를 거쳐 자체 서명된 루트까지 이어집니다. Root CA는 HSM에 오프라인으로 보관되며 운영 체제에서 사전 신뢰됩니다. 또한 CA가 손상되면(DigiNotar 사례) 수백만 개의 인증서가 무효화될 수 있습니다. 다음으로는 X.509 Certificate 구조를 살펴보겠습니다.

자주 묻는 질문

“인증 기관과 신뢰 체인” 강의는 무료인가요?

네 — “인증 기관과 신뢰 체인” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Security+ Academy 강의 전체를 잠금 해제할 수 있습니다. Security+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“인증 기관과 신뢰 체인”에서 뭘 배우나요?

루트 CA, 중간 CA, 최종 엔터티 인증서가 브라우저와 운영 체제에서 신뢰하는 계층 구조를 형성하는 방식을 학습합니다. 브라우저에서 직접 실행하는 실습 코드로 Security+ Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Security+ Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Security+ Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“인증 기관과 신뢰 체인” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Security+ Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Security+ Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 인증 기관과 신뢰 체인
  2. X.509 인증서 구조
  3. 인증서 수명 주기와 폐기
  4. PKI 활용 사례: HTTPS, S/MIME, 코드 서명
← Security+ Academy(으)로 돌아가기