www.wikidata.de-de.nina.az
Der Digital Signature Algorithm DSA deutsch Digitaler Signaturalgorithmus ist ein Standard der US Regierung fur Digitale Signaturen Er wurde vom National Institute of Standards and Technology NIST im August 1991 fur die Verwendung in deren Digital Signature Standard DSS empfohlen Der DSS enthielt neben dem DSA ursprunglich der einzige im DSS definierte Algorithmus als weitere Algorithmen die RSA Signatur und ECDSA Der DSS wurde zuerst in FIPS PUB 186 1 veroffentlicht und zuletzt wurde FIPS PUB 186 4 2 durch PUB 186 5 3 uberarbeitet und ersetzt Mit der Version 186 5 ist DSA ohne elliptische Kurven nicht mehr zulassig Entworfen wurde er von der NSA im Rahmen des Versuchs der US Regierung hochsichere Verschlusselung unter Kontrolle zu bringen Bestandteil dieser Strategie war auch das Exportverbot starker Verschlusselungsalgorithmen dessen Missachtung strafrechtlich verfolgt wurde Der DSA basiert auf dem diskreten Logarithmus in endlichen Korpern Er orientiert sich am Elgamal Signaturverfahren und ist verwandt mit der Schnorr Signatur Die Ubertragung des DSA auf elliptische Kurven wird als ECDSA Elliptic Curve Digital Signature Algorithm bezeichnet und ist in ANSI X9 62 standardisiert Claus Peter Schnorr warf im Rahmen der Standardisierung IEEE P1363 der NIST vor mit dem von ihr entwickelten Signatur Verfahren Digital Signature Algorithm sein Patent zu verletzen Dieses galt bis zum Jahre 2008 Vor der Entwicklung des DSA waren Verhandlungen mit Schnorr gescheitert sein Signatur Schema zu nutzen Die Firma RSA die eine exklusive Lizenz an Schnorrs Signaturverfahren halt hatte mit Patentstreitigkeiten ein Diskreter Logarithmus Verfahren statt ihres RSA Systems als Standard erschweren konnen scheute aber vermutlich eine offene Konfrontation mit der US Regierung Inhaltsverzeichnis 1 Funktionsweise 1 1 Parameter erzeugen 1 2 Schlussel erzeugen 1 3 Signieren 1 4 Uberprufung 2 Sicherheit 2 1 Anforderungen an Zufallswerte 2 2 Verdeckte Kanale 3 EinzelnachweiseFunktionsweise BearbeitenFur DSA wird ein Hashverfahren H displaystyle H nbsp und eine mathematische Gruppe benotigt Als Hashverfahren war ursprunglich nur SHA 1 zugelassen in neueren Versionen des Standards wurde auch SHA 2 zugelassen Die Wahl der Gruppe hangt von zwei Parametern L displaystyle L nbsp und N displaystyle N nbsp ab die die Sicherheit des Verfahrens bestimmen Im ursprunglichen Standard wird 512 L 1024 displaystyle 512 leq L leq 1024 nbsp und N 160 displaystyle N 160 nbsp gefordert wobei L displaystyle L nbsp ein Vielfaches von 64 sein muss Der noch gultige Standard lasst folgende Kombinationen von L displaystyle L nbsp und N displaystyle N nbsp zu 1024 160 2048 224 2048 256 3072 256 N displaystyle N nbsp darf hochstens so gross sein wie die Ausgabelange des Hashalgorithmus Parameter erzeugen Bearbeiten Wahle eine Primzahl q displaystyle q nbsp der Lange N displaystyle N nbsp bit Wahle eine Primzahl p displaystyle p nbsp der Lange L displaystyle L nbsp bit so dass p 1 displaystyle p 1 nbsp ein Vielfaches von q displaystyle q nbsp ist Wahle ein g displaystyle g nbsp das die Ordnung q displaystyle q nbsp in der Einheitengruppe Z p Z displaystyle mathbb Z p mathbb Z times nbsp hat Ein einfacher Weg dies sicherzustellen ist zuerst ein Gruppenelement h displaystyle h nbsp mit 1 lt h lt p 1 displaystyle 1 lt h lt p 1 nbsp und h p 1 q mod p 1 displaystyle h frac p 1 q mod p neq 1 nbsp zu finden und dann g h p 1 q mod p displaystyle g h frac p 1 q mod p nbsp zu setzen Die gewunschte Eigenschaft folgt dann aus dem Satz von Lagrange Weil h displaystyle h nbsp teilerfremd zur Primzahl p displaystyle p nbsp ist muss nach dem Kleinen Satz von Fermat g q h p 1 1 mod p displaystyle g q h p 1 1 mod p nbsp sein die Ordnung von g displaystyle g nbsp kann also hochstens q displaystyle q nbsp sein Da q displaystyle q nbsp prim ist kann die Ordnung von g displaystyle g nbsp kein Teiler von q displaystyle q nbsp sein Die Parameter p q g displaystyle p q g nbsp sind offentlich und konnen von mehreren Benutzern verwendet werden Schlussel erzeugen Bearbeiten Wahle ein zufalliges x displaystyle x nbsp fur das gilt 1 lt x lt q displaystyle 1 lt x lt q nbsp Berechne y g x mod p displaystyle y g x mod p nbsp Der Verifikationsschlussel y displaystyle y nbsp wird veroffentlicht offentlicher Schlussel der Signaturschlussel x displaystyle x nbsp muss geheim bleiben da es der geheime Schlussel ist Signieren Bearbeiten Um die Nachricht m displaystyle m nbsp zu signieren reicht es auch ihren Hashwert H m displaystyle H m nbsp zu signieren Wahle fur jede zu signierende Nachricht ein zufalliges k displaystyle k nbsp mit 1 lt k lt q displaystyle 1 lt k lt q nbsp Berechne r g k mod p mod q displaystyle r g k mod p mod q nbsp ist r 0 displaystyle r 0 nbsp so muss ein neues k displaystyle k nbsp gewahlt werden Berechne s k 1 H m r x mod q displaystyle s k 1 cdot H m r cdot x mod q nbsp ist s 0 displaystyle s 0 nbsp so muss ebenfalls neu mit Schritt 1 begonnen werdenDie Signatur der Nachricht ist das Tupel r s displaystyle r s nbsp Der Wert k displaystyle k nbsp muss geheim gehalten werden darf nicht leicht zu erraten sein und darf nicht wiederverwendet werden da sonst der geheime Signaturschlussel x displaystyle x nbsp berechnet werden kann s Abschnitt Sicherheit Uberprufung Bearbeiten Gegeben ist eine Signatur r s displaystyle r s nbsp sowie die Nachricht m displaystyle m nbsp Uberprufe ob 0 lt r lt q displaystyle 0 lt r lt q nbsp und 0 lt s lt q displaystyle 0 lt s lt q nbsp Ist das nicht der Fall weise die Signatur als ungultig zuruck Berechne w s 1 mod q displaystyle w s 1 mod q nbsp Berechne u 1 H m w mod q displaystyle u 1 H m cdot w mod q nbsp Berechne u 2 r w mod q displaystyle u 2 r cdot w mod q nbsp Berechne v g u 1 y u 2 mod p mod q displaystyle v g u 1 cdot y u 2 mod p mod q nbsp Wenn v r displaystyle v r nbsp dann ist die Signatur gultig sonst ungultig Sicherheit BearbeitenAnforderungen an Zufallswerte Bearbeiten Wie bei allen Signaturverfahren die auf dem diskreten Logarithmus basieren insbesondere fur Verfahren die auf elliptischen Kurven beruhen hangt die Sicherheit ganz wesentlich von den Eigenschaften der berechneten Zufallswerte ab Fur jede Signatur muss ein Zufallswert k displaystyle k nbsp generiert werden Dieser muss ausreichend Entropie besitzen geheim gehalten werden und darf nur einmal verwendet werden Diese Anforderungen sind kritisch Wird der Wert k displaystyle k nbsp bekannt so kann aus der Signatur der geheime Signaturschlussel berechnet werden x k s H m r 1 mod q displaystyle x k cdot s H m cdot r 1 mod q nbsp Das ist ebenfalls moglich wenn der gleiche Wert zweimal verwendet wird Aus zwei mit dem gleichen k displaystyle k nbsp signierten Nachrichten m 1 m 2 displaystyle m 1 m 2 nbsp mit Signaturen r s 1 r s 2 displaystyle r s 1 r s 2 nbsp kann k H m 1 H m 2 s 1 s 2 displaystyle k H m 1 H m 2 s 1 s 2 nbsp berechnet werden Damit wird dann wie eben x displaystyle x nbsp berechnet Falls k displaystyle k nbsp nur geringe Entropie hat kann ein Angreifer fur jedes mogliche k displaystyle k nbsp einen geheimen Schlussel berechnen und dann mit Hilfe des offentlichen Verifikationsschlussels testen welcher davon der richtige ist Verdeckte Kanale Bearbeiten Gustavus Simmons entdeckte mehrere verdeckte Kanale in DSA Damit kann ein Implementierer eine Nachricht in eine Unterschrift einschleusen die nur jemand lesen kann der den Schlussel des verdeckten Kanals kennt Kennt der Empfanger der Nachricht den geheimen Signaturschlussel ist der Kanal breitbandig Teilen sich Sender und Empfanger ein gemeinsames Geheimnis ohne dass der Empfanger den geheimen Signaturschlussel kennt ist der Kanal schmalbandig Laut Simmons sei es ein bemerkenswerter Zufall dass die offensichtlichen Nachteile beim El Gamal Verfahren in DSS alle uberwunden werden konnen und dass DSS die gunstigsten Voraussetzungen fur verdeckte Kommunikation bietet die bis heute entdeckt wurden Weder das NIST noch die NSA ausserten sich zu dem Vorwurf Da ein boshafter DSS Entwickler uber den verdeckten Kanal mit jeder Signatur Teile des geheimen Schlussels versenden kann darf man nur DSS Implementierungen trauen deren Entwicklern man vollig vertraut 4 Einzelnachweise Bearbeiten FIPS 186 FIPS 186 4 PDF 776 kB die vierte Revision FIPS 186 5 die aktuelle Revision G J Simmons The Subliminal Channels in the U S Digital Signature Algorithm DSA In Proceedings of the Third Symposium on State and Progress of Research in Cryptography Fondazione Ugo Bordoni Rom 1993 S 35 54 Abgerufen von https de wikipedia org w index php title Digital Signature Algorithm amp oldid 237295155