Sicherheitsaspekte Beispiel: (Lücken und Verbesserungen) Firewalls, Tunnelprotokolle und Beispiel -s Verschlüsselung, Authentifizierung und -Tunnel 5.2 Motivation Begriffe Safety Funktionssicherheit Realisierte Ist-Funktionalität stimmt mit Spezifikation überein Die Verlässlichkeit eines Systems soll gewährleistet werden Security Informationssicherheit Keine unautorisierte Informationsveränderung oder -gewinnung möglich Protection Datensicherheit Kein unautorisierter Zugriff auf System Ressourcen und Daten, Datensicherung Privacy Datenschutz Schutz bezüglich der Weitergabe persönlicher Daten Aufgenommen von Rene Soltwisch in Singapur November 2004 5.3 Einleitung 5.4
Sicherheitsanforderungen Vertraulichkeit / Geheimhaltung (confidentiality) Kein Zugang zu Informationen für nicht-autorisierte Teilnehmer Integrität (integrity) Schutz der Daten vor unberechtigter Veränderung (inkl. Löschen) Authentifikation (authentication) Zuverlässige Feststellung der Identität eines Teilnehmers Zugriffskontrolle (access control) Regelt den Zugriff auf Objekte oder Informationen Unabstreitbarkeit (non-repudiation) Nachweis der Urheberschaft, falls diese bestritten wird Verfügbarkeit (availability) Vorhandensein von Ressourcen und Daten für rechtmäßige Benutzer Angriffsformen Passive Angriffe Lauschangriff (eavesdropping) Verkehrsflussanalyse (traffic analysis) Aktive Angriffe Maskerade (masquerading) Vortäuschen falscher Identität Intrigieren (tampering) Verändern von Daten bei der Übertragung Wiederholen (replay) Aufzeichnen und erneut senden Dienstverweigerung (DoS -- denial of service) Direkt: Störsender Indirekt: Angeforderte Daten umlenken Man in the Middle Attack Einleitung 5.5 Einleitung 5.6 Abwehr von Angriffen Passive Angriffe Erkennung passiver Angriffe ist sehr schwer bis unmöglich Verschlüsselung der Daten Abgehörte Daten dürfen nur für Empfänger verständlich sein Präventiver Schutz gegen Angriff Aktive Angriffe Vermeidung sehr schwer Authentifizierung der Daten Digitale Signatur Erkennung von falschen Daten Beispiel: (Lücken und Verbesserungen) Firewalls, Tunnelprotokolle und Beispiel -s Verschlüsselung, Authentifizierung und -Tunnel Einleitung 5.7 5.8
Verschlüsselung Symmetrische Verschlüsselung (Private Key) Verschlüsselung und Entschlüsselung mit dem selben Schlüssel Effizient berechenbar aber Schlüsselaustauschproblem Beispiele: DES, 3DES, AES, IDEA, (Block-Chiffre) RC4 (Strom-Chiffre) für Asymmetrische Verschlüsselung (Public Key) Verschlüsselung und Entschlüsselung mit public / private Key Paar Beispiele: RSA, ElGamal, Elliptische Kurven (ECC) Rechenaufwendig (Problem insb. für mobile Endgeräte) Lösung: zum Austausch symmetrischer Schlüssel Einwegverschlüsselung (Kryptographische Hashfunktion) Eingabe variabler Länge mit eindeutiger Ausgabe fester Länge Dient als Prüfsumme, Dig. Fingerabdruck und Signatur Beispiele: MD5, SHA-1 Private Key (Symmetrische) Verfahren Data Encryption Standard (DES) Blockchiffre, 64 Bit Eingabeblöcke 64 Bit Schlüssel, 56 Bit relevant (Rest Paritätsbits) Gilt als unsicher Verbesserung: Triple-DES (3DES) Dreimalige Anwendung von DES mit 3 verschiedenen Schlüsseln Advanced Encryption Standard (AES) Blockchiffre, 128 Bit Eingabeblöcke 128, 192 und 256 Bit Schlüssel International Data Encryption Algorithm (IDEA) Blockchiffre, 64 Bit Eingabeblöcke 128 Bit Schlüssel Gilt (zur Zeit noch) als sicher Eingesetzt in PGP Cypher Block Chaining (CBC) Jeder Klartextblock wird vor Verschlüsselung mit vorherigem Kryptoblock XOR verknüpft 5.9 5.10 Public Key (Asymmetrische) Verfahren Hashfunktionen RSA (Rivest-Shamir-Adleman, MIT 1977) 1. Berechnung zweier großer Primzahlen p und q 2. m = p * q und f = (p-1) * (q-1) 3. Wahl von e teilerfremd zu f 4. Berechnung von d, so dass e*d = 1 (mod f) Öffentlicher Schlüssel (m,e) ; geheimer Schlüssel d Chiffrieren: c = x e (mod m) Dechiffrieren: x = c d (mod m) x sei Klartext, c sei chiffrierter Text RSA kann auch zum signieren verwendet werden Text mit privatem Schlüssel verschlüsseln überprüfen mit öffentlichem Schlüssel Andere Verfahren ElGamal Basis: Diskreter-Logarithmus-Problem Ellyptic Curves Cryptography (ECC) Punktspiegelung an elliptischen Kurven z.b. auf Smart Cards 5.11 Definition Hashfunktion: Eine Hashfunktion h(m)=z bildet Eingaben M einer beliebigen Bitlänge auf eine Ausgabe fester Bitlänge z ab (üblich 128 oder 160 Bit) Seien M und h gegeben, so ist z leicht zu berechnen; das heißt in polynominaler Zeit berechenbar Eigenschaften einer Hashfunktion h heißt schwach kollisionsfrei, wenn es praktisch unmöglich ist zu gegebenem M ein M zu finden, so dass gilt h(m) = h(m ) h heißt (stark) kollisionsfrei, wenn es schwer ist ein M und M zu finden, so dass gilt h(m) = h(m ) One Way Hashfunktion h heißt One-Way Funktion, wenn es schwer ist, zu gegebenem z ein M zu finden, so dass gilt h(m) = z 5.12
Kryptographische Hash Funktionen MD4 (Message Digest 4) Von 1991 gilt heute als unsicher MD5 (Message Digest 5) Erzeugt 128 Bit lange Hashwerte Blockgröße 512 Bit Nicht kollisionsfrei SHA-1 (Secure Hash Algorithm 1) Erzeugt 128 Bit lange Hashwerte Blockgröße 512 Bit MAC (Message Authentication Code) Verwendet zusätzlich einen geheimen Schlüssel z.b. auf Basis von DES-CBC (letzter Block) oder MD 5: h(m + Key) HMAC : h([key XOR Pad1] + h([key XOR Pad2] + M) ) HMAC wird verwendet in Sec und SSL Schlüsselaustausch Diffie-Hellman Key Exchange Protocol Vereinbart sind Primzahl p und primitives Element g Alice: wählt x A {0,..,p-2} und berechnet y A =g XA (mod p) Bob: wählt x B {0,..,p-2} und berechnet y B =g XB (mod p) y A und y B werden ausgetauscht Alice berechnet: S AB = y X A B (mod p) = g X B * X A (mod p) Bob berechnet: S BA = y X B A (mod p) = g X A * X B (mod p) Es gilt: g X B * X A (mod p) = g X A * X B (mod p) Somit sind auch S AB und S BA identisch S AB ist der ausgetauschte geheime Schlüssel von Alice und Bob 5.13 5.14 Netzwerk Schichtenmodell Beispiel: (Lücken und Verbesserungen) Firewalls, Tunnelprotokolle und Beispiel -s Verschlüsselung, Authentifizierung und -Tunnel ISO OSI Model / Stack Sicherheitsmechanismen Application 7 FTP/SMTP/HTTP Presentation 6 XDR Session 5 -- Transport 4 / UDP Network 3 Link 2 Ethernet / Physical 1 Kabel / Funk PGP / S/MIME / SET -- -- TLS / SSL Sec / IKE WEP / WPA Abschirmung 5.15 5.16
802.11 Erlauben: Access Control Authentisierung Verschlüsselung 802.11 Wireless Client Service Set Identifier (SSID) Media Access Control (MAC-Filterung) Wired Equivalent Privacy (WEP) Access Point Access Control - Service Set Identifier (SSID) Standard Mode Der Netzwerkname (SSID) muss dem Client nicht bekannt sein SSID kann ein in verschiedene Segmente einteilen AP sendet beacon -Signale - mit SSID, damit Clients das gewünschte Segment finden SSID-Broadcast vom Client, wenn keine SSID definiert Hidden Mode (closed network, no broadcast) Client muss SSID zuvor kennen, da AP in beacon-signale die SSID nicht mitsendet AP antwortet nicht mehr auf SSID-Broadcast vom Client 5.17 5.18 Access Control - MAC-Address List Wired Equivalent Privacy (WEP) Zugangskontrolle mittels Access Control Lists (ACL) von MAC Adressen Mittels Management Software müssen ACLs auf den Access Points zentral verwaltet werden Beschränkung auf wenige APs. Verwaltungsaufwand zu hoch Abhilfe zentrale Datei mit MAC-Liste RADIUS Server Username = MAC Adresse Passwort = null oder none 5.19 WEP verwendet den RC4 Strom Chiffre Algorithmus für Keystream Key 40-Bit oder 104-Bit, Initialisierungs-Vektor (IV) 24-Bit WEP kennt kein Verfahren zur Schlüsselverwaltung Schlüssel müssen manuell konfiguriert werden global key <-> personal key Schlüssel sind für alle gleich, bleiben nicht lange ein Geheimnis Verschlüsselte Nachricht und IV wird an Empfänger gesendet Verschlüsselte Nachricht: Keystream XOR verknüpft mit Nachricht + Checksumme Checksumme: Cyclic-Redundancy-Check (CRC32) 32-Bit lang Empfänger erzeugt mit Hilfe des IV und dem RC4-Schlüssels wieder den Keystream Empfänger verknüpft Verschlüsselte Nachricht XOR mit Keystream und erhält Nachricht und Checksumme 5.20
Prinzip der WEP-Verschlüsselung Wie man in ein eindringt. SSID Wird in einigen Systemnachrichten im Klartext übermittelt Der SSID kann sehr einfach mit Wireless-Sniffer abgehört werden MAC Adressen Werden immer unverschlüsselt übertragen Angreifer kann MAC-Adresse abhören und in die eigene Wirelesskarte eintragen WEP IV ist nur 24-Bit lang; Key nur 40-Bit (nur ein Key für das ganze Netz) Zum Brechen <24GB und 5 Stunden bei Maximalauslastung Sei C1=P1 XOR RC4(v,k) und C2 = P2 XOR RC4(v,k) v,k gleich so gilt C1 XOR C2 = P1 XOR P2 also aus C1, C2, P1 P2 WEPCrack open source tool zum Berechnen von WEP Keys AirSNORT Network Monitor stellt WEP Keys aus Daten wieder her nach ca. 500 MB 5.21 5.22 Wi-Fi Protected Access Nachfolger von WEP Allgemeine Verbesserungen zu WEP Datenverschlüsselung mit TK (Temporal Key Integrity Protocol) Authentifizierung mittels EAP (Extensible Authentication Protocol) Nachteil: es wird ein Authentifizierungs-Server benötigt (z.b. Radius) Wi-Fi Protected Access (WPA) Protokoll 2003 IV auf 48 Bit Authentifizierung 64 Bit Verschlüsselung 128 Bit Verwendet weiterhin das unsichere RC4 Kompatibel zu 802.11b Firmwareupdate der Hardware WPA2 Protokoll 2004 IV auf 48 Bit Authentifizierung 128 Bit Verschlüsselung 128 Bit WPA2 ist der IEEE Sicherheitsstandard 802.11i AES anstelle von RC4 Beispiel: (Lücken und Verbesserungen) Firewalls, Tunnelprotokolle und Beispiel -s Verschlüsselung, Authentifizierung und -Tunnel 5.23 5.24
Virtual Private Network () : Tunneling in -Netzen Tunneling ist ein Konzept, mit dem beliebige Datenpakete über ein Transitnetz weitergeleitet werden können. Tunnelanfang wird durch den zusätzlichen -Header bestimmt Tunnelendpunkt wird durch den Wegfall des zusätzlichen Header definiert Quelle Ziel Daten Quelle Ziel Daten A B Payload A B Payload Tunnel Internet Host A Sicherheits- Gateway -2- Sicherheits- Gateway -1- Host B Standort X 1 2 A B Payload Standort Y verschlüsselt 5.25 5.26 Tunneling Protokolle für Die wichtigsten Protokolle zum Aufbau eines -Tunnels: Sec (Internet Protocol Security) Layer 3 (Point-to-Point Tunneling Protocol) L2F (Layer-2-Forwarding) Layer 2 L2TP (Layer-2-Tunneling Protocol) Application Presentation Session Transport Network Link Physical 7 6 5 4 3 2 1 FTP/SMTP/HTTP XDR -- / UDP, X, NetBEUI Kabel / Funk -in-, Sec Tunnel, L2F, L2TP 5.27 Point to Point Tunneling Protocol () Entwickelt von: Microsoft und Ascend 1997 Aufgrund seiner Integration in Windows weit verbreitet Erweiterung des Point to Point Protokolls () -Kapselung um Datagramme von Netzwerk Layer Protokollen (z.b., X, NetBEUI) über ein -basiertes Netzwerk (z.b. Internet) zu übermitteln Keine Vorgabe über Authentifizierung und Verschlüsselung Wird durch bereitgestellt B. Schneier und P. Mudge zeigten Lücken auf: MS-CHAP Challenge Handshake Authentication Protocol gebrochen MPPE Microsoft Point-to-Point Encryption gebrochen Channels DoS Attacken möglich GRE Benutzerdaten X 5.28
Layer-2-Forwarding (L2F) Entwickelt von: Cisco, Nortel und Shiva 1996 Die Multiplex-ID erlaubt den gleichzeitigen Betrieb mehrerer Tunnel Mit der Client-ID werden mehrere parallele Verbindungen innerhalb jeden Tunnels möglich Punkt-zu-Punkt und Punkt-zu-Mehrpunkt-Verbindungen werden unterstützt Die Authentisierung erfolgt über ein Challenge-Handshake- Verfahren L2F kann über unterschiedliche Paketnetze transportiert werden wie z.b. X.25, Frame Relay oder ATM Es erfolgt keine Verschlüsselung der Daten! Der zugehörige RFC 2341 hat den Stand "historic"! ATM UDP L2F Benutzerdaten 5.29 Layer 2 Tunneling Protocol (L2TP) RFC 2661, IETF WG 1999 L2TP vereint die Vorteile von und L2F Eine Tunnel-ID im L2TP-Header erlaubt den Betrieb multipler Tunnels NAT (Network Address Translation) wird unterstützt L2TP erlaubt eine Authentisierung auf der Basis von CHAP (Challenge Handshake Authentication Protocol) Im RFC 3193 ist eine Methode beschrieben, um L2TP und Sec zu kombinieren ATM UDP L2TP Benutzerdaten X 5.30 L2TP X.? X.? X.? L2TP /UDP ISP Remote Access Server X.? GRE /UDP Internet L2TP /UDP IEEE 802.x Firewall oder -Router GRE IEEE 802.x IEEE 802.x IEEE 802.x Firewalls Paket-Filter (screening firewall) -Pakete werden abhängig von Quell- / Zieladresse gefiltert (Layer 3) Pakete werden abhängig vom verwendeten Netwerk Protokoll (UDP / ) gefiltert (Layer 4) Proxy / Gateway (bastion host) Für jede zulässige Anwendung ist ein Proxy-Server installiert Analyse auf Applikationsschicht. Die Zugangsberechtigung jedes Clients wird überprüft Abhängig vom Protokoll wird die Semantik der Daten kontrolliert z.b. auf Vieren Beispiel: Dual Firewall Innere und äußere Firewall erzeugen eine demilitarisierte Zone (DMZ) Internet äussere Firewall Internet Beispielkonfigurationen Bastion Host DMZ Firewall innere Firewall Intranet Intranet 5.31 5.32
Beispiel: (Lücken und Verbesserungen) Firewalls, Tunnelprotokolle und Beispiel -s Verschlüsselung, Authentifizierung und -Tunnel Security Protocol (Sec) Erweiterung des Internet Protokolls um zwei Extension Header Authentication Header (AH) HMAC wird vom Sender berechnet, hinzugefügt und vom Empfänger verifiziert MD5 RFC 2403 SHA-1 RFC 2404 Authentication Data 3 X 32 Bit die 96 höchstwertigen Bits des Hashwerts. Aus Effizienzgründen auch bei 128 oder 160 Bit Hashes Encapsulation Security Payload (ESP) Daten-Vertraulichkeit und optional Daten-Authentifizierung Schutz vor Replay-Attacken AES, ARCFOUR (RC4), 3DES, Blowfish, CAST,. 5.33 5.34 Authentication Header (AH) AH Felder AH-Header Next Header (, UDP, ICMP) Länge des AH-Header Security Parameter Index und Sequence Number Authentifizierung 0 7 15 31 Next Header Length Reserved SPI Sequence Number Encapsulation Security Payload (ESP) ESP ESP Header Nutzdaten (umgeben von ESP Header und Trailer) ESP Trailer ESP-Authentication Data Authentifiziert Verschlüsselt 0 7 15 31 Security Parameter Index (SPI) Sequence Number Nutzdaten Verschlüsselung (DES-CBC, RC5, 3DES) } ESP-Header Authentication Data -Header AH-Header Nutzdaten Padding (0-255 Byte) Pad Lenght Next Header Authentication Data 3 X 32 = 96 Bit Hash (HMAC-MD5, HMAC-SHA-1) } ESP-Trailer ESP-Auth. 5.35 5.36
Sec Betriebsmodi Transportmodus Es wird ausschließlich der Datenteil (Payload) des -Paketes verschlüsselt Den Nutzdaten wird der ESP-Header vorangestellt Dieses Verfahren wird zur Übertragung von kritischen Informationen (z.b. Passwörter) verwendet. Tunnelmodus Das komplette -Paket wird vor der Übertragung verschlüsselt Ein neuer -Header wird dem -Paket vorangestellt. Empfänger des neuen Pakets ist das Ziel Gateway (Tunnelende) Das Ziel Gateway entfernt den neuen Header und entschlüsselt die Daten Tunnelmodus ist transparent für den Benutzer Tunnelmodus schützt zusätzlich Quell- und Ziel-Adresse 5.37 Transportmodus -Header Authenticated (AH) Tunnelmodus -Header Nutzdaten AH- Header ESP- Header Encrypted (ESP) Authenticated (ESP) Nutzdaten New -Hdr AH-Hdr ESP-Hdr -Hdr Nutzdaten ESP-Trailer ESP-Auth. Authenticated (AH) -Header Nutzdaten Encrypted (ESP) Authenticated (ESP) AH/ESP-Transport ESP- ESP- Trailer Auth. 5.38 Internet Key Exchange Protocol (IKE) Das IKE ist beschrieben in RFC 2409 1998 Zur Zeit arbeitet die IETF an Version 2 (IKEv2) Sehr komplexes Protokoll (viele Modi) Normal Mode: 6 Nachrichten Krypto-Parameter werden verhandelt Aggressive Mode: 3 Nachrichten Krypto-Parameter werden als bekannt vorausgesetzt Beruht auf Diffie-Hellman Key Exchange Protokoll Verhandelt symmetrische Verschlüsselungsalgorithmen und asymmetrische Signaturalgorithmen (in normal Mode) Beispiel: (Lücken und Verbesserungen) Firewalls, Tunnelprotokolle und Beispiel -s Verschlüsselung, Authentifizierung und -Tunnel 5.39 5.40
Sicherheit auf höheren Schichten SSL / TLS Das Secure Socket Layer (SSL) Protokoll und das Transport Layer Security (TLS) Protokoll bieten Sicherheit auf der Transportschicht (Layer 4) Handshake auf Basis von RSA Client und Server einigen sich über Kryptoalgorithmus Schlüssel auswählen und austauschen Optional Client Authentisierung Wichtigste Anwendung von SSL sind sichere Web Applikationen Beispiel HTTPS Es gibt keine gute Attacken auf SSL, aber auf SSL Implementierungen schon TLS TLS ist definiert in RFC 2246 Sehr ähnlich zu SSLv3 Anhang 1: Sec RFCs Links RFC 2401 Sec Architektur RFC 2402 Authentication Header (AH) RFC 2403 AH mit MD5-96 RFC 2404 AH mit SHA-1-96 RFC 2405 ESP mit DES-CBC RFC 2406 Encapsulation Security Payload (ESP) RFC 2408 ISAKMP RFC 2409 Internet Key Exchange (IKE) Sicherheit auf höheren Schichten 5.41 5.42 Anhang 2: Tunneling-Protokolle Eigenschaft L2F L2TP Sec Protokoll-Ebene Layer 2 Layer 2 Layer 2 Layer 3 Standard Paket-Authentifizierung Benutzer- Authentifizierung Datenverschlüsselung Schlüsselmanagement QoS andere Protokolle (neben ) tunnelbar 5.43