kapitel 12: netzsicherheit - wlan-sicherheit (schicht 2)
TRANSCRIPT
IT-Sicherheit
Kapitel 12: Netzsicherheit - WLAN-Sicherheit (Schicht 2)
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Inhaltâ WLAN: Eine kurze EinfĂŒhrung â WLAN-Sicherheitsanforderungen und Mechanismen â Wired Equivalent Privacy (WEP)
â Authentisierung â Vertraulichkeit â IntegritĂ€t â Autorisierung â SchwĂ€chen und Angriffe
â WiFi Protected Access (WPA) â Authentisierung mit 802.1X oder Preshared Keys (PSK) â Vertraulichkeit (TKIP) â TKIP-SchlĂŒsselhierarchie â WPA- und TKIP-Sicherheit
â WPA 2
2
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Wireless Local Area Network (WLAN)â WLAN standardisiert in IEEE 802.11x:
â Alle GerĂ€te teilen sich die Bandbreite â Maximaler Durchsatz praktisch nicht erreichbar (netto wird
i.d.R. weniger als die HĂ€lfte erreicht, z.B. 200-300 Mbit/s bei 802.11n)
3
Standard Frequenz [GHz] maximaler Durchsatz [Mbit/s]
802.11 2,4 2802.11a 5 54802.11b 2,4 11802.11g 2,4 54802.11n 2,4 / 5 600802.11ac (2014 verabschiedet) 5 1,69 Gbit/s (6,77 Gbit/s)
â Derzeit leistungsfĂ€higste GerĂ€te im MWN: Alcatel-Lucent AP-325 und AP-275
â Dualband-AP, d.h. 2,4 GHz- und 5 GHz-Frequenzband â Zwei Radios â Durchsatz bei opt. Bedingungen 1.300 Mbit/s (AP-275 mit
802.11ac) bzw. 450 mbit/s brutto â Controller basierte Lösung entwickelt von Aruba
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Beispiel: MWN
4
â Nutzungsstatistik installierter Access Points:http://wlan.lrz.de/apstat/
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WLAN: Infrastruktur-Modusâ Access Point (AP):
Zugangsknoten zum WLAN â Station (STA)
â GerĂ€t mit WLAN-Ausstattung â (Intelligenter) Client
â Basic Service Set (BSS) â Gruppe von STAs, die selbe
Frequenz nutzen â Extended Service Set (ESS)
â logisches Netz aus mehreren BSS â wird gebildet durch Verbindungsnetz
(Distribution System (DSS)) â ESS wird durch SSID identifiziert
â Portal: Verbindung zu anderen Netzen
5
Distribution System
PowerBook G4
802.x LANBSS1
BSS2
ESS
Portal
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
PowerBook G4
BSS1
BSS2
WLAN: Ad-Hoc Modusâ Kein Access Point (AP) erforderlich
â Alle Stationen sind gleichberechtigt
â Basic Service Set (BSS) â Gruppe von STAs, die dieselbe Frequenz nutzen â Keine Kommunikation zwischen BSS möglich
6
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WLAN Sicherheitsmechanismenâ Mallet und Eve haben es im WLAN (wg. Funk) noch
einfacher als in kabelgebundenen Netzen â Sicherheitsanforderungen
â Authentisierung der Teilnehmer â Zugangskontrolle zum Netz (Autorisierung) â Vertraulichkeit der Daten â IntegritĂ€t der Daten
â Sicherheitsmechanismen â Wired Equivalent Privacy (WEP) â WiFi Protected Access (WPA) â WiFi Protected Access 2 (WPA2) â IEEE 802.11i (Standard, wegen VerspĂ€tung etablierte die Wi-Fi Alliance
(Herstellerkonsortium) bereits WPA) â IEEE 802.11i D3.0 ist Ă€quivalent zu WPA â IEEE 802.11i D9.0 ist Ă€quivalent zu WPA2
7
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Vertraulichkeit: Wired Equivalent Privacy (WEP)
â Klartext wird mit Bitstrom XOR-verknĂŒpft â Bitstrom wird mit RC4 als Pseudozufallszahlengenerator
(WEP PRNG) erzeugt â FĂŒr jede Nachricht 24-bit Initialisierungsvektor (IV) konkateniert mit 40-bit
WEP-SchlĂŒssel als 64-bit Seed fĂŒr PRNG â Nachricht konkateniert mit CRC wird mit dem Bitstrom XOR-verknĂŒpft
8
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WEP: EntschlĂŒsselungâ IV wird im Klartext mit jedem Chiffretext ĂŒbertragen
â Jeder, der KBSS kennt, kann Keystream erzeugen und Nachricht entschlĂŒsseln
â Selbstsynchronisierung von WEP â EntschlĂŒsselung ist inverser Vorgang zur VerschlĂŒsselung
9
M xor K = C C xor K = M
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WEP: IntegritĂ€tssicherung mit CRC-32â Cyclic Redundancy Check (CRC) ist ein Fehlererkennungcode â Entwickelt, um Ăbertragungsfehler u.a. in Ethernet zu erkennen â Mathematische Grundlagen:
â Bit-String wird als Polynom mit Koeffizienten 0 und 1 aufgefasst â Nachricht M wird interpretiert als Polynom M(x) â Berechnungen modulo 2; d.h. Addition und Subtraktion identisch mit XOR
â Berechnung des CRC-Werts von M(x) zur IntegritĂ€tssicherung: â Einigung auf Generatorpolynom G(x) (i.d.R. standardisiert) â Sei n der Grad von G(x), dann ist n+1 die LĂ€nge des Bit-Strings von G(x) â M(x) wird durch G(x) geteilt â Teilungsrest M(x) mod G(x) ist CRC-Wert und wird an M angehĂ€ngt â EmpfĂ€nger berechnet: Gesamtnachricht (M(x) | CRC) mod G(x)
= 0; Nachricht wurde bei der Ăbertragung nicht verĂ€ndert (auĂer Ănderung ist Vielfaches von G(x))â 0; Nachricht wurde verĂ€ndert
10
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Anwendungen und Grenzen von CRCâ Einfach und billig in Hardware umzusetzen
(32-bit Schieberegister)
â Gut geeignet fĂŒr die Erkennung von âzufĂ€lligenâ Fehlern (z.B. bei Rauschen) â Ethernet â Festplatten-DatenĂŒbertragung â USB, Bluetooth, SD/MMC-Karten, ...
â Aber: CRC ist keine kryptographische Hashfunktion! â Andere (sinnvolle) Nachrichten mit selbem CRC-Wert können relativ
einfach erzeugt werden
â Nur Fehlererkennung, keine Fehlerkorrektur möglich
11
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WEP Authentisierungâ Open System Authentication
â Entweder der AP verschlĂŒsselt nicht: Dann keine Authentifizierung, jeder kann den AP nutzen
â Oder bei aktivierter WEP-VerschlĂŒsselung: Wer den SchlĂŒssel kennt, kann Daten ĂŒbertragen
â Shared Key Authentication â 4-Way-Challenge-Response-Protokoll â Basiert auf WEP-VerschlĂŒsselung:
1. STA sendet Authentication Request an AP 2. AP sendet Challenge r im Klartext zurĂŒck 3. STA verschlĂŒsselt r und sendet WEP(r) zurĂŒck 4. AP verifiziert
12
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WEP Zugangskontrolle
â Bei Open System Authentication ohne VerschlĂŒsselung kann jeder senden
â Falls WEP aktiviert ist, kann nur senden, wer KBSS kennt
â Keine individuelle Benutzerauthentifizierung mittels WEP möglich
â Viele APs bieten zusĂ€tzlich MAC-adressbasierte Access Control Listen (ACLs) â Nur bekannte/freigeschaltete MAC Adressen dĂŒrfen senden, aber
â MAC kann einfach mitgelesen werden â MAC kann einfach gefĂ€lscht werden
13
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WEP-SchwĂ€chen: Ăberblick â WEP erfĂŒllt KEINE der Sicherheitsanforderungen:
â Vertraulichkeit: â SchlĂŒsselmanagement und SchlĂŒssel sind ein Problem â WEP ist einfach zu brechen â Jeder der KBSS kennt, kann alle damit verschlĂŒsselten Nachrichten
mitlesen â IntegritĂ€t
â CRC ist kein geeignetes Verfahren zur IntegritĂ€tssicherung bei absichtlicher Manipulation
â Authentisierung â basiert auf WEP
â Zugriffskontrolle â Keine individuelle Authentifizierung, somit generell nur rudimentĂ€re
Zugriffskontrolle möglich
14
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WEP SchwĂ€che: SchlĂŒsselmanagementâ Standard legt kein SchlĂŒsselmanagement fest â âOut-of-Bandâ SchlĂŒsselverteilung erforderlich
â Manuelles SchlĂŒsselmanagement oft fehlerbehaftet â SchlĂŒssel werden sehr selten gewechselt â Oft war per Default in Accesspoints die Open System Authentication ganz
ohne VerschlĂŒsselung aktiviert
â SchlĂŒssellĂ€ngen â WEP-40; 40 Bit SchlĂŒssel (wegen Exportrestriktionen) â WEP-104; 104 Bit SchlĂŒssel
â Vom Benutzer z.B. in Form von 26 Hexziffern einzugeben â Somit mĂŒhsam/fehleranfĂ€llig und deshalb hĂ€ufig sehr einfach gewĂ€hlt
â Aber selbst mit ausreichend langen SchlĂŒsseln wĂ€re WEP nicht sicher
15
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WEP SchwĂ€che: VerschlĂŒsselungâ RC4 ist Stromchiffre, d.h. der selbe Seed sollte nicht
wiederverwendet werden â IV soll dies verhindern â IV wird aber im Klartext mit ĂŒbertragen â 24 Bit fĂŒr den IV sind deutlich zu kurz
â Wiederverwendung des Keystream (bei gleichem IV) â Zwei Klartextnachrichten M1 und M2 mit Plaintext Pi = (Mi|CRCi) â Mit Ciphertext C1 = P1 â RC4(IV1, KBSS) â und C2 = P2 â RC4(IV1, KBSS) gilt: â C1 â C2 = (P1 â RC4(IV1, KBSS)) â (P2 â RC4(IV1, KBSS)) = P1 â P2
â d.h. falls Angreifer M1 und C1 kennt, kann er P2 (somit M2) aus dem mitgehörten C2 berechnen, ohne KBSS zu kennen (Known-Plaintext Angriff)
â Known-Plaintext ist einfach zu erzeugen (Daten von auĂen schicken)
16
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WEP SchwÀche: Traffic Injection
â Known-Plaintext Angriff: Mallet kennt M und C:C = RC4(IV,KBSS) â (M,CRC(M))
â Damit kann Mallet den Key Stream berechnen:RC4(IV,KBSS) = C â (M, CRC(M))
â Absichtliche Wiederverwendung alter IVs möglich:Mallet berechnetCÂŽ= RC4(IV, KBSS) â (MÂŽ,CRC(MÂŽ)) und schickt (IV, CÂŽ) an Bob
â Bob hĂ€lt dies fĂŒr ein gĂŒltiges Paket
â Wissen ĂŒber verwendete höherliegende Protokolle erleichtert auch einen rein passiven Known-Plaintext Angriff: â Protokoll-Header, Adressen, Protokollprimitive sind Teile von M, meist an
festen und bekannten Positionen
17
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WEP SchwĂ€che: IntegritĂ€tssicherung â CRC und RC4 sind linear â Mallet fĂ€ngt Nachricht von Alice an Bob ab: (IV, C) mit
C = RC4(IV, KBSS) â (M, CRC(M)) â Mallet verfĂ€lscht die Nachricht M zu Nachricht X:
â Mallet wĂ€hlt beliebige Nachricht MÂŽ mit derselben LĂ€nge â Mallet sendet Ciphertext CÂŽ = C â (MÂŽ, CRC(MÂŽ)) =
RC4(IV, KBSS) â (M,CRC(M)) â (MÂŽ,CRC(MÂŽ)) = RC4(IV, KBSS) â (M â MÂŽ, CRC(M) â CRC(MÂŽ)) =RC4(IV, KBSS) â (M â MÂŽ, CRC(M â MÂŽ)) = RC4(IV, KBSS) â (X, CRC(X))
â Mallet kennt Inhalt von X nicht, da er M nicht kennt â Aber: Eine â1â an Position n in MÂŽ fĂŒhrt zu gekipptem Bit an
Position n in X; Mallet kann kontrollierte Ănderungen in M durchfĂŒhren. Beispiel: Zieladresse von IP-Paketen Ă€ndern
18
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Weakness in Key Scheduling of RC4â Papier von Fluhrer, Mantin und Shamir; 2001:
â Grosse Zahl unsicherer SchlĂŒssel wurden identifiziert, kleine Zahl von Bits reicht, um die meisten Output-Bits zu berechnen
â SchwĂ€che: IV wird mit KBSS konkateniert; IV im Klartext ĂŒbertragen â KBSS bleibt relativ lange konstant, IV wechselt â Passive Ciphertext-Only Attack:
â Eve muss 4 bis 6 Millionen Pakete mithören â Dies dauert nur wenige Minuten (ggf. Traffic stimulieren) â AbhĂ€ngigkeit von der SchlĂŒssellĂ€nge (40 oder 104 Bit) ist nur linear
â Klein zeigt 2005, dass es stĂ€rkere Korrelationen zwischen Keystream und SchlĂŒssel gibt und verbessert diesen Angriff weiter
19
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Breaking 104-bit WEP in less than 60 seconds
â Artikel von Tews, Weinmann, Pyshkin, TU Darmstadt, 2007 â Aktiver Angriff â Nutzt ARP-Request- und ARP-Reply-Pakete
â Feste LĂ€nge der Pakete â Ăber LĂ€nge der Frames sind die verschlĂŒsselten ARP Pakete erkennbar â Die ersten 16 Byte des ARP Paketes sind vorhersagbar
â 8 Byte LLC Header (AA AA 03 00 00 00 08 06) gefolgt von â 8 Byte ARP Header:
â 00 01 08 00 06 04 00 01 fĂŒr ARP Request â 00 01 08 00 06 04 00 02 fĂŒr ARP Response
â XOR VerknĂŒpfung abgehörter Pakete mit dieser Bytefolge liefert die ersten 16 Byte des Keystream
â Wiedereinspielen abgehörter ARP Requests beschleunigt den Angriff â Erfolgsrate bei nur 40.000 Frames schon > 50 % â Erfolgsrate bei 85.000 Frames rund 95 %
20
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Schlussfolgerung
â WEP ist NICHT sicher
â WEP sollte NICHT verwendet werden
â Der Data Security Standard (DSS) der Payment Card Industry (PCI) verbietet die Nutzung von WEP im Rahmen jeglicher Kreditkarten-Datenverarbeitung seit Juli 2010
21
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WiFi Protected Accessâ WPA zur Verbesserung der Sicherheit eingefĂŒhrt â WEP-Hardware sollte weiter benutzbar bleiben â Vertraulichkeit:
â Temporal Key Integrity Protocol (TKIP) â Rekeying-Mechanismus zum automatischen Wechseln der SchlĂŒssel â Hierarchie von SchlĂŒsseln
â IntegritĂ€tssicherung â TKIP Message Integrity Code - MIC (genannt âMichaelâ);
zur Unterscheidung von MAC (Media Access Control) â Mit SchlĂŒssel parametrisierte kryptographische Hash-Funktion â Verbessert ungeeigneten CRC-Mechanismus von WEP
â Authentisierung â Nach wie vor Möglichkeit fĂŒr Pre-Shared Key (PSK) â Bietet aber auch 802.1X (insb. in groĂen IT-Infrastrukturen genutzt)
22
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Temporal Key Integrity Protocol (TKIP)â TKIP verwendet SchlĂŒsselhierarchie, um kurzlebige
SchlĂŒssel zu erzeugen â Drei Hierarchiestufen (von unten nach oben): 1. TemporĂ€re SchlĂŒssel (Temporal Key, TK)
â In jede Richtung (AP zu STA, STA zu AP) eigene SchlĂŒssel: â zur VerschlĂŒsselung (128 Bit) â zur IntegritĂ€tssicherung (64 Bit)
â Erneuerung des SchlĂŒsselmaterials durch rekey key Nachricht â rekey key Nachricht enthĂ€lt Material, damit STA und AP neue
SitzungsschlĂŒssel ableiten können; Nachricht verschlĂŒsselt mit 2. Pairwise Transient Key (PTK)
â Sichern die Ăbertragung temporĂ€rer SchlĂŒssel â 1 SchlĂŒssel zur Sicherung des SchlĂŒsselmaterials â 1 SchlĂŒssel zur Sicherung der rekey key Nachricht
23
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
TKIP SchlĂŒsselhierarchie
3. Pairwise Master Key (PMK) â Höchster SchlĂŒssel innerhalb der Hierarchie â Erzeugt vom 802.1X Authentication Server und vom AP an STA
weitergereicht â Individuell pro EndgerĂ€t (AP) â Falls 802.1X Setup âzu komplexâ; Preshared Keys möglich (d.h. in der
Praxis: Passwörter) â Master Key wird zur Sicherung der key-encryption Keys genutzt â Damit Aufbau einer Sitzungsstruktur möglich; von der Authentisierung ĂŒber
802.1X bis â Widerruf des SchlĂŒssels â Ablauf des SchlĂŒssels â STA verliert Kontakt zum AP
â Achtung: Kompromittierung des Master Key fĂŒhrt zur Kompromittierung der gesamten Hierarchie!
24
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
TKIP SchlĂŒsselhierarchie Zusammenfassungâ Aus IEEE 802.11i-2004 (geht ĂŒber reines TKIP hinaus) â hier Verwendung von 802.1X
25
!"""#$"%&$"%'()*($"&!+$(#,,"--(,.%'/.0(1$#,2(-",+/!'3("%4#%,"$"%'- -56(789:;;<=988>
,?@AB<CD5(E(988>(!""":(#FF(B<CD5G(BHGHBIH6: !"
!"#"$"%&'()*+),-&.-/&0)-*(*10/
#$%&'()*+),%&-%.&$)%*(*/$.&01)2)3%,&456789:&;*&4567"<=&1;&>%*)?%&,%,,);@7,'%/)A)/&-%.,&A*;B&(&4CDE&(,
>%')/1%>&)@&6)F0*% :8,G&#$%&4CD&,$(22&H%&="I&H)1,G&#$%&'()*+),%&-%.&$)%*(*/$.&1(-%,&(&4CD&(@>&F%@%*(1%,&(
4#DG&#$%&4#D&),&'(*1)1);@%>&)@1;&DJD&(@>&DKDE&(@>&1%B';*(2&-%.,&0,%>&H.&1$%&CLJ&1;&'*;1%/1&0@)/(,1
/;BB0@)/(1);@&H%1+%%@&1$%&L01$%@1)/(1;*M,&(@>&N0''2)/(@1M,&*%,'%/1)?%&N#L,G&4#D,&(*%&0,%>&H%1+%%@&(
,)@F2%&N0''2)/(@1&(@>&(&,)@F2%&L01$%@1)/(1;*G
O$%@&@;1&0,)@F&(&4NDE&1$%&4CD&),&>%*)?%>&A*;B&1$%&LLL&-%.G&#$%&4CD&,$(22&H%&/;B'01%>&(,&1$%&A)*,1
="I H)1,&PH)1,&QR=""S&;A&1$%&LLL&-%.T&4CD&!&UP4#DE&QE&="ISG&O$%@&1$),&>%*)?(1);@&),&0,%>E&1$%&LLL&-%.
B0,1&/;@,),1&;A&(1&2%(,1&="I&H)1,G
#$%&4#D&,$(22&@;1&H%&0,%>&2;@F%*&1$(@&1$%&4CD&2)A%1)B%&(,&>%1%*B)@%>&H.&1$%&B)@)B0B&;A&1$%&4CD&2)A%1)B%
)@>)/(1%>&H.&1$%&LNE&%GFGE&N%,,);@7#)B%;01&V&!"#$%&'#()%*+,-"!&;*&A*;B&1$%&!"#$$./0&1"23-45
*678-3+#-9+& CWX& ?(*)(H2%G&O$%@& 5LYWZN& ),& 0,%>& (@>& 1$%& N%,,);@7#)B%;01& (11*)H01%& ),& @;1& )@& 1$%
5LYWZN&L//%'1& B%,,(F%E& (@>& )A& 1$%& -%.& 2)A%1)B%& ),& @;1& ;1$%*+),%& ,'%/)A)%>E& 1$%@& 1$%& 4CD& 2)A%1)B%& ),
)@A)@)1%G
[\#KN
<]WA& 1$%& '*;1;/;2& H%1+%%@& 1$%&L01$%@1)/(1;*& P;*& L4S& (@>&LN& ),& 5LYWZNE& 1$%@& 1$%&CN7C44K75%/?7D%.& (11*)H01%P?%@>;*7)>&^&<!_&,%%&N%/1);@&=G:G8&)@&WK#6&56J&=":9S&B(.&H%&0,%>&1;&1*(@,';*1&1$%&4CD&1;&1$%&L4G&
=]O$%@& *%(01$%@1)/(1)@F&(@>& /$(@F)@F& 1$%& '()*+),%& -%.E& (& *(/%& /;@>)1);@&B(.&;//0*G& WA& (& A*(B%& ),& *%/%)?%>&+$)2%CUCK7NK#DK`NG*%a0%,1&'*)B)1)?%&),&H%)@F&'*;/%,,%>E&1$%&*%/%)?%>&A*(B%&B(.&H%&>%/*.'1%>&+)1$&;@%&-%.&(@>&1$%&CWJ/$%/-%>&+)1$&(&>)AA%*%@1&-%.G&#+;&';,,)H2%&;'1);@,&1;&(?;)>&1$),&*(/%&/;@>)1);@&(*%&(,&A;22;+,T&1$%&A*(B%&/(@&H%&/$%/-%>(F()@,1&1$%&;2>&CWJ&-%.E&(@>&1$%&*%/%)?%>&A*(B%,&B(.&H%&a0%0%>&+$)2%&1$%&-%.,&(*%&/$(@F%>G
8]WA&1$%&LDC4&),&5N[L74NDE&1$%@&(&="I7H)1&4ND&B(.&H%&/;@A)F0*%>&)@1;&1$%&N#L&(@>&L4&;*&(&'(,,7'$*(,%&B(.&H%/;@A)F0*%>&)@1;&1$%&N0''2)/(@1&;*&L01$%@1)/(1;*G&#$%&B%1$;>&0,%>&1;&/;@A)F0*%&1$%&4ND&),&;01,)>%&1$),&(B%@>B%@1E&H01;@%&B%1$;>&),&?)(&0,%*&)@1%*(/1);@G&WA&(&'(,,7'$*(,%&),&/;@A)F0*%>E&1$%@&(&="I7H)1&-%.&),&>%*)?%>&(@>&0,%>&(,&1$%&4NDG&W@(@.&5N[L74ND&B%1$;>E&1$%&4ND&),&0,%>&>)*%/12.&(,&1$%&4CDG&WB'2%B%@1(1);@,&B(.&,0'';*1&>)AA%*%@1&4ND,&A;*&%(/$'()*&;A&/;BB0@)/(1)@F&N#L,G
2)34*-&56,7'()*+),-&.-/&0)-*(*10/
JK<BL<GH $KG5HB(MHA(1J$M2
JK<BL<GH 'BKNG<HN5(MHA(1J'M2
1O(P<5G2
"#J.0=MHAMHA
,?NQ<BRK5<?NMHA
01J'MS8S;9721M,M2
"#J.0=MHAMHA("NTBA@5<?N
MHA01J'MS;97S;972
1M"M2
'HR@?BKF(MHA'M!J*(01J'MS9U)S9U)2,,$J*(01J'MS9U)S;972
1'M2
J/V= O1J$MS(WJK<BL<GH XHA(HY@KNG<?NZS$<N1##S-J#2([[($KY1##S-J#2([[$<N1#%?NTHS-%?NTH2([[$KY1#%?NTHS-%?NTH22
JK<BL<GH $KG5HB(MHA(1J$M2
JK<BL<GH 'BKNG<HN5(MHA(1J'M2
1O(P<5G2
"#J.0=MHAMHA
,?NQ<BRK5<?NMHA
01J'MS8S;9721M,M2
"#J.0=MHAMHA("NTBA@5<?N
MHA01J'MS;97S;972
1M"M2
'HR@?BKF(MHA'M!J*(01J'MS9U)S9U)2,,$J*(01J'MS9U)S;972
1'M2
J/V= O1J$MS(WJK<BL<GH XHA(HY@KNG<?NZS$<N1##S-J#2([[($KY1##S-J#2([[$<N1#%?NTHS-%?NTH2([[$KY1#%?NTHS-%?NTH22
â PRF Pseudo Random Function
â AA Authenticator Address â SPA Supplicant Address â EAPOL EAP over LAN â KCK Key Confirmation
Key (IntegritĂ€tssicherung) â KEK Key Encryption Key â L(x,0,128) Teilstring ab Bit
0 mit LĂ€nge von 128 â X(x) = L(x,0,512) bei TKIP;
L(x,0,384) bei CCMP
â CCMP ist Bestandteil von WPA2 (spĂ€ter, S. 39) â PRF: Pseudo Random Function zur SchlĂŒsselableitung (vgl. PKCS#5 oder RFC2898
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
TKIP VerschlĂŒsselung: Blockdiagrammâ Aus IEEE 802.1i-2004
26
!"""#$%&'()*++,-)((. /012/&234&5"67080/!623&27"2&3"6907:#
!! 1;<=>,?@$&A&)((.&!"""*&2BB&>,?@$C&>DCD>ED%*
"# $%&'()*+)*,*-.,( ./*(01'(,**"(2,(2(01'(&3(2-"(45!(6*7(2-"(+2,,*,( ./*,*(89./(*2:/(;'<=(.>
01'(?>)(@*-*)2.9>-(>?(./*(&53(A,**(BCDCECF#G(2-"(?>)(*-:)7+.9>-(>?(./*(+H29-.*I.(;'<=G(9-:HJ"9-@
2HH(>)(+2).(>?(./*(;&5G(9?(+)*,*-.C(01'(J,*,(./*(01'(,**"(2,(2(01'("*?2JH.(6*7G(9"*-.9?9*"(K7(2(6*7
9"*-.9?9*)(2,,>:92.*"(89./(./*(.*L+>)2H(6*7C
MN$1O0/*-(./*($P5(,+2:*(9,(*I/2J,.*"G(./*(:/>9:*,(2Q29H2KH*(.>(2-(9L+H*L*-.2.9>-(2)*(.>()*+H2:*(./*(.*LR
+>)2H(6*7(89./(2(-*8(>-*(>)(.>(*-"(:>LLJ-9:2.9>-,C(4*J,*(>?(2-7($P5(Q2HJ*(:>L+)>L9,*,(2H)*2"7(,*-.(.)2??9:C
M>.*(./2.()*.)2-,L9..*"(;'<=,()*J,*(./*($P5(89./>J.(2-7(:>L+)>L9,*(>?(,*:J)9.7C($/*($P5(9,(H2)@*(*->J@/G
/>8*Q*)G(./2.($P5(,+2:*(*I/2J,.9>-(,/>JH"(->.(K*(2-(9,,J*C
&-(S9@J)* !E:G(./*($%&'RL9I*"(.)2-,L9.(2"")*,,(2-"(6*7(A$$T%#("*->.*,(./*(9-.*)L*"92.*(6*7(+)>"J:*"(K7
'/2,*(D(>?(./*($%&'(L9I9-@(?J-:.9>-(A,**(UCECVCW#C
!"#"$"%"$&'()*&+,-./012.3456
$%&'(*-/2-:*,(./*(01'("*:2+,JH2.9>-(+)>:*,,(89./(./*(?>HH>89-@(2""9.9>-2H(,.*+,X
2# Y*?>)*(01'( "*:2+,JH2.*,( 2( )*:*9Q*"(;'<=G( $%&'( *I.)2:.,( ./*( $P5( ,*ZJ*-:*( -JLK*)( 2-"( 6*7
9"*-.9?9*)(?)>L(./*(01'(&3(2-"(./*(*I.*-"*"(&3C($%&'("9,:2)",(2()*:*9Q*"(;'<=(./2.(Q9>H2.*,(./*
,*ZJ*-:9-@()JH*,(A,**(UCECVCF#(2-"(>./*)89,*(J,*,(./*(L9I9-@(?J-:.9>-(.>(:>-,.)J:.(./*(01'(,**"C
K# $%&'()*+)*,*-.,(./*(01'(,**"(2,(2(01'(&3(2-"(45!(6*7(2-"(+2,,*,(./*,*(89./(./*(;'<=(.>(01'
?>)("*:2+,JH2.9>-C
:# &?(01'( 9-"9:2.*,( ./*( &53( :/*:6( ,J::**"*"G( ./*( 9L+H*L*-.2.9>-( )*2,,*LKH*,( ./*(;'<=( 9-.>( 2-
;P<=C( &?( ./*(;P<=( "*?)2@L*-.2.9>-( ,J::**",G( ./*( )*:*9Q*)( Q*)9?9*,( ./*( $%&'(;&5C( &?(;P<=
"*?)2@L*-.2.9>-(?29H,G(./*-(./*(;P<=(9,("9,:2)"*"C
"# $/*(;&5(Q*)9?9:2.9>-(,.*+()*:>L+J.*,(./*(;&5(>Q*)(./*(;P<=(PTG(<TG(')9>)9.7G(2-"(;P<=(<2.2
?9*H",( AKJ.( ->.( ./*($%&'(;&5( ?9*H"#C($/*( :2H:JH2.*"($%&'(;&5( )*,JH.( 9,( ./*-( :>L+2)*"( K9.R89,*
2@29-,.(./*()*:*9Q*"(;&5C
*# &?( ./*( )*:*9Q*"(2-"( ./*( H>:2HH7(:>L+J.*"(;&5(Q2HJ*,(2)*( 9"*-.9:2HG( ./*(Q*)9?9:2.9>-(,J::**",G( 2-"
$%&'(,/2HH("*H9Q*)( ./*(;P<=(.>( ./*(J++*)( H27*)C( &?( ./*( .8>("9??*)G( ./*-( ./*(Q*)9?9:2.9>-(?29H,[( ./*
)*:*9Q*)(,/2HH("9,:2)"(./*(;P<=(2-"(,/2HH(*-@2@*(9-(2++)>+)92.*(:>J-.*)L*2,J)*,C
S9@J)* !E"("*+9:.,(./9,(+)>:*,,C
74819,&:#-;'()*&,6-./012.3456&<25-=&+4.89.>
â TA Transmitter Address â TK Temporal Key â TSC TKIP Sequence Counter â DA Destination Address â SA Source Address
â MSDU MAC Service Data Unit â MPDU Message Protocol Data Unit â TTAK TKIP Mixed Address and Key â MIC Message Integrity Code
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
TKIP VerschlĂŒsselungâ Aus IEEE 802.1i-2004
27
!"""#$%&'()*++,-)((. /012/&234&5"67080/!623&27"2&3"6907:#
!! 1;<=>,?@$&A&)((.&!"""*&2BB&>,?@$C&>DCD>ED%*
"# $%&'()*+)*,*-.,( ./*(01'(,**"(2,(2(01'(&3(2-"(45!(6*7(2-"(+2,,*,( ./*,*(89./(*2:/(;'<=(.>
01'(?>)(@*-*)2.9>-(>?(./*(&53(A,**(BCDCECF#G(2-"(?>)(*-:)7+.9>-(>?(./*(+H29-.*I.(;'<=G(9-:HJ"9-@
2HH(>)(+2).(>?(./*(;&5G(9?(+)*,*-.C(01'(J,*,(./*(01'(,**"(2,(2(01'("*?2JH.(6*7G(9"*-.9?9*"(K7(2(6*7
9"*-.9?9*)(2,,>:92.*"(89./(./*(.*L+>)2H(6*7C
MN$1O0/*-(./*($P5(,+2:*(9,(*I/2J,.*"G(./*(:/>9:*,(2Q29H2KH*(.>(2-(9L+H*L*-.2.9>-(2)*(.>()*+H2:*(./*(.*LR
+>)2H(6*7(89./(2(-*8(>-*(>)(.>(*-"(:>LLJ-9:2.9>-,C(4*J,*(>?(2-7($P5(Q2HJ*(:>L+)>L9,*,(2H)*2"7(,*-.(.)2??9:C
M>.*(./2.()*.)2-,L9..*"(;'<=,()*J,*(./*($P5(89./>J.(2-7(:>L+)>L9,*(>?(,*:J)9.7C($/*($P5(9,(H2)@*(*->J@/G
/>8*Q*)G(./2.($P5(,+2:*(*I/2J,.9>-(,/>JH"(->.(K*(2-(9,,J*C
&-(S9@J)* !E:G(./*($%&'RL9I*"(.)2-,L9.(2"")*,,(2-"(6*7(A$$T%#("*->.*,(./*(9-.*)L*"92.*(6*7(+)>"J:*"(K7
'/2,*(D(>?(./*($%&'(L9I9-@(?J-:.9>-(A,**(UCECVCW#C
!"#"$"%"$&'()*&+,-./012.3456
$%&'(*-/2-:*,(./*(01'("*:2+,JH2.9>-(+)>:*,,(89./(./*(?>HH>89-@(2""9.9>-2H(,.*+,X
2# Y*?>)*(01'( "*:2+,JH2.*,( 2( )*:*9Q*"(;'<=G( $%&'( *I.)2:.,( ./*( $P5( ,*ZJ*-:*( -JLK*)( 2-"( 6*7
9"*-.9?9*)(?)>L(./*(01'(&3(2-"(./*(*I.*-"*"(&3C($%&'("9,:2)",(2()*:*9Q*"(;'<=(./2.(Q9>H2.*,(./*
,*ZJ*-:9-@()JH*,(A,**(UCECVCF#(2-"(>./*)89,*(J,*,(./*(L9I9-@(?J-:.9>-(.>(:>-,.)J:.(./*(01'(,**"C
K# $%&'()*+)*,*-.,(./*(01'(,**"(2,(2(01'(&3(2-"(45!(6*7(2-"(+2,,*,(./*,*(89./(./*(;'<=(.>(01'
?>)("*:2+,JH2.9>-C
:# &?(01'( 9-"9:2.*,( ./*( &53( :/*:6( ,J::**"*"G( ./*( 9L+H*L*-.2.9>-( )*2,,*LKH*,( ./*(;'<=( 9-.>( 2-
;P<=C( &?( ./*(;P<=( "*?)2@L*-.2.9>-( ,J::**",G( ./*( )*:*9Q*)( Q*)9?9*,( ./*( $%&'(;&5C( &?(;P<=
"*?)2@L*-.2.9>-(?29H,G(./*-(./*(;P<=(9,("9,:2)"*"C
"# $/*(;&5(Q*)9?9:2.9>-(,.*+()*:>L+J.*,(./*(;&5(>Q*)(./*(;P<=(PTG(<TG(')9>)9.7G(2-"(;P<=(<2.2
?9*H",( AKJ.( ->.( ./*($%&'(;&5( ?9*H"#C($/*( :2H:JH2.*"($%&'(;&5( )*,JH.( 9,( ./*-( :>L+2)*"( K9.R89,*
2@29-,.(./*()*:*9Q*"(;&5C
*# &?( ./*( )*:*9Q*"(2-"( ./*( H>:2HH7(:>L+J.*"(;&5(Q2HJ*,(2)*( 9"*-.9:2HG( ./*(Q*)9?9:2.9>-(,J::**",G( 2-"
$%&'(,/2HH("*H9Q*)( ./*(;P<=(.>( ./*(J++*)( H27*)C( &?( ./*( .8>("9??*)G( ./*-( ./*(Q*)9?9:2.9>-(?29H,[( ./*
)*:*9Q*)(,/2HH("9,:2)"(./*(;P<=(2-"(,/2HH(*-@2@*(9-(2++)>+)92.*(:>J-.*)L*2,J)*,C
S9@J)* !E"("*+9:.,(./9,(+)>:*,,C
74819,&:#-;'()*&,6-./012.3456&<25-=&+4.89.>
â TA Transmitter Address â TK Temporal Key â TSC TKIP Sequence Counter â DA Destination Address â SA Source Address
â Kein wirklich neues Verfahren; soll nur SchwĂ€chen beseitigen
â Phase 1 Key Mixing â TKIP Mixed Address and Key:
TTAK = Phase1(TA,TK, TSC) â Phase1 ist nichtlineare Funktion
mit XOR-Operationen, bitweiser UND-Operation sowie einer VerkĂŒrzungsfunktion
â TA verhindert, dass zwei STAs denselben SchlĂŒssel erhalten
â TSC als Sequenznummer fĂŒr Nachrichtenblöcke (MPDUs)
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
TKIP VerschlĂŒsselung: Phase 2â Aus [IEEE 802.1i-2004]
28
!"""#$%&'()*++,-)((. /012/&234&5"67080/!623&27"2&3"6907:#
!! 1;<=>,?@$&A&)((.&!"""*&2BB&>,?@$C&>DCD>ED%*
"# $%&'()*+)*,*-.,( ./*(01'(,**"(2,(2(01'(&3(2-"(45!(6*7(2-"(+2,,*,( ./*,*(89./(*2:/(;'<=(.>
01'(?>)(@*-*)2.9>-(>?(./*(&53(A,**(BCDCECF#G(2-"(?>)(*-:)7+.9>-(>?(./*(+H29-.*I.(;'<=G(9-:HJ"9-@
2HH(>)(+2).(>?(./*(;&5G(9?(+)*,*-.C(01'(J,*,(./*(01'(,**"(2,(2(01'("*?2JH.(6*7G(9"*-.9?9*"(K7(2(6*7
9"*-.9?9*)(2,,>:92.*"(89./(./*(.*L+>)2H(6*7C
MN$1O0/*-(./*($P5(,+2:*(9,(*I/2J,.*"G(./*(:/>9:*,(2Q29H2KH*(.>(2-(9L+H*L*-.2.9>-(2)*(.>()*+H2:*(./*(.*LR
+>)2H(6*7(89./(2(-*8(>-*(>)(.>(*-"(:>LLJ-9:2.9>-,C(4*J,*(>?(2-7($P5(Q2HJ*(:>L+)>L9,*,(2H)*2"7(,*-.(.)2??9:C
M>.*(./2.()*.)2-,L9..*"(;'<=,()*J,*(./*($P5(89./>J.(2-7(:>L+)>L9,*(>?(,*:J)9.7C($/*($P5(9,(H2)@*(*->J@/G
/>8*Q*)G(./2.($P5(,+2:*(*I/2J,.9>-(,/>JH"(->.(K*(2-(9,,J*C
&-(S9@J)* !E:G(./*($%&'RL9I*"(.)2-,L9.(2"")*,,(2-"(6*7(A$$T%#("*->.*,(./*(9-.*)L*"92.*(6*7(+)>"J:*"(K7
'/2,*(D(>?(./*($%&'(L9I9-@(?J-:.9>-(A,**(UCECVCW#C
!"#"$"%"$&'()*&+,-./012.3456
$%&'(*-/2-:*,(./*(01'("*:2+,JH2.9>-(+)>:*,,(89./(./*(?>HH>89-@(2""9.9>-2H(,.*+,X
2# Y*?>)*(01'( "*:2+,JH2.*,( 2( )*:*9Q*"(;'<=G( $%&'( *I.)2:.,( ./*( $P5( ,*ZJ*-:*( -JLK*)( 2-"( 6*7
9"*-.9?9*)(?)>L(./*(01'(&3(2-"(./*(*I.*-"*"(&3C($%&'("9,:2)",(2()*:*9Q*"(;'<=(./2.(Q9>H2.*,(./*
,*ZJ*-:9-@()JH*,(A,**(UCECVCF#(2-"(>./*)89,*(J,*,(./*(L9I9-@(?J-:.9>-(.>(:>-,.)J:.(./*(01'(,**"C
K# $%&'()*+)*,*-.,(./*(01'(,**"(2,(2(01'(&3(2-"(45!(6*7(2-"(+2,,*,(./*,*(89./(./*(;'<=(.>(01'
?>)("*:2+,JH2.9>-C
:# &?(01'( 9-"9:2.*,( ./*( &53( :/*:6( ,J::**"*"G( ./*( 9L+H*L*-.2.9>-( )*2,,*LKH*,( ./*(;'<=( 9-.>( 2-
;P<=C( &?( ./*(;P<=( "*?)2@L*-.2.9>-( ,J::**",G( ./*( )*:*9Q*)( Q*)9?9*,( ./*( $%&'(;&5C( &?(;P<=
"*?)2@L*-.2.9>-(?29H,G(./*-(./*(;P<=(9,("9,:2)"*"C
"# $/*(;&5(Q*)9?9:2.9>-(,.*+()*:>L+J.*,(./*(;&5(>Q*)(./*(;P<=(PTG(<TG(')9>)9.7G(2-"(;P<=(<2.2
?9*H",( AKJ.( ->.( ./*($%&'(;&5( ?9*H"#C($/*( :2H:JH2.*"($%&'(;&5( )*,JH.( 9,( ./*-( :>L+2)*"( K9.R89,*
2@29-,.(./*()*:*9Q*"(;&5C
*# &?( ./*( )*:*9Q*"(2-"( ./*( H>:2HH7(:>L+J.*"(;&5(Q2HJ*,(2)*( 9"*-.9:2HG( ./*(Q*)9?9:2.9>-(,J::**",G( 2-"
$%&'(,/2HH("*H9Q*)( ./*(;P<=(.>( ./*(J++*)( H27*)C( &?( ./*( .8>("9??*)G( ./*-( ./*(Q*)9?9:2.9>-(?29H,[( ./*
)*:*9Q*)(,/2HH("9,:2)"(./*(;P<=(2-"(,/2HH(*-@2@*(9-(2++)>+)92.*(:>J-.*)L*2,J)*,C
S9@J)* !E"("*+9:.,(./9,(+)>:*,,C
74819,&:#-;'()*&,6-./012.3456&<25-=&+4.89.>
â TTAK TKIP Mixed Address and Key
â TK Temporal Key â TSC TKIP Sequence
Counter
â Phase 2 Key Mixing â TTAK = Phase1(TA, TK, TSC) â Phase2(TTAK, TK, TSC) â Phase2 ist Feistel-Chiffre: â Einfache Operationen fĂŒr
âschwacheâ AP-Hardware â XOR, UND, ODER, >> â S-Box
â Erzeugt 128 Bit WEP-SchlĂŒssel â 24 Bit Initialisierungsvektor â 104 Bit RC4-SchlĂŒssel
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
TKIP VerschlĂŒsselung: Zusammenfassungâ Aus IEEE 802.1i-2004
29
!"""#$%&'()*++,-)((. /012/&234&5"67080/!623&27"2&3"6907:#
!! 1;<=>,?@$&A&)((.&!"""*&2BB&>,?@$C&>DCD>ED%*
"# $%&'()*+)*,*-.,( ./*(01'(,**"(2,(2(01'(&3(2-"(45!(6*7(2-"(+2,,*,( ./*,*(89./(*2:/(;'<=(.>
01'(?>)(@*-*)2.9>-(>?(./*(&53(A,**(BCDCECF#G(2-"(?>)(*-:)7+.9>-(>?(./*(+H29-.*I.(;'<=G(9-:HJ"9-@
2HH(>)(+2).(>?(./*(;&5G(9?(+)*,*-.C(01'(J,*,(./*(01'(,**"(2,(2(01'("*?2JH.(6*7G(9"*-.9?9*"(K7(2(6*7
9"*-.9?9*)(2,,>:92.*"(89./(./*(.*L+>)2H(6*7C
MN$1O0/*-(./*($P5(,+2:*(9,(*I/2J,.*"G(./*(:/>9:*,(2Q29H2KH*(.>(2-(9L+H*L*-.2.9>-(2)*(.>()*+H2:*(./*(.*LR
+>)2H(6*7(89./(2(-*8(>-*(>)(.>(*-"(:>LLJ-9:2.9>-,C(4*J,*(>?(2-7($P5(Q2HJ*(:>L+)>L9,*,(2H)*2"7(,*-.(.)2??9:C
M>.*(./2.()*.)2-,L9..*"(;'<=,()*J,*(./*($P5(89./>J.(2-7(:>L+)>L9,*(>?(,*:J)9.7C($/*($P5(9,(H2)@*(*->J@/G
/>8*Q*)G(./2.($P5(,+2:*(*I/2J,.9>-(,/>JH"(->.(K*(2-(9,,J*C
&-(S9@J)* !E:G(./*($%&'RL9I*"(.)2-,L9.(2"")*,,(2-"(6*7(A$$T%#("*->.*,(./*(9-.*)L*"92.*(6*7(+)>"J:*"(K7
'/2,*(D(>?(./*($%&'(L9I9-@(?J-:.9>-(A,**(UCECVCW#C
!"#"$"%"$&'()*&+,-./012.3456
$%&'(*-/2-:*,(./*(01'("*:2+,JH2.9>-(+)>:*,,(89./(./*(?>HH>89-@(2""9.9>-2H(,.*+,X
2# Y*?>)*(01'( "*:2+,JH2.*,( 2( )*:*9Q*"(;'<=G( $%&'( *I.)2:.,( ./*( $P5( ,*ZJ*-:*( -JLK*)( 2-"( 6*7
9"*-.9?9*)(?)>L(./*(01'(&3(2-"(./*(*I.*-"*"(&3C($%&'("9,:2)",(2()*:*9Q*"(;'<=(./2.(Q9>H2.*,(./*
,*ZJ*-:9-@()JH*,(A,**(UCECVCF#(2-"(>./*)89,*(J,*,(./*(L9I9-@(?J-:.9>-(.>(:>-,.)J:.(./*(01'(,**"C
K# $%&'()*+)*,*-.,(./*(01'(,**"(2,(2(01'(&3(2-"(45!(6*7(2-"(+2,,*,(./*,*(89./(./*(;'<=(.>(01'
?>)("*:2+,JH2.9>-C
:# &?(01'( 9-"9:2.*,( ./*( &53( :/*:6( ,J::**"*"G( ./*( 9L+H*L*-.2.9>-( )*2,,*LKH*,( ./*(;'<=( 9-.>( 2-
;P<=C( &?( ./*(;P<=( "*?)2@L*-.2.9>-( ,J::**",G( ./*( )*:*9Q*)( Q*)9?9*,( ./*( $%&'(;&5C( &?(;P<=
"*?)2@L*-.2.9>-(?29H,G(./*-(./*(;P<=(9,("9,:2)"*"C
"# $/*(;&5(Q*)9?9:2.9>-(,.*+()*:>L+J.*,(./*(;&5(>Q*)(./*(;P<=(PTG(<TG(')9>)9.7G(2-"(;P<=(<2.2
?9*H",( AKJ.( ->.( ./*($%&'(;&5( ?9*H"#C($/*( :2H:JH2.*"($%&'(;&5( )*,JH.( 9,( ./*-( :>L+2)*"( K9.R89,*
2@29-,.(./*()*:*9Q*"(;&5C
*# &?( ./*( )*:*9Q*"(2-"( ./*( H>:2HH7(:>L+J.*"(;&5(Q2HJ*,(2)*( 9"*-.9:2HG( ./*(Q*)9?9:2.9>-(,J::**",G( 2-"
$%&'(,/2HH("*H9Q*)( ./*(;P<=(.>( ./*(J++*)( H27*)C( &?( ./*( .8>("9??*)G( ./*-( ./*(Q*)9?9:2.9>-(?29H,[( ./*
)*:*9Q*)(,/2HH("9,:2)"(./*(;P<=(2-"(,/2HH(*-@2@*(9-(2++)>+)92.*(:>J-.*)L*2,J)*,C
S9@J)* !E"("*+9:.,(./9,(+)>:*,,C
74819,&:#-;'()*&,6-./012.3456&<25-=&+4.89.>
â FĂŒr jedes Frame (MSDU) wird eigener SchlĂŒssel generiert â Hardware-AbwĂ€rtskompatibilitĂ€t; d.h. Verwendung von
RC4 nach wie vor problematisch
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WPA und TKIP: Sicherheitâ Bei Verwendung von Pre Shared Keys (PSK) hĂ€ngt die
Sicherheit stark von der StĂ€rke des Passworts ab â Angriff mit Rainbow-Tables (seit 2004) â Angriff auf PRF Funktion der SchlĂŒsselverteilung (August
2008) â nutzt GPUs (Graphics Processing Units) anstatt CPUs â Entwickelt auf NVIDIA-CUDA (Compute Unified Device Architecture)
â Compiler und Entwicklungsumgebung â nativer Zugriff auf GPUs auf Grafikkarten â dadurch massive Parallelisierung möglich â damit Speedup von Faktor 30 und mehr möglich â Zeit fĂŒr âRatenâ eines Passwortes reduziert sich auf 2-3 Tage
â Angriff auf TKIP VerschlĂŒsselung (November 2008) â EntschlĂŒsselung von Paketen mit teilweise bekanntem Inhalt ohne
Kenntnis des SchlĂŒssels möglich â SchlĂŒssel ist damit nicht zu brechen
30
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Multi-core architectures â NVIDIA G80
â 128 stream processors â 330 GFlops (todayâs general purpose CPUs have ~10) â 150W â Top of the line graphics hardware (along with the G92)
31
damals
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Einschub: Rainbow-Tablesâ Bei allen Krypto-Angriffen ist Rechenzeit- und
SpeicherplatzkomplexitĂ€t zu betrachten â Rainbow-Tables versuchen, optimalen time-memory
tradeoff zu nutzen, um vollstÀndigen Brute-Force-Angriff zu sparen
â Idee: Optimale Speicherung einer Klartext-zu-Hash Tabelle â Kompakte Speicherung von sog. Chains (Ketten/PW-
Sequenzen) â Kette startet mit initialem Klartext-Wort, dieses wird gehasht â resultierender Hash wird Reduktionsfunktion unterworfen â Reduktionsfunktion liefert weiteres potentielles Klartext-Wort â Dieser Vorgang wird n-mal wiederholt â relevant sind nur erstes Klartext-Wort und letzter Hash-Wert â Vorgang wird einmal fĂŒr alle Wörter eines Wörterbuchs wiederholt â Kollisionen vermeiden: internes Klartext-Wort darf nicht Startwert einer
anderen Kette sein 32
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Einschub: Rainbow Tables; Beispieleâ Trivialfall: Nur 1 Iteration
â Speichert zu jedem Klartext seine Hashsumme â Rainbow-Tabelle wird sehr lang und damit zu groĂ
â 3 Iterationen:
33
Nur erster Klartext und letzter Hash pro Zeile werden gespeichert
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Einschub: Rainbow Tables; Anwendungâ Rainbow-Tabelle mit w EintrĂ€gen und Ketten der LĂ€nge n â MD5 Hash: bca6a2aed3edc8e22f68ed65e39682c6 (âIT-Secâ) â Suche in Tabelle auf rechter Seite. Fallunterscheidung: 1. Hash-Wert gefunden, steht z.B. in Zeile 17
â Kette aus Zeile 17 komplett durchlaufen â (n-1)te Anwendung der Reduktionsfunktion liefert den gesuchten Klartext
2. Hash-Wert steht nicht in Rainbow-Table â Reduktion des Hashes (vereinfachtes Bsp. erste 6 Zeichen): bca6a2 â MD5(bca6a2) liefert 3c41c8c8c5d27647d3f64937a801c90a â Suche diesen Hash in Tabelle
â In der Praxis werden verschiedene Reduktionsfunktionen kombiniert â Ziel: Kollisionen / Wiederholungen vermeiden, um möglichst viele Klartexte
abzudecken
34
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Angriff auf TKIP VerschlĂŒsselungâ Beck, TU Dresden, Tews, TU Darmstadt; publ. 08.11.2008 â Erstes Verfahren, das keine Pre Shared Keys voraussetzt â Basiert auf chop-chop Angriff (bekannt seit 2005) â Funktionsweise:
â Angreifer schneidet Verkehr mit, bis er verschlĂŒsseltes ARP-Paket findet (vgl. Folien âBreaking WEP in less than 60 secondsâ)
â letztes Byte wird entfernt â Annahme: Byte war 0; mit XOR-VerknĂŒpfung mit bestimmten Wert wird
versucht, eine gĂŒltige Checksumme zu erzeugen â Paket wird an STA gesendet:
â Inkorrekt: Paket wird verworfen â Korrekt: Client erzeugt MIC Failure Report Frame; Angreifer muss dann
vor nÀchstem Versuch 60 Sekunden warten, sonst erzwungener Verbindungsabbau
â Worst Case: 256 Tests fĂŒr 1 Byte erforderlich. Praktisch: In 12 Minuten mindestens 12 Byte entschlĂŒsselbar.
35
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
Beck, Tews Angriff (Forts.)â SicherheitsmaĂnahmen von WPA
â Anti-chopchop: zwei falsche MICs in 1 Minute â Verbindungsabbau â TSC (Sequenznummer) verhindert Wiedereinspielen
â GegenmaĂnahmen: â 60 Sekunden warten (vgl. Folie vorher) â Replay nicht an verwendeten, sondern an anderen Sendekanal
â EntschlĂŒsselung des ARP Pakets ermöglicht: â SchlĂŒsselstrom vom AP zu STA und MIC Code können ermittelt werden â Eigene verschlĂŒsselte Pakete können an STA gesendet werden; z.B. zum
Manipulieren von ARP-Paketen â Grenzen des Angriffs
â Rekeying-Intervall muss ausreichend groĂ sein â QoS muss aktiviert sein, sonst stehen keine 8 KanĂ€le zur VerfĂŒgung â nur eine Richtung: AP zu STA
36
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WPA-SchlĂŒssel in der Cloud knacken (12.01.2011)
â Angriff auf WPA-SchlĂŒssel (Pre-Shared Keys) ĂŒber die Elastic Compute Cloud (EC2) Infrastruktur von Amazon
â Prinzipiell nichts Neues, nutzt nun aber die Cluster GPU Instances
â Wörterbuch-Angriff mit 70 Millionen Wörtern; pro Amazon-Maschine rund 50.000 Wörter pro Sekunde
â Alternative z.B. www.wpacracker.com: $17 fĂŒr Wörterbuch-Angriff mit mehr als 250 Millionen Wörtern auf 400 âherkömmlichenâ Amazon CPU Instances
â Details: http://stacksmashing.net/2011/01/12/upcoming-black-hat-talk/
37
© Helmut Reiser, LRZ, WS 16/17 IT-Sicherheit
WPA 2â Empfehlung: Verwendung von WPA 2 anstelle von WPA
â Ănderungen: â AES ersetzt verpflichtend RC4 â CCMP (Counter Mode with Cipher Block Chaining Message Authentication
Code Protocol) als Ersatz fĂŒr TKIP
â Verfahren gilt derzeit als sicher â Verpflichtend fĂŒr GerĂ€te mit Wi-Fi Logo
â Aber: VerschlĂŒsselung schĂŒtzt nicht ewig â Mitgehörte Daten können evtl. spĂ€ter entschlĂŒsselt werden
38