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 e parametrisiert ist. Das heißt, das grundsätzliche Verfahren der Verschlüsselung ist allen Beteiligten bekannt, mit Hilfe des Schlüssels e kann der Vorgang jeweils individuell beeinflußt werden. Auf der Gegenseite wird mit dem Verfahren decode und seinem Schlüssel d 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 |
Schlüssel | 111010011 | |
Klartext | 010111001 | = Chiffre Schlüssel |
Diese Technik funktioniert so lange gut, wie es gelingt, die zum Bearbeiten einer Nachricht verwendeten Schlüssel e und d 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 e und d 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.