Bei der digitalen Signatur handelt es sich um ein kryptographisches Verfahren, das zu beliebigen Daten einen bestimmten Wert berechnet. Auch dieser Wert wird als digitale Signatur bezeichnet. Er erlaubt die Prüfung, ob die signierten Daten nachträglich verändert wurden und ob die Signatur mit dem zugehörigen privaten Schlüssel erstellt wurde. Die Zuordnung dieses Schlüssels zu einer bestimmten Person oder Organisation setzt jedoch eine vertrauenswürdige Identitätsprüfung voraus. Digitale Signaturen können die technische Grundlage sicherer elektronischer Signaturen bilden, daher handelt sich bei den Begriffen elektronische Signatur und digitale Signatur nicht um Synonyme.
Das Grundprinzip der digitalen Signatur
Man berechnet die Signatur einer Nachricht unter Verwendung des privaten Signaturschlüssels und der zu signierenden Daten. Bereits eine kleine Änderung der Daten soll dazu führen, dass die Prüfung der ursprünglichen Signatur fehlschlägt. Zudem ist die erzeugte Signatur an den verwendeten privaten Schlüssel gebunden.
Digitale Signaturverfahren können in deterministische und probabilistische Verfahren unterteilt werden. Ist bei den deterministischen Signaturverfahren die digitale Signatur durch den Schlüssel und die zu signierende Nachricht eindeutig festgelegt, so gehen bei den probabilistischen Signaturverfahren Zufallswerte in die Berechnung der Signatur mit ein. Dadurch ist es möglich, dass die digitale Signatur einer Nachricht in Verbindung mit einem bestimmten Schlüssel unterschiedliche Werte annehmen kann.
Um aus einer Nachricht die digitale Signatur zu erzeugen, wird der private Schlüssel nicht unmittelbar auf die vollständigen Daten angewendet. Stattdessen wird in vielen Verfahren zunächst deren Hash-Wert anhand einer festgelegten Hashfunktion berechnet und anschließend nach den Regeln des jeweiligen Signaturverfahrens verarbeitet. Die verwendete Hashfunktion muss insbesondere kollisionsresistent sein. Das bedeutet, dass es praktisch nicht möglich sein soll, zwei verschiedene Nachrichten mit identischem Hash-Wert zu finden. Der Empfänger berechnet den Hash-Wert erneut und prüft die Signatur mit dem öffentlichen Schlüssel. Stimmen Daten und Signatur nicht mehr zusammen, schlägt diese Prüfung fehl. Die Identität des Erstellers lässt sich nur dann verlässlich zuordnen, wenn der öffentliche Schlüssel beispielsweise durch ein geprüftes Zertifikat oder ein anderes Vertrauensmodell mit dieser Identität verbunden ist.
Die Sicherheit der digitalen Signatur
Eine digitale Signatur gilt dann als sicher, wenn es praktisch nicht möglich ist, sie ohne Kenntnis des privaten Schlüssels zu fälschen. Ebenfalls nicht möglich soll es sein, eine andere Nachricht zu generieren, für welche dieselbe Signatur Gültigkeit besitzt. Voraussetzung hierfür ist unter anderem, dass der private Schlüssel weder aus dem öffentlichen Schlüssel noch aus den erzeugten Signaturen mit vertretbarem Aufwand berechnet werden kann. Des Weiteren können digitale Signaturen zur Nichtabstreitbarkeit beitragen. Die erfolgreiche Verifizierung der Signatur mit einem öffentlichen Schlüssel belegt zunächst, dass die digitale Signatur mit dem zugehörigen privaten Schlüssel erstellt wurde. Ob daraus die Verantwortung einer bestimmten Person folgt, hängt zusätzlich von der Identitätszuordnung, dem Schutz des privaten Schlüssels und den organisatorischen beziehungsweise rechtlichen Rahmenbedingungen ab.
Wie sicher ein Verfahren zur Erstellung einer digitalen Signatur ist, hängt im Wesentlichen von verschiedenen Parametern wie der Länge der Schlüssel, dem konkreten Signaturverfahren, dessen Implementierung und der verwendeten Hashfunktion ab. Ebenso wichtig ist, dass der private Schlüssel sicher erzeugt und gespeichert wird und bei einem Verdacht auf Kompromittierung nicht weiter zum Einsatz kommt. Die Widerstandsfähigkeit kryptografischer Verfahren gegen bekannte Angriffe wird im Rahmen der Kryptoanalyse untersucht, einem Teilgebiet der Kryptologie.
Verfahren zur Erzeugung einer digitalen Signatur
Das bekannteste Verfahren zur Erstellung einer digitalen Signatur ist das RSA-Verfahren, ein kryptographisches Verfahren, das von den Mathematikern Ronald Linn Rivest, Adi Shamir und Leonard Adleman im Jahr 1977 entwickelt wurde. Die Sicherheit von RSA hängt mit der Schwierigkeit zusammen, große Zahlen in ihre Primfaktoren zu zerlegen. Für sichere Signaturen sind darüber hinaus ein geeignetes Signaturschema, eine sichere Hashfunktion, ausreichende Schlüsselparameter und eine korrekte Implementierung erforderlich.
Während das RSA-Verfahren auf der Primfaktorzerlegung basiert, verwenden andere Verfahren zum Erstellen einer digitalen Signatur das Problem des diskreten Logarithmus. Zu diesen Verfahren zählen der El-Gamal- und der DSA-Algorithmus. Die Funktionsweise weiterer Signaturverfahren beruht auf linearen Codes (McEliece-Niederreiter-Signatur) oder auf Hash-Bäumen (Merkle-Signatur). Welches Verfahren geeignet ist, hängt unter anderem von den Sicherheitsanforderungen, der vorgesehenen Laufzeit, der Systemumgebung und der Unterstützung durch die beteiligte Software ab.
Die digitale Signatur in der Praxis
Verschiedene Softwareprodukte unterstützen das Erstellen und Verwenden einer digitalen Signatur. PGP (Pretty Good Privacy) ist eines der bekanntesten Systeme zur Verschlüsselung und Signierung von E-Mails. Entwickelt wurde die Software zwischen 1986 und 1991 von Phil Zimmermann. Dabei kann PGP als eine Zusammenfassung unterschiedlicher Verfahren aufgefasst werden, die zur asymmetrischen und symmetrischen Verschlüsselung von Daten sowie zur Erzeugung digitaler Signaturen herangezogen werden können.
PGP-Systeme ermöglichen, dass Kommunikationspartner eigene Schlüsselpaare erzeugen können. Dass ein öffentlicher Schlüssel zu einer bestimmten Person gehört, kann durch elektronische Beglaubigungen anderer Teilnehmer bestätigt werden. Auf diese Weise entsteht ein sogenanntes Web of Trust, ein dezentral organisiertes Vertrauensnetz. Vertrauen wird dabei nicht uneingeschränkt und automatisch übertragen: Nutzer entscheiden selbst, welchen Beglaubigungen und Schlüsselinhabern sie in welchem Umfang vertrauen.
Von PGP entstanden unterschiedliche Varianten und Implementierungen. Neben kommerziellen Angeboten gibt es das freie Kryptographiesystem GnuPG. Enigmail war ein verbreitetes Plugin für Mozilla Thunderbird; aktuelle Thunderbird-Versionen verfügen dagegen über integrierte OpenPGP-Funktionen, sodass Enigmail dort nicht mehr als eigenständige Erweiterung benötigt wird.
Neben PGP gibt es verschiedene zertifikatbasierte Systeme, bei welchen jeder Benutzer ein Zertifikat in digitaler Form erhält, das neben Angaben zur Identität auch den öffentlichen Schlüssel enthält. Zertifikate werden von einer dazu befugten oder innerhalb des jeweiligen Vertrauensmodells anerkannten Stelle ausgestellt und digital signiert. Zertifikatbasierte Systeme können gut in Unternehmenshierarchien eingefügt werden. Mit ihrem Aufbau und Betrieb sind jedoch Aufwände für Identitätsprüfung, Schlüsselverwaltung, Erneuerung und gegebenenfalls den Widerruf von Zertifikaten verbunden.
Auch zertifikatbasierte Systeme beruhen auf der Verwendung von Schlüsselpaaren. Soll beispielsweise eine sichere Verbindung über das Internet aufgebaut werden, sendet der Server sein Zertifikat an den Client, also an den Webbrowser des Benutzers. Der Browser prüft unter anderem, ob das Zertifikat von einer vertrauenswürdigen Stelle signiert wurde, für den aufgerufenen Hostnamen gilt und innerhalb seines Gültigkeitszeitraums liegt. Die digitale Signatur des Zertifikats dient dabei der Authentisierung; die anschließende Verschlüsselung der Verbindung und die Vereinbarung der dafür benötigten Schlüssel erfolgen nach dem verwendeten Verbindungsprotokoll. Kann die Echtheit des Zertifikats nicht bestätigt werden, zeigt der Browser üblicherweise eine Sicherheitswarnung. Ein solches Zertifikat sollte nicht ungeprüft akzeptiert werden.
Zusammenfassung
Die digitale Signatur ist ein kryptografisches Verfahren, das einen spezifischen Wert für beliebige Daten berechnet. Damit lässt sich prüfen, ob die Daten verändert wurden und ob die Signatur zum verwendeten öffentlichen Schlüssel passt. Die Identität einer Person wird erst durch die verlässliche Zuordnung dieses Schlüssels bestätigt. Eine digitale Signatur sollte nicht mit der elektronischen Signatur verwechselt werden.
Das Erstellen einer digitalen Signatur erfolgt mit einem privaten Schlüssel und den zu signierenden Daten beziehungsweise deren Hash-Wert. Verschiedene Signaturverfahren können entweder deterministisch oder probabilistisch sein. Dabei ist die Sicherheit der Signatur abhängig von Faktoren wie Schlüssellänge, Signaturschema, Implementierung und verwendeter Hashfunktion.
Bekannte Methoden zur Erstellung digitaler Signaturen sind das RSA-Verfahren und Algorithmen, die auf dem diskreten Logarithmus basieren, wie El-Gamal und DSA. Software auf Grundlage von PGP und zertifikatbasierte Systeme bieten praktische Lösungen für das Erstellen und Verwenden digitaler Signaturen.
Im Praxisumfeld werden sowohl PGP-basierte als auch zertifikatbasierte Systeme verwendet. Während PGP ein dezentrales Web of Trust ermöglicht, bieten zertifikatbasierte Systeme eine hierarchische Zuordnung von Identitäten und öffentlichen Schlüsseln, erfordern jedoch eine geregelte Zertifikats- und Schlüsselverwaltung.
Digitale Signaturen werden in vielen Bereichen eingesetzt. Sie unterstützen beispielsweise die Prüfung von E-Mails, Dokumenten, Softwarepaketen und Zertifikaten. Bei sicheren Internetverbindungen dienen sie vor allem der Authentisierung und Integritätsprüfung; die Verschlüsselung selbst ist eine davon zu unterscheidende Funktion.
Häufige Fragen und Antworten
Bei einer digitalen Signatur handelt es sich um ein kryptographisches Verfahren, bei dem zu Daten ein bestimmter Wert berechnet wird. Dieser Wert ermöglicht es, Veränderungen der signierten Daten zu erkennen und zu prüfen, ob die Signatur mit dem zugehörigen privaten Schlüssel erstellt wurde. Digitale Signaturen können die technische Basis für sichere elektronische Signaturen bilden.
Bei der Erstellung einer digitalen Signatur werden ein privater Signaturschlüssel und die zu signierenden Daten verwendet. In vielen Verfahren wird zunächst ein Hash-Wert der Daten berechnet und anschließend signiert. Die Verifizierung erfolgt mithilfe des öffentlichen Schlüssels. Sie bestätigt die Übereinstimmung von Daten, Signatur und Schlüsselpaar. Die Identität des Erstellers ist nur dann verlässlich bestätigt, wenn der öffentliche Schlüssel sicher einer Person oder Organisation zugeordnet wurde.
Eine digitale Signatur gilt als sicher, wenn sie ohne den privaten Schlüssel praktisch nicht gefälscht werden kann. Die Sicherheit hängt von verschiedenen Faktoren ab, beispielsweise von der Länge und Verwaltung der Schlüssel, dem Signaturverfahren, der verwendeten Hashfunktion und der korrekten Implementierung. Die Widerstandsfähigkeit kryptografischer Verfahren gegen Angriffe wird mithilfe der Kryptoanalyse untersucht.
