Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Zugriffsschutz durch Datenverschlüsselung

Mit den kryptografische Funktionen ENCRYPT und DECRYPT von SESAM/SQL können Sie sensitive Daten einer Datenbank verschlüsseln und entschlüsseln.

Sensitive Daten werden durch die Verschlüsselung vor unbefugtem Zugriff geschützt. Nur die Benutzer, die den sogenannten „Schlüssel“ („key“) kennen, können die Daten entschlüsseln. Auch sensitive Daten einer Datenbank, die in einer nicht-sicheren Umgebung betrieben wird, können so geschützt werden.

SESAM/SQL nutzt den Advanced Encryption Standard (AES) von Rijndael mit einem Schlüssel mit 128 Bit (16 Bytes) im Electronic Codebook Mode (ECM). Allgemeine Informationen zum AES finden Sie im Internet unter der Adresse: http://csrc.nist.gov/.

Detaillierte Informationen zu den kryptografischen Funktionen von SESAM/SQL finden Sie im Handbuch „ SQL-Sprachbeschreibung Teil 1: SQL-Anweisungen“.

Schlüssel-Verwaltung

Die Sicherheit verschlüsselter Daten hängt hauptsächlich von der Sicherheit der verwendeten Schlüssel ab. Schlüssel müssen redundant und an unterschiedlichen Stellen, ggf. auch auf unterschiedlichen Medien aufbewahrt werden. Ihr Aufbewahrungskonzept ist Teil des Sicherheitskonzepts.

Der AES verwendet denselben Schlüssel zum Verschlüsseln und zum Entschlüsseln (symmetrisches Verschlüsselungsverfahren). Die Kenntnis des Schlüssels ermöglicht es direkt, sensitive Daten zu entschlüsseln, weil nur der Schlüssel geheim ist, nicht aber das Verschlüsselungsverfahren. Der Schlüssel kann aber auch nicht beliebig oft gewechselt werden, da alle verschlüsselten Daten entschlüsselt und mit dem neuen Schlüssel wieder verschlüsselt werden müßten.

Bei Verlust des Schlüssels können verschlüsselte Daten nicht mehr entschlüsselt werden. SESAM/SQL hinterlässt aus Sicherheitsgründen auch keine interne Spur des Schlüssels oder von unverschlüsselten Werten.

Zum Lesen verschlüsselter Daten aus Sicherungsbeständen müssen ggf. „alte“ Schlüssel aufbewahrt werden.

Speicherung verschlüsselter Daten

Verschlüsselte Daten werden in SESAM/SQL nur in ihrer verschlüsselten Form gespeichert. Dies gilt sowohl für die Spaces der Datenbank, als auch für Indizes, Logging-Dateien (DA-LOG, TA-LOG, WA-LOG) und die temporären Dateien der Utility-Funktionen.

ACHTUNG!

Im Hauptspeicher des DBH und der Client-Anwendungen sind jedoch (nach einer Benutzung von ENCRYPT oder DECRYPT) sowohl die unverschlüsselten Daten als auch der Schlüssel im Klartext sichtbar. Speicherauszüge (Dumps) solcher Bereiche enthalten schutzwürdige Daten und müssen mit besonderer Vorsicht behandelt werden.

Nach Beendigung des DBH und der Client-Anwendungen kann auf die Hauptspeicherbereiche nicht mehr zugegriffen werden. Dumps und Cursor-Dateien (siehe "Cursor-Dateien für Wiedergewinnungsanweisungen", Dateinamen SES*.CURSOR.*) sollten nicht nur logisch, sondern auch physikalisch gelöscht werden (z.B. mit dem BS2000-Kommando DELETE-FILE ...,OPTION = *DESTROY-ALL).

Auf der BS2000-Benutzerkennung, in der der DBH läuft, können (z.B. durch Administrationseingriffe) Dateien (z.B. CO-LOG-Datei, Traces, Dumps) entstehen, in denen Schlüssel bzw. die verschlüsselten Daten in entschlüsselter Form wiedergefunden werden können. Daher sollten diese BS2000-Benutzerkennung und auch der Administrationszugang zum DBH geschützt werden.

Auch andere Analysewerkzeuge können Schlüssel und Daten im Klartext sichtbar machen und speichern. Sie verdienen besondere Beachtung. Zur Analyse können Sie einen Mitschnitt der SQL-Anweisungen und ihrer Benutzervariablen mit dem Dienstprogramm SESCOSP erstellen, siehe Handbuch „ Datenbankbetrieb“.

NULL-Werte

NULL-Werte werden durch Verschlüsselung wieder zu NULL-Werten.

Privilegien und Verschlüsselung

Privilegien erlauben den Zugang zu Tabellen, zu Spalten und (über Views) zu Zeilen einer Tabelle, siehe Abschnitt „Zugriffsschutz in SQL durch Privilegien“. Sie beschreiben auch die zulässigen Operationen (z.B. INSERT) auf diesen Objekten. Privilegien haben einen größeren Funktionsumfang als Verschlüsselung, sie decken jedoch nicht alle Sicherheitsaspekte ab.

Die Verschlüsselung sensitiver Daten ergänzt die Privilegien, z.B. in folgenden Fällen:

  • Privilegien können den Zugriff auf sensitive Daten erlauben.
    Bestimmte Rollen (z.B. der universelle Benutzer oder der Eigentümer einer Tabelle) besitzen alle Privilegien für ein Objekt.
    Mit Verschlüsselung können solche Benutzer sensitive Daten jedoch nur dann entschlüsseln, wenn sie auch den Schlüssel kennen.
    Mit ENCRYPT() können einzelne Spalten einer Tabelle oder sogar einzelne Werte gegen unbefugten Zugriff geschützt werden.

  • Privilegien kontrollieren den Zugang nur im SQL-System.
    Sie verhindern keine Zugriffe mit anderen Mitteln (z.B. dem BS2000-Kommando SHOW-FILE). Verschlüsselung hingegen verhindert unbefugtes Lesen mit beliebigen anderen Mitteln.

  • Privilegien gelten für alle SQL-Anweisungen einer Transaktion.
    Bei Verschlüsselung mit unterschiedlichen Schlüsseln können sensitive Daten mit unterschiedlichen Sicherheitsanforderungen auch unterschiedlich verschlüsselt werden, auch innerhalb ein und derselben Transaktion.

  • Bei Privilegien identifiziert sich ein Anwender durch die verwendete Anwendung oder den verwendeten Zugang zum Betriebssystem. SESAM/SQL kann z.B. zwei Anwender mit demselben Zugang nicht unterscheiden. Bei Verschlüsselung können sie sich aber durch die Kenntnis von Schlüsseln unterscheiden.