PHP 4.3

14.3 Verschlüsselungsmechanismen im Überblick

Grundsätzlich kann man zwischen mehreren Arten von Verschlüsselungsverfahren unterscheiden:

Symmetrische Verschlüsselung

Hier wird mit dem gleichen Schlüssel ver- und entschlüsselt. Dieser Schlüssel muss zuvor zwischen den Kommunikationspartnern vereinbart worden sein und von diesen geheim gehalten werden. Gelangt ein Dritter in den Besitz des Schlüssels, kann er sich als einer der beiden ersten Teilnehmer ausgeben, bzw. Einsicht in die Informationen nehmen, die zwischen den beiden Teilnehmern ausgetauscht werden. Gängige symmetrische Verschlüsselungsverfahren sind z.B. DES, 3DES, AES und Blowfish.

Asymmetrische Verschlüsselung

Bei einem asymmetrischen Verschlüsselungsverfahren gehört jedem Kommunikationsteilnehmer ein Schlüsselpaar, das aus einem öffentlichen Schlüssel und einem geheim zu haltenden privaten Schlüssel besteht. Mit dem öffentlichen Schlüssel kann jeder Sender Nachrichten verschlüsseln, die dann nur vom Besitzer des zugehörigen privaten Schlüssels - also dem rechtmäßigen Empfänger - wieder entschlüsselt und somit gelesen werden können. Werden die Rollen von öffentlichem und privaten Schlüssel vertauscht, können asymmetrische Verfahren auch für digitale Signaturen verwendet werden: Der Absender einer Nachricht erstellt unter Verwendung seines privaten Schlüssels eine Signatur der Nachricht, die so beschaffen ist, dass jeder mittels des zugehörigen öffentlichen Schlüssels ihre Echtheit (also die Urheberschaft des Besitzers des privaten Schlüssels) überprüfen kann. Asymmetrische Verfahren werden auch als Public-Key-Verfahren bezeichnet. Ein bekanntes Beispiel für ein asymmetrisches Verschlüsselungsverfahren ist das RSA-Verfahren.

Einweg-Verschlüsselung

Eine Einweg-Verschlüsselung ist, wie der Name es bereits andeutet, eine Verschlüsselungsform, die nicht wieder rückgängig gemacht werden kann. Diese Verschlüsselung zielt also nicht darauf ab, beispielsweise eine Nachricht durch Verschlüsselung unlesbar und durch Entschlüsselung wieder lesbar zu machen. Vielmehr basiert das Prinzip darauf, die Echtheit einer erhaltenen Information zu prüfen, indem das Ergebnis der Einweg-Verschlüsselung der abgesendeten Nachricht mit dem (auf anderem Weg übermittelten) Ergebnis der Einweg-Verschlüsselung der übertragenen Nachricht verglichen wird. Wenn beide Ergebnisse übereinstimmen, wurde die Nachricht während der Übertragung nicht modifiziert.

In der Praxis kommen dabei Verfahren zum Einsatz, die, unabhängig von der Länge der Nachricht, einen so genannten Hash-Wert mit einer festen Länge erzeugen. Dieser Wert ist eine Art Prüfsumme der Information und in der Regel kürzer als die Nachricht selbst, sodass prinzipiell mehrere Nachrichten zum gleichen Hash-Wert führen können. Die Sicherheit beruht darauf, dass das Verfahren so gewählt wird, dass die Wahrscheinlichkeit einer solchen Übereinstimmung äußerst gering ist. Außerdem darf es nicht möglich sein, gezielt eine Nachricht zu erstellen, die zu einem bestimmten Hash-Wert (z.B. dem einer anderen Nachricht) führt. Verfahren, die diese Eigenschaften besitzen, werden als kryptographische Hash-Funktionen bezeichnet. Gängige Verfahren dieser Art sind MD5 und SHA-1.

In den folgenden Abschnitten werden wir uns nur mit dem Anwenden der Einweg-Verschlüsselung befassen. Die Handhabung von Funktionen zur symmetrischen und asymmetrischen Verschlüsselung, für die PHP zum Teil auch zusätzliche Module benötigt, ginge über den Rahmen dieser Lerneinheit hinaus.

Kommentare (0)

Ihr Kommentar

Name