Sicherheit: Oracle und Centura im Vergleich

Mobile Datenbanken erfordern neuartige Schutzmechanismen

16.07.1999
MÜNCHEN - Mobile Datenbanken befinden sich meist in ungeschützten Umgebungen. Die im Mainframe-Zeitalter üblichen Sicherheitsvorkehrungen wie abgeschlossene Rechenzentren und Datenbankadministratoren als Wächter über die Informationen sind auf Laptops und Notebooks nicht mehr anwendbar. Zusätzliche Schutzmechanismen sind nötig. Claudia Piemont* beschreibt die Sicherheits-Features von drei häufig genutzten mobilen Datenbanken.

Centura hat mit "SQL Base Safegarde" eine relationale Datenbank mit Sicherheitsfunktionen für den mobilen Betrieb im Angebot. Oracle bietet mit "Trusted Oracle 7" eine Ergänzung für das relationale Datenbanksystem "Oracle 7", das integrierte Schutzmechanismen zur Verfügung stellt. Darüber hinaus existiert die Datenbank "Oracle 8i", die zwar nicht den sicheren "Trusted"-Status besitzt, dafür aber über ein mehrstufiges Sicherheitskonzept verfügt. Oracles Datenbank für Embedded-Systeme "Oracle Lite 3.5" wiederum besitzt als "Single-User"-System eine Zugangskontrolle über Benutzerkennung und Paßwort.

SQL Base Safegarde

Die Legitimierung von Datenbanknutzern geschieht bei SQL Base Safegarde durch die Angabe von Benutzerkennung und Paßwort. Im mobilen Offline-Betrieb verfügt die Datenbank über einen zeitverzögernden Mechanismus und über eine Kryptografie-Funktionalität, um unberechtigte Eindringversuche abzuwehren. Je nach Sensibilität der Daten kann der Datenbankadministrator verschiedene Sicherheitsstufen für die "mobilen Informationen" festlegen. Zum Schutz vor unkontrollierten Veränderungen von Dateninhalten speichert der Datenbank-Server eine Prüfsumme zu jeder Datenseite ab. Dieses Verfahren schützt ausschließlich die Integrität der gespeicherten Inhalte. Will man jedoch die Lesbarkeit der abgelegten Informationen beeinflussen, so lassen sich alle Datenbankseiten verschlüsseln. Die Codierung und Decodierung geschieht in diesem Fall automatisch beim Schreiben und Lesen der Datenbanktabellen. Das System bietet verschiedene Verschlüsselungsmethoden zur Auswahl, die unterschiedliche Sicherheitsstufen repräsentieren und sich daher auch vom Zeitaufwand her unterscheiden. Die Cryptogramm-Verschlüsselung stellt das einfachste Verfahren dar. Möglich ist auch der Einsatz der 56-Bit-DES-Technik (DES = Data Encryption Standard). Für Anwender mit sehr hohen Sicherheitsanforderungen eignet sich die 128-Bit-Triple-DES-Codierung.

Trusted Oracle 7

Trusted Oracle 7 speichert alle Datenbankpaßwörter verschlüsselt ab. Ein korrekt angemeldeter Datenbankkunde besitzt verschiedene Berechtigungen, die der Datenbankadministrator vorher festgelegt hat. Die meisten Datenbank-Management-Systeme (DBMS) können Berechtigungen für Tabellen, "Views" und "Stored Procedures" vergeben. Oracle 7 und die "Internet-Datenbank" Oracle 8i erlauben zusätzlich das Zusammenfassen von mehreren Erlaubnisscheinen in einer Benutzerrolle (Role) und erleichtern so die Verwaltung der Nutzerprivilegien.

Trusted Oracle 7 ergänzt diese diskreten Abgrenzungsverfahren durch eine sogenannte verpflichtende Zugriffskontrolle (Mandatory Access Control = MAC) auf der Basis einer mehrstufigen Sicherheitsarchitektur.

Dabei geht das Datenbanksystem bereits von einer geschützten Betriebssystem-Umgebung mit MAC-Unterstützung aus. Das Betriebssystem verwaltet hier quasi selbständig einen hierarchischen Baum von unterschiedlichen Zugangsklassen, in denen auch die einzelnen Funktionsrechte wie "Uneingeschränkt", "Schreiben" oder "Nur Lesen" festgelegt sind. Der Verwalter des Betriebssystems bestimmt daraufhin für jeden Nutzer die richtige Zugangsklasse. Ferner erhalten alle Datenbanktabellen automatisch eine zusätzliche Spalte, in der der Administrator für jede Tabellenzeile die erforderliche Zugangsklasse einträgt. Ein Datenbankanwender kann nun nur solche Informationen in der Datenbank verarbeiten, die mindestens seiner Zugangsklasse entsprechen. Im Gegensatz zur diskreten Zugriffskontrolle läßt sich dieser Schutzmechanismus nicht, wie bei anderen Vorgehensweisen durchaus häufig, durch Tabellenkopien oder andere Techniken täuschen oder umgehen.

Oracle 8i

Neben den herkömmlichen Berechtigungsverfahren bietet Oracle 8i ergänzend ein differenziertes, mehrstufiges Sicherheitskonzept. Dies bedeutet, daß der Datenbankadministrator bestimmte Tabellen oder Views mit zusätzlichen Sicherheitsregeln verbinden kann. Dabei handelt es sich um eine vorher festzulegende Funktion, die ein sogenanntes Where-Prädikat bildet. Enthält eine Datenbankabfrage ein Objekt, das eine Sicherheitsregel besitzt, so hängt der Datenbank-Server automatisch und dynamisch das entsprechende Where-Prädikat an die SQL-Anweisung an. Dies geschieht noch vor der Optimierung, so daß kaum Performance-Einbußen zu bemerken sind. An eine Tabelle oder View lassen sich mehrere, unterschiedliche Sicherheitsregeln anbinden. Eine Unterscheidung nach Anweisungstyp ist zudem möglich.

Der Anwendungskontext stellt einen weiteren Differenzierungsmechanismus dar. Dort kann der Datenbankadministrator wesentliche Parameter für den Zugriff festlegen - abhängig vom Nutzer oder vom Typ des Anwendungsprogramms. Dazu zählen beispielsweise Kundennummer oder Funktion eines Mitarbeiters. Innerhalb der Sicherheitsregeln läßt sich der aktuelle Anwendungskontext abfragen. Dadurch erhält man die Möglichkeit, je nach gültigem Anwendungskontext unterschiedliche Where-Prädikate zu erzeugen.

Verschlüsselung ist usus

Oracle schützt sensible Daten vornehmlich durch differenzierte und mehrstufige Autorisierungskonzepte, so wie sie in Trusted Oracle 7 oder Oracle 8i implementiert sind. Diese Schutzmechanismen reichen in der Regel aus, wenn sich der Datenbank-Server an einem sicheren Platz befindet. Gerade die Datenbank Oracle 8i scheint implizit von einer netzorientierten Organisation auszugehen, bei der der Client die Daten nur abfragt, aber nicht selbst speichert. Die meisten netzorientierten Datenbanken sind so vorsichtig, daß sie die Daten bei der Übertragung vom Client zum Server verschlüsseln. Dies gilt sowohl für SQL Base als auch für die Oracle-Produkte. SQL Base Safegarde verwendet darüber hinaus im "administratorlosen" Betrieb, also für Laptops, eine inkrementell ansteigende Zeitverzögerung bei jeder falschen Eingabe des Paßworts, die einen solchen Betrugsversuch durch die langen Pausen wirkungslos macht.

Die meisten Datenbanken speichern ihre Inhalte in kleinen Dateien fester Größe ab, den sogenannten Datenbankseiten (Pages). Dort liegen die Informationen zwar nicht in Tabellenform vor, aber meistens ohne besonderen Schutz im Klartext. Bei Oracle-Datenbanken lassen sich besonders sensible Daten verschlüsselt in der Datenbank ablegen, wenn die Anwendungsprogramme zusätzliche Kryptografiemodule einsetzen und die Codierung oder Decodierung unabhängig von der Datenbank selbst übernehmen.

*Claudia Piermont ist freie Journalistin in Hattersheim.