Da die meisten Datenbanken in einer verteilten Umgebung (Client/Server) betrieben werden, ist die Gefahr des Abhörens von Kommunikationskanälen sehr hoch. Zur Authentisierung von Benutzern und zur Sicherung gegen den Zugriff auf sensible Daten werden daher kryptographische Methoden eingesetzt.
Der prinzipielle Ablauf ist in
Abbildung 15.2
skizziert: Der Klartext x dient als Eingabe für ein Verschlüsselungsverfahren
encode, welches über einen Schlüssel parametrisiert ist.
Das heißt, das
grundsätzliche Verfahren der Verschlüsselung ist allen Beteiligten bekannt,
mit Hilfe des Schlüssels
kann der Vorgang jeweils individuell beeinflußt
werden. Auf der Gegenseite wird mit dem Verfahren decode und seinem Schlüssel
der Vorgang umgekehrt und somit der Klartext rekonstruiert.
Zum Beispiel kann eine Exclusive-OR-Verknüpfung des Klartextes mit dem Schlüssel verwendet werden, um die Chiffre zu berechnen. Derselbe Schlüssel erlaubt dann die Rekonstruktion des Klartextes.
Klartext | 010111001 | |
Schlüssel | 111010011 | |
Chiffre | 101101010 | = Klartext ![]() |
Schlüssel | 111010011 | |
Klartext | 010111001 | = Chiffre ![]() |
Diese Technik funktioniert so lange gut, wie es gelingt, die zum Bearbeiten einer
Nachricht verwendeten Schlüssel und
auf einem sicheren Kanal zu übertragen,
z. B. durch einen Kurier. Ein Spion, der ohne Kenntnis der Schlüssel die Leitung
anzapft, ist dann nicht in der Lage, den beobachteten Code zu entschlüsseln
(immer vorausgesetzt, der Raum der möglichen Schlüssel wurde zur Abwehr
eines vollstängigen Durchsuchens groß genug gewählt). Im Zeitalter der
globalen Vernetzung besteht natürlich der Wunsch, auch die beiden
Schlüsselpaare
und
per Leitung auszutauschen. Nun aber laufen wir Gefahr,
daß der Spion von ihnen Kenntnis erhält und damit den Code knackt.
Dieses (auf den ersten Blick) unlösbare Problem wurde durch die Einführung von Public Key Systems behoben.