Sichern Sie Ihre Daten mit Actian Vector, Teil 3
Anknüpfend an meinen zweiten Blog-Beitrag über die funktionalen Fähigkeiten 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:

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 zum Ver- und Entschlüsseln des Containers der einzelnen „Tabellenschlüssel“ verwendet. Diese Tabellenschlüssel werden für jede Tabelle zufällig generiert und zum (endgültigen) Ver- und Entschlüsseln der Nutzer in Tabellen und Indizes verwendet. Da die Tabellenschlüssel zufällig generiert werden, müssen sie ebenfalls dauerhaft gespeichert und durch Verschlüsselung mit dem Datenbankschlüssel gesichert werden. Der Container, in dem die Tabellenschlüssel gespeichert sind, enthält auch andere Metadaten 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.
Entdecken Sie weitere Blogs zum Thema „Sichern Ihrer Daten mit Actian Vector“:
- Verwaltung von Verschlüsselungsschlüsseln für die Verschlüsselung ruhender Daten.
- Nur die Passphrase für eine verschlüsselte Datenbank ändern.
- Aktualisierung einer bestehenden verschlüsselten Datenbank auf Actian Vector 7.0.
- Nutzung Fähigkeiten funktionalen Verschlüsselungsfunktionen von Actian Vector.
- Verwendung der Datenbankverschlüsselung in Actian Vector.