본문 바로가기
■Development■/《Security》

[Security] 공인인증서 완벽 가이드: CA, RA, OCSP, CRL 개념까지 한번에 정리

by 은스타 2020. 4. 12.
반응형

공인인증서 완벽 가이드: CA, RA, OCSP, CRL 개념까지 한번에 정리

안녕하세요! 오늘은 디지털 세상에서 신원 확인과 보안의 핵심 요소인 공인인증서와 관련 기술에 대해 알아보겠습니다. 어렵게 느껴질 수 있는 인증서 관련 개념들을 쉽고 체계적으로 설명해 드리겠습니다.

출처 : 한국전자인증 (https://www.crosscert.com/solution/03_1_02.jsp)


목차

  1. 공인인증서란 무엇인가?
  2. 공인인증서의 구조와 기능
  3. 인증 기관(CA) 개념과 역할
  4. 등록 기관(RA)의 이해
  5. 인증서 상태 확인: OCSP와 CRL
  6. 공인인증서 발급 및 갱신 과정
  7. 공인인증서 활용 분야
  8. 공인인증서 관련 보안 이슈
  9. 자주 묻는 질문 (FAQ)

 

#1. 공인인증서란 무엇인가?

공인인증서(Digital Certificate)는 디지털 세계에서 개인이나 기관의 신원을 증명하는 전자 문서입니다. 실생활의 주민등록증이나 여권과 같이, 온라인상에서 "나는 내가 맞다"라는 것을 증명하는 도구입니다.

공인인증서는 공개키 기반 구조(PKI, Public Key Infrastructure)를 기반으로 하며, 신뢰할 수 있는 제3자인 인증 기관(CA, Certificate Authority)에서 발급됩니다.

공인인증서의 탄생 배경

인터넷이 발달하면서 온라인 거래, 전자 계약, 전자정부 서비스 등이 증가했고, 이에 따라 디지털 환경에서의 신원 확인과 보안에 대한 필요성이 커졌습니다. 공인인증서는 이러한 필요성을 충족시키기 위해 도입되었습니다.

한국에서는 1999년 전자서명법 제정과 함께 공인인증서 제도가 도입되었으며, 2020년 전자서명법 개정으로 '공인'이라는 용어는 없어졌지만, 여전히 많은 사람들이 디지털 인증서를 '공인인증서'라고 부르고 있습니다.

공인인증서의 주요 특징

  • 신원 증명: 온라인상에서 사용자의 신원을 확인해 줍니다.
  • 데이터 무결성: 전송된 데이터가 변조되지 않았음을 보장합니다.
  • 부인 방지: 전자 서명된 문서나 거래를 나중에 부인할 수 없도록 합니다.
  • 정보 보안: 암호화를 통해 민감한 정보를 보호합니다.

 

#2. 공인인증서의 구조와 기능

공인인증서는 국제 표준인 X.509 형식을 따르며, 다음과 같은 정보를 포함합니다:

공인인증서의 주요 구성 요소

  1. 일련번호: 인증서의 고유 식별 번호
  2. 발급자 정보: 인증서를 발급한 CA의 정보
  3. 주체 정보: 인증서 소유자(개인 또는 기관)의 정보
  4. 유효 기간: 인증서의 시작일과 만료일
  5. 공개키: 인증서 소유자의 공개키
  6. 서명 알고리즘: 인증서 서명에 사용된 알고리즘(예: RSA, ECC)
  7. 디지털 서명: CA의 개인키로 서명된 인증서의 서명

공인인증서의 작동 방식

공인인증서는 공개키/개인키 쌍을 기반으로 작동합니다:

  1. 개인키(Private Key): 사용자만 알고 있는 비밀 키로, 전자 서명 생성에 사용됩니다.
  2. 공개키(Public Key): 누구나 접근할 수 있는 키로, 전자 서명 검증이나 데이터 암호화에 사용됩니다.

공인인증서에는 소유자의 공개키가 포함되어 있으며, 개인키는 별도로 안전하게 보관됩니다. 이 두 키는 수학적으로 연결되어 있어, 하나로 암호화한 데이터는 다른 하나로만 복호화할 수 있습니다.

 

#3. 인증 기관(CA) 개념과 역할

인증 기관(Certificate Authority, CA)은 공인인증서를 발급하고 관리하는 신뢰할 수 있는 기관입니다. CA는 PKI 생태계의 핵심 요소로, 디지털 세계의 '신뢰 앵커(Trust Anchor)'라고 할 수 있습니다.

CA의 주요 역할

  1. 인증서 발급: 신원 확인 후 공인인증서 발급
  2. 인증서 관리: 인증서의 생명 주기 관리(갱신, 폐지 등)
  3. 인증서 상태 정보 제공: CRL(Certificate Revocation List)이나 OCSP(Online Certificate Status Protocol)를 통해 인증서 상태 정보 제공
  4. 신뢰성 보장: PKI 시스템 전체의 신뢰성을 보장

CA 계층 구조

CA는 일반적으로 계층 구조로 구성됩니다:

  1. 루트 CA(Root CA): 최상위 CA로, 자체 서명된 인증서를 가지며 모든 신뢰의 기반이 됩니다.
  2. 중간 CA(Intermediate CA): 루트 CA에서 인증서를 발급받아 최종 사용자 인증서를 발급합니다.
  3. 발급 CA(Issuing CA): 최종 사용자에게 직접 인증서를 발급하는 CA입니다.

이러한 계층 구조는 보안을 강화하고 효율적인 인증서 관리를 가능하게 합니다.

주요 CA 기관

세계적으로 신뢰받는 주요 CA 기관들은 다음과 같습니다:

  • Symantec/DigiCert: 세계 최대 규모의 CA 중 하나
  • Comodo/Sectigo: 많은 SSL 인증서를 발급하는 기관
  • GlobalSign: IoT 분야에서도 활발한 CA
  • Let's Encrypt: 무료 SSL 인증서를 제공하는 비영리 CA

한국에서는 다음과 같은 CA 기관이 활동하고 있습니다:

  • 한국정보인증(KICA): 국내 최초의 공인인증기관
  • 금융결제원: 금융 기관에서 주로 사용하는 인증서 발급
  • 한국전자인증: 다양한 디지털 인증 서비스 제공
  • 코스콤: 증권 분야 전문 인증 서비스

 

#4. 등록 기관(RA)의 이해

등록 기관(Registration Authority, RA)은 CA와 최종 사용자 사이에서 중개 역할을 하는 기관입니다. RA는 CA의 업무 부담을 줄이고, 사용자에게 더 접근하기 쉬운 서비스를 제공합니다.

RA의 주요 역할

  1. 신원 확인: 인증서 신청자의 신원을 확인합니다.
  2. 정보 수집 및 검증: 인증서 발급에 필요한 정보를 수집하고 검증합니다.
  3. 인증서 요청 처리: 사용자의 인증서 발급 요청을 처리하고 CA에 전달합니다.
  4. 인증서 배포: 발급된 인증서를 사용자에게 안전하게 전달합니다.
  5. 인증서 관리 지원: 인증서의 갱신, 폐지 등의 요청을 처리합니다.

CA와 RA의 관계

RA는 CA의 직접적인 통제 하에 운영되며, CA의 정책과 절차를 따릅니다. RA는 사용자의 신원 확인과 같은 행정적 업무를 담당하지만, 실제 인증서 발급은 CA가 수행합니다.

이러한 구조는 다음과 같은 이점을 제공합니다:

  • CA의 업무 부담 감소
  • 지역적 접근성 향상
  • 다양한 인증 정책 지원
  • 보안 리스크 분산

 

#5. 인증서 상태 확인: OCSP와 CRL

인증서가 발급된 후에도 다양한 이유로 인증서가 무효화될 수 있습니다. 예를 들어, 개인키가 유출되거나, 사용자의 정보가 변경되거나, 인증서가 잘못 발급된 경우 등이 있습니다. 따라서 인증서의 현재 상태를 확인하는 메커니즘이 필요하며, 이를 위해 CRL과 OCSP가 사용됩니다.

CRL(Certificate Revocation List)

CRL은 인증 기관이 폐지한 인증서의 목록입니다. CA는 정기적으로 CRL을 발행하고, 사용자나 시스템은 이 목록을 다운로드하여 인증서의 유효성을 확인합니다.

CRL의 작동 방식

  1. CA가 주기적으로(일반적으로 1일~1주일) CRL을 발행합니다.
  2. CRL에는 폐지된 인증서의 일련번호, 폐지 날짜, 폐지 이유 등이 포함됩니다.
  3. 시스템이나 브라우저는 CRL을 다운로드하여 캐싱합니다.
  4. 인증서 검증 시, 캐싱된 CRL에서 해당 인증서의 일련번호를 확인합니다.

CRL의 한계

  • 크기: 시간이 지남에 따라 CRL의 크기가 커질 수 있습니다.
  • 최신성: CRL이 갱신되기 전까지 최신 폐지 정보를 반영하지 못합니다.
  • 대역폭: 전체 CRL을 다운로드하는 데 상당한 대역폭이 필요할 수 있습니다.

OCSP(Online Certificate Status Protocol)

OCSP는 실시간으로 인증서의 상태를 확인할 수 있는 프로토콜입니다. CRL과 달리, OCSP는 개별 인증서의 상태만 질의하므로 더 효율적입니다.

출처 : 한국전자인증

 

OCSP의 작동 방식

  1. 클라이언트(브라우저 등)가 OCSP 서버에 특정 인증서의 상태를 요청합니다.
  2. OCSP 응답자(Responder)는 해당 인증서의 현재 상태(유효, 폐지, 알 수 없음)를 응답합니다.
  3. 클라이언트는 이 응답을 기반으로 인증서의 유효성을 판단합니다.

OCSP의 장점

  • 실시간 정보: 최신 인증서 상태 정보를 제공합니다.
  • 효율성: 개별 인증서에 대한 정보만 요청하므로 대역폭 사용이 효율적입니다.
  • 개인 정보 보호: CRL과 달리 어떤 인증서를 확인하는지 CA만 알 수 있습니다.

OCSP 스테이플링(OCSP Stapling)

OCSP의 한 가지 단점은 추가적인 네트워크 요청이 필요하다는 것입니다. 이를 해결하기 위해 도입된 것이 OCSP 스테이플링입니다.

OCSP 스테이플링에서는 웹 서버가 주기적으로 OCSP 응답을 사전에 가져와 TLS 핸드셰이크 과정에 '스테이플(staple, 첨부)'합니다. 이렇게 하면 클라이언트가 별도로 OCSP 서버에 요청할 필요가 없어집니다.

CRL vs OCSP 비교

특성 CRL OCSP
업데이트 빈도 주기적 실시간
대역폭 사용 높음 (전체 목록) 낮음 (개별 요청)
서버 부하 낮음 높음
최신성 낮음 높음
개인 정보 보호 낮음 높음
오프라인 사용 가능 (캐싱) 제한적

 

#6. 공인인증서 발급 및 갱신 과정

공인인증서를 처음 발급받거나 기존 인증서가 만료되어 갱신할 때의 과정을 알아보겠습니다.

공인인증서 발급 과정

  1. 신청: 사용자가 CA 또는 RA에 인증서 발급을 신청합니다.
  2. 신원 확인: CA/RA는 신청자의 신원을 확인합니다(신분증 확인, 대면 인증 등).
  3. 키 쌍 생성: 사용자 또는 CA/RA 시스템에서 개인키와 공개키 쌍을 생성합니다.
  4. 인증서 서명 요청(CSR): 공개키와 사용자 정보를 포함한 CSR이 생성되어 CA에 전송됩니다.
  5. 인증서 생성: CA는 CSR을 검증하고 자신의 개인키로 서명한 인증서를 생성합니다.
  6. 인증서 발급: 생성된 인증서가 사용자에게 전달됩니다.
  7. 저장: 사용자는 인증서와 개인키를 안전하게 저장합니다(파일, 스마트카드, HSM 등).

공인인증서 갱신 과정

  1. 갱신 알림: CA는 일반적으로 인증서 만료 전에 사용자에게 갱신 알림을 보냅니다.
  2. 갱신 신청: 사용자는 기존 인증서를 사용하여 갱신을 신청합니다.
  3. 검증: CA는 기존 인증서의 유효성을 검증합니다.
  4. 새 인증서 발급: CA는 동일한 정보(또는 업데이트된 정보)로 새 인증서를 발급합니다.
  5. 새 인증서 저장: 사용자는 새 인증서를 저장하고 필요에 따라 기존 인증서를 백업합니다.

인증서 폐지 과정

인증서가 만료되기 전에 더 이상 사용하지 않아야 할 경우, 다음과 같은 폐지 과정을 거칩니다:

  1. 폐지 요청: 사용자 또는 CA가 인증서 폐지를 요청합니다.
  2. 신원 확인: CA는 폐지 요청자의 신원을 확인합니다.
  3. 인증서 폐지: CA는 해당 인증서를 폐지하고 CRL에 추가하거나 OCSP 상태를 업데이트합니다.
  4. 폐지 통지: 필요에 따라 사용자에게 폐지 완료 통지가 발송됩니다.

인증서 폐지의 주요 이유에는 개인키 유출, 회사 퇴사, 사용자 정보 변경, 보안 정책 변경 등이 있습니다.

 

#7. 공인인증서 활용 분야

공인인증서는 다양한 분야에서 활용되고 있습니다:

1. 금융 서비스

  • 인터넷 뱅킹: 계좌 이체, 조회 등의 안전한 거래
  • 모바일 뱅킹: 스마트폰을 통한 은행 서비스 이용
  • 증권 거래: 주식, 채권 등의 온라인 거래
  • 보험: 보험 계약, 청구 서비스

2. 전자정부 서비스

  • 민원 서비스: 주민등록등본, 각종 증명서 발급
  • 세금 신고: 종합소득세 신고, 부가가치세 신고
  • 공공 서비스: 국민연금, 건강보험 등 서비스 이용

3. 전자상거래

  • 쇼핑몰 인증: 회원 인증, 결제 보안
  • 계약 체결: 전자계약, 전자 서명
  • 기업 간 거래(B2B): 기업 간 전자 문서 교환

4. 기업 보안

  • VPN 접속: 기업 내부 네트워크 접속 인증
  • 문서 보안: 중요 문서의 암호화 및 서명
  • 이메일 보안: 이메일 서명 및 암호화

5. 웹 보안

  • SSL/TLS 인증서: 웹사이트의 신원 확인 및 암호화 통신
  • 코드 서명: 소프트웨어 개발자 인증 및 코드 무결성 확인
  • 사설 인증서: 기업 내부 시스템용 인증서

 

#8. 공인인증서 관련 보안 이슈

공인인증서 시스템은 전반적으로 안전하지만, 몇 가지 보안 이슈가 존재합니다:

1. 개인키 관리 문제

  • 개인키 유출: 부적절한 관리로 인한 개인키 유출 위험
  • 비밀번호 보안: 약한 비밀번호 사용으로 인한 취약점
  • 저장 매체 보안: USB, 하드 드라이브 등의 보안 문제

2. CA 관련 이슈

  • CA 침해: CA 자체가 해킹되면 전체 신뢰 체계가 무너질 수 있음
  • 인증서 오발급: 부적절한 신원 확인으로 인한 잘못된 인증서 발급
  • 루트 인증서 관리: 신뢰할 수 없는 루트 인증서 설치 위험

3. 프로토콜 및 구현 취약점

  • 알고리즘 취약점: 암호화 알고리즘의 취약점 발견
  • 구현 오류: 인증서 검증 과정에서의 소프트웨어 구현 오류
  • 프로토콜 취약점: SSL/TLS 등의 프로토콜 취약점

4. 사용자 측면 위험

  • 피싱 공격: 가짜 인증 페이지를 통한 인증서 정보 탈취
  • 사회공학적 공격: 사용자를 속여 인증서 정보를 노출시키는 공격
  • 악성 소프트웨어: 키로거 등을 통한 인증서 정보 탈취

보안 강화 방안

  • 강력한 비밀번호 사용: 복잡하고 길이가 충분한 비밀번호 설정
  • 안전한 저장 매체 사용: HSM(Hardware Security Module), 스마트 카드 등 사용
  • 최신 알고리즘 사용: 안전한 암호화 알고리즘과 키 길이 사용
  • 다중 인증 도입: 인증서와 함께 추가적인 인증 수단 사용
  • 정기적인 갱신: 인증서의 정기적인 갱신 및 관리

 

#9. 자주 묻는 질문 (FAQ)

Q: 공인인증서와 일반 인증서의 차이점은 무엇인가요?

A: 과거 한국에서 '공인인증서'는 법적으로 인정받은 특별한 지위를 가진 인증서를 의미했습니다. 2020년 전자서명법 개정 이후로는 '공인'이라는 용어가 법적으로 사라졌으며, 이제는 다양한 민간 인증 수단이 동등한 법적 효력을 가질 수 있게 되었습니다. 기술적으로는 동일한 PKI 기반의 디지털 인증서입니다.

Q: 인증서가 만료되면 어떻게 되나요?

A: 인증서가 만료되면 더 이상 유효한 인증 수단으로 사용할 수 없습니다. 온라인 뱅킹, 전자정부 서비스 등에 접속할 때 만료된 인증서로는 인증이 불가능합니다. 만료 전에 갱신하거나, 만료 후에는 새로 발급받아야 합니다.

Q: 공인인증서는 어디에 저장하는 것이 안전한가요?

A: 공인인증서는 USB 메모리, 하드 드라이브, 스마트폰, 클라우드 등 다양한 매체에 저장할 수 있습니다. 가장 안전한 방법은 외부 네트워크와 분리된 하드웨어 보안 모듈(HSM)이나 스마트 카드를 사용하는 것입니다. 일반적으로는 악성코드 감염 위험이 적은 별도의 USB 저장 장치에 보관하는 것이 권장됩니다.

Q: OCSP와 CRL 중 어떤 것이 더 좋은가요?

A: 두 방식 모두 장단점이 있어 상황에 따라 적합한 방식이 다릅니다. OCSP는 실시간으로 인증서 상태를 확인할 수 있어 최신성이 중요할 때 유리합니다. 반면 CRL은 한 번 다운로드하면 오프라인에서도 사용할 수 있고 서버 부하가 적습니다. 최근에는 OCSP 스테이플링과 같은 하이브리드 접근 방식이 많이 사용됩니다.

Q: CA가 해킹되면 어떤 일이 발생하나요?

A: CA가 해킹되면 공격자가 유효하지만 신뢰할 수 없는 인증서를 발급할 수 있게 됩니다. 이는 중간자 공격(MITM)이나 피싱 사이트 구축에 활용될 수 있어 심각한 보안 위협이 됩니다. 과거 DigiNotar나 Comodo와 같은 CA 해킹 사례가 있었으며, 이런 경우 해당 CA의 루트 인증서가 브라우저에서 제거되는 조치가 취해지기도 했습니다.

Q: 인증서를 여러 기기에서 사용할 수 있나요?

A: 네, 인증서 파일과 개인키를 안전하게 내보내기(export)하여 다른 기기로 가져오기(import)하면 여러 기기에서 사용할 수 있습니다. 단, 이 과정에서 개인키가 노출되지 않도록 주의해야 합니다. 일부 서비스는 클라우드 기반 인증서 저장소를 제공하여 여러 기기에서 쉽게 접근할 수 있도록 지원하기도 합니다.


결론

인증서를 안전하게 사용하기 위해서는 개인키를 잘 관리하고, 인증서의 유효 기간을 확인하며, 신뢰할 수 있는 CA에서 발급받는 등의 기본적인 보안 수칙을 지키는 것이 중요합니다. 또한 OCSP나 CRL을 통한 인증서 상태 확인 메커니즘을 이해하고 활용하면 더욱 안전한 디지털 활동이 가능해집니다.

디지털 세상이 확장되고 온라인 활동이 더욱 중요해짐에 따라, 공인인증서와 같은 디지털 신원 확인 기술의 중요성은 앞으로도 계속해서 커질 것입니다. 이러한 기술을 이해하고 올바르게 활용하는 것은 안전한 디지털 생활을 위한 기본 소양이 되고 있습니다.

최근 인증 기술의 발전과 전망

인증 기술은 지속적으로 발전하고 있으며, 공인인증서 체계도 여러 변화를 겪고 있습니다:

1. 클라우드 기반 인증서

  • 인증서와 개인키를 클라우드에 안전하게 저장
  • 여러 기기에서 접근 가능한 편의성 제공
  • HSM(Hardware Security Module)을 통한 높은 보안성 유지

2. 생체 인증과의 결합

  • 지문, 얼굴, 홍채 등 생체 정보와 인증서의 결합
  • 다중 인증(Multi-factor Authentication) 체계 강화
  • 사용자 편의성과 보안성의 균형 개선

3. 블록체인 기반 PKI

  • 탈중앙화된 인증서 관리 시스템
  • 단일 CA에 의존하지 않는 신뢰 모델
  • 투명하고 조작이 어려운 인증서 관리

4. 양자 내성 암호화(Quantum-resistant Cryptography)

  • 양자 컴퓨팅에 대비한 새로운 암호화 알고리즘 개발
  • 기존 RSA, ECC 등을 대체할 수 있는 안전한 암호화 방식
  • 장기적인 보안을 위한 인증서 체계 준비

이러한 발전은 더 안전하고 편리한 인증 체계를 만들어가는 방향으로 진행되고 있으며, 사용자의 디지털 신원 보호를 위한 중요한 진화 과정이라고 할 수 있습니다.

긴 글 읽어주셔서 감사합니다.

끝.

반응형