외부 샘플링으로 엔트로피 보강하기

외부 샘플링으로 엔트로피 보강하기 (Entropy Augmentation)

Vault Enterprise는 시일(seal) 인터페이스를 통해 외부 암호화 모듈에서 엔트로피(난수성)를 샘플링해 암호화 연산에 활용할 수 있습니다. Vault가 사용하는 시스템 엔트로피만으로도 대부분의 위협 모델을 감당할 수 있지만, 하드웨어 기반 난수 생성기에서 추가 엔트로피를 공급받는 게 더 바람직한 상황이 있습니다.

출처: 문서

본문

엔트로피 보강을 활성화하면 다음 키와 토큰이 구성된 외부 엔트로피 소스를 사용합니다.

작업 설명
루트 키 (Root Key) 시일 메커니즘이 암호화하는 AES 키입니다. 키링(key ring)을 암호화합니다.
키링 암호화 키 (Key Ring Encryption Keys) Vault의 키링에 포함되어 Vault 스토리지 전체를 암호화하는 키입니다.
복구 키 (Recovery Key) 자동 봉인 해제(auto-unseal) 시 복구 키를 사용해 루트 토큰 재생성, 키 교체 등을 수행합니다.
TLS 개인 키 (TLS Private Keys) HA 리더, Raft 및 Enterprise 복제에 사용됩니다.
MFA TOTP 키 (MFA TOTP Keys) Vault Enterprise MFA에서 TOTP에 사용되는 키입니다.
JWT 서명 키 (JWT Signing Keys) 래핑 토큰(wrapping token) JWT 서명에 사용되는 키입니다.
루트 토큰 (Root Tokens) Vault의 모든 작업에 접근을 허용하는 슈퍼유저 토큰입니다.
DR 작업 토큰 (DR Operation Tokens) DR 보조(secondary)에서 특정 작업을 수행할 수 있게 하는 토큰입니다.

transit 시크릿 엔진은 여러 종류의 키를 관리하며 keysutil 패키지를 사용해 키를 생성합니다. 이때 키 생성에도 외부 엔트로피 소스를 사용합니다.

경고: 외부 엔트로피 소스를 활성화하면 Vault는 HSM과의 연결이 필요합니다. 어떤 이유로든 HSM에 연결할 수 없게 되면 transit 시크릿 엔진은 새 키를 생성하거나 기존 키를 교체할 수 없습니다.

이 기능을 사용하려면 활성 또는 체험판 Vault Enterprise 라이선스가 필요합니다. 체험판을 시작하려면 HashiCorp 영업 담당자에게 문의하세요.

중요 보안 매개변수 (CSPs)

엔트로피 보강을 통해 Vault Enterprise는 시스템 엔트로피를 외부 암호화 모듈의 엔트로피로 보완할 수 있습니다. NIST SP800-90B 같은 암호화 규정 준수가 필요하거나, 하드웨어 진정 난수 생성기(TRNG)·양자 컴퓨팅 TRNG 같은 외부 소스의 보강 엔트로피가 바람직한 환경에서 설계되었습니다.

보강 엔트로피는 **중요 보안 매개변수(Critical Security Parameters, CSP)**에 난수 연산을 수행할 때 시스템 엔트로피를 대체합니다. 이러한 CSP는 키 저장·키 전송에 대한 FIPS 140-2 지침 준수 여부를 평가한 작업에서 선정되었으며, 다음을 포함합니다(이에 국한되지 않음).

  • Vault의 루트 키
  • 키링 암호화 키
  • 자동 봉인 해제 복구 키
  • 노드 간·클러스터 간 통신용 TLS 개인 키(HA 리더, raft, 복제)
  • Enterprise MFA TOTP 토큰 키
  • JWT 토큰 래핑 키
  • 루트 토큰
  • DR 작업 토큰
  • transit 백엔드 키 생성 및 /random 엔드포인트(/random은 Vault 1.11+)
  • PKI 발급자(issuer) 키 생성 — 단, 리프 인증서 개인 키는 제외
  • /sys/tools/random 엔드포인트(Vault 1.11+)
  • SSH CA 키 생성 — 단, 키 쌍 생성은 제외
  • KMIP은 TLS CA·서버·클라이언트 인증서에 EA를 사용합니다.
  • TOTP 2단계 인증 키

활성화/비활성화

엔트로피 보강은 기본적으로 비활성화되어 있습니다. 활성화하려면 Vault 구성 파일에 지원되는 시일 유형에 맞는 entropyseal 스탠자가 제대로 구성되어 있어야 합니다.

더 알아보기 (Learn more)