Handouts - Prof. Dr. Christoph Karg

Kryptografische Protokolle
Lerneinheit 3: Schl¨usselverteilung
Prof. Dr. Christoph Karg
Studiengang Informatik
Hochschule Aalen
Sommersemester 2015
4.5.2015
Einleitung
Einleitung
Diese Lerneinheit besch¨aftigt sich mit Protokollen zur Verteilung von
Schl¨usseln.
Es werden folgende Verfahren behandelt:
• Diffie-Hellman Key Predistribution Scheme
• Needham-Schroeder Key Distribution Scheme
• Kerberos
• Bellare-Rogaway Scheme
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
2 / 50
Einleitung
Symmetrisches Kryptosystem
Alice
Oskar
Bob
x
enc
x
y
k
unsicherer Kanal
sicherer Kanal
y
dec
k
Herausforderung: sichere Verteilung des gemeinsamen Schl¨ussels k
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
3 / 50
Einleitung
Gegebenheiten
• Es wird eine Gruppe von Benutzern betrachtet, die u¨ber ein
unsicheres Netzwerk kommunizieren
• Gegebenenfalls gibt es eine Trusted Authority (TA), die folgende
Dienste bereit stellt:
¨
. Uberpr¨
ufung der Identit¨at von Benutzern
. Ausstellung von Zertifikaten
. Auswahl und Verteilung von Schl¨usseln an die Benutzer
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
4 / 50
Einleitung
Szenarien
Szenarien
• Vorausverteilung von Schl¨ussel
Key Predistribution Scheme (KPS)
• Verteilung von Sitzungsschl¨usseln
Session Key Distribution Scheme (SKDS)
• Schl¨usselvereinbarung
Key Agreement Scheme (KAS)
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Einleitung
Schl¨
usselverteilung
5 / 50
Szenarien
Arten von Schlu¨sseln
Long-Lifed Key (LL-Key):
• werden im Voraus berechnet und sicher abgespeichert
• ist oft der private Schl¨ussel eines Zertifikats
Session Key:
• wird unter Einsatz eines LL-Keys berechnet
• Einsatzgebiete: symmetrische Verschl¨usselung und Message
Authentication Codes
• Anforderung: der Session Key darf keine Informationen u¨ber den
LL-Key liefern
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
6 / 50
Einleitung
Szenarien
Gru¨nde fu¨r den Einsatz von Session Keys
• Regelm¨assige Schl¨usselwechsel beschr¨anken die Anzahl von
Geheimtexten, die mit demselben Schl¨ussel verschl¨usselt wurden
• Die mit dem Verlust eines Schl¨ussels verbundenen Risiken
werden abgemildert
• Session Keys k¨onnen auch in Umgebungen eingesetzt werden, in
denen eine gewisse Gefahr besteht, dass der Schl¨ussel
kompromittiert wird
• Es m¨ussen weniger l¨angerfristige Informationen beim Benutzer
hinterlegt werden, da die Session Keys nur bei Bedarf erzeugt
werden
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Einleitung
Schl¨
usselverteilung
7 / 50
Szenarien
Vorverteilung von Schlu¨sseln
• Die TA generiert die Schl¨ussel und verteilt sie vorab an die
Benutzer
• Voraussetzung ist ein sicherer Verteilungsweg
• Jedes Paar von Benutzern kann aus den bereitgestellten Daten
einen Schl¨ussel ermitteln, der geheim und nur den beiden
Benutzern bekannt ist
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
8 / 50
Einleitung
Szenarien
Verteilung von Sitzungsschlu¨sseln
• Eine Online TA erstellt die Sitzungsschl¨ussel auf Anfrage und
verteilt sie anschließend an den Benutzer
• Zur Kommunikation ist ein interaktives Protokoll notwendig
• Ein Sitzungsschl¨ussel ist nur f¨ur eine kurze Zeit g¨ultig
¨
• Zur gesicherten Ubertragung
setzt die TA vorverteilte Schl¨ussel
ein
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Einleitung
Schl¨
usselverteilung
9 / 50
Szenarien
Schlu¨sselvereinbarung
• Die Benutzer agieren unter einander, um einen gemeinsamen
Schl¨ussel zu erstellen
• Zur Vereinbarung eines Schl¨ussels kommt ein interaktives
Protokoll zum Einsatz
• Es ist keine TA notwendig
Bemerkung: Protokolle zur Schl¨usselvereinbarung werden in
Lerneinheit 4 durchgenommen
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
10 / 50
Diffie-Hellman KPS
Diffie-Hellman KPS
• Abgewandelte Version des Diffie-Hellman Key Exchanges
• Die Schl¨ussel werden vorab verteilt bzw. u¨ber ein ¨offentliches
Verzeichnis bereitgestellt
• Eine TA u¨berpr¨uft die Echtheit der Schl¨ussel und stellt
entsprechende Zertifikate aus
• Die Sicherheit des Verfahrens beruht auf dem
Diskreter-Logarithmus Problem
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Diffie-Hellman KPS
Schl¨
usselverteilung
11 / 50
Diskreter-Logarithmus Problem
Das Diskreter Logarithmus Problem
Das Diskreter Logarithmus Problem (DLP) u¨ber Z∗p ist wie folgt
definiert:
Gegeben: (p, α, β), wobei p eine Primzahl, α ∈ Z∗p ein
erzeugendes Element und β ∈ Z∗p .
Gesucht: Finde die eindeutige ganze Zahl a, 0 ≤ a ≤ p − 2, so
daß αa ≡ β (mod p).
Dieses a wird als diskreter Logarithmus von β zur Basis α,
symbolisch a = logα β, bezeichnet.
Man beachte, daß f¨ur jedes β ∈ Z∗p ein solches a existiert.
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
12 / 50
Diffie-Hellman KPS
Diskreter-Logarithmus Problem
Beispiel zum Diskreten Logarithmus
Betrachte Z∗11 und α = 2.
1 2 3 4 5 6 7 8 9 10
i
αi mod 11 2 4 8 5 10 9 7 3 6 1
Demnach ist log2 (10) = 5 und log2 (6) = 9.
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Diffie-Hellman KPS
Schl¨
usselverteilung
13 / 50
Diskreter-Logarithmus Problem
Das DLP ist schwierig!
• Die Frage, ob ein effizienter Algorithmus f¨ur das DLP existiert,
ist eine der offenen Fragen der Informatik.
• Ist p hinreichend groß (≥ 160 Dezimalstellen) und besitzt p − 1
einen großen Primteiler, dann hat jeder zur Zeit bekannte
Algorithmus exponentielle Laufzeit.
• Die modulare Exponentialfunktion exp(x) = αx mod p gilt als
Einwegfunktion und dient als Basis f¨ur zahlreiche Kryptosysteme
z.B. das ElGamal Kryptosystem oder den Diffie-Hellman
Schl¨usselaustausch.
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
14 / 50
Diffie-Hellman KPS
Diskreter-Logarithmus Problem
Verallgemeinertes Diskreter-Logarithmus Problem
Verallgemeinertes Diskreter Logarithmus Problem (DLP):
Gegeben: Endliche Gruppe (G , ◦), ein Element α der Ordnung n
und ein β ∈ G
Gesucht: Finde die eindeutige ganze Zahl a, 0 ≤ a ≤ kG k − 1, so
daß αa = β
Bemerkungen.
• Die Ordnung n von α muss hinreichend gross gew¨ahlt werden,
so dass die Berechnung des DLP schwierig ist
• Es gibt neben (Z∗p , ·) noch andere Gruppen, deren DLP schwer
zu l¨osen ist. Ein Beispiel sind elliptische Kurven
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Diffie-Hellman KPS
Schl¨
usselverteilung
15 / 50
Schl¨
usselerzeugung
Schlu¨sselerzeugung
¨
Offentliche
Parameter: Gruppe (G , ◦) mit einem Element α der
Ordnung n
Schl¨usselerzeugung:
1. Der Benutzer U generiert seinen privaten LL-Key
aU ∈ {0, 1, . . . , n − 1}, wobei n = kG k
2. Der Benutzer U berechnet seinen ¨offentlichen Schl¨ussel bU = αau
3. Die TA signiert den ¨offentlichen Schl¨ussel bU und best¨atigt auf
diese Weise dessen Echtheit
4. Der Benutzer U ver¨offentlicht bU in einem ¨offentlichen
Verzeichnis
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
16 / 50
Diffie-Hellman KPS
Schl¨
usselerzeugung
Berechnung des gemeinsamen Schlu¨ssels
Zur Berechnung des gemeinsamen Schl¨ussels gehen Alice und Bob
folgendermaßen vor:
• Alice besorgt sich den ¨offentlichen Schl¨ussel bB von Bob. Sie
u¨berzeugt sich von dessen Echtheit, in dem sie die Signatur der
TA u¨berpr¨uft. Anschließend berechnet sie kA,B = bBaA
• Bob besorgt sich den ¨offentlichen Schl¨ussel bA von Alice. Er
u¨berzeugt sich von dessen Echtheit, in dem sie die Signatur der
TA u¨berpr¨uft. Anschließend berechnet er kB,A = bAaB
Offensichtlich gilt:
kA,B = bBaA = (αaB )aA = (αaA )aB = bAaB = kB,A
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Diffie-Hellman KPS
Schl¨
usselverteilung
17 / 50
Schl¨
usselerzeugung
Beispiel
Angenommen, p = 12987461, q = 1291 und α = 3606738 sind die
¨offentlichen Parameter.
Es gilt:
• p und q sind Primzahlen
• q |(p − 1)
• α hat die Ordnung q
Die eingesetzte Gruppe ist:
G = {αi mod p | i = 1, . . . , q − 1}
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
18 / 50
Diffie-Hellman KPS
Schl¨
usselerzeugung
Beispiel (Forts.)
Alice w¨ahlt aA = 357 als privaten Schl¨ussel. Dann berechnet sie
bA = αaA mod p
= 3606738357 mod 12987461
= 7317197
Bob w¨ahlt aA = 199 als privaten Schl¨ussel. Dann berechnet er
bB = αaB mod p
= 3606738199 mod 12987461
= 138432
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Diffie-Hellman KPS
Schl¨
usselverteilung
19 / 50
Schl¨
usselverteilung
20 / 50
Schl¨
usselerzeugung
Beispiel (Forts.)
Als geheimen Schl¨ussel berechnet Alice:
KA,B = bBaA mod p
= 138432357 mod 12987461
= 11829605
Bob f¨uhrt die Berechnung auf analoge Weise durch:
KB,A = bAaB mod p
= 7317197199 mod 12987461
= 11829605
Die Schl¨ussel sind offensichtlich identisch!
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Diffie-Hellman KPS
Sicherheitsaspekte
Sicherheit des Diffie-Hellman KPS
• Da kein interaktives Protokoll zwischen Alice und Bob abl¨auft,
scheiden aktive Angriffe aus
• Die einzige Angriffsm¨oglichkeit besteht darin, dass man aus den
¨offentlichen Schl¨usseln αaA und αaB die privaten Schl¨ussel aA
und aB berechnen kann
• Dies entspricht dem L¨osen des DLP
• Fazit: Das Diffie-Hellman KPS ist genau dann sicher, wenn das
DLP f¨ur die Untergruppe hαi schwierig zu l¨osen ist
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
21 / 50
Needham-Schroeder Verfahren
Needham-Schroeder SKDS
• Vorgestellt von Needham und Schroeder im Jahr 1978
• Verfahren zur Verteilung von Sitzungsschl¨ussel
• Der Benutzer U besitzt
. einen geheimen Schl¨ussel kU
. eine eindeutige Identifikationsnummer ID(U)
• Die TA hat Zugriff alle geheimen Schl¨ussel der Benutzer
• Zur Etablierung des Sitzungsschl¨ussels wird ein interaktives
Protokoll abgearbeitet
• Die TA erzeugt den Sitzungsschl¨ussel zuf¨allig und sendet ihn an
einen der beiden Kommunikationspartner
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
22 / 50
Needham-Schroeder Verfahren
Ablauf
Ablauf des Protokolls
1. Alice generiert eine Zufallszahl rA . Danach sendet sie ID(Alice),
ID(Bob) und rA an die TA
2. Die TA erzeugt einen zuf¨alligen Session Key k. Dann erstellt sie
ein Ticket f¨ur Bob:
tB = enc (kB , hk, ID(Alice)i)
Abschließend berechnet sie
y1 = enc (kA , hrA , ID(Bob), k, tB i)
und sendet y1 an Alice
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Needham-Schroeder Verfahren
Schl¨
usselverteilung
23 / 50
Ablauf
Ablauf des Protokolls (Forts.)
3. Alice entschl¨usselt y1 mit kA und erh¨alt auf diese Weise k und
tB . Dann sendet sie tB an Bob
4. Bob entschl¨usselt tB mit kB und erh¨alt auf diese Weise k. Bob
w¨ahlt nun eine Zufallszahl rB , berechnet
y2 = enc (k, rB )
und sendet y2 an Alice
5. Alice entschl¨usselt y2 mit k und erh¨alt rB . Anschließend
berechnet sie
y3 = enc (k, rB − 1)
und sendet y3 an Bob
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
24 / 50
Needham-Schroeder Verfahren
Ablauf
Informationsfluss
ID(Alice), ID(Bob), ra
enc (kA , hrA , ID(Bob), k, tB i)
Bob
TA
Alice
tB
enc (k, rB )
enc (k, rB − 1)
wobei: tB = enc (kB , hk, ID(Alice)i)
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Needham-Schroeder Verfahren
Schl¨
usselverteilung
25 / 50
Sicherheitsaspekte
Validierung der u¨bertragenen Daten
Um die Sicherheit des Needham-Schroeder KDS zu gew¨ahrleisten,
muss u¨berpr¨uft werden, ob die empfangenen Daten das korrekte
Format haben und die gew¨unschte Information enthalten
Vorgehen:
1. Nach dem Empfang von y1 u¨berpr¨uft Alice, ob die entschl¨usselte
Nachricht die Daten rA , ID(Bob), k und tB enth¨alt. Falls nein,
dann wird die Verbindung abgebrochen
2. Bei Empfang von y3 muss Bob u¨berpr¨ufen, ob
dec (k, y3 ) = rB − 1. Falls nein, dann bricht er die Verbindung
ab. Diesen Schritt nennt man key confirmation
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
26 / 50
Needham-Schroeder Verfahren
Sicherheitsaspekte
Denning-Sacco Angriff
• Denning und Sacco entdeckten 1981 eine M¨oglichkeit, das
Needham Schroeder KDS anzugreifen
• Der Angriff ist eine sogenannte Known Session Key Attack
• Ist Oscar in der Lage, an den Session Key k einer Verbindung
zwischen Alice und Bob zu gelangen, dann kann er mit Bob eine
weitere Verbindung initieren
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Needham-Schroeder Verfahren
Schl¨
usselverteilung
27 / 50
Sicherheitsaspekte
Denning-Sacco Angriff (Forts.)
enc (k, rB0 )
Bob
Oscar
tB = enc (kB , hk, ID(Alice)i)
enc (k, rB0 − 1)
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
28 / 50
Needham-Schroeder Verfahren
Sicherheitsaspekte
Denning-Sacco Angriff (Forts.)
Konsequenzen:
• Nach Initierung der Session, denkt Bob, dass er von Alice einen
neuen Schl¨ussel erhalten hat
• Alice kennt diesen Schl¨ussel jedoch nicht
• Oscar kann sich nun gegen¨uber Bob als Alice ausgeben
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
29 / 50
Kerberos
Kerberos
• Kerberos ist eine Sammlung von Verfahren f¨ur die Verteilung
von Sitzungsschl¨usseln
• Kerberos wurde vom MIT in den 1980er und 1990er Jahren
entwickelt
• Kerberos ist die Basis f¨ur Single-Sign-On L¨osungen
• Es gibt Kerberos Implementierungen f¨ur alle g¨angigen
Betriebssysteme
• Im folgenden wird eine vereinfachte Variante von Kerberos
Version 5 dargestellt
• Grundlage ist das Needham-Schroeder Protokoll
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
30 / 50
Kerberos
Ablauf
Ablauf des Protokolls
1. Alice generiert eine Zufallszahl rA . Danach sendet sie ID(Alice),
ID(Bob) und rA an die TA
2. Die TA erzeugt einen zuf¨alligen Session Key k und einen
Ablaufzeitpunkt `. Dann erstellt sie ein Ticket f¨ur Bob:
tB = enc (kB , hk, ID(Alice), `i)
Abschließend berechnet sie
y1 = enc (kA , hrA , ID(Bob), k, `i)
und sendet tb und y1 an Alice
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Kerberos
Schl¨
usselverteilung
31 / 50
Ablauf
Ablauf des Protokolls (Forts.)
3. Alice entschl¨usselt y1 mit kA und erh¨alt auf diese Weise k und `.
Anschließend berechnet sie die aktuelle Systemzeit time und
berechnet
y2 = enc (k, hID(Alice), timei)
Dann sendet sie y2 und tB an Bob
4. Bob entschl¨usselt tB mit kB und erh¨alt auf diese Weise k, ` und
time. Bob berechnet
y3 = enc (k, time + 1)
und sendet y3 an Alice
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
32 / 50
Kerberos
Ablauf
Informationsfluss
ID(Alice), ID(Bob), ra
tB , y2
Bob
TA
Alice
tB , y1
y3
wobei: tB
y1
y2
y3
=
=
=
=
enc (kB , hk, ID(Alice), `i)
enc (kA , hrA , ID(Bob), k, `i)
enc (k, hID(Alice), timei)
enc (k, time + 1)
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Kerberos
Schl¨
usselverteilung
33 / 50
Sicherheitsaspekte
Validierung der u¨bertragenen Daten
1. Nach der Entschl¨usselung von y1 u¨berpr¨uft Alice, ob der
erhaltene Klartext die Form hrA , ID(Bob), k, `i hat und dass
time ≤ `. Falls nicht, dann wird die Kommunikation abgebrochen
2. Bob kontrolliert nach der Entschl¨usselung von tB , dass er
tats¨achlich hk, ID(Alice), `i erhalten hat. Ferner muss die
Entschl¨usselung von y2 die Daten hID(Alice), timei liefern
Falls ID(Alice) in beiden Nachrichten identisch ist und time ≤ `
gilt, dann akzeptiert Bob den Session Key k. Ansonsten wird k
verworfen
3. Alice kontrolliert, dass dec (k, y3 ) = time + 1 ist. Falls ja, dann
akzeptiert Alice Bob als Kommunikationspartner
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
34 / 50
Kerberos
Sicherheitsaspekte
Bemerkungen
• Nach dem erfolgreichen Ablauf des Protokolls haben sich Alice
und Bob gegenseitig den Empfang des Session Keys k best¨atigt
(mutual key confirmation)
• Mit der Ablaufzeit ` wird die Chance f¨ur eine Denning-Sacco
Attacke verringert
• Nachteil: die Uhren aller Teilnehmer des Protokolls m¨ussen
synchron sein
• In der Praxis wird eine Ungenauigkeit der Systemzeiten
ber¨ucksichtigt
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Kerberos
Schl¨
usselverteilung
35 / 50
Sicherheitsaspekte
Vergleich mit Needham-Schroeder
• In Kerberos best¨atigen sich Alice und Bob gegenseitig, dass sie
denselben Session Key k benutzen. Im Needham-Schroeder
Protokoll best¨atigt dagegen nur Alice Bob, dass sie k kennt
• Im Needham-Schroeder Protokoll wird tB doppelt verschl¨usselt.
Dies ist unn¨otig und verkompliziert das Protokoll. Aus diesem
Grund verzichtet Kerberos auf diese Doppelverschl¨usselung
• Kerberos besitzt wegen des Zeitstempels ` einen teilweisen
Schutz gegen die Denning-Sacco Attacke
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
36 / 50
Kerberos
Sicherheitsaspekte
Nachteile von Kerberos und Neeham-Schroeder
• Protokolle, die Zeitstempel einsetzen, erfordern verl¨assliche und
synchrone Systemzeiten. Derartige Protokolle sind schwierig zu
analysieren. Daher sollten Zeitstempel durch Zufallswerte ersetzt
werden, falls dies m¨oglich ist
• Key confirmation ist in der Regel nicht notwendig, da damit
nicht garantiert ist, dass der Session Key noch verf¨ugbar ist,
wenn er benutzt werden soll
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Kerberos
Schl¨
usselverteilung
37 / 50
Sicherheitsaspekte
Nachteile (Forts.)
• In Kerberos und im Needham-Schroeder Protokoll wird
Verschl¨usselung f¨ur die Gew¨ahrleistung von sowohl
Vertraulichkeit als auch Authentizit¨at benutzt. Es ist besser,
Verschl¨usselungsverfahren f¨ur Vertraulichkeit und Message
Authentication Codes f¨ur die Authentizit¨at einzusetzen
• Um die Denning-Sacco Attacke zu verhindern, muss der Ablauf
des Protokolls ver¨andert werden. Jedes sichere“ Verfahren sollte
”
Bob als aktiven Teilnehmer einbeziehen, bevor er den Session
Key erh¨alt. Dies erfordert dass Alice und Bob kommunizieren,
bevor der Session Key bei der TA angefordert wird
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
38 / 50
Bellare-Rogaway Verfahren
Bellare-Rogaway Verfahren
• Erfunden von Bellare und Rogaway im Jahr 1995
• Eingesetzte kryptografische Algorithmen:
. Symmetrisches Kryptosystem
Vertraulichkeit
. Message Authentication Code
Authentizit¨at
• Jeder Benutzer U besitzt zwei geheime Schl¨ussel:
. kU
Verschl¨usselung
. mU
MAC-Berechnung
• Die TA kennt die Schl¨ussel aller Benutzer
• Die TA sendet an Alice folgende Daten:
. Session Key (mit kA verschl¨usselt)
. Pr¨ufsumme u¨ber ID(Alice), ID(Bob), dem verschl¨usselten
Session Key und Alice’s Challenge (mit mA berechnet)
• Bob erh¨alt von der TA analoge Daten
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Bellare-Rogaway Verfahren
Schl¨
usselverteilung
39 / 50
Ablauf
Ablauf des Protokolls
1. Alice generiert eine Zufallszahl rA und sendet anschließend
hID(Alice), ID(Bob), rA i
an Bob
2. Bob generiert eine Zufallszahl rB und sendet anschließend
hID(Alice), ID(Bob), rA , rB i
an die TA
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
40 / 50
Bellare-Rogaway Verfahren
Ablauf
Ablauf des Protokolls (Forts.)
1. Die TA generiert einen zuf¨alligen Session Key k. Anschließend
berechnet sie eA = enc (kA , k)
yA = heA , mac (mA , hID(Alice), ID(Bob), rA , eA i)i
sowie eB = enc (kB , k)
yB = heB , mac (mB , hID(Bob), ID(Alice), rB , eB i)i
Anschließend sendet die TA yA an Alice und yB an Bob
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Bellare-Rogaway Verfahren
Schl¨
usselverteilung
41 / 50
Ablauf
Informationsfluss
ID(Alice), ID(Bob), rA , rB
TA
Alice
Bob
ID(Alice), ID(Bob), rA
yB
yA
wobei: eA
yA
eB
yB
=
=
=
=
enc (kA , k)
heA , mac (mA , hID(Alice), ID(Bob), rA , eA i)i
enc (kB , k)
heB , mac (mB , hID(Bob), ID(Alice), rB , eB i)i
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
42 / 50
Bellare-Rogaway Verfahren
Ablauf
Bemerkungen
• Das Protokoll verzichtet auf Key Confirmation, d.h., Alice und
Bob wissen nicht, ob der Kommunikationspartner den richtigen
Schl¨ussel erhalten hat
• Alice akzeptiert den von der TA zugesandten Session Key, wenn
die erhaltenen Daten konsistent sind. Hierzu berechnet sie
mac (mA , hID(Bob), ID(Alice), rA , eA i)
und vergleicht die Pr¨ufsumme mit der von der TA erstellten
Pr¨ufsumme. Stimmen die Pr¨ufsummen u¨berein, dann geht Alice
davon aus, dass das Protokoll korrekt abgelaufen ist
¨
• Bob f¨uhrt die Uberpr¨
ufung auf analoge Weise durch
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Bellare-Rogaway Verfahren
Schl¨
usselverteilung
43 / 50
Sicherheitsaspekte
Definition: Sicheres SKDS
Definition. Ein Session Key Distribution Scheme gilt als sicher, wenn
folgende Eigenschaft erf¨ullt ist:
Wenn einer der Benutzer den erhaltenen Session Key
akzeptiert, dann ist die Wahrscheinlichkeit, dass jemand
anderes als der Kommunikationspartner den Session Key
kennt, gering
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
44 / 50
Bellare-Rogaway Verfahren
Sicherheitsaspekte
Annahmen zur Sicherheitsanalyse
• Alice, Bob und die TA werden als ehrlich eingestuft
• Das Verschl¨usselungsverfahren und die MAC gelten als sicher
• Die geheimen Schl¨ussel sind nur den berechtigten Personen
bekannt
• Zuf¨allige Challenges werden mit sicheren
Pseudo-Zufallszahlengeneratoren erzeugt
• Die TA erzeugt die Session Keys zuf¨allig mit einem sicheren
Pseudo-Zufallszahlengenerator
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Bellare-Rogaway Verfahren
Schl¨
usselverteilung
45 / 50
Sicherheitsaspekte
Angriffsarten
1. Oskar f¨uhrt einen passiven Angriff durch
2. Oskar ist ein aktiver Angreifer und versucht, sich gegen¨uber
Alice als Bob oder die TA auszugegeben und die entsprechenden
Nachrichten abzufangen und zu ver¨andern
3. Oskar ist ein aktiver Angreifer und versucht, sich gegen¨uber Bob
als Alice oder die TA auszugegeben und die entsprechenden
Nachrichten abzufangen und zu ver¨andern
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
46 / 50
Bellare-Rogaway Verfahren
Sicherheitsaspekte
Szenario 1: Passiver Angriff
• Da sich Oskar passiv verh¨alt, greift er nicht in den Ablauf des
Protokolls ein
• Alice und Bob sind in der Lage, den Session Key zu entschl¨usseln
• Weder Oskar noch ein anderer Benutzer kann den Session Key
entschl¨usseln
• Die einzige M¨oglichkeit, den Schl¨ussel zu ermitteln, besteht in
eine Brute Force Suche. Bei hinreichend großer Schl¨ussell¨ange ist
dies jedoch nicht praktikabel
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Bellare-Rogaway Verfahren
Schl¨
usselverteilung
47 / 50
Sicherheitsaspekte
Szenario 2: Angriff auf Alice
• Alice kann sich nicht sicher sein, dass sie wirklich mit Bob
kommuniziert oder ob sich Oskar als Bob ausgibt
• Nach dem Empfang der Nachricht
yA = heA , mac (mA , hID(Alice), ID(Bob), rA , eA i)i
kann Alice anhand der Pr¨ufsumme erkennen, ob die Daten
manipuliert werden.
• Der Zufallswert rA sch¨utzt Alice vor einer Replay Attacke, bei
der Oskar das yA aus einer vorangegangenen Kommunikation
unterschieben will
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
48 / 50
Bellare-Rogaway Verfahren
Sicherheitsaspekte
Szenario 2: Angriff auf Alice (Forts.)
• Die Chance, dass Oskar den Session Key k umbemerkt
ver¨andern kann, ist gering, da er hierzu die geheimen Schl¨ussel
kA und mA kennen m¨usste.
• Die einzige Person, die neben Alice den Session Key
entschl¨usseln kann, ist Bob. Da Bob als vertrauensw¨urdig
eingestuft wird, kann Alice sicher sein, dass Bob den Session Key
nicht weiter gibt
F¨ur das Szenario 3 (Angriff auf Bob) kann man analog argumentieren
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
49 / 50
Zusammenfassung
Zusammenfassung
• Mit Schl¨usselvorverteilung bezeichnet man Verfahren, bei denen
die Schl¨ussel vorab an die Benutzer verteilt werden
• Mit Schl¨usselverteilung bezeichnet man Verfahren, bei denen die
Schl¨ussel bei Bedarf generiert und an die jeweiligen Benutzer
versendet werden
• In der Regel erzeugt eine Trusted Authority die Session Keys
• Neben den in dieser Lernheit pr¨asentierten Protokolle existiert
noch eine Vielzahl weiterer Verfahren
Prof. Dr. C. Karg (HS Aalen)
Kryptografische Protokolle
Schl¨
usselverteilung
50 / 50