Navigation und Service

Signaturanwendung

Kapitel 4.1 "Signaturerzeugung" der Broschüre Grundlagen der elektronischen Signatur

4.1 Signaturerzeugung

Die Erzeugung einer digitalen Signatur umfasst drei Berechnungs-Schritte:

  1. Hashing
    Das zu signierende Dokument wird durch eine kryptographische Hashfunktion auf einen Hashwert fester Länge gebracht.
  2. Padding
    Der Bitstring mit dem Hashwert wird in geeigneter Weise auf die für das Signaturverfahren und den Signaturschlüssel notwendige Länge aufgefüllt.
  3. Signatur
    Der aufgefüllte Bitstring wird je nach Signaturalgorithmus (vgl. Abschnitt 3.1.3) mit dem privaten Signaturschlüssel zu einer Signatur verknüpft.

Nur im dritten Schritt werden geheime Informationen verarbeitet: Der private Schlüssel und ggf. auch geheime Zufallszahlen, die in die Signatur mit eingehen. Diese Berechnungen sollten daher in einer Umgebung erfolgen, die gegen Abhören durch Dritte gesichert ist. Idealerweise wird der private Signaturschlüssel ausschließlich in einer speziellen Hardware, der Signaturerstellungseinheit, gespeichert und angewendet, die ein Auslesen wirksam verhindert. In der Praxis werden dafür meist Chipkarten mit integriertem Mikroprozessor (Smart Cards) oder USB-Token eingesetzt. Bei Anwendungen, die eine hohe Performance erfordern, kommen auch spezialisierte Hardware Security Module zum Einsatz. Moderne Chipkarten und USB-Token können auch zufällige Signaturschlüssel-Paare generieren, so dass der private Schlüssel niemals das Gerät verlässt.

In den ersten beiden Schritten müssen dagegen keine geheimen Informationen geschützt werden. In der Praxis erfolgt die Berechnung des Hashwertes daher auch meist außerhalb der Signaturerstellungseinheit, so dass dieser nur der kurze Hashwert und nicht eine große Nachricht übergeben werden muss. Damit auch wirklich die korrekten Daten signiert werden, muss der gesamte Prozess der Signaturerstellung vor Manipulationen (z. B. durch Viren oder Trojaner) sicher sein. Dies betrifft nicht nur die Berechnungen zur Erzeugung der digitalen Signatur, sondern auch die Übergabe der zu signierenden Daten und Zwischenergebnisse (z. B. dem Hashwert) zwischen den beteiligten Komponenten. In Fällen, in denen eine elektronische Signatur als Willenserklärung einer Person aufgefasst werden soll, sollte diese die zu signierenden Daten zuvor angezeigt bekommen. Insbesondere bei qualifizierten elektronischen Signaturen, die vom Gesetzgeber der eigenhändigen Unterschrift in den meisten Fällen gleichgestellt worden sind, muss der Ersteller der Signatur sicher sein können, dass er nur das signiert, was er sieht. Dateiformate, die versteckte Informationen (z. B. Kommentare, Meta-Daten, Text mit weißer Schriftfarbe, etc.) enthalten können, eröffnen Betrügern Tür und Tor und sind daher eher ungeeignet. Wichtig ist aber auch, dass die Signaturanwendungskomponente – die zur Signierung verwendete Software oder Hardware – zuverlässig (d. h. ohne schwerwiegende Fehler) und vertauenswürdig (d. h. ohne böswillige, versteckte Funktionen) ist. Die gesetzlichen Anforderungen an Signaturanwendungskomponenten sind in Abschnitt 2.1.4 skizziert.

Damit dem Signaturschlüssel-Inhaber keine Nachteile entstehen sollte er dafür Sorge tragen, dass er

  • seine Signaturerstellungseinheit und die dazugehörige PIN sicher verwahrt,
  • Dokumente nur nach Kenntnisnahme und Prüfung signiert,
  • seine Signaturen nur mit vertrauenswürdigen Signaturanwendungskomponenten erstellt und
  • bei Kompromittierung seiner Signaturerstellungseinheit sein Zertifikat umgehend sperren lässt.

In Anwendungen, in denen qualifizierte elektronische Signaturen in automatisierter Art und Weise erstellt werden (vgl. Abschnitt 4.4), existieren besonders hohe Sicherheitsanforderungen. Insbesondere muss sichergestellt sein, dass dem Signaturserver nicht unberechtigt Dokumente zur Signierung untergeschoben werden können.