Kapitel 19
Erweiterte Sicherheitsthemen
450
19.2 Verschlüsselung
Verschlüsselung ist ein wichtiger Beitrag zur Datensicherheit. Unstrittig ist, dass
Verschlüsselung, in welcher Form auch immer, zusätzliche Ressourcen bean-
sprucht und Performance kostet. Andererseits ist es nicht sinnvoll, alle Daten in
allen Datenbanken zu verschlüsseln. Eine Auswahl der kritischen Daten ist ein
guter Ansatz. Sie werden feststellen, dass sich die Menge der wirklich sensitiven
Daten doch in Grenzen hält.
Oracle bietet seit der Version 10g das Feature Transparent Data Encryption (TDE)
an. Der Einsatz von TDE bietet die folgenden Vorteile:
Es muss keine einzig Code-Zeile in der Anwendung geändert werden. Die Im-
plementierung beschränkt sich auf die Konfiguration des Features.
TDE benötigt keinen zusätzlichen Platz in der Datenbank.
Die Verschlüsselung kann feinmaschig auf Spaltenebene erfolgen.
Das Prinzip ist einfach. TDE benutzt einen Master Key, der sich außerhalb der
Datenbank befindet und sicher in einem Oracle Wallet gespeichert wird. Zur Ver-
schlüsselung können einzelne Spalten ausgewählt werden. Für jede Tabelle, die
verschlüsselte Spalten enthält, wird ein verschlüsselter Table Key im Data Dictio-
nary hinterlegt.
Wenn Daten in eine verschlüsselte Spalte geschrieben werden, dann holt sich
Oracle den Master Key aus dem Wallet, entschlüsselt damit den Table Key aus dem
Data Dictionary und benutzt den entschlüsselten Table Key, um die Daten zu ver-
schlüsseln. Beim Lesen von verschlüsselten Daten wird ein analoger Algorithmus
verwendet.
MITP connect true
MITP resolve true
Listing 19.3: Einträge in der Netzwerk-ACL abfragen
Hinweis
Beachten Sie, dass TDE kein Featurer Zugriffskontrolle, sondern für das Ver-
schlüsseln von Daten ist. Datenbankbenutzern, denen Zugriff auf verschlüsselte
Spalten und Tabellen gewährt wird, erhalten die Daten unverschlüsselt auf dem
Client oder in der Applikation zur Verfügung gestellt.
Vorsicht
Beachten Sie, dass ohne den Master Key aus dem Wallet eine Entschlüsselung
der Daten nicht mehr möglich ist. Speichern Sie deshalb unbedingt eine Kopie
des Wallet an einem sicheren Ort.
19.2
Verschlüsselung
451
Abb. 19.1: Die Architektur von Transparent Data Encryption
Im folgenden Beispiel soll die Spalte SALARY in der Tabelle HR.EMPLOYEES mit
TDE verschlüsselt werden. Führen Sie dazu die folgenden Schritte aus.
1. Zuerst müssen der Master Key und das Wallet erstellt werden, falls es noch
nicht vorhanden ist. Standardmäßig liegt das Wallet im Verzeichnis
$ORACLE_BASE/admin/<SID>/wallet. Nehmen Sie den entsprechenden Ein-
trag in der Datei sqlnet.ora vor.
2. Erstellen Sie nun das Wallet mit der folgenden SQL-Anweisung:
3. Teilen Sie nun Oracle mit, welche Spalten verschlüsselt werden sollen.
ENCRYPTION_WALLET_LOCATION =
(SOURCE=
(METHOD=file)
(METHOD_DATA=
(DIRECTORY=/opt/oracle/admin/MITP/wallet)))
SQL> ALTER SYSTEM SET ENCRYPTION KEY
2 AUTHENTICATED BY "wallkey";
System wurde geändert.
Kapitel 19
Erweiterte Sicherheitsthemen
452
Damit ist die Spalte geschützt. Falls Tablespaces oder Backup Pieces gestohlen
werden, ist der Angreifer ohne den Master Key nicht in der Lage, die Daten zu ent-
schlüsseln. Wenn dann versucht wird, die Daten auszulesen, erscheint die fol-
gende Fehlermeldung:
Alternativ können Sie TDE mit dem Oracle Enterprise Manager verwalten. Wählen
Sie die Menüpunkte »Administration«, »Sicherheit« und »Oracle Advanced Secu-
rity«.
Abb. 19.2: Startseite für TDE im Enterprise Manager
SQL> ALTER TABLE hr.employees
2 MODIFY (salary encrypt);
Tabelle wurde geandert.
SQL> SELECT * FROM dba_encrypted_columns;
OWNER TABLE_NAME COLUMN_NAME ENCRYPTION_ALG SAL INTEGRITY_AL
-------- ------------ ------------ ------------------ --- ------------
HR EMPLOYEES SALARY AES 192 bits key YES SHA-1
SQL> SELECT last_name,salary
2 FROM hr.employees;
FROM hr.employees
*
FEHLER in Zeile 2:
ORA-28365: Wallet ist nicht geöffnet

Get Oracle 12c - Das umfassende Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.