New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Digitale Signatur - Wikipedia

Digitale Signatur

aus Wikipedia, der freien Enzyklopädie

Eine digitale Signatur ist ein kryptografisches Verfahren, bei dem zu einer "Nachricht" (d.h. zu beliebigen Daten) eine Zahl (die "digitale Signatur") berechnet wird, deren Urheberschaft und Zugehörigkeit zur Nachricht durch jeden geprüft werden können. Digitale Signaturen basieren auf asymmetrischen Kryptosystemen und verwenden folglich ein Schlüsselpaar, das aus einem privaten (d.h. geheimen) und einem öffentlichen (d.h. nicht geheimen) Schlüssel besteht. Diese Schlüssel werden als privater und öffentlicher Signaturschlüssel bezeichnet.

Mit digitalen Signaturen lassen sich sichere elektronische Signaturen ("fortgeschrittene elektronische Signaturen") gem. §126a BGB erzeugen. Die beiden Begriffe digitale Signatur und elektronische Signatur sind jedoch nicht inhaltsgleich.

Inhaltsverzeichnis

[Bearbeiten] Das Grundprinzip

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 nicht direkt auf die Nachricht angewendet, sondern auf deren Hash-Wert, der mittels einer Hash-Funktion (wie z.B. SHA-1) aus der Nachricht berechnet wird. Um Angriffe zu verhindern, muss diese Hash-Funktion kollisionsresistent sein, d.h. es muss praktisch unmöglich sein, zwei Nachrichten zu finden, deren Hashwert identisch ist.

Die Prüfung einer digitalen Signatur erfolgt mit Hilfe des entsprechenden öffentlichen Schlüssels, der Signatur und der Nachricht. Das Ergebnis der Prüfung zeigt an, ob die Signatur mit dem (zum öffentlichen Schlüssel korrespondierenden) privaten Schlüssel für diese Nachricht berechnet wurde. Somit lassen sich Fälschungen der Signatur, nachträgliche Verfälschungen der Nachricht und die Urheberschaft der Signatur prüfen.

Bemerkung: Beim bekanntesten Signaturverfahren, RSA, entspricht die Prüfung im Wesentlichen der Umkehrung der Signaturerstellung. Da RSA auch zur Verschlüsselung verwendet werden kann, wird bei der Signaturerstellung oft von "Verschlüsselung" und bei der Prüfung von "Entschlüsselung" (des Hash-Wertes) gesprochen. Bei den meisten 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.

[Bearbeiten] 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 impliziert unter anderem, dass sich der private Schlüssel nicht aus dem öffentlichen Schlüssel berechnen lässt.

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 immer auch von der verwendeten Hash-Funktion ab. Diese muss 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 zu einem anderen Verfahren, d.h. es wird nachgewiesen, dass das Signaturverfahren sicher ist, solange ein anderes (unter Umständen besser untersuchtes) Verfahren sicher ist. Nur selten gelingt es, die Sicherheit eines digitalen Signaturverfahrens auf die Schwierigkeit eines bekannten Berechnungsproblems zurückführen. Zwar basieren die meisten Verfahren auf prominenten Problemen, wie z.B. der Faktorisierung oder dem diskreten Logarithmus in endlichen Körpern oder elliptischen Kurven, d.h. das Brechen des Signaturverfahrens ist höchstens so schwer wie das Lösen des entsprechenden Berechnungsproblems. Bei den meisten Verfahren ist jedoch unbekannt, ob das Brechen (bei Verwendung einer kollisionsresistenten Hash-Funktion) genauso schwer ist, wie das Lösen des Problems. Das Vertrauen in die Sicherheit der bekanntesten Signaturverfahren (z.B. RSA oder DSA) resultiert daher vor allem aus der Tatsache, dass sie trotz 20-30 Jahre umfangreicher Forschung nicht gebrochen werden konnten.

[Bearbeiten] 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 werden auch als Elliptische-Kurven-Kryptosysteme bezeichnet. Alle Verfahren, die auf dem diskreten Logarithmus (in endlichen Körpern oder auf elliptischen Kurven) beruhen, sind probabilistisch.

Andere digitale Signaturverfahren basieren auf linearen Codes, wie die McEliece-Niederreiter-Signatur, oder auf Gittern, wie die Goldreich-Goldwasser-Halevi-Signatur oder NTRU.

Manche digitale Signaturverfahren besitzen bestimmte Eigenschaften, wie z.B. nicht-abstreitbare digitale Signaturen (undeniable signatures) oder blinde Signaturen (blind signatures); 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-2.

Prinzipiell kann jedes digitale Signaturverfahren mit beliebigen Hash-Funktionen 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 Hash-Funktion fest (z.B. FIPS-PUB 186-2) oder geben zumindest Empfehlungen (z.B. ANSI X9.62).

Die Bundesnetzagentur veröffentlicht jedes Jahr eine Empfehlung für kryptographische Algorithmen für die Erzeugung qualifizierter elektronischer Signaturen [1]. In der Empfehlung von 2006 werden als geeignete digitale Signaturverfahren RSA, DSA und DSA-Varianten die auf elliptischen Kurven basierend (z.B. ECDSA, ECGDSA) genannt. Zu jedem dieser Verfahren werden die Mindestlängen für die Schlüssel sowie weitere Anforderungen an die Parameter und die Hash-Funktionen angegeben.

[Bearbeiten] Einsatz in der Praxis

[Bearbeiten] 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. Dies bedeutet, dass die Person A der Person C vertraut sofern sie B vertraut und B die Person C als vertrauenswürdig einstuft. Der Vorteil dieses Verfahrens besteht in den geringen Voraussetzungen an den einzelnen Benutzer.

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 GPG 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).

[Bearbeiten] Zertifikatsbasierte Systeme

In zertifikatsbasierten 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 ist streng hierarchisch. Den gemeinsamen Vertrauensanker bildet ein sog. Wurzelzertifikat (Root Certificate).

Zertifikatsbasierte 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 seinen öffentlichen Schlüssel an den Client. Der Client, das ist der Webbrowser des Nutzers, prüft, ob er dem empfangenen öffentlichen Schlüssel trauen kann. Dazu schaut er in die Liste seiner Zertifikate, die ihm bei der Installation mitgegeben wurden bzw. der Benutzer selbst installiert hat. Findet er dort das Zertifikat, startet er eine verschlüsselte Datenübertragung. Ansonsten wird der Benutzer über einen Dialog gefragt, ob er das Zertifikat überprüfen und akzeptieren will.

Technisch basiert die Verschlüsselung auf dem SSL-Protokoll (Secure Sockets Layer), die sich dem Web-Benutzer als https: statt http: Protokoll mitteilt.

Nur der Server, der den öffentlichen Schlüssel ausgegeben hat, kann auch die Daten entschlüsseln, die der Client mit diesem Schlüssel verschlüsselt zu ihm überträgt. 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 sichere Web-Verbindung. Sicher in diesem Zusammenhang bedeutet, dass Dritte die Datenübertragung nicht abhören können. 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.

[Bearbeiten] Siehe auch

[Bearbeiten] Literatur

[Bearbeiten] Weblinks

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu