Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Sichere Implementierung

Ähnliche Präsentationen


Präsentation zum Thema: "Sichere Implementierung"—  Präsentation transkript:

1 Sichere Implementierung
Netzwerksicherheit II: Drahtlos

2 Aktuell: http://heise.de/-1629687
Drohne durch GPS-Spoofing ferngesteuert Studenten der University of Texas in Austin unter Leitung von Professor Todd Humphreys haben gezeigt, dass man ein unbemanntes Flugobjekt auf einen neuen Kurs bringen kann, indem man es mit gefälschten GPS-Daten verwirrt. Dass das wirklich funktioniert, und zwar aus einer Entfernung von über einem Kilometer, haben sie dem US-Heimatschutzministerium kürzlich in einem Stadion in White Sands (New Mexico) vorgeführt und mit einem Video dokumentiert. Darin wird die Position eines Modellbauhelikopters, der eigentlich permanent auf der Stelle schweben sollte, mehrmals wie von Geisterhand verschoben. Im kommenden Jahr wollen die Studenten die Vorführung aus einer Entfernung von 10 Kilometern wiederholen. Dr. Wolf Müller

3 Spektrum

4 Standards für drahtlose Netzwerke:
GSM / UMTS 900, 1800, 1900 MHz ≤ 10 km UMTS Pico-Zellen 50m WLAN , 2.4 GHz,  150 m, ≤ 3 km HIPERLAN WiMAX 3.5 GHz, 2.3/2.5 GHz, oder 5 GHz freies Spektrum DECT, MHz in EU, MHz in US, ≤ 300 m Bluetooth 2.4 GHz m (V. 2.0) Sensornetzwerke cm – km range RFID  1-10 m IRDA ….

5 Klassifikation drahtloser Netzwerke
Kommunikationssysteme Mobiltelefonie Drahtlose lokale Netzwerke PAN Zellularer Mobilfunk Mobilfunk Funk IR GSM EDGE GPRS imode UMTS cdma - DECT HiperLAN Wireless ATM HomeRF WLAN, - Bluetooth - IrDA

6 Herausforderungen: Sicherheit drahtlos
Kein physischer Schutz Physische Verbindungen ersetzt durch logische Verbindung Zum Senden und Empfangen von Nachrichten ist kein physischer Zugang zur Netzwerkinfrastruktur nötig (Kabel, Switch, Router, …) Broadcast Kommunikation Mit drahtlos im Allgemeinen Funk gemeint  Broadcast-Natur Jeder im Bereich kann mithören Jeder kann Daten / Pakete / Nachrichten senden, die durch andere Geräte im Sendebereich empfangen werden, die mit anderen Transmissionen in der Nähe interferieren und den korrekten Empfang verhindern (Jamming) Abhören Einschleusen manipulierter / gefälschter Nachrichten ins Netzwerk Wiedereinspielen aufgezeichneter Nachrichten Unberechtigter Zugriff zum Netzwerk und seinen Diensten DoS durch Jamming

7 Anforderungen: Sicherheit drahtlos
Vertraulichkeit Nachrichten über drahtloses Medium müssen verschlüsselt werden. Authentizität Ursprung der drahtlos empfangenen Nachrichten muss überprüft werden. Erkennung von Wiedereinspielungen Frische der drahtlos empfangenen Nachrichten muss überprüft werden. Integrität Veränderung von Nachrichten „on-the-fly“ (während Funkübertragung) nicht einfach, aber möglich. Integrität der drahtlos empfangenen Nachrichten muss überprüft werden. Zugriffskontrolle Zugriff auf Netzwerke und dessen Dienste sollte nur berechtigten Nutzern möglich sein. Andauernde Zugriffskontrolle Nicht ausreichend nur bei Eintritt ins Netzwerk und Herstellung der logischen Verbindung (Assoziierung) Zulässigkeit zu prüfen, da diese Verbindungen übernommen werden können. Schutz vor Jamming (schwer, nur durch Policy, lizenziertes Band)

8 WLAN Standards Standard 802.11 802.11a 802.11b 802.11g 802.11h
frequency 2.4 GHz 5 GHz data rate gross 2 Mb/s 54 Mb/s 5.5 – 11 Mb/s 22 – 54 Mb/s net 32 Mb/s 4 – 6 Mb/s 15 – 19 Mb/s transmission power 100 mW 30 mW 200 mW location (RegTP) indoor in/outdoor compatible to - released 1997 1999 06/2003 09/2003 802.11i RSN, WPA2 (2004) IEEE n – Höherer Durchsatz durch MIMO (multiple input, multiple output antennas) IEEE ac – bis brutto 1 GBit/s, Frequenzband: geplant < 6 GHz

9 Wie sind Netwerke gesichert? WLAN (1)
Sicherheit von WiFi Netzwerken von Beginn an als wichtig erachtet. Frühe Versionen: IEEE Sicherheitsarchitektur: WEP WEP Wired Equivalent Privacy Ziel: Mindestens, so sicher wie LAN. LAN: Angreifer braucht physischen Zugang (abgeschlossener Raum) Drahtlos ist ungeschützt: Einfacher Zugang, schwer zu begrenzen, Broadcast Medium WEP machte Angriffe weniger schwer als erhofft! Automatisierte „cracking-Werkzeuge“ aircrack aircrack-ng Weplab IEEE: Neue Sicherheitsarchitektur für WLAN: i

10 WEP: Zu lösende Probleme
Broadcast-Natur der RF-Kommunikation Abhören, Verschlüsseln der Nachrichten nötig. Keine physische Zugriffskontrolle zum Netzwerk des Access Point (AP) Erfordert Authentifizierung der mobilen Geräte Stations (STA) Challenge-Response (wie GSM) Wenn authentifiziert AP  STA, dann verschlüsselte Nachrichten. Encryption Key ´ Authentication Key Verschlüsselungsalgorithmus: RC4-Stromchiffre Erzeugt langen Pseudozufallsstrom aus einem kurzen Seed. Sender: Nachricht M  K … pseudo random sequence Receiver: M = ( M  K )  K Problem: Immer gleicher Pseudozufallsstrom K. Angreifer fängt 2 Nachrichten ab: M1  K und M2  K XOR liefert: M1  M2 was äquivalent dazu ist, M2 als pseudo Pseudozufallsstrom zu nehmen. M2 ist Klartext, kein Zufall! Schwache Verschlüsselung!

11 WEP: RC4 Verschlüsselungsalgorithmus: RC4-Stromchiffre Lösung:
Erzeugt langen Pseudozufallsstrom aus einem kurzen Seed. Sender: Nachricht M  K … pseudo random sequence Receiver: M = ( M  K )  K Problem: Immer gleicher Pseudozufallsstrom K. Angreifer fängt 2 Nachrichten ab: M1  K und M2  K XOR liefert: M1  M2 was äquivalent dazu ist, M2 als pseudo Pseudozufallsstrom zu nehmen M2 ist Klartext, kein Zufall! Schwache Verschlüsselung! Lösung: WEP hängt IV (Initialisierungsvektor) an geheimen Schlüssel zur Initialisierung des RC4-Algorithmus an, IV’s werden für jede Nachricht gewechselt. Verschiedene PRS für jeden IV. Empfänger benötigt IV zum Entschlüsseln, IV wird im Klartext mit jeder Nachricht mitgeschickt. Prinzipiell kein Problem (IV nicht ausreichend, um M zu entschlüsseln), aber 128-Bit Sicherheit (Hersteller)  104-Bit + 24-Bit IV

12 WEP: Ver-/Entschlüsselung
©

13 WEP: Integrität Sender hängt „integrity check value” (ICV) an Nachricht M an. Können bösartige Modifikationen erkannt werden? ICV = CRC (M) verschlüsselt. Ohne Verschlüsselung würde Angreifer einfach CRC neu berechnen. Angreifer muss geheimen Schlüssel kennen, um CRC (M) zu berechnen.

14 WEP: Key Handling einen Schlüssel pro STA (nur STA und AP bekannt) Schlüsselmanagement kompliziert, wenn jede Station eigenen Schlüssel besitzt. Implementierungen unterstützen diese Option in der Regel nicht! unterstützt Defaultschlüssel (jeder STA und dem AP bekannt) Gedacht für Broadcast-Nachrichten. Die meisten WEP-Implementierungen unterstützen nur diesen Defaultschlüssel! Die meisten WLAN’s nutzen einen einzigen gemeinsamen Schlüssel! Nur Schutz der Kommunikation vor Angreifer von außen. Maskierung, sowie Entschlüsselung von Innen ist leicht möglich!

15 WEP: Designziele (1) (Keines wurde erreicht.)
Authentifizierung Nicht wechselseitig (AP authentifiziert sich nicht gegenüber STA) Gleicher Schlüssel für Authentifizierung und Verschlüsselung verwendet Angreifer kann Schwäche beider ausnutzen STA authentifiziert sich nur einmal (für gesamten Zeitraum) Danach ist „Spoofing (MAC Adresse)“ einfach Angreifer muss gefälschte Nachrichten korrekt verschlüsseln, sonst werden sie vom AP verworfen Oft nutzen alle STA den selben Schlüssel WEP nutzt RC4 im Authentifizierungsprotokoll, um eine zufällige Challenge zu verschlüsseln. Challenge C and Response R = C  K können leicht erhalten werden. Können Pseudozufallssequenz: C  R = C  C K = K berechnen. Anschließend können wir R’ = C’ K, C’ berechnen. IV hilft nicht, da er vom Sender gewählt wird! In Praxis nutzt jede STA den selben Schlüssel. Angreifer kann Identität beliebiger Stationen annehmen!

16 WEP: Designziele (2a) ICV (M’=M  M) Integrität
Verschlüsselte CRC als ICV (M || CRC(M))  K CRC ist linear bezüglich XOR. CRC(X  Y) = CRC(X )  CRC(Y) Angreifer kann WEP-geschützte Nachrichten um M ohne Kenntnis des Schlüssels K verändern! Kann berechnet werden. Abgehört ICV (M’=M  M)

17 WEP: Designziele (2b) Erkennung wiedereingespielter Nachrichten
Vergessen, gibt es nicht! Angreifer kann aufgezeichnete Nachrichten wiedereinspielen, und diese werden vom AP akzeptiert! aircack arp-replay

18 WEP: Design Goals (3) Vertraulichkeit
Stromchiffre mit unterschiedlichen „pseudo-random sequences“ pro Nachricht wird verwendet. WEP: IV (24 bit) ist zu kurz! Nur 17 Millionen verschiedene IV’s. WiFi-Gerät sendet etwa 500 Pakete / s Innerhalb weniger Stunden müssen IV’s erneut verwendet werden.  Wiederholung der Pseudozufallssequenz für Verschlüsselung. Wenn mehrere STA den selben Schlüssel verwenden, geschieht dies auch viel schneller. Einige Implementierungen: IV mit 0 initialisiert, anschließend jeweils um 1 erhöht.  Angreifer braucht nicht zu warten.

19 WEP: Verwendung von RC4 WEP verwendet ungeeignete RC4-Chiffre!
Bekannt: Es gibt schwache RC4-Schlüssel! Solche schwachen Schlüssel als Seed erzeugen einen Output, der nicht zufällig aussieht! (Keine hohe Entropie.) Die ersten durch den Algorithmus generierten Bits lassen einen Rückschluss auf Bits des Seeds zu. Die ersten 256 Bytes von RC4 sollten verworfen werden! Einfach, aber in WEP nicht implementiert. Schwache Schlüssel kommen früher oder später (induziert durch Wechsel des IV) vor. Angreifer kann leicht herausfinden, dass ein schwacher Schlüssel verwendet wird, da der IV im Klartext übertragen wird. Kryptoanalyse: Gesamter 104-bit geheimer Schlüssel durch Mitschneiden von etwa Paketen. [61] R. Chaabouni. Breaking wep faster with statistical analysis. Technical report, LASEC, June 2006. Verwendung automatischer Werkzeuge ist möglich!

20 WEP: Tools WEP Angriffswerkzeuge: Injection tools:
Airsnort: a wireless LAN tool which recovers WEP encryption keys. Uses the well-known FMS attack. aircrack-ng: the new version of the famous aircrack tool after Christine Devine quit the aircrack development. A very fast/advanced WEP cracking program. The included aireplay tool allows to reinject traffic (similar to reinj for *BSD from h1kari). Aircrack now also implements the very efficient statistical attack from KoreK.  WepAttack: a WLAN open source Linux tool for breaking WEP keys with a dictionary attack. Supports different modes for ASCII mapping and hashed password generation in APs. WepLab: a tool to review the security of WEP encryption in wireless networks. Implements many different attacks like FMS, improved FMS and the new statistical KoreK attack. Injection tools: WEPWedgie: a toolkit for determining WEP keystreams and injecting traffic with known keystreams libwlan: a tool for frame injection which uses the hostap driver. airpwn: a platform for injection of application layer data on a b network Airjack: a Linux device driver API for cards which supports raw traffic injection.  This currently only works with linux kernels 2.4. The Wi-Foo Team ported the driver for Linux Kernel 2.6 Fluhrer, Mantin and Shamir attack, 2001

21 Wie sind Netzwerke gesichert? WLAN (2)
Schwachstellen in WEP → Neue Sicherheitsarchitektur für WLAN. Konzept: „RSN (Robust Security Network)” Sorgfältigeres Design. Enthält neue Methode zur Authentifizierung und Zugriffskontrolle auf Basis des 802.1X Standards. Schutz von Integrität und Vertraulichkeit durch AES (Advanced Encryption Standard) Problem: Migration von WEP => RSN Verschlüsselung in Hardware, nicht ausreichend den Treiber und Firmware zu modifizieren. IEEE: optionales Protocol in i: RC4-Chiffre aber mit Vermeidung der Schwächen von WEP. = TKIP (Temporary Key Integrity Protocol) Unmittelbarer Übergang möglich, Hersteller warteten nicht bis zur Fertigstellung von i. WPA (WiFi Protected Access): Spezifikation der Hersteller basierend auf TKIP. Teilmenge von RSN. Läuft auf bestehender Hardware. RSN wird von Herstellern WPA2 genannt. Unterschiede im Mechanismus, der für Integrität und Vertraulichkeit verwendet wird.

22 802.11i: Authentifizierung & Zugriffskontrolle (1)
Basiert auf 802.1X Standard (Drahtgebundenes LAN) Supplicant (Mobiles Gerät) Will sich mit Netzwerk verbinden, authentifiziert sich selbst. Authentifikator (AP) Kontrolliert Zugang zum Netzwerk (Modell: Öffnen/Schließen von Ports). Default-Zustand: geschlossen. Port wird geöffnet, wenn Autorisierung durch Authentifizierungsserver erfolgt ist. Authentifizierungsserver (Prozeß) Supplicant authentifiziert sich tatsächlich gegenüber dem Authentifizierungsserver. Server gestattet / verweigert Zugriff, indem er den Authentifikator anweist, einen Port zu öffnen oder auch nicht. Authentifizierungsserver kann auf AP laufen für kleine Netzwerke.

23 802.11i: Authentifizierung & Zugriffskontrolle (2)
Drahtgebundenes LAN: Gerät authentifiziert sich selbst einmal, wenn es (physisch) mit Netzwerk verbunden wird. Kein Bedarf für wiederholte Authentifizierung. Eingesteckter Port kann durch keinen Anderen verwendet werden. Trennung von diesem Port wird von Hardware des Authentifikators erkannt, der sofort den Port schließt. WiFi: Keine physische Verbindung zwischen STA ↔AP Wenn STA sich authentifiziert und mit AP assoziiert, kann Angreifer versuchen, die Session zu übernehmen, indem er die MAC-Adresse fälscht. 802.11i erweitert 802.X um das Setup eines Sitzungsschlüssels zwischen STA ↔ AP Session-Key wird verwendet, um weitere Kommunikation zwischen STA ↔ AP zu authentifizieren. Unterschiedlich für verschiedene STA.

24 802.11i: Authentifizierung & Zugriffskontrolle (3)
802.11i verwendet EAP (Extensible Authentication Protokoll) EAP ist Nachrichtenträger zwischen STA ↔ Authentifizierungsserver. EAP Nachrichten werden in höher Protokollschicht spezifiziert. Beispiele: TLS Handshake GSM Authentifizierungsprotokoll CHAP 4 Nachrichtentypen: Request, Response (STA ↔ Authentifizierungsserver) Success, Failure (Ergebnis der Authentifizierung) AP leitet Nachrichten ohne Interpretierung weiter. AP versteht nur Success- / Failure-Nachrichten Success → „Lasse STA sich verbinden“ EAP Nachrichten STA ↔ AP: EAPOL (EAP over LAN) definiert in 802.1X. EAP Nachrichten AP ↔ Authentifizierungsserver: Verschiedene Protokolle möglich. WPA: empfiehlt Verwendung von RADIUS. RSN: RADIUS eine Möglichkeit.

25 802.11i: Authentifizierung & Zugriffskontrolle (4)
Authentifizierung zwischen mobilem Gerät und Authentifizierungsserver → Sitzungsschlüssel Wie wird dieser sicher zum AP übertragen? RADIUS: MS-MPPE-Rec-Key RADIUS Attribut (verschlüsselt) Erfordert “long term secret” zwischen AP ↔ Authentifizierungsserver Manuell installiert.

26 802.11i: Key Management (1) Session Key STA ↔ AP (während Authentifizierung etabliert) „Pair-wise Master Key“ (PMK) genannt. Wird nicht direkt für Verschlüsselung oder Integritätsschutz verwandt. STA, AP leiten 4 Schlüssel aus PMK ab Data Encryption Key Data Integrity Key Key Encryption Key Key Integrity Key AES-CCMP verwendet gleichen Schlüssel für Verschlüsselung und Integrität. → PTK besteht nur aus 3 Schlüsseln. PTK= PTK (PMK, MAC(STA), MAC(AP), RAND(STA), RAND(AP)) STA ↔ AP übermitteln ihre Zufallszahlen während 4-Wege Handshake Protokoll. Pair-wiseTransient Key (PTK)

27 802.11i: Key Management (2) 4-Wege Handshake Protokoll
Führt Beweis, dass jede Partei PMK kennt. Transportiert durch EAPOL. AP → STA: RAND(AP) STA hat nun alle Informationen für PTK. STA → AP: RAND(STA), MIC MIC … Message Integrity Code, mit Hilfe von Key-Integrity Key von PTK. AP hat jetzt nötige Informationen zur Berechnung von PTK. AP prüft MIC mit Key-Integrity Key. Wenn OK, AP weiß, dass STA PMK besitzt. AP → STA: Nachricht mit MIC. STA überprüft MIC, weiß dann, dass AP ebenfalls PMK kennt. Nachrichten enthalten Sequenznummern (werden für weitere Datenpakete benutzt.) Erkennung von „Replay“-Angriffen. Implizite Signalisierung: AP hat Schlüssel installiert. STA → AP: Ack. der 3. Nachricht, STA bereit für Verschlüsselung.

28 802.11i: Key Management (3) Wenn PTK installiert, können Datenpakete zwischen einer STA ↔ AP Verschlüsselt und Integrität geschützt werden. Schutz von Broadcast AP erzeugt Group Transient Key (GTK). Einzeln an jeden Knoten verschickt. Verschlüsselt mit Key Encryption Key.

29 802.11i: TKIP / AES-CCMP TKIP und AES-CCMP
TKIP … Temporary Key Integrity Protocol AES-CCMP … AES-CTR Mode und CBC-MAC Protocol Data-Encryption und Data-Integrity Keys (von PTK) schützen: Vertraulichkeit Integrität der Datenpakete Unterschied: kryptographische Algorithmen TKIP: RC4 Verschieden von WEP, mehr Sicherheit. Auf „Legacy Hardware“ lauffähig nach Firmware-Upgrade. AES-CCMP Erfordert neue Hardware (die AES unterstützt.) Klarere, robustere Lösung als TKIP.

30 802.11i: TKIP verbessert WEP Integrität
Neuer Integritätsschutz-Mechanismus Michael. Michael arbeitet auf SDU Level (Service Data Unit) Operiert auf Daten, die durch MAC-Layer von höheren Schichten empfangen wurden. Vor Fragmentierung der Daten. Können im Device-Treiber implementiert werden (Softwareupgrade). Erkennung von Replay-Angriffen: TKIP verwendet IV Sequenznummer Wird mit irgendeinem Wert initialisiert. Erhöht nach jeder Nachrichtenübertragung. Empfänger merkt sich kürzlich erhaltene Nachrichten: IV ≤ min_stored_IV: Verwerfen der Nachricht. IV > max_stored_IV: max_stored_IV=IV; Akzeptieren else if ( IV already stored ? ): Verwerfen, else Akzeptieren; store new IV

31 802.11i: TKIP verbessert WEP Vertraulichkeit
WEP: Hauptproblem: IV-Größe zu gering, schwache RC4-Schlüssel. TKIP IV Größe 24 Bit → 48 Bit Hardware erwartet immer noch 128-Bit RC4-Seed. Kompression 48-Bit IV +104-Bit Key → 128 Bits. Damit Angreifer nicht genügend Nachrichten verschlüsselt mit einem (möglicher Weise schwachen Schlüssel) beobachten kann: Wird jede Nachricht mit verschiedenem Schlüssel verschickt. Nachrichten Schlüssel aus Data-Encryption Key von PTK erzeugt. ©

32 802.11i: TKIP / AES-CCMP Design in AES-CCMP einfacher.
RC4 → AES Blockchiffre. Neuer Modus CCM: Kombination aus: CTR (Counter) Mode Verschlüsselung CBC-MAC (Cipher Block Chaining – Message Authentication) Sender berechnet CBC-MAC(Nachricht) und verschlüsselt alles (Nachricht+MAC) im CTR Modus. CBC-MAC umfasst auch Header der Nachricht. Verschlüsslung wird nur auf Nachrichten-Body angewendet. CCM garantiert Vertraulichkeit und Integrität. Erkennung von Replay durch Sequenznummern, die in CBC-MAC integriert sind, dadurch, dass sie im Initialisierungsblock platziert werden.

33 Block Operation Modes: CBC
Cipher Block Chaining (CBC) ci=BA(mici-1), mi=BA-1(ci)ci-1, c0=IV Sender: Verschlüsselung Empfänger: Entschlüsselung m1 m1 c1 c2 IV BA-1 BA-1 k k BA BA k k IV c1 c1 m1 m2

34 CTR Mode (1) Verschlüsselung: EK t1 c1 x1 t2 c2 x2 t3 c3 x3 tm-1 cm-1
xm-1 tm cm xm Zähler cj:=EK(tj) xj  j>0. Entschlüsselung: EK t1 x1 c1 t2 x2 c2 t3 x3 c3 tm-1 xm-1 cm-1 tm xm cm Zähler xj:=DK(tj) cj j>0.

35 CTR Mode (2) Anforderungen für Sicherheit:
Counter t1, t2, t3, … müssen alle über gesamte Lebenszeit des Schlüssels K verschieden sein. Verschlüsselungsberechnung: Komplett paralellisierbar; Kein Zugriff zum Klartext nötig. Vorausberechnung möglich. Zugriff auf t1, t2, t3, … für Berechnung nötig. Entschlüsselung: Siehe Verschlüsselung. Nachrichtengröße Keine Erweiterung, kein Padding nötig! (Chiffretext kann auf Länge des Klartexts gekürzt werden). Implementierung Nur eine Verschlüsselungsfunktion EK muss implementiert werden. cj:=EK(tj) xj  j>0. xj:=DK(tj) cj j>0.

36 WLAN: Öffentliche Hotspots (1)
RADIUS Server RADIUS Protokoll universal access method Mobiles Gerät Access Point Access Point Controller Internet

37 WLAN: Öffentliche Hotspots (2)
Bis jetzt „Corporate Environment“, Unterschiede: Nutzer an öffentlichen Hotspots gehören nicht zu gemeinsamer Gruppe. Kein Vertrauen zwischen Nutzern. Operator nicht vertrauenswürdig. Sicherheit auf Basis von Gruppenschlüsseln ungeeignet!  Kein WEP! Keine Langzeitbeziehung zu Operator des Hotspots. Keine Secret Keys. Netzwerk hinter WLAN ist potentiell unsicher. Nicht nur der drahtlose WiFi-Kanal muss geschützt werden. Benutzen Sie Sicherheitsdienste höherer Schichten! VPN, TLS, SSH, HTTPS … Passwort basierte Authentifikation: AP in „Open Mode“ Jeder kann sich verbinden, bekommt IP-Adresse. APs routen jedes Paket zu speziellem Gateway „hot spot controller” HTTP(S) redirect zu Loginseite …, Nach erfolgreichem Login  IP auf Whitelist. Hotspot Controller kümmert sich um Abrechnung (Verbindungszeit, Verkehr) Spoofing ??

38 GSM Hauptanforderungen Weitere Sicherheitsdienste von GSM
Subscriber Authentifizierung (für Abrechnung) Challenge-Response Protokoll „long-term secret“ Shared Key zwischen Teilnehmer und Heimatnetzwerk-Operator Unterstützt Roaming ohne „long-term secret“ gegenüber besuchten Netzen offenzulegen. Weitere Sicherheitsdienste von GSM Vertraulichkeit der Kommunikation und Signalisierung über drahtloses Interface. Schlüssel für Verschlüsselung zwischen Teilnehmer und besuchtem Netzwerk wird mit Hilfe des Heimatnetzwerks als Bestandteil des Subscriber-Authentifizierungsprotokolls vereinbart. Schutz der Identität des Teilnehmers vor Abhören auf dem drahtlosen Interface. Verwendung von „short-term“ temporären Identifikatoren.

39 SIM-Karte (Subscriber Identity Module)
Muss tamper-resistent sein. Geschützt durch PIN (lokal durch SIM überprüft.) Kann vom Gerät (Terminal) entnommen werden. Enthält alle für den Teilnehmer spezifischen Daten, die im mobilen Gerät aufbewahrt werden müssen. IMSI: International Mobile Subscriber Identity (permanente UserID) PIN TMSI (Temporary Mobile Subscriber Identity) Ki : geheimer Schlüssel des Nutzers Kc : Ciphering Key Liste der letzen Call-Versuche. Liste von bevorzugten Operatoren. Zusätzliche Servicedaten (Wahlabkürzungen +49, letzte SMS ...)

40 GSM: Kryptografische Algorithmen
Zufallszahl Geheimer Schlüssel des Nutzers R Ki A3 A8 R S Kc Triplet Authentifizierung A5 Verschlüsselungsalgorithmus Kc: ciphering key S : signed result A3: Subscriber authentication (Operator-abhängiger Algorithmus) A5: ciphering/deciphering (Standardisierter Algorithmus) A8: cipher generation (Operator-abhängiger Algorithmus)

41 GSM: Authentifizierung eines Prinzipals
Mobile Station Visited Network Home Network IMSI/TMSI Ki R IMSI (or TMSI) A A3 IMSI Kc S Triplets (Kc, R, S) Triplets Authentifiziere (R) A A3 Ki R Kc S’ Auth-ack(S’) S=S’?

42 GSM: Verschlüsselung   Sender Empfänger (Mobiltelefon oder Netzwerk)
Kc Paketnummer Kc Paketnummer A5 A5 Verschlüsselungs- sequenz Verschlüsselungs- sequenz Klartext- sequenz Chiffretext- sequenz Klartext- sequenz Sender (Mobiltelefon oder Netzwerk) Empfänger (Netzwerk oder Mobiltelefon)

43 durch Addition 10 zero Bits
GSM: Chiffren (1) A3 (Authentifizierung) und A8 (Schlüsselerzeugung) können geheim zwischen Home-Netzwerkoperator und SIM-Karte sein. Oft COMP-128 Algorithmus verwendet. Probleme: CK zu klein, zu lange gültig. Brute Force Kurze effektive Schlüssellänge 54 Bit “known plaintext” Angriff O(218), basierend auf einseitiger Authentifizierung und physischem Zugriff auf SIM (Lesegerät) RAND-Queries ausreichend, um K zu ermitteln. (Statistische Kryptoanalyse) 8 h IBM 2002: Seitenkanalangriff Physischer Zugriff, Messung der Strom-Spannungscharakteristik Tabellenbasierte Implementierung des COMP-128 7 Berechnungen in der Regel ausreichend, 2 min Kopieren der SIM-Karte möglich GSM verhindert gleichzeitige Nutzung zweier SIM-Karten mit gleicher IMSI. Kein Schutz vor passiven Angriffen. RAND K COMP-128 128-Bit Output SRES CK unused 32 Bit 54 Bit 42 Bit Erweitert auf 64 Bit durch Addition 10 zero Bits 64 Bit

44 GSM: Ciphers (2) A5 Stromchiffre
A5 Algorithmus war offiziell geheim, aber kam an Öffentlichkeit. Verschiedene Implementierungen: A5/1 sollte starke Verschlüsselung für Sprachkanal gewährleisten. A5/2 und A5/3 schwächere Varianten für Nutzung außerhalb Europas. A5/0 überhaupt keine Verschlüsselung. Nur einige Mobiltelefone zeigen die Nutzung dieser „Chiffre“ an! Visited Network bestimmt, welche Chiffre benutzt wird. Ursprüngliche Form des Algorithmus war kryptografisch schwach O(240). 2002 neue Version für A5/3 auf KASUMI basierend Öffentlich, gut getestet, stark. Keine Ende-zu-Endeverschlüsselung, Daten offen für Basisstation! Harald Welte:

45 GSM: IMSI-Catcher Fähig IMSI zu lesen.
Lokalisierung des Mobiltelefons in einer Funkzelle. Modell eines IMSI-Catchers (GA 900) Firma Rohde & Schwarz. Ca € Abhören des Sprachkanals. Wie arbeitest IMSI-Catcher? IMSI-Catcher simuliert Basisstation gegenüber Mobiltelefon. Alle Mobiltelefone verbinden sich zu Basisstation mit höchster Signalstärke. Daten aller Mobiltelefone in der Nähe werden eingefangen. = Klassischer man-in-the-middle Angriff Problem: Fehlende Authentifizierung der Basisstation gegenüber Teilnehmer. Abwehr: Ende-zu-Ende Verschlüsselung des Sprachkanals

46 GSM-Sicherheit: Fazit
Zielt ab auf Schutz der Übertragung durch die Luft. Kein Schutz des drahtgebundenen Netzwerks Weder Schutz der Privatsphäre noch Vertraulichkeit. „Visited Network“ hat Zugriff auf alle Daten (außer dem geheimen Schlüssel des Teilnehmers). Im Allgemeinen robust, aber einige erfolgreiche Angriffe, veraltet: Gefälschte Basisstationen. Kopierte SIM-Karten. OpenBSC OsmocomBB

47 3G: Sicherheitsprinzipien (1)
Wiederverwendung der Prinzipien der 2. Generation (GSM): Entnehmbares Sicherheitsmodul in Hardware. GSM: SIM-Karte 3GPP: USIM (User Services Identity Module) Verschlüsselung des Radio Interfaces. Begrenztes Vertrauen in „Visited Network“. Schutz der Identität des Nutzers (insbesondere im drahtlosen Medium). Korrektur folgender Schwachstellen der 2. Generation: Mögliche Angriffe durch gefälschte Basisstationen. Verschlüsselungsschlüssel werden im Klartext innerhalb und zwischen Netzwerken transportiert. Verzicht auf Verschlüsselung in Netzwerken  Vorbereitung von Betrug. Keine Integrität.

48 3G: Sicherheitsprinzipien (2)
Neue Sicherheitsfeatures: Neue Art von Dienstanbietern Anbieteren von Content, Excklusiv HLR-Anbieter (Home Location Register)) Mehr Kontrolle der Nutzer über ihr Serviceprofil. Widerstandsfähiger gegen aktive Angriffe. Größere Bedeutung von Datendiensten. Problem: Störung auf Funkkanal: 3G  GSM

49 3G: Authentifizierung Mobiltelefon Visited Network Home Environment
Sequenznummer SQN RAND(i) Erzeugung des Kryptografischen Materials K (secret key) Authentifizierungsrequest (des Nutzers) IMSI/TMSI Authentifizierungs- vektoren K RAND(i)||AUTN(i) Prüfe AUTN(i) Berechne RES(i) Authentication vectors are sent in batches by the HE to VN. Hence, unlike in the Lin-Harn protocol, here the visited NW knows the cryptographic material before it is made available to the MS (same problems as the triplets in GSM). Authentifizierungsantwort (des Nutzers) Vergleich RES(i) mit XRES(i) K Berechne CK(i) und IK(i) Wähle CK(i) und IK(i)

50 Erzeugung der Authentifizierungsvektoren
Erzeuge SQN Erzeuge RAND AMF K f1 f2 f3 f4 f5 MAC (Message Authentication Code) XRES (Expected Result) CK (Cipher Key) IK (Integrity Key) AK (Anonymity Key) Examples of usage of AMF: Support multiple authentication algorithms and keys Setting threshold values to restrict the lifetime of CK and IK AV is also called a “quintet” AMF: Authentication und Key Management Field AUTN: Authentication Token AV: Authentication Vector

51 Authentifizierung & Schlüsselerzeugung
Zusätzlich zu f1, f2, f3, f4 und f5, sind 2 weitere Funktionen f1* und f5* definiert, die verwendet werden, wenn Authentifizierungsprozedur desynchronisiert (SQN nicht im richtigen Bereich) ist. f1, f1*, f2, f3, f4, f5 und f5*sind operatorspezifisch. 3GPP stellt definierten Satz von Algorithmen „MILENAGE“ zur Verfügung. MILENAGE basiert auf Rijndael-Blockchiffre, Erzeugung aller Funktionen f1…f5* basiert auf Rijndael Algorithmus.

52 Authentifizierungs- und Schlüsselerzeugungsfunktionen f1…f5*
RAND OP EK OPc SQN||AMF OPc EK OPc OPc OPc OPc OPc rotieren um r1 rotieren um r2 rotieren um r3 rotieren um r4 rotieren um r5 c1 c2 c3 c4 c5 EK EK EK EK EK OPc OPc OPc OPc OPc f1 f1* f5 f2 f3 f4 f5* OP: operatorspezifischer Parameter r1,…, r5: feste Rotationskonstanten c1,…, c5: feste Additionskonstanten EK: Rijndael-Blockchiffre mit 128 Bit Blockgröße und 128 Bit Schlüssel

53 Methode zum Schutz der Integrität der Signalisierung
Signalisierungsnachricht Signalisierungsnachricht Nonce Nonce Zähler-I Richtung Zähler-I Richtung IK f9 IK f9 MAC-I XMAC-I This aims at protecting the integrity of the SIGNALLING messages Empfänger (Radio Network Controller oder Mobiltelefon) Sender (Mobiltelefon oder Radio Network Controller)

54 Schlüsselstromerzeugung f8 (Counter-Mode)
COUNT || TRÄGER || DIRECTION || 0…0 KM: Key Modifier KS: Keystream KASUMI CK KM Register BLKCNT=0 BLKCNT=1 BLKCNT=2 BLKCNT=BLOCKS-1 KASUMI KASUMI KASUMI KASUMI KASUMI KASUMI KASUMI KASUMI CK CK CK CK

55 Kasumi: Details <<< <<< <<<
KLi, KOi , KIi : Unterschlüssel der Runde i S7, S9: S-Boxen L0 32 R0 32 64 16 32 16 16 9 7 KL1 KO1 , KI1 FIi1 KOi,1 S9 FL1 FO1 KIi,1 Zero-extend KO2 , KI2 KL2 FO2 FL2 S7 FIi2 KOi,2 truncate KL3 KO3 , KI3 KIi,j,2 KIi,2 KIi,j,1 FL3 FO3 KO4, KI4 KL4 S9 FO4 FL4 FIi3 KOi,3 Zero-extend KIi,3 KL5 KO5 , KI5 FL5 FO5 S7 truncate KO6 , KI6 KL6 FO6 FL6 KL7 KO7 , KI7 Abb. 2 : FO Funktion Abb. 3 : FI Funktion FL7 FO7 32 16 16 KO8 , KI8 KL8 KLi,1 <<< FO8 FL8 KLi,2 Bitweise UND Operation <<< Bitweise ODER Operation L8 C Abb. 1 : KASUMI R8 <<< Rotation 1 Bit nach links Abb. 4 : FL Funktion

56 3G: Sicherheit: Fazit Einige Verbesserungen gegenüber 2. Generation
Kryptografische Algorithmen veröffentlicht. Integrität der Nachrichten geschützt. Relativ konservative Lösung. Privatsphäre / Anonymität des Nutzers nicht komplett geschützt.

57 Absicherung drahtloser Netze? Bluetooth (1)
„short range“ digitale Funkkommunikation Normale Geräte etwa 10m Version m PAN = personal area network Ziel: Drähte zu Geräten in naher Umgebung ersetzen. Mobile Phone ↔ Headset, Laptop ↔ Mouse, … Bluetooth Netzwerke = Piconets Master-Slave Prinzip Ein Master kann bis zu 7 andere aktive Stationen (Slaves) haben. BT Spezifikation definiert Sicherheitsarchitektur, die Authentifizierung, Vertraulichkeit durch Kryptografie realisieren soll.

58 Bluetooth (2) Hürden für Angreifer Bluetooth Sicherheitsarchitektur
Frequenzhopping, um Interferenz mit ISM Band zu vermeiden. 79 Kanäle 1600 Hops pro Minute In pseudo-zufälliger Weise Abhören ist etwas aufwändiger. Kleiner Kommunikationsbereich (einige Meter) Bluetooth Sicherheitsarchitektur Um Link zwischen zwei Bluetooth-Geräten aufzubauen: Gegenseitige Authentifizierung. Setup eines vertraulichen Kanals.

59 Bluetooth (3) Verbindungsschlüssel „link key“
Setzen temporären Initialisierungsschlüssel Kinit Ein Gerät wählt Zufallszahl IN_RAND. Sendet diese zum anderen Gerät. Beide Geräte berechnen: Kinit ( IN_RAND, shared PIN, L Länge der PIN) L Länge der PIN von 1 – 16 Bytes PIN: 4 stellige Zahl Default 0000. Sharing der PIN: Beide Geräte haben Input: (freie Wahl, zufällig) Nur eines hat Input → Verwendung einer Vorkonfigurierten PIN Kein Input → Kein Pairing.

60 Bluetooth (4) Temporärer Initialisierungsschlüssel
©

61 Bluetooth (5) Wenn ein Gerät A Speicherbeschränkungen hat (kann nur einen Schlüssel speichern): A sendet „long-term unit key“ KA zu Gerät B Verschlüsselt mit Kinit. B entschlüsselt KA , KA → link key. Keine Speicherbeschränkung A, B wählen Zufallszahlen RANDA , RANDB. A berechnet LK_KA ( RANDA, BD_ADDRA eindeutige Geräteadresse) B berechnet genauso LK_KB. A, B tauschen RANDA , RANDB verschlüsselt mit Kinit aus. A berechnet LK_KB , B berechnet LK_KA. LK_KA  LK_KB wird Link Key.

62 Bluetooth (6) Link Key LK_KA  LK_KB ©

63 Bluetooth (7) Gegenseitige Authentifizierung
Einfaches Challenge-Response Protokoll (A, B)=(claimant, verifier) if Erfolg SRES=SRES’: (B, A)=(claimant, verifier) Wenn Protokoll fehlschlägt, wartet überprüfendes Gerät einige Zeit Wartezeit wächst exponentiell mit jedem Fehlversuch. Beugt Brutforce-Angriff vor. ©

64 Bluetooth (8) Verschlüsselung der Daten
Erzeugung des Schlüssels für Verschlüsselung Kenc wird in beiden Geräten berechnet als Funktion von: Link Key Klink Authenticated Cipher Offset ACO erzeugt im Authentifizierungsprotokoll Zufallszahl EN_RAND generiert vom Master-Gerät Verschlüsselung: Stromchiffre E0 in der Bluetooth-Spezifikation Basiert auf SAFER+ Algorithmus Neben Kenc , gehen eindeutige Geräteadresse BD_ADDRmaster, und Clock-Wert CLOCKmaster des Master-Geräts in den E0-Algorithmus ein.

65 Bluetooth (9) Verschlüsselung ©

66 Bluetooth (10) Probleme Stärke des System beruht völlig auf der Stärke der PIN. 10000 Möglichkeiten. Ausreichend, einen einzigen Protokolldurchlauf abzuhören. Für jede PIN’ berechnet Angreifer K’init und K’link, mit den abgehörten Zufallszahlen. Jedes geratene K’link, wird getestet mit Hilfe des Challenge-Response Paars des abgehörten Authentifizierungsprotokolls. PIN offline geknackt, mit nichtexponentiellem Zeitaufwand! Viel Geräte Nutzen Default-PIN (0000)! Angreifer kann leicht „long term unit key“ eines im Speicher begrenzten Geräts A erhalten. Einfach Link dazu aufbauen: Link Key = Unit Key von A. Angreifer kann dann Nachrichten zwischen A und allen anderen Geräten B entschlüsseln. Privacy-Problem feste eindeutige Geräteadresse Kryptografen endeckten Schwachstelle in E0. Bruteforce-Angriff viel einfacher als O(2128)S

67 Zusammenfassung; Drahtlose Netzwerke bieten zusätzliche Angriffspunkte
Broadcast Medium Einfach abhörbar. Einfach zu stören. Einfach überzubelasten, kein QoS. Nutzer sind gewöhnlich mobil. Lokalisierungsinformation, Privatsphäre werden wichtig. Begrenzte Ressourcen (Krypto) müssen berücksichtigt werden. Fehlen von physischem Schutz. Sicherheitsarchitektur sollte Roaming unterstützen Beispiele: WiFi LANs GSM, UMTS Bluetooth


Herunterladen ppt "Sichere Implementierung"

Ähnliche Präsentationen


Google-Anzeigen