Elektronische Signatur


Die elektronische Signatur

 

Die ektronische Signatur entstand durch die Notwendigkeit der Unternehmen und Behörden, Kosten zu sparen und eine höhere Sicherheit bei ihren internen Arbeitsprozessen zu gewähren.

Eine der verschiedenen Methoden um eine elektronische Signatur zu erstellen, ist die handschriftliche elektronische Signatur, die daraus besteht, die handgeschriebene Unterschrift mit einem Signaturgerät, dem Unterschriftenpad, zu erfassen.

Für die elektronische Unterschrift benötigt man eine passende Hard- und Software.

Die Theorie
Die elektronische Signatur eines Dokumentes entsteht dadurch, dass ein mathematischer Algorithmus, die sogenannte Funktion Hash, auf den Inhalt angewendet wird. Die Funktion Hash vereint einen Wert innerhalb einer begrenzten Einheit (in der Regel natürliche Zahlen). Wenn der Eintrag ein Dokument ist, ist das Ergebnis der Funktion eine Zahl, die den Text konkret und nahezu eindeutig identifiziert. Wenn man diese Zahl dem Text hinzufügt, kann der Empfänger erneut die Funktion anwenden und das erhaltene Resultat überprüfen. Trotzdem stellt dies einige Schwierigkeiten dar.

Die elektronische Signatur und das Internet
Damit die Funktion Hash von Nutzen sein kann, muss sie zwei wichtige Voraussetzungen erfüllen. Erstens, sollte die Schwierigkeit bestehen, zwei Dokumente zu finden, deren Wert für die Funktion „Hash“ gleich ist. Zweitens, sollte es schwierig sein, wenn man einen dieser Werte hat, das Dokument zu finden, das diesen Wert erzeugt hat.
Einige Systeme der öffentlichen Schlüsselkodifizierung kann man verwenden um Dokumente zu unterschreiben. Der Unterzeichner verschlüsselt oder kodifiziert das Dokument mit seinem Private Key und jeder, der die Unterschrift prüfen und das Dokument sehen möchte, muss nur den Public Key des Unterzeichners benutzen, um sie zu entschlüsseln.
Es gibt “Hash-Funktionen“, die speziell dafür entwickelt wurden, um diese zwei wichtigen Eigenschaften zu erfüllen. SHA und MD5 sind Beispiele für diese Art von Algorithmen. Um diese zu verwenden, unterschreibt man ein Dokument mit einer Funktion "Hash", dessen Ergebnis die Unterschrift ist. Eine andere Person kann die Unterschrift mittels der gleichen Funktion an einer Kopie des Dokumentes überprüfen, indem er sie mit dem Original vergleicht. Wenn sie übereinstimmen, dann ist es praktisch erwiesen, dass die Dokumente identisch sind.
Das Problem liegt darin, eine Funktion “Hash” für digitale Signaturen zu verwenden, die es nicht erlaubt, dass ein „Angreifer“ die Unterschrift überprüfen kann. Wenn man das Dokument und die Unterschrift, ohne sie vorher zu verschlüsseln, verschicken würde, dann könnte diese Person das Dokument verändern und ohne dem Wissen des Empfängers, eine entsprechende Unterschrift erstellen. Wenn man nur das Dokument verschlüsseln würde, könnte ein Angreifer die Unterschrift manipulieren und die Überprüfung dieser, unmöglich machen. Eine dritte Option ist es, ein hybrides Kodifizierungssystem zu verwenden, um sowohl die Unterschrift als auch das Dokument zu verschlüsseln. Der Unterzeichner wird seinen Private Key verwenden und alle anderen, können anhand ihres Public Keys die Unterschrift und das Dokument überprüfen. Dies klingt vielleicht einleuchtend, es ergibt jedoch keinen Sinn. Wenn dieser Algorithmus das Dokument sicher machen würde, dann wäre es auch vor Manipulationen geschützt und würde keine zusätzliche Unterschrift benötigen. Das gravierendste Problem ist, dass dies weder die Unterschrift noch das Dokument vor Manipulationen schützt. Mit dieser Methode verschlüsselt man nur den Sitzungsschlüssel des codierten Systems, indem man den Private Key des Unterzeichners verwendet. Jeder kann den Public Key verwenden und sich den Sitzungsschlüssel beschaffen. Also scheint es offensichtlich den Schlüssel zu verwenden, um Ersatzdokumente und Unterschriften zu verschlüsseln und sie im Namen des Absenders, dann an Dritte weiterzuschicken.

Die Lösung
Allein um die Unterschrift zu verschlüsseln, wird ein effektiver Algorithmus von einem öffentlichen Schlüsselsystem Gebrauch machen müssen. Der "Hashwert“ wird sich vor allem, durch den Gebrauch des Private Keys des Unterzeichners verschlüsseln, so dass die Unterschrift von jedem unter Verwendung des Public Keys überprüft werden kann. Man wird das unterzeichnete Dokument verschicken können, indem man einen beliebigen Algorithmus zur Verschlüsselung verwendet oder sogar gar keinen, wenn das Dokument öffentlich ist. Wenn man das Dokument verändert, wird die Überprüfung der Unterschrift fehlschlagen, aber dies ist genau das, was die Verifizierung aufdecken soll.
Der Digital Signature Algorithm (DSA) ist ein Algorithmus zur Realisierung von digitalen Unterschriften und zur Überprüfung mit einem Public Key, der so funktioniert wie es oben bereits beschrieben wurde. DSA ist der Hauptalgorithmus für die digitale Unterschrift, der in GnuPG benutzt wird.