시일을 암호화로 래핑하기

시일을 암호화로 래핑하기 (Seal Wrap)

Vault Enterprise는 지원되는 시일(seal)에 대해 값을 추가 암호화 계층으로 래핑하는 메커니즘을 제공합니다. 이는 추가 보호 계층을 더하며, FIPS 140-2/3 환경을 포함한 일부 컴플라이언스·규제 환경에서 유용합니다.

출처: 문서

본문

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

Seal Wrap 이점

Seal wrapping을 활성화하면 Vault 배포에서 다음과 같은 이점을 얻을 수 있습니다.

  • Leidos가 인증한 키 저장(Key Storage) 및 키 전송(Key Transport) 에 대한 FIPS 140-2/3 지침 준수
  • HSM과 동일한 FIPS 보안 수준 지원 — 예를 들어 HSM에서 Level 3 하드웨어 암호화를 사용하면 Vault는 FIPS 140-3 Level 3 암호화를 사용합니다.
  • 외부 감사에 FIPS 지침이 중요한 고보안 GRC 환경(예: PCI-DSS, HIPAA)에서 Vault 배포 활성화
  • 국방부(DOD) 또는 북대서양 조약 기구(NATO) 군사 기밀 관리에 Vault를 사용하는 경로 제공

활성화/비활성화 (Enabling/Disabling)

Seal Wrap은 지원 시일에서 기본적으로 활성화됩니다. 이는 시일이 Vault 런타임 동안 계속 사용 가능해야 함을 의미합니다. 대부분의 클라우드 기반 시일은 매우 안정적이지만, 예를 들어 비-HA 구성에서 HSM을 사용하는 경우 HSM 연결이 끊어지면 Vault 기능에 문제가 발생합니다.

팁: Vault가 자체 키를 생성하게 하는 것이 가장 쉽게 시작하는 방법이지만, 보안상 Vault는 키를 비내보내기(non-exportable) 로 표시합니다. HSM 키 백업 전략에서 키가 내보낼 수 있어야 한다면 키를 직접 생성해야 합니다. 키 생성 속성을 참고하세요.

Seal wrapping을 비활성화하려면 Vault 구성 파일에서 disable_sealwrap = true를 설정하세요. 이는 자동 봉인 해제(auto-unseal) 기능에는 영향을 주지 않습니다. Vault의 루트 키는 여전히 seal wrapping 메커니즘으로 보호됩니다. 단순히 Vault 내의 다른 스토리지 항목이 seal wrap되지 않도록 방지할 뿐입니다.

참고: 이것은 지연 다운그레이드(lazy downgrade)입니다. 키에 접근하거나 쓸 때마다 seal wrapping 상태가 변경됩니다. 마찬가지로 플래그를 제거하면 지연 업그레이드(seal wrap을 지원하는 Vault 버전으로 처음 업그레이드할 때의 경우)가 됩니다.

Seal wrapping 활성화 (Activating seal wrapping)

일부 값에는 지원 시일에서 seal wrapping이 항상 활성화됩니다. 여기에는 복구 키, 저장된 키 조각, 루트 키, 키링 등이 포함됩니다. 본질적으로 Vault 핵심 내의 모든 중요 보안 매개변수(CSP)입니다. seal wrapping을 지원하지 않는 Vault 버전에서 업그레이드한다면, 이러한 값이 다음에 읽힐 때 seal-wrapped되어 저장됩니다.

Vault 내의 백엔드 마운트도 seal wrapping을 활용할 수 있습니다. seal_wrap 구성 값을 true로 설정해 마운트할 때 지정된 마운트에 대해 seal wrapping을 활성화할 수 있습니다. (이 값은 나중에 변경할 수 없습니다.)

주어진 백엔드 작성자는 CSP가 저장되는 위치를 식별해 어떤 값을 seal-wrap해야 하는지 지정할 수 있습니다. 모든 값 또는 어떤 값도 seal wrap하지 않도록 선택할 수도 있습니다.

HSM이나 원격 시일에 쓰고 읽는 것은 종종 한 두 자릿수 정도 느리다는 점을 유의하세요. 그러나 값은 Vault에 메모리에 un-seal-wrapped(여전히 Vault의 내장 암호화 배리어로 암호화된) 상태로 캐시되어, 읽기 중심 워크로드의 경우 이를 완화합니다.

Seal wrap와 복제 (Seal wrap and replication)

Seal wrapping은 복제 논리 아래에서 이루어집니다. 그 결과 복제에 투명합니다. 복제는 어떤 값을 seal-wrap해야 하는지 전달하지만, 이를 구현하는 것은 로컬 클러스터의 시일입니다. 실제로 이는 연결 양쪽 끝에 복제된 키가 없어도 seal wrapping을 사용할 수 있음을 의미합니다. 각 클러스터는 HSM이나 KMS에 고유한 키를 가질 수 있습니다.

또한 하류 데이터센터에서 seal wrapping이 필요하지만 프라이머리에서는 필요하지 않은 경우, Shamir로 보호된 프라이머리 클러스터에서 HSM을 사용하는 클러스터로 복제하는 것도 가능합니다.

래핑되는 매개변수 (Wrapped parameters)

각 플러그인(시크릿이든 인증이든)은 Seal Wrap하기에 가장 적절하다고 판단하는 매개변수를 제어합니다. Seal Wrapping은 성능 오버헤드를 수반하므로 보통 몇 개의 핵심 값뿐입니다.

seal wrapping이 사용되는 몇 가지 예시는 다음과 같습니다.

  • LDAP, RADIUS, Okta, AWS 인증 메서드 — 구성 저장
  • PKI — 발급자(issuer)와 그 키 저장
  • SSH — CA 키 저장
  • KMIP — 관리 개체(외부 제공 키)와 CA 키 저장
  • Transit — 키와 정책 저장

FIPS 상태 (FIPS status)

FIPS 140-2 준수를 달성하기 위해 Seal Wrapping을 사용하는 방법에 대한 자세한 내용은 FIPS 전용 Seal Wrap 문서를 참고하세요. Seal Wrap 사용과 Vault 복제 관련 추가 FIPS 고려사항이 있다는 점을 유의하세요.

더 알아보기 (Learn more)