Anbieter zum Thema
Transparent Data Encryption unter SQL Server 2008 aktivieren
Gehen wir davon aus, man ist mit der Datenbank MyDatabase verbunden. Um die transparente Datenverschlüsselung unter SQL Server 2008 zu ermöglichen, muss man zunächst einen Service Master Key (SMK) erstellen. Hierfür verbindet man sich mit dem Befehl „USE master“ zunächst einmal mit der Master-Datenbank, und gibt dann folgendes Statement ein:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ‘Passwort’
Für den später zu erstellenden Database Encryption Key muss man nun zunächst ein Zertifikat erstellen:
CREATE CERTIFICATE MyServerCert WITH SUBJECT = ‘My DEK Certificate’
Dieses lässt sich auch auf andere Server übertragen, um eine TDE-geschützte Datenbank bei Bedarf wiederherzustellen. In jedem Fall sollte man in Verbindung mit dem privaten Datenbank-Schlüssel ein lokales Backup des Zertifikats erstellen. Beide Dateien sollten in einer (ausfall-)sicheren und geläufigen Umgebung liegen. Denn ohne diese Dateien wäre es nicht mehr möglich, eine Datenbank wiederherzustellen und die Inhalte auszulesen:
BACKUP CERTIFICATE MyServerCert TO FILE = ‘C:\temp\MyCertificateBackup.bck’WITH PRIVATE KEY (FILE = ‘c:\Temp\MyPrivateKey.key’,ENCRYPTION BY PASSWORD = ‘Passwort’);
Nun erstellt man mithilfe des Zertifikats den eigentlichen Database Encryption Key. Hierfür verbindet man sich zunächst mit dem Befehl „USE MyDatabase“ mit der eigentlichen Datenbank und übergibt folgendes Statement:
CREATE DATABASE ENCRYPTION KEYWITH ALGORITHM = AES_256ENCRYPTION BY SERVER CERTIFICATE MyServerCert
Mit dem folgenden Kommando lässt sich schlussendlich die transparente Datenverschlüsselung von SQL Server 2008 aktivieren:
ALTER DATABASE MyDatabase SET ENCRYPTION ON
Fortschritt und Zustand der Verschlüsselung lassen sich mit der folgenden Dynamic-Management-View-Abfrage anzeigen:
Select db_name(database_id), encryption_state from sys.dm_database_encryption_keys
Grundsätzlich sollte man bei der TDE-Funktion daran denken, dass sie keine umfassende Verschlüsselungslösung ist. Sensible Daten innerhalb der Datenbank werden nicht verschlüsselt, sondern nur die Dateien und Backups selbst. Um ausgewählte Zeilen und Spalten vor unerwünschten Einblicken zu schützen, müssen diese nach wie vor einzeln chiffriert werden.
Weitere Informationen zu Transparent Data Encryption bietet die SQL-Server-2008-Dokumentation in der Microsoft-Technet-Bibliothek.
(ID:2040671)