WAF-SOV-110 – Kryptographische Schlüssel für sensitive Daten müssen in HSM oder sovereignem KMS verwaltet werden

Beschreibung

Keys for sensitive and classified data MUST be generated and stored in Hardware Security Modules (HSM) or sovereign managed key services. Key operations MUST enforce role separation, dual control, and audit logging. Key import, export, and backup MUST follow documented and approved procedures. Cloud provider managed keys alone MUST NOT be used for sovereign data classes.

Begründung

Risiko Beschreibung

Risk

Provider-managed keys may be accessible to cloud operators or subject to foreign jurisdiction.

Risk

Missing HSM backing weakens key protection and complicates compliance with sovereignty requirements.

Anforderungen

  • Keys for sensitive and classified data MUST be generated and stored in Hardware Security Modules (HSM) or sovereign managed key services.

  • Key operations MUST enforce role separation, dual control, and audit logging.

  • Key import, export, and backup MUST follow documented and approved procedures.

  • Cloud provider managed keys alone MUST NOT be used for sovereign data classes.

Implementierungsleitfaden

  1. Document the requirement in a version-controlled policy, ADR, or standard.

  2. Assign ownership and establish a review cadence (e.g., quarterly).

  3. Implement the required configuration as code in Terraform or equivalent IaC.

Reifegrade

Level Name Kriterien

L1

Ad hoc – control not consistently applied

* Die Anforderung ist nicht einheitlich umgesetzt; Nachweis existiert nur punktuell oder fehlt.

L2

Standardised – policy defined and communicated

* Eine dokumentierte Policy oder ein Standard beschreibt die Anforderung.

L3

Integrated – automated validation in CI/CD

* Terraform-Checks oder IaC-Gates prüfen die Anforderung automatisch in CI/CD.

L4

Auditable – metrics and exceptions tracked

* Abdeckung, Ausnahmen und Qualitätsmetriken werden quartalsweise berichtet.

L5

Optimised – continuous improvement based on data

* Die Effektivität wird kontinuierlich gemessen und automatisch optimiert.

Checks

waf-sov-110.tf.aws.kms-hsm

Engine: terraform | Provider: aws | Automated: Ja

AWS KMS-Schlüssel für sensitive Daten müssen HSM-gestützte, kundeneigene Schlüssel verwenden

AWS KMS-Schlüssel für sensitive Daten müssen HSM-gestützte, kundeneigene Schlüssel verwenden

Scope: resource — aws_kms_key

Assertions: * customer_master_key_spec attribute_exists — KMS key must define key spec.

Remediation: AWS KMS-Schlüssel für sensitive Daten müssen HSM-gestützte, kundeneigene Schlüssel verwenden

Compliant
# Beispiel konform zu waf-sov-110.tf.aws.kms-hsm
Non-Compliant
# Beispiel nicht konform zu waf-sov-110.tf.aws.kms-hsm

waf-sov-110.tf.azurerm.hsm-keyvault

Engine: terraform | Provider: azurerm | Automated: Ja

Azure Key Vault muss Premium-SKU mit HSM-gestützten Schlüsseln verwenden

Azure Key Vault muss Premium-SKU mit HSM-gestützten Schlüsseln verwenden

Scope: resource — azurerm_key_vault

Assertions: * sku_name in ['premium', 'Premium'] — Key Vault must use Premium SKU for HSM-backed keys.

Remediation: Azure Key Vault muss Premium-SKU mit HSM-gestützten Schlüsseln verwenden

Compliant
# Beispiel konform zu waf-sov-110.tf.azurerm.hsm-keyvault
Non-Compliant
# Beispiel nicht konform zu waf-sov-110.tf.azurerm.hsm-keyvault

waf-sov-110.tf.google.hsm-kms

Engine: terraform | Provider: google | Automated: Ja

GCP KMS-Schlüssel für sensitive Daten müssen Cloud HSM verwenden

GCP KMS-Schlüssel für sensitive Daten müssen Cloud HSM verwenden

Scope: resource — google_kms_crypto_key

Assertions: * key_ring attribute_exists — Crypto key must be in a defined key ring.

Remediation: GCP KMS-Schlüssel für sensitive Daten müssen Cloud HSM verwenden

Compliant
# Beispiel konform zu waf-sov-110.tf.google.hsm-kms
Non-Compliant
# Beispiel nicht konform zu waf-sov-110.tf.google.hsm-kms

Evidenz

  • Terraform-Konfiguration, die die Anforderung umsetzt.

  • Policy, ADR oder Standard, der die Anforderung dokumentiert.

  • Optionale Cloud-Konsolen- oder API-Ausgaben, die den Laufzeit-Zustand bestätigen.

Verwandte Controls