본문 바로가기

WEB개념/기타(ETC..)

PKI ( Public Key Infrastructure )

PKI(Public Key Infrastructure, 공개 키 기반 구조)는 디지털 인증서와 공개 키 암호화 기술을 사용하여 안전한 디지털 통신과 신원 인증을 보장하는 보안 프레임워크입니다.

  • 신뢰할 수 있는 제3자로서 디지털 인증서를 발급, 관리, 폐지합니다.
  • 공개 키(Public Key): 누구나 알 수 있도록 공개되는 키로 데이터 암호화에 사용됩니다.
  • 개인 키(Private Key): 소유자만 비밀로 안전하게 보관하는 키로 복호화 및 전자서명에 쓰입니다.
  • 디지털 인증서(Digital Certificate): 사용자나 장치의 신원을 증명하는 전자 신분증입니다.

 

Root CA, CA, RA, HSM이 서로 어떤 관계

 

  • Root CA: PKI 전체 신뢰의 뿌리. 자기 자신을 스스로 서명(self-signed)하고, 이 인증서는 OS나 브라우저에 기본으로 내장되어 있어요. 평소엔 오프라인 상태로 안전하게 보관되고, 하위 CA를 발급할 때만 사용됩니다.
  • CA (발급 CA): 실제로 사용자·서버 인증서에 서명해주는 기관. Root CA가 이 CA를 한 번 인증해주면, 이후 실무 발급은 이 CA가 담당합니다.
  • RA (등록기관): CA의 "접수창구" 역할. 신청자의 신원을 확인하고 서류를 검토한 뒤, 검증된 요청만 CA로 넘깁니다. CA를 대신해 노출되는 역할이라 보안 부담을 분리하는 목적도 있어요.
  • HSM ( Hardware Security Module ): CA나 Root CA의 개인키를 물리적으로 보호하는 전용 하드웨어. 키가 절대 외부로 추출되지 않고, 서명 연산 자체를 HSM 내부에서만 수행하도록 만들어져 있어요.

 

서명/해시 알고리즘

 

요소 예시
해시 함수 SHA-256, SHA-384, SHA-512
서명 알고리즘 RSA, ECDSA, EdDSA
조합 이름 SHA256withRSA, ECDSA-SHA256, Ed25519

 

인증서 발급

인증서에 포함된 정보

 

서명 검증

검증 시 송신자는 아래의 데이터를 보내 서버에서 검증한다. 단순 서명 검증 시에는 CA가 관여를 하지 않는다 하지만 서명한 사람이 누군지 확실히 하기 위해서는 "서명값 검증"과 "인증서/CA 검증"을 둘 다 해야 신뢰할 수 있는 사람의 서명이라고 판단할 수 있다.

송신자가 보내는 것 = 원문 + 서명값 + 인증서(공개키 포함)

목적 누가 무엇을 하나 무엇을 증명/보호하나
서명 (인증·무결성) 나 → 개인키로 서명, 남 → 공개키로 검증 "내가 보낸 게 맞다", "변조 안 됐다"
암호화 (기밀성) 남 → 내 공개키로 암호화, 나 → 개인키로 복호화 "나만 이 내용을 볼 수 있다"