Zum Inhalt springen

Benutzer:Didia/DHM

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 4. Mai 2016 um 16:23 Uhr durch Didia (Diskussion | Beiträge) (Geschichte und Bedeutung). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Diffie-Hellman-Schlüsselaustausch

Geschichte und Bedeutung

Beim Diffie-Hellman-Schlüsseltausch handelt es sich um das erste der sogenannten asymmetrischen Kryptoverfahren (auch Public-Key-Kryptoverfahren), das veröffentlicht wurde. Es löst das Schlüsseltauschproblem, indem es ermöglicht, geheime Schlüssel über nicht-geheime, also öffentliche Kanäle zu vereinbaren.

Den ersten Schritt zur Entwicklung asymmetrischer Verfahren machte Ralph Merkle 1974 mit dem nach ihm benannten Merkles Puzzle, das aber erst 1978 veröffentlicht wurde.[1] Unter dem Einfluss dieser Arbeit entwickelten Whitfield Diffie und Martin Hellman im Jahr 1976 den Diffie-Hellman-Schlüsselaustausch. Sie veröffentlichten die Forschungsarbeit unter dem Titel „New Directions in Cryptography“.[2] Das Verfahren sorgte für einen gewaltigen Schub in der Kryptographie, eine Wissenschaft, die damals noch nicht sehr lange öffentlich betrieben wurde.[3] Ursprünglich nannten die Forscher das Verfahren ax1x2. Martin Hellman schlug 2002 vor, das Verfahren Diffie-Hellman-Merkle-Schlüsseltausch zu nennen, „wenn schon Namen damit verbunden werden“, in Anerkennung von Ralph Merkles Anteil an der Entwicklung asymmetrischer Verfahren.[4]

Badach und Hoffmann beurteilen die Bedeutung dieser Entwicklung folgendermassen:

„Die Entwicklung der asymmetrischen Verschlüsselung hat für die Kryptographie eine vergleichbare Bedeutung wie die Kopernikanische Wende für die Astronomie und stellt neben der Digitalisierung der Informationen und dem Internet als Kommunikationsplattform ein Fundament des dritten Jahrtausends dar.[5]

Whitfield Diffie und Martin Hellman prägten mit dem Verfahren auch einen neuen Sicherheitsbegriff in der Kryptographie, der darauf basiert, dass kein effizienter Algorithmus für die Kryptoanalyse existiert: Ein Kommunikationsprotokoll ist sicher, wenn dessen Kryptoanalyse so viel Zeit und Arbeit bedeutet, dass diese in der Praxis nicht ausgeführt werden kann.[6] Die Sicherheit des Diffie-Hellman-Schlüsseltauschs beruht entscheidend darauf, dass die diskrete Exponentialfunktion eine Einwegfunktion (engl. one-way function) ist, d.h. eine Funktion, die „leicht“ berechenbar, aber nur „schwer“ umzukehren ist.

Die Forscher führten in der fundamentalen „New Directions“-Arbeit auch das Konzept einer digitalen Signatur ein: Ein Sender berechnet mit Hilfe eines geheimen Signaturschlüssels (dem Private Key) zu einer digitalen Nachricht (d. h. zu beliebigen Daten) einen Wert, der digitale Signatur genannt wird. Dieser Wert ermöglicht es jedem, mit Hilfe des öffentlichen Verifikationsschlüssels (dem Public Key) die nichtabstreitbare Urheberschaft und Integrität der Nachricht zu prüfen.[7] So entstand als Weiterentwicklung des Diffie-Hellman-Schlüsseltauschs eine vielfältige Familie an digitalen Signaturen auf Basis des diskreten Logarithmus. Zu den Bekanntesten gehören das Elgamal-Signaturverfahren und der Digital Signature Algorithm.[8]

Neben der Einwegfunktion entwickelten Whitfield Diffie und Martin Hellman auch das Konzept der Falltür (engl. trapdoor). Das ist eine „versteckte Abkürzung“ durch eine Zusatzinformation, mit der die ansonsten schwierige Umkehrung einfach gemacht wird. Auf der Basis von Falltürfunktionen lassen sich asymmetrische Verfahren entwickeln, bei denen die Übertragung eines gehemen Schlüssels nicht mehr notwendig ist. Damit leisteten sie auch wichtige Vorarbeiten zur Entwicklung des RSA-Kryptosystem. Ronald L. Rivest, Adi Shamir und Leonard Adleman versuchten eigentlich zu beweisen, dass es ebensolche Falltürfunktionen nicht geben kann. Bei den Beweisversuchen stiessen sie jedoch tatsächlich auf eine solche Einwegfunktion mit Falltür. Das führte 1977 zur Entwicklung des berühmtesten Public-Key-Algorithmus, des nach den Initialen seiner Erfinder so genannten RSA-Kryptosystems.[9]

Unterschiedliche Varianten des Diffie-Hellman-Verfahrens werden heute für die Schlüsselverteilung in den Kommunikations- und Sicherheitsprotokollen des Internet eingesetzt, wie z.B. IPSec (Internet Protocol Security), IPv6 (Internet Protocol Version 6) und TLS (Transport Layer Security). Diese dienen zur Sicherung bei der Übertragung von Datenpaketen der IP-Protokollschicht bzw. von Daten der Anwendungsebene, beispielsweise in den Bereichen des elektronischen Handels. Dieses Prinzip der Schlüsselverteilung besitzt damit eine wichtige praktische Bedeutung.[10] Der hier automatisch berechnete Schlüssel wird dann als Schlüssel für ein schnelles symmetrisches Verfahren wie Data Encryption Standard (DES) oder Advanced Encryption Standard (AES) verwendet.

Das Konzept der Public-Key-Kryptographie und einige spezifische Methoden waren bis 1997 durch die U.S. Patente 4'200'770 (Hellman, Diffie, Merkle, 1980) und 4'218'582 (Hellman, Merkle, 1980) geschützt, die der Stanford University gehören.[11] Für die Entwicklung der Public-Key-Kryptographie und der digitalen Signatur erhielten Whitfield Diffie und Martin Hellman im Jahr 2015 den Turing Award verliehen, der als höchste Auszeichnung in der Informatik gilt, vergleichbar dem Nobelpreis oder der Fields-Medaille.[12]

Wie erst 1997 bekannt wurde, hatte das britische Government Communications Headquarters (GCHQ) schon in den 1960er Jahren den Auftrag erteilt, zur Vermeidung der hohen Kosten bei der damals üblichen Schlüsselverteilung einen anderen Weg für die Schlüsselverteilung zu finden. Die hierzu von James H. Ellis, Clifford Cocks und Malcolm J. Williamson geäußerten Ideen ähnelten dem Diffie-Hellman-Verfahren. Das GCHQ hat einerseits wegen der Geheimhaltung, andererseits wegen des für die Briten aus Sicht der frühen 1970er Jahre fraglichen Nutzens nie ein Patent beantragt.[13]

Theoretische Grundlagen

Schlüsseltauschproblem

Verschlüsselung und Entschlüsselung mit demselben Schlüssel
Alice und Bob sind Synonyme für Sender und Empfänger einer Nachricht. Mallory steht für einen Lauscher oder Angreifer, der versucht Nachrichten mitzuhören oder zu manipulieren.

Verschlüsselungsverfahren, bei denen zwei Teilnehmer denselben geheimen Schlüssel verwenden, nennt man symmetrische Verfahren. Seien Alice und Bob Sender und Empfänger von Nachrichten über einen abhörbaren Kanal und sei Mallory ein „Bösewicht“, der Nachrichten mitlesen und manipulieren kann. Bei einem guten Verschlüsselungsverfahren ist es für Mallory unmöglich, eine Nachricht ohne Kenntnis des Schlüssels zu entschlüsseln, selbst wenn er das Verschlüsselungsverfahren genau kennt. So besagt Kerckhoffs’ Prinzip, dass die Sicherheit eines Verfahrens allein auf der Geheimhaltung eines Schlüssels beruhen muss (und nicht auf der Geheimhaltung des Verschlüsselungsalgorithmus). Eine Nachricht, die Verschlüsselt wird, heisst Klartext, der verschlüsselte Text Geheimtext.[14]

Wichtige Voraussetzung für eine sichere symmetrische Kommunikation ist also, dass der Schlüssel zwischen Alice und Bob bereits über einen sicheren Weg ausgetauscht wurde, beispielsweise durch einen vertrauenswürdigen Kurrier oder bei einem direkten Treffen. Beim Schlüsseltauschproblem stellt sich nun folgendes Problem: Alice will mit Bob, der sich beispielsweise in Übersee befindet, mit einem symmetrischen Verschlüsselungsverfahren kommunizieren. Die beiden sind über eine unsichere Leitung verbunden und haben noch keinen Schlüssel ausgetauscht. Wie tauscht nun Alice mit Bob über einen unsicheren Kanal einen Schlüssel aus?[15]

Der manuelle Schlüsselaustausch hat ausserdem den Nachteil, dass er recht unübersichtlich wird, wenn eine grössere Anwendergruppe untereinander verschlüsselt kommunizieren will. Bei Kommunikationspartnern sind Schlüssel erforderlich, wenn jeder mit jedem kommunizieren will. Bei 50 Kommunikaitonspartnern wären somit insgesamt 1'225 Schlüssel nötig.[16]

Das Deffie-Hellman-Verfahren liefert eine elegante Lösung für diese Probleme: Es erlaubt Alice und Bob, einen geheimen Schlüssel über die öffentliche, nicht gesicherte Leitung zu berechnen, ohne dass Mallory den Schlüssel erfährt.[15]

Einwegfunktionen

Funktion und Umkehrfunktion

Eine Einwegfunktion ist eine mathematische Funktion, die komplexitätstheoretisch „leicht“ berechenbar, aber „schwer“ umzukehren ist.[17] Eine mathematische Einwegfunktion muss folgende Eigenschaften aufweisen:

  • Die Berechnung des Funktionswerts ist „einfach“, d. h. es existiert ein Algorithmus, der ihn in Polynomialzeit berechnen kann.
  • Die Berechnung der Umkehrfunktion zu einem gegebenen Funktionswert , d. h. einem , sodass , ist allerdings „schwer“, d. h. es existiert kein „schneller“ Algorithmus für dieses Problem. „Schnell“ meint hier einen probabilistischen Algorithmus, der in Polynomialzeit läuft.
Eine Einwegfunktion funktioniert wie eine Einbahnstrasse: Eine Richtung geht einfach, die andere nicht.

Einen anschaulichen Vergleich bietet ein klassisches Papier-Telefonbuch einer größeren Stadt: Die auszuführende Funktion ist die, einem Namen die entsprechende Telefonnummer zuzuordnen. Da die Namen alphabetisch geordnet sind, lässt sich dies ziemlich schnell durchführen. Aber ihre Invertierung, also die Zuordnung eines Namens zu einer gegebenen Telefonnummer, ist offensichtlich viel schwieriger.[18]

Man kann zeigen, dass Einwegfunktionen genau dann existieren, wenn die berühmte Vermutung aus der Komplexitätstheorie P ≠ NP gilt (siehe P-NP-Problem). Obwohl die Einwegfunktionen in der Kryptographie eine wichtige Rolle spielen, ist also bis heute nicht bekannt, ob sie im streng mathematischen Sinne überhaupt existieren.[19]

Die Sicherheit des Diffie-Hellman-Schlüsseltauschs basiert auf der Verwendung des diskreten Logarithmus als Einwegfunktion. Es gibt auch keine Falltür, d.h. eine Zusatzinformation, mit der die Umkehrfunktion leicht zu berechnen wäre. Im Gegensatz dazu verwendet beispielsweise das RSA-Kryptosystem mit der Faktorisierung eine Einwegfunktion mit Falltür.

Diskrete Exponentialfunktion und diskreter Logarithmus

Die diskrete Exponentialfunktion

liefert den Rest bei Division von durch m. Die Umkehrung der diskreten Exponentialfunktion heißt diskreter Logarithmus.

Die diskrete Exponentialfunktion ist auch für große Exponenten effizient berechenbar. Selbst für über hundert Bit lange Zahlen ist bei geschickter Implementierung eine Sekunde auf einem PC ausreichend. Zur effizienten Berechnung kann der Satz von Euler und das Square & Multiply-Verfahren verwendet werden.

Für die Umkehrung, also die Berechnung des Exponenten , bei gegebener Basis , Modul und gewünschtem Ergebnis, ist allerdings bis heute kein schneller Algorithmus bekannt: Selbst mit grösstem Hardwareaufwand und den besten bekannten Algorithmen erreicht man bei mehreren Tausend Bit schnell Berechnungszeiten, die über die Lebensdauer unseres Universums hinausgehen.[20]

Bei der diskreten Exponentialfunktion handelt es sich nach heutigem Kenntnisstand somit um eine Einwegfunktion. Da es jedoch keinen mathematischen Beweis für deren Existenz gibt, wäre es theoretisch möglich, dass eines Tages ein schnelles Verfahren zur Berechnung des diskreten Logarithmus gefunden wird. Da dies jedoch schon seit längerem erfolglos versucht wird, kann man annehmen, dass dieser Fall nie eintreten wird.[21]

Beispiel:

Die diskrete Exponentialfunktion ordnet einem das Ergebnis von zu. Bei der Rechnung wird jeweils der Rest bezüglich des Moduls gebildet. Dadurch entsteht ein endlicher Zahlenraum . Für die Werte ist die Abbildung eindeutig. Der diskrete Logarithmus ist die Umkehrfunktion, also die Zuordnung von nach .

Gruppentheorie

Eine Gruppe ist ein Paar , bestehend aus einer Menge und einer assoziativen Verknüpfung auf , die ein neutrales Element hat und für die jedes Element von ein inverses Element besitzt. Wenn für eine Gruppe zusätzlich das Kommutativgesetz gilt, spricht man von einer abelschen Gruppe. Eine Untergruppe einer Gruppe ist eine Teilmenge von , die bezüglich der Verknüpfung selbst wieder eine Gruppe ist.

Beispielsweise bildet die Menge der ganzen Zahlen mit der Addition als Verknüpfung die (abelsche) Gruppe . Das neutrale Element der Addition ist die (Null) und das additiv Inverse einer Zahl ist ihre Gegenzahl . Die ganzen Zahlen sind bezüglich der Addition wiederum eine Untergruppe der rationalen Zahlen . Demgegenüber bilden die rationalen (und ganzen) Zahlen zusammen mit der Multiplikation keine Gruppe, weil die Zahl kein inverses Element bezüglich der Multiplikation besitzt. Wenn man jedoch aus entfernt, erhält man die (abelsche) Gruppe .

Eine zyklische Gruppe ist eine Gruppe, deren Elemente als Potenz eines ihrer Elemente dargestellt werden können. Unter Verwendung der multiplikativen Notation lauten die Elemente einer zyklischen Gruppe

,

wobei meint und das neutrale Element der Gruppe bezeichnet. Das Element wird Erzeuger oder Primitivwurzel der Gruppe genannt. Eine zyklische Gruppe besteht also nur aus Potenzen des Erzeugers :

Die prime Restklassengruppe ist die Gruppe der primen Restklassen bezüglich eines Moduls . Sie wird als oder notiert. Die primen Restklassen sind genau die multiplikativ invertierbaren Restklassen und sind daher endliche abelsche Gruppen bezüglich der Multiplikation. Die Menge bildet beispielsweise mit der Multiplikation modulo als Verknüpfung keine Gruppe, selbst wenn die ausgenommen wird. Es gibt noch weitere Zahlen, die kein inverses Element haben, nämlich , und . Dies sind genau die Zahlen, die einen echten Teiler mit gemeinsam haben. Die verbleibenden Elemente bilden schliesslich die Multiplikative Gruppe .

In der Kryptographie sind vor allem jene Zahlen von Interesse, für die alle Zahlen zwischen und ein inverses Element modulo haben. Dies ist genau dann der Fall, wenn eine Primzahl ist (weshalb man statt schreibt). Die Zahlen zwischen und bilden also zusammen mit der Modulo-Multiplikation die Gruppe . Eine weitere Aussage, die sich beweisen lässt: Nimmt man ein beliebiges Element aus und betrachtet die Menge , dann erhält man eine Untergruppe (mit als Generator der Untergruppe). Jede Untergruppe von hat mindestens einen Generator, und damit auch selbst. Die Gruppe ist also zyklisch.[22] Zum Beispiel ist eine zyklische Gruppe mit der als Generator, denn jede Zahl von bis lässt sich als Potenz von darstellen[23]:

Darstellung der zyklischen Gruppe mit Exponent ausserhalb und den entsprechenden Werten innerhalb der Knoten.

Für als Generator erhält man dagegen nur die Untergruppe mit den Elementen :

Es lässt sich nun leicht nachvollziehen, dass die Gleichung immer lösbar ist, wenn ein Generator von ist, wobei dann ein Element von ist (ausser ). Der diskrete Logarithmus existiert also in immer dann, wenn die Basis ein Generator von ist.[24] Stellt man die Zahlen in einem Kreis (Zyklus) der Potenzen dar, scheinen sie willkürlich verteilt zu sein. Dies gibt zumindest eine Vorstellung davon, weshalb der diskrete Logarithmus so aufwändig zu bestimmen ist.[25]

Funktionsweise

Prinzip des Diffie-Hellman-Schlüsselaustauschs

Die beiden Kommunikationspartner Alice und Bob wollen über ein unsicheres Medium, etwa eine Kabel- oder Funkverbindung, verschlüsselt kommunizieren. Dazu soll ein symmetrisches Kryptosystem eingesetzt werden, für das beide jedoch zunächst einen gemeinsamen geheimen Schlüssel benötigen. Das Diffie-Hellman-Kommunikationsprotokoll sorgt dafür, dass sie einen geheimen Schlüssel berechnen können, ohne dass Dritte (Mallory) diesen erfahren können. Den auf diese Weise errechneten Schlüssel können sie dann in Zukunft verwenden, um verschlüsselt mit einem symmetrischen Kryptosystem zu kommunizieren.

  1. Alice und Bob einigen sich zunächst öffentlich auf eine grosse Primzahl und eine natürliche Zahl , die kleiner als ist. Sich öffentlich darauf einigen bedeutet, dass jeder diese beiden Zahlen kennen darf (also auch der potenzielle Lauscher Mallory). Idealerweise handelt es sich bei um einen Erzeuger der zyklischen Gruppe , das Verfahren funktioniert aber auch, wenn einen anderen Wert kleiner annimmt. In der Praxis ist es ohnehin meist so, dass und vorgegeben sind und von vielen Anwendern verwendet werden.[26]
  2. Alice und Bob erzeugen jeweils eine geheimzuhaltende Zufallszahl (privater Schlüssel) bzw. aus der Menge . und werden nicht übertragen, bleiben also dem jeweiligen Kommunikationspartner, aber auch potenziellen Lauschern, unbekannt. Nur Alice kennt die Zahl und nur Bob kennt die Zahl .
  3. Alice berechnet mit ihrer geheimen Zahl den öffentlichen Schlüssel und schickt an Bob. Bob berechnet mit seiner geheimen Zahl den öffentlichen Schlüssel und schickt an Alice.
  4. Alice erhält von Bob und berechnet mit ihrem privaten Schlüssel die Zahl . Bob berechnet mit dem erhaltenen und seinem privaten Schlüssel ebenfalls die Zahl . Da gilt, haben beide die gleiche Zahl berechnet. Diese ist somit der gesuchte gemeinsame Schlüssel .

Nur Alice und Bob kennen . Mallory kann aus der abgehörten Kommunikation nicht berechnen. Dazu müsste er den diskreten Logarithmus lösen, was nach heutigem Kenntnisstand nicht möglich ist, wenn die Zahlen genug gross sind. Alice und Bob können also gefahrlos für eine symmetrische Verschlüsselung nutzen.[27]

Dass beide Kommunikationspartner denselben Wert für berechnen, zeigen die folgenden beiden Restklassengleichungen[28]:

.
.

Da die Multiplikation kommutativ ist, gilt des weiteren

und somit

.

Alice und Bob erhalten also nach ihren jeweiligen Berechnungen die genau gleiche Zahl, nämlich den geheimen Schlüssel .

Beispiel:

TBD

Sicherheit

Diffie-Hellman-Problem

Computational-Diffie-Hellman-Problem (CDH)

Angenommen, der Lauscher Mallory erfährt an der unsicheren Leitung die Zahlen , , und , aber nicht die diskreten Logarithmen von und von zur Basis . Mit der Kenntnis von und wäre es für ihn eine leichte Aufgabe, den Schlüssel zu bestimmen. Die Zahlen und herauszufinden ist jedoch sehr schwer, wenn die Zahlen , und sehr gross sind, beispielsweise Zahlen mit mehreren hundert Dezimalstellen.[29] Aus dieser Problemstellung ergibt sich das Computational-Diffie-Hellman-Problem:

Wenn ein Element einer Gruppe und die Werte und gegeben sind, welchen Wert hat dann , mit unbekannt ?

Da dieses Problem in bestimmten Gruppen nur mit enormem Rechenaufwand zu lösen ist, kann ein Angreifer aus den beiden beim Diffie-Hellman-Schlüsselaustausch übertragenen Nachrichten nicht den erzeugten Schlüssel berechnen.

Das Diffie-Hellman-Problem ist eng verwandt mit dem Diskreter-Logarithmus-Problem. Diskrete Logarithmen zu berechnen ist die einzige bekannte Methode, um das Diffie-Hellman-Verfahren zu brechen. Solange dies nicht in vertretbarer Zeit lösbar ist, ist es für einen Angreifer unmöglich, den geheimen Schlüssel zu bestimmen. Es ist allerdings nicht bewiesen, dass dies tatsächlich die einzige Methode ist, ob also jemand, der das Diffie-Hellman-Problem lösen könnte, auch diskrete Logarithem effizient berechnen könnte.[30] Ueli Maurer hat gezeigt, dass beide Probleme zumindest unter bestimmten Voraussetzungen äquivalent sind.[31]

Decisional-Diffie-Hellman-Problem (DDH)

Soll es für einen Angreifer unmöglich sein, aus den öffentlich verfügbaren Inforamtionen irgendwelche Informationen über den transportierten Schlüssel zu gewinnen, muss das Decisional-Diffie-Hellman-Problem (DDH) unangreifbar sein. Dieses Problem lässt sich folgendermassen beschreiben:

Ein Angreifer erhält drei Zahlen: , und . Dabei wurden entweder , und zufällig und gleichverteilt in gewählt oder gesetzt. Im zweiten Fall heisst Diffie-Hellman-Tripel. Der Angreifer muss entscheiden, ob ein solches Tripel vorliegt oder nicht. Kann er das nicht, ist es ihm unmöglich, aus und Rückschlüsse auf zu ziehen.[32]

Das Problem besteht also darin, bei gegebenem , und zu entscheiden, ob ist.

Wer das Computational-Diffie-Hellman-Problem lösen kann, ist offensichtlich auch dazu in der Lage, das Decisional-Diffie-Hellman-Problem zu lösen. Für den umgekehrten Fall ist das nicht klar.

Bei einer Auswahl von als Primitivwurzel kann das Decisional-Diffie-Hellman-Problem angegriffen werden. Dies liegt in folgendem Theorem begründet:

Sei eine Primzahl, sei eine Primitivwurzel modulo und seien . Dann ist genau dann ein quadratischer Rest modulo , wenn oder ein quadratischer Rest ist modulo .

Das Theorem folgt daraus, dass eine Potenz von genau dann ein quadratischer Rest modulo ist, wenn der Exponent gerade ist.[33]

Ein Angreiffer kann also prüfen, ob das Kriterium aus diesem Theorem erfüllt ist. Er kann zwar nicht immer entscheiden, ob ein Diffie-Hellman-Tripel vorliegt, er antwortet aber zu 75% richtig. Sein Vorteil gegenüber reinem Raten beträgt also 50%.[34]

Wahl der Zahlen

Diffie-Hellman-Primzahl p

Die Sicherheit des Verfahrens basiert nicht zuletzt auf der Länge der gewählten Zahlen. So muss die Primzahl dermassen gewählt werden, dass diskrete Logarithmen modulo mit derzeit bekannten Methoden nicht (effizient genug) berechnet werden können. Je grösser die verwendete Primzahl, desto sicherer das Verfahren, aber auch desto aufwendiger.[35] Das Bundesamt für Sicherheit in der Informationstechnik empfiehlt für eine Schlüssellänge von mindestens 2000 Bit (Stand 2016).[36]

Die Diffie-Hellman-Primzahl muss zudem so gewählt werden, dass Algorithmen zur Berechnung des diskreten Logarithmus kein leichtes Spiel haben. So muss beispielsweise vermieden werden, dass nur kleine Primfaktoren hat. Ansonsten kann nämlich der Pohlig-Hellman-Algorithmus angewendet werden, der nicht von der Gruppenordnung, sondern vom größten Faktor der Gruppenordnung abhängt. Ausserdem sollte für das Zahlkörpersieb möglichst ungeeignet sein. Dies ist der Fall, wenn es ein irreduzibles Polynom vom Grad 5 gibt, das sehr kleine Koeffizienten und eine Nullstelle hat.[37]

Generator g

Die Zahl sollte so gewählt werden, dass alle Zahlen zwischen und als Resultat der modularen Potenz in Frage kommen. Erst dann ist es zu aufwändig, alle Zahlen durchzuprobieren, wenn ausserdem die Primzahl gross genug gewählt worden ist. Diese Eigenschaft erfüllt die Zahl , wenn sie ein Generator der Gruppe ist.[38] Wenn Alice und Bob beispielsweise wählen, so funktioniert das Verfahren zwar noch immer, doch der Schlüssel ist auf jeden Fall , denn ist genau der Generator der Untergruppe von mit einem Element. Ähnlich unsicher ist das Verfahren, wenn Alice und Bob für einen Generator einer anderen kleinen Untergruppe wählen. Bei einem Generator einer grossen Untergruppe ist das Verfahren sicherer, am besten wird aber gleich ein Generator der ganzen Gruppe gewählt. Da die Hälfte aller Zahlen kleiner solche Generatoren sind, gibt es genug Auswahl.[39]

Seitenkanalangriffe

Ein Seitenkanalangriff bezeichnet eine kryptoanalytische Methode, die die physische Implementierung eines Kryptosystems in einem Gerät (z. B. einer Chipkarte, eines Security-Tokens oder eines Hardware-Sicherheitsmoduls) oder in einer Software ausnutzt. Dabei wird nicht das kryptographische Verfahren selbst, sondern nur eine bestimmte Implementierung angegriffen. Das Prinzip beruht darauf, ein kryptographisches Gerät bei der Ausführung der kryptologischen Algorithmen zu beobachten und Korrelationen zwischen den beobachteten Daten und dem verwendeten Schlüssel zu finden.

Zeitangriff

Im Jahr 1995 veröffentlichte Paul Kocher eine neuartige Methode, mit der es ihm gelang, Implementierungen von Diffie-Hellman, RSA und DSA zu brechen: der Zeitangriff (timing attack).[40]

Ziel des Zeitangriffs ist die diskrete Exponentialfunktion. Wenn eine Krypto-Implementierung für irgendwelche grösseren Zahlen , und berechnet, dann geschieht dies fast immer mit dem Square-and-Multiply-Algorithmus. Bei diesem ist für jedes Bit von eine Aktion festgesetzt: Hat das gerade bearbetete Bit den Wert , dann ist diese Aktion eine Multiplikation, ansonsten eine Quadrierung. Da die Rechenzeiten für die Multiplikationen länger dauern als für die Quadrierungen, kann Mallory aus Zeitmessungen Rückschlüsse auf die Zahl der Einsen in ziehen. Variiert er die Zahl , reichen irgendwann die Informationen aus, um zu berechnen. Schon mit einigen Tausend Zeitmessungen lassen sich entsprechende Implementierungen mit 1024-Bit-Schlüsseln brechen.[41]

Um solche Zeitangriffe zu verhindern, müssen jedoch bei der Implementierung lediglich Verzögerungen in den Ver- bzw. Entschlüsselungsprozess eingebaut werden. Mit dem als Blinding genannten Verfahren wird zum Beispiel an einer Stelle des Verfahrens eine Zufallszahl eingerechnet, die an anderer Stelle wieder herausgerechnet wird. Eine andere Möglichkeit besteht darin, den Prozess so zu gestalten, dass er unabhängig vom Eingabewert immer gleich lange dauert.[42]

Stromangriff

Im Jahr 1998 stellten Paul Kocher, Joshua Jaffe und Benjamin Jun erstmals das Konzept des Stromangriffs vor.[43] Bei Stromangriffen wird nicht nur die Verarbeitungszeit gemessen, sondern mit einem Oszilloskop auch der Stromverbrauch. Besonders Smartcards sind gegenüber Stromangriffen anfällig, da diese auf eine externe Stromversorgung angewiesen sind. Ein Angreiffer misst die Ver- und Entschlüsselungsvorgänge und versucht bestimmte Stellen der Stromverbrauchskurve einzelnen Bestandteilen des Verfahrens zuzuordnen. Auch hier ist der Square-and-Multiply-Algorithmus ein geeignetes Ziel, da sich bei diesem Multiplikationen und Quadrierungen am Stromverbrauch oft gut unterscheiden lassen. Stromangriffe sind etwas aufwendiger in der Durchführung als Zeitangriffe, gelten jedoch als wirkungsvoller.[44]

Als Gegenmassnahme gegen Stromangriffe kann der Hersteller von Krypto-Modulen den Stromverbrauch verschleiern, indem er Dummy-Operationen in einen Ver- bzw. Entschlüsselungsvorgang einbaut. Eine weitere Möglichkeit besteht darin, ein künstliches Stromrauschen zu erzeugen, das den eigentlichen Stromverbrauch überlagert.[45]

Literatur

Allgemeiner Überblick

  • Klaus Schmeh: Kryptografie. Verfahren, Protokolle, Infrastrukturen. 5., aktualisierte Auflage, dpunkt.verlag: Heidelberg, 2013.

Fachartikel

  • Dan Boneh: The Decision Diffie–Hellman Problem. In: Proceedings of the Third Algorithmic Number Theory Symposium (Lecture Notes in Computer Science, Vol. 1423) Springer-Verlag, 1998, S. 48-63. (Online)
  • Whitfield Diffie, Martin E. Hellman: New Directions in Cryptography. In: IEEE Transactions on Information Theory 22, Nr. 6, 1976, S. 644–654. (Online)
  • Martin E. Hellman: An overview of public key cryptography. In: IEEE Communications Magazine 40, Nr. 5, 2002, S. 42−49 (Online). Originalartikel: An overview of public key cryptography. In: IEEE Communications Magazine 16, Nr. 6, 1978, S. 24-32 (Online)
  • Paul C. Kocher: Cryptanalysis of Diffie-Hellman, RSA, DSS, and Other Systems Using Timing Attacks. In: Advances in Cryptology, CRYPTO '95 (15th Annual International Cryptology Conference), Springer-Verlag, 1995, S. 27-31. (Online)
  • Paul C. Kocher: Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems. In: Advances in Cryptology, CRYPTO '96 (Lecture Notes in Computer Science, Vol. 1109), Springer-Verlag, 1996, S. 104-113. (Online)
  • Paul Kocher, Joshua Jaffe, Benjamin Jun: Introduction to Differential Power Analysis and Related Attacks. In: Advances in Cryptology—CRYPTO ’99, 19th Annual International Cryptology Conference. (Lecture Notes in Computer Science, Vol. 1666) Springer-Verlag: Berlin, 1999, S. 388-397. (Online)
  • Ueli Maurer: Towards the equivalence of breaking the Diffie-Hellman protocol and computing discrete logarithms. In: Advances in Cryptology – Crypto '94. Springer-Verlag, 1994, S. 271–281. (Online)
  • Ralph C. Merkle: Secure Communications over Insecure Channels. In: Communications of the ACM 21, Nr. 4, April 1978, S. 294–299. (Online)

Einzelnachweise

  1. Ralph Merkle: Secure Communications over Insecure Channels. In: Communications of the ACM 21, Nr. 4, April 1978, S. 294–299.
  2. Whitfield Diffie, Martin Hellman: New Directions in Cryptography. In: IEEE Transactions on Information Theory.22, Nr. 6, 1976, S. 644–654.
  3. Schmeh: Kryptografie. 5. Aufl., 2013, S. 185.
  4. Martin E. Hellman: An overview of public key cryptography. In: IEEE Communications Magazine 40 (5), 2002, S. 42−49.
  5. Badach, Hoffmann: Technik der IP-Netze. 3. Aufl., 2015, S. 53.
  6. Freiermuth u.a.: Einführung in die Kryptologie. 2. Aufl., 2014, S. 200.
  7. Beutelspacher: Geheimsprachen. 3. Aufl., 2002, S. 54.
  8. Schmeh: Kryptografie. 5. Aufl., 2013, S. 204-209.
  9. Beutelspacher: Geheimsprachen. 3. Aufl., 2002, S. 53.
  10. Welschenbach: Kryptographie in C und C++. 2. Aufl., 2012.
  11. Cryptographic apparatus and method, US 4200770 A und Public key cryptographic apparatus and method, US 4218582 A
  12. Association for Computing Machinery: Cryptography Pioneers Receive ACM A.M. Turing Award (abgerufen am 1. Mai 2016).
  13. Song Y. Yan: Number Theory for Computing. 2nd Edition, Springer: Berlin, Heidelberg, 2002, S. 350-351.
  14. Schmeh: Kryptografie. 5. Aufl., 2013, S. 39-42.
  15. a b Ertel: Angewandte Kryptographie. 4. Aufl., 2012, S. 77; Buchmann: Einführung in die Kryptographie. 3. Aufl., 2004, S. 153.
  16. Schmeh: Kryptografie. 5. Aufl., 2013, S. 176.
  17. Ertel: Angewandte Kryptographie. 4. Aufl., 2012, S. 98-99; Buchmann: Einführung in die Kryptographie. 3. Aufl., 2004, S. 192.
  18. Beutelspacher, Schwenk, Wolfenstetter: Moderne Verfahren der Kryptographie. 8. Aufl., 2015, S. 16.
  19. Beutelspacher, Schwenk, Wolfenstetter: Moderne Verfahren der Kryptographie. 8. Aufl., 2015, S. 17 mit Verweis auf Jose L. Balcazar, Josep Diaz, Josep, Joaquim Gabarró: Structural Complexity I. Springer: Heidelberg, Berlin, 1988.
  20. Schmeh: Kryptografie. 5. Aufl., 2013, S. 184.
  21. Schmeh: Kryptografie. 5. Aufl., 2013, S. 184.
  22. Schmeh: Kryptografie. 5. Aufl., 2013, S. 181-183.
  23. Freiermuth u.a.: Einführung in die Kryptologie. 2. Aufl., 2014, S. 202.
  24. Schmeh: Kryptografie. 5. Aufl., 2013, S. 183.
  25. Freiermuth u.a.: Einführung in die Kryptologie. 2. Aufl., 2014, S. 202-203.
  26. Schmeh: Kryptografie. 5. Aufl., 2013, S. 185-186.
  27. Schmeh: Kryptografie. 5. Aufl., 2013, S. 185-186.
  28. Freiermuth u.a.: Einführung in die Kryptologie. 2. Aufl., 2014, S. 199.
  29. Freiermuth u.a.: Einführung in die Kryptologie. 2. Aufl., 2014, S. 200.
  30. Buchmann: Einführung in die Kryptographie. 6. Aufl., 2016, S. 190.
  31. Ueli Maurer: Towards the equivalence of breaking the Diffie-Hellman protocol and computing discrete logarithms. In: Advances in Cryptology – Crypto '94. Springer-Verlag, 1994, S. 271–281.
  32. Buchmann: Einführung in die Kryptogaphie. 6. Aufl., 2016, S. 190. Siehe ferner: Dan Boneh: The Decision Diffie–Hellman Problem. In: Proceedings of the Third Algorithmic Number Theory Symposium (Lecture Notes in Computer Science, Vol. 1423) Springer-Verlag, 1998, S. 48-63.
  33. Buchmann: Einführung in die Kryptogaphie. 6. Aufl., 2016, S. 190.
  34. Für einen Beweis siehe Buchmann: Einführung in die Kryptogaphie. 6. Aufl., 2016, S. 191-192.
  35. Buchmann: Einführung in die Kryptogaphie. 6. Aufl., 2016, S. 192-193.
  36. Bundesamt für Sicherheit in der Informationstechnik: BSI - Technische Richtlinien: Kryptographische Verfahren: Empfehlungen und Schlüssellängen Version 2016-01, Stand 15. Februar 2016. Für berechnete Mindestgrössen von p siehe auch ECRYPT II: European Network of Excellence in Cryptology II.
  37. Buchmann: Einführung in die Kryptogaphie. 6. Aufl., 2016, S. 193.
  38. Freiermuth, u.a.: Einführung in die Kryptologie. 2. Aufl., 2014, S. 202.
  39. Schmeh: Kryptografie. 5. Aufl., 2013, S. 187.
  40. Paul C. Kocher: Cryptanalysis of Diffie-Hellman, RSA, DSS, and Other Systems Using Timing Attacks. In: Advances in Cryptology, Crypto '95 (15th Annual International Cryptology Conference), Springer-Verlag, 1995, S. 27-31. (Online)
  41. Schmeh: Kryptografie. 5. Aufl., 2013, S. 320-321.
  42. Schmeh: Kryptografie. 5. Aufl., 2013, S. 321.
  43. Paul Kocher, Joshua Jaffe, Benjamin Jun: Introduction to Differential Power Analysis and Related Attacks. In: Advances in Cryptology—CRYPTO ’99, 19th Annual International Cryptology Conference. (Lecture Notes in Computer Science, Vol. 1666) Springer-Verlang: Berlin, 1999, S. 388-397.
  44. Schmeh: Kryptografie. 5. Aufl., 2013, S. 321-322.
  45. Schmeh: Kryptografie. 5. Aufl., 2013, S. 323-324.