Handouts - Prof. Dr. Christoph Karg
Transcription
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