Transparent Data Encryption (TDE)
Transparent Data Encryption (TDE) ist eine Sicherheitsfunktion, die Datenbankdateien verschlüsselt, um Daten im Ruhezustand zu schützen.
Hauptmerkmale:
- Verschlüsselung der physischen Datenbankdateien (z. B. .mdf, .ldf)
- Automatische Ver- und Entschlüsselung auf Speicherebene
- Keine Änderungen an Anwendungen erforderlich
- Sicherungskopien werden ebenfalls verschlüsselt
Wie funktioniert TDE?
- Ein symmetrischer Datenbankverschlüsselungsschlüssel (DEK) wird erstellt.
- Der DEK wird mit einem Serverzertifikat geschützt.
- Daten werden beim Schreiben verschlüsselt und beim Lesen entschlüsselt – transparent für die Anwendung.
Wichtig: TDE schützt nur Daten im Ruhezustand. Daten in Übertragung (z. B. über das Netzwerk) müssen separat mit SSL/TLS gesichert werden.
SQL Server Beispiel:
-- Master-Schlüssel erstellen
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'StarkesPasswort!';
-- Zertifikat erstellen
CREATE CERTIFICATE MeinTDEZertifikat WITH SUBJECT = 'TDE Zertifikat';
-- Verschlüsselungsschlüssel in der Datenbank erstellen
USE MeineDatenbank;
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MeinTDEZertifikat;
-- Verschlüsselung aktivieren
ALTER DATABASE MeineDatenbank SET ENCRYPTION ON;
Vorteile:
- Erfüllt Compliance-Anforderungen (z. B. DSGVO, HIPAA)
- Sichert Daten bei physischem Zugriff oder Backup-Diebstahl
- Keine Änderungen an Anwendungen notwendig
Einschränkungen:
- Schützt nicht Daten im Arbeitsspeicher oder während der Übertragung
- Verlust des Schlüssels/Zertifikats = Datenverlust
- Geringe Performance-Einbußen (~3–5%)