Digitale Signatur
Digitale Signaturverfahren gewinnen in einer zunehmend digitalen Welt immer mehr an Bedeutung.
Das Grundprinzip lässt sich in einem kleinen Beispiel gut veranschaulichen: Angenommen man hat ein wichtiges Dokument und möchte eine Art Fingerabdruck des Dokumentes erzeugen. Dieser „Fingerabdruck“ müsste dann eindeutig dem Dokument und auch dem Verfasser zuordenbar sein. Außerdem sollte auch jede auch noch so kleine Veränderung des Originaltextes dazu führen, dass der „Fingerabdruck“ ein Anderer wird. Beipielsweise könnte man doch jedes 10-te Schriftzeichen aus dem Text nehmen und aus diesen Schriftzeichen einen Kurztext (Hash) erzeugen. Dieser Kurztext wäre dann so eine Art Fingerabdruck des Originaltextes. Werden nun Änderungen im Dokument vorgenommen, ergibt sich ein anderer Hash. Allerdings wäre es mit diesem Berechnungsmodell sehr einfach ein Dokument zu erzeugen, aus dem sich derselbe Hash ergibt. „Kollisionsresitenz“ ist also nicht gegeben.
Vom Prinzip her funktionieren digitale Signaturverfahren, die mit Hash-Werten arbeiten so in der Art. Nur liegen diesen Verfahren höchst ausgeklügelte mathematische Algorithmen zugrunde, die es möglich machen, dass selbst wenn der Algorithmus vollig öffentlich bekannt ist trotzdem kein zweites Dokument mit einem anderen Inhalt in absehbarer Zeit, nach aktuellem Stand der Technik, erzeugt werden kann, das dieselbe Prüfsumme – denselben HASH - wie das Original besitzt. Mit entsprechender Software kann man solche Hash-Werte Erzeugen und auch Verifizieren. (z.B.:md5sum oder sha1sum)
Soll nun das Dokument noch einem Verfasser eindeutig zuordenbar sein, so bezieht man ein assymetrisches Verschlüsselungsverfahren mit ein. Dabei besitzt der Ersteller des Dokumentes einen geheimen privaten Schlüssel der nun mit in die Prüfsumme eingerechnet wird. Also der Inhalt des Dokumentes zusammen mit dem Schlüssel ergeben eine Hash oder Prüfsummenwert – die Signatur.
In einem assymetrischen Kryptosystem gibt es nun zu dem privaten Schlüssel einen passenden öffentlichen Schlüssel, der mit dem Dokument mitgeliefert oder von einer Vergabestelle verliehen wird. Dieser öffentliche Schlüssel passt eindeutig zu dem privaten Schlüssel und ist dem Urheber des Dokumentes eindeutig zugeordnet. Mithilfe der Signatur und des öffentlichen Schlüssels kann nun jeder Empänger des Dokuments einerseites eindeutig die Herkunft des Dokuments überprüfen und andererseits feststellen ob der Inhalt des Dokuments verändert wurde.
Hinter assymetrischen Kryptosystemen stecken mathematisch gesehen Einwegfunktionen.
Beipielsweise ist das multiplizieren von zwei Primzahlen so eine Einwegfunktion. In die Multiplikationsrichtung ist es sehr einfach zwei Primzahlen zu multiplizieren, rückwärts allerdings ist es gar nicht einfach aus dem Produkt die zwei Primzahlen zu faktorisieren – vor allem, wenn diese Primzahlen mehrere hundert Stellen haben. Das RSA-Verfahren funktioniert nach diesem Prinzip.
Zertifkatbasierte Systeme liefern an jeden Benutzer ein digitales Zertifikat. Identität und der passende öffentliche Schlüsses werden dabei von einer ausgebenden Stelle beglaubigt.
Signiert werden kann dabei jedes digitale Objekt. Egal ob Bild-, pdf- , Programm- oder Text-Datei alle bestehen aus Nullen und Einsen. Das Signaturverfahren berechnet aus den Daten und dem privaten Schlüssel die passende Signatur. Wird nun eine noch so kleine Kleinigkeit in der Originaldatei geändert, ändert sich der Signaturwert. Praktisch ist es außerdem quasi unmöglich ein Alternativdokument herzustellen, das denselben Signaturwert hat.
In der Praxis existieren eine Vielzahl von Signaturverfahren, die ja nach Sicherheitsklasse verwendet werden. Das RSA-Signaturverfahren ist dabei das am häufigsten verwendete. Die schwierige Primfaktorenzerlegung bildet dabei die Basis der Sicherheit.
Andere Signaturverfahren wie das DSA-Verfahren, das El-Gamal-Verfahren, die Schnorr-Signatur oder die Cramer-Shoup-Sigantur basieren auf dem diskreten Logarithmus in endlichen Körpern.
Textbearbeitungsprogramme wie Writer und Word stellen inzwischen auch schon die Möglichkeit eine digitale Signatur zu erstellen zur Verfügung. In Browsern wie Firefox und Chrome lassen sich mithilfe entsprechender Add-Ons digitale Signaturen erzeugen. Außerdem liefern viele Websites Zertifikate, die schon mit der Installation des Browsers in Listen gespeichert werden. Der Server liefert das Zertifikat mit dem öffentlichen Schlüssel aus und der Browser überprüft dann die Echtheit des Zertifikates. Fatal ist in diesem Zusammenhang das Hinzufügen einer Ausnahme, falls der Browser die Verifikation des Zertifikates nicht durchführen kann.
EMails können im Clientprogramm Thunderbird signiert werden.