• Keine Ergebnisse gefunden

Kapitel 12: Netzsicherheit - WLAN-Sicherheit (Schicht 2)

N/A
N/A
Protected

Academic year: 2021

Aktie "Kapitel 12: Netzsicherheit - WLAN-Sicherheit (Schicht 2)"

Copied!
41
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Kapitel 12: Netzsicherheit -

WLAN-Sicherheit (Schicht 2)

(2)

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

! WPA 3

(3)

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

Standard Frequenz [GHz] maximaler Durchsatz [Mbit/s]

802.11 2,4 2

802.11a 5 54

802.11b 2,4 11

802.11g 2,4 54

802.11n 2,4 / 5 600

802.11ac (2014

verabschiedet) 5 1,69 Gbit/s (6,77 Gbit/s)

(4)

! Derzeit leistungsfähigste (geplante) Geräte im MWN:

Aruba AP-555

! Dualband-AP, d.h. 2,4 GHz- und 5 GHz-Frequenzband

! Multiuser MIMO

! Durchsatz bei opt. Bedingungen 6 Gbit/s (Marketing bzw.

theoretischer Wert)

! Controller basierte Lösung

Beispiel: MWN

! Nutzungsstatistik installierter Access Points:

http://wlan.lrz.de/apstat/

(5)

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

Distribution System

PowerBook G4

802.x LAN BSS1

BSS2 ESS

Portal

(6)

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

(7)

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

" WiFi Protected Access 3 (WPA3) (2018)

(8)

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

(9)

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

M xor K = C

C xor K = M

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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 (in der Praxis eher nie)

" 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

(16)

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)

(17)

WEP Schwäche: Traffic Injection

! Known-Plaintext Angriff: Mallet kennt M und C:

C = RC4(IV,K

BSS

) ⊕ (M,CRC(M))

! Damit kann Mallet den Key Stream berechnen:

RC4(IV,K

BSS

) = C ⊕ (M, CRC(M))

! Absichtliche Wiederverwendung alter IVs möglich:

Mallet berechnet

C´= RC4(IV, K

BSS

) ⊕ (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

(18)

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, K

BSS

) ⊕ (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

(19)

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

(20)

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 %

(21)

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

(22)

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)

(23)

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

(24)

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!

(25)

© Helmut Reiser, LRZ, WS 19/20 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>

!"#"$"%&'()*+),-&.-/&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;*&%(/$

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=MHA MHA ,?NQ<BRK5<?N

MHA 01J'MS8S;972

1M,M2

"#J.0=MHA MHA("NTBA@5<?N

MHA 01J'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=MHA MHA ,?NQ<BRK5<?N

MHA 01J'MS8S;972

1M,M2

"#J.0=MHA MHA("NTBA@5<?N

MHA 01J'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)

! PRF: Pseudo Random Function zur Schlüsselableitung (vgl. PKCS#5 oder RFC2898

(26)

© Helmut Reiser, LRZ, WS 19/20 IT-Sicherheit

TKIP Verschlüsselung: Blockdiagramm

! Aus IEEE 802.1i-2004

26

!"""

#$%&'()*++,-)((. /012/&234&5"67080/!623&27"2&3"6907:#

"# $%&'()*+)*,*-.,(./*(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

(27)

© Helmut Reiser, LRZ, WS 19/20 IT-Sicherheit

TKIP Verschlüsselung

! Aus IEEE 802.1i-2004

27

!"""

#$%&'()*++,-)((. /012/&234&5"67080/!623&27"2&3"6907:#

"# $%&'()*+)*,*-.,(./*(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)

(28)

© Helmut Reiser, LRZ, WS 19/20 IT-Sicherheit

TKIP Verschlüsselung: Phase 2

! Aus [IEEE 802.1i-2004]

28

!"""

#$%&'()*++,-)((. /012/&234&5"67080/!623&27"2&3"6907:#

"# $%&'()*+)*,*-.,(./*(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

(29)

© Helmut Reiser, LRZ, WS 19/20 IT-Sicherheit

TKIP Verschlüsselung: Zusammenfassung

! Aus IEEE 802.1i-2004

29

!"""

#$%&'()*++,-)((. /012/&234&5"67080/!623&27"2&3"6907:#

"# $%&'()*+)*,*-.,(./*(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

(30)

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

(31)

Multi-core architectures – NVIDIA G80

! 2007/2008

! 128 stream processors

! 330 GFlops (10

9

)

(today’s general purpose CPUs have ~10)

! 150W

! Top of the line graphics hardware (along with the G92)

damals

(32)

NVIDIA A100

! 2020 announcement, Codename Ampere

! 6912 Cores

! 19,5 TFlops (10

12

) (Single Precision) 9,7 TFlops (Double Precision)

! 250 W

(33)

NVIDIA DGX A100

(34)

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

(35)

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:

Nur erster Klartext und letzter Hash pro Zeile werden gespeichert

(36)

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

(37)

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.

(38)

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

(39)

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/

(40)

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

(41)

WPA 3

! Im Juni 2018 als Ergänzung zu WPA 2 standardisiert

! Authentisierung mit Simultanious Authentication of Equals (SAE) - Drageonfly Protokoll; für PreShared Key Netze

"

Sichere Generierung von Sitzungsschlüsseln

"

Schutz vor KRACK

"

Schutz in Mesh Netzen

! Schutz offener und Gast Netze

"

Oportunistic Wireless Encryption Methode (OWE, RFC 8110)

"

Individuelle Verschlüsselung pro Client

"

ohne individuelles Passwort

"

Diffie-Hellman Verfahren zur Erzeugung von PMKs

Referenzen

ÄHNLICHE DOKUMENTE

1 Manchmal ist die Satire direkt, so wenn Butler sagt, die Puritaner landen sich mit Sünden ab, für die sie passioniert seien, verdammten da- gegen andere, für die sie keine

Also haben wir mit probabilistischen Methoden gezeigt, daß (23), (24) f¨ur jede polynomial beschr¨ankte Abbildung ϕ h¨ochstens eine polynomial beschr¨ankte L¨osung besitzt..

 Bei Open System Authentication ohne Verschlüsselung kann jeder senden.  Falls WEP aktiviert ist, kann nur senden, wer K BSS

© Wolfgang Hommel, Helmut Reiser, LRZ, WS 09/10 IT-Sicherheit 1.. Kapitel 9: Netzsicherheit - Schicht 2: Data

 Entweder AP verschlüsselt nicht: Dann keine Authentifizierung, jeder kann AP nutzen.  Oder bei aktivierter WEP-Verschlüsselung: Wer den Schlüssel kennt, kann

 In der initialen Aushandlung kann die Möglichkeit zur Renegotiation deaktiviert werden.  Bereits in vielen Implementierungen

Es sollen unendlich ferne Punkte mit Hilfe von homogene Koordinaten eingef¨ uhrt werden und das Verhalten der Kegelschnitte im Unendlichen diskutiert werden.. Wir betrachten die

[r]