Digitale Signatur


Digitale Signatur

Eine digitale Signatur ist ein kryptografisches Verfahren, bei dem zu einer „Nachricht“ (d.h. zu beliebigen Daten) eine Zahl berechnet wird. Diese digitale Signatur ermöglicht, dass ihre Urheberschaft und Zugehörigkeit zur Nachricht durch jeden geprüft werden können. Digitale Signaturen sind asymmetrische Kryptosysteme und verwenden folglich ein Schlüsselpaar, das aus einem privaten (geheimen) und einem öffentlichen (nicht geheimen) Schlüssel besteht. Oftmals findet man dafür die englischen Bezeichnungen Private Key und Public Key.

Mit digitalen Signaturen lassen sich sichere elektronische Signaturen (fortgeschrittene elektronische Signaturen gem. § 2 Nr. 2 SigG bzw. qualifizierte elektronische Signaturen gem. § 2 Nr. 3 SigG) erzeugen. Die Begriffe digitale Signatur und elektronische Signatur sind jedoch nicht inhaltsgleich: Erstens müssen (zumindest fortgeschrittene) elektronische Signaturen nicht zwangsläufig auf digitalen Signaturen basieren; zweitens ist digitale Signatur ein mathematischer bzw. technischer Begriff, während elektronische Signatur ein juristischer Begriff ist.

Inhaltsverzeichnis

Das Grundprinzip

Erzeugung und Verifikation einer digitalen Signatur. Der Ablauf kann je nach Verfahren abweichen. So wird z. B. der Hashwert nicht bei allen digitalen Signaturverfahren bei der Verifikation rekonstruiert.

Aus den zu signierenden Daten und dem privaten Signaturschlüssel wird durch eine eindeutige Rechenvorschrift die Signatur berechnet. Verschiedene Daten müssen mit an Sicherheit grenzender Wahrscheinlichkeit zu einer anderen Signatur führen, und die Signatur muss für jeden Schlüssel einen anderen Wert ergeben. Bei deterministischen digitalen Signaturverfahren ist die digitale Signatur durch die Nachricht und den Schlüssel eindeutig festgelegt, bei probabilistischen digitalen Signaturverfahren gehen Zufallswerte in die Signaturberechnung ein, so dass die digitale Signatur zu einer Nachricht und einem Schlüssel viele verschiedene Werte annehmen kann.

Bei einer digitalen Signatur wird der private Schlüssel in der Regel nicht direkt auf die Nachricht angewendet, sondern auf deren Hash-Wert, der mittels einer Hashfunktion (wie z. B. SHA-1) aus der Nachricht berechnet wird. Um Angriffe zu verhindern, muss diese Hashfunktion kollisionsresistent sein, d. h. es muss praktisch unmöglich sein, zwei Nachrichten zu finden, deren Hash-Wert identisch ist.

Soweit der öffentliche Schlüssel mittels eines elektronischen Zertifikats einer Person zugeordnet wurde, kann auf Grund dessen, dass es nur einen zum öffentlichen Schlüssel korrespondierenden privaten Schlüssel gibt, über das öffentliche Verzeichnis des Zertifizierungsdiensteanbieters (ZDA) die Identität des Signaturerstellers ermittelt bzw. überprüft werden. Die Gesamtheit der technischen Infrastruktur, mit der die Zertifikate und Informationen zu ihrer Gültigkeit erzeugt und öffentlich bereitgestellt werden, wird als PKI (Public Key Infrastructure) bezeichnet.

Da das RSA-Signaturverfahren das am weitaus häufigsten verwendete digitale Signaturverfahren ist, und die dabei eingesetzten Operationen fast identisch zu denen der RSA-Verschlüsselung sind, wird bei der Erstellung einer digitalen Signatur häufig von der „Verschlüsselung“ des Hashwertes gesprochen.[Anmerkung 1] Bei den meisten digitalen Signaturverfahren (z. B. bei DSA) trifft diese Analogie allerdings nicht zu. Dort wird bei der Verifikation keineswegs der („verschlüsselte“) Hashwert aus der Signatur rekonstruiert.

Sicherheit

Bei digitalen Signaturen soll es praktisch unmöglich sein, eine Signatur zu fälschen oder verfälschen, oder eine zweite Nachricht zu erzeugen, für die diese Signatur ebenfalls gültig ist. Dies setzt voraus, dass sich der private Schlüssel nicht aus den damit erzeugten digitalen Signaturen und dem öffentlichen Schlüssel berechnen lässt. Es ist jedoch möglich, dass ein digitales Signaturverfahren unsicher ist (d. h. dass sich Signaturen fälschen oder verfälschen lassen), ohne dass der private Schlüssel berechnet werden kann. Ein Beispiel dafür ist RSA ohne Verwendung einer Hashfunktion oder eines Paddings: Aus den Signaturen S(x) \equiv x^d \bmod n und S(y) \equiv y^d \bmod n der Nachrichten x und y lässt sich die Signatur von xy durch die Formel

S(x\cdot y) \equiv (x\cdot y)^d \equiv x^d\cdot y^d \equiv S(x)\cdot S(y) \bmod n

berechnen, ohne dass dabei der private Schlüssel ermittelt wird bzw. werden kann.

Eine weitere wichtige Eigenschaft eines Signaturverfahrens ist die Nichtabstreitbarkeit der Signatur (engl. Non-repudiation). Wenn eine Signatur mit einem öffentlichen Schlüssel verifiziert wurde, sollte damit auch bewiesen sein, dass die Signatur mit dem zugehörigen privaten Schlüssel erzeugt wurde. Viele Signaturverfahren erfüllen diese Eigenschaft nicht, wenn nicht vor dem Signieren der öffentliche Verifikationschlüssel an die Nachricht angehängt wird.[1] Andernfalls kann ein Angreifer zu einer gegebenen Signatur mit einem passenden Verifikationsschlüssel ein weiteres Schlüsselpaar erzeugen, mit dessen Verifikationsschlüssel diese Signatur als gültig verifiziert wird (Key-Substitution-Angriff).

Die Sicherheit eines digitalen Signaturverfahrens hängt in erster Linie von den gewählten Parametern ab; insbesondere müssen die Schlüssel eine Mindestlänge aufweisen um Angriffe abzuwehren. Außerdem hängt die Sicherheit eines Signaturverfahrens auch von der verwendeten Hashfunktion ab. Diese muss in der Regel kollisionsresistent sein, um eine sichere digitale Signatur zu gewährleisten. Außerdem gibt es oft effektive Angriffe auf bestimmte Implementierungen (theoretisch sicherer) digitaler Signaturverfahren, z. B. Seitenkanal-Angriffe oder das Ermitteln des privaten Schlüssels aus einer unzureichend geschützten persönlichen Sicherheitsumgebung (PSE).

Die theoretische Untersuchung der Sicherheit von digitalen Signaturen ist Gegenstand der Kryptoanalyse. Dabei werden unterschiedliche Angriffsziele und -szenarien betrachtet. Sicherheitsbeweise fußen meist auf einer Reduktion der Sicherheit eines digitalen Signaturverfahrens auf die Schwierigkeit eines bekannten Berechnungsproblems.

Bekannte Verfahren

Das mit Abstand bekannteste und am meisten eingesetzte digitale Signaturverfahren ist RSA, für das verschiedene Verfahren zum Auffüllen des Hash-Wertes (Padding) verwendet werden können. Die Sicherheit von RSA basiert auf der Schwierigkeit, große Zahlen in ihre Primfaktoren zu zerlegen (Faktorisierung). Dies ist auch Grundlage für die Sicherheit des Signaturverfahrens von Rabin.

Viele digitale Signaturverfahren basieren auf dem diskreten Logarithmus in endlichen Körpern, wie z. B. DSA, das El-Gamal, die Schnorr-Signatur, die Pointcheval-Stern-Signatur, XTR oder die Cramer-Shoup-Signatur. Auf dem diskreten Logarithmus in elliptischen Kurven beruht die Sicherheit von ECDSA, ECGDSA oder Nyberg-Rueppel-Signaturen – diese Verfahren gehören zu den Elliptische-Kurven-Kryptosystemen. Alle Verfahren, die auf dem diskreten Logarithmus (in endlichen Körpern oder auf elliptischen Kurven) beruhen, sind probabilistisch und verwenden neben der Schlüssellänge weitere öffentliche Parameter.

Andere digitale Signaturverfahren basieren auf linearen Codes, wie die McEliece-Niederreiter-Signatur, oder auf Gittern, wie die Goldreich-Goldwasser-Halevi-Signatur oder NTRU. Die Merkle-Signatur verwendet Hash-Bäume und basiert allein auf der Sicherheit der verwendeten Hashfunktion.

Manche digitale Signaturverfahren besitzen bestimmte Eigenschaften, wie z. B. nicht-abstreitbare digitale Signaturen (undeniable signatures) oder blinde Signaturen (blind signatures), bei denen der Signierende nicht weiß, was er signiert; andere ermöglichen es, die signierte Nachricht aus der Signatur wiederherzustellen (message recovery), wie z. B. die Nyberg-Rueppel-Signatur oder RSA mit dem Padding-Verfahren nach ISO 9796.

Prinzipiell kann jedes digitale Signaturverfahren mit beliebigen Hashfunktionen kombiniert werden, solange die Länge der Hashwerte für die gewählten Parameter des Signaturverfahrens geeignet ist. Internationale und nationale Standards legen jedoch oftmals mit dem Signaturverfahren auch die Hashfunktion fest (z. B. FIPS-PUB 186-2) oder geben zumindest Empfehlungen (z. B. ANSI X9.62).

Gesetzliche Normen

Deutschland

Die Bundesnetzagentur veröffentlicht jedes Jahr eine Liste mit Mindestanforderungen für kryptographische Algorithmen für die Erzeugung qualifizierter elektronischer Signaturen.[Anmerkung 2] In der "Bekanntmachung zur elektronischen Signatur nach dem Signaturgesetz und der Signaturverordnung" vom 20. Mai 2011 werden als geeignete digitale Signaturverfahren RSA , DSA und DSA-Varianten die auf elliptischen Kurven basierend (z. B. EC-DSA, EC-KDSA, EC-GDSA) empfohlen. Zu jedem dieser Verfahren werden die Mindestlängen für die Schlüssel sowie weitere Anforderungen an die Parameter und die Hashfunktion angegeben. [2]

USA

In den USA veröffentlicht die NSA die Suite B - eine Sammlung zulässiger kryptographischer Algorithmen. Diese wurde zuletzt 2005 aktualisiert.

Einsatz in der Praxis

PGP-Systeme

PGP steht für Pretty good Privacy und wurde von 1986 bis 1991 von Phil Zimmermann entwickelt. PGP ist selbst kein Verschlüsselungsalgorithmus, sondern ein Softwareprodukt, das viele, zum Teil recht komplexe, Verfahren zur symmetrischen und asymmetrischen Verschlüsselung sowie zur elektronischen Signatur zusammenfasst.

PGP-Systeme ermöglichen es, dass sich jeder Kommunikationspartner jederzeit ein Schlüsselpaar erzeugen kann. Das Vertrauen in die Zuordnung der Schlüssel zu einer Person soll durch eine Art gegenseitiger elektronischer Beglaubigungen gewährleistet werden. Dadurch entsteht ein Web of Trust, das auf transitiven Vertrauensbeziehungen beruht. Falls eine Person A einer Person B vertraut und diese Person B einer dritten Person C vertraut, so bedeutet dies, dass Person A auch der Person C vertraut, ohne dass eine explizite Vertrauensbeziehung besteht. Der Vorteil dieses Verfahrens besteht in den geringen Voraussetzungen an den einzelnen Benutzer.

Das ist auch gleichzeitig die große Schwäche von PGP. Es müssen mit jedem Teilnehmer bi-lateral Schlüssel und Echtheitsinformationen für den Schlüssel auf vertrauenswürdigem Weg ausgetauscht werden. Es gibt keine Möglichkeit, „verlorene“ oder bekannt gewordene Schlüssel generell aus dem Verkehr zu ziehen.

Verbreitete Varianten der ursprünglich von Phil Zimmermann entwickelten Software sind PGP (kommerziell) und GnuPG (GNU-GPL). Das GNU Privacy Projekt kümmerte sich um ein auf GnuPG basierendes graphisches Frontend für alle gängigen Betriebssysteme. Seit 2003 scheint das Projekt nicht besonders viel Aktivität zu zeigen. Das Programm WinPT (Windows Privacy Tools), das auch auf GnuPG aufsetzt, bietet unter Windows ebenfalls eine grafische Oberfläche zur komfortableren Bedienung digitaler Signierungen.

Für die Mailclients Mozilla Thunderbird, Mozilla Mail und Netscape Mail gibt es das komfortable Plugin Enigmail, das es dem Benutzer erlaubt, die von GnuPG bereitgestellten Funktionen der Verschlüsselung und Signatur direkt im Mailprogramm zu nutzen. Das Plugin ist Open Source und unter die GNU-GPL sowie unter die Mozilla Public License gestellt. Das Programm The Bat kann von Haus aus mittels OpenPGP ebenfalls entsprechende Verschlüsselungs- und Signierfunktionen anbieten.

Auch mit dem v. a. unter Linux verbreiteten Mail- und Groupwareclient Novell Evolution können die Funktionen zur Verschlüsselung und Signatur von GnuPG direkt und ohne Plugin genutzt werden. Auch Evolution ist Open Source und steht unter der GNU-GPL.

Die Desktop-Suite KDE erlaubt ebenfalls die Nutzung von GnuPG in vielen der mitgelieferten Programme (z. B. Kopete und KMail).

Für die Desktopumgebung Gnome, die unter anderem bei Ubuntu verwendet wird, gibt es mit Seahorse ein Frontend für GnuPG.

Zertifikatbasierte Systeme

In zertifikatbasierten Systemen erhält jeder Benutzer ein digitales Zertifikat, welches Angaben zu seiner Identität und den öffentlichen Schlüssel enthält. Jedes Zertifikat ist von einer ausgebenden Stelle beglaubigt, die ihrerseits wieder von höheren Stellen beglaubigt sein kann. Das Vertrauenssystem dieser PKI ist streng hierarchisch. Den gemeinsamen Vertrauensanker bildet ein sog. Wurzelzertifikat (Root Certificate).

Zertifikatbasierte Systeme passen sich gut in Unternehmenshierarchien ein. Nachteilig sind die hohen Kosten für Aufbau und Betrieb sowie die technische Komplexität einer Public-Key-Infrastruktur (PKI).

Der Standard S/MIME baut auf digitalen Zertifikaten auf.

Ein Zertifikat verknüpft Daten eines kryptographischen Schlüssels (oder Schlüsselpaars, bestehend aus öffentlichem und geheimem Schlüssel) mit Daten des Inhabers und einer Zertifizierungsstelle sowie weitere Spezifikationen wie Version, Gültigkeitsdauer, Verwendungszweck und Fingerprint. Die Definitionen nach PKCS legen das Inhaltsformat fest, der Standard X.509 (genauer: ITU x.509 v3 nach RFC 3280, basierend auf ASN.1 Format) beschreibt das Binärdatenformat, oftmals als DER bzw. als DER - Base-64 kodiert.

Beim Web-Datenaustausch überträgt der Server sein Zertifikat mit dem öffentlichen Schlüssel an den Client. Der Client, in dem Fall der Webbrowser des Nutzers, prüft, ob er dem empfangenen Zertifikat trauen kann. Dazu schaut er in die Liste seiner Zertifikate, die ihm bei der Installation mitgegeben wurden bzw. der Benutzer selbst installiert hat und versucht die Signatur des Server-Zertifikats mit einem der im Browser integrierten Zertifikate zu verifizieren. Konnte das Zertifikat verifiziert werden, startet er eine verschlüsselte Datenübertragung. Ansonsten wird der Benutzer über einen Dialog gefragt, ob er das Zertifikat überprüfen und akzeptieren will.

Nur der Server, der den öffentlichen Schlüssel ausgegeben hat, kann auch Daten entschlüsseln, die der Client mit diesem Schlüssel verschlüsselt zu ihm überträgt. Aus diesem Grund ist es üblich, dass der Client nach erfolgreichem Verbindungsaufbau einen symmetrischen Sitzungsschlüssel aushandelt, damit die weitere Kommunikation symmetrisch geführt werden kann. Fatal ist es, wenn einem Zertifikat aus Leichtsinn Vertrauenswürdigkeit ausgesprochen wurde.

Beispiel: Ein betrügerischer Server gibt vor, die Hausbank zu sein. Der Webbrowser stellt beim ersten Besuch fest, dass er das Zertifikat des Betrügers nicht kennt. Der Benutzer des Webbrowsers, weil er es nicht besser weiß, klickt auf Zertifikat annehmen. Daraufhin kommunizieren der Server des Betrügers und der Client des Benutzers über eine abhörsichere Web-Verbindung. Die Gewissheit, mit dem richtigen Partner zu kommunizieren, ist durch die Leichtfertigkeit des Nutzers, das unbekannte Zertifikat anzunehmen, nicht mehr gegeben. Schlimmer noch: Dadurch, dass der Browser das Zertifikat speichert, werden nicht nur spätere Besuche des Betrüger-Servers als sicher eingestuft, sondern auch Zertifikate, die der Betrüger-Server signiert hat.

Literatur

Anmerkungen

  1. Diese Terminologie ist jedoch unpassend, da die Signaturerstellung bei RSA den privaten und nicht den öffentlichen Schlüssel nutzt, und daher der RSA-Entschlüsselung entspricht.
  2. Geeignete Algorithmen

Einzelnachweise

  1. Alfred Menezes and Nigel Smart: Security of signature schemes in a multi-user setting. In: Designs, Codes and Cryptography. Nr. 33, 2004, 4, S. 261--274 (http://www.cacr.math.uwaterloo.ca/techreports/2001/corr2001-63.ps).
  2. http://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/BNetzA/Sachgebiete/QES/Veroeffentlichungen/Algorithmen/2011_2_AlgoKatpdf.pdf

Weblinks


Wikimedia Foundation.

Synonyme:

Schlagen Sie auch in anderen Wörterbüchern nach:

  • digitale Signatur — elektronische Signatur; elektronische Unterschrift * * * digitale Signatur   [engl. digital signature], ein fälschungssicheres Kennzeichen, das durch Verschlüsselungsverfahren erzeugt wird und mit dem man die Echtheit und die Herkunft von… …   Universal-Lexikon

  • digitale Signatur — ein mit einem privaten Signaturschlüssel erzeugtes Siegel zu digitalen Daten, das mithilfe eines zugehörigen öffentlichen Schlüssels, der mit einem Signaturschlüssel Zertifikat einer Zertifizierungsstelle oder Behörde versehen ist, den Inhaber… …   Lexikon der Economics

  • Digitale\ Signatur — Elektronische Unterschrift, bewirkt den Nachweis über die Identität und Integrität eines Dokuments. Sie muß mit einem qualifizierten Zertifikat verbunden sein. Die Verschlüsselung erfolgt asymmetrisch, d.h. es existieren ein privater, geheimer… …   Online-Wörterbuch Deutsch-Lexikon

  • Signatur — (lat. signum „Zeichen“) steht für: eine Unterschrift: eine handschriftliche Unterschrift elektronische Signatur, in der Datenverarbeitung ein elektronischer Identitätsnachweis Signature, einen personalisierten Textabschnitt unter E Mails und… …   Deutsch Wikipedia

  • Digitale Rechteverwaltung — (gelegentlich auch Digitales Rechtemanagement bzw. engl. Digital Rights Management oder kurz DRM) bezeichnet Verfahren, mit denen die Nutzung (und Verbreitung) digitaler Medien kontrolliert werden soll. Vor allem bei digital vorliegenden Film und …   Deutsch Wikipedia

  • Digitale Unterschrift — Unter einer elektronischen Signatur versteht man mit elektronischen Informationen verknüpfte Daten, mit denen man den Unterzeichner bzw. Signaturersteller identifizieren und die Integrität der signierten elektronischen Informationen prüfen kann.… …   Deutsch Wikipedia

  • Signatur — Namenszeichen; Autogramm; Signum; Namenszug; Unterschrift * * * Si|gna|tur [zɪgna tu:ɐ̯], die; , en: a) Zeichen, das die Unterschrift ersetzt: sobald sie die Akten durchgesehen hat, setzt sie ihre Signatur darunter. b) Namenszeichen: die Signatur …   Universal-Lexikon

  • digitale Unterschrift — digitale Unterschrift,   fälschlich synonym zur digitalen Signatur verwendeter Begriff …   Universal-Lexikon

  • Digitale Bibliothek — Eine digitale Bibliothek ist eine organisierte, dauerhafte Sammlung von digitalen Inhalten, die ihren Nutzern nach festgelegten Regeln und in definierter Qualität spezielle Dienste für diese Inhalte bereitstellt.[1] Digitale Bibliotheken bieten… …   Deutsch Wikipedia

  • Elektronische Signatur — Unter einer elektronischen Signatur versteht man mit elektronischen Informationen verknüpfte Daten, mit denen man den Unterzeichner bzw. Signaturersteller identifizieren und die Integrität der signierten elektronischen Informationen prüfen kann.… …   Deutsch Wikipedia


We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.