Verschlüsselung für Postgres-Datenbank: Customer Managed Keys für Lakebase

Databricks_cmk_blog_architecture_r69-1

Databricks bietet Unternehmen ab sofort Lakebase Customer Managed Keys (CMK) zur Verschlüsselung von „Data at Rest“ an. Unternehmen erhalten damit die volle Kontrolle über ihr Schlüsselmanagement: Sie können nun eigene kryptografische Schlüssel aus etablierten Diensten wie AWS KMS, Azure Key Vault oder Google Cloud KMS einbinden. Dies ermöglicht einen lückenlosen Schutz der Daten über den gesamten Lakebase-Lebenszyklus hinweg.

Die Architektur von Lakebase trennt Speicher und Rechenleistung in unabhängige Schichten – ein Design, das eine dynamische Skalierung und serverlosen Betrieb ermöglicht. Die Speicherschicht (Pageserver und Safekeeper) verwaltet langlebige, persistente Daten im Objektspeicher und in lokalen Caches, während die Rechenschicht unabhängige Postgres-Instanzen ausführt, die je nach Bedarf nach oben, unten oder auf null skaliert werden können.

Diese Trennung stellt die Verschlüsselung vor eine besondere Herausforderung: Beide Schichten (sowie alle ihre Caches in der gesamten Architektur) müssen verschlüsselt werden und unter der Kontrolle des Kunden bleiben. Diese Herausforderung wird durch ein hierarchisches Envelope-Encryption-Modell gelöst.

Die Envelope-Verschlüsselung ist ein Sicherheitsmodell, bei dem Daten mit eindeutigen Datenschlüsseln (DEKs) geschützt werden, wobei diese Schlüssel wiederum durch übergeordnete Schlüssel chiffriert sind. Diese Hierarchie stellt sicher, dass Ihr CMK Ihren Cloud-KMS niemals verlässt – Databricks erhält lediglich verschlüsselte Versionen der Schlüssel, die zur Entschlüsselung der Daten benötigt werden. Das Modell ermöglicht zudem eine leistungsstarke Verschlüsselung in großem Maßstab, da der KMS nur zum Entschlüsseln der Schlüssel kontaktiert wird und nicht zum Verschlüsseln jedes einzelnen Datenblocks. Diese Architektur ermöglicht eine nahtlose Schlüsselrotation und eine zeitnahe Sperrung, falls dies jemals erforderlich sein sollte.

Die Hierarchie besteht aus drei Ebenen:

  1. Customer Managed Key (CMK): Die Vertrauensbasis, die sich in Ihrem Cloud-KMS (AWS KMS, Azure Key Vault oder Google Cloud KMS) befindet. Databricks sieht den Klartext dieses Schlüssels niemals.
  2. Schlüsselverschlüsselungsschlüssel (Key Encryption Key, KEK): Ein temporärer Schlüssel, der vom Databricks Key Manager Service zum Verpacken von Datenschlüsseln verwendet wird.
  3. Datenverschlüsselungsschlüssel (Data Encryption Keys, DEKs): Eindeutige Schlüssel, die für jedes Datensegment generiert werden. Diese werden zusammen mit den Daten in verschlüsseltem (verpacktem) Zustand gespeichert.

Wenn auf Daten zugegriffen werden muss, entschlüsseln die Lakebase-Komponenten den erforderlichen Data Encryption Key mithilfe von Schlüsseln, die vom Schlüsselmanagement-System (Key Management System, KMS) abgerufen werden. Im Falle einer Sperrung schlägt die Entschlüsselung fehl, wodurch die Daten kryptografisch unzugänglich werden. Im Rahmen dieses Vorgangs werden alle temporären Recheninstanzen beendet, um den Zugriff auf zwischengespeicherte Daten zu unterbinden.

Mehr lesen Sie hier: https://www.databricks.com/blog/take-control-customer-managed-keys-lakebase-postgres