Das heutige Thema ist der
Diffie-Hellman-Schlüsselaustausch oder auch Diffie-Hellman-Merkle-Schlüsselaustausch. Dies ist ein
Schlüsselaustauschprotokoll.
What's the purpose of this algorithm,
when is it used?
Zweck des Algorithmus:
Mit diesem Protokoll erzeugen zwei
Kommunikationspartner einen geheimen Schlüssel. Diesen kennen nur sie. Dieser
Schlüssel wird üblicherweise verwendet, um verschlüsselte Nachrichten mittels
eines symmetrischen Kryptosystems zu übertragen.
What is a one way function?
Einwegfunktion:
Eine „one way function“ (zu Deutsch Einwegfunktion)
ist eine mathematische Funktion, die zwar „leicht” zu berechnen ist, aber „schwer”
umzukehren. In einem erweiterten Sinn werden auch Funktionen so bezeichnet, zu
denen bisher keine in angemessener Zeit praktisch ausführbare Umkehrung bekannt
ist. Sie bilden die Grundlage in vielen Verschlüsselungsverfahren in der
Kryptologie.
How does the algorithm work?
Funktionsweise:
Anhand des Beispiels Alice
und Bob wird nun die Funktionsweise erklärt. Die zwei 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. Über den Diffie-Hellman-Schlüsselaustausch gelangen sie beide zu
einem solchen Schlüssel.
- Die Kommunikationspartner einigen sich zunächst auf eine zyklische Gruppe primer Ordnung p und einen Erzeuger g dieser Gruppe. Diese Parameter brauchen nicht geheim zu bleiben und können daher auch über ein unsicheres Medium übertragen werden.
- Beide Kommunikationspartner erzeugen jeweils eine geheimzuhaltende Zufallszahl a bzw. b aus der Menge {1,…,p-1}. a und b werden nicht übertragen, bleiben also dem jeweiligen Kommunikationspartner, aber auch potenziellen Lauschern, unbekannt.
- Die Kommunikationspartner berechnen A=ga modp bzw. B=gb modp. Nun werden A und B über das unsichere Medium übertragen.
- Die Kommunikationspartner berechnen nun K=Ba modp bzw. K=Ab modp. Das Ergebnis K ist für beide Partner gleich und kann als Schlüssel für die weitere Kommunikation verwendet werden.
Dass beide
Kommunikationspartner denselben Wert für K berechnen,
zeigen die folgenden beiden Gleichungen:
K=Ba modp = (gb modp)a
modp = gba modp = gab modp
K= Ab
modp = (gb modp)a modp = gab modp
What is clock arithmetic,
which characteristics does it have?
Clock Arithmetik:
Die “clock arithmetic” (in
Deutsch Kongruenz) ist in der Zahlentheorie eine Beziehung zwischen ganzen
Zahlen. Man nennt zwei Zahlen kongruent bezüglich eines Moduls (eine
weitere Zahl), wenn sie bei Division durch den Modul denselben Rest haben. Das ist genau dann
der Fall, wenn sie sich um ein ganzzahliges Vielfaches des Moduls
unterscheiden. Stimmen die Reste nicht überein, so nennt man die Zahlen
inkongruent bezüglich des Moduls.
Zwei Zahlen a und b heißen
kongruent modulo m, wenn m die Differenz a –b teilt.
Zwei Zahlen a und b heißen
inkongurent modulo m, wenn m die Differenz a – b nicht teilt.
What is the discrete
logarithm problem?
Das Diskreter-Logarithmus-Problem:
Während die
Exponentialfunktion mit Hilfe entsprechender Verfahren sehr effizient berechnet
werden kann, ist die Berechnung diskreter Logarithmen bei geeigneter Wahl der
relevanten Größen ein schwer zu lösender Problem (Diskreter-Logarithmus-Problem,
kurz DLP). Für dieses ist bis heute kein effizienter Algorithmus bekannt.
Aufgrund dieser Asymmetrie findet der diskrete Logarithmus in der Kryptografie
vielfach Verwendung.
Das
Diffie-Hellman-Verfahren stellt eine anschauliche Anwendungsmöglichkeit des DLP
(Diskreter-Logarithmus-Problem) dar. Das DLP
wird verwendet, den sicheren Austausch des geheimen Schlüssels
durchzuführen. Die Sicherheit des Diffie-Hellman-Verfahren beruht auf der
Schwierigkeit, derartige Logarithmen bei geeigneter Wahl der Zahlenwerte zu
berechnen. Ist ein Angreifer in der Lage, das DLP zu lösen, kann er den
geheimen Schlüssel berechnen. Bisher ist die Lösung des DLP die einzige
bekannte anwendbare Methode, um das Diffie-Hellman-Problem zu lösen und damit
den geheimen Schlüssel zu erfahren.
Calculate the private shared key, when Alice selects 56 and Bob selects 23 as
a random number.
Beispiel:
Nun wird der Private
Schlüssel anhand des Beispiels von Alice und Bob berechnet. Es werden sehr
kleine Zahlen benutzt. In der tatsächlichen Anwendung werden Zahlen mit mehreren hundert
Stellen benutzt.
- Alice und Bob einigen sich auf p=71 und g=2.
- Alice wählt die Zufallszahl a=56. Bob wählt die Zufallszahl b=23.
- Alice berechnet A = ga modp = 25 und sendet A an Bob.
- Bob berechnet B = gb modp = 29 und sendet B an Alice.
- Alice berechnet K = Ba modp = 5.
- Bob berechnet K = Ab modp = 5.
- Beide erhalten das gleiche Ergebnis K = 5.
Ein eventuell vorhandener Mittelsmann
oder Lauscher könnte zwar die Zahlen 71, 2, 25 und 29 mithören, das eigentliche
gemeinsame Geheimnis von Alice und Bob K = 5 bleibt ihm aber
verborgen. K = 5 kann somit als Schlüssel für die nachfolgende
Kommunikation verwendet werden.
What is authentication?
Does the Diffie-Hellman key
exchange provide authentication?
Authentifizierung:
Der Begriff
Authentifizierung ist vom Englischen Verb authenticate abgeleitet, was auf
Deutsch sich als echt erweisen, sich verbürgen, glaubwürdig sein bedeutet.
Das
Diffie-Hellman-Protokoll sieht keine Authentisierung der Partner vor. Daher ist
es anfällig für die Man-In-The-Middle-Attack. Ist ein Angreifer in der Lage, sich
aktiv in die Kommunikation zwischen den beiden Partnern einzuschleifen, so kann
er gegenüber beiden vorgeben, der jeweils andere Partner zu sein und so selbst
mit beiden ein gemeinsames Geheimnis vereinbaren. Daher wird in der Praxis bei
diesem Verfahren immer zusammen mit einem zusätzlichen
Authentisierungsverfahren verwendet, in der Regel auf Basis von digitalen
Signaturen.
Quelle: http://authentifizierung.org/
Keine Kommentare:
Kommentar veröffentlichen