Datenbanken

Sichern Sie Ihre Daten mit Actian Vector, Teil 3

Martin Fuerderer

7. August 2025

Sicherung Ihrer Daten mit Actian Vector

Anknüpfend an meinen zweiten Blog-Beitrag über die Funktionen von Actian Vector, erklärt dieser nächste Blog-Beitrag in der Serie über Datensicherheit die verschiedenen Verschlüsselungsschlüssel und wie sie in Actian Vector verwendet werden.

Verschiedene Verschlüsselungscodes verstehen

Die in Actian Vector allgemein verwendete Verschlüsselungsmethode ist die 256-Bit-Variante des Advanced Encryption Standard (AES). AES erfordert einen Verschlüsselungsschlüssel, und bei 256-Bit-AES ist dieser Schlüssel 256 Bit lang. Ein längerer Schlüssel bedeutet mehr Sicherheit. Derzeit gilt 256-Bit-AES als "sicher genug" und 256 Bit ist die maximale Schlüssellänge, die für AES festgelegt wurde.

In Actian Vector ist die Datenbankverschlüsselung ein wichtiger use case der Verschlüsselung. Wie bereits beschrieben, werden bei der Implementierung verschiedene Verschlüsselungsschlüssel für verschiedene Datenstücke verwendet. Neben der Datenbankverschlüsselung gibt es noch andere Verschlüsselungsanwendungen im Datenbankserver, für die ebenfalls unterschiedliche Schlüssel verwendet werden. Und alle diese Verschlüsselungsschlüssel müssen gesichert werden.

Um eine ausreichende Sicherheit zu gewährleisten, dürfen die Verschlüsselungscodes nicht leicht zu erraten sein. Daher werden Verschlüsselungsschlüssel in der Regel nach dem Zufallsprinzip erzeugt. Das macht sie sicher, aber schwer zu merken (nur wenige Menschen können sich eine Folge von 32 Zufallsbytes merken). Eine gängige Lösung ist der Schutz von Verschlüsselungsschlüsseln mit einer Passphrase, wobei eine umsichtig gewählte Passphrase ausreichend sicher, aber immer noch leicht genug zu merken sein kann.

Dennoch wäre es nicht sicher, eine Passphrase direkt als Verschlüsselungscode zu verwenden. Stattdessen wird ein Verschlüsselungsschlüssel von der Passphrase abgeleitet, und für diesen Ableitungsprozess gibt es fortgeschrittene Algorithmen, die sicherstellen, dass das Ergebnis ein ausreichend sicherer Schlüssel ist.

Actian Vector verwendet zu diesem Zweck die passwortbasierte Schlüsselableitungsfunktion 2 (PBKDF2). PBKDF2 ist Teil der RSA Laboratories' Public-Key Cryptography Standards Serie. Diese Illustration zeigt den Prozess:

Struktur der Verschlüsselungscodes für die Verschlüsselung im Ruhezustand

Wie Schlüssel für die Datenbankverschlüsselung generiert, gesichert und verwendet werden

Für jede Datenbank wird ein individueller "Hauptschlüssel" nach dem Zufallsprinzip erzeugt. Um den Hauptschlüssel sicher zu speichern, wird er mit dem "Schutzschlüssel" verschlüsselt. Dieser Schutzschlüssel ergibt sich aus der Passphrase, die durch den PBKDF2-Algorithmus verarbeitet wird. Der Schutzschlüssel muss nirgendwo gespeichert werden, da seine Ableitung aus der Passphrase wiederholt werden kann, wenn der Schutzschlüssel benötigt wird.

Der "Datenbankschlüssel" für die Datenbankverschlüsselung wird dann aus dem Hauptschlüssel abgeleitet. Da der Hauptschlüssel bereits nach dem Zufallsprinzip generiert wird, kann mit einer internen Methode, die auf einem Secure Hash Algorithm (SHA) basiert, ein ausreichend zufälliger Datenbankschlüssel abgeleitet werden, ohne dass der komplexere PBKDF2-Algorithmus erforderlich ist.

Ebenso werden vom Hauptschlüssel weitere Schlüssel für verschiedene Zwecke abgeleitet. Diese abgeleiteten Schlüssel werden nicht aufbewahrt, sondern nur im Speicher gehalten. Andererseits wird der verschlüsselte Hauptschlüssel aufbewahrt, aber der entschlüsselte Hauptschlüssel wird nur zur Ableitung des Datenbankschlüssels und anderer Schlüssel benötigt. Danach wird der entschlüsselte Hauptschlüssel aus dem Speicher entfernt.

Der Datenbankschlüssel wird zur Ver- und Entschlüsselung des Containers der einzelnen "Tabellenschlüssel" verwendet. Diese Tabellenschlüssel werden nach dem Zufallsprinzip für jede Tabelle generiert und zum Ver- und Entschlüsseln der Nutzer in Tabellen und Indizes verwendet. Da die Tabellenschlüssel zufällig generiert werden, müssen sie auch persistiert und damit durch Verschlüsselung mit dem Datenbankschlüssel gesichert werden. Der Container, in dem die Tabellenschlüssel gespeichert sind, enthält auch andere Metadaten für die Datenbank und wird daher ebenfalls durch Verschlüsselung des gesamten Containers gesichert, anstatt nur die Tabellenschlüssel einzeln zu verschlüsseln.

Der Datenbankadministrator kann die Passphrase für eine Datenbank ändern und auch den Hauptschlüssel oder einzelne Tabellenschlüssel drehen. Mehr dazu in einem späteren Blogbeitrag zur Schlüsselverwaltung.

Martin Fuerderer Kopfbild

Über Martin Fuerderer

Martin Fuerderer ist Principal Software Engineer bei HCLSoftware und verfügt über mehr als 25 Jahre Erfahrung in der Entwicklung von Datenbankservern. In letzter Zeit hat er sich auf Sicherheitsfunktionen in Datenbankumgebungen konzentriert, um die Einhaltung von Vorschriften und einen zuverlässigen Datenschutz zu gewährleisten. Martin hat an wichtigen Produktveröffentlichungen mitgewirkt und arbeitet häufig mit Kollegen zusammen, um die Standards für Datenbanksicherheit zu verbessern. Im Actian-Blog gibt Martin Einblicke in die sichere Entwicklung von Datenbankservern und in bewährte Verfahren. In seinen neuesten Beiträgen finden Sie Hinweise zum Schutz von Unternehmensdaten.