IEEE 802.11i Sicherheit in drahtlosen lokalen Netzen
Transcription
IEEE 802.11i Sicherheit in drahtlosen lokalen Netzen
IEEE 802.11i Sicherheit in drahtlosen lokalen Netzen Fachgebiet Kryptographie und Computeralgebra – TU Darmstadt Prof. Dr. Johannes Buchmann Diplomarbeit von Axel Hagedorn Betreut von Ulrike Meyer November 2003 Zusammenfassung Diese Diplomarbeit gibt einen umfassenden Einblick in Verbesserungen der Sicherheitsarchitektur von IEEE 802.11-WLANs. Diese liegen derzeit als Draft vor und sollen in Kürze als 802.11i-Standard verabschiedet werden. Neben der Vorstellung des darin definierten Robust Security Networks, das neue Lösungen für Verschlüsselung, Integritätssicherung und Authentifizierung in WLANs bietet, werden auch die Probleme des bisherigen, auf Wired Equivalent Privacy basierenden Standards erörtert und bereits existierende Weiterentwicklungen wie Wi-Fi Protected Access betrachtet. Ehrenwörtliche Erklärung Ich versichere, daß ich die vorliegende Diplomarbeit ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt habe. Alle Stellen, die aus den Quellen entnommen wurden, sind als solche kenntlich gemacht. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen. Darmstadt, den 30. November 2003 I Vorwort Die vorliegende Arbeit dient der Vorbereitung eines Projektes zur Unterstützung des Interworkings von mobilen Geräten in UMTS-Netzen und WLANs. Das Projekt strebt die Verknüpfung von lokal hoher Bandbreite des Wireless-LANs mit der hohen Verfügbarkeit des Universal Mobile Telecommunications Systems an. Den höchsten Grad an Interoperabilität bieten automatische Handover-Prozeduren, die den transparenten Wechsel zwischen den auf unterschiedlichen Technologien basierenden Netzen ermöglichen. Um Zugangskontrollmechanismen und Schlüsselmanagement auch während der Handover-Prozeduren einsetzen zu können, müssen die Sicherheitsarchitekturen beider Netze interoperabel sein. Mit dem IEEE 802.11i-Standard liegt nun auf der Seite des WLANs eine vielversprechende Basis vor. Der Schwerpunkt der Arbeit liegt deshalb auf der Analyse der neuen Verfahren im 802.11i-Standard für die Erreichung der wichtigsten Sicherheitsziele: Vertraulichkeit, Integrität und Authentizität. Dem erst durch diesen Standard eingeführten Schlüsselmanagement kommt im Hinblick auf die Verwaltung von Schlüsseln für die zu verbindenden Netztechnologien eine besondere Bedeutung zu. Wichtigste Quelle für die Zusammenstellung der Informationen über die neue Sicherheit für WLANs basierend auf dem IEEE 802.11-Standard ist der 802.11i-Standard selbst, der mir Dank der freundlichen Unterstützung von David Johnston von der Intel Corporation (selbst Mitarbeiter am 802.11i-Standard und jetzt Vorsitzender der IEEE 802 Handoff Executive Committee Study Group) als Draft in der Version 7.0 vom Oktober 2003 vorlag. Daneben konnte ich vor allem auf das im Juli 2003 erschienene Buch Real 802.11 Security von Jon Edney und William A. Arbaugh (beides Experten im Bereich der WLAN-Sicherheit) zurückgreifen, das auf einer früheren Draft-Version des Standards basiert. Dieser war allerdings auch schon weiter überarbeitet als die derzeit noch immer als einzige zu erwerbende Version 3.0 vom November 2002. Besonderer Dank gilt Ulrike Meyer für eine hervorragende Betreuung bei der Erstellung dieser Arbeit, Professor Buchmann dafür, daß er sich trotz aller Verpflichtungen für jeden seiner Studenten individuell engagiert, und meiner Frau Gerlind, die es mir durch ihre intensive Unterstützung möglich gemacht hat, während der ersten Lebensmonate unseres Sohnes Henry diese Arbeit anzufertigen. II Inhaltsverzeichnis Abkürzungsverzeichnis IX Abbildungsverzeichnis X 1 Einleitung 1 2 Grundlagen 2.1 Wireless-LAN . . . . . . . . . . . . 2.1.1 IEEE-Standards . . . . . . . IEEE 802.11 . . . . . . . . . IEEE 802.11a . . . . . . . . IEEE 802.11b . . . . . . . . IEEE 802.11d . . . . . . . . IEEE 802.11g . . . . . . . . IEEE 802.11h . . . . . . . . IEEE 802.11i . . . . . . . . IEEE 802.1x . . . . . . . . . 2.1.2 Architektur . . . . . . . . . Ad-hoc-Modus . . . . . . . Infrastrukturmodus . . . . . 2.2 Sicherheit . . . . . . . . . . . . . . 2.2.1 Schutzziele . . . . . . . . . . Vertraulichkeit . . . . . . . Integrität . . . . . . . . . . Authentizität . . . . . . . . Anonymität . . . . . . . . . Verfügbarkeit . . . . . . . . 2.2.2 WLAN-Sicherheit . . . . . . MAC-Adresse . . . . . . . . SSID . . . . . . . . . . . . . WEP-Sicherheitsarchitektur Administration . . . . . . . 2.3 WEP-Sicherheitsarchitektur . . . . 2.3.1 Funktionsweise . . . . . . . Verschlüsselung . . . . . . . Entschlüsselung . . . . . . . Integrität . . . . . . . . . . Authentifizierung . . . . . . 2.3.2 Schwachstellen . . . . . . . Administration . . . . . . . Schlüssellänge . . . . . . . . Initialisierungsvektor . . . . Prüfsumme . . . . . . . . . Chiffrealgorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 4 4 5 5 5 5 6 6 7 7 7 7 8 8 8 8 8 8 9 9 9 10 10 11 11 11 12 13 13 14 15 15 16 16 16 INHALTSVERZEICHNIS Schlüsselmanagement . . Authentifizierung . . . . Schlüsselunabhängigkeit Angriffswerkzeuge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 17 17 17 3 Zwischenlösungen 3.1 VPN mit IPsec . . . . . . . 3.2 SSL und SSH . . . . . . . . 3.3 WPA-Sicherheitsarchitektur 3.3.1 Schlüsselmanagement 3.3.2 Verschlüsselung . . . 3.3.3 Integrität . . . . . . 3.3.4 Authentifizierung . . 3.4 Weitere Alternativen . . . . 3.4.1 WEPplus . . . . . . 3.4.2 FPK . . . . . . . . . 3.4.3 WEP2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 20 22 23 23 24 24 24 24 25 25 25 4 Neue Sicherheit 4.1 RSN-Sicherheitsarchitektur . 4.2 Schlüsselmanagement . . . . 4.2.1 Schlüsselarten . . . . 4.2.2 Schlüsselhierarchien . PRNGs . . . . . . . PRF . . . . . . . . . 4.2.3 Paarweise Schlüssel . Pairwise Master Key Temporäre Schlüssel 4.2.4 Gruppenschlüssel . . Group Master Key . Temporäre Schlüssel 4.2.5 Schlüsselwechsel . . . 4.2.6 Mischbetrieb . . . . 4.3 Verschlüsselung . . . . . . . 4.3.1 TKIP . . . . . . . . Verschlüsselung . . . Schlüsselmix / IV . . MAC-Frame-Format Entschlüsselung . . . 4.3.2 CCMP . . . . . . . . Verschlüsselung . . . AES . . . . . . . . . MAC-Frame-Format Entschlüsselung . . . 4.4 Integrität . . . . . . . . . . 4.4.1 TKIP MIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 27 29 30 30 31 31 32 34 36 38 40 40 41 41 42 42 43 45 50 52 54 55 57 62 62 64 64 IV INHALTSVERZEICHNIS 4.5 Michael . . . . . . . . . . . . Gegenmaßnahmen . . . . . . 4.4.2 CCMP MIC . . . . . . . . . . CBC-MAC . . . . . . . . . . Authentifizierung . . . . . . . . . . . 4.5.1 802.1x . . . . . . . . . . . . . 4.5.2 EAP . . . . . . . . . . . . . . EAPOL . . . . . . . . . . . . 4.5.3 RADIUS . . . . . . . . . . . . 4.5.4 Upper-Layer-Authentifizierung TLS . . . . . . . . . . . . . . Kerberos . . . . . . . . . . . . LEAP . . . . . . . . . . . . . PEAP . . . . . . . . . . . . . EAP-SIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 67 69 69 71 72 74 75 76 79 79 80 80 80 80 5 Ausblick 82 Literatur 84 V Abkürzungsverzeichnis AAD . . . . . . . . . . . . AAI . . . . . . . . . . . . . ACK . . . . . . . . . . . . . AES . . . . . . . . . . . . . AH . . . . . . . . . . . . . . AP . . . . . . . . . . . . . . ARIB . . . . . . . . . . . . AS . . . . . . . . . . . . . . . BRAN . . . . . . . . . . . BSS . . . . . . . . . . . . . BSSID . . . . . . . . . . . C ................ CBC . . . . . . . . . . . . . CBC-MAC . . . . . . . CCK . . . . . . . . . . . . . CCM . . . . . . . . . . . . CCMP . . . . . . . . . . . CHAP . . . . . . . . . . . CRC . . . . . . . . . . . . . CTR . . . . . . . . . . . . . DA . . . . . . . . . . . . . . DES . . . . . . . . . . . . . DLL . . . . . . . . . . . . . DoS . . . . . . . . . . . . . DSSS . . . . . . . . . . . . EAP . . . . . . . . . . . . . EAPOL . . . . . . . . . . ECB . . . . . . . . . . . . . EIV . . . . . . . . . . . . . . ESP . . . . . . . . . . . . . ESS . . . . . . . . . . . . . . ETSI . . . . . . . . . . . . FCS . . . . . . . . . . . . . FHSS . . . . . . . . . . . . FIPS . . . . . . . . . . . . FMS . . . . . . . . . . . . . FPK . . . . . . . . . . . . . FTP . . . . . . . . . . . . . GMK . . . . . . . . . . . . GSM . . . . . . . . . . . . GTK . . . . . . . . . . . . HIPERLAN . . . . . HiSWANa . . . . . . . HMAC . . . . . . . . . . . Additional Authentication Data Authentication Algorithm Identification ACKnowledge Advanced Encryption Standard Authentication Header Access Point Association of Radio Industries and Businesses Authentication Server Broadband Radio Access Networks Basic Service Set Basic Service Set ID Cyphertext Cipher Block Chaining Cipher Block Chaining – Message Authentication Code Complementary Code Keying CTR/CBC MAC CTR/CBC-MAC Protocol Challenge Handshake Authentication Protocol Cyclic Redundancy Check CounTeR Destination Address Data Encryption Standard Data Link Layer Denial of Service Direct Sequence Spread Spectrum Extensible Authentication Protocol EAP Over LAN Electronic CodeBook Extended IV Encapsulating Security Payload Extended Service Set European Telecommunication Standardisation Institution Frame Check Sequence Frequency Hopping Spread Spectrum Federal Information Processing Standard Fluhrer-Mantin-Shamir Fast Packet Keying File Transfer Protocol Group Master Key Global System for Mobile Communications Group Transient Key HIgh PErformance Radio Local Area Network High-Speed Wireless Access Network Type a Hashed Message Authentication Code VI ABKÜRZUNGSVERZEICHNIS HP . . . . . . . . . . . . . . HR/DSSS . . . . . . . . HTTP . . . . . . . . . . . HTTPS . . . . . . . . . . IANA . . . . . . . . . . . . IBSS . . . . . . . . . . . . . ICV . . . . . . . . . . . . . ID . . . . . . . . . . . . . . . IEEE . . . . . . . . . . . . IETF . . . . . . . . . . . . IKE . . . . . . . . . . . . . IMAP4 . . . . . . . . . . IP . . . . . . . . . . . . . . . IPsec . . . . . . . . . . . . IPX . . . . . . . . . . . . . . IR . . . . . . . . . . . . . . . ISO . . . . . . . . . . . . . . ISP . . . . . . . . . . . . . . IV . . . . . . . . . . . . . . . K ................ KID . . . . . . . . . . . . . L2F . . . . . . . . . . . . . . L2TP . . . . . . . . . . . . LAN . . . . . . . . . . . . . LDAP . . . . . . . . . . . LEAP . . . . . . . . . . . LLC . . . . . . . . . . . . . M ................ MAC . . . . . . . . . . . . MAC . . . . . . . . . . . . MIC . . . . . . . . . . . . . MMAC . . . . . . . . . . MPDU . . . . . . . . . . . MPPE . . . . . . . . . . . MSDU . . . . . . . . . . . NAK . . . . . . . . . . . . NAS . . . . . . . . . . . . . NIST . . . . . . . . . . . . OCB . . . . . . . . . . . . . OFDM . . . . . . . . . . . OSI . . . . . . . . . . . . . . PAP . . . . . . . . . . . . . PBCC . . . . . . . . . . . PBKDF . . . . . . . . . PEAP . . . . . . . . . . . HomePage High-Rate Direct Sequence Spread Spectrum HyperText Transfer Protocol HTTP Secure Internet Assigned Numbers Authority Independent Basic Service Set Integrity Check Value IDentification Institute of Electrical and Electronics Engineers Internet Engineering Task Force Internet Key Exchange Internet Message Access Protocol 4 Internet Protocol IP security Internet Packet EXchange InfraRed International Organization for Standardization Internet Service Provider Initialization Vector Key Key-ID Layer 2 Forwarding Layer 2 Tunneling Protocol Local Area Network Lightweight Directory Access Protocol Light EAP Logical Link Control Message (Message Authentication Code) → MIC Medium Access Control Message Integrity Code Multimedia Mobile Access Communication System MAC Protocol Data Unit Microsoft Point-to-Point Encryption MAC Service Data Unit Negative Acknowledge Network Access Server National Institute of Standards and Technology Offset CodeBook Orthogonal Frequency Division Multiplexing Open Systems Interconnection Password Authentication Protocol Packet Binary Convolution Coding Password Based Key Derivation Function Protected EAP VII ABKÜRZUNGSVERZEICHNIS PHY . . . . . . . . . . . . . PKCS . . . . . . . . . . . PKI . . . . . . . . . . . . . PMK . . . . . . . . . . . . PN . . . . . . . . . . . . . . POP3 . . . . . . . . . . . . PPK . . . . . . . . . . . . . PPP . . . . . . . . . . . . . PPTP . . . . . . . . . . . PRF . . . . . . . . . . . . . PRG . . . . . . . . . . . . . PRNG . . . . . . . . . . . PSK . . . . . . . . . . . . . PTK . . . . . . . . . . . . . RADIUS . . . . . . . . . RFC . . . . . . . . . . . . . RSN . . . . . . . . . . . . . S-Box . . . . . . . . . . . . SA . . . . . . . . . . . . . . . SFTP . . . . . . . . . . . . SHA . . . . . . . . . . . . . SIM . . . . . . . . . . . . . SN . . . . . . . . . . . . . . . SSH . . . . . . . . . . . . . SSID . . . . . . . . . . . . . SSL . . . . . . . . . . . . . . SSN . . . . . . . . . . . . . TA . . . . . . . . . . . . . . TCP . . . . . . . . . . . . . TGi . . . . . . . . . . . . . . TK . . . . . . . . . . . . . . TKIP . . . . . . . . . . . . TLS . . . . . . . . . . . . . TSC . . . . . . . . . . . . . TSL . . . . . . . . . . . . . TSL-U . . . . . . . . . . . TSU . . . . . . . . . . . . . TSU-U . . . . . . . . . . . TTAK . . . . . . . . . . . TTLS . . . . . . . . . . . . ULA . . . . . . . . . . . . . UMTS . . . . . . . . . . . VPN . . . . . . . . . . . . . VPNC . . . . . . . . . . . WAN . . . . . . . . . . . . PHYsical Layer Public-Key Cryptography Standard Public Key Infrastruktur Pairwise Master Key Packet Number Post Office Protocol 3 Per-Packet Key Point-to-Point Protocol Point-to-Point Tunneling Protocol Pseudo-Random Function PRoGramm Pseudo-Random Number Generator PreShared Key Pairwise Transient Key Remote Authentication Dial In User Service Request For Comments Robust Security Network Substitution-Box Source Address Secure FTP Secure Hash Algorithm Subscriber Identity Module SequenzNummer Secure SHell Service Set IDentifier Secure Socket Layer Safe Secure Network Transmitter Address Transmission Control Protocol Task Group i Temporal Key Temporal Key Integrity Protocol Transport Layer Security TKIP Sequence Counter TKIP S-Box Lower TSL-Upper TKIP S-Box Upper TSU-Upper TKIP mixed Transmit Address and Key Tunneled TLS Upper-Layer Authentication Universal Mobile Telecommunications Systems Virtual Private Network Virtual Private Network Consortium Wide Area Network VIII ABKÜRZUNGSVERZEICHNIS WECA . . . . . . . . . . WEP . . . . . . . . . . . . Wi-Fi . . . . . . . . . . . . WLAN . . . . . . . . . . WPA . . . . . . . . . . . . WPA2 . . . . . . . . . . . WRAP . . . . . . . . . . Wireless Ethernet Compatibility Alliance Wired Equivalent Privacy Wireless-Fidelity Wireless LAN Wi-Fi Protected Access WPA v2 Wireless Robust Authenticated Protocol IX Abbildungsverzeichnis 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 IEEE 802.11-Standards im ISO-OSI-Modell . . . . . . . WEP-Verschlüsselung . . . . . . . . . . . . . . . . . . . . WEP-Integritätswahrung . . . . . . . . . . . . . . . . . . WEP-Fehlerkorrektur . . . . . . . . . . . . . . . . . . . . WEP-Authentifizierung . . . . . . . . . . . . . . . . . . . Pseudozufallsfunktion (PRF) . . . . . . . . . . . . . . . . TKIP Pairwise Key – Schlüsselhierarchie . . . . . . . . . CCMP Pairwise Key – Schlüsselhierarchie . . . . . . . . TKIP Group Key – Schlüsselhierarchie . . . . . . . . . . CCMP Group Key – Schlüsselhierarchie . . . . . . . . . TKIP-Verschlüsselung . . . . . . . . . . . . . . . . . . . TKIP Schlüssel-Mix Phase 1 . . . . . . . . . . . . . . . . TKIP Schlüssel-Mix Phase 2 . . . . . . . . . . . . . . . . TKIP TSU-U S-Box . . . . . . . . . . . . . . . . . . . . TKIP TSL-U S-Box . . . . . . . . . . . . . . . . . . . . . TKIP MAC-Frame (MPDU) . . . . . . . . . . . . . . . . TKIP-Entschlüsselung . . . . . . . . . . . . . . . . . . . CCMP-Nonce . . . . . . . . . . . . . . . . . . . . . . . . CCMP-Header . . . . . . . . . . . . . . . . . . . . . . . CCMP-Verschlüsselung . . . . . . . . . . . . . . . . . . . ECB-Mode . . . . . . . . . . . . . . . . . . . . . . . . . CTR-Mode . . . . . . . . . . . . . . . . . . . . . . . . . Konstruktion des Zählers für den CCMP-Counter-Mode . CCMP MAC-Frame (MPDU) . . . . . . . . . . . . . . . CCMP-Entschlüsselung . . . . . . . . . . . . . . . . . . . Berechnung des TKIP MIC (Michael) . . . . . . . . . . . Michael-Algorithmus . . . . . . . . . . . . . . . . . . . . Michael-Blockchiffre . . . . . . . . . . . . . . . . . . . . CBC-MAC . . . . . . . . . . . . . . . . . . . . . . . . . . Berechnung des CCMP MIC (CBC-MAC) . . . . . . . . Erster Block zur Berechnung des CCMP MIC . . . . . . 802.1x-Rollen . . . . . . . . . . . . . . . . . . . . . . . . Authentifizierungsverlauf (EAP/EAPOL/RADIUS) . . . X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 12 13 13 14 32 33 34 39 39 44 46 48 49 50 51 53 56 56 57 58 59 61 62 63 65 66 67 69 70 71 72 78 1 Einleitung Bereits seit mehreren Jahren existiert zum herkömmlichen, kabelbasierten LAN (Local Area Network) eine drahtlose Alternative: WLAN (Wireless Local Area Network, bzw. WirelessLAN). Führte diese Technologie noch vor dem Jahrtausendwechsel eher ein Nischendasein, so hat sie sich mittlerweile etabliert und wird mehr und mehr zu einem Konkurrenten des kabelbasierten LANs. Damit sind WLANs nicht mehr nur die Domäne von Universitäten und besonders interessierten Nutzergruppen, sondern finden auch in Firmen, die die Vorteile drahtloser Kommunikation, insbesondere die Kostenersparnis bei der Einrichtung neuer Netze, in ihren Netzwerken nutzen wollen, immer mehr Anhänger. Drahtlose Netze besitzen nach Meinung mancher Anbieter von WLAN-Technik sogar das Potential, herkömmliche Netze in der Geschäftswelt langfristig abzulösen; vgl. Red-M (HP). Bereits jetzt finden Geschäftsreisende an Flughäfen gut ausgebaute Möglichkeiten zur drahtlosen Kommunikation (via Internet) mit ihrem Firmennetzwerk vor. Aber auch der Privatanwender wird langfristig in der WLAN-Technik eine Alternative für seinen Internetzugang geboten bekommen und damit eine Fülle von neuen Nutzungsmöglichkeiten. Schon jetzt gibt es hierzu beispielsweise in Athens, Georgia (USA) ein von der ansässigen Universität und Studenten eingerichtetes stadtübergreifendes WLAN, die sogenannte WAGz (Wireless Athens Georgia Zone), die es nicht nur Studenten ermöglicht, von fast jedem Ort in der Innenstadt per Funk Zugriff auf das Internet zu erlangen; vgl. New Media Institute, University of Georgia (HP). Ob dieser Entwicklung eher mit Hoffnung oder mit Sorge zu begegnen ist, hängt davon ab, inwieweit die Technologie in der Lage ist bzw. sein wird, sicherheitskritischen Anwendungen auch die nötige Sicherheit bieten zu können. Der aktuelle Erfolg des WLANs darf nicht darüber hinwegtäuschen, daß auf der Basis aktueller Standards keine wirkliche Sicherheit in WLANs geboten wird: Die Sicherheitsarchitektur des dem WLAN zugrundeliegenden 802.11-Standards des IEEE (Institute of Electrical and Electronics Engineers) (vgl. IEEE (1999a)) wurde mittlerweile zu einer reinen Fassade degradiert, da elementare Bestandteile – speziell die WEP (Wired Equivalent Privacy)-Sicherheitsarchitektur – gravierende Lücken enthalten; vgl. Edney und Arbaugh (2003, S. 89 – 101). Auf diese Problematik kann unterschiedlich reagiert werden: Zum einen gibt es Firmen, in denen die Verwendung von WLAN aufgrund dieser Sicherheitsmängel schlicht untersagt wird. Zum anderen gibt es aber auch mehrere Bestrebungen, dem WLAN durch zusätzliche Technologien die nötige Sicherheit zu verschaffen: Von der Wireless-Fidelity (Wi-Fi) Alliance, einem Zusammenschluß von Herstellern aus dem Bereich der Funknetze (vgl. Wi-Fi Alliance (HP)), wurde mangels Verfügbarkeit eines verbesserten Standards der IEEE (HP) deshalb in der Zwischenzeit aus Teilen des Drafts des 802.11i-Standards die Wi-Fi Protected Access (WPA)-Architektur zur Marktreife entwickelt, die derzeit eine Interimslösung bis zur Verabschiedung des 802.11i-Standards darstellt. Darüber hinaus gibt es mittlerweile Lösungen, die die WLAN-Technologie mit Virtual Private Networks (VPN) verknüpfen und damit eine sichere Verschlüsselung der Nutzdaten gewährleisten und eine vom WLAN unabhängige Authentifizierung einführen; vgl. BSI (2002, S. 11). Um einen Wildwuchs bei proprietären Lösungen zur Kompensation der Sicherheitsprobleme des ursprünglichen Standards zu verhindern, ist die IEEE mittlerweile unter Zeitdruck, einen erweiterten Standard zu verabschieden, der eine Basis für die WLANInfrastruktur der kommenden Generation schafft und damit eine möglichst weitreichende 1 1. EINLEITUNG Interoperabilität sichert. Damit der Umstieg zu einer neuen Technologie möglichst reibungslos durchzuführen ist, enthalten die Bestrebungen der IEEE neben den neuen Sicherheitsmechanismen auch die der bereits erwähnten WPA-Sicherheitsarchitektur zugrundeliegenden Verfahren, die eine Abwärtskompatibilität zu bestehenden Systemen ermöglichen. Langfristig wird ein Austausch der WLAN-Hardware durch eine neue Generation von Geräten angestrebt, die dann die neuen Protokolle der durch den IEEE 802.11i-Standard beschriebenen Robust Security Network (RSN)-Sicherheitsarchitektur umsetzen. Die vorliegende Arbeit untersucht die Entwicklung von drahtlosen lokalen Netzwerken im Hinblick auf ihre Sicherheit bis zu ihrem aktuellen technologischen Stand und beschreibt darauf aufbauend die im aktuellen Draft des IEEE 802.11i-Standards vorgeschlagenen Erweiterungen; vgl. IEEE (2003b). In Kapitel 2 werden zunächst die grundlegenden Eigenschaften von WLANs beschrieben und die Sicherheitsprobleme des ursprünglichen Standards 802.11 (vgl. IEEE (1997)) dargestellt. Kapitel 3 befaßt sich mit den Maßnahmen, die bisher ergriffen wurden, um den Sicherheitsproblemen zu begegnen und mit den Verfahren, die aktuell neben der noch immer eingesetzten WEP-Sicherheitsarchitektur genutzt werden. Der 802.11i-Standard, basierend auf dem Draft in der Version 7.0 vom Oktober 2003, ist Thema des vierten Kapitels. Dort werden die in der RSN-Sicherheitsarchitektur gebündelten Maßnahmen zur Verbesserung der Sicherheit in WLANs eingehend vorgestellt und untersucht, wie diese die Sicherheitsziele Vertraulichkeit, Integrität und Authentizität erreichen und damit fähig sind, bestehende Sicherheitslücken zu schließen. Ein erst im 802.11i-Standard eingeführtes Schlüsselmanagement fügt sich dabei den drei Hauptzielen an. Da der Standard noch nicht verabschiedet ist, können diese Informationen derzeit nur unter Vorbehalt wiedergegeben werden, zumal auch weiterhin noch Änderungen in den Draft einfließen können. Grundsätzliche Änderungen an den Vorgaben des Standards sind aber nicht mehr zu erwarten. Einen Ausblick auf die kommende Entwicklung und die Chancen des IEEE 802.11iStandards gibt abschließend das Kapitel 5. 2 2 Grundlagen Die derzeit vorrangig eingesetzte Wireless-LAN-Technologie basiert noch immer grundlegend auf dem IEEE-Standard 802.11 aus dem Jahre 1997 (vgl. IEEE (1997)), der trotz einiger Erweiterungen völlig unzureichende Sicherheitsmechanismen aufweist. Die folgenden Abschnitte geben darum – neben einem kurzen Überblick über die Entwicklung und den prinzipiellen Aufbau von WLANs – Auskunft über die zugrundeliegenden Standards und deren Sicherheitsaspekte. Insbesondere wird hierbei die Funktion der WEPSicherheitsarchitektur als zentraler Bestandteil des ersten WLAN-Standards betrachtet und deren Schwachstellen analysiert. 2.1 Wireless-LAN Wireless-LAN stellt eine vergleichsweise junge drahtlose Variante lokaler Netze dar. Funkverbindungen zwischen Computern existieren zwar schon seit Beginn der 90er Jahre, jedoch handelte es sich dabei anfangs um parallel entwickelte, proprietäre Produkte. Mangels einer gemeinsamen technischen Grundvereinbarung war dieser Technik über längere Zeit kein großer Erfolg beschieden. Erst als 1997 vom IEEE mit 802.11 ein grundlegender Standard für WLANs im 2,4-GHz-Band verabschiedet wurde (vgl. IEEE (1997)), besserte sich die Situation und drahtlose Netze wurden wesentlich populärer. Produkte, die auf dieser Spezifikation des amerikanischen Standardisierungsinstituts bzw. der Erweiterung 802.11b basieren (vgl. IEEE (1999c) und IEEE (2001a)), bilden heute den mit Abstand größten Anteil des weltweiten WLAN-Marktes. (Eine Beschreibung der einzelnen WLAN-Standards des IEEE folgt in Kapitel 2.1.1.) Dabei ist das IEEE nicht das einzige Institut, das an einer Vereinheitlichung der mobilen Datenübertragung arbeitet. So wurden beispielweise von der European Telecommunication Standardisation Institution (ETSI) in ihrem BRAN (Broadband Radio Access Networks)-Projekt die Funk-LAN-Standards HIPERLAN (High Performance Radio Local Area Network) Typ 1 (2,4 GHz) und Typ 2 (5 GHz) entwickelt. (Nähere Informationen zu HIPERLAN/1 und HIPERLAN/2 finden sich bei ETSI (HP) unter ETSI BRAN Project (1998) und ETSI BRAN Project (2000).) Und auch die japanische Multimedia Mobile Access Communication System (MMAC)-Promotions Council Group publiziert Spezifikationen für neue mobile Systeme wie z.B. das von der Association of Radio Industries and Businesses (ARIB) standardisierte HiSWANa (High-Speed Wireless Access Network Type a), welches kompatibel zu HIPERLAN/2 ist; vgl. MMAC (HP). Informationen zu den genannten und noch weiteren alternativen Netzstandards und den jeweiligen Organisationen finden sich unter anderem in Intersil (2003). Ihre Bedeutung für den internationalen WLAN-Markt dürfte jedoch als relativ gering angesehen werden. In Europa und Japan greifen zwar jeweils andere Bestimmungen im Bezug auf verwendbare Frequenzen und Sendeleistungen als in Amerika, wodurch die lokal entwickelten Standards eigentlich Wettbewerbsvorteile haben sollten, doch in den beiden genannten Fällen wurden bzw. werden vom IEEE im Rahmen der 802.11-Serie bereits Erweiterungen des Standards entwickelt, die den jeweiligen lokalen Bestimmungen der Regionen Rechnung tragen sollen. Damit werden sowohl den europäischen als auch den japanischen Bestrebungen langfristig nur geringe Marktchancen zugeschrieben. Angesichts dieser Marktüberlegenheit der auf den IEEE-Standards basierenden Produkte sind die Sicherheitsprobleme dieser 3 2.1 WIRELESS-LAN Standards um so schwerwiegender. Sie bedürfen deshalb einer dringenden Überarbeitung, die endlich mit dem 802.11i-Standard auch von Seiten des IEEE vorangetrieben wird. 2.1.1 IEEE-Standards Die IEEE 802-Standards enthalten Spezifikationen für verschiedene LAN-Technologien, wovon der 802.11-Zweig Wireless-LAN beschreibt. Dieser besteht korrespondierend zum ISOOSI (Open Systems Interconnection)-Referenzmodell (vgl. Tanenbaum (1996, S. 28 – 35) und ISO (HP)) aus Definitionen der Schicht 1 und teilweise der Schicht 2. Während in der physischen Schicht (Schicht 1, Physical Layer (PHY)) die mechanischen, elektrischen, funktionalen und prozeduralen Eigenschaften festgelegt werden, die es ermöglichen, physische Verbindungen im WLAN aufzubauen, aufrechtzuerhalten und abzubauen, umfaßt die Verbindungs- bzw. Sicherungsschicht (Schicht 2, Data Link Layer (DLL)), die Medienzugangskontrolle (Medium Access Control (MAC)), die den Zugang zum WLAN-Medium koordiniert, und die Flußkontrolle (Logical Link Control (LLC)), die für die Erkennung und Behebung von Übertragungsfehlern zuständig ist. Letztere ist jedoch nicht mehr Teil vom 802.11-Standard sondern wird durch den 802.2-Standard allgemein für alle darunter liegenden Schichten definiert; vgl. IEEE (1998). Im folgenden werden die für das weitere Vorgehen relevanten Standards der 802.11Serie kurz beschrieben. Eine vollständige Auflistung ist z.B. bei Keene (2003) zu finden. Abbildung 1 zeigt anschließend die Einordnung der IEEE 802.11-Familie von Standards in das ISO-OSI-Modell. IEEE 802.11 Dies ist der erste und grundlegende Standard für Wireless-LAN und wurde 1997 von der IEEE verabschiedet. 1999 wurde er noch einmal überarbeitet; vgl. IEEE (1999a). Diese Überarbeitung hat die erste Version IEEE (1997) vollständig abgelöst und ist einzig aktuell gültiger Text. Er spezifiziert drei verschiedene drahtlose Techniken auf der physischen Schicht (PHY): Zum einen zwei funkbasierende für den Betrieb im Frequenzspektrum von 2,4 – 2,5 GHz: Frequency Hopping Spread Spectrum (FHSS) und Direct Sequence Spread Spectrum (DSSS), zum anderen eine auf Infrarot (IR) basierende. Mit ihnen sind Datenübertragungsraten von 1 oder 2 Mbps möglich. Der 802.11-Standard legt die beiden Betriebsmodi Ad-hoc- und Infrastrukturmodus für WLAN-Geräte fest, die in Abschnitt 2.1.2 genauer beschrieben werden. Darüber hinaus wird die MAC-Schicht für den Zugang zu drahtlosen Netzen grundlegend definiert und eine Sicherheitsarchitektur entworfen, die unter anderem mittels der WEPSicherheitsarchitektur für die sichere Authentifizierung und Datensicherheit im WLAN sorgen soll. Die einzelnen Sicherheitsmechanismen und deren Schwachstellen werden in den Abschnitten 2.2.2 und 2.3 näher erläutert. IEEE 802.11a Der 1999 fertiggestellte Standard beschreibt die physische Schicht für den 5-GHz-Frequenzbereich. Er spezifiziert das Orthogonal Frequency Division Multiplexing (OFDM) für Übertragungsgeschwindigkeiten bis zu 54 Mbps; vgl. IEEE (1999b). Der Standard ist allerdings nur auf die gesetzlichen Bestimmungen der USA abgestimmt und wurde deshalb erst im November 2002 in Deutschland – und das auch nur mit verminderter Sendeleistung – zugelassen, was den Aktionsradius auf unzureichende 10 bis 15 Meter beschränkt; vgl. Ahlers (2002). 4 2.1 WIRELESS-LAN IEEE 802.11b Die Übertragungsgeschwindigkeit für das 2,4-GHz-Frequenzband wird mit diesem Standard auf 11 Mbps erhöht. Der 802.11b-Standard spezifiziert dafür das High-Rate Direct Sequence Spread Spectrum (HR/DSSS) unter Verwendung des Complementary Code Keying (CCK) als neue und einzige Technik auf der physischen Schicht. Es wird dabei nur die Abwärtskompatibilität zum DSSS gewahrt. IR und FHSS werden nicht mehr unterstützt; vgl. IEEE (1999c). Der 1999 verabschiedete Standard (inklusive der 2001 veröffentlichten Korrektur IEEE (2001a)) bildet derzeit die Grundlage der meisten erhältlichen WLAN-Produkte. Der Erfolg der auf dem 802.11b-Standard basierenden Produkte wurde dabei nicht unwesentlich von der ebenfalls 1999 gegründeten Wi-Fi Alliance (damals noch Wireless Ethernet Compatibility Alliance (WECA)) gestützt, die Produkte auf ihre Kompatibilität zum 802.11b-Standard untersucht und das Wi-Fi-Logo verleiht. IEEE 802.11d Mit diesem Standard wird die MAC-Schicht des 802.11-Standards um Regulierungen ergänzt, die es ermöglichen sollen, WLAN-Geräte weltweit einzusetzen, das heißt entsprechend der in den jeweiligen Ländern geltenden Gesetze und Einschränkungen – z.B. im Bezug auf die erlaubte Sendestärke. Er beschreibt Mechanismen, die es Geräten erlauben, Änderungen an den Sendeparametern vorzunehmen, und beinhaltet darüber hinaus sogar die Möglichkeit eines Roamings zwischen verschiedenen Regulierungsgebieten; vgl. IEEE (2001b). IEEE 802.11g Durch diesen Standard, der erst im Juni dieses Jahres verabschiedet wurde, wird die Übertragungsgeschwindigkeit für das 2,4-GHz-Frequenzband erneut verbessert und auf 54 Mbps erhöht. Dies wird durch die Einführung der vom 802.11a-Standard bekannten OFDM-Technik erreicht. Neben dem OFDM ist auch das CCK vorgesehen, um eine Abwärtskompatibilität für Geräte, die auf dem 802.11b Standard basieren, zu garantieren. Als optionale PHY-Komponente sieht der Standard das Packet Binary Convolution Coding (PBCC) vor, das einer proprietären Entwicklung für 22-MBit-WLANs entstammt (vgl. Ahlers (2002)), und darüber hinaus die Kombination CCK/OFDM, was einer CCKKodierung des Headers bei einer OFDM-Kodierung des Frame Bodys entspricht; vgl. IEEE (2003a). Es ist zu erwarten, daß der 802.11g-Standard eine ebenso große Verbreitung wie der 802.11b-Standard findet, bietet er doch eine Möglichkeit, unter Beibehaltung einer bestehenden 802.11b-Infrastruktur schrittweise auf die höhere Geschwindigkeit umzustellen. IEEE 802.11h Im 802.11h-Standard werden Anpassungen der MAC-Schicht von WLANs im 5-GHz-Frequenzbereich, wie sie im 802.11a-Standard festgelegt wurde, vorgenommen, um den europäischen Funkvorschriften Rechnung zu tragen, die bisher eine Zulassung des 802.11a-Standards verhindert hatten; vgl. IEEE (2002a). (Aufgrund dessen konnte sich HIPERLAN/2 in 5-GHz-Domäne zwischenzeitlich durchsetzen.) Der IEEE 802.11hStandard steht kurz vor seiner Verabschiedung, kommt aber sehr wahrscheinlich dennoch zu spät, um sich als vorherrschender Standard bei 54-Mbps-Netzen durchzusetzen. Er wird nach seiner Zulassung sicher zu einer stärkeren Verbreitung von 5-GHz-WLANS in Europa führen, doch gegenüber der 2,4-GHz-Technik, die mit dem 802.11g-Standard auch bei 54 Mbps angekommen ist, in seiner Verbreitung zurückbleiben. Denkbar wären allerdings auch Kombigeräte, die aufgrund der gemeinsamen PHY-Schicht beide Frequenzbereiche bedienen können. 5 2.1 WIRELESS-LAN IEEE 802.11i Der 802.11i-Standard liegt derzeit auch noch als Draft vor. Offiziell verfügbar ist nur die Version 3.0 des Drafts vom November 2002 (vgl. IEEE (2002b)), intern befindet sich der Standard aber bereits näher an seiner Fertigstellung in der Version 7.0 vom Oktober 2003; vgl. IEEE (2003b). Mit diesem Standard wird eine erweiterte Sicherheitsarchitektur für den 802.11-Standard vorgestellt, die den Namen RSN (Robust Security Network) trägt. Er wird gültig sein für die Standards 802.11a, 802.11b und 802.11g und bietet vor allem eine Alternative zur WEP-Sicherheitsarchitektur mit einem Schlüsselmanagement, neuen Authentifizierungsverfahren und Verschlüsselungsmethoden. Dabei stützt sich der 802.11i-Standard unter anderem auch auf den 802.1x-Standard und die darin enthaltenen Protokolle; dazu siehe unten. Daneben gehören zu den neuen Verfahren des Standards z.B. das Temporal Key Integrity Protocol (TKIP) oder der Verschlüsselungsalgorithmus AES (Advanced Encryption Standard). Eingehend behandelt wird der 802.11i-Standard in Kapitel 4. IEEE 802.1x Dieser Standard gehört nicht direkt zur 802.11-Serie, kommt hier aber auch zum Tragen, da er allgemein für die 802-Familie gilt. Er wurde 2001 verabschiedet und beschreibt eine Möglichkeit zu einer portbasierenden Authentifizierung und Autorisierung von LAN-Geräten und Benutzern an Punkt-zu-Punkt-Verbindungen und zur Sicherung der Ports vor unbefugten Zugriffen; vgl. IEEE (2001c). Dies geschieht in der Regel über RADIUS (Remote Authentication Dial In User Service) im Zusammenspiel mit dem Extensible Authentication Protocol (EAP). Detaillierter geht Abschnitt 4.5.1 auf diesen Standard ein. Höhere Schichten (ISO 3 – 7) ”Upper-Layer”-Protokolle LLC 802.2 DLL 802.1(x) – ”Bridging” 802.11 MAC 802.11d 802.11 PHY 802.11a 802.11h 802.11i 802.11b 802.11g MAC PHY Abbildung 1: IEEE 802.11-Standards im ISO-OSI-Modell 6 SicherungsSchicht (ISO 2) (2a / 2b) Physische Schicht (ISO 1) 2.2 SICHERHEIT 2.1.2 Architektur Entsprechend den IEEE-Standards spezifizierte WLANs können sowohl als Peer-to-PeerNetze – im sog. Ad-hoc-Modus – als auch in Form von vollwertigen Netzwerken – im sog. Infrastrukturmodus – betrieben werden, wobei in den meisten Fällen der Infrastrukturmodus eingesetzt wird, zumal von der Verwendung des Ad-hoc-Modus aus Sicherheitsgründen ohnehin abzuraten ist. In den folgenden beiden Abschnitten werden die Eigenschaften beider Betriebsmodi kurz beschrieben; vgl. dazu auch BSI (2002, S. 2 + 3) und Schulte (1999). Ad-hoc-Modus Im Ad-hoc-Modus findet die Kommunikation zwischen verschiedenen Rechnern auf direktem Weg statt. Ein Peer-to-Peer-Netz kann dabei zwei oder mehrere Rechner umfassen, die jeweils mit einem WLAN-Adapter ausgestattet sind. Teilnehmende Adapter müssen hierbei auf denselben Kanal eingestellt sein und können bei entsprechender räumlicher Nähe direkt mit anderen Rechnern Daten austauschen. Solch ein begrenzter Bereich wird allgemein Basic Service Set (BSS) bzw. im Fall des Ad-hoc-Netzes auch Independent BSS (IBSS) genannt. Bei der Verwendung unterschiedlicher Kanäle können auch mehrere Ad-hoc-Netze am gleichen Ort betrieben werden, die dann aber nicht untereinander kommunizieren können. Ad-hoc-Netzwerke stellen die preiswerteste Variante eines WLANs dar, da außer den WLAN-Adaptern keine weiteren Geräte benötigt werden. Allerdings sind sie meist auch die unsichersten, da in diesem Betriebsmodus oft keine Sicherheitsmechanismen zur Anwendung kommen. Ein Angreifer kann dann allein durch die Einstellung des richtigen Kanals Zugriff zum Ad-hoc-Netzwerk erlangen. Infrastrukturmodus Im Infrastrukturmodus kommt eine zentrale Funkbrücke in einem BSS zum Einsatz, ein sogenannter Access Point (AP), über den Clients miteinander kommunizieren. Der AP versorgt abhängig von der Umgebung eine Funkzelle in der Größe von 30 bis 150 Metern, aber durch den Einsatz mehrerer APs – mit sich überlappenden Funkzellen – kann mittels Roamings auch ein wesentlich größeres Gebiet abgedeckt werden. In diesem Fall wird dann von einem Extended Service Set (ESS) gesprochen. Ein AP kann darüber hinaus als Schnittstelle zu einem kabelbasierten LAN dienen oder als Repeater zur Erweiterung der Reichweite eines Netzes. Bei Verwendung von zwei APs ist auch die Funktion als Brücke zwischen zwei kabelbasierten LANs möglich, wobei ihre Reichweite durch den Einsatz von Richtantennen noch erhöht werden kann. Im Gegensatz zum Adhoc-Modus werden im Infrastrukturmodus die Sicherheitsmechanismen für das Netz vom AP determiniert, da alle Clients nur über diesen in das Netz gelangen. Dieser Modus ist damit prinzipiell sicherer, zumindest aber leichter zu kontrollieren. (Zu Schwachstellen der WEP-Sicherheitsarchitektur siehe Kapitel 2.3.) 2.2 Sicherheit Bevor die durch den aktuellen Standard implementierten Maßnahmen zur Sicherung des Datenverkehrs betrachtet werden, ist zu klären, was im Bezug auf Sicherheit denn überhaupt erreicht werden soll. Im folgenden wird darum erst erläutert, welche Schutzziele allgemein und im Rahmen der Absicherung von Netzen zu erfüllen sind, bevor die mit dem 802.11-Standard verbundenen Sicherheitsmechanismen beschrieben werden. 7 2.2 SICHERHEIT 2.2.1 Schutzziele Im Netzwerkbereich ebenso wie in der Kryptographie allgemein gilt es, bestimmte Schutzziele zu erreichen. Die wichtigsten Ziele lauten: Vertraulichkeit, Integrität, Authentizität, Anonymität und Verfügbarkeit. Natürlich lassen sich je nach Anwendung unterschiedliche Gewichtungen dieser Schutzziele festlegen oder vielleicht auch noch weitere finden. Für den Bereich der Netzwerksicherheit und des Anwendungsportfolios von WLANs sollen die aufgeführten jedoch genügen. Was unter den Zielen im einzelnen zu verstehen ist, wird im folgenden beschrieben. Vertraulichkeit Das wohl naheliegendste Schutzziel im Kontext von Datenschutz ist die Vertraulichkeit. Vertraulichkeit beinhaltet die Geheimhaltung von Informationen vor allen nicht zum Zugriff berechtigten Personen und wird durch Verschlüsselung mittels kryptographischer Verfahren erreicht. Für das WLAN bedeutet dies, daß sowohl Nutzdaten als auch Daten, die zur Herstellung und Aufrechterhaltung einer Verbindung nötig sind, nicht von Dritten entschlüsselt werden können – selbst wenn ihnen das Abfangen der entsprechenden Datenpakete gelingt. Integrität Mit der Integrität wird die Authentizität von Daten gefordert. Für das WLAN bedeutet dies wiederum, daß der Empfänger hierbei sicher sein kann, daß er genau die Daten des Senders erhalten hat, die dieser auch gesendet hat. Für den Fall, daß Informationen manipuliert worden sind, muß der Empfänger dies zuverlässig erkennen können. Der Integritätssicherung ähnlich ist der Schutz gegen zufällige Übertragungsfehler beim Übermitteln der Nachricht. Dieser kann Bitfehler entdecken, aber im allgemeinen nicht die Authentizität von Daten garantieren. Authentizität Die Authentizität von Kommunikationspartnern muß vor der Bereitstellung von Daten oder Diensten sichergestellt werden, um eine Zugangskontrolle zu ermöglichen. Authentizität ist damit eng mit der Integrität verbunden: Es muß nicht nur sichergestellt sein, daß übertragene Daten unverändert den Empfänger erreichen, sondern auch, daß die Herkunft und das Ziel dieser Daten zweifelsfrei bekannt ist. Dies ist unter anderem auch eine Voraussetzung für Verbindlichkeit. Anonymität Wenn nicht nur die übermittelten Informationen vor Dritten verborgen bleiben sollen, sondern auch die Identität der miteinander kommunizierenden Dienstanbieter bzw. Dienstnutzer, so wird Anonymität gefordert. In diesem Fall müssen auch die Verkehrsdaten einer Verbindung verschlüsselt werden. Anonymität kann in anderen Anwendungsfällen aber auch bedeuten, daß die Kommunikationspartner untereinander anonym bleiben möchten. Anonymität würde damit aber im Widerspruch zum Schutzziel Authentizität stehen und ist darum im Kontext von WLANs nicht anwendbar. Verfügbarkeit Verfügbarkeit bedeutet, daß ein Dienst immer dann zur Verfügung steht, wenn ein berechtigter Nutzer diesen Dienst in Anspruch nehmen möchte. Sie kann unter anderem durch Überlastung oder Sabotage beeinträchtigt werden. Ziel ist es, Störungen bei der Dienstbereitstellung auszuschließen bzw. zumindest soweit wie möglich einzugrenzen. 8 2.2 SICHERHEIT Im Fall einer Störung sollte diese sicher erkannt werden und Maßnahmen eingeleitet werden, die die Verfügbarkeit wiederherstellen können. 2.2.2 WLAN-Sicherheit Der IEEE 802.11-Standard enthält grundlegende Sicherheitsmechanismen im Bezug auf die Kommunikation in den im Standard spezifizierten drahtlosen Netzen und den Zugriff darauf. Es ist aber zu ermitteln, inwieweit diese Mechanismen tatsächlich die eben geschilderten Schutzziele berücksichtigen. Unter dieser Fragestellung werden im folgenden die durch den 802.11-Standard implizierten Sicherheitskonzepte vorgestellt, wobei nicht nur die Sicherheitselemente des Standards selbst, sondern auch generelle Sicherheitsmaßnahmen und Aspekte der Administration betrachtet werden. MAC-Adresse Merkmal einer Netzwerkkarte im allgemeinen und somit auch der Hardware für den Zugang zu einem WLAN ist eine eindeutige, bereits beim Hersteller vorgegebene Hardwarekennung, die MAC-Adresse. Im AP kann eine Liste von MAC-Adressen gespeichert werden, denen ein Zugriff auf das WLAN gewährt werden soll, alle anderen werden abgelehnt; vgl. BSI (2002, S. 5). Dieser MAC-Adressfilter könnte vom Prinzip her das Schutzziel Authentizität gewährleisten, wenn nicht das folgende Problem vorläge: Eine MAC-Adresse einer Netzwerkkarte – obwohl ursprünglich so angedacht – ist nicht unveränderbar. Somit kann ein Angreifer bei Kenntnis einer zugelassenen MAC-Adresse seine eigene MAC-Adresse anpassen und diesen Filter umgehen. MAC-Adressfilter bieten also nur eine sehr geringe Sicherheit und werden deshalb auch kaum eingesetzt, zumal diese Art der Zugangskontrolle einen hohen administrativen Aufwand erfordert, denn die Listen im AP müssen von Hand gepflegt werden. Darüber hinaus kann bezüglich dieser Sicherungsmaßnahme keine vollständige Interoperabilität garantiert werden, da sie zwar auf dem 802.11-Standard aufsetzt, aber nicht explizit in ihm enthalten ist; vgl. Wi-Fi Alliance (2003a, S. 5). SSID Ein BSS kann durch einen Netzwerknamen, den Service Set Identifier (SSID) identifiziert werden; vgl. Gast (2002, S. 75). Es besteht die Möglichkeit, bei einem AP einen solchen 0 bis 32 Bytes langen Netzwerknamen zu vergeben. Ist dieser Name 0 Byte lang bzw. der Betriebsmodus Any gesetzt, kann sich jeder Client beim AP anmelden. Der AP macht in diesem Betriebsmodus mittels regelmäßig ausgesandter Beacon-Frames (Signalfeuer) auf sich aufmerksam. Wird jedoch ein Name vergeben, so werden nur diejenigen Clients zugelassen, die eben diesen Netzwerknamen kennen. Der AP sendet in diesem Modus auch keine Beacon-Frames sondern wartet nur auf passende Anfragen. Dieser Mechanismus dient zwar primär der Identifikation von Service Sets (insbesondere in Extended Service Sets für den Übergang zwischen verschiedenen Basic Service Sets), er kann aber auch als Zugangskontrolle zu diesen verstanden werden. Wobei auch hier nur eine minimale Sicherheit gewährt werden kann, da die SSID meist im Klartext übermittelt wird und somit leicht abgefangen werden kann. Die SSID kann darum das Schutzziel Authentizität allenfalls unterstützen, aber nicht erfüllen. Dagegen stellt die SSID im Bezug auf das Schutzziel Anonymität eine regelrechte Bedrohung dar: Wird als SSID zum Beispiel der Firmenname oder ein ähnliches Identifizierungsmerkmal verwendet, so erfährt ein Angreifer bereits beim Abfangen einer 9 2.2 SICHERHEIT Nachricht, wessen Daten er mitliest; vgl. Friedrich (2002). Unter anderem diese Nachlässigkeiten bei der Einrichtung von Firmennetzwerken aber auch von privaten Netzen hat dazu geführt, daß das sog. ”War-Driving” immer beliebter wird; vgl. Edney und Arbaugh (2003, S. 31 – 32). Es besteht darin, meist mit einem Auto und entsprechender Ausrüstung Straßen in Ballungsgebieten abzufahren und nach angreifbaren Netzen zu suchen, die ausgespäht werden können oder in die mit Hilfe von sog. Crack-Tools (siehe hierzu auch Abschnitt 2.3.2) eingebrochen werden kann. Diese Art von Massenangriff wird immer wieder auch von Reportern verwendet, um mangelnde Sicherheitsvorkehrungen in zum Teil auch sehr sensiblen Netzen wie denen von Arztpraxen aufzudecken. Ihre Berichte liefern meist ein erschreckendes Bild; vgl. beispielsweise Accenture (2003, S. 21 – 24). Mehr Informationen zum ”War-Driving” lassen sich z.B. auf Wardriving.com (HP) nachlesen. Neben dem SSID kennt der 802.11-Standard auch die Basic Service Set Identification (BSSID). Dabei handelt es sich aber schlicht um die MAC-Adresse eines APs in einem BSS; vgl. Gast (2002, S. 41). WEP-Sicherheitsarchitektur Die WEP-Sicherheitsarchitektur stellt den eigentlichen Sicherheitsmechanismus des IEEE 802.11- bzw. 802.11b-Standards dar; vgl. IEEE (1999a, S. 61 – 65). Es beinhaltet sowohl Mittel zur Verschlüsselung der Datenübertragung als auch zum Schutz der Datenintegrität und zur Authentifizierung der Teilnehmer im Netz. Diese drei Kernpunkte der WEP-Sicherheitsarchitektur versuchen die für das WLAN wichtigsten Schutzziele Vertraulichkeit, Authentizität und Integrität zu gewährleisten, doch zu allen Teilen sind mittlerweile zahlreiche Schwachstellen bekannt, wodurch keines der drei Ziele adäquat erreicht werden kann. Das Ziel der Anonymität wird aufgrund der bereits erwähnten Übermittlung der MAC-Adresse im Klartext während der Authentifizierung auch nicht erreicht. (Tatsächlich könnte theoretisch nur ein Angreifer mit einer gefälschten MAC-Adresse anonym bleiben.) Eine ausführliche Beschreibung der Elemente und Schwachstellen der WEP-Sicherheitsarchitektur folgt in den Abschnitten 2.3.1 und 2.3.2. Administration Der Administration von WLANs kommt im Vergleich zum LAN eine wesentlich höhere Bedeutung zu, denn im Gegensatz zum herkömmlichen kabelbasierten LAN treten beim WLAN vor allem die physischen Sicherheitsprobleme in den Vordergrund. Während für einen Angriff auf ein kabelbasiertes Netz der physische Zugriff auf die Datenleitung nötig ist, der bei entsprechenden Sicherheitsvorkehrungen im Bezug auf die Räumlichkeiten und Gebäude, in denen das Netz betrieben wird, leicht unterbunden werden kann, machen Funkwellen nicht vor Gebäudegrenzen halt. Der Betrieb eines isolierten Netzes (beispielweise ohne Internetanbindung und mit begrenztem Nutzerkreis) ist mit einem Funk-LAN nicht ohne weiteres möglich. Es ist also nötig, das WLAN vor allem logisch abzusichern. Eine gute logische Absicherung ist aber nicht allein von den eingesetzten Verfahren abhängig, sondern auch von einer verantwortungsvollen Administration. Ein sonst sehr gutes Authentifizierungsverfahren kann angreifbar werden, wenn der Schlüssel beispielweise nicht häufig genug gewechselt wird. (Zu einer der größten Schwachstellen der WEPSicherheitsarchitektur gehört daher auch die Langlebigkeit des verwendeten Schlüssels, wie in Abschnitt 2.3.2 gezeigt wird.) 10 2.3 WEP-SICHERHEITSARCHITEKTUR Wie oben bereits erwähnt, scheitert auch der Schutz durch die Überprüfung der MACAdressen an meist mangelndem administrativem Einsatz. Ein wichtiger Bestandteil der Administration von WLANs ist außerdem die Auswahl des Standortes der verwendeten APs. Denn Funkwellen können sich auch über die spezifizierte Reichweite von 30 bis 150 Metern hinaus unkontrolliert ausbreiten, wodurch unter Umständen ein Abhören des WLANs auch außerhalb der vorgesehenen Nutzreichweite möglich ist. Aber auch umgekehrt kann der Einfluß elektromagnetischer Funkwellen den Betrieb eines WLANs stören, sei es unbeabsichtigt durch andere technische Systeme oder auch in Form einer Denial Of Service (DoS)-Attacke durch den Einsatz von Störquellen (sog. Jammer); vgl. auch BSI (2002). Der Administrator ist also gehalten, den Einfluß von elektromagnetischen Funk-Störquellen zu minimieren und bei etwaigen Störungen entsprechend schnell handlungsfähig zu sein, um dem Schutzziel der Verfügbarkeit Rechnung zu tragen. 2.3 WEP-Sicherheitsarchitektur Neben den nur eingeschränkt wirksamen Möglichkeiten, die SSID oder die MAC-Adresse zur Absicherung eines auf dem IEEE 802.11- oder 802.11b-Standard beruhenden WLANs heranzuziehen, beinhaltet die WEP-Sicherheitsarchitektur als Teil des Standards die eigentlichen Sicherheitsmechanismen zur Verschlüsselung, Integritätswahrung und Authentifizierung. Allerdings ist es auch gerade diese Sicherheitsarchitektur, die die größten Sicherheitsprobleme in WLANs impliziert. Obwohl sich der Name daraus ableitet, Wired Equavalent Privacy kann dieses Protokoll sicher nicht erreichen. Die folgenden Abschnitte zeigen auf, welche Verfahren durch WEP festgelegt werden, und welche Schwachstellen diese Verfahren mit sich bringen. 2.3.1 Funktionsweise WEP soll Vertraulichkeit, Integrität und Authentizität im WLAN sicherstellen. Für die Vertraulichkeit kommt die Stromchiffre RC4 von RSA Security (HP) zum Einsatz (vgl. IEEE (1999a, S. 61 – 65)), die Integrität wird mittels einer CRC (Cyclic Redundancy Check)-Summe geschützt (vgl. IEEE (1999a, S. 40 – 41)) und für die Authentifizierung wird ein Challenge-Response-Verfahren eingesetzt; vgl. IEEE (1999a, S. 59 – 61). Im folgenden wird die Funktionsweise der einzelnen Verfahren kurz beschrieben. Verschlüsselung Für die Verschlüsselung mittels des Stromchiffrier-Algorithmus RC4 wird wahlweise ein 40 oder 104 Bits langer Schlüssel verwendet, der sowohl dem AP als auch allen im Netz befindlichen Clients bekannt sein muß. Es handelt sich um eine symmetrische (Shared Key) Verschlüsselung, da der Schlüssel sowohl für die Verschlüsselung als auch die Entschlüsselung verwendet wird. Der Standard sieht vor, daß bis zu vier verschiedene Shared Keys definiert werden können, deren jeweilige Key-ID (KID) dann im Frame Body mit übermittelt werden muß. Die Verschlüsselung eines zu sendenden Datenpaketes, einer MSDU (MAC Service Data Unit) (im folgenden Nachricht genannt), läuft wie folgt ab: Die Nachricht M (Message) wird im ersten Schritt mit einer 32 Bits langen CRC-Prüfsumme (CRC-32) versehen, dem ICV (Integrity Check Value); siehe dazu weiter unten. Dieser wird an das eigentliche Datenpaket angehängt und bildet verkettet mit der Nachricht den Klartext (MkICV). In einem 11 2.3 WEP-SICHERHEITSARCHITEKTUR zweiten Schritt wird ein 24 Bits langer, zufälliger Initialisierungsvektor (IV) erzeugt und mit dem geheimen Schlüssel K (Key) verkettet. Dieser String (KkIV), der je nach gewähltem geheimen Schlüssel 64 oder 128 Bits lang ist, dient als Grundlage für die Erzeugung eines Schlüsselstroms durch den RC4-Algorithmus, aus dem ein Schlüssel RC4(KkIV) mit der Länge des Klartextes entnommen wird. Als letzter Schritt folgt die XOR-Verknüpfung des Klartextes mit dem Schlüsselstrom (MkICV) ⊕ RC4(KkIV), die den Schlüsseltext C (Cyphertext) ergibt. Abbildung 2 zeigt eine solche durch WEP verschlüsselte Nachricht (vgl. auch Freudl (2003, S. 7)), der zur Vervollständigung des Frame Bodys noch der IV und eine 2 Bits lange Key-ID für den verwendeten Schlüssel vorangestellt wird. (Die Schlüssel-ID wird dabei mit Hilfe von 6 Füllbits auf die Länge eines vollen Bytes gebracht.) Nachricht0-2304 Byte ICV4 Byte ⊕ IV3 Byte Schlüssel5|13 Byte RC4- Schlüsselstrom4-2308 Byte = IV3 Byte Schlüsseltext4-2308 Byte KID1 Byte ? Frame Body Abbildung 2: WEP-Verschlüsselung Die maximale Länge von Nachrichten ist für den 802.11-Standard beschränkt auf 2304 Bytes. Damit ist die Länge des Frame Bodys von MAC-Frames beim Einsatz der WEPArchitektur gleich 2312 Bytes; vgl. IEEE (1999a, Abschnitt 6.2.1.1.2). Um die Zuverlässigkeit der Übertragung zu sichern, wird die Nachricht unter Umständen fragmentiert, bevor sie verschlüsselt wird. Dies hat beim Einsatz von WEP allerdings keinen Einfluß auf die Sicherheit und den Ablauf der Verschlüsselung. Die Fragmentierung wird deshalb hier nicht weiter besprochen. Für weitere Informationen dazu siehe IEEE (1999a, Abschnitt 9.1.4). Entschlüsselung Wird eine mittels WEP verschlüsselte Nachricht empfangen, so erfolgt die Entschlüsselung der Daten folgendermaßen: Der Empfänger erhält die nötigen Informationen zur Entschlüsselung – nämlich den IV und die Schlüssel-ID – unverschlüsselt übermittelt. Mit Hilfe des durch die KID festgelegten Schlüssels K und des IVs kann der Empfänger denselben Schlüsselstrom RC4(KkIV) wie der Sender erzeugen. Da der Schlüsseltext C durch ein einfaches XOR mit dem Schlüsselstrom entstanden ist, kann wiederum durch ein erneutes einfaches XOR des Schlüsseltextes C mit dem Schlüsselstrom der Klartext (MkICV) erzeugt werden. Es gilt (mit RC4 = RC4(KkIV)): C ⊕ RC4 = {(M kICV ) ⊕ RC4} ⊕ RC4 = (M kICV ) ⊕ (RC4 ⊕ RC4) = (M kICV ) 12 2.3 WEP-SICHERHEITSARCHITEKTUR Abschließend wird über die entschlüsselte Nachricht der ICV berechnet und mit dem erhaltenen ICV verglichen. Nur bei Übereinstimmung der beiden Prüfsummen wird die Nachricht akzeptiert. Integrität Zur Wahrung der Integrität einer Nachricht kommt eine CRC-32 Checksumme zum Einsatz, die sonst eigentlich nur für die Absicherung gegenüber zufälligen Übertragungsfehlern eingesetzt wird. Um diese darum völlig unzureichende Integritätssicherung etwas aufzuwerten, wird die Berechnung – wie in Abbildung 3 zu sehen – bereits durchgeführt, bevor die Nachricht verschlüsselt wird. Nachricht0-2304 Byte ICV4 Byte 6 CRC-32 Abbildung 3: WEP-Integritätswahrung Der ICV wird anschließend mit der Nachricht verschlüsselt, doch auch das verhilft dem ICV zu keiner höheren Sicherheit, wie in Abschnitt 2.3.2 gezeigt wird. Einen eigentlich passenderen Einsatz erfährt CRC-32 bei der Absicherung des letztlich zu übermittelnden Frames gegen Übertragungsfehler. Nachdem dem WEP Frame Body, bestehend aus IV, Schlüssel-ID und der verschlüsselten Kombination aus Nachricht M und ICV, ein MAC-Header vorangestellt wurde, der für die Adressierung im 802.11-Netz verwendet wird, wird mittels CRC-32 die Frame Check Sequence (FCS) berechnet. Abbildung 4 zeigt einen vollständigen MAC-Frame inklusive der angehängten FCS; vgl. IEEE (1999a, S. 34). MAC-Hdr.30 Byte IV3 Byte KID1 Byte Schlüsseltext4-2308 Byte FCS4 Byte 6 CRC-32 Abbildung 4: WEP-Fehlerkorrektur Bevor der Empfänger die übermittelten Daten wie weiter oben beschrieben entschlüsselt und deren Integrität überprüft, wird anhand der FCS sichergestellt, daß die Datenübermittlung fehlerfrei verlaufen ist. Authentifizierung Der IEEE 802.11-Standard erlaubt zwei Betriebsmodi für die Authentifizierung in einem WLAN: Open System und Shared Key. Ist der Access Point auf 13 2.3 WEP-SICHERHEITSARCHITEKTUR Open System konfiguriert, findet keine Authentifizierung statt und jeder Client kann sich an dem AP anmelden. Im Shared-Key-Modus müssen sich die Clients in einem ChallengeResponse-Verfahren mit dem bereits aus der Verschlüsselung bekannten gemeinsamen Schlüssel am AP authentifizieren; vgl. Weatherspoon (2000, S. 3). Der Client muß für eine Anmeldung gegenüber dem AP beweisen, daß er den geheimen gemeinsamen Schlüssel kennt. Im ersten Schritt stellt der Client die Authentifizierungsanfrage an den AP. Hierbei übermittelt der Client seine Identität in Form seiner MAC-Adresse (48 Bits), eine 16 Bits lange Authentication Algorithm Identification (AAI), die die Authentifizierungsmethode angibt (in diesem Fall 1 für Shared Key), und eine ebenfalls 16 Bits lange Sequenznummer (SN), die für Kontinuität bei den vier Authentifizierungsschritten sorgen soll. Der AP antwortet darauf im zweiten Schritt mit der gleichen AAI, einer um 1 erhöhten Sequenznummer und einer 128 Bytes langen Zufallszahl. Als Antwort auf diese Challenge des APs verschlüsselt der Client in einem dritten Schritt alle drei Angaben, die er von dem AP erhalten hat, mit dem gemeinsamen geheimen Schlüssel (allerdings mit einer wieder um 1 erhöhten Sequenznummer) und sendet den Schlüsseltext zurück an den AP. Dieser verifiziert im letzten Schritt die Response des Clients und schickt bei erfolgreicher Entschlüsselung des Schlüsseltextes neben der AAI und einer erneut um 1 erhöhten Sequenznummer die Authentifizierungsbestätigung successful an den Client. Im negativen Fall würde unsuccessful übertragen. Abbildung 5 zeigt die vier Schritte des Ablaufs der Challenge-Response-Authentifizierung; vgl. auch Freudl (2003, S. 10). MAC6 Byte , AAI=12 Byte , SN=12 Byte - AAI=12 Byte , SN=22 Byte , Challenge128 Byte Client WEP AAI=12 Byte , SN=32 Byte , Challenge128 Byte AP - AAI=12 Byte , SN=42 Byte , successful Abbildung 5: WEP-Authentifizierung Bei der Verwendung von Open System würde die erste Nachricht mit der AAI = 0 gesendet werden und bereits die Antwort darauf würde mit successful die Anmeldung bestätigen, wenn der AP auf Open System konfiguriert wurde. 2.3.2 Schwachstellen Abgesehen von systematischen Schwächen der einzelnen Verfahren liegt eine nicht zu unterschätzende Schwachstelle von WLAN-Komponenten darin, daß die optionalen Sicherheitsmechanismen der WEP-Sicherheitsarchitektur im Auslieferungszustand meist deaktiviert sind. So wird z.B. Open System als Standardeinstellung sogar im 802.11-Standard vorgegeben. In vielen Fällen werden somit aufgrund von Unwissenheit entsprechende Verfahren überhaupt nicht eingesetzt. 14 2.3 WEP-SICHERHEITSARCHITEKTUR Aber selbst wenn sie eingesetzt werden, bieten sie nicht den gewünschten Schutz vor Angriffen: Sowohl passive Angriffe, die darauf abzielen, den Inhalt der Datentransfers zu ermitteln, also die Vertraulichkeit auszuhebeln, sind möglich, als auch aktive Angriffe, die die Integrität und Authentizität der übermittelten Daten bedrohen und dazu dienen, z.B. fremde oder manipulierte Daten in den Datenverkehr einzuschleusen oder diesen ganz zu verhindern. Zu den passiven Angriffen gehören z.B. Brute-Force-Attacken, bei denen durch systematisches Ausprobieren aller Möglichkeiten versucht wird, den gemeinsamen Schlüssel zu brechen, oder auch die sog. Known-Plaintext-Attacke, bei der ein Angreifer, der bereits in Besitz eines oder mehrerer Klartext/Schlüsseltext-Paare ist, versucht, weitere Schlüsseltexte zu entschlüsseln. Eine aktive Attacke bestünde z.B. darin, mit einem eigenen AP die Nutzer eines WLANs von ihrem eigentlichen AP abzuziehen (Spoofing) oder mittels einer Replay-Attacke bereits verwendete Datenpakete bestimmten Inhalts in den Datenverkehr einzuschleusen. Im folgenden werden die wichtigsten Schwachstellen in der WEP-Sicherheitsarchitektur kurz beschrieben und mögliche Angriffe skizziert. Für eine intensivere Untersuchung der einzelnen Schwächen und den daraus resultierenden Angriffsszenarien sei hier aber z.B. auf Borisov et al. (2001), Fluhrer et al. (2001), Arbaugh et al. (2001) oder Potter und Fleck (2003) verwiesen. Administration Ein Teil der Probleme bezüglich mangelnder Sicherheit sind nicht ausschließlich technischer Natur. Durch fehlende oder schlechte Administration werden eventuelle Angriffe gefördert bzw. auch erst möglich gemacht. So ist eines der Hauptprobleme ein über viel zu lange Zeit gleichbleibender verteilter Schlüssel, der somit auch rechen- bzw. zeitintensiven Angriffen Erfolg verspricht. Bei entsprechend großen WLANs beinhaltet ein Schlüsseltausch allerdings auch einen nicht unerheblichen Aufwand, da dieser Wechsel manuell durchgeführt werden muß – die eigentliche Ursache des Problems ist also hier wiederum im Design der WEP-Sicherheitsarchitektur zu suchen. Eine weitere Gefahr stellt das mangelnde Sicherheitsbewußtsein von Anwendern aber auch von Administratoren dar. Hier erliegen nicht nur unbedarfte Privatanwender den nebulösen Sicherheitsversprechen der Hardwarehersteller und Händler, die ihnen suggerieren, daß allein die Aktivierung von WEP bereits eine ausreichende Sicherung ihres Netzes zur Folge hätte. Schlüssellänge Eine Schlüssellänge von 40 Bits ist vollkommen unzureichend. (Diese Schlüssellänge war allerdings die größte, problemlos aus den USA zu exportierende zu der Zeit, als die WEP-Sicherheitsarchitektur entwickelt wurde.) Bei einem so kurzen Schlüssel kann bereits nach dem Abfangen einer einzigen verschlüsselten Nachricht durch einen BruteForce-Angriff, also durch einfaches Durchprobieren aller möglichen 40 Bits langen Schlüssel, der geheime verteilte Schlüssel ermittelt werden. Hinzu kommt, daß von vielen Herstellern Keygeneratoren eingesetzt werden, die es den Benutzern ermöglichen, sich aus reinen ASCII-Zeichenfolgen Schlüssel generieren zu lassen, statt den Schlüssel in hexadezimaler Schreibweise selbst einzugeben. Diese Keygeneratoren sind mit einer Schwäche behaftet, die dazu führt, daß die Möglichkeiten für die Startsequenz des der WEP-Architektur eigenen PRNGs (Pseudo-Random Number Generator) eingeschränkt werden, wodurch sich die Anzahl der bei einem Angriff zu prüfenden Schlüssel erheblich reduziert; vgl. Freudl (2003, S. 11 – 13). Erst eine Schlüssellänge von 104 Bits bietet (allerdings auch nur bei sinn15 2.3 WEP-SICHERHEITSARCHITEKTUR voller Schlüsselwahl) Sicherheit gegenüber Brute-Force-Attacken auf der Basis der heute verfügbaren Rechenleistung. Initialisierungsvektor Die Länge von 24 Bits für den IV ist ebenfalls viel zu kurz. Da der Shared Key als konstant anzunehmen ist, erlaubt diese Länge lediglich 224 verschiedene Schlüssel. Es ist hierbei auch unerheblich, ob der eigentliche Schlüssel 40 oder 104 Bits lang ist. Spätestens also nach 224 versendeten Paketen wiederholt sich der IV. Obwohl der IV zufällig gewählt werden sollte, wurde von vielen Herstellern meist nur ein einfacher Zähler verwendet, der bei jedem Reset der Hardware wieder bei 0 beginnt. Aber selbst wenn der IV zufällig gewählt wird, ist die Wahrscheinlichkeit der erneuten Verwendung eines IVs bereits nach 4823 übermittelten Paketen größer als 50%. Es liegt also auf der Hand, daß es ein Leichtes sein wird, zwei Pakete abzufangen, die mit dem gleichen Schlüssel verschlüsselt wurden. Liegen zwei solche Pakte vor, kann durch die Anwendung eines XORs auf die beiden Schlüsseltexte der Schlüsselstrom entfernt werden. Das Ergebnis entspricht der Anwendung eines XORs auf die beiden unverschlüsselten Datenpakete. Sind nun Teile des einen Klartextes bekannt, kann der andere einfach abgelesen werden. Durch die Anwendung von Wörterbüchern oder Heuristiken können die Klartexte entschlüsselt werden. Gelingt dies, ist natürlich auch die Kombination von IV und Shared Key bekannt, was erlaubt, beliebige Nachrichten einzuschleusen, da keine Prüfung der Wiederverwendung von IVs vorgenommen wird. Schon im Standard selbst wurde auf dieses Problem hingewiesen; vgl. IEEE (1999a, S. 63). Prüfsumme Eine CRC-Summe ist für die Integritätsprüfung völlig wirkungslos. Das Verfahren diente ursprünglich dazu, Übertragungsfehler zu erkennen. Diese zufälligen Störungen vermag das Verfahren auch mit einer sehr geringen Fehlerwahrscheinlichkeit von 2−32 zu entdecken; vgl. BSI (2002, S. 7). Borisov et al. (2001) zeigen jedoch, daß es die CRC-Summe aufgrund ihrer linearen Form in Kombination mit der ebenfalls linearen Stromchiffre RC4 erlaubt, kontrollierte Änderungen am Schlüsseltext vorzunehmen, ohne die Checksumme zu verletzen. Damit kann also das Hauptziel der Integrität durch die WEP-Sicherheitsarchitektur nicht gewährleistet werden, da bereits einfache passive Angriffe möglich sind. Chiffrealgorithmus Die Stromchiffre RC4 leidet an einem grundsätzlichen Designfehler, der passive Angriffe ermöglicht. Von Fluhrer et al. (2001) wurde dargelegt, daß die weitestgehend auf Permutationen basierende Stromchiffre RC4 unter Umständen nicht gut genug permutiert und dadurch bestimmte Gruppen von IVs ermittelt werden können, die zu besonders einfach zu brechenden Verschlüsselungen führen; vgl. auch Mann (2003). Die Attacke auf diese Schwachstelle wird teilweise auch nach den Autoren des Papers über die Sicherheitslücke als Fluhrer-Mantin-Shamir (FMS)-Attacke bezeichnet; vgl. Edney und Arbaugh (2003, S. 242 + 243). Eine ausführliche Beschreibung zur Anwendung dieses Angriffs bieten Stubblefield et al. (2001). Die Schwäche des Chiffrealgorithmus ist das häufigste Ziel der zahlreichen frei im Internet erhältlichen Crack-Tools, mit denen es jedem möglich ist, Angriffe auf WLANs durchzuführen. Am bekanntesten unter diesen Angriffswerkzeugen ist das Programm AirSnort 16 2.3 WEP-SICHERHEITSARCHITEKTUR (PRG); vgl. auch Potter und Fleck (2003, S. 16). Wie auch WEPCrack (PRG) ermöglicht es dem Benutzer, auf relativ einfachem Weg den der WEP-Sicherheitsarchitektur zugrundeliegenden Schlüssel zu ermitteln. (Zu weiteren Angriffswerkzeugen siehe unten.) Wie ein auf der Schwäche der RC4-Stromchiffre basierender Angriff praktisch durchgeführt werden kann und wieviele Pakete hierfür bei welcher Paketgröße und Netzauslastung abgefangen werden müssen, beschreibt z.B. BSI (2002, S. 7 – 8). Schlüsselmanagement Ein Schlüsselmanagement ist in der WEP-Sicherheitsarchitektur nicht vorgesehen. Deshalb muß bei einem Schlüsselwechsel in allen Clients und APs manuell ein neuer Schlüssel eingetragen werden, was physischen Zugriff auf die entsprechenden Komponenten erfordert. Dies führt meist dazu, daß der Schlüssel nur sehr selten bzw. überhaupt nicht gewechselt wird, oder aber dazu, daß der Schlüssel mangels physischem Zugriff über unsichere Übertragungswege zum Anwender übermittelt wird. Eine im Standard vorgesehene Speicherung von bis zu vier verschiedenen Shared Keys auf einem WLAN-Gerät hätte die Situation zumindest etwas verbessern können, bloß erlaubt bisher kein Gerät einen automatischen Wechsel zwischen den einzelnen Schlüsseln, wodurch meist doch nur ein einziger Schlüssel verwendet wird; vgl. IEEE (1999a, S. 64 – 69). Authentifizierung Das Authentifizierungsprotokoll (sofern es überhaupt aktiviert ist) kann leicht gebrochen werden. Ist der Angreifer in der Lage, einen vollständigen ChallengeResponse-Austausch einer Datenstation mit dem AP mitzuschneiden, kann durch die Anwendung eines einfachen XORs auf Challenge und Response der Schlüsselstrom errechnet werden, mit dem der Angreifer anschließend die Möglichkeit besitzt, zu jeder Challenge eine entsprechende Response zu erzeugen. Weiterhin erlaubt das Protokoll lediglich eine einseitige Authentifizierung, denn es sieht nur die Anmeldung des Clients am AP vor. Der AP muß sich dagegen nicht authentifizieren. Somit kann der Client nicht erkennen, ob seine Nachrichten nicht von einem fremden AP, der mit einer stärkeren Sendeleistung den eigentlichen AP überlagert, abgefangen werden. In diesem Fall wird von dem sog. Spoofing gesprochen. Schließlich ist zu bemängeln, daß die Authentifizierung nur die verwendete Hardware betrifft, nicht aber die Benutzer. Aufgrund dieser fehlenden Nutzer-Kontrolle, kann jeder, der Zugriff auf einen Client erlangt, auch Zugriff zum WLAN erlangen. Schlüsselunabhängigkeit Für die Erreichung von zwei verschiedenen Sicherheitszielen sollten unabhängige Schlüssel eingesetzt werden. Da in der WEP-Sicherheitsarchitektur aber sowohl für die Authentifizierung als auch für die Verschlüsselung derselbe Schlüssel verwendet wird, bedeutet der erfolgreiche Angriff auf eines der beiden Verfahren zugleich auch den Bruch des jeweils anderen. Angriffswerkzeuge Nicht nur zur Ermittlung des WEP-Schlüssels existieren fertige Softwarelösungen. Auch das komfortable Abhören (vgl. Aerosol (PRG)) und Analysieren von Datenpaketen (vgl. Etheral (PRG)) und sogar das Vortäuschen eines APs mittels einer einfachen WLAN-Netzwerkkarte ist möglich; vgl. HostAP (PRG). Diese Tools sollen hier aber nur als Referenz für weitere Recherchen erwähnt werden. Eine sehr umfangreiche Liste an 17 2.3 WEP-SICHERHEITSARCHITEKTUR verfügbaren Werkzeugen, die neben den oben genannten eine ganze Reihe von verschiedenen Angriffen auf WLANs ermöglichen, bietet Accenture (2003, S. 33 + 34). 18 3 Zwischenlösungen Nachdem die gravierenden Unzulänglichkeiten der WEP-Sicherheitsarchitektur schon früh bekannt geworden sind, wuchs der Bedarf an einer verbesserten Sicherheitsarchitektur sehr schnell, da auch zu befürchten war, daß die WLAN-Technologie aufgrund der Sicherheitsprobleme keinen großen Erfolg haben würde – vor allem nicht im professionellen Umfeld. An eine schnelle Verabschiedung eines neuen IEEE-Standards, der die Sicherheitsarchitektur komplett überarbeiten würde, war hierbei allerdings nicht zu denken. Deshalb mußte vor allem versucht werden, auf der Basis der Sicherheitsmechanismen des IEEE 802.11-Standards eine Absicherung der über das WLAN übertragenen Daten zu erreichen. Hier bieten sich Mechanismen an, die – bezogen auf das ISO-OSI-Modell – in höheren Schichten angesiedelt sind als die der WEP-Architektur: Anstatt Änderungen an der zugrundeliegenden Übertragungsart der Daten vorzunehmen, werden so einfach die Datenpakete selbst abgesichert, bevor sie über ein WLAN in Frames übertragen werden. Zum Einsatz kommen dabei Techniken wie Virtual Private Networks (VPNs) auf der Basis von IPsec (Internet Protocol Security) oder z.B. mittels SSH (Secure Shell) verschlüsselte Verbindungen. Selbstverständlich wurde das Problem der Unsicherheit des 802.11-Standards auch seitens der IEEE selbst angegangen. Bereits Ende 2000 begannen die Arbeiten an einer Erweiterung und Verbesserung der Sicherheitsarchitektur von 802.11-WLANs. Der neue IEEE 802.11i-Standard soll alle Probleme, an denen die WEP-Sicherheitsarchitektur krankt, durch den Einsatz neuer Sicherheitsmechanismen beheben; siehe hierzu Kapitel 4. Er hat aber auch den Nachteil, daß mit dem Wechsel der Sicherheitsarchitektur ein Wechsel der zugrundeliegenden Hardware einhergehen muß, da nicht alle Elemente aus dem 802.11iStandard kompatibel zu der bestehenden Hardware sind. Darüber hinaus ist eine mögliche Verabschiedung des neuen Standards nicht vor Anfang 2004 zu erwarten. Es mußte allerdings schnell etwas getan werden, um dem Unsicherheitsmakel von WLANs entgegenzutreten, insbesondere da die Lösungen auf der Basis von VPNs langfristig nicht zufriedenstellend sind, wenn bedacht wird, daß die Neueinrichtung von VPNs mit nicht unerheblichem Mehraufwand verbunden ist, bzw. auch nicht in jedem Fall möglich ist. So wurden auf Bestreben der Wi-Fi Alliance im letzten Jahr die bis dahin bereits fertigen Teile des IEEE 802.11i-Standards, die auf der bestehenden Hardware einsetzbar waren, zu der Wi-Fi Protected Access (WPA)-Sicherheitsarchitektur zusammengefaßt und schon im April dieses Jahres als eigenständiger Standard veröffentlicht; vgl. Wi-Fi Alliance (2003c). Die WPA-Sicherheitsarchitektur wurde dabei so gestaltet, daß sie sowohl kompatibel zu der bereits existierenden Hardware ist und dort durch ein einfaches Software-Update eingespielt werden kann, als auch zu der für den 802.11i-Standard nötigen neuen Hardware, so daß eine Investition in WPA sicher ist, zugleich aber auch wegbereitend für die nächste Generation von WLAN-Geräten. Bereits seit Mitte 2003 sind Produkte und Updates mit WPA-Unterstützung auf dem Markt. Da der 802.11-Standard generell Freiraum für Erweiterungen der Sicherheitsmechanismen gelassen hatte, ist zwar die WPA-Sicherheitsarchitektur die mit Abstand erfolgreichste, aber dennoch nicht einzige Weiterentwicklung der bestehenden Systeme. So wird z.B. von Agere Systems Inc. (HP) die WEP-Erweiterung WEPplus angeboten und RSA hat mit FPK (Fast Packet Keying) ein neues Verfahren entwickelt, um dynamische WEP-Schlüssel zu erzeugen. Ansätze, die sich allerdings nicht in den bestehenden Rahmen der IEEE-Umgebung einfügen, haben wohl nur geringe Chancen am Markt. 19 3.1 VPN MIT IPSEC Bei der Betrachtung der möglichen Abhilfen für die unzureichenden Sicherheitsmechanismen in der WEP-Architektur stellt sich – bevor der falsche Eindruck entsteht, WLANs seien bisher nicht einsatzfähig gewesen – allerdings auch die Frage, ob eine so hohe Sicherheit denn überhaupt in allen Fällen zwingend nötig ist. Beim Einsatz eines WLANs in einem Firmennetzwerk ist diese Frage sicher leicht zu beantworten, doch bei einem Adhoc-Netzwerk beispielsweise für den Zweck und die Dauer eines Netzwerkspiels kann auf Sicherheit durchaus verzichtet werden. Sie kann sogar unerwünscht sein, wenn z.B. für Verschlüsselungen Rechenleistung gebraucht wird, die dann dem Spielablauf verloren geht. Grundsätzlich gilt deshalb, daß Betrachtungen der Sicherheitsmechanismen auch im Kontext des angestrebten Einsatzbereiches der WLAN-Technik zu beurteilen sind. Die folgenden Abschnitte beschreiben, welche Zwischenlösungen derzeit und sehr wahrscheinlich auch über die bevorstehende Verabschiedung des IEEE 802.11i-Standards hinaus zur Anwendung kommen. Nach der Vorstellung der am häufigsten eingesetzten zusätzlichen Techniken unter Beibehaltung des ursprünglichen Standards wird die WPASicherheitsarchitektur beschrieben. Hierbei wird auf eine genauere Betrachtung der zugrundeliegenden Sicherheitsmechanismen verzichtet, da diese als Bestandteil des 802.11iStandards anschließend in Kapitel 4 detailliert besprochen werden. Schließlich geht dieses Kapitel noch kurz auf alternative Ansätze zur Ablösung bzw. Verbesserung der WEPSicherheitsarchitektur ein. 3.1 VPN mit IPsec Der Haupteinsatzzweck von VPNs war ursprünglich die Bereitstellung einer Möglichkeit, die Sicherheit, die durch gemietete bzw. dedizierte Netzwerkleitungen z.B. eines firmenweiten Intranets gegeben ist, auch auf öffentlichen Leitungen (Internet) zu erreichen, um somit Kosten für private Leitungen sparen zu können. VPNs simulieren dazu mittels eines sog. Tunnels die Abwicklung des Datenverkehrs auf einer isolierten Datenleitung über das WAN (Wide Area Network), obwohl der Datenverkehr tatsächlich parallel zu fremden Datenübertragungen durch eine gemeinsam genutzte, ungeschützte Datenleitung geführt wird; vgl. VPN Consortium (2003). Das WLAN ist zwar von seinem Aufbau her als Intranet angelegt, doch aufgrund der Unsicherheit eher mit dem Internet zu vergleichen, bei dem auch damit gerechnet werden muß, daß die übermittelten Daten abgehört oder verfälscht werden können. Was liegt da also näher, als eine bewährte Sicherheitstechnologie, die bereits erfolgreich über offene WANs angewendet wird, auch im Bereich von WLANs einzusetzen. Bereits seit 1990 werden VPNs im überwiegend betrieblichen Umfeld in herkömmlichen LAN/WAN Kombinationen verwendet. Die Ausweitung des Einsatzes dieser Technologie auf WLANs bedarf in diesen Fällen darüber hinaus also nicht einmal großer Anstrengungen; vgl. Wi-Fi Alliance (2003a, S. 5). Unter einem Tunnel im Sinne von VPNs ist ein Verfahren zu verstehen, nach dem ein zu sendendes Datenpaket komplett in ein weiteres Paket gekapselt (im allgemeinen verschlüsselt) wird, um dann als neues Datenpaket über das Netz versendet zu werden. Auf der Empfängerseite wird dann das eigentliche Datenpaket aus dem empfangenen Paket wieder extrahiert bzw. entschlüsselt. Der Transport der Daten erfolgt damit wie durch einen Tunnel. Hierbei ist zu beachten, daß sich Sender und Empfänger vor der Etablierung der Tunnel-Verbindung authentifiziert haben müssen, damit das jeweils andere Tunnelende 20 3.1 VPN MIT IPSEC auch lokal bekannt ist. Es ist ersichtlich, daß bei dem Einsatz eines Tunnels neben dem eigentlichen Übertragungsprotokoll der Originalnachricht zwei weitere Technologien bzw. Protokolle involviert sind: Das Träger-Protokoll, mit dem die gekapselte Nachricht transportiert wird, und das Verschlüsselungs-Protokoll, mit dem die Original-Nachricht vor unbefugtem Zugriff geschützt wird. Prinzipiell wären hier beliebige Kombinationen von Protokollen möglich, durchgesetzt hat sich jedoch die Verwendung von IPsec – und zwar sowohl als TrägerProtokoll als auch für die Verschlüsselung. Dies ist möglich, da IPSec aus einer Reihe von verschiedenen Protokollnormen besteht, die auch miteinander kombiniert werden können. Sie wurden in Form von RFCs (Requests For Comments), den Standardisierungsdokumenten der Internet Engineering Task Force (IETF) dokumentiert. Der größte Vorteil von IPsec ist die Tatsache, daß dieses Protokoll auf der Netzwerkschicht (Schicht 3) angesiedelt ist. Es ist somit ein transparenter Einsatz von IPsec möglich – völlig unabhängig von den verwendeten Anwendungsprogrammen. IPsec bietet aber noch mehr als nur einen verschlüsselten Übertragungsmechanismus in Gestalt des ESPs (Encapsulating Security Payload): Es ermöglicht darüber hinaus, die Integrität und die Authentizität der Nachricht zu garantieren (Authentication Header (AH)) und stellt sogar Mittel für ein integriertes Schlüsselmanagement (IKE (Internet Key Exchange)) zur Verfügung. All diese Merkmale von IPsec werden in den RFCs 2401 bis 2409 beschrieben; vgl. z.B. Kent und Atkinson (1998). Eine zusammenfassende Beschreibung der einzelnen Protokolle findet sich darüber hinaus z.B. bei Richter (2003). IPsec kann jedoch nur eine sichere Verbindung zwischen Geräten und nicht zwischen Benutzern herstellen, weshalb beim Einsatz von IPsec als Tunneling-Protokoll die Verwendung einer weiteren Authentifizierungsinstanz nötig ist. Der Benutzer muß sich erst bei einem VPN-Authentifizierungsserver, der direkt an den AP angeschlossen sein sollte, authentifizieren. Dies geschieht nach Möglichkeit mittels digitaler Zertifikate in einer etablierten PKI (Public Key Infrastruktur). Erst nach erfolgreicher Anmeldung erfolgt dann der Aufbau eines sicheren VPN-Tunnels mittels IPsec. Falls kein dedizierter VPN-Server auf der Seite des APs zum Einsatz kommt, bietet es sich an, zusätzlich noch eine Firewall einzusetzen. Eine weitere Einschränkung von IPsec besteht darin, daß es auf das Tunneln von IP (Internet Protocol)-Paketen beschränkt ist. Dienste, die auf ältere Protokolle der Netzwerkschicht wie beispielsweise das X.25-Protokoll oder IPX (Internet Packet Exchange) von Novell angewiesen sind, können damit nicht ausgeführt werden. Diese Möglichkeit bietet allerdings ein weiteres Tunneling-Protokoll, das L2TP (Layer 2 Tunneling Protocol), das aus dem Point-to-Point Tunneling Protocol (PPTP) und dem L2F (Layer 2 Forwarding) hervorgegangen ist. Jedoch verwendet L2TP weder Verschlüsselung noch eine Paketauthentifizierung. Erst wieder in Verbindung mit IPsec könnte somit ein Einsatz als VPN-Tunnelling-Protokoll sinnvoll sein; vgl. Patel et al. (2001). Da aber dem Einsatz von Netzen, die noch auf alten Netzwerkprotokollen basieren, immer geringere Bedeutung zukommt, wird IPsec wohl die einzige Grundlage für VPNs – zumindest in den niedrigen ISO-OSI-Schichten – bleiben. Insgesamt erscheinen VPNs in der Tat als eine sehr praktikable Lösung für die Sicherheitsprobleme der 802.11-Hardware. Nachteilig für den Einsatz von VPNs wirkt sich allerdings aus, daß die Technologie einen erhöhten administrativen Einsatz erfordert. Entgegen einer Sicherheitslösung, die in der WLAN-Hardware implementiert ist, bedarf es für 21 3.2 SSL UND SSH die Nutzung eines VPNs der Installation einer VPN-Software auf jedem Client; vgl. Wi-Fi Alliance (2003a, S. 5). Weitere Informationen zu VPNs und IPsec, insbesondere auch zu den zugrundeliegenden Standards und RFCs finden sich beim Virtual Private Network Consortium (VPNC) (vgl. VPNC (HP)) und der IETF (HP). 3.2 SSL und SSH Das SSL (Secure Socket Layer)-Protokoll kann, obwohl es kein Tunneling-Protokoll im eigentlichen Sinne ist, ebenfalls als Basis für ein VPN genutzt werden. Allerdings ist hierbei darauf zu achten, daß es sogar noch oberhalb von TCP (Transmission Control Protocol) angesiedelt ist und sich zusammen mit diesem auf Schicht 4 des ISO-OSI-Modells – der Transportschicht – einordnen läßt. Ein Vorteil des zertifikatbasierenden SSL-Protokolls ist allerdings, daß kein VPN-Client benötigt wird. Die Funktion des Clients übernimmt meist der lokal installierte WebBrowser. (Was nicht weiter verwundert, da das SSL-Protokoll eine Entwicklung von Netscape ist.) Das SSL-Protokoll verwendet eine Public-Key-Verschlüsselung für die Authentifizierung und den Schlüsselaustausch der eingesetzten Verschlüsselungsalgorithmen unter Verwendung von durch vertrauenswürdigen Institutionen ausgestellten Zertifikaten. Als Verschlüsselungsprotokolle unter dem Einsatz des SSL-Protokolls kommen beispielsweise die RC4-Verschlüsselung oder der DES in Frage. Zu den auf der Anwendungsschicht angesiedelten Diensten, die über SSL gesichert werden können, gehört beispielsweise das HTTP (Hypertext Transfer Protocol), das durch SSLAbsicherung zum HTTPS (HTTP Secure) wird. Gleiches gilt für das FTP (File Transfer Protocol) und SFTP (Secure FTP). Aber auch Mail- und Verzeichnisdienste wie z.B. das POP3 (Post Office Protocol 3), das IMAP4 (Internet Message Access Protocol 4) oder das LDAP (Lightweight Directory Access Protocol) profitieren von einer durch SSL geschützten Verbindung; vgl. Potter und Fleck (2003, S. 34 + 35). Obwohl im SSL-Protokoll auch die RC4-Verschlüsselung zur Anwendung kommen kann, ist dieses Protokoll nicht von der in Abschnitt 2.3.2 beschriebenen Anfälligkeit für schwache Schlüssel betroffen, da hier die Schlüssel (mittels einer Hashfunktion) für eine Session und nicht für jedes einzelne Paket generiert werden und somit Wiederholungen praktisch ausgeschlossen sind; vgl. RSA Security (2001). Das SSL-Protokoll kommt im übrigen in einer standardisierten Version unter dem Namen TLS (Transport Layer Security) auch als sog. Upper-Layer-Authentifizierungsprotokoll im IEEE 802.11i-Standard zum Einsatz. Für weitere Informationen zu der Funktion des Protokolls siehe deshalb auch Abschnitt 4.5.4. Bei SSH (Secure Shell) handelt es sich um ein weiteres Protokoll, das auf der Transportschicht oberhalb von TCP/IP angesiedelt ist. Es wird für Remote-Logins genutzt und bietet dabei wie das SSL-Protokoll eine Public-Key-Verschlüsselung der Authentifizierung und des Schlüsselaustausches für verschiedene Verschlüsselungsalgorithmen; vgl. Potter und Fleck (2003, S. 35 + 36). Ferner ist es auch mit Hilfe des SSH-Protokolls möglich, Tunnel zwischen zwei Rechnern zu erstellen. In diesem Fall kann damit aber jeweils nur ein bestimmtes Protokoll abgesichert werden, eine vollständige VPN-Funktionalität ist also nicht möglich. Erreicht wird die Absicherung dabei durch das Weiterleiten eines bestimmten Ports eines Rechners – beispielsweise Port 110 für POP3 – zu einem bestimmten Port eines 22 3.3 WPA-SICHERHEITSARCHITEKTUR anderen Rechners. Zugriffe auf den lokalen Port werden über diesen abgesicherten Tunnel automatisch an den entsprechenden Port des fremden Rechners weitergeleitet. Derzeit wird seitens der IETF an einer offiziellen Standardisierung des Protokolls gearbeitet; vgl. Ylonen (2003). 3.3 WPA-Sicherheitsarchitektur Ebenso wie bei der Einführung des Wi-Fi-Logos hat auch bei der WPA-Architektur, die ursprünglich als Safe Secure Network (SSN) geplant war (vgl. Burns und Hill (2003)), der Zusammenschluß von Herstellern und die Einigung auf eine gemeinsame Sicherheitsarchitektur zu einem wesentlich größeren Erfolg auf dem Markt geführt, als dies wohl bei mehreren Einzellösungen der Fall gewesen wäre. Die treibende Kraft bei der Entwicklung war dabei der Hersteller Intersil (HP), der auch als erster entsprechende Produkte auf den Markt gebracht hat. Die WPA-Sicherheitsarchitektur (vgl. Wi-Fi Alliance (2003c)) sollte mehreren wichtigen Zielen genügen: Sie mußte eine wesentlich höhere Sicherheit als die WEP-Sicherheitsarchitektur bieten, aber dabei die Fähigkeit besitzen, per Software-Update auf bestehende Hardware mit Wi-Fi-Logo installierbar zu sein. Des weiteren sollte die Technik sowohl für den Privatanwender als auch für Firmennetze verfügbar sein und das – so die wichtigste Anforderung – möglichst sofort. Darüber hinaus war aber auch bekannt, daß ein neuer IEEE-Standard in der Entwicklung war, der sicher die Zukunft der Entwicklung im WLAN-Bereich bestimmen würde. Auf eine Aufwärtskompatibilität zum 802.11i-Standard zu verzichten, wäre offenkundig nicht ratsam gewesen. Es bot sich also an, die bereits fertiggestellten Elemente des 802.11i-Standards, die sich auf bestehender Hardware einsetzen ließen, zu einer eigenen Sicherheitsarchitektur zu kombinieren und möglichst schnell auf den Markt zu bringen, denn auf die Umsetzung vom 802.11i-Standard muß wohl noch bis 2004 gewartet werden; vgl. Wi-Fi Alliance (2003b). Entgegen der WEP-Sicherheitsarchitektur ist die WPA-Architektur nur für den Infrastruktur-Modus spezifiziert; vgl. Lowery und Miller (2003, S. 118). In diesem führt sie neben einem Schlüsselmanagement auch neue Protokolle und Verfahren zur Erreichung der wichtigsten Schutzziele Vertraulichkeit, Integrität und Authentizität ein; vgl. Wi-Fi Alliance (2002) oder Wi-Fi Alliance (2003b). Die folgenden Abschnitte fassen kurz die entsprechenden Neuerungen zusammen, da es sich bei der WPA-Sicherheitsarchitektur wie oben erwähnt lediglich um eine Teilmenge der Bestandteile des IEEE 802.11i-Standards handelt, und dieser im Anschluß an dieses Kapitel ausführlich analysiert wird. Für eine detaillierte Beschreibung der einzelnen Verfahren wird deshalb jeweils auf die entsprechenden Abschnitte in Kapitel 4 verwiesen. 3.3.1 Schlüsselmanagement Die WPA-Sicherheitsarchitektur erweitert die WEP-Architektur um ein robustes Schlüsselmanagement, das eng mit der Authentifizierung verknüpft ist. Das Konzept der Schlüsselhierarchien wird eingeführt, so daß für die tatsächliche Verschlüsselung und Integritätssicherung nur noch eigens dafür erzeugte temporäre Schlüssel zum Einsatz kommen. Der Abschnitt 4.2 beschreibt das Schlüsselmanagement für zwei Verschlüsselungsprotokolle – 23 3.4 WEITERE ALTERNATIVEN darunter auch das TKIP, das in der WPA-Sicherheitsarchitektur zum Einsatz kommt; siehe unten. 3.3.2 Verschlüsselung Eine Verschlüsselung der Nachrichten ist unter der WPA-Architektur vorgeschrieben. Hierfür kommt das Temporal Key Integrity Protocol (TKIP) zum Einsatz. Es kapselt den WEP-Verschlüsselungsmechanismus derart, daß fast alle Schwächen beseitigt werden. Dafür kommt ein temporärer Schlüssel und verschiedene Schlüssel-Mix-Funktionen zum Einsatz. Die WEP-Verschlüsselung bleibt zwar erhalten, doch werden alle sicherheitsrelevanten Schritte bereits vorher durchgeführt. Der genaue Ablauf der Ver- und Entschlüsselung mit Hilfe von TKIP wird in Abschnitt 4.3.1 gezeigt. 3.3.3 Integrität Ebenfalls Teil des TKIPs ist das Verfahren zur Integritätssicherung der Nachrichten. Zum Einsatz kommt ein Message Integrity Code (MIC) in Form des sog. Michael-Algorithmus. Da dieser aber – trotz seiner Überlegenheit gegenüber dem mangelhaften Integrity Check Value (ICV) der WEP-Architektur – aufgrund der Leistungsbeschränkung älterer Hardware keine vollständige Sicherheit bieten kann, wird das Konzept der Gegenmaßnahmen eingeführt: Wenn ein Angriff schon nicht verhindert werden kann, so soll er zumindest erkannt und abgewehrt werden können. Das Michael-Verfahren ist das Thema des Abschnitts 4.4.1. 3.3.4 Authentifizierung Bei der Verwendung der WPA-Sicherheitsarchitektur auf bestehender 802.11-Hardware wird die Open-System-Authentifizierung der zugrundeliegenden WEP-Architektur aktiviert, die WEP-Authentifizierungsmaßnahmen also abgeschaltet. Stattdessen wird die Authentifizierung mittels eines anderen IEEE-Standards zur Pflicht: Mit Hilfe des 802.1xStandards als portbasierende Zugangskontrolle in Kombination mit dem Extensible Authentication Protocol (EAP) wird eine gegenseitige Authentifizierung eingeführt. Die Vorstellung der Protokolle erfolgt in den Abschnitten 4.5.1 und 4.5.2. Für den Einsatz in Firmen-Netzwerken kommen ferner RADIUS-Authentifizierungsserver zum Einsatz; hierzu siehe Abschnitt 4.5.3. Bei kleineren Netzen können stattdessen Preshared Keys (PSK) verwendet werden. Sie werden im Rahmen des Schlüsselmanagements in Abschnitt 4.2 vorgestellt. 3.4 Weitere Alternativen Wenngleich die WPA-Sicherheitsarchitektur aufgrund der Kompatibilität mit dem kommenden 802.11i-Standard gewiß die größten Chancen in einem ohnehin durch IEEE 802.11kompatible Geräte dominierten Markt hat, gab es zuvor dennoch Bestrebungen um Alternativen bei der Verbesserung der WEP-Sicherheitsarchitektur, die auch in Produkten eingesetzt wurden und werden. Diese sind allerdings nicht so umfassend wie die WPASicherheitsarchitektur, sondern setzen nur an den Verschlüsselungsproblemen an. Die wichtigsten zwei Vertreter dabei sind WEPplus und FPK. 24 3.4 WEITERE ALTERNATIVEN Letztlich sind die genannten Bestrebungen aber nicht vergebens, denn die Ideen wurden zum Teil im 802.11i-Standard aufgegriffen und erweitert. So basiert beispielsweise das TKIP zum Teil auch auf den Verfahren aus WEP2 und dem FPK; siehe auch Abschnitt 4.3.1. 3.4.1 WEPplus Von Agere Systems wurde in der ORiNOCO Produktreihe Ende 2002 die WEP-Erweiterung WEPplus eingeführt; vgl. Agere Systems Inc. (2001). Die Erweiterungen der WEPSicherheitsarchitektur beschränken sich allerdings darauf, daß bei der Auswahl des IVs, der zusammen mit dem geheimen Schlüssel zur Erzeugung des RC4-Schlüsselstroms verwendet wird, die z.B. bei Mann (2003) beschriebenen schwachen Schlüssel ausgeschlossen werden; siehe auch Abschnitt 2.3.2. Damit zielt die Erweiterung auf die Angreifbarkeit durch Angriffswerkzeuge wie beispielsweise AirSnort; vgl. AirSnort (PRG). WEPplus ist somit voll kompatibel zur WEP-Architektur, kann den Sicherheitsvorteil aber nur dann ausnutzen, wenn beide an einer Übertragung beteiligte Stationen den WEPplus Standard unterstützen, da die IVs immer vom jeweiligen Sender erzeugt werden. (Dies gilt natürlich nur für einen Angriff auf genau diese Verbindung. Soll ein ganzes WLAN von der höheren Sicherheit profitieren, müssen alle angeschlossenen Geräte WEPplus unterstützen.) 3.4.2 FPK An der gleichen Schwachstelle der WEP-Sicherheitsarchitektur setzt auch das FPKVerfahren von RSA Security (HP) zur Erzeugung von dynamischen WEP-Schlüsseln an; vgl. RSA Security (2001). Für jedes übermittelte Paket wird unter Verwendung einer speziellen Hashfunktion und eines temporären Schlüssels ein individueller RC4-Schlüsselstrom generiert. Somit sind Schlüsselwiederholungen ausgeschlossen. Das Verfahren zur Schlüsselerzeugung besteht aus zwei Phasen: In einer ersten Phase wird ein 128 Bits langer temporärer Schlüssel TK (Temporal Key), der beiden Kommunikationspartnern bekannt ist, jeweils mit der 48 Bits langen Adresse des Senders (TA (Transmitter Address)) vermischt, um zu erreichen, daß beide Kommunikationspartner mit verschiedenen Schlüsselräumen arbeiten. Das Ergebnis von Phase eins ist dann ein 128 Bits langer Schlüssel, der in der zweiten Phase mit einem 16-Bit-IV zu einem 128-Bit-Paketschlüssel vermischt wird und letztlich anstatt der WEP-Kombination von 24-Bit-IV und 104-Bit-Shared-Key zum Einsatz für die Erzeugung der RC4-Stromchiffre kommt. Dabei wird darauf geachtet, daß jeder IV nur ein einziges Mal für einen TK zum Einsatz kommt. Nach 65535 Paketen muß der TK also gewechselt werden. Mit diesem Vorgehen greift FPK wesentlich weiter als WEPplus, denn die Wiederholung eines Pärchens von (WEP-)IV und Schlüsselstrom ist fast ausgeschlossen und somit keine Known-Plaintext-Attacke mehr möglich; vgl. Schmidt (2002)). Doch ist dieses Verfahren ohne ein sinnvolles Schlüsselmanagement dennoch unbrauchbar, da wegen des nur 16 Bits langen IVs der TK viel zu oft gewechselt werden muß. Die Probleme bei der Authentifizierung und der Wahrung der Integrität sind hiermit selbstverständlich auch noch nicht behoben. 3.4.3 WEP2 Bevor die Arbeit der Task Group i (TGi) des IEEE Früchte in Form des seit letztem Jahr vorliegenden Drafts des 802.11i-Standards trug, wurde von ihr im übrigen auch ein eigener 25 3.4 WEITERE ALTERNATIVEN Versuch verworfen, der die WEP-Sicherheitsarchitektur ablösen sollte: Der von der TGi anfangs geplante Nachfolger sollte WEP2 heißen und versprach mit einer IV-Länge von 128 Bits und Möglichkeiten zum periodischen Schlüsselwechsel Besserung. Darüber hinaus sollte zur Authentifizierung auch Kerberos (vgl. Kohl und Neumann (1993)) einsetzbar sein. Doch dieser Nachfolger wurde schon nach kurzer Zeit wieder verworfen, da nach wie vor Known-Plaintext-Attacken möglich waren und mit Kerberos sogar ein weiterer, auf der Verwendung von Wörterbüchern basierender Angriff möglich wurde; vgl. Schmidt (2002). 26 4 Neue Sicherheit In Kürze soll der neue IEEE 802.11i-Standard verabschiedet werden. Er enthält eine völlig neue Sicherheitsarchitektur, die endlich eine robuste Sicherheit für WLANs gewährleisten soll. Von der TGi wurde diese neue Sicherheitsarchitektur deshalb auch Robust Security Network (RSN) getauft. Die Erwartungen an die RSN-Sicherheitsarchitektur sind sehr hoch, da sie im Grunde alles besser machen muß als es die WEP-Sicherheitsarchitektur derzeit tut, und einige Sicherheitsmechanismen sind bereitzustellen, die im 802.11-Standard überhaupt noch nicht vorhanden waren. Darüber hinaus muß der neue 802.11i-Standard auch zum existierenden Standard zumindest teilweise kompatibel sein, um eine stufenweise Einführung neuer Hardware für die neue Sicherheitsarchitektur zu ermöglichen. Neben der obligatorischen Ausstattung des Standards mit den nötigen robusten Sicherheitsmechanismen ist es aber auch wichtig, daß in der Praxis möglichst viel automatisch und vor allem einfach für den Benutzer und den Administrator abläuft. Die Erfahrung hat gezeigt, daß schlecht zu administrierende oder im Auslieferungszustand deaktivierte Sicherheitsmechanismen nicht gepflegt bzw. gar nicht erst eingeschaltet werden. Neben der Technik selbst ist also auch die Anwendbarkeit der Technik ein wichtiges Ziel dieses neuen Standards. Der nächste Abschnitt gibt zuerst einen Überblick über die neuen bzw. erweiterten Sicherheitsmechanismen des IEEE 802.11i-Standards. Anschließend werden die zugrundeliegenden Verfahren und Protokolle im Bezug auf das neu hinzugekommene Schlüsselmanagement und die wichtigsten Sicherheitsbereiche Verschlüsselung, Integritätssicherung und Authentifizierung eingehender beschrieben. Diese Beschreibung hebt dabei die wichtigsten Details der Verfahren und Änderungen im Vergleich zum ursprünglichen 802.11Standard hervor – für eine noch umfassendere Auseinandersetzung mit den Neuerungen des 802.11i-Standards sei auf den aktuellen Draft in der Version 7.0 verwiesen; vgl. IEEE (2003b). Auch an dieser Stelle ergeht noch einmal der Hinweis, daß die Informationen, die den folgenden Ausführungen zugrundeliegen, nur so aktuell sein können, wie es der zur Zeit vorliegende Draft erlaubt, und deshalb nur unter Vorbehalt auf spätere Gültigkeit wiedergegeben werden. Die beschriebenen Protokolle und Verfahren könnten sich bis zur Verabschiedung des 802.11i-Standards durchaus noch in Details ändern. Grundsätzliche Änderungen sind aber – zumindest in den hier ausführlich beschriebenen Verfahren – nicht zu erwarten. 4.1 RSN-Sicherheitsarchitektur Die RSN-Sicherheitsarchitektur wird antreten, um die seit der Einführung der WEPSicherheitsarchitektur vorherrschenden Mißstände im Bezug auf die Sicherheit von WLANs zu beseitigen. Daß es der neue 802.11i-Standard sein wird (oder Teile daraus, wie beispielsweise in WPA), der die Sicherheit in WLANs revolutionieren wird, steht angesichts des Mangels an Alternativen außer Frage: Es gibt derzeit keine zweite Weiterentwicklung, die eine ähnlich umfangreiche Basis für die Sicherheit von drahtlosen lokalen Netzwerken bietet – und das Problem der fehlenden Sicherheit in WLANs ist drängender denn je. Ob jedoch mit den in der RSN-Sicherheitsarchitektur vorgeschlagenen Maßnahmen eine Sicherheitsstufe erreicht wird, die allen Anforderungen gerecht wird und über Jahre hinaus möglichen Angriffen standhalten wird, bleibt zu überprüfen. 27 4.1 RSN-SICHERHEITSARCHITEKTUR Die Sicherheitsarchitektur des 802.11i-Standards hat neben dem primären Ziel der vollständigen Absicherung der Kommunikation in WLANs auch die Vorgabe, eine Weiterverwendung existierender Hardware – zumindest kurzfristig – zu ermöglichen. Der Standard enthält deshalb zwei verschiedene Basisprotokolle für die Verschlüsselung und Integritätssicherung: Zum einen ein auf dem Advanced Encryption Standard (AES) basierendes Verfahren, das CTR/CBC-MAC Protocol (CCMP). Die Entscheidung für das CCMP als neues Verfahren für die Verschlüsselung im RSN wurde dabei bereits gefällt, bevor die gravierendsten Sicherheitsprobleme der WEP-Sicherheitsarchitektur bekannt wurden. Es war geplant, daß diese auf AES basierende Lösung WLANs, die die WEP-Sicherheitsarchitektur verwenden, schrittweise ersetzen sollte. Eine Erweiterung der bestehenden Systeme wurde ursprünglich gar nicht in Betracht gezogen. Als dann aber schließlich die große Unsicherheit der WEP-Sicherheitsarchitektur offenbar wurde, entstand ein wesentlich drängenderer Bedarf an sichereren WLAN-Systemen. Deshalb wurde zum anderen das Temporal Key Integrity Protocol (TKIP) entwickelt und als Alternative zum CCMP in den Standard aufgenommen. Oberhalb dieser auf der MAC-Schicht angesiedelten Protokolle, definiert die RSNSicherheitsarchitektur ferner Verfahren für das Schlüsselmanagement und die Authentifizierung. Basis der Authentifizierung bildet der IEEE 802.1x-Standard mit einer portbasierenden Zugangskontrolle. In der Form wie dieser Standard in der RSN-Sicherheitsarchitektur eingesetzt wird, ermöglicht er in Verbindung mit RADIUS oder dem Extensible Authentication Protocol (EAP) eine Zugangskontrolle sowohl für kleine lokale Netze als auch komplette Firmennetze; vgl. Eaton (2002). Eine Benutzerauthentifizierung wird durch die Verwendung von sog. Upper-Layer-Authentifizierungsprotokollen gewährleistet, die entsprechend wiederum oberhalb des 802.1x-Standards im ISO-OSI-Modell angesiedelt sind und zusammen mit einem Authentifizierungsserver arbeiten. Der 802.11i-Standard stellt eine entsprechende Schnittstelle zur Verfügung, so daß die Auswahl der Upper-Layer-Authentifizierungslösung dem Anwender bzw. Administrator überlassen wird. Zu diesen Protokollen gehören beispielsweise das Transport Layer Security (TLS)-Protokoll oder Kerberos. Mit dem ebenfalls durch diese Protokolle realisierten Schlüsselmanagement und der Benutzerauthentifizierung bietet die RSN-Sicherheitsarchitektur somit neben den verbesserten Verschlüsselungsprotokollen zwei Funktionalitäten, die in der WEP-Sicherheitsarchitektur bisher gar nicht enthalten waren. Insgesamt kommen im 802.11i-Standard bis auf das TKIP Protokolle zum Einsatz, die bereits außerhalb dieses Standards zum Teil schon mehrere Jahre erfolgreich verwendet wurden. Somit stehen die Chancen, keine ähnliche Pleite wie bei der WEPSicherheitsarchitektur zu erleiden, gar nicht schlecht – wenngleich sich mögliche Sicherheitslücken natürlich auch noch nach der Ratifizierung des Standards ergeben können. Die frühzeitige Einführung des TKIPs und des Authentifizierungsverfahrens für den Infrastrukturmodus im Rahmen der WPA-Sicherheitsarchitektur läßt sich allerdings bereits als ein erster Erfolg verbuchen; vgl. Burns und Hill (2003). Die wichtigsten Elemente der RSN-Sicherheitsarchitektur werden in den folgenden Abschnitten dieses Kapitels eingehend vorgestellt. Sie werden aufgeteilt in Mechanismen zur Verschlüsselung, zur Integritätssicherung und schließlich zur Authentifizierung. Zu Beginn wird allerdings das Schlüsselmanagement, das eigentlich Teil der Authentifizierungsverfahren ist, analysiert, da die Verschlüsselungsverfahren teilweise darauf zurückgreifen. 28 4.2 SCHLÜSSELMANAGEMENT 4.2 Schlüsselmanagement Im Gegensatz zur WEP-Sicherheitsarchitektur kommen in der RSN-Sicherheitsarchitektur sehr viele verschiedene Schlüssel zum Einsatz, die alle Teil einer mehrstufigen Schlüsselhierarchie sind. Um die unterschiedliche Bedeutung der jeweiligen Schlüssel besser zu verstehen, folgt eine kurzer Überblick über die generellen Funktionen von Schlüsseln. Schlüssel werden im allgemeinen für zwei verschiedene Zwecke benötigt: Zum einen dienen sie der Erlangung des Zugriffs auf die Nutzung einer Ressource im Sinne beispielsweise eines Autoschlüssels, zum anderen erfüllen Schlüssel die Aufgabe, die Identität seines Inhabers zweifelsfrei zu beweisen, ähnlich der Funktion eines Ausweises. In der RSNSicherheitsarchitektur werden beide Arten von Schlüsseln verwendet: Ein Benutzer muß sich zuerst ausweisen, indem er beweist, daß er Kenntnis von einem Geheimnis hat, und bekommt anschließend die Schlüssel zugeteilt, die es ihm ermöglichen, bestimmte Dienste zu nutzen. Diese Schlüssel sind temporäre Schlüssel, die nur für die Zeit der jeweiligen Nutzung des Dienstes Gültigkeit besitzen. Während diese temporären Schlüssel in Echtzeit erzeugt werden können, muß für den erstgenannten Schlüssel ein Geheimnis zwischen den beteiligten Parteien vereinbart werden. Da von diesem Schlüssel alle anderen Schlüssel abhängen, muß bei seiner Erzeugung und Übermittlung besonders sorgfältig vorgegangen werden. Aufgrund seiner wichtigen Funktion wird dieser Schlüssel auch Master Key genannt. Direkt verwendet werden sollte so ein Master Key so selten wie möglich. In der RSN-Sicherheitsarchitektur dient der Master Key deshalb ausschließlich der Erzeugung von temporären Schlüsseln. Im Vergleich dazu wurde in der WEP-Sicherheitsarchitektur, in der überhaupt kein Schlüsselmanagement existierte, im Grunde ausschließlich dieser Master Key eingesetzt – und dies auch noch gleichzeitig für die Verschlüsselung und die Authentifizierung; vgl. Edney und Arbaugh (2003, S. 109 + 110). Das Schlüsselmanagement muß, um die Schlüssel angemessen zu schützen, zwei Schwierigkeiten meistern: Einerseits muß ein Weg gefunden werden, um zu garantieren, daß die temporären Schlüssel nicht vorhersagbar und dabei auch immer unterschiedlich sind. Andererseits muß dafür gesorgt werden, daß die an der gesicherten Kommunikation beteiligten Stationen die gleichen Schlüssel erhalten bzw. erzeugen, ohne daß dies von Dritten untergraben wird. Wie oben bereits erwähnt, muß eine neue Sicherheitsarchitektur neben der zwingend nötigen Sicherheit auch eine unkomplizierte Handhabung bieten und wenig Administrationsaufwand erfordern. Dies wird vom RSN eingehalten. Die Arbeit mit den im folgenden vorgestellten verschiedenen Schlüsseln gestaltet sich für den Administrator demzufolge auch entsprechend einfach, denn das einzige was für den reibungslosen Betrieb des RSNs vom Benutzer getan werden muß, ist ggf. die manuelle Vergabe des Master Keys. Alles weitere – also vor allem die Generierung der jeweiligen temporären Schlüssel – übernimmt das Schlüsselmanagement automatisch. Das im folgenden beschriebene Schlüsselmanagement ist eigentlich ein Teil der Authentifizierung, zumal hierbei auch die Authentifizierungsprotokolle verwendet werden, doch da die Schlüssel in allen Verfahren zur Erreichung der Sicherheitsziele eingesetzt werden, sollen sie bereits an dieser Stelle vorgestellt werden. Dies führt allerdings dazu, daß an einigen Stellen aus Mangel an vereinzelten Grundlagen keine ausführlichen Beschreibungen vorgenommen werden können. Weitere Informationen zu diesen Bereichen werden dann in Abschnitt 4.5 nachgereicht. 29 4.2 SCHLÜSSELMANAGEMENT 4.2.1 Schlüsselarten Neben der Trennung nach Master Key und temporären Schlüsseln ist noch eine zweite Aufteilung der Schlüssel für die Beschreibung des Schlüsselmanagements nötig: Ein Wireless-LAN ist dafür ausgelegt, Datenaustausch sowohl zwischen jeweils nur zwei Stationen als auch zwischen mehreren Stationen gleichzeitig zu ermöglichen. Entsprechend dieser Möglichkeiten existieren auch zweierlei Kommunikationsmethoden, die unterschiedliche Schlüssel erfordern. In der Kommunikation zwischen zwei Stationen (also z.B. einer mobilen Station und einem AP) kommen sog. Unicast-Datenpakete zum Einsatz. Das Datenpaket wird vom Sender an genau einen Empfänger gesendet. Sendet eine Station dagegen Daten an mehrere Stationen gleichzeitig, geschieht dies in Form eines Multicast-Datenpaketes. (Sind davon alle im Netz des Senders befindlichen Stationen betroffen, wird auch von Broadcast gesprochen.) Es liegt auf der Hand, daß diese beiden Kommunikationsmodi verschiedene Schlüssel benötigen. Zur sicheren Kommunikation zwischen jeweils zwei Stationen muß ein Schlüssel zum Einsatz kommen, der ausschließlich genau diesen beiden Stationen bekannt ist. In diesem Fall wird von paarweisen Schlüsseln gesprochen. Typischerweise betrifft dies die Kommunikation zwischen einer mobilen Station und dem AP. Die Station muß demnach einen paarweisen Schlüssel speichern, während der AP paarweise Schlüssel für alle angeschlossenen Stationen bereit halten muß. Im Gegensatz dazu findet die Kommunikation über Multicast innerhalb von sog. Trusted Groups statt, das heißt einer Gruppe von Anwendern bzw. Stationen, die sich untereinander vertrauen. Damit eine Kommunikation in der Gruppe möglich ist, muß ein Schlüssel (der Gruppenschlüssel) unter allen Mitgliedern der Gruppe verteilt werden. Die Sicherheit, die durch den kleineren Gruppenschlüssel gewährt wird, ist im Vergleich zur reinen Unicast-Kommunikation geringer, doch ist der Anwendungsbereich für MulticastNachrichten auch eher eingeschränkt und im allgemeinen nicht so sensibel. Zur Anwendung kommen Multicast-Nachrichten beispielsweise für das Streaming von Video- oder Audiodaten oder für Ticker-Anwendungen. Multicast-Nachrichten werden im übrigen nur vom AP an die angeschlossenen Clients versendet. Soll von einem Client aus eine Nachricht an die anderen Gruppenmitglieder gesendet werden, muß dieser Client seine Nachricht zuvor als Unicast-Nachricht an den AP übermitteln. Somit würde sich der Erfolg eines möglichen Angriffs auf den Gruppenschlüssel auf das Mithören der Multicast-Nachrichten beschränken. 4.2.2 Schlüsselhierarchien In der RSN-Sicherheitsarchitektur werden entsprechend der eben beschriebenen Schlüsselarten zwei Schlüsselhierarchien definiert: Die paarweise Schlüsselhierarchie, um den UnicastNetzwerkverkehr zu schützen, und die Gruppenschlüsselhierarchie, um die MulticastNachrichten abzusichern. Diese Schlüsselhierarchien können jeweils auf die Verwendung zusammen mit einer der beiden Verschlüsselungsverfahren TKIP und CCMP, die in Abschnitt 4.3 beschrieben werden, ausgerichtet sein. Da die Verschlüsselungverfahren zum Teil mit unterschiedlichen Schlüsseln arbeiten, werden im folgenden jeweils zwei Hierarchien für paarweise Schlüssel und Gruppenschlüssel vorgestellt. 30 4.2 SCHLÜSSELMANAGEMENT Zuvor aber werden die Methoden beschrieben, mit denen die Zufallszahlen erzeugt werden, auf denen die Schlüsselhierarchien aufbauen. PRNGs Eine sehr wichtige Grundlage eines Schlüsselmanagements ist die Erzeugung von Zufallszahlen kryptographischer Qualität mit Hilfe eines Pseudozufallszahlengenerators (Pseudo-Random Number Generator (PRNG)). Kryptographische Qualität besitzt eine Zufallszahl dann, wenn sie einer perfekten Zufälligkeit unterliegt, es also keine Möglichkeit gibt, die Grundmenge der Zahlen, aus der die Zufallszahl stammt, in der Analyse einzuschränken. Jede Zahl der Grundmenge ist gleichwahrscheinlich. Das heißt, bei 2n möglichen Werten für eine Zufallszahl, die alle die selbe Wahrscheinlichkeit besitzen, würde ein Angreifer im n Durchschnitt 2 2 Versuche benötigen, bis er den richtigen Wert erraten hat. Gute PRNGs, die gleichverteilte Zufallszahlen erzeugen können, sind bereits etabliert und können bedenkenlos für sicherheitsrelevante Aufgaben eingesetzt werden. Aber aufgrund der Tatsache, daß PRNGs deterministisch vorgehen, also bei gleichen Eingabewerten auch immer den gleichen Strom von Ausgabewerten produzieren, kommt der Auswahl des Eingabe- bzw. Startwertes besondere Bedeutung zu. Dieser ist anhand möglichst vieler zufallsabhängiger Daten zu konstruieren, um eine ausreichende Zufälligkeit zu generieren. Damit wird verhindert, daß über den Startwert des PRNGs auf die möglicherweise damit erzeugten Zufallszahlen geschlossen werden kann. Wird ein PRNG darüber hinaus nicht dazu verwendet, einen Strom von Zufallszahlen zu liefern, sondern für jede benötigte Zufallszahl erneut aufgerufen, so kommt dem Startwert eine noch höhere Bedeutung zu. Die im folgenden Abschnitt vorgestellte Pseudozufallsfunktion verwendet einen PRNG, aus dessen Zahlenstrom Zufallszahlen gebildet werden, doch wird für jeden Aufruf der Funktion wieder ein neuer Startwert benötigt. In IEEE (2003b, S. 179 – 181) werden sowohl Methoden vorgestellt, die es erlauben, auf Softwarebasis als auch durch Einsatz bestimmter Hardware entsprechend gute Startwerte zu ermitteln. Ausführlich untersucht wurden die Möglichkeiten zur Erzeugung von Zufallszahlen als Basis für Verschlüsselungen bereits in Eastlake et al. (1994). PRF Während der Berechnungen der einzelnen Elemente der Schlüsselhierarchien kommt wiederholt die folgende Pseudozufallsfunktion zum Einsatz: Die PRF (Pseudo-Random Function) ist eine Funktion, die einen n Bits langen Ausgabewert produziert. Als Eingabewerte erhält die Funktion neben der gewünschten Länge der Ausgabe noch drei weitere, in ihrer Länge nicht näher spezifizierte Parameter. (Sie dürfen lediglich zusammen nicht die Länge von 128 Bytes übertreffen; vgl. IEEE (2003b, S. 171).) Dies sind ein geheimer Schlüssel K (oder ersatzweise ein Zufallswert), eine Beschreibung A der Funktion, die mit diesem Aufruf von PRF bezweckt wird (beispielsweise ”Pairwise key expansion”) und schließlich eine Bytefolge B, die aus der MAC-Adresse besteht, gefolgt von einer Zahl, die die Zeit repräsentiert bzw. in die ein solcher Zeitwert eingeflossen ist. Die gewünschte Länge n der Ausgabe kann auch in folgender Schreibweise deutlich gemacht werden. Es gilt: PRF − n(K, A, B) = PRF (K, A, B, n). Der Zweck dieser Funktion liegt darin, einen pseudozufälligen Wert vorgegebener Länge zu konstruieren, der unabhängig von der Länge der Eingabewerte ist, und von dem aus nicht auf die Eingabewerte geschlossen werden kann. Dafür verwendet die Funktion einen 31 4.2 SCHLÜSSELMANAGEMENT Algorithmus, der neben der Einsatzmöglichkeit als PRNG auch zur Integritätssicherung verwendet werden kann. Der HMAC (Hashed Message Authentication Code) (vgl. Krawczyk et al. (2001)) in Kombination mit dem Secure Hash Algorithm (SHA)-1 (vgl. NIST (1993)), kurz HMAC-SHA-1, produziert einen 20 Bytes (160 Bits) langen Hashwert aus den Eingabedaten. Für HMAC-SHA-1 gilt, daß auch bei der Änderung nur eines Bits des Eingabewertes ein vollkommen anderer Hashwert erzeugt wird. Um HMAC-SHA-1 dafür zu nutzen, eine Pseudozufallszahl vorgegebener Länge zu erzeugen, wird die Hashfunktion innerhalb der PRF einfach mehrfach aufgerufen (jeweils mit einem um 1 inkrementierten Eingabewert). Die Ergebnisse werden dabei solange aneinandergehängt, bis die gewünschte Länge der Zufallszahl erreicht bzw. überschritten ist. Abbildung 6 zeigt den Algorithmus zur Berechnung der PRF Funktion unter Verwendung von HMAC-SHA-1. Die Funktion (x k y) steht dabei für die Verkettung von x und y. Die Funktion L(x, y, n) liefert ab dem durch y angegebenen Bit n Bits des Wertes x. Die 0 im Eingabewert für HMAC-SHA-1 kennzeichnet ein Null-Byte. Die auszugebende Pseudozufallszahl Z wird schließlich aus den ersten n Bits des durch die wiederholte Ausführung des HMAC-SHA-1 erzeugten Pseudozufallszahlenstroms gebildet. Eingabe: (K, A, B)≤128 Byte , n1 Byte Ausgabe: Z n Bit PRF (K, A, B, n) R ← NIL for i = 0 to (n + 159) div 160 do R ← R k HMAC-SHA-1(K, A k 0 k B k i) end Z ← L(R, 0, n) return Z Abbildung 6: Pseudozufallsfunktion (PRF) In den folgenden Abschnitten werden die Funktionen PRF-128, PRF-256, PRF-384 und PRF-512 eingesetzt. Eine Referenzimplementation der Pseudozufallsfunktion findet sich in IEEE (2003b, S. 171 – 172). 4.2.3 Paarweise Schlüssel An der Spitze der Hierarchie der paarweisen Schlüssel steht der 256 Bits lange Pairwise Master Key (PMK). Bevor die Mechanismen der RSN-Sicherheitsarchitektur zum Einsatz kommen können, muß dieser wichtigste Schlüssel für die sichere Kommunikation zuerst auf den beiden beteiligten Stationen eingerichtet werden. Dies kann auf zwei verschiedenen Wegen geschehen: Die erste Möglichkeit ist die Verwendung von sog. Preshared Keys, was bedeutet, daß der PMK manuell auf dem Access Point und der mobilen Station eingetragen werden muß, ohne daß dabei die Übertragung von Daten über das WLAN nötig wäre. (Zu den Einzelheiten dieser Alternative siehe weiter unten.) Die zweite Möglichkeit 32 4.2 SCHLÜSSELMANAGEMENT nutzt die Zugangskontrollmechanismen, die durch den IEEE 802.1x-Standard (vgl. IEEE (2001c)) realisiert werden, und ein Verfahren der Upper-Layer-Authentifizierung, um damit auf beiden Stationen gleichzeitig den PMK zu erzeugen. Die hierbei eingesetzten Protokolle werden hier aber nicht in ihren Einzelheiten betrachtet; siehe dazu auch Abschnitt 4.5. Hier sollen vorerst vor allem die Schlüssel selbst besprochen werden. In der Hierarchie an zweiter Stelle steht der sog. Pairwise Transient Key (PTK), der unter Zuhilfenahme eines PRNGs aus dem PMK erzeugt wird. Dieser Schlüssel ist für die Verwendung des TKIPs 512 Bits lang, für das CCMP nur 384 Bits. Der PTK wird zur Erzeugung der temporären Schlüssel anschließend in vier (TKIP), bzw. drei (CCMP) je 128 Bits kleine Stücke zerteilt. Die jeweils ersten zwei Schlüssel dienen der Verschlüsselung und der Integritätssicherung von EAPOL (EAP over LAN)-Key-Nachrichten – und damit der Absicherung der Schlüsselübertragung selbst. (EAPOL ist ein Protokoll, das in IEEE 802.1x definiert wird und dazu dient, EAP-Nachrichten zu übermitteln. Es wird in Abschnitt 4.5.2 genauer beschrieben.) Der jeweilige Rest des PTKs wird für das eingesetzte Verschlüsselungsprotokoll zur Absicherung der Datenübertragung verwendet. Für das TKIP sind dies zum einen der Session Key für den Einsatz bei der Verschlüsselung und zum anderen der Michael Key für die Integritätssicherung. Im Fall von CCMP kommt ein einziger Schlüssel für beide Funktionen zum Einsatz. Abbildung 7 zeigt die Schlüsselhierarchie der paarweisen Schlüssel für den Fall, daß als Verschlüsselungsmechanismus das TKIP zum Einsatz kommt. Pairwise Master Key (PMK)256 Bit ? Pairwise Transient Key (PTK)512 Bit ? ? 128 Bit EAPOL Encr.K. ? Session Key128 Bit 128 Bit EAPOL MIC K. ? Michael Key64+64 Bit ? ? Schutz der Schlüsselübertragung Schutz der Datenübertragung Abbildung 7: TKIP Pairwise Key – Schlüsselhierarchie Während der Session Key in voller Länge für die Verschlüsselung im TKIP Verwendung findet (siehe Abschnitt 4.3.1), liegt für den Michael Key eine Besonderheit vor: Der vom Michael-Verfahren verwendete Schlüssel (siehe Abschnitt 4.4.1) hat nur eine Länge von 64 Bits. Deshalb wird der im PTK erzeugte 128 Bits lange Schlüssel zweigeteilt: Die erste Hälfte des Schlüssels wird von den Stationen, die die Authentifizierung innerhalb der Kommunikation übernommen haben, als Michael Key für die zu sendenden Frames verwendet. Eine solche Station wird im folgenden auch Authentifizierer genannt – es handelt sich dabei im allgemeinen um den AP. Die zweite Hälfte des Schlüssels kommt entsprechend zur Anwendung, wenn die anfragende Station (im Standard Bittsteller (Supplicant) genannt) 33 4.2 SCHLÜSSELMANAGEMENT Frames an den Authentifizierer sendet. Zur Vereinfachung wird diese Station im folgenden Client genannt. Für den Einsatz vom CCMP als Verschlüsselungsmechanismus unter Verwendung von paarweisen Schlüsseln zeigt Abbildung 8 die entsprechende Schlüsselhierarchie. Pairwise Master Key (PMK)256 Bit ? Pairwise Transient Key (PTK)384 Bit ? ? 128 Bit ? Session/MIC Key128 Bit 128 Bit EAPOL Encr. Key EAPOL MIC Key ? ? Schutz der Schlüsselübertragung Schutz der Datenübertragung Abbildung 8: CCMP Pairwise Key – Schlüsselhierarchie Der dritte temporäre Schlüssel, der aus dem PTK für das CCMP gewonnen wird, kommt sowohl für die Verschlüsselung als auch für die Integritätssicherung im CCMP zum Einsatz. Siehe hierzu die Abschnitte 4.3.2 und 4.4.2. Pairwise Master Key Wie bereits erwähnt wurde, kann die Einrichtung des PMKs auf zwei Wegen geschehen. Die erste Möglichkeit der Preshared Keys ist im Grunde nur in kleinen Netzwerken praktikabel. Dort kann der PMK vom Administrator oder dem Benutzer der mobilen Station von Hand eingetragen werden. Aber auch gerade in der praktischen Anwendung zeigt sich in dieser Form der Schlüsseleinrichtung ein Problem: Die Schlüssel, die auf diesem Wege verwendet werden, sind im allgemeinen relativ schwach, da anstatt beliebiger 256-Bit-Schlüssel eher 32-Byte-Worte (oder sogar kürzere) eingetragen werden, die der natürlichen Sprache entstammen. Dies ist ein weiterer Grund dafür, daß in einer Sicherheitsarchitektur möglichst viel automatisch ablaufen sollte. Zu einer im 802.11i-Standard vorgeschlagenen Methode, für die Erzeugung der Preshared Keys tatsächlich natürlichsprachliche Paßwörter einzusetzen, siehe den nächsten Abschnitt. Die automatisierte Methode, um beide Stationen mit dem Pairwise Master Key auszustatten, basiert auf der Verwendung des IEEE 802.1x-Standards und einem Upper-LayerAuthentifizierungsprotokoll. Während der Authentifizierung eines Clients am Authentifizierungsserver wird auf beiden Seiten der PMK erzeugt. Deshalb wird bei dieser Art der Schlüsselerzeugung auch von serverbasierenden Schlüsseln gesprochen. Anschließend wird der PMK vom Authentifizierungsserver an den AP weitergegeben. Damit steht auf beiden miteinander kommunizierenden Stationen der PMK zur Erzeugung des PTKs und damit der temporären Schlüssel bereit. 34 4.2 SCHLÜSSELMANAGEMENT Preshared Keys Da ein PMK eine Länge von 256 Bits bzw. 32 Bytes hat, eignet er sich nur sehr schlecht, um manuell in Stationen eingetragen zu werden. Beispielsweise für den Fall, daß ein Administrator einem neuen Nutzer den PMK per Telefon durchgeben will, damit ihn der Benutzer selbst in seiner Station eintragen kann, ist ein beliebiger Zeichenstrom sicher nicht praktikabel. Um dies zu vereinfachen, wurde in IEEE (2003b, S. 177 + 178) ein Verfahren vorgeschlagen, mit dem natürlichsprachliche Paßwörter in PMKs gewandelt werden können, um somit auch Laien den Umgang mit der Sicherheitstechnik zu ermöglichen – allerdings zu dem hohen Preis der Sicherheit selbst. Denn ein einfaches Paßwort hat im Gegensatz zu einem tatsächlich zufälligen Schlüssel, der die Grundmenge von 2256 verschiedenen Schlüsseln ausnutzt, nur eine eine vergleichbare Sicherheit von 2,5 Bits pro Buchstaben. Die TGi weist deshalb auch darauf hin, daß eine Paßwortlänge unter 20 Zeichen kaum Schutz vor Angriffen bietet und daß diese Art der PMK-Erzeugung nur eingesetzt werden sollte, wenn es keine praktikable Möglichkeit gibt, sicherere Schlüssel zu verwenden. Es wird in IEEE (2003b, S. 178 + 179) eine Referenzimplementation für ein Verfahren zur einheitlichen Umwandlung eines Paßwortes in einen PMK angegeben, das im Gegensatz zu den Keygeneratoren, die in WEP-Hardware eingesetzt wurden (siehe Abschnitt 2.3.2) tatsächlich zufällige Schlüssel generiert. Das Verfahren basiert auf der Password Based Key Derivation Function (PBKDF) 2 aus dem Public-Key Cryptography Standard (PKCS) 5, Version 2.0 von RSA Security (1999) und berechnet aus dem Paßwort, der SSID und der SSID-Länge mittels Hashings den 256-Bit-PMK. Die Paßwörter müssen dabei zwischen 8 und 63 ASCII-Zeichen enthalten. (Da nur Zeichen mit der ASCII-Kodierung 32 bis 126 (dezimal) erlaubt sind, benötigt ein Buchstabe nur 4 Bits.) 63 ASCII-Zeichen wurden als maximale Länge gewählt, um den Unterschied zum vollständigen, 32 Bytes langen PMK zu wahren. In Abhängigkeit von der Länge n (Anzahl der Buchstaben) des Paßwortes liefert das angegebene Verfahren eine sicherheitsrelevante Schlüssellänge von 2, 5 · n + 12; vgl. IEEE (2003b, S. 177). Serverbasierte Schlüssel Im Gegensatz zu den Preshared Keys wird bei dieser zweiten Methode die Schlüsselgenerierung ohne das Einwirken des Benutzers vorgenommen, was aufgrund der oben besprochenen Probleme im allgemeinen zu wesentlich besseren Schlüsseln führt. Der Name der serverbasierten Schlüssel kommt durch die Verwendung des zweistufigen Authentifizierungsmechanismus zustande, der in Abschnitt 4.5 genauer beschrieben wird. An dieser Stelle wird der Prozeß der automatischen Schlüsselerzeugung deshalb nur prinzipiell erörtert. Bei der im IEEE 802.11i-Standard verwendeten Authentifizierung sind drei Rollen zu identifizieren: Zu dem bereits bekannten Authentifizierer und dem Client kommt ein sog. Authentifizierungsserver (AS). Dieser übernimmt die eigentliche Authentifizierung, während dabei dem Authentifizierer eher die Rolle der Zugangskontrollinstanz zukommt. Anfragen, die von einem Client an einen Authentifizierer gerichtet werden, läßt dieser vom AS bearbeiten und handelt anschließend im Sinne der Antwort des Authentifizierungsservers. Hierdurch wird erreicht, daß die Authentifizierung zentral (eben auf dem AS, der somit auch mehrere APs bedienen kann) erfolgt. Auf dem AS können verschiedene sog. Upper-Layer-Authentifizierungsprotokolle zum 35 4.2 SCHLÜSSELMANAGEMENT Einsatz kommen, wovon einige die Eigenschaft besitzen, schlüsselerzeugend zu sein. Das bedeutet, daß sie bei der Durchführung der Authentifizierung eines Clients aus dem dafür nötigen Zufallszahlenmaterial den PMK erzeugen können. Zu diesen Protokollen gehören z.B. das TLS (Transport Layer Security)-Protokoll oder Kerberos; siehe dazu Abschnitt 4.5.4. Als Kommunikationsprotokoll bei der Aushandlung des PMKs wird dabei das Extensible Authentication Protocol (EAP) eingesetzt; siehe Abschnitt 4.5.2. Da die Authentifizierung zwischen dem Client und dem Authentifizierungsserver stattfindet, muß der PMK, nachdem er zugleich auf dem Client und dem Server erzeugt wurde, noch vom Server zum AP übertragen werden, damit er dort für die Erstellung des PTK und der nötigen temporären Schlüssel verwendet werden kann. Im Gegensatz zur WPA-Sicherheitsarchitektur, in der die Verwendung des RADIUS (siehe auch Abschnitt 4.5.3) für die Übertragung des PMKs zum AP vorgeschrieben ist, wird für die RSNSicherheitsarchitektur hier nur das EAP als Kommunikationsprotokoll festgelegt – als Authentifizierungsserver kann auch ein anderer Service verwendet werden. Vereinfacht wird dieser Schritt, wenn der Authentifizierungsserver direkt im AP realisiert wurde, was vor allem in neuerer Hardware für kleine lokale Netze immer häufiger anzutreffen ist. Die während der Authentifizierung vorgenommene Schlüsselerzeugung hängt auch von dem letztlich eingesetzten Protokoll der Upper-Layer Authentication (ULA) ab. Da diese aber nicht Teil des IEEE 802.11i-Standards ist, wird hier auf eine detaillierte Beschreibung des Ablaufs verzichtet; siehe dazu auch Abschnitt 4.5.4. Temporäre Schlüssel Nachdem der PMK auf beiden Stationen abgelegt wurde, können der Pairwise Transient Key und daraus anschließend die temporären Schlüssel für die tatsächliche Kommunikation erstellt werden. Die Erzeugung des PTK wird gemeinsam von beiden Stationen durchgeführt. Während eines 4-Way-Handshakes zwischen den Stationen erzeugen beide Stationen Pseudozufallszahlen und tauschen sie aus. Aus diesen Zahlen und weiteren Daten (siehe unten) wird daraufhin auf beiden Stationen ein identischer PTK berechnet, der entsprechend der obigen Beschreibungen für das TKIP und das CCMP in die benötigten temporären Schlüssel aufgeteilt wird. Der PTK unterscheidet sich zwischen dem TKIP und dem CCMP nur durch die Anzahl der zu generierenden Schlüssel, der Ablauf der Erzeugung ist dagegen gleich. Bevor der eigentliche Handshake durchgeführt wird, erstellen beide Parteien jeweils einen sog. NonceWert. Nonce steht dabei für einen Wert, der für den Bereich, in dem er eingesetzt wird, eindeutig bzw. einmalig ist. Es gilt also für die beiden von den Stationen erzeugten Werte, daß sie weder untereinander gleich sind, noch daß sie gleich einem Nonce-Wert sind, der auf einer der Stationen für die Erzeugung der temporären Schlüssel zur Kommunikation mit einer dritten Station erzeugt wird. Und dies gilt solange, wie kein Wechsel des PMKs vorgenommen wird. Es sei hier angemerkt, daß es sich bei den Nonce-Werten tatsächlich um Pseudozufallszahlen handelt, für die immerhin die theoretische Möglichkeit besteht, zufällig eben doch den gleichen Wert zu besitzen. Die Wahrscheinlichkeit aber, bei z.B. 10000 mittels eines guten PRNGs erzeugten, 256 Bits langen Nonce-Werten auch nur ein Mal den gleichen Nonce-Wert zu erhalten, liegt laut Edney und Arbaugh (2003, S. 225) bei etwa 10−70 . Es kann also ohne weiteres angenommen werden, daß alle erzeugten Nonce-Werte unterschiedlich sind. 36 4.2 SCHLÜSSELMANAGEMENT Zur Unterscheidung wird der auf der Seite des Authentifizierers erzeugte Wert ANonce genannt, der auf der Seite des Clients SNonce (für Supplicant). Die Erzeugung der 256 Bits langen Nonce-Werte ist im Standard nicht fest vorgeschrieben. Um aber die oben beschriebenen Eigenschaften von Nonce-Werten einzuhalten, schlagen Edney und Arbaugh (2003, S. 224 + 225) in einem etwas vereinfachten Verfahren (im Vergleich zu dem in IEEE (2003b, S. 180) beschriebenen Algorithmus) vor, die bereits vorgestellte PRF-256 Funktion hierfür einzusetzen. Für die Erzeugung der beiden Nonce-Werte kommen dabei jeweils eine von der Station nach einer oder mehreren der in Eastlake et al. (1994) vorgeschlagenen Methoden ermittelte Zufallszahl zum Einsatz. Diese weisen dementsprechend eher keine kryptographische Qualität auf. Der String ”Init Counter” und eine Verkettung der eigenen MAC-Adresse mit der Netzzeit werden ebenfalls als Parameter der PRF-256 verwendet. In der folgenden allgemeinen Berechnungsvorschrift ist für den SNonce- bzw. ANonce-Wert jeweils die entsprechende MAC-Adresse zu verwenden. Nonce = PRF-256(Zufallszahl,”Init Counter”, MAC k Zeit) Der Erzeugung der Nonce-Werte folgen die vier Schritte des Handshakes, die jeweils das Senden einer EAPOL-Key-Nachricht beinhalten. (Zu EAPOL siehe Abschnitt 4.5.2.) Die Nonce-Werte werden dabei jeweils zur anderen Station übertragen, damit anschließend auf beiden Stationen der PTK berechnet werden kann. Darüber hinaus dient der 4-Way-Handshake im Fall der Verwendung von serverbasierten Schlüsseln gleichzeitig der Authentifizierung des PMKs. 1. Authentifizierer −→ Client Die erste Nachricht des Handshakes wird vom Authentifizierer an den Client gesendet und beinhaltet lediglich den ANonce-Wert. Der Wert wird dabei ungeschützt übertragen, was aber nicht weiter bedenklich ist. Sollte ein Angreifer den Wert ändern können, wird der Handshake lediglich nicht erfolgreich beendet werden können, ohne weiteren Schaden anzurichten. Hat der Client diesen Wert empfangen, kann er zusammen mit dem PMK, dem eigenen SNonce-Wert, der MAC-Adresse des Senders und seiner eigenen MAC-Adresse den PTK und damit die temporären Schlüssel berechnen. (Zu der genauen Berechnung siehe unten.) 2. Client −→ Authentifizierer Damit der Authentifizierer ebenfalls den PTK berechnen kann, benötigt dieser wiederum den SNonce-Wert des Clients. Dieser wird zwar in der entsprechenden Nachricht auch unverschlüsselt übertragen, doch wird hier mit Hilfe des zuvor berechneten EAPOL MIC Schlüssels ein Integritätscheck mit übermittelt. Nach der Übertragung der Nachricht kann der Authentifizierer nun seinerseits die benötigten temporären Schlüssel berechnen (siehe unten) – unter ihnen auch der EAPOL MIC Key. Mit diesem kann er anschließend überprüfen, ob der erhaltene SNonce-Wert auch unverfälscht übertragen wurde. (Sollte bereits bei der Übertragung des ANonce-Wertes ein Fehler aufgetaucht sein, so wird auch dieser bei der Prüfung des MICs offenbar.) Wird der MIC als korrekt identifiziert, kann der Authentifizierer sicher sein, daß der Client in Kenntnis des gemeinsamen PMKs ist. 3. Authentifizierer −→ Client Der Authentifizierer schickt nun wiederum eine durch einen MIC gesicherte Nachricht 37 4.2 SCHLÜSSELMANAGEMENT an den Client, in der er ihm mitteilt, daß die Aktivierung der temporären Schlüssel vorgenommen werden kann. Die Nachricht enthält darüber hinaus den Initialisierungswert (normalerweise 0) für die Sequenznummer der zukünftig zu übertragenden MPDUs (MAC Protocol Data Unit); siehe dazu auch die Abschnitte 4.3.1 und 4.3.2. 4. Client −→ Authentifizierer Im letzten Schritt des Handshakes bestätigt der Client dem Authentifizierer wiederum nur unter Verwendung des MICs die erfolgreiche Schlüsselerzeugung und aktiviert anschließend die Verschlüsselung für diese Verbindung. Nach dem Empfang dieser Nachricht (und entsprechender Prüfung des MICs) nimmt auch der Authentifizierer seine temporären Schlüssel in Betrieb. Nach der erfolgreichen Ausführung dieses Handshakes sind beide Stationen im Besitz der nötigen temporären Schlüssel und haben die Verschlüsselung aktiviert. Das heißt, eine sichere Kommunikationsverbindung wurde hergestellt. Da im übrigen der EAPOL MIC Key immer aus dem aktuellen PMK gebildet wird, kann im 4-Way-Handshake keine ReplayAttacke angewendet werden. Die eigentliche Berechnung des PTKs, aus dem dann anschließend die temporären Schlüssel entnommen werden, geschieht wiederum unter Verwendung der PRF. Durch den Einsatz von PRF-512 (für das TKIP), bzw. PRF-384 (für das CCMP) wird der nur 256 Bits lange PMK auf die für den PTK benötigte Länge von n = 512 bzw. n = 384 Bits erweitert. Die MAC-Adressen der beiden Stationen werden dabei ebenso wie ihre Nonce-Werte in aufsteigend sortierter Reihenfolge zu einem Parameter der PRF verkettet. (Die Nonce-Werte, die selbst durch eine PRF erzeugt wurden, dienen also selbst wieder der Initialisierung für einen PRF-Aufruf.) In beiden PRF-Berechnungen kommen darüber hinaus der PMK und ein Textstring, der kennzeichnet, daß es sich um die Erweiterung des PMK zum PTK handelt, als Parameter zum Einsatz. PTK = PRF-n(PMK,”Pairwise key extension”, MAC1 k MAC2 k Nonce1 k Nonce2) Die vier bzw. drei temporären Schlüssel (EAPOL Encryption Key, EAPOL MIC Key für beide Protokolle, Session Key und Michael Key für das TKIP und Session/MIC Key für das CCMP) erhalten die Stationen durch einfaches Aufteilen des PTK in jeweils 128 Bits lange Teilschlüssel. Im Anschluß an die Etablierung der paarweisen temporären Schlüssel kann die Erstellung und Verteilung des Gruppenschlüssels unter Verwendung der bereits existierenden sicheren Verbindung erfolgen. 4.2.4 Gruppenschlüssel Analog zum Pairwise Master Key bildet der nur 128 Bits lange Group Master Key (GMK) den Kopf der Hierarchie der Gruppenschlüssel. Die Verteilung desselben gestaltet sich wesentlich einfacher als die des PMKs und wird ausschließlich vom AP vorgenommen. Das heißt, daß auch die Erstellung des Schlüssels ohne Mitwirken des Clients erfolgt; hierzu siehe unten. 38 4.2 SCHLÜSSELMANAGEMENT Dem GMK folgt in der Hierarchie entsprechend der Abfolge für die paarweisen Schlüssel der Group Transient Key (GTK). Er besitzt bei der Verwendung des TKIPs eine Länge von 256 Bits, für das CCMP sogar nur 128 Bits, da nur zwei temporäre 128-Bit-Schlüssel im TKIP bzw. ein temporärer 128-Bit-Schlüssel im CCMP benötigt werden. Die Erstellung von EAPOL-Schlüsseln entfällt hier, denn alle Nachrichten, die mit der Schlüsselerzeugung bzw. dem Schlüsseltransfer zu tun haben, werden nur mit Hilfe der paarweisen Schlüssel abgewickelt. Abbildung 9 zeigt die Schlüsselhierarchie, die beim Einsatz vom TKIP als Verschlüsselungsmechanismus unter Verwendung von Gruppenschlüsseln erzeugt wird. Group Master Key (GMK)128 Bit ? Group Transient Key (GTK)256 Bit ? ? 128 Bit Michael Key128 Bit Session Key ? Schutz der Multicast-Datenübertragung Abbildung 9: TKIP Group Key – Schlüsselhierarchie Die Aufteilung des GTKs in die Schlüssel zur Verschlüsselung und Integritätssicherung der Datenübertragung entspricht damit dem Vorgehen beim PTK. Die Schlüsselhierarchie für den Einsatz vom CCMP als Verschlüsselungsmechanismus unter Verwendung von Gruppenschlüsseln zeigt Abbildung 10. Group Master Key (GMK)128 Bit ? Group Transient Key (GTK)128 Bit ? Session/MIC Key128 Bit ? Schutz der Multicast-Datenübertragung Abbildung 10: CCMP Group Key – Schlüsselhierarchie 39 4.2 SCHLÜSSELMANAGEMENT Auch der Gruppenschlüssel für das CCMP vereint die Funktionen der Verschlüsselung und der Integritätsicherung von Datenübertragungen in einem einzigen 128-Bit-Schlüssel. Group Master Key Für die Bereitstellung des GMK muß bei weitem kein so großer Aufwand betrieben werden wie im Fall des PMK. Er muß nur auf der Seite des APs erzeugt werden und bedarf dafür keiner Informationen der Clients. Da zum Zeitpunkt der Erzeugung bereits eine sichere Verbindung zu allen Clients besteht, ist auch die anschließende Übertragung des GTKs an die Clients einfacher. Da der GMK nur für die Sicherung der Datenübertragung eingesetzt wird und keinerlei Authentifizierungsaufgaben übernimmt, ist es nicht nötig, ihn an bestimmte Daten des APs zu binden. Die Konstruktionsvorschrift für den 256 bzw. 128 Bits langen GMK ist daher entsprechend einfach: Es ist lediglich eine Zufallszahl von kryptographischer Qualität der entsprechenden Länge zu erzeugen. Die jeweiligen Verfahren für (Pseudo-)Zufallszahlen dieser Eigenschaft wurden in Abschnitt 4.2.2 bereits besprochen. Temporäre Schlüssel Die Erzeugung des GTKs aus dem GMK geschieht auf dem AP wiederum unter Verwendung der bekannten Pseudozufallsfunktion. Auch hier werden für den Einsatz der verschiedenen Verschlüsselungsprotokolle unterschiedliche Längen des GTK benötigt. So kommt für den TKIP GTK die PRF-256 zum Einsatz, während für den CCMP GTK nur die PRF-128 benötigt wird. Sowohl beim GMK des TKIPs mit n = 256 Bits als auch für den des CCMPs mit n = 128 Bits bleibt die Länge für den GTK gleich. Neben dem GMK und der Kennzeichnung, daß es sich hier um die Erweiterung des GMK zum GTK handelt, kommen die MAC-Adresse des APs und eine weiterer Nonce-Wert als Parameter zum Einsatz. Für den Nonce-Wert (hier GNonce bezeichnet) kann die gleiche Konstruktionsvorschrift eingesetzt werden, die bereits bei den Nonce-Werten im 4-WayHandshake der paarweisen Schlüssel zur Anwendung kam: GTK = PRF-n(GMK,”Group key extension”, MAC Authentifizierer k GNonce) Während der 4-Way-Handshake für die Erzeugung der temporären paarweisen Schlüssel ohne irgendeine existierende Sicherung durchgeführt werden mußte, kann beim Gruppenschlüssel die bereits bestehende Absicherung durch den PTK genutzt werden. Der nötige Handshake zur Verteilung des GTKs benötigt deshalb auch nur zwei Nachrichten: 1. Authentifizierer −→ Client In der ersten Nachricht sendet der Authentifizierer den bereits erstellten GTK (256 Bits für das TKIP und 128 Bits für das CCMP) in einer EAPOL-Key-Nachricht (Verschlüsselt durch den EAPOL Encryption Key und abgesichert durch den EAPOL MIC Key) an den Client. 2. Client −→ Authentifizierer Hat der Client die Nachricht empfangen und ggf. nach Trennung des GTKs in Session Key und Michael Key die bzw. den Gruppenschlüssel (Session/MIC Key im Fall des CCMP) lokal installiert, sendet er eine ebenfalls abgesicherte und verschlüsselte Bestätigung an den Authentifizierer. Der Authentifizierer aktiviert daraufhin die Verschlüsselung auf der Basis des verteilten Gruppenschlüssels. 40 4.2 SCHLÜSSELMANAGEMENT Nach diesem kurzen Handshake ist der verschlüsselte Empfang von Multicast-Nachrichten durch den Client möglich. Das Verfahren für die Schlüsselgenerierung (sowohl der paarweisen Schlüssel als auch der Gruppenschlüssel) beim Anmelden am Netz ist somit bekannt. Es bleibt, wie der nächste Abschnitt zeigt, zu klären, welche Maßnahmen durch das Verlassen des Netzes ausgelöst werden. 4.2.5 Schlüsselwechsel Verläßt ein Client das Netz, so braucht sein paarweiser Schlüssel nur auf dem AP gelöscht werden. Der Client sendet dazu eine Nachricht an den den AP, in der er mitteilt, daß er das Netz verlassen will. Der AP stoppt daraufhin das Senden aller Nachrichten an den Client und entfernt den paarweisen Schlüssel. Beim erneuten Anmelden des Clients wird ein neuer paarweiser Schlüssel erzeugt. Beim Gruppenschlüssel ergibt sich allerdings ein Problem: Auch nach dem Abmelden vom Netz kann der Client noch Multicast-Nachrichten empfangen und entschlüsseln. Um auch das zu verhindern, muß also der Gruppenschlüssel für alle Stationen im Netz gewechselt werden. Aufgrund der Tatsache, daß der Schlüssel allein vom AP erstellt und verteilt wird, ist der Aufwand vergleichsweise gering, doch bei hoher Fluktuation der Clients im Netz könnte dies eine nicht unerhebliche Beeinträchtigung des Multicast-Verkehrs bedeuten. Denn es stellt sich die Frage, wann die Gültigkeit vom alten auf den neuen Gruppenschlüssel wechseln soll. Geschieht dies, bevor alle Clients den neuen Schlüssel haben, sind die Clients, die noch den alten Schlüssel verwenden, vom Multicast-Empfang abgeschnitten. Im gegenteiligen Fall würden alle Clients, die den neuen Schlüssel bereits erhalten haben, solange von der Multicast-Kommunikation ausgeschlossen sein, bis der letzte Client den neuen Schlüssel erhalten hat. Zur Lösung dieses Dilemmas wird eine Eigenschaft der WEP-Sicherheitsarchitektur ausgenutzt, die in dieser Architektur selbst zuvor kaum genutzt wurde: In dieser wurde vorgesehen, daß bis zu vier verschiedene Schlüssel gespeichert werden können, die durch eine Schlüssel-ID (KID) identifiziert werden (siehe auch Abschnitt 2.3). Der auf einem Client gespeicherte paarweise Schlüssel besitzt bereits die KID 0. So bleibt Platz für bis zu drei verschiedene Gruppenschlüssel. Der AP kann also einen neuen Gruppenschlüssel verteilen, während er Multicast-Nachrichten weiterhin unter Verwendung des alten Schlüssels versendet. Erst wenn der letzte Client den neuen Schlüssel erhalten hat, verschlüsselt der AP alle weiteren Multicast-Nachrichten mit dem neuen Schlüssel und deaktiviert den alten Schlüssel. Damit wird erreicht, daß vor allem für Multicast prädestinierte Anwendungen wie z.B. Video- oder Audio-Streaming durch einen Schlüsselwechsel nicht beeinträchtigt werden. 4.2.6 Mischbetrieb Speziell zu Beginn der Einführung von Geräten, die auf der Basis des 802.11i-Standards arbeiten, wird häufig der Fall anzutreffen sein, daß nicht nur das CCMP in einem Netz zur Anwendung kommt, sondern gleichzeitig auch ältere Geräte darin vertreten sind, die auf die Verwendung des TKIPs angewiesen sind. Für einen modernen AP sollte dies im Bezug auf die PMKs keine Schwierigkeit darstellen: Der AP erkennt selbsttätig das vom 41 4.3 VERSCHLÜSSELUNG Client verwendete Protokoll und wendet die jeweils nötige Ver- und Entschlüsselung an. Probleme allerdings bereitet das Senden von Multicast-Nachrichten. Wenn diese vom AP aus an alle Clients gesendet werden sollen, muß diese Nachricht einheitlich verschlüsselt sein, andernfalls müßte die Nachricht zweifach unter der Verwendung der verschiedenen Verschlüsselungen gesendet werden, womit sie die Multicast-Eigenschaft verlieren würde. Einziger Ausweg ist die Vereinbarung, in einem gemischten Netz als Verschlüsselungsverfahren für Multicast-Nachrichten für alle Clients das TKIP vorzuschreiben, auch wenn teilweise das CCMP für die paarweise Verschlüsselung zur Anwendung kommt. Wird jedoch in einem Netz bereits das CCMP für die Verschlüsselung von MulticastNachrichten verwendet, so ist der Einsatz des TKIP als Verschlüsselungsprotokoll auch für die paarweise Kommunikation im Netz nicht möglich. Unter welchen Umständen ein Wechsel des Betriebsmodus vorgenommen wird, um auch ältere Hardware in diesem Netz zu betreiben, hängt von dem jeweiligen AP und der zugrundeliegenden Sicherheitspolitik am Einsatzort ab. 4.3 Verschlüsselung Der IEEE 802.11i-Standard definiert zwei Verschlüsselungs- und Integritätsprotokolle, TKIP (Temporal Key Integrity Protocol) und CCMP (CTR/CBC-MAC Protocol). Während das TKIP nur eine Erweiterung des Verschlüsselungsmechanismus aus der WEPSicherheitsarchitektur darstellt und im übrigen auch auf älterer Hardware nachrüstbar ist, basiert die Verschlüsselung bei CCMP bereits auf dem Advanced Encryption Standard. Das TKIP ist schwächer und wird daher im Standard auch ausdrücklich nur als Option für den gemeinsamen Betrieb von RSN- und nicht-RSN-Hardware vorgeschlagen. Die Implementierung des TKIPs ist jedoch nicht vorgeschrieben, um der RSN-Sicherheitsarchitektur zu entsprechen. Einzig obligatorisch und damit das wichtigste Verschlüsselungsprotokoll für RSN ist das CCMP; vgl. IEEE (2003b, S. 45). In IEEE (2002b) wurde auch noch ein drittes Protokoll beschrieben, das ebenso wie das CCMP auf dem AES basierte. Das Wireless Robust Authenticated Protocol (WRAP) hatte gegenüber dem CCMP sogar noch den Vorteil, neben der Verschlüsselung gleichzeitig die Integritätssicherung der Nachrichten zu ermöglichen. (Im CCMP werden dafür zwei verschiedene Mechanismen bemüht.) Das Protokoll wurde allerdings von der TGi wieder verworfen, da nicht geklärt werden konnte, ob für den verwendeten Offset Codebook (OCB)-Mode, auf dem die Verschlüsselung im WRAP basiert, ggf. später Lizenzgebühren zu zahlen gewesen wären. In den folgenden Abschnitten wird die Funktionsweise der beiden Verschlüsselungsmethoden eingehender beschrieben. Es wird dabei ersichtlich, daß es aufgrund der HardwareRestriktionen bei der Entwicklung des TKIPs wesentlich leichter war, ein völlig neues Verschlüsselungssystem wie das CCMP zu entwickeln, das im Gegensatz zum TKIP keinerlei zusätzliche Beschränkungen zu beachten hatte; vgl. auch Edney und Arbaugh (2003, S. 231 – 234). Die Integritätssicherungsmaßnahmen der beiden Protokolle werden anschließend in Abschnitt 4.4 besprochen. 4.3.1 TKIP Die Aufnahme vom TKIP in den 802.11i-Standard geschah aus reinen Kompatibilitätsgründen zu bereits existierender, auf dem 802.11-Standard basierender Hardware. Die Nutzung 42 4.3 VERSCHLÜSSELUNG des TKIPs auf RSN-Hardware soll deshalb auch ausschließlich auf den Mischbetrieb beschränkt sein. Das TKIP wurde als Verbesserung der WEP-Sicherheitsarchitektur entwickelt und mußte vor allem der Anforderung genügen, auf bestehender Hardware nachrüstbar zu sein. Deshalb wird beim TKIP zwangsläufig WEP verwendet, allerdings erweitert und umgeben durch neue Funktionen, die die Schwächen von WEP ausgleichen sollen; vgl. IEEE (2003b, S. 46). Das TKIP bietet dabei für alle bisher bekannten Schwächen Verbesserungen: • Die Integrität von Nachrichten wird mittels einer Checksumme auf Nachrichten-Ebene abgesichert statt wie bisher auf Paket-Ebene und bietet so einen Schutz gegen aktive Angriffe (siehe hierzu Abschnitt 4.4.1). • Da aufgrund der Restriktionen durch die weiterhin zu verwendende WEP-Sicherheitsarchitektur auch diese Checksumme keinen vollkommenen Schutz vor Angriffen bieten kann, wurden für den Fall einer erfolgreichen Attacke Gegenmaßnahmen vorgesehen (siehe auch hierzu Abschnitt 4.4.1). • Die Konstruktion des IV wird verändert, so daß die bisher möglichen schwachen Schlüssel verhindert werden. Dies wird durch die Verwendung einer längeren Sequenznummer ermöglicht, die auch in die Verschlüsselung mit eingeht. Die Sequenznummer wird dabei im WEP-IV und darüber hinaus im erweiterten IV (EIV (Extended IV)) übertragen. • Jeder übertragene Frame wird mit einem eigenen Schlüssel (Per-Packet Key (PPK)) abgesichert, statt wie bei WEP einen statischen Schlüssel zu verwenden. • Und schließlich führt das TKIP – vor allem in Verbindung mit den Gegenmaßnahmen – die Verwendung eines Schlüsselmanagements (vgl. Abschnitt 4.2) ein, was bei WEP überhaupt nicht vorgesehen war. Daß dies in Anbetracht der nur auf WEP ausgelegten Rechenleistung der Access Points zu Engpässen führen kann, liegt auf der Hand; vgl. Walker (2002b). Wie das TKIP es aber dennoch schafft, die gesteckten Sicherheitsziele auf der vorhandenen Plattform zu erreichen, zeigen die folgenden Abschnitte. Neben der Beschreibung des geänderten Aufbaus des MAC-Frames werden sowohl der Verschlüsselungs- als auch der Entschlüsselungsablauf betrachtet. Verschlüsselung Als Basis des gesamten Verfahrens dienen zwei vom Pairwise Master Key oder Group Master Key abgeleitete temporäre 128 Bit Schlüssel, von denen einer (TK oder Session Key) zur Verschlüsselung des Datenverkehrs eingesetzt wird und der andere (Michael Key) die Datenintegrität sichert. Zu der Erzeugung dieser Schlüssel siehe Abschnitt 4.2. Im folgenden ist vor allem der zur Verschlüsselung benötigte TK von Bedeutung. Neben den beiden Schlüsseln findet auch die zu übertragende Nachricht (MSDU) Eingang in den Verschlüsselungsablauf, den Abbildung 11 schematisch zeigt. (Auf die Kennzeichnung der Übergabe von statischen Werten wie der Priorität und Füllbits wurde verzichtet.) 43 4.3 VERSCHLÜSSELUNG Schlüsselmanagement (PMK / GMK) ? ? Nachricht (MSDU) Michael Key ' ? SA Session Key (TK) $ ? ? T T A K - Schlüsselmix Phase 1 TA MIC-Berechnung ? DA - TSC Schlüsselmix Phase 2 ? ? Fragmente (MSDU + MIC) ? IV ? PPK ? ? WEP-Verschlüsselung (RC4) & % ? ? MAC Hd. - MPDU(s) EIV KID Abbildung 11: TKIP-Verschlüsselung Zu Beginn des Verfahrens wird die Integrität der Nachricht mittels einer Prüfsumme gesichert, die mit Hilfe des Michael Keys unter anderem über die Nachricht (MSDU), ihre Quelle (Source Address (SA)) und ihr Ziel (Destination Address (DA)) – in Form der jeweiligen MAC-Adressen – berechnet wird. (Es geht eigentlich auch noch eine Prioritätsangabe mit in die Berechnung ein, da sie aber erst für eine zukünftige Nutzung vorgesehen ist und im 802.11i-Standard immer den Wert 0 besitzt, wird sie hier nicht weiter betrachtet.) Der berechnete TKIP Message Integrity Code (MIC) wird nach der Erzeugung an die Nachricht angehängt. Über die genaue Berechnung des MIC gibt Abschnitt 4.4.1 Auskunft. Aufgrund der Erweiterung der MSDU um 8 Bytes kann es vorkommen, daß die Nachricht zu lang für den Frame Body eines MAC-Frames (MPDU) wird und die Nachricht deshalb fragmentiert werden muß. (Natürlich kann Fragmentierung auch unbeeinflußt vom angefügten MIC vorkommen, wenn beispielsweise die Übertragungsqualität schlecht ist und somit bei zu langen MAC-Frames zu häufig Wiederholungen nötig sind.) Die MIC-Berechnung liefert also ggf. mehrere Fragmente der ursprünglichen Nachricht inklusive des angehängten MICs. Das TKIP sorgt dafür, daß die Fragmente einer MSDU beim Einschließen in eine MPDU mit einer Sequenznummer ausgestattet werden, die das anschließende Zusammenfügen der Fragmente ermöglicht. Dieser TKIP Sequence Counter (TSC) hat eine Länge von 48 Bits und wird teils im WEP IV (16 Bits) und teils im EIV (32 Bits) als Klartext zum Empfänger 44 4.3 VERSCHLÜSSELUNG übertragen. (Zu der genauen Aufteilung des TSC auf die Initialisierungsvektoren IV und EIV siehe unten.) Zuvor findet er aber auch noch Verwendung während der Erstellung der PPKs und geht als IV mit in die WEP-Verschlüsselung ein. Der TSC wird zu Beginn einer Session auf 1 initialisiert und dann für jede zu versendende MPDU um 1 inkrementiert; vgl. IEEE (2003b, S. 61). Sollten in einer Session mehr als 248 Datenpakete versendet werden, so wird ein Wechsel des Session Keys veranlaßt und der TSC wieder auf 1 gesetzt. Das Vorgehen (Schlüsselmix) zur Generierung der PPKs entspricht vom Prinzip her dem bereits bekannten Fast Packet Keying (FPK)-Verfahren (vgl. Abschnitt 3.4). Vor allem aufgrund der Verwendung des TSCs wurden aber einige Veränderungen am Verfahren vorgenommen. Wie genau beim TKIP unter Verwendung des Session Keys, der Senderadresse und der Sequenznummer der Per-Paket Key für jede zu übertragende MPDU erzeugt wird, zeigt der nächste Abschnitt. Für die nach erfolgreicher Erstellung des PPK und Konstruktion des IV erfolgende WEP-Verschlüsselung siehe Abschnitt 2.3. Auf der Seite des Empfängers werden anschließend zum Teil die gleichen Schritte wie beim Sender ausgeführt, um die entsprechenden Schlüssel zur Anwendung der WEPEntschlüsselung auf das empfangene Datenpaket zu generieren. Da der TSC im Klartext übertragen wird, kann der Empfänger prüfen, ob das Paket einen größeren TSC als das vorhergehende besitzt – ist dies nicht der Fall, wird das Paket verworfen. Ansonsten wird der PPK berechnet und das Paket entschlüsselt. Daraufhin wird der TKIP MIC überprüft, und bei Unstimmigkeiten werden Gegenmaßnahmen eingeleitet (siehe dazu Abschnitt 4.4.1). Falls alle MPDUs mit einem korrekten MIC versehen waren, kann schließlich die MSDU wiederhergestellt werden. Zu der Entschlüsselung beim TKIP siehe weiter unten. Schlüsselmix / IV Die Funktion zum Erzeugen des zum Verschlüsseln einzelner Datenpakete nötigten PPKs und des IVs für die Initialisierung des RC4-Schlüsselstroms besitzt zwei Phasen: In der ersten Phase wird ein Zwischenschlüssel gebildet durch das Mixen des TKs mit der Senderadresse TA und einem Teil des TSCs. Dies geschieht mittels einer Hashfunktion und ist vergleichsweise aufwendig. Der Zwischenschlüssel (TKIP mixed Transmit Address and Key (TTAK)) kann aber von der Station zwischengespeichert werden. Dies kann maximal bis zum Ende einer Session sein, also so lange, wie der TK (Session Key) beibehalten wird. Es kann auch früher eine Neuberechnung nötig sein; dazu siehe weiter unten. In einer zweiten Phase, die für jede zu versendende MPDU ausgeführt wird, wird der TTAK dann mit dem Rest des TSCs und dem TK erneut vermischt, um so schließlich den PPK zu liefern, der zusammen mit einem ebenfalls in dieser Phase erzeugten IV als Grundlage für die Erzeugung des RC4-Schlüsselstroms dient. Auch die zweite Phase kann vorberechnet werden, da sich zwei aufeinanderfolgende PPKs nur durch den um 1 erhöhten TSC in ihrer Konstruktion unterscheiden. Somit kann eine Station auch schon einige PPKs ”auf Vorrat” berechnen. Erste Phase In der ersten Phase wird ein 80 Bits langer Schlüssel (TTAK) in Form von fünf 16-Bit-Worten TTAK0 bis TTAK4 produziert. Hierzu wird der 128 Bits lange Session Key TK (in 16 Bytes TK0 bis TK15 ) mit der 48 Bits langen Senderadresse TA (sechs Bytes TA0 bis TA5 ) und den höherwertigen 32 Bits des TSCs (sechs Bytes TSC0 bis TSC5 ) vermischt. Abbildung 12 zeigt den Algorithmus der ersten Phase; vgl. IEEE (2003b, S. 59) und 45 4.3 VERSCHLÜSSELUNG Edney und Arbaugh (2003, S. 257 + 258). Die Funktion (x k y) verbindet dabei zwei 8-BitWerte x und y zu einem 16-Bit-Wert z in der Form z = 256 · x + y. Des weiteren kommt die Funktion S(x) zum Einsatz; vgl. IEEE (2003b, S. 57 – 59). Sie stellt die Anwendung einer Ersetzungstabelle (Substitution-Box (S-Box)) auf x dar und wird weiter unten genauer beschrieben. Für die Anordnung der Bits gelten hier wie auch für die Berechnungen in Phase 2 die Konventionen aus IEEE (1999a, Abschnitt 7.1.1). Das heißt, Bytes und Worte bestehend aus mehreren Bytes enthalten die Bits der durch sie repräsentierten Zahl in aufsteigender Signifikanz. Eingabe: TA48Bit , TK 128Bit und (TSC2 , ..., TSC5 )32Bit Ausgabe: T TAK 80Bit PHASE1-KEY-MIXING (TA0 , ..., TA5 , TK0 , ..., TK15 , TSC2 , ..., TSC5 ) PHASE1-STEP1: T TAK0 ← TSC3 k TSC2 T TAK1 ← TSC5 k TSC4 T TAK2 ← TA1 k TA0 T TAK3 ← TA3 k TA2 T TAK4 ← TA5 k TA4 PHASE1-STEP2: for i = 0 to 7 do j ← 2 · (i mod 2) T TAK0 ← T TAK0 T TAK1 ← T TAK1 T TAK2 ← T TAK2 T TAK3 ← T TAK3 T TAK4 ← T TAK4 end + + + + + S[T TAK4 S[T TAK0 S[T TAK1 S[T TAK2 S[T TAK3 ⊕ (TK1+j k TK0+j )] ⊕ (TK5+j k TK4+j )] ⊕ (TK9+j k TK8+j )] ⊕ (TK13+j k TK12+j )] ⊕ (TK1+j k TK0+j )] + i return (T TAK1 , ..., T TAK4 ) Abbildung 12: TKIP Schlüssel-Mix Phase 1 Der Algorithmus der ersten Phase initialisiert in einem ersten Schritt die fünf 16-BitWorte des Zwischenschlüssels mit den höherwertigen vier Bytes des TSCs und den sechs Bytes der TA. In einem zweiten Schritt wird dann eine Schleife acht mal durchlaufen, in der die Variable j abwechselnd den Wert 0 und 2 annimmt. Während einer Iteration der Schleife wird unter Verwendung der TKIP S-Box der Session Key in den Zwischenschlüssel eingemischt. Wie bereits erwähnt wurde, läßt sich das Ergebnis dieser ersten (rechenaufwendigen) Phase zwischenspeichern. So lange wie der TK und die TA beibehalten werden, können die ersten 16 Bits des TSCs inkrementiert werden. Das heißt, es können 216 = 65536 aufeinanderfolgende Pakete unter Verwendung des gespeicherten TTAKs versendet werden. Sobald aber TSC2 hochgezählt werden muß, ist auch der TTAK neu zu berechnen. Sollte 46 4.3 VERSCHLÜSSELUNG aufgrund einzuleitender Gegenmaßnahmen ein Schlüsselwechsel durchzuführen sein, ist dies natürlich schon früher nötig; dazu mehr weiter unten. Zweite Phase Die zweite Phase generiert aus dem Zwischenschlüssel TTAK der ersten Phase (hier wieder repräsentiert durch fünf 16-Bit-Worte TTAK0 bis TTAK4 ) mit Hilfe des Session Keys TK (16 Bytes TK0 bis TK15 ) und den niederwertigen zwei Bytes des TSCs (TSC0 und TSC1 ) den 104 Bits langen PPK in Form von sechs 16-Bit-Worten PPK0 bis PPK5 . (Das untere Byte von PPK5 wird im Ergebnis zwei mal verwendet.) Zusammen mit einem 24 Bits langen IV, der aus TSC0 und TSC1 erstellt wird, enthält die Ausgabe des Algorithmus der zweiten Phase den 128 Bits langen Schlüssel RC4K mit den Bytes RC4K0 bis RC4K15 für die Berechnung des RC4 Schlüsselstroms. Abbildung 13 zeigt den Algorithmus der zweiten Phase; vgl. IEEE (2003b, S. 60 + 61) und Edney und Arbaugh (2003, S. 258 + 259). Die Funktion x >>> 1 steht dabei für das rechtsseitige Rotieren des 32-Bit-Wortes x um ein Bit, wobei x >> 1 das rechtsseitige Verschieben des 32-Bit-Wortes x um ein Bit bezeichnet. LowerByte(x) liefert das niederwertige Byte y zu einem 16-Bit-Wert x in der Form y = x mod 256, UpperByte(x) liefert entsprechend das höherwertige Byte. Weiterhin werden die Bitoperationen | und & verwendet. x | y führt ein bitweises OR von x und y durch, während x & y eine bitweises UND von x und y bestimmt. Im Algorithmus der zweiten Phase werden als erstes die sechs 16-Bit-Worte des PPKs mit den fünf Worten des Zwischenschlüssels und den beiden niederwertigen Bytes des TSC initialisiert. Innerhalb des zweiten Schrittes wird unter Verwendung der TKIP S-Box erneut der TK in den PPK eingemischt, wobei durch die anschließenden Rotationen eine noch stärkere Vermischung erreicht wird. Im dritten Schritt wird der IV erstellt und der zu erzeugende RC4-Schlüssel RC4K mit dem 24 Bits langen IV und dem 104 Bits langen PPK belegt. Das erste Byte des IV erhält dabei den Wert von TSC1 , während TSC0 dem dritten Byte des IV zugewiesen wird. Das zweite Byte des IV ist eine Wiederholung des ersten Bytes mit dem Unterschied, daß das siebte Bit auf 0 und das fünfte Bit auf 1 gesetzt wird, wobei das siebte Bit hier das signifikanteste Bit darstellt. Durch diese Konstruktion des zweiten Bytes werden die sehr schwachen Schlüssel vermieden (vgl. Fluhrer et al. (2001)) – weitere Bedeutung kommt dem zweiten Byte des IVs sonst nicht zu. Der IV und der PPK ergeben schließlich zusammen den RC4-Schlüssel als Startwert zur Erzeugung des RC4-Schlüsselstroms im Sinne der WEP-Sicherheitsarchitektur. Eine Referenzimplementation des TKIP Schlüssel-Mixes findet sich in IEEE (2003b, S. 154 – 161). Ersetzungstabelle / S-Box In beiden Phasen des Schlüsselmixes kommt eine Ersetzungstabelle (S-Box) zum Einsatz. Eine solche S-Box ordnet jedem Wert aus der zugrundeliegenden Zahlenmenge einen Ersatzwert aus einer meist größeren Menge zu. Als Grundmenge dienen im Fall vom TKIP die 16-Bit-Worte. Würde ein 16-Bit-Wort mit einer einzigen Ersetzungstabelle in ein anderes 16-Bit-Wort umgewandelt werden müssen, so müßte diese Tabelle 216 , also 65536 Einträge besitzen und würde damit viel zu groß für den Einsatz im TKIP sein. Für die TKIP S-Box wird deshalb eine Trennung des 16-Bit-Wortes in zwei Bytes vorgenommen, auf die jeweils eine eigene, kleinere Ersetzungstabelle angewendet wird. Die erste S-Box dient der Ersetzung des höherwertigen Bytes des 16-Bit-Wortes 47 4.3 VERSCHLÜSSELUNG Eingabe: T TAK 80Bit , TK 128Bit und (TSC0 , TSC1 )16Bit Ausgabe: RC4K 128Bit PHASE2-KEY-MIXING (T TAK0 , ..., T TAK5 , TK0 , ..., TK15 , TSC0 , TSC1 ) PHASE2-STEP1: P P K0 ← T TAK0 P P K1 ← T TAK1 P P K2 ← T TAK2 P P K3 ← T TAK3 P P K4 ← T TAK4 P P K5 ← T TAK4 + TSC1 k TSC0 PHASE2-STEP2: P P K0 ← P P K0 + S[P P K5 ⊕ (TK1 k TK0 )] P P K1 ← P P K1 + S[P P K0 ⊕ (TK3 k TK2 )] P P K2 ← P P K2 + S[P P K1 ⊕ (TK5 k TK4 )] P P K3 ← P P K3 + S[P P K2 ⊕ (TK7 k TK6 )] P P K4 ← P P K4 + S[P P K3 ⊕ (TK9 k TK8 )] P P K5 ← P P K5 + S[P P K4 ⊕ (TK11 k TK10 )] P P K0 ← P P K0 + [(P P K5 ⊕ (TK13 k TK12 )) >>> 1] P P K1 ← P P K1 + [(P P K0 ⊕ (TK15 k TK14 )) >>> 1] P P K2 ← P P K2 + [P P K1 >>> 1] P P K3 ← P P K3 + [P P K2 >>> 1] P P K4 ← P P K4 + [P P K3 >>> 1] P P K5 ← P P K5 + [P P K4 >>> 1] PHASE2-STEP3: RC4K0 ← TSC1 RC4K1 ← (TSC1 | 0x20) & 0x7F RC4K2 ← TSC0 RC4K3 ← LowerByte[(P P K5 ⊕ (TK1 k TK0 )) 1] for i = 0 to 5 do RC4K4+(2·i) ← LowerByte(P P Ki ) RC4K5+(2·i) ← UpperByte(P P Ki ) end return (RC4K0 , ..., RC4K15 ) Abbildung 13: TKIP Schlüssel-Mix Phase 2 48 4.3 VERSCHLÜSSELUNG (TKIP S-Box Upper (TSU)) durch ein anderes 16-Bit-Wort, die zweite entsprechend der des niederwertigen Bytes (TKIP S-Box Lower (TSL)). Die beiden aus den Ersetzungstabellen ermittelten 16-Bit-Worte werden anschließend durch ein XOR verknüpft und ergeben dann den Wert, durch den der Eingabewert ersetzt wird. Durch dieses Verfahren wird zwar keine vollständige Permutation der Eingabewerte erreicht, aber durch geschickte Konstruktion der beiden S-Boxen läßt sich dennoch eine relativ große Bildmenge erreichen. Der gewählte Ansatz hierfür sieht vor, daß die TSU- und TSL-S-Boxen aus den in Abbildung 14 und Abbildung 15 gezeigten Byte-Ersetzungstabellen abgeleitet werden; vgl. St Denis (2003, S. 2). (Für die Ablesung gilt, daß die Spalte die höherwertige Ziffer einer Hexadezimalzahl angibt – die Zeile entsprechend die niederwertige Ziffer.) Die TSU-Upper (TSU-U)-Tabelle und die TSL-Upper (TSL-U)-Tabelle enthalten jeweils nur den Wert für das höherwertige Byte der Einträge in der TSU- bzw. TSLTabelle. Darüber hinaus entspricht die TSU-Tabelle der TSL-Tabelle mit vertauschten höherwertigen und niederwertigen Bytes. Für die Konstruktion der Tabellen gilt also (mit x ∈ {0x00,...,0xFF}): TSU (U pperByte(x)) = TSU -U (U pperByte(x)) · 256 + TSL-U (U pperByte(x)) TSL(LowerByte(x)) = TSL-U (LowerByte(x)) · 256 + TSU -U (LowerByte(x)) 0x 1x 2x 3x 4x 5x 6x 7x 8x 9x Ax Bx Cx Dx Ex Fx x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 198 143 117 8 18 166 187 162 129 192 219 213 111 224 217 3 248 31 225 149 29 185 197 93 24 25 100 139 240 124 235 89 238 137 61 70 88 0 79 128 38 158 116 110 74 113 43 9 246 250 76 157 52 193 237 5 195 163 20 218 92 204 34 26 255 239 108 48 54 64 134 63 190 68 146 1 56 144 210 101 214 178 126 55 220 227 154 33 53 84 12 177 87 6 169 215 222 142 245 10 180 121 102 112 136 59 72 156 115 247 7 132 145 251 131 47 91 182 17 241 46 11 184 73 151 28 51 208 96 65 104 14 164 212 138 99 147 140 159 216 203 194 45 130 2 179 81 36 118 141 233 119 85 199 189 172 161 106 60 41 206 95 209 27 183 103 4 175 252 107 67 243 232 174 21 90 86 69 249 223 125 114 254 66 122 40 196 207 62 105 201 30 231 35 226 205 82 148 160 32 200 167 57 202 150 23 135 123 181 83 171 78 221 152 120 229 186 188 49 244 97 153 170 168 77 228 98 127 94 176 37 253 50 22 211 71 13 58 80 109 236 155 42 234 19 133 75 191 230 173 242 16 15 39 165 44 Abbildung 14: TKIP TSU-U S-Box Nachdem die beiden 16-Bit-Worte mit Hilfe dieser Tabellen ermittelt worden sind, werden sie per XOR verknüpft und liefern ein 16-Bit-Wort, welches den Eingabewert ersetzt. 49 4.3 VERSCHLÜSSELUNG 0x 1x 2x 3x 4x 5x 6x 7x 8x 9x Ax Bx Cx Dx Ex Fx x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 165 69 194 12 27 245 107 243 76 160 59 50 213 144 56 143 132 157 28 82 158 104 42 254 20 152 86 67 136 66 19 248 153 64 174 101 116 0 229 192 53 209 78 89 111 196 179 128 141 135 106 94 46 44 22 138 47 127 30 183 114 170 51 23 13 21 90 40 45 96 197 173 225 102 219 140 36 216 187 218 189 235 65 161 178 31 215 188 162 126 10 100 241 5 112 49 177 201 2 15 238 200 85 72 204 171 108 210 199 1 137 198 84 11 79 181 251 237 148 4 57 131 228 224 81 18 167 184 80 236 92 9 246 190 207 223 87 202 93 180 35 163 182 195 3 103 244 54 77 70 16 193 242 41 110 250 124 95 34 176 169 253 52 155 97 217 6 117 130 211 239 7 156 249 146 119 125 234 8 61 206 75 129 99 71 60 166 37 33 208 32 17 25 191 147 38 123 222 240 48 172 121 168 175 221 145 73 203 98 247 115 105 62 212 68 26 231 226 164 142 220 88 255 252 230 150 83 205 113 232 186 14 43 29 55 233 134 39 120 214 154 91 63 159 151 74 227 109 149 118 139 24 133 185 122 58 Abbildung 15: TKIP TSL-U S-Box Die in Phase 1 und 2 des Schlüsselmixes verwendete Funktion S(x) läßt sich wie folgt beschreiben: S(x) = T SU (U pperByte(x)) ⊕ T SL(LowerByte(x)) Natürlich lassen sich je nach implementierter Berechnung der S-Box-Werte und dem verfügbarem Speicher auch direkt die TSU- und TSL-Tabellen mit 16-Bit-Werten ablegen; vgl. IEEE (2003b, S. 58 + 59). Anhand der TSU-U- und TSL-U-Tabellen läßt sich allerdings leichter ablesen, auf welchen Voraussetzungen die Ersetzungen basieren: Beide Tabellen sind bijektiv, enthalten also eine Permutation der 256 Eingabewerte, und sind weder Inverse oder Potenzierungen der jeweils anderen. In der TSU-U-Tabelle findet sich ein einziger Wert, der fest bleibt: 102. Die TSL-Tabelle enthält keine festen Werte. Eine intensivere Analyse der mathematischen Grundlagen und kryptographischen Eigenschaften der TKIP S-Box auf der Basis von TSU-U und TSL-U bietet St Denis (2003, S. 2 – 6). Er bescheinigt darin der gegebenen S-Box im Rahmen der Möglichkeiten einer solchen Konstruktion ein hohes Maß an kryptographischer Robustheit. MAC-Frame-Format Nachdem alle Elemente der beim TKIP zum Einsatz kommenden MPDU bekannt sind, kann das TKIP MAC-Frame-Format vollständig beschrieben werden. TKIP erweitert die aus der WEP-Sicherheitsarchitektur bekannte MPDU durch einen 4 Bytes langen erweiterten Initialisierungsvektor (EIV), der zwischen dem IV und dem verschlüsselten Teil der MPDU eingefügt wird. Darüber hinaus wird der Datenbereich der MPDU, der die Nachricht bzw. ein Nachrichtenfragment enthält, um den 8 Bytes langen TKIP MIC erweitert. Dieser wird vor der Berechnung des ICVs an die Nachricht angehängt und zusammen mit dem Nachrichtenfragment und dem ICV mittels RC4 verschlüsselt. Im 50 4.3 VERSCHLÜSSELUNG übrigen schränkt der TKIP MIC die maximale Größe der MSDU (2304 Bytes) nicht ein. Dagegen reduziert die Verwendung des EIVs die mögliche Länge des Datenteils um 4 Bytes. Bevor eine MPDU versendet wird, erhält sie auch in diesem Fall einen MAC-Header mit Daten zur Adressierung im Netz, auf die hier aber nicht näher eingegangen wird. Die genaue Verwendung der einzelnen Bytes des IVs und des EIVs bei der TKIP MPDU zeigt Abbildung 16. (Zur einfacheren Darstellung wird angenommen, daß keine Fragmentierung vorliegt.) verschlüsselt 6 4 Byte MAC-Hdr.30 Byte (IV+ID) Nachricht≥1 Byte EIV4 Byte MIC8 Byte ICV4 Byte ? TSC11 Byte *TSC11 Byte TSC10 Byte PAD5 Bit EIV1IDBit KID2 Bit ? TSC12 Byte TSC13 Byte TSC14 Byte TSC15 Byte Abbildung 16: TKIP MAC-Frame (MPDU) Um zu kennzeichnen, ob die MPDU einen erweiterten IV enthält, wurde eines der Füllbits (PAD) des an den IV angehängten Bytes als Indikator verwendet. Ist die EIV ID auf 1 gesetzt, so wurde der IV durch die vier Bytes des EIVs erweitert. In WEP MAC-Frames enthält dieses Bit immer 0, in TKIP MAC-Frames immer die 1. Die verbleibenden Füllbits im Byte zwischen dem IV und dem EIV enthalten auch weiterhin die 0. Die letzten beiden Bits kennzeichnen auch im TKIP MAC-Frame eine Schlüssel-ID (KID). An ihr ist abzulesen, welcher Session Key zum Einsatz kam. Ist die KID 0, so wurde die Nachricht mit dem Session Key aus dem PTK verschlüsselt. Die KIDs 1 bis 3 dienen der Identifikation von drei möglichen Gruppenschlüsseln; siehe Abschnitt 4.2.4. Das erste und dritte Byte des IV sowie der gesamte EIV werden verwendet, um den TSC zu übermitteln. Dabei werden die 6 Bytes des TSCs nach steigender Signifikanz der Bits eingefügt – lediglich TSC0 und TSC1 werden im IV vertauscht, um den schwachen RC4 Schlüsseln entgegenzuwirken. Gleiches gilt auch für das zweite Byte, das eine veränderte Kopie von TSC1 enthält. Bei *TSC1 wird Bit 5 immer auf 1 und Bit 7 immer auf 0 gesetzt. Dies soll ebenfalls die FMS-Attacke verhindern, da somit eine als besonders schwach bekannte Klasse von IV Werten ausgeschlossen wird. Die hierdurch gegenüber WEP eingegrenzte Menge an verschiedenen IVs (bezogen auf die ersten drei Bytes des IV) wird durch die grundsätzliche Erweiterung des IVs auf 48 Bits mehr als aufgehoben. Sie verhindert im 51 4.3 VERSCHLÜSSELUNG allgemeinen auch die Notwendigkeit des TK-Wechsels durch das Verbrauchen aller möglichen IVs. Wenn die ersten 16 Bits des TSCs bereits verwendet wurden, muß lediglich die erste Phase des Schlüsselmixes erneut durchgeführt werden, um den TTAK an die geänderten oberen 32 Bits des TSCs anzupassen, aber es ist kein erneuter Schlüsseltausch nötig. Hierzu siehe auch weiter oben. Entschlüsselung Auf der Empfängerseite stehen bei der Verwendung des TKIPs im Vergleich zur WEP-Sicherheitsarchitektur wesentlich bessere Möglichkeiten zur Verfügung, die Korrektheit der empfangenen MPDUs zu verifizieren. Bereits vor der Entschlüsselung wird anhand des im IV und EIV übertragenen TSCs geprüft, ob das Datenpaket, dessen Sender durch seine Adresse im MAC-Header zu identifizieren ist, eine strikt aufsteigende Sequenznummer im Bezug auf die bisher von diesem Sender erhaltenen MPDUs enthält. Ist dies nicht der Fall, der TSC der aktuellen MPDU also kleiner als der TSC einer bereits empfangenen MPDU der gleichen Session, so wird das Datenpaket verworfen. Hierdurch wird die Gefahr des Einschleusens bereits verwendeter Nachrichten(-fragmente) (ReplayAttacke) reduziert. Entspricht der TSC jedoch den Vorgaben, berechnet der Empfänger unter Verwendung des gemeinsamen TKs, den er entsprechend der Absenderadresse in der empfangenen MPDU auswählt, der Senderadresse TA selbst und des TSCs mittels des aus der Verschlüsselung bekannten Schlüsselmixes den Per-Packet Key. Dieser und der IV werden dann mit der empfangenen MPDU der WEP-Entschlüsselungsfunktion übergeben. Wenn dabei die Überprüfung des ICVs erfolgreich verläuft und die anschließende Verknüpfung der MPDUs zur Originalnachricht gelingt (also alle Fragmente übermittelt wurden), kann der TKIP MIC überprüft werden. Sollte die MSDU nicht wiederhergestellt werden können, werden die entsprechenden MPDUs verworfen. Für die Verifikation des TKIP MICs berechnet der Empfänger die Checksumme über die MSDU und die MAC-Adressen von Sender und Empfänger und vergleicht diese mit dem erhaltenen MIC. Wenn auch diese Überprüfung erfolgreich ist, wird die Nachricht an eine höhere Schicht weitergeleitet. Andernfalls wird die MSDU zurückgewiesen und Gegenmaßnahmen eingeleitet, da von einem Angriff auf die Übertragung auszugehen ist. Zur MIC-Berechnung und den Gegenmaßnahmen siehe Abschnitt 4.4.1. Den gesamten Ablauf der Entschlüsselung der empfangenen MPDUs und deren Rekombination zur eigentlichen Nachricht zeigt schematisch Abbildung 17. Die obige Beschreibung der Abwehrmaßnahme gegen Replay-Attacken muß eigentlich noch etwas genauer gefaßt werden, da noch nicht geklärt ist, was mit Paketen geschieht, die erneut übertragen werden müssen, da evtl. Übertragungsfehler aufgetreten sind. Gemäß dem IEEE 802.11-Standard werden übertragene Pakete immer von einer ACK (Acknowledge)-Nachricht durch den Empfänger quittiert. Bleibt diese aus, wird das Paket erneut (mit einem gesetzten Duplikatsbit) übertragen – allerdings mit dem gleichen TSC. Dies führt aber nicht zu einer Ablehnung des Paketes. Der Empfänger akzeptiert das korrekt übertragene Paket und verwirft die anderen, bevor er die ACK-Nachricht an den Sender übermittelt. Die Bestätigung jedes einzelnen Paketes bedeutet einen relativ hohen Effizienzverlust. Edney und Arbaugh (2003, S. 241 + 242) erwähnen ein Verfahren, nach dem es möglich ist, in schneller Abfolge 16 Pakete zu versenden, die der Empfänger dann mit einer einzigen 52 4.3 VERSCHLÜSSELUNG Schlüsselmanagement (PMK / GMK) ? ? Session Key (TK) Michael Key MPDU(s) incl. TSC ' $ ? T T A K ? Schlüsselmix Phase 1 TA TSCPrüfung ? TSC Schlüsselmix Phase 2 TSC korrekt ? ? IV ? MPDU(s) (Daten) PPK ? ? ? WEP-Entschlüsselung (RC4) ? SA ? MIC-Berechnung DA Defragmentierte MSDU & MIC falsch ? Gegenmaßnahmen % MIC korrekt TSC falsch ? ? MSDU MPDU verwerfen Abbildung 17: TKIP-Entschlüsselung Nachricht quittiert. Dieses Burst-ACK genannte Verfahren ist derzeit noch nicht im Standard enthalten, wird nach ihrer Ansicht aber sicher in den Standard aufgenommen werden. Das Verfahren bringt im Bezug auf die Verhinderung der Replay-Attacke jedoch Schwierigkeiten mit sich. Denn wenn eine MPDU der 16 gesendeten Pakete erneut übertragen werden muß, kann diese MPDU einen TSC besitzen, der um bis zu 15 Zähler geringer ist als der des zuletzt übertragenen Paketes. In diesem Fall wird es nötig sein, eine Art Empfangsfenster offen zu halten. Das heißt, daß MPDUs mit einem TSC-Wert, der nicht kleiner als der aktuelle Zähler minus 16 ist, und dessen TSC noch nicht durch den Empfänger registriert wurde, nicht abgewiesen werden. 53 4.3 VERSCHLÜSSELUNG 4.3.2 CCMP Im Gegensatz zu dem Ausgangspunkt für die Entwicklung des TKIPs, bei dem auf der Basis existierender Hardware und einer zu verwendenden Sicherheitsarchitektur eine verbesserte Sicherheit erreicht werden mußte, konnte das eigentliche neue Verfahren zur Verschlüsselung der Daten in der RSN-Sicherheitsarchitektur ohne Einschränkungen modelliert werden. In diesem Fall sind also nur die Vorgaben der aktuellen technischen Entwicklung im Gebiet der MAC-Level-Verschlüsselung maßgebend. Walker (2002c) hat die grundsätzlichen Anforderungen an ein solches Protokoll zusammengefaßt: • Das Protokoll muß die Verschlüsselung korrekt umsetzen. • Da Verschlüsselung allein noch keine Sicherheit garantiert, muß das Protokoll darüber hinaus gegen Fälschungen immun sein, denn anderenfalls kann ein Angreifer die Eigenschaften des Protokolls selbst für einen Angriff ausnutzen. • Die Gestaltung des Protokolls muß Replay-Attacken verhindern. (Diese Sonderform eines Angriffs bedarf meist einer speziellen Behandlung.) • Es dürfen niemals Schlüssel wiederverwendet werden, da gerade dies Replay-Attacken ermöglicht. (Diese Vorgabe entspricht im Grunde der Befolgung der Anforderung nach korrekter Umsetzung des Verschlüsselungsalgorithmus.) • Da die Wiederverwendung von IVs oder Nonce-Werten oder generell aller Informationen, die als Zufallsfaktor für die Verschlüsselung genutzt werden, ebenfalls eine Form der Schlüsselwiederverwendung darstellt, ist dies auch zu verhindern, was wiederum korrekter Implementierung der Verschlüsselung entspricht. • Quell- und Zieladressen dürfen nicht modifizierbar sein, um zu verhindern, daß die Identität eines Senders mißbraucht wird, sei es, um Pakete im falschen Namen zu senden, oder Pakete an unautorisierte Ziele umzuleiten. • Die Anzahl der verwendeten kryptographischen Mechanismen sollte minimiert werden, um Hardwarekosten zu minimieren und die Anwendungsfreundlichkeit nicht durch unnötige Installationsmöglichkeiten zu verringern. • Der Rechenaufwand der kryptographischen Algorithmen sollte minimal sein, da die Rechenleistung eines APs auch weiterhin einen Kostenfaktor darstellen wird und somit nur wenig Rechenoperationen pro Zeiteinheit für die Verschlüsselung zur Verfügung stehen werden. • Es sollten möglichst solche kryptographische Mechanismen verwendet werden, die sich bereits als optimales Verfahren bewährt haben, um die Lebensdauer dieser Sicherheitslösung zu maximieren. Entsprechend dieser Voraussetzungen wurde als Grundlage des neuen Verfahrens der Advanced Encryption Standard als Verschlüsselungsalgorithmus ausgewählt. Der AES wurde im November 2001 von dem National Institute of Standards and Technology (NIST) 54 4.3 VERSCHLÜSSELUNG (vgl. NIST (HP)) zum amerikanischen Verschlüsselungsstandard (Federal Information Processing Standard (FIPS) 197) erhoben und löste damit das seit 1977 eingesetzte DES (Data Encryption Standard)-Verfahren ab; vgl. Tanenbaum (1996, S. 588 – 595). Der AES hatte nicht nur den Vorteil, aufgrund des enormen Auswahlaufwandes, der vom NIST betrieben wurde, um eine Ablösung für DES zu finden (vgl. Nechvatal et al. (2000), ein hohes Maß an Vertrauen zu genießen, sondern bot darüber hinaus in der Eigenschaft, ein wohldokumentierter FIPS zu sein, Vorteile bei der Beantragung von amerikanischen Exportlizenzen; vgl. Edney und Arbaugh (2003, S. 263). Zum AES wurde vom NIST der Rijndael-Algorithmus erklärt, vgl. Daemen und Rijmen (2001). Es handelt sich dabei um eine Blockchiffre die im Gegensatz zur RC4Verschlüsselung eben nicht Byte für Byte verschlüsselt, sondern immer ganze Blöcke von Bytes. Während der Rijndael-Algorithmus verschiedene Block- und auch Schlüssellängen zur Auswahl stellt, wurde im 802.11i-Standard beides jeweils auf 128 Bits festgelegt. Ein Problem bei der Verschlüsselung von Blöcken fester Größe ist aber die Tatsache, daß die zu verschlüsselnden Daten eben nicht in solchen Blöcken vorliegen. Im WLAN ist auch nicht jede MPDU gleichlang, typischerweise enthält ein Frame zwischen 64 und 1500 Bytes. Die Daten müssen also vor der Verschlüsselung in Blöcke umgewandelt werden. Die Art der Umwandlung der Quelldaten ungleicher Länge in durch den AES verschlüsselbare Blöcke wird als Operationsmodus des AES bezeichnet. (Zu den Vor- und Nachteilen verschiedener Modi siehe weiter unten.) Der für den 802.11i-Standard ausgewählte Modus ist der Counter (CTR)-Mode. Zusammen mit dem Cipher Block Chaining – Message Authentication Code (CBC-MAC) (zur Integritätssicherung) bildet dieser den CCM (CTR/CBC MAC)-Mode und damit die Grundlage für das im 802.11i-Standard verwendete Verfahren CCMP. Die anfangs erwähnten Vorgaben für ein Verschlüsselungsprotokoll scheinen im Bezug auf den AES erfüllt zu sein. Ob sich auch die Vorgaben, die über den reinen Verschlüsselungsalgorithmus hinausgehen, durch CCMP einhalten lassen, zeigen die folgenden Abschnitte. Um den Rahmen dieser Arbeit aber nicht zu sprengen, wird dabei der AES allerdings nicht in allen Einzelheiten des Algorithmus beschrieben. Für weiterführende Informationen zur Implementierung des AES sei deshalb auf die Originalpublikationen Daemen und Rijmen (2001) und NIST (2001) verwiesen. Verschlüsselung Im Gegensatz zum TKIP wird die Verschlüsselung des CCMPs nicht auf Nachrichten (MSDUs) durchgeführt sondern auf der MPDU-Ebene. Eine evtl. nötige Fragmentierung der zu sendenden Nachricht muß also schon vor der Verschlüsselung vorgenommen werden. Dem CCMP zur Verschlüsselung übergeben werden im Grunde vollständige MPDUs, die nur noch nicht verschlüsselt sind. Darüber hinaus wird wie auch beim TKIP ein temporärer Schlüssel für eine Session durch das Schlüsselmanagement bereitgestellt (siehe Abschnitt 4.2). Allerdings wird beim CCMP für die Verschlüsselung und die Integritätssicherung nur ein einziger TK verwendet. Dies erscheint eigentlich problematisch, da keine Schlüssel mehrfach verwendet werden sollten, doch dafür wird jeweils ein Nonce-Wert für die Initialisierung sowohl der Verschlüsselung als auch der MIC-Berechnung verwendet. Dieser Nonce-Wert ist innerhalb einer Session einmalig – und zwar für alle an der Kommunikation teilnehmenden Parteien. Dies wird, wie Abbildung 18 zeigt, durch die Konstruktion des Nonce-Wertes aus der MAC-Senderadresse (SA) und einer Sequenznummer – hier PN (Packet Number) genannt – erreicht. 55 4.3 VERSCHLÜSSELUNG Prio.1 Byte Prio.4 Bit SA6 Byte PN6 Byte ? PAD4 Bit Abbildung 18: CCMP-Nonce Für die PN gilt ebenso wie für den TSC, daß sich während des Einsatzes einer TK keine PN wiederholen darf. Allerdings gilt dies für beide Teilnehmer der Kommunikation. Es wäre also möglich, daß eine PN doch zwei mal in der Kommunikation verwendet wird. Deshalb sorgt die SA für Abhilfe, durch sie enthält der Nonce-Wert für jede Station eine andere Adresse. Das Prioritätsbyte im Nonce-Wert ist wie auch beim TKIP für zukünftige Erweiterungen vorgesehen, in der ggf. verschiedene Arten von Paketen unterschieden werden müssen, wie z.B. Audio- oder Videodaten, die im Streamingmodus übertragen werden. Derzeit ist der Wert der vier Prioritätsbits wie auch der vier Füllbits immer 0. Neben der Erstellung des Nonce-Wertes wird vor der Berechnung des MICs und der Verschlüsselung der Daten in der MPDU noch ein 8 Bytes langer CCMP-Header erzeugt, der zwischen den MAC-Header und den eigentlichen Daten der MPDU eingefügt wird. Er erfüllt den Zweck, die PN und die Schlüssel-ID im Klartext zum Empfänger übermitteln zu können. Seine Form ist stark an die Konstruktion des IVs und des EIVs aus dem TKIP angelehnt wie Abbildung 19 zeigt. PN10 Byte PN11 Byte PAD1 Byte PN12 Byte ID1 Byte PN14 Byte PN15 Byte ? PAD5 Bit PN13 Byte EIV1IDBit KID2 Bit Abbildung 19: CCMP-Header Es ist zu sehen daß der CCMP-Header in zwei jeweils 4 Bytes lange Teile trennbar wäre, die auch als (IV + ID) und EIV des CCMPs bezeichnet werden könnten. Die PN wird hier ähnlich der Übermittlung des TSCs auf die ersten beiden und die letzten vier Bytes des Headers verteilt. Das dritte Byte wird nicht benötigt und wird mit Nullen gefüllt. Das vierte Byte trägt an bekannter Position wiederum die KID, während an der Position des sechsten Bits vergleichbar zur EIV ID eine 1 gesetzt wird, um zu kennzeichnen, daß es sich bei dem verwendeten Protokoll um CCMP handelt. (Die Bezeichnung EIV ID wird hier deshalb beibehalten.) Die restlichen Bits am Anfang des vierten Bytes werden schließlich wieder mit Nullen gefüllt. Nach der Erzeugung des Nonce-Wertes und des CCMP-Headers können die eigentli56 4.3 VERSCHLÜSSELUNG chen Schritte zur Absicherung der Kommunikation vorgenommen werden – die Integritätssicherung und die Verschlüsselung. Dies zeigt schematisch auch Abbildung 20. (Auf die Kennzeichnung der Übergabe von statischen Werten wie der Priorität und Füllbits wurde verzichtet.) Schlüsselmanagement (PMK / GMK) ? Nachricht (Fragment) SA Session Key (TK) ' ? PN - $ Nonce-Konstruktion ? ? ? ? ? ? - KID CCMP-Hd.Konstruktion - MIC-Berechnung (CDC-MAC) - AES-Verschlüsselung (CTR) & % ? MAC-Hd. - ? MPDU Abbildung 20: CCMP-Verschlüsselung Die Erzeugung des MICs geschieht im Vergleich zum TKIP nicht nur auf der Basis des Nachrichtenteils sondern entsprechend der zu Beginn aufgeführten Bedingungen auch unter Einbeziehung von Teilen des MAC-Headers. Der berechnete MIC wird wie gehabt an die eigentlichen Daten, also die Nachricht bzw. den Nachrichtenteil, angehängt, bevor diese beiden Felder schließlich durch den AES im Counter-Mode verschlüsselt werden. Details zur Berechnung des CCMP MICs unter Zuhilfenahme des Session Keys und des Nonce-Wertes folgen in Abschnitt 4.4.2. Eine genauere Beschreibung der der Verschlüsselung zugrundeliegenden Verfahren enthält der nächste Abschnitt. Diese kommen im übrigen anschließend auch auf der Seite des Empfängers zum Einsatz. AES Der Advanced Encryption Standard ist inzwischen in sehr vielen Verfahren über längere Zeit zum Einsatz gekommen und hat seine Sicherheit damit nachhaltig unter Beweis gestellt. Dies ist natürlich keine Garantie für die fortwährende Sicherheit des Algorithmus, doch im Vergleich zu der Zeit, nach der WEP gebrochen wurde, auf jeden Fall ein hoch zu schätzender Qualitätsfaktor. Es wird von Kryptographen davon ausgegangen, daß der AES noch für mehrere Jahrzehnte mit der im CCMP gewählten Schlüssellänge von 128 Bits sicher 57 4.3 VERSCHLÜSSELUNG bleibt; vgl. Walker (2002c). Und auch darüber hinaus könnte der AES weiter eingesetzt werden, indem die Schlüssellänge vergrößert wird, was allerdings auch Änderungen an der zu verwendenden Hardware zu Folge hätte. Die in der RSN-Sicherheitsarchitektur eingesetzte AES-Blockchiffre entspricht dem Rijndael-Algorithmus bis auf den Unterschied, daß sowohl die Blocklänge als auch die Schlüssellänge auf 128 Bits festgelegt werden. Deshalb können für das Verständnis der verwendeten Blockchiffre dennoch auch die bereits oben genannten Quellen herangezogen werden. Eine genau auf die in der RSN-Sicherheitsarchitektur verwendete Variante bezogene Beschreibung findet sich dagegen in Edney und Arbaugh (2003, Appendix A). Sie kommen unter anderem zu dem Schluß, daß sich die Operationen, die im AES zur Berechnung des Schlüsseltextes nötig sind, sehr gut auf im WLAN einzusetzender Hardware umsetzen lassen und somit der AES nicht nur ein sicherer sondern auch praktikabler Standard ist. Aufgrund der großen Bekanntheit des AES wird hier nicht weiter auf die Funktion dieser Blockchiffre eingegangen. Im folgenden gilt deshalb, daß durch den AES ein 128 Bits langer Klartext unter Verwendung eines 128 Bits langen Schlüssels zu einem wiederum 128 Bits langen Chiffretext umgewandelt wird. Das Hauptaugenmerk der folgenden Betrachtungen liegt indes auf der Kapselung des AES durch den CCM-Mode. Daneben werden aber auch noch zwei weitere Modi vorgestellt, die bei der Einordnung und dem Verständnis des Vorgehens vom CCMP unterstützen sollen. ECB Der einfachste der verfügbaren Modi für AES ist der Electronic Codebook (ECB)-Mode. Dieser wird hier aufgeführt, um das Problem bei der Aufteilung des Quelltextes in zu verschlüsselnde Blöcke aufzuzeigen. Der ECB-Mode teilt den Quelltext einfach der Reihe nach in 128-Bit-Blöcke auf und verschlüsselt sie jeweils mit dem gleichen Schlüssel. (Es sind auch andere Blocklängen möglich, doch aufgrund der Vorgabe für CCMP sei für diesen und die folgenden Modi eine feste Blocklänge von 128 Bits angenommen.) Der letzte Block muß dabei durch Füllwerte auf 128 Bits verlängert werden, wenn die Länge des Quelltextes keinem Vielfachen von 128 Bits entspricht. Die Anzahl dieser Füllbits muß darüber hinaus auch vermerkt werden, damit sie bei der Entschlüsselung bedacht werden können. Den schematischen Ablauf der AES-Verschlüsselung (im Beispiel bei einer Nachrichtenlänge von mindestens vier Blöcken) im ECB-Mode zeigt Abbildung 21; vgl. auch Edney und Arbaugh (2003, S.266). (Die Abbildung deutet eine parallele Berechnung der einzelnen Blöcke an. Das Verfahren könnte aber genauso seriell angewendet werden.) M1128Byte M2128Byte M3128Byte M4128Byte ... ? ? ? ? ? AES AES AES AES AES ? C1128Byte ? C2128Byte ? C3128Byte ? C4128Byte Verschlüsselung ? ... Abbildung 21: ECB-Mode 58 Nachricht Chiffretext 4.3 VERSCHLÜSSELUNG Die größten Schwächen dieses Vorgehens lassen sich leicht erkennen: Gleiche Klartextblöcke werden in gleiche Chiffretextblöcke verschlüsselt und entsprechend vorhandene Regelmäßigkeiten im Klartext führen zu Regelmäßigkeiten im Chiffretext. Damit lassen sich Informationen über die zu verschlüsselnden Daten gewinnen. Darüber hinaus beinhaltet der ECB-Mode keine Vorkehrung, um eine Änderung der Reihenfolge der Chiffretextblöcke zu verhindern; vgl. Buchmann (1999). Auch wenn das letzte Problem durch den MIC relativiert wird, bestätigt dies die Schwäche des ECB-Modes. Es zeigt sich also, daß auch die beste Blockchiffre keinen effektiven Schutz bietet, wenn ein mangelhafter Operationsmodus zum Einsatz kommt. Der Auswahl des verwendeten Modus ist also ebenfalls eine hohe Aufmerksamkeit zu widmen, um zu einem guten Verschlüsselungsverfahren zu gelangen. CTR Der Counter (CTR)-Mode erhält seinen Namen von einem zusätzlichen Zähler, der in die Verschlüsselung mit einfließt. AES wird nicht mehr auf den zu verschlüsselnden Block angewendet, sondern auf den genannten Zähler. Das Ergebnis dieser Verschlüsselung wird dann mit dem eigentlichen Teil der Nachricht per XOR verknüpft. Abbildung 22 zeigt diesen Ablauf wiederum am Beispiel einer Nachricht mit mehr als drei Blöcken; vgl. auch Edney und Arbaugh (2003, S. 266). M1128Byte 1 M2128Byte 2 M3128Byte 3 ... M4128Byte 4 5 Zähler (Counter) ? ? ? ? ? AES AES AES AES AES ? ? ⊕ ? C1128Byte ? ? ⊕ ? C2128Byte ? ? ⊕ ? C3128Byte Nachricht ? ? ⊕ ? C4128Byte Verschlüsselung ? ? ⊕ XOR ? ... Chiffretext Abbildung 22: CTR-Mode Dieses Verfahren hat viele Vorteile, vor allem auch gegenüber dem ECB-Mode: • Es nicht mehr nötig, Füllits an die Nachricht anzufügen, um die volle Blocklänge zu erreichen. Der nicht vollständige Block wird einfach mit dem zugehörigen verschlüsselten Zähler per XOR verknüpft. • Das Problem, daß gleiche Klartextblöcke auch gleiche Chiffretextblöcke ergeben, ist behoben, da die Chiffretextblöcke auch durch die unterschiedlichen Zähler verändert werden. 59 4.3 VERSCHLÜSSELUNG • Die Berechnungen können vollständig parallel ausgeführt werden, da die Zähler vorher bekannt sind. • Die Entschlüsselung des Chiffretextes kann mit exakt der gleichen Implementation wie die der Verschlüsselung durchgeführt werden, da ein zweimaliges XOR zum Originalwert zurückführt. Im Beispiel startet der Zähler bei 1 und wird für jeden Block um 1 erhöht. Er könnte aber auch mit einem anderen beliebigen Wert initialisiert werden und nach einem ganz anderen Muster erhöht werden – solange dieses Schema auch beim Empfänger bekannt ist. Im allgemeinen wird für die Initialisierung des Zählers ein Nonce-Wert verwendet, um dem Problem zu begegnen, daß bei gleichem Startzähler zwei identische Nachrichten den gleichen Chiffretext zugeordnet bekommen. Dieser Nonce-Wert wird dabei aus Daten konstruiert, die dem Empfänger ebenfalls zur Verfügung stehen. Der CTR-Mode wird bereits seit mehr als 20 Jahren erfolgreich eingesetzt und genießt deshalb ein hohes Vertrauen; vgl. Edney und Arbaugh (2003, S.267). Dies überzeugte auch die TGi und der Counter-Mode wurde zur Verwendung mit dem AES ausgewählt. (Es war genau genommen allerdings die zweite Wahl, denn an erster Stelle stand eigentlich der OCB-Mode. Aber dazu siehe unten.) CCM Der CCM-Mode ist eine Entwicklung der TGi für den IEEE 802.11i-Standard. Der Counter-Mode wurde zwar für die Verschlüsselung der Nachricht ausgewählt, doch fehlte diesem Modus die Möglichkeit der Integritätssicherung der Nachrichten. Um dies zu erreichen, wurde dem Counter-Mode ein zweites Verfahren zur Seite gestellt: Der ISO (International Organization for Standardization)-Standard CBC-MAC; vgl. ISO (1999). Das Cipher Block Chaining (CBC) übernimmt die Aufgabe der Berechnung eines MICs. Daraus folgt die Bezeichnung CBC-MAC. (Im allgemeinen Sprachgebrauch der Kryptographen wird statt eines MICs eigentlich der Message Authentication Code (MAC) verwendet. Im Rahmen der IEEE-Standards wurde allerdings die Abkürzung MIC eingeführt, um der Verwechslung mit der Medium Access Control (MAC) zu entgehen; vgl. Edney und Arbaugh (2003, S. 236). Den CCM-Mode haben die Autoren auch allgemein formuliert und als RFC veröffentlicht; vgl. Whiting et al. (2003). Und auch die Sicherheit dieses neuen Modus wurde bereits untersucht: Jonsson (2002) attestiert dem CCM-Mode eine vergleichbare Sicherheit wie dem OCB-Mode. (Zu diesem siehe den nächsten Abschnitt.) Zu Beginn der Anwendung des CCM-Modes erfolgt die MIC-Berechnung (CBC-MAC) mit Hilfe des bereits oben beschriebenen Nonce-Wertes und des CCMP-Headers. (Eine Beschreibung des Ablaufs dieser Berechnung des CBC-MAC folgt in Abschnitt 4.4.2.) Im zweiten Schritt werden die Nachricht bzw. das Nachrichtenfragment incl. des angehängten 64 Bits langen MICs mit Hilfe des Counter-Modes und des AES verschlüsselt. Wie bereits beschrieben, muß der Auswahl des Zählers im Counter-Mode besondere Aufmerksamkeit gewidmet werden, um hier keine Schwachstelle in die Verschlüsselung einzubauen. Deshalb wird bei der Konstruktion des Zählers unter anderem der Nonce-Wert verwendet. Abbildung 23 zeigt die genaue Zusammensetzung des Zählers. Dem Nonce-Wert wird ein Flag vorangestellt. Darin enthalten ist ein fester 8-Bit-Wert (00000001), der sich aus vier durch unterschiedlich viele Bits des Flags repräsentierten 60 4.3 VERSCHLÜSSELUNG Flag1 Byte Prio.1 Byte SA6 Byte PN6 Byte Ctr.2 Byte ? Nonce Abbildung 23: Konstruktion des Zählers für den CCMP-Counter-Mode Eigenschaften zusammensetzt. Die 1 am Ende des Flags legt beispielsweise eine Länge von 2 Bits für das Ctr.-Feld fest. Da die Werte aber ohnehin beim CCM-Mode für die RSNSicherheitsarchitektur immer gleich sind, werden die einzelnen Bits hier nicht weiter erklärt. Eine Beschreibung des Flags ist in IEEE (2002b, S. 64) zu finden. Während der NonceWert nur dafür sorgt, daß der Zähler für verschiedene Sender und auch für verschiedene Pakete eines Senders immer unterschiedlich ist, enthalten die 2 Bytes des Ctr.-Feldes den eigentlichen aktiven Zähler. Diese 16 Bits werden während der Verschlüsselung nach der Initialisierung auf 1 für jeden zu verschlüsselnden Block um 1 inkrementiert. Damit wäre es theoretisch möglich, 216 128-Bit-Blöcke innerhalb einer MPDU zu verschlüsseln, ohne daß sich der Zähler wiederholt. Das Ctr.-Feld ist damit mehr als ausreichend dimensioniert. Mit Hilfe des soeben beschriebenen Zählers und des Session Keys erfolgt die Verschlüsselung des Strings bestehend aus dem Nachrichtenfragment und dem MIC nach dem weiter oben beschriebenen Counter-Mode. Der zu verschlüsselnde String wird in 128-Bit-Blöcke aufgeteilt, wobei der letzte Block auch weniger als 128 Bits enthalten kann. Daraufhin werden die Blöcke per XOR mit dem Ergebnis der AES-Verschlüsselung des Zählers (unter Verwendung des Session Keys) verknüpft. Der Zähler wird dabei für jeden folgenden Block inkrementiert. Ein großer Vorteil dieses Verfahrens liegt darin, daß die Zähler schon vorverschlüsselt werden können, da dem Sender alle nötigen Informationen, die für die Konstruktion des Zählers verwendet werden, bekannt sind. Und diese Vorberechnung könnte parallelisiert werden, genauso wie auch die anschließende XOR-Verknüpfung mit den letztlich abzusichernden Klartextblöcken. Nach der Beendigung der Verschlüsselung wird der Schlüsseltext schließlich an den MAC-Header und den CCMP-Header angefügt und kann zum Empfänger übertragen werden. OCB Der OCB-Mode (vgl. Rogaway et al. (2001)) ist hier nur der Vollständigkeit halber mit aufgeführt, da er als Grundlage für das nicht weiter unterstützte WRAP diente. Beim OCB-Mode handelt es sich um eine sog. Authenticated Encryption Scheme, was bedeutet, daß der Modus nicht nur die Verschlüsselung sondern gleichzeitig auch die Authentifizierung einer Nachricht, also ihre Integritätssicherung bietet. Damit ist verständlich, warum OCB dem Counter-Mode vorgezogen worden wäre. Der OCB-Mode hat aber noch weitere Vorteile: • Die hohe Sicherheit des OCB-Modes kann bewiesen werden. Das heißt, der OCBMode ist genauso sicher wie die AES-Blockchiffre, auf der er basiert. • Der OCB-Mode ist auch parallelisierbar. 61 4.3 VERSCHLÜSSELUNG • Und der OCB-Mode ist ein sehr effizienter Modus, der nur wenig mehr Rechenaufwand benötigt als das theoretisch erforderliche Minimum an Rechenoperationen zur Verschlüsselung einer Nachricht. Aufgrund von Bedenken bzgl. der Urheberrechte an diesem Modus und damit evtl. zu befürchtender Lizenzzahlungen wurde dieser Modus und damit das gesamte WRAPVerschlüsselungsverfahren wieder aus dem Standard entfernt, nachdem es anfangs als primäres Protokoll aufgenommen worden ist; vgl. Edney und Arbaugh (2003, S. 269). MAC-Frame-Format Nach der Vorstellung aller Elemente der beim CCMP verwendeten MPDU kann das CCMP MPDU-Format vollständig beschrieben werden. Durch das CCMP wird die Länge der aus dem 802.11-Standard bekannten originalen MPDU (also ohne WEP IV) um 16 Bytes erweitert. 8 Bytes entfallen dabei auf den an die Nachricht (oder das Nachrichtenfragment) angehängten MIC und 8 Bytes werden für den CCMP-Header verwendet. Abbildung 24 zeigt den genauen Aufbau des CCMP MAC-Frames. verschlüsselt 6 MAC-Hd.30 Byte PN10 Byte Nachricht (Fragment)≥1 Byte CCMP-Hd.8 Byte MIC8 Byte ? PN11 Byte PAD1 Byte PAD5 Bit EIV1IDBit KID2 Bit PN12 Byte ? PN13 Byte PN14 Byte PN15 Byte Abbildung 24: CCMP MAC-Frame (MPDU) Die 48 Bits lange PN wird nach aufsteigender Signifikanz auf die ersten beiden und die letzten vier Bytes des CCMP-Headers verteilt und unverschlüsselt übertragen. Am Ende des ersten Blocks von vier Bytes steht wie gehabt die KID und die EIV ID, die in diesem Fall ähnlich wie bei TKIP anzeigt, daß ein 8-Byte-CCMP-Header in die MPDU eingefügt wurde, und für CCMP immer 1 ist. Alle Padding-Bits enthalten den Wert 0. Entschlüsselung Die Möglichkeiten des Empfängers, die Korrektheit der empfangenen MPDUs zu verifizieren, sind vergleichbar mit denen bei der Verwendung des TKIPs – mit dem Unterschied, daß der CCMP MIC nicht so anfällig ist, und somit das Konstrukt der Gegenmaßnahmen wie beim TKIP MIC (siehe Abschnitt 4.4.1) entfällt. 62 4.3 VERSCHLÜSSELUNG Schlüsselmanagement (PMK / GMK) ? Session Key (TK) MPDU incl. PN $ ' ? SA PN Nonce-Konstruktion PNPrüfung MPDU (Daten) ? ? ? AES-Verschlüsselung (CTR) ? - PN korrekt ? MIC-Berechnung (CDC-MAC) ? MAC-Hd. & % MIC korrekt MIC falsch ? PN falsch ? Nachricht (Fragment) ? MPDU verwerfen Abbildung 25: CCMP-Entschlüsselung Den schematischen Ablauf der Entschlüsselung zeigt Abbildung 25. Nach dem Empfang der verschlüsselten MPDU ist als erstes anhand der im MACHeader zu findenden Adresse des Absenders der entsprechende Session Key, der ja für jeden Kommunikationspartner – identifizierbar an seiner MAC-Adresse – unterschiedlich ist, auszuwählen. Wie schon beim TSC im TKIP wird auch hier die PN, die im Klartext mit dem CCMPHeader übertragen wurde, auf eine aufsteigende Abfolge untersucht, um Replay-Attacken zu verhindern. Das Verhalten im Bezug auf die Überprüfung der PN entspricht dabei dem des TKIPs: Wird die Anforderung nicht erfüllt, wird die MPDU einfach verworfen. Fällt die Prüfung positiv aus, so kann der Nonce-Wert aus der übertragenen Senderadresse und der Paketnummer erstellt werden. Diese Daten könnten zwar auch von einem Angreifer aus einer abgefangenen MPDU entnommen werden, doch solange dieser den Session Key nicht besitzt, sind die Informationen nutzlos. Der Nonce-Wert kann anschließend durch die Erweiterung mit dem bekannten Flag und einem 16-Bit-Ctr. (der auch hier mit 1 beginnt) zur Initialisierung des Counters für die AES-Verschlüsselung verwendet werden. Hier zeigt sich nun der große Vorteil von CCMP: Zur Entschlüsselung der MPDU wird tatsächlich der gleiche Algorithmus verwendet wie zur Verschlüsselung. Unter Verwendung des Session 63 4.4 INTEGRITÄT Keys werden wiederum die Zähler verschlüsselt und diesmal mit den Blöcken aus der erhaltenen Nachricht durch XOR verbunden. Dieses XOR mit dem Schlüsseltext macht das XOR aus der ursprünglichen Verschlüsselung rückgängig und den Klartext wieder sichtbar. Da durch die Entschlüsselung nun auch der erhaltene MIC und die vollständigen Daten zur lokalen Erzeugung des MICs zur Verfügung stehen, kann der MIC lokal berechnet und mit dem übermittelten MIC verglichen werden. Bei einer Übereinstimmung wird die Nachricht (oder das Nachrichtenfragment) an die nächste Schicht weitergereicht. Dort werden die Fragmente ggf. wieder zu einer MSDU zusammengefügt. Bei einem Fehler der MICÜberprüfung wird die empfangene MPDU verworfen, da sehr wahrscheinlich ein Angriff vorliegt. 4.4 Integrität Die Integrität der zu übermittelnden Nachricht wird von den beiden Verschlüsselungsmechanismen jeweils mittels eines MICs (Message Integrity Code) sichergestellt. Jedoch handelt es sich hierbei um zwei verschiedene Checksummen, denn jedes Verschlüsselungsverfahren bedient sich einer eigenen Konstruktionsvorschrift für den MIC. Wie die Checksummen in den jeweiligen Verfahren berechnet werden und welche Sicherheit sie bieten, beschreiben die folgenden Abschnitte. 4.4.1 TKIP MIC Zu den Problemen der WEP-Sicherheitsarchitektur gehört unter anderem eine völlig unsichere Integritätswahrung der Nachricht, was vor allem aktive Angriffe ermöglicht; vgl. Abschnitt 2.3.2. Um das unberechtigte Verändern von Daten zu unterbinden, baut das TKIP auf das MIC-Verfahren Michael, das auf einer kryptographischen Einweg-Hashfunktion (vgl. Buchmann (1999, Kapitel 10)) beruht. Im Gegensatz zum ICV aus der WEPSicherheitsarchitektur, der lediglich durch eine (umkehrbare) Berechnung einer Checksumme allein auf der Basis der zu übermittelnden Daten gebildet wurde, wird beim MIC zusätzlich ein geheimer Schlüssel mit in die Berechnung einbezogen. Diese wird darüber hinaus mittels einer Einweg-Funktion durchgeführt, damit auch die Umkehrung der Berechnung nicht durchführbar ist. Obwohl Michael trotz dieser Maßnahmen keine extrem hohe Sicherheit bieten kann, stellt das Verfahren aber unter der Prämisse der Verwendbarkeit auf Altgeräten eine angemessene Lösung dar, die die Integrität signifikant gegenüber WEP verbessert; vgl. IEEE (2003b, S. 50). Michael Der große Vorteil von Michael gegenüber der CRC-32 Checksumme von WEP ist die Eigenschaft, daß der MIC über die ganze Nachricht und nicht über die jeweils in einem MAC-Frame eingefügten Nachrichten-Fragmente berechnet wird. Der MIC wird beim Empfänger erst überprüft, wenn er die Nachricht aus den einzelnen Fragmenten wieder zusammengesetzt hat. Wurde auch nur ein Fragment verändert, so wird die ganze Nachricht verworfen und es werden Gegenmaßnahmen getroffen. Der WEP ICV sichert darüber hinaus ab, daß aufgrund von Übertragungsfehlern diese Gegenmaßnahmen nicht unnötig eingeleitet werden. Zu den Gegenmaßnahmen selbst siehe den nächsten Abschnitt. Die in Abschnitt 2.3.2 beschriebenen, nur auf die einzelnen MAC-Frames (MPDUs) ausgerichteten Angriffe werden durch den MIC viel leichter erkannt. Darüber hinaus wird durch die Verlagerung 64 4.4 INTEGRITÄT der Checksumme von der MPDU auf die MSDU erreicht, daß ihre Berechnung nicht in der MAC-Schicht durchgeführt werden muß, sondern in der Hardware implementiert werden kann oder sogar im Treiber für die Hardware bzw. in Software auf dem Rechner, bei dem der WLAN-Adapter installiert ist. Das Fälschen von Nachrichten kann Michael damit allerdings nicht ganz verhindern, da es gegen Replay-Attacken ungeschützt ist. Diesen Schutz will TKIP durch die Verwendung von Sequenznummern (vgl. Abschnitt 4.3.1), der WEP ICV-Validierung und regelmäßiger Schlüsselerneuerung (vgl. Abschnitt 4.2) liefern. Allerdings kann bei Verwendung von Gruppenschlüsseln (vgl. Abschnitt 4.2.4) eine Station innerhalb der Gruppe die Identität einer anderen Station fälschen und damit eben auch gefälschte Nachrichten senden. Von der Verwendung von Gruppenschlüsseln ist darum eher abzuraten; vgl. IEEE (2002b, S. 40). Als Grundlage für die Berechnung des MICs dient, wie Abbildung 26 zeigt, ein String aus der Ziel- und der Quelladresse der Nachricht, der Nachrichtenpriorität und der Nachricht selbst. DA6 Byte SA6 Byte Prio.1 Byte Pad 3 Byte Nachricht≥1 Byte MIC 8 Byte 6 Michael Abbildung 26: Berechnung des TKIP MIC (Michael) Die Priorität und das 3 Bytes lange Pad-Feld sind für zukünftige Erweiterungen des 802.11-Standards vorgesehen und enthalten derzeit jeweils nur den Wert Null. Diese beiden Felder und die Adressen werden zwar zu der Berechnung des TKIP MIC herangezogen, aber letztlich nicht mit zum Empfänger übermittelt. Der berechnete MIC jedoch wird an die Nachricht angehängt und mit ihr an den 802.11-MAC weitergereicht. Dort wird die um 8 Bytes erweiterte Nachricht ggf. noch fragmentiert, also in mehrere MPDUs aufgeteilt. Das heißt, daß die Nachricht nebst MIC in einem oder mehreren MAC-Frames übermittelt wird, von denen jeder einzelne wiederum mit einem eigenen ICV (WEP) abgesichert wird, wobei der ICV auch hier wieder nur als reine Transportsicherung zur Verhinderung von zufälligen Übertragungsfehlern dienen kann. Auf der Empfängerseite werden die Nachrichtenfragmente in der MAC-Schicht dann wieder zur Originalnachricht zusammengefügt und die Richtigkeit des MIC überprüft. Kann er als korrekt verifiziert werden, wird die Nachricht an die nächste Schicht weitergereicht, andernfalls wird die Nachricht verworfen, ein Fehlerzähler inkrementiert und Gegenmaßnahmen eingeleitet (siehe unten). Die um DA, SA, Priorität und Pad-Block erweiterte Nachricht wird vor der MICBerechnung durch Michael nochmals um ein Trennungsbyte mit dem Wert 0x5a erweitert und anschließend mit 4 bis 7 Null-Bytes auf die Länge eines Vielfachen von 8 Bytes aufgefüllt. Dieses Padding dient der einfacheren Anwendung der Michael zugrundeliegenden Blockchiffre und wird nicht mit der Nachricht und dem MIC übermittelt. Die Berechnungsgrundlage kann daraufhin in n einzelne Bytes m0 bis mn−1 zerlegt werden. Diese werden 65 4.4 INTEGRITÄT in 32-Bit-Worte M0 bis MN −1 zusammengefaßt, wobei für die Berechnung von N gilt (mit dae = Aufrunden von a zum nächsten Integer-Wert): (n + 5) N= 4 Aus der Konstruktionsregel folgt MN −1 = 0 und MN −2 6= 0. Für die Umwandlung der Bytes zu 32-Bit-Worten gilt für 802.11, also auch hier, die ”little endian” Konvention in IEEE (1999a, Abschnitt 7.1.1). Für die eigentliche Anwendung des Michael-Algorithmus wird noch der Michael Key benötigt. Dieser wird zusammen mit dem TK aus dem Pairwise Master Key (PMK) oder Group Master Key (GMK) erzeugt; vgl. Abschnitt 4.2. Er besteht aus 8 Bytes k0 bis k7 , die wiederum in zwei 32-Bit-Wörter K0 und K1 umgewandelt werden, bevor sie als Startwerte für l und r zur iterativen Anwendung einer Blockchiffre auf die erweiterte Nachricht verwendet werden. Es wird eine Schleife N mal durchlaufen, wobei in jeder Iteration l mit dem nächsten Wort aus der erweiterten Nachricht per XOR verknüpft wird und anschließend die Michael-Blockchiffre BLOCK(l, r) auf l und r angewendet wird. Das Ergebnis, der MIC, wird schließlich in Form von zwei 32-Bit-Worten V0 und V1 ausgegeben. Abbildung 27 zeigt den prinzipiellen Ablauf der TKIP MIC-Berechnung. Eingabe: (K0 , K1 )64 Bit , M N·32 Bit Ausgabe: (V0 , V1 )64 Bit MICHAEL (K0 , K1 , M0 , ..., MN −1 ) (l, r) ← (K0 , K1 ) for i = 0 to N − 1 do l ← l ⊕ Mi (l, r) ← BLOCK(l, r) end return (l, r) Abbildung 27: Michael-Algorithmus Die bei Michael verwendete Blockchiffre des Feistel-Typs (vgl. Buchmann (1999, Abschnitt 5.1)) besteht aus sich abwechselnden Additionen und XOR-Operationen. Abbildung 28 zeigt die einzelnen Operationen der Blockchiffre. x >>> y steht dabei für das rechtsseitige Rotieren des 32-Bit-Wortes x um y Stellen, x <<< y entsprechend für das linksseitige Rotieren. XSwap(x) bezeichnet das Austauschen der zwei höherwertigen Bits mit den zwei niederwertigen Bits eines 32-Bit-Wortes x. Die zwei 32-Bit-Worte V0 und V1 , die sich als Ergebnis des Michael-Algorithmus ergeben, werden anschließend wieder in 8 Bytes umgewandelt und ergeben somit den MIC, der an die Nachricht angefügt wird. Bei den durchgeführten Berechnungen wurden keinerlei Multiplikationen durchgeführt, sondern nur Bit-Verschiebungen und -Additionen. Dieses Vorgehen ermöglicht den Einsatz von Michael auf einem AP, ohne dessen Leistung zu erschöpfen. Das wird allerdings durch 66 4.4 INTEGRITÄT Eingabe: (l, r)64 Bit Ausgabe: (l, r)64 Bit BLOCK (l, r) r ← r ⊕ (l <<< 17) l ← (l + r) mod 232 r ← r ⊕ XSwap(l) l ← (l + r) mod 232 r ← r ⊕ (l <<< 3) l ← (l + r) mod 232 r ← r ⊕ (l >>> 2) l ← (l + r) mod 232 return (l, r) Abbildung 28: Michael-Blockchiffre eine relativ kurze Checksumme erkauft: Das Michael-Verfahren produziert einen 64 Bits langen MIC, mit dem eine Sicherheit von 20 Bits erreicht wird. Das heißt, daß ein Angriff im allgemeinen erst nach 220 Versuchen erfolgreich durchgeführt werden kann. Dies würde bei Brute-Force-Angriffen aber eine Schwachstelle bedeuten. Somit mußte als Ausgleich für die Schwäche des MIC das Konzept der Gegenmaßnahmen aufgenommen werden, das im folgenden Abschnitt beschrieben wird. Gegenmaßnahmen Die Implementierung des TKIPs mußte als primäres Ziel die Kompatibilität zu bestehenden WLAN-Systemen sicherstellen. Die durch das TKIP zu erreichende Sicherheit wurde dadurch eingeschränkt. Dennoch wurde durch das Konzept der Gegenmaßnahmen ein relativ hohes Maß an Sicherheit erreicht: Das TKIP kann nicht alle Angriffe verhindern, aber es ist in der Lage, mögliche Angriffe zu entdecken. Und solche Angriffsversuche quittiert das Verfahren dann mit Gegenmaßnahmen; vgl. IEEE (2003b, S. 52 – 57). Die einfachste Gegenmaßnahme wäre die Abschaltung des Netzes – und in dieser Form wird gewissermaßen auch im TKIP reagiert. Durch eine solche Maßnahme ist jede Angriffsmöglichkeit unterbunden, allerdings auch alle legitimen Zugriffe auf das Netz oder das mobile Gerät. Hier zeigt sich also auch eine Schwachstelle dieses Konzeptes: Es macht das Netz in gewissem Maße anfälliger für DoS-Attacken. Durch Einspielen von entsprechend gefälschten Paketen läßt sich das Netz effektiv unbrauchbar machen. Um diese Gefahr so gering wie möglich zu halten, führen alle anderen möglichen Fehler im Bezug auf eine empfangene MPDU bereits vor der Überprüfung des MICs zu einer Abweisung des Paketes. Treten also Fehler bei der Verifizierung der FCS, des ICVs oder des TSCs auf, kommt es erst gar nicht zu der Auslösung der Gegenmaßnahmen. Im übrigen existieren aber ohnehin wesentlich einfachere Möglichkeiten für DoS-Attacken, so daß die Anfälligkeit von TKIP gegenüber DoS-Attacken völlig irrelevant ist; vgl. auch Edney und Arbaugh (2003, S. 251 + 252). Da bei einem MIC-Fehler mit hoher Wahrscheinlichkeit davon auszugehen ist, daß es sich um einen Angriff handelt (vgl. IEEE (2003b, S. 52)), wird im Standard dazu geraten, solch einen Vorfall in einem Log zu verzeichnen und die verantwortlichen Administratoren 67 4.4 INTEGRITÄT zu informieren. Dies kann allerdings nur ein Vorschlag sein, da es immer von der lokalen Sicherheitspolitik abhängig ist, ob und inwieweit diese Möglichkeiten genutzt werden. Fest im Standard verankert ist aber die Vorgabe, die Fehlerrate unter zwei Fehlern pro Minute zu halten. Dies impliziert, daß die Station für 60 Sekunden die Annahme aller weiteren Datenpakete verweigert, wenn innerhalb einer Minute zwei MIC-Fehler aufgetreten sind. Und schließlich wird geraten, darüber hinaus den der aktuellen Session zugrundeliegenden Session Key zu wechseln, also entsprechend einen neuen PTK oder GTK zu erzeugen; siehe dazu die Abschnitte 4.2.3 und 4.2.4. MIC-Fehler sind nach dem Ort des Auftretens zu unterscheiden, denn Angriffe können sowohl auf einen Authentifizierer (im allgemeinen der AP) als auch auf einen Client gerichtet sein. Die Fehler sollen aber nicht nur auf der jeweiligen Station erfaßt werden, sondern auch immer an das authentifizierende System gemeldet werden. (Also im Infrastrukturmodus an den AP, im IBSS-Modus an die Station, auf der die Anmeldung durchgeführt wurde.) Client Stellt ein Client einen Fehler bei der Überprüfung einer empfangenen Unicastoder Multicast-MPDU fest, sind die folgenden Schritte auszuführen: • Das Paket wird verworfen. • Der Vorfall wird in ein Log geschrieben und Verantwortliche werden informiert. • Der eigene TKIP MIC-Fehlerzähler wird inkrementiert. • Eine Nachricht über den Fehler wird an den Authentifizierer gesendet. • Ist es die erste Fehlernachricht, wird der Fehlertimer aktiviert. • Wenn weniger als 60 Sekunden seit einem vorausgehenden Fehler vergangen sind, wartet der Client, bis die Fehlernachricht übertragen ist und schließt dann die Verbindung zum Authentifizierer. Der PTK und der GTK werden verworfen und erst nach frühestens 60 Sekunden wird eine erneute Assoziation durchgeführt, wobei der Client neue Schlüssel erhält; siehe auch Abschnitt 4.2.3. Alternativ kann sich der Client auch bei einem anderen AP anmelden – in diesem Fall ist keine Wartezeit nötig. Nach dieser Prozedur werden sowohl der Fehlerzähler als auch der Fehlertimer zurückgesetzt. Eine Fehlernachricht an den Authentifizierer wird in Form eines EAPOL-Key-Frames (siehe Abschnitt 4.5.2) übertragen und vom Client mit einem IEEE 802.1x EAPOL MIC abgesichert; siehe dazu Abschnitt 4.2.3. Authentifizierer Wird beim Authentifizierer ein fehlerhafter MIC entdeckt oder eine Fehlernachricht eines Clients empfangen, werden die folgenden Maßnahmen ergriffen: • Wenn es sich um einen lokalen MIC-Fehler handelt, wird das Paket verworfen. • Der Vorfall wird in ein Log geschrieben und Verantwortliche werden informiert. • Der TKIP MIC-Fehlerzähler wird inkrementiert. • Ist es die erste Fehlernachricht, wird der Fehlertimer aktiviert. 68 4.4 INTEGRITÄT • Wenn weniger als 60 Sekunden seit einem vorausgehenden Fehler vergangen sind, schließt der Authentifizierer alle Verbindungen zu den angeschlossenen Stationen, die TKIP verwenden, und widerruft alle PTKs und den GTK. (Wird allerdings von einer Station ein CCMP PTK verwendet, aber daneben ein TKIP GTP, so wird auch der CCMP-Schlüssel widerrufen.) Eine Generierung von neuen PTKs (siehe 4.2.3) wird erst nach 60 Sekunden wieder zugelassen. Ein GTK wird neu erzeugt und ebenfalls erst nach 60 Sekunden aktiviert; (siehe Abschnitt 4.2.4. Fehlerzähler und Fehlertimer werden schließlich zurückgesetzt. 4.4.2 CCMP MIC Auch bei der Verwendung der CCMP-Verschlüsselung wird ein MIC berechnet – allerdings ist hierbei kein zweites Verfahren wie Michael nötig, sondern in diesem Fall kann dafür voll auf die Verschlüsselungsfähigkeiten des AES zurückgegriffen werden. Beim CCMP kommt der oben beschriebene CCM-Mode zum Einsatz, der den Counter-Mode für den AES um den CBC-MAC erweitert; (siehe Abschnitt 4.3.2). Dieser CBC-MAC erlaubt die Berechnung eines MICs auf der Basis des Cypher Block Chainings. Das Prinzip dieser Technik sieht die Aufteilung der zu sichernden Datenquelle in Blöcke vor (hier 128 Bits lang), die daraufhin seriell zuerst verschlüsselt und dann jeweils mit dem darauffolgenden Block mittels XOR verknüpft werden, worauf dieser Block dann wieder verschlüsselt wird, usw. Abbildung 29 verdeutlicht dieses Vorgehen anhand einer Nachricht, die in n 128-Bit-Blöcke aufteilbar ist. B1128 Bit B2128 Bit ? AES B3128 Bit ? - ⊕ ... Bn128 Bit - AES - ⊕ ? - AES - ⊕ Nachricht ? Verschlüssel./XOR ? 128 Bit MIC MIC Abbildung 29: CBC-MAC Das Ergebnis dieses Vorgehens ist dann ein einzelner 128-Bit-Block, der CCMP MIC. Im folgenden wird beschrieben, wie diese Verkettung genau vorgenommen wird und welche Schritte darüber hinaus für die Sicherheit des MICs nötig sind. CBC-MAC Durch das CBC-MAC-Verfahren wird das gesamte Datenpaket, dessen Integrität gesichert werden soll, sukzessive in die Berechnung des MIC einbezogen. Voraussetzung dafür ist aber, daß das Datenpakt aus einem Vielfachen von 128-Bit-Blöcken bestehen muß, damit die eben beschriebene Verkettung angewendet werden kann. Im Vergleich zum TKIP wird durch das CCMP aber nicht nur die Integrität des Nachrichtenteils der MPDU gesichert, sondern darüber hinaus auch noch einen Teil des MACHeaders. Dieser Teil wird im aktuellen Draft IEEE (2003b) als AAD (Additional Authen69 4.4 INTEGRITÄT tication Data) bezeichnet und enthält die Adressfelder aus dem MAC-Header, soweit sie genutzt wurden. Andere Daten aus dem MAC-Header, die sich bei einer Übertragung ggf. auch ändern können, werden im AAD auf Null gesetzt. Damit entspricht das Verfahren zur Konstruktion des MIC auch der in Abschnitt 4.3.2 erwähnten Forderung der Unveränderbarkeit der Adressen. Zur genauen Konstruktion des AAD siehe IEEE (2003b, S. 64 + 65). Sowohl das Nachrichtenfragment als auch der AAD-Teil entsprechen in ihrer Länge nicht unbedingt bzw. nie einem Vielfachen von 128 Bits. Deshalb werden vor der Berechnung des MICs beide Teile mit Nullen zum jeweils nächsten Vielfachen von 128 Bits verlängert. Diese Füllbits gehen aber ausschließlich in die Berechnung des MICs ein und nicht in die letztlich zu sendende MPDU. Abbildung 30 zeigt die Berechnungsgrundlage für den MIC, der anschließend an die Nachricht angefügt wird, um mit ihr zusammen verschlüsselt zu werden. Es werden allerdings nur 64 Bits des berechneten MICs im CCMP benötigt, weshalb die niederwertigen 64 Bits des Ergebnisses vor dem Anfügen an die Nachricht verworfen werden. erster Block16 Byte AAD22-30 Byte Pad2-10 Byte Nachricht≥1 Byte Pad≥0 Byte ? 30 Byte MAC-Hd. ≥1 Byte 8 Byte CCMP IV Nachricht 8 Byte MIC Abbildung 30: Berechnung des CCMP MIC (CBC-MAC) Ähnlich wie bei dem Zähler im Counter-Mode muß aber auch bei der Berechnung des CCMP MIC mit dem CBC-MAC Verfahren garantiert werden, daß keine Wiederholungen auftreten. Um den relativ unwahrscheinlichen Fall auszuschließen, daß ein MIC ein zweites Mal über genau denselben Daten berechnet wird, wird der erste Block, der in die Berechnung des MIC eingeht mit Hilfe des oben beschriebenen Nonce-Wertes erzeugt. Damit wird garantiert, daß jede MIC-Berechnung einzigartig ist. Aber wie auch bereits bei der Konstruktion des Zählers für den CCMP AES-Counter-Mode kommt bei der Konstruktion des Startblocks für die Berechnung des MICs nicht nur der Nonce-Wert zum Einsatz: Abbildung 31 zeigt, wie auch hier ein Flag und ein zweites Feld DLen angefügt werden, um zusammen mit dem Nonce-Wert den ersten 128-Bit-Block für die Berechnung des CCMP MIC zu bilden. Das Flag-Feld enthält auch hier wieder einen festen 8-Bit-Wert (01011001), der sich wiederum aus vier durch unterschiedlich viele Bits des Flags repräsentierten Eigenschaften zusammensetzt. Die zwei auf 1 gesetzten Bits in der Mitte des Flags legen beispielsweise die Länge von 64 Bits für den letztlich zu verwendenden MIC fest. Da aber auch hier die Werte für den RSN CCM-Mode immer gleich sind, werden die einzelnen Bits nicht weiter erklärt. Eine Beschreibung des Flags ist in IEEE (1997, S. 59) zu finden. Das zweite angefügte, 16 Bits lange Feld DLen enthält die Länge des Nachrichtentextes. Alle Felder dieses ersten Blocks sind wie der AAD und die Nachricht selbst auch beim Empfänger bekannt, nach70 4.5 AUTHENTIFIZIERUNG Flag1 Byte Prio.1 Byte SA6 Byte PN6 Byte DLen2 Byte ? Nonce Abbildung 31: Erster Block zur Berechnung des CCMP MIC dem die MPDU entschlüsselt wurde. Der Empfänger kann also den ersten Block ebenfalls erzeugen und den MIC lokal zur Überprüfung des erhaltenen MICs berechnen. 4.5 Authentifizierung In einem Netzwerk, das keine physischen Zugangsbeschränkungen besitzt, ist eine Netzwerkzugangsauthentifizierung unverzichtbar. Mit dem RSN wird eine solche Zugangsbeschränkung implementiert. Die Authentifizierungsmechanismen in der RSN-Sicherheitsarchitektur sind mehrschichtig aufgebaut. Um die Abhängigkeit unter den verschiedenen Authentifizierungsmechanismen besser zu verstehen, folgt deshalb vorerst ein kurzer Überblick über die generelle Aufteilung dieser Sicherheitsschichten im WLAN. Ein grundlegendes Problem der WEP-Sicherheitsarchitektur bestand darin, keine angemessene Unterscheidung zwischen verschiedenen Sicherheitsmaßnahmen wie z.B. der Verschlüsselung und der Authentifizierung gemacht zu haben. Dieses Problem behebt das RSN durch die Übernahme von Sicherheitsschichten, wie sie auch in anderen Sicherheitslösungen beispielsweise im herkömmlichen LAN eingesetzt werden. Die drei Sicherheitsschichten sind die Wireless-LAN-Schicht, die Zugangskontrollschicht und die Authentifizierungsschicht. Auf der Wireless-LAN-Schicht wird die eigentliche Arbeit verrichtet – also die Kommunikation abgewickelt, Ver- und Entschlüsselung der Datenpakete vorgenommen. Dies wurde in den vorangegangenen Abschnitten bereits ausführlich beschrieben. Die Zugangskontrollschicht sorgt dagegen dafür, daß nur authentifizierte Nachrichten diese Schicht passieren. Hierzu wird für ein ankommendes Paket die darüberliegende Authentifizierungsschicht befragt, ob der Zugang gewährt werden soll. Ein Authentifizierungsprotokoll aus der darüberliegend Schicht (im Standard Upper-Layer-Authentifizierung genannt) nimmt die eigentliche Authentifizierungsprüfung vor und weist die Zugangskontrollschicht entsprechend an. Ein Problem hierbei ist, dafür zu sorgen, daß die Pakete eines bereits authentifizierten Clients nicht immer wieder auf diese Weise geprüft werden müssen. Ein Protokoll, das hierfür eine praktikable Lösung anbietet, wurde in dem IEEE 802.1x-Standard gefunden. Er beinhaltet eine portbasierende Authentifizierung, die im folgenden genauer beschrieben wird. Für den Austausch von Nachrichten mit der dritten Schicht wird das Extensible Authentication Protocol (EAP) eingesetzt. Die Protokolle der Upper-Layer-Authentifizierung selbst werden im 802.11i-Standard allerdings nicht mit aufgeführt. Vielmehr bietet der Standard so die Möglichkeit, daß bereits existierende Systeme zur Benutzerauthentifizierung, die insbesondere in Firmen eingesetzt werden, beibehalten werden können und das WLAN so einfach in die bestehende Firmeninfrastruktur integriert werden kann; vgl. Edney und Arbaugh (2003, S. 110 – 113). In den folgenden Abschnitten wird entsprechend der eben beschriebenen Zweiteilung 71 4.5 AUTHENTIFIZIERUNG des Authentifizierungsprozesses vorerst die Rolle des 802.1x-Standards als Zugangskontrollmechanismus erörtert. Eng damit verbunden ist das EAP, dessen Aufgabe als Kommunikationsprotokoll während der Authentifizierung im Anschluß an den 802.1x-Standard beschrieben wird. Obwohl es nicht direkter Bestandteil des 802.11i-Standards ist, wird das RADIUS-Protokoll ebenfalls kurz vorgestellt, um einen vollständigen Authentifizierungsablauf darstellen zu können. Abschließend werden einige Protokolle, die in der zweiten Authentifizierungsschicht – der Upper-Layer-Authentifizierung – eingesetzt werden können, in ihren Grundzügen angesprochen. Hierzu gehören beispielsweise das TLS-Protokoll oder das Light EAP (LEAP) von Cisco. Aufgrund der Gestaltungsfreiheit im Bezug auf die Upper-Layer-Authentifizierung sind auf dieser Schicht auch Verbindungen der WLANAuthentifizierung mit Mobilfunk-Funktionen denkbar. Erste Ansätze für ein mögliches Interworking beschließen dieses Kapitel. 4.5.1 802.1x Bei IEEE 802.1x handelt es sich um einen Standard zur portbasierenden Zugangskontrolle, die ursprünglich für herkömmliche LANs entwickelt wurde (vgl. IEEE (2001c)), aber als Teil der RSN-Sicherheitsarchitektur ebenso für Wireless-LANs einsetzbar ist. Es wird durch den 802.1x-Standard eine Authentifizierungsarchitektur bereitgestellt, die drei Rollen unterscheidet: Den Client, den Authentifizierer und den Authentifizierungsserver. Ein Client ersucht um Zugang zu einem Netzdienst über einen der Authentifizierer. Dieser reicht die Anfrage an einen (im allgemeinen) zentralen Authentifizierungsserver weiter, der darauf den Authentifizierer anweist, den Netzdienst für den Client freizugeben, wenn dieser erfolgreich authentifiziert wurde. Abbildung 32 zeigt die Rollenverteilung und den Nachrichtenaustausch bei der Authentifizierung eines Clients am WLAN. Client (WLAN-Karte) 6 EAPOL-Nachrichten ? Authentifizierer (AP) 6 RADIUS/EAP-Nachrichten ? Authentifizierungsserver (AS) Abbildung 32: 802.1x-Rollen Die Kommunikation zwischen den drei Systemen geschieht auf der Basis von EAPNachrichten, die zwischen dem Client und dem AP mittels EAPOL-Nachrichten gekapselt 72 4.5 AUTHENTIFIZIERUNG werden und zwischen dem AP und dem AS meist durch RADIUS-Nachrichten (beim Einsatz eines RADIUS-Servers als AS). Die Funktion der verwendeten Protokolle wird in den Abschnitten 4.5.2 und 4.5.3 erläutert. Bei der Anwendung der 802.1x-Zugangskontrolle im herkömmlichen LAN stehen einem Client auf der Seite des Authentifizierers tatsächliche Netzwerk-Ports – beispielsweise in Form eines Switches – gegenüber. Das heißt, ein Client wird einem bestimmten Anschluß zugeordnet, der wiederum der Kontrolle durch einen bestimmten Authentifizierungsserver unterliegt. Damit bietet der 802.1x-Standard eine Möglichkeit, dafür zu sorgen, daß ein Rechner nicht einfach nur per Netzwerkkabel mit dem Switch zu verbinden ist, um Zugriff auf das Netz zu erhalten, sondern daß vor einem Zugriff auch immer die Identität und die Rechte des Benutzers zu überprüfen sind. Dieses Prinzip läßt sich auf die WLAN-Infrastruktur übertragen: Statt der physischen Ports werden hier die logischen Verbindungen der Clients zum AP als Ports interpretiert. Der AP erzeugt für jeden anfragenden Client einen eigenen logischen Port, für den jeweils ein eigener (virtueller) Authentifizierer zuständig ist. Der Authentifizierer unterscheidet hierbei in kontrollierte und unkontrollierte Ports. Ein Client sendet seine Verbindungsanforderung an einen unkontrollierten Port, über den er ausschließlich Nachrichten mit dem AS austauschen kann. Erst wenn die Authentifizierung erfolgreich verlaufen ist, erhält der authentifizierte Client über einen kontrollierten Port Zugriff auf das Netz; vgl. IEEE (2003b, S. 14 + 15). Obwohl der 802.1x-Standard in Kombination mit dem offenen Transportprotokoll EAP eine sehr gut einzusetzende Basis für die Authentifizierung im WLAN darstellt, ist dies doch nicht ohne Einschränkungen zu betrachten. Die genannte Kombination stellt lediglich ein Authentifizierungsprotokoll zur Verfügung – nicht aber ein Integritätsprotokoll. Ein ausreichender Schutz der Authentifizierungsnachrichten ist damit also nicht gegeben. Wenngleich damit zwar kein vollständiger Schutz gegen die von der WEP-Sicherheitsarchitektur bekannten Angriffe möglich wird, so wurde die Sicherheit der Authentifizierung im Vergleich dazu aber dennoch wesentlich verbessert; vgl. Potter und Fleck (2003, S. 159 + 160). Die Einbindung des 802.1x-Standards in die Arbeit der TGi wurde von einigen Problemen begleitet: Ein erster Versuch, bei dem der 802.1x-Standard unverändert für den Einsatz im WLAN verwendet werden sollte, schlug fehl; vgl. Walker (2002a). Ohne Veränderungen am 802.1x-Standard bietet die Authentifizierungslösung zu viele Möglichkeiten für erfolgreiche Attacken. (Eine Zusammenfassung der Angriffsmöglichkeiten bieten beispielsweise Mishra und Arbaugh (2002).) Aber auch nach etlichen Änderungen bis zu dem heutigen Stand der Einbindung des 802.1x-Standards sind nicht alle Probleme behoben; vgl. Walker (2002a). Derzeit wird deshalb parallel an einer Überarbeitung des 802.1x-Standards selbst gearbeitet, um diesen für den Einsatz im 802.11i-Standard zu verbessern. Aktuell ist der Stand der Arbeit bei der Draft Version 7.1 im Oktober 2003 angelangt; vgl. IEEE (2003c). Für eine Verabschiedung des IEEE 802.11i-Standards ist somit auch eine weitere Abstimmung mit den Verbesserungen im 802.1x-Standard nötig. Bis dahin ist die Sicherheit der Authentifizierung vor allem von der sinnvollen Auswahl eines geeigneten Upper-LayerAuthentifizierungsprotokolls abhängig. Hier sollten vor allem Protokolle wie das PEAP (Protected EAP) oder das TTLS (Tunneled TLS) bevorzugt werden, da diese durch eine zweistufige Authentifizierung eine Verschlüsselung der Authentifizierungsnachrichten ermöglichen und damit die Offenheit des Authentifizierungsmechanismus zumindest ein- 73 4.5 AUTHENTIFIZIERUNG schränken. Eine gute Absicherung ist allerdings erst in Verbindung mit einer etablierten PKI zu erreichen; vgl. Walker (2002a). In den folgenden Abschnitten werden die Grundfunktionalitäten der involvierten Protokolle bei der Authentifizierung in der RSN-Sicherheitsarchitektur vorgestellt. 4.5.2 EAP Ursprünglich wurde das Extensible Authentication Protocol für die Verwendung in EinwahlNetzwerken entwickelt. Einwahl-Netzwerke werden beispielweise bei ISPs (Internet Service Provider) mit Hilfe von Modem-Pools realisiert. Die Verbindung vom Modem des Clients zum Modem des ISPs wird mit dem Point-to-Point Protocol (PPP) aufgebaut, das ursprünglich nur zwei Authentifizierungsmethoden kannte: Das PAP (Password Authentication Protocol) und das CHAP (Challenge Handshake Authentication Protocol). Während das PAP den Benutzernamen und das Paßwort im Klartext überträgt, verwendet das CHAP immerhin einen Challenge-Response-Mechanismus. Dennoch bieten beide Protokolle kaum einen Schutz der Authentifizierung. Eine Lösung dieses Problems bietet das EAP. Wie in Blunk und Vollbrecht (1998) beschrieben, wird mit diesem Protokoll der Authentifizierungsmechanismus erweiterbar (extensible) gemacht. Das heißt, statt weitere Authentifizierungsprotokolle in den PPP-Standard einzubauen, bietet das EAP die Möglichkeit, beliebige Authentifizierungsmaßnahmen verwenden zu können, deren Nachrichten dann gekapselt durch das EAP übertragen werden. (Zu diesen Upper-Layer-Authentifizierungsprotokollen siehe 4.5.4.) Dies wird dadurch erreicht, daß der Aufbau der PPP-Verbindung erst vollständig durchgeführt wird, bevor die Authentifizierung anschließend über einen zentralen Authentifizierungsserver des ISPs abgewickelt wird. Die dafür nötige Kommunikation des letztlich verwendeten Authentifizierungsprotokolls wird mittels des EAPs über die PPPVerbindung gekapselt. Für den Transport der Nachrichten zwischen dem Modem-Pool und dem Authentifizierungsserver wird meist der RADIUS (siehe Abschnitt 4.5.3) eingesetzt, mit dem auch EAP-Nachrichten übertragen werden können. Zur Anwendung kommen für die EAP-Kommunikation lediglich vier verschiedene Nachrichtentypen: • EAP-Request Dieser Typ wird verwendet, um Nachrichten vom AS über den Authentifizierer an den Client zu senden. • EAP-Response Entsprechend enthält dieser Typ Nachrichten, die vom Client über den Authentifizierer zurück an den AS gesendet werden. • EAP-Success Mit einer EAP-Success-Nachricht wird dem Client über den Authentifizierer vom AS mitgeteilt, daß die Authentifizierung erfolgreich vorgenommen werden konnte. • EAP-Failure Ein negativer Authentifizierungsversuch wird mit einer EAP-Failure-Nachricht an den Client quittiert. 74 4.5 AUTHENTIFIZIERUNG Die EAP-Request- und EAP-Response-Nachrichten werden in weitere Subtypen aufgeteilt. Hierfür kommt das EAP-Type-Feld im Nachrichten-Frame zum Einsatz, das festlegt, welche Informationen durch die EAP-Request- oder Response-Nachricht transportiert wird. Die ersten sechs Typen werden bereits im Standard festgelegt. Mit Typ 1 werden beispielsweise die EAP-Request/Identity- und EAP-Response/Identity-Nachrichten belegt, mit denen der Authentifizierungsserver den Namen des Clients abfragt und der Client entsprechend antwortet. Für die Identifizierung der möglichen Upper-Layer-Authentifizierungsprotokolle werden die Typ-Nummern größer als 6 eingesetzt. Neu entwickelten Protokollen werden die Typ-Nummern einheitlich von der IANA (Internet Assigned Numbers Authority) zugewiesen; vgl. IANA (HP). Das TLS-Protokoll beispielsweise besitzt die Typ-Nummer 13 und das LEAP die 17. Anhand der Typ-Nummer kann ein Client entscheiden, ob er das entsprechende Authentifizierungsprotokoll unterstützt – im negativen Fall sendet der Client eine EAP-Response des Typs 3. Diese Nachricht wird als ein sog. Negative Acknowledge (NAK) bezeichnet. Einen besonderen Status besitzen Nachrichten des Typs 2: Sie enthalten Benachrichtigungen (im Klartext) für den Benutzer. Beispielsweise die Aufforderung zur Eingabe eines Paßwortes oder Ähnliches. Für eine genaue Beschreibung des Frame-Formats der einzelnen EAP-Nachrichten sei auf den Standard selbst verwiesen; vgl. Blunk und Vollbrecht (1998). Der Aufbau eines Einwahl-Netzwerks ist der durch den IEEE 802.1x-Standard entworfenen Struktur sehr ähnlich. Daher läßt sich das EAP entsprechend gut auf diesen Anwendungsfall übertragen; vgl. Edney und Arbaugh (2003, S. 120 – 122). Statt der PPPVerbindung liegt zwischen dem Client und dem Authentifizierer in diesem Fall eine LANVerbindung vor. Den Transport der EAP-Nachrichten über diese LAN-Verbindung übernimmt das im folgenden beschriebene EAP over LAN. EAPOL Da das Extensible Authentication Protocol wie oben beschrieben ursprünglich für die Authentifizierung von Benutzern geplant war, die sich gegenüber einem Einwahlknoten, auf den sie per Modem zugreifen, authentifizieren müssen, enthält das Protokoll keinerlei Vorgaben für den Transport der Nachrichten in einem LAN. Um EAS für den Einsatz im LAN (und damit auch im WLAN) brauchbar zu machen, wurde im IEEE 802.1x-Standard die EAPOL (EAP over LAN)-Erweiterung für das EAP definiert; vgl. IEEE (2001c, S. 13 – 21). Es wurden dabei mehrere Typen von Nachrichten vorgesehen, von denen die folgenden im IEEE 802.11i-WLAN verwendet werden; vgl. auch Edney und Arbaugh (2003, S. 133 + 134): • EAPOL-Start Wenn sich ein Client mit einem WLAN verbinden will, muß dieser vorerst die MACAdresse des Authentifizierers (sofern vorhanden) ermitteln. Dafür sendet der Client eine EAPOL-Start-Nachricht an eine reservierte Multicast-Adresse. Dadurch kann von Seiten des Clients geprüft werden, ob ein Authentifizierer im Netz existiert und diesem ggf. mitgeteilt werden, daß er sich anmelden möchte. Der Authentifizierer sendet daraufhin eine EAP-Request/Identity-Nachricht (transportiert durch eine EAPOLPacket-Nachricht) zurück an den Client. 75 4.5 AUTHENTIFIZIERUNG • EAPOL-Key Für die Übermittlung der nötigen Schlüssel an den Client verwendet der Authentifizierer die EAPOL-Key-Nachrichten. Der Ablauf der Schlüsselerstellung unter Verwendung der EAPOL-Key-Nachrichten wird in Abschnitt 4.2 beschrieben. Für die genaue Beschreibung des Aufbaus des EAPOL-Key-Frame-Formats, das beim 4-WayHandshake für die Übermittlung der temporären Schlüssel an die Clients verwendet wird (und natürlich auch beim Gruppenschlüssel Handshake), siehe IEEE (2003b, S. 89 ff.). • EAPOL-Packet Mit Hilfe des EAPOL-Packet-Frames werden die eigentlichen EAP-Nachrichten übertragen. Diese Containerfunktion entspricht der ursprünglichen Ausrichtung der EAPOL-Erweiterung zum EAP. • EAPOL-Logoff Mit dieser Nachricht wird vom Client an den Authentifizierer gemeldet, daß er das Netzwerk verlassen will. Der Einsatz der beschriebenen Nachrichten wird im nächsten Abschnitt am Beispiel einer vollständigen Authentifizierung unter Verwendung des RADIUS in Abbildung 33 verdeutlicht. 4.5.3 RADIUS Der Remote Access Dial-In User Service ist nicht explizit als Teil der RSN-Sicherheitsarchitektur in den 802.11i-Standard aufgenommen worden, wird hier aber dennoch in den relevanten Teilen kurz vorgestellt, da er in vielen WLAN-Implementationen als Kommunikationsprotokoll zwischen AP und Authentifizierungsserver und damit auch als Träger für die Upper-Layer-Authentifizierungsprotokolle zum Einsatz kommt. Wie auch das EAP hat der RADIUS seinen Ursprung in den Einwahl-Netzen für die Unterstützung von Modem-Pools. Um eine einheitliche Nomenklatur zu ermöglichen, sei auf die Trennung der Funktionalität eines RADIUS-Servers und der Bezeichnung des Protokolls RADIUS hingewiesen; vgl. Edney und Arbaugh (2003, S. 138): Das auf TCP/IP-Netzwerken basierende Protokoll RADIUS kommt zur Anwendung, um in verteilten Einwahl-Netzen den ggf. weit verstreuten Modem-Pool-Servern (NAS (Network Access Server)) eine Kommunikationsmöglichkeit mit einem zentralen RADIUS-(Authentifizierungs-)Server zu bieten. Hierdurch wurde das Problem gelöst, ohne eine zentrale Instanz in jedem NAS eine redundante Benutzerverwaltung vorhalten zu müssen. Das Protokoll und die Server-Funktionen des RADIUS wurden von der IETF standardisiert und stehen in den RFCs 2865 bis 2868 inklusive einiger Erweiterungen zur Verfügung; vgl. z.B. Rigney et al. (2000b). Der beschriebene Einsatzzweck in Einwahl-Netzen zeigt wiederum Parallelen zum WLAN auf: Der NAS im Einwahl-Netz entspricht einem AP im WLAN. Für den Fall der Verwendung mehrerer APs in einem größeren WLAN kommt dem Einsatz eines zentralen Authentifizierungsservers sogar eine noch größere Bedeutung zu, da die APs im allgemeinen physisch wesentlich zugänglicher sind als ein NAS, womit sich die Vorhaltung von Benutzerdatenbanken in allen APs verbietet. Für die Auswahl des RADIUS als Kommunikationspro76 4.5 AUTHENTIFIZIERUNG tokoll im WLAN ist insbesondere die Fähigkeit des Transports von EAP-Nachrichten von Bedeutung. Diese Erweiterungen des RADIUS um die EAP-over-RADIUS-Funktionalität wurden in Rigney et al. (2000a) definiert. Aktuell wird daran gearbeitet, diesen Standard so zu aktualisieren, daß auch der Einsatz in Kombination mit dem 802.1x-Standard abgedeckt wird; vgl. Aboba und Calhoun (2003). Wie auch beim EAP bzw. EAPOL beschränkt sich das RADIUS-Protokoll auf wenige für die Authentifizierung relevante Nachrichten. Da das RADIUS-Protokoll allerdings entwickelt wurde, um die Authentifizierung für PPP-Verbindungen zu gewährleisten, decken sie damit eigentlich nur die Verfahren PAP und CHAP ab. Für die Verwendung aktueller Authentifizierungsprotokolle werden die Nachrichten darum teilweise zweckentfremdet. Die verwendeten Nachrichten sind im einzelnen: • Access-Request Die Access-Request-Nachricht ist die einzige Nachrichtenart, die vom Authentifizierer an den Authentifizierungsserver gesendet wird. Sie leitet die Authentifizierung ein bzw. wird verwendet, um die Antwort zu der Challenge des Authentifizierungsservers zu übermitteln. • Access-Challenge In der Access-Challenge sendet der Authentifizierungsserver die Information zu der verwendeten Upper-Layer-Authentifizierungsmethode und die entsprechende Challenge für den Client an den Authentifizierer. • Access-Accept Konnte die in Form einer Access-Request-Nachricht erhaltene Antwort auf die Challenge bestätigt werden, sendet der Authentifizierungsserver eine Access-AcceptNachricht. • Access-Reject Fiel die Überprüfung der Antwort des Clients negativ aus, wird die Access-RejectNachricht an den Authentifizierer gesendet. In den Access-Request- und Access-Challenge-Nachrichten werden jeweils EAPRequest- und EAP-Response-Nachrichten gekapselt – damit wird das RADIUS-Protokoll in Kombination mit dem 802.1x-Standard und EAP nutzbar. Abbildung 33 zeigt abschließend den grundsätzlichen Ablauf der Authentifizierung eines WLAN-Clients an einem RADIUS-Server und gibt an, welche EAP-Nachrichten jeweils durch EAPOL- bzw. RADIUS-Nachrichten gekapselt werden; vgl. auch Gast (2002, S. 111) und Funk Software Inc. (2003). 1. Der Client versucht, Zugang zum Netzwerk zu erhalten und sendet eine EAPOL-Start Nachricht an den AP (Authentifizierer). 2. Kann der Authentifizierer davon ausgehen, daß der Authentifizierungsserver EAPNachrichten versteht, kann er diese Anfrage mit der Gegenfrage nach der Identität des Clients beantworten und sendet dazu eine EAP-Request/Identity-Nachricht (gekapselt als EAPOL-Packet). Kann sich der AP aber nicht sicher sein, sendet er eine EAP-Start-Nachricht (eine EAP-Nachricht ohne Datenteil gekapselt in einen 77 4.5 AUTHENTIFIZIERUNG 1: -Start - 2: -Packet(EAP-Req./Ident.) 3: -Packet(EAP-Resp./Ident.) - 3: -Access-Req.(EAP-Resp./Ident.) - 4: -Packet(EAP-Request) 4: -Access-Challenge(EAP-Req.) 5: -Packet(EAP-Response) 5: -Access-Request(EAP-Resp.)- - 6: -Packet(EAP-Success) 6: -Access-Accept(EAP-Succ.) 7: -Key 7: -A.-Acc.(”MS-MPPE-Recv-Key”) Client ? AP EAPOL-Nachrichten ? AS RADIUS-Nachrichten Abbildung 33: Authentifizierungsverlauf (EAP/EAPOL/RADIUS) RADIUS-Access-Request) an den AS, die dieser dann im positiven Fall mit einer EAP-Request/Identity-Nachricht (gekapselt als RADIUS-Access-Challenge) beantwortet, die wieder an den Client in einem EAPOL-Packet weitergereicht wird; vgl. Edney und Arbaugh (2003, S. 144 – 146). 3. Die Antwort des Clients mit seiner Identität (EAP-Response/Identity als EAPOLPacket) reicht der AP in Form eines RADIUS-Access-Request an den Authentifizierungsserver weiter. 4. Der RADIUS-Server bereitet einen EAP-Request vor, der unter anderem auch den EAP-Authentifizierungstyp enthält, und sendet ihn als RADIUS-Access-Challenge an den AP, der den EAP-Request wiederum als EAPOL-Packet dem Client zustellt. 5. Wenn der Client den EAP-Authentifizierungstyp unterstützt, sendet er eine entsprechende EAP-Response (EAPOL-Packet) an den AP. Dieser leitet sie als RADIUSAccess-Request an den AS weiter. 6. Kann der RADIUS-Server die Antwort des Clients akzeptieren, sendet er eine RADIUS-Access-Accept-Nachricht an den AP, die eine EAP-Success-Nachricht enthält. Sie wird vom AP als EAPOL-Packet an den Client weitergereicht. 7. Darauf sendet der AS den Master Key an den Authentifizierer. (Wie Master Keys erstellt werden, wurde bereits in Abschnitt 4.2 beschrieben.) Für die Übermittlung des Schlüssels an den Authentifizierer wurde ursprünglich im RADIUS-Protokoll aber keine Nachrichtenart vorgesehen. Dieses Problem wird durch eine Erweiterung des 78 4.5 AUTHENTIFIZIERUNG Standards, die von Microsoft vorgeschlagen wurde, behoben: In Zorn (1999) wird das sog. MS-MPPE-Recv-Key-Attribut für RADIUS-Access-Accept-Nachrichten eingeführt, das mittels eines Session Keys im Microsoft Point-to-Point Encryption (MPPE)-Protokoll die Übertragung des Schlüssels vom AS zum NAS absichert. Ob Microsofts Vorschlag, dieses Verfahren auch für die Übermittlung der Schlüssel im WLAN zu übernehmen, angenommen wird, ist noch nicht klar. Seitens des NIST wird eine Alternative präferiert; vgl. dazu Edney und Arbaugh (2003, S. 147). Nachdem der Authentifizierer (auf die eine oder andere Weise) mit dem Pairwise Master Key für den Client ausgestattet wurde, können die temporären Schlüssel schließlich in EAPOL-Key-Nachrichten an den Client übermittelt werden. 4.5.4 Upper-Layer-Authentifizierung Da die durch den IEEE 802.11i-Standard festgelegten Protokolle und Verfahren sich nur auf die MAC-Schicht (Teil der ISO-OSI-Schicht 2) beziehen, sind die Protokolle der UpperLayer Authentication (ULA) – wie der Name bereits verdeutlicht – nicht im Standard enthalten. Zusammen mit dem EAP als universelles Transportprotokoll für die ULA-Protokolle ergänzen sie den IEEE 802.1x-Standard zu einer vollständigen Authentifizierungslösung. Während der 802.1x-Standard und das EAP (ggf. zusammen mit dem RADIUS) im Grunde nur das korrekte Routing der Nachrichten zwischen Client, Authentifizierer und Authentifizierungsserver gewährleisten, übernehmen die ULA-Protokolle letztendlich die wichtige Aufgabe der gegenseitigen Authentifizierung von Client und Authentifizierungsserver und generieren die bereits in Abschnitt 4.2 eingeführten Schlüssel. Durch die gegenseitige Authentifizierung wird mit dieser Authentifizierungsstruktur endlich erreicht, daß auch die Identität des Netzes, an dem sich der Client authentifiziert, gesichert ist. Gemein ist allen ULA-Protokollen dabei die Verwendung von Challenge-Response-Verfahren. Wie allerdings die interne Abwicklung der Aufgaben gestaltet ist, bleibt den Protokollen selbst überlassen. Derzeit existieren eine ganze Reihe verschiedener Protokolle, die für die Verwendung mit EAP entwickelt wurden, bzw. sind als Draft bei der IETF in Vorbereitung. Es ist aber zu erwarten, daß es in diesem Bereich noch weitere Neuentwicklungen geben wird – insbesondere solange sich noch kein allgemeines Verfahren durchgesetzt hat. Die ULA-Protokolle sollen in dieser Arbeit zwar nicht intensiv betrachtet werden, der Vollständigkeit halber werden im folgenden aber einige bekannte Vertreter dieser Protokolle kurz vorgestellt und Literaturverweise für weitere Informationen gegeben. TLS Das Transport Layer Security (TLS)-Protokoll basiert auf dem von Netscape entwickelten SSL (Secure Socket Layer)-Protokoll und wurde bei der IETF standardisiert; vgl. Dierks und Allen (1999). Das zertifikatbasierende Protokoll kann sich dabei durch die intensive Verbreitung des SSL-Protokolls auf eine Vielzahl von etablierten Zertifizierungsstellen stützen. Durch den Einsatz von Zertifikaten wird eine starke Sicherheit erreicht, doch erfordert dies die recht aufwendige Pflege der Client-Zertifikate. Der Einsatz in Verbindung mit dem EAP (TLS over EAP) wurde in einem weiteren Standard festgelegt; vgl. Aboba und Simon (1999). Obwohl auch in diesem Fall die Entwicklung des Protokolls für die Verwendung über PPP-Verbindungen vorgesehen war, läßt sich das TLS-Protokoll auch für das WLAN nutzen. Das Protokoll gehört als gegenseitiges Authentifizierungsprotokoll zu den 79 4.5 AUTHENTIFIZIERUNG am meisten verbreiteten Vertretern der ULA-Protokolle und wird so unter anderem von Microsoft Windows 2000 und XP direkt unterstützt; vgl. Red-M (2003, S. 5). Für einen detaillierten Einblick in das TLS-Protokoll und die Möglichkeit des Einsatzes für das Schlüsselmanagement in Verbindung mit RADIUS vgl. auch Edney und Arbaugh (2003, S. 155 – 169). Kerberos Das Kerberos-System bietet Sicherheitsmechanismen für IP-basierende Netzwerke. Die ersten Arbeiten an diesem Protokoll fanden bereits 1980 statt, 1993 wurde die noch heute aktuelle Version 5 bei der IETF standardisiert; vgl. Kohl und Neumann (1993). (Anschließend wurden aber auch noch einige weitere Ergänzungen des Standards vorgenommen.) Kerberos verwendet ein Ticket-System, in dem ein Client ein zeitlich begrenztes Ticket für einen bestimmten Dienst erhält. (Für jeden Dienst ist ein eigenes Ticket nötig.) Wie diese Ticketvergabe und Kerberos allgemein im Rahmen des IEEE 802.11i-Standards eingesetzt werden kann, beschreiben Edney und Arbaugh (2003, S. 169 – 184) sehr ausführlich. LEAP Das Cisco Light EAP war das erste Protokoll, das mit IEEE 802.1x und dem EAP zusammen als ULA-Protokoll verwendet wurde. Es bot bereits die gegenseitige Authentifizierung und half schließlich auch bei der Etablierung der temporären Session-Keys; vgl. Burns und Hill (2003). Das Protokoll war somit auch Wegbereiter für die weitere Entwicklung, obwohl es nie standardisiert wurde. Auch wurde das Protokoll nie von Cisco veröffentlicht. Allerdings konnte es auf der Basis der Analyse übertragener Datenpakete rekonstruiert werden und wurde so im Internet verfügbar gemacht. Damit konnten kompatible Protokolle von anderen Herstellern entwickelt werden. Das LEAP verwendet ein Challenge-Response-Verfahren auf der Basis von MS-CHAPv1, einer Erweiterung des CHAP-Protokolls durch Microsoft, mit der eine gegenseitige Authentifizierung möglich ist; vgl. Zorn und Cobb (1998). Eine Beschreibung der Verwendung des LEAP in Kombination mit dem RADIUS bieten Edney und Arbaugh (2003, S. 184 – 186). PEAP Mit dem Protected EAP (PEAP) wird eine vollständige Anonymität des Clients (gegenüber Angreifern von außen) während der Authentifizierung erreicht. PEAP verbindet das EAP mit dem TLS-Protokoll und behebt damit die Unsicherheit von EAP, die darin besteht, daß die EAP-Identity- und EAP-Success/Fail-Nachrichten ungeschützt übertragen werden. Dafür wird ein Ansatz in zwei Schritten verwendet: Im ersten Schritt wird eine sichere Verbindung mit dem TLS-Protokoll über das EAP aufgebaut, während der nur der AS authentifiziert wird. In der zweiten Phase wird dann die bestehende sichere Verbindung genutzt, um eine vollständige EAP-Authentifizierung durchzuführen; vgl. Andresson (2002). Dabei müßte aber nicht zwingend das TLS-Protokoll in diesem Tunnel eingesetzt werden – der Einsatz jedes anderen ULA-Protokolls wäre ebenfalls möglich. Eine aktuelle DraftVersion des PEAPs ist bei der IETF einzusehen; vgl. Palekar et al. (2003). Dem gleichen Prinzip folgt im übrigen auch das Tunneled TLS (TTLS)-Protokoll, das derzeit als Draft einzusehen ist; vgl. Funk und Blake-Wilson (2003). EAP-SIM Durch EAP-SIM soll es SIM (Subscriber Identity Module)-Karten (und damit auch Mobiltelefonen) möglich werden, die 802.11-Schnittstellen zu nutzen und sich 80 4.5 AUTHENTIFIZIERUNG mittels des 802.1x-Standards zu authentifizieren. Hiermit wird ein besonders interessanter und sicher zunehmend wichtiger werdender Weg eingeschlagen. Derzeit liegt der ggf. zukünftige EAP-SIM-Standard noch als Draft vor; vgl. Haverinen und Salowey (2003). Er sieht vor, die im GSM (Global System for Mobile Communications)-Standard eingesetzte Authentifizierung so weit wie möglich unverändert zu lassen, da einige Elemente fest in der SIM-Karte verankert sind und auch gar nicht geändert werden könnten. Bei diesem Vorhaben sind etliche Hürden zu überwinden: So bietet – um nur eine zu nennen – eine SIM-Karte beispielsweise nur einen 64 Bit langen Master Key, während für eine angemessene Sicherheit mindestens 128 Bit nötig wären. Dies kann ggf. kompensiert werden, wenn zur Schlüsselerzeugung mehrere Challenge-Response-Durchläufe verknüpft werden. Für eine kurze Einführung in diesen Versuch der Verknüpfung der GSM- mit der WLANWelt siehe auch Edney und Arbaugh (2003, S. 189 – 196). 81 5 Ausblick Insbesondere in den letzten Monaten ist auch in Deutschland das Interesse an der WirelessLAN-Technik stark gestiegen – ausgelöst nicht zuletzt durch massive Werbeaktionen der Internet-Provider, allen voran T-Com (HP). Aber auch von Hardware-Herstellern wird die WLAN-Technik immer mehr als Zukunftstechnologie vor allem im Bereich des mobilen Arbeitens erkannt. Intel (HP) beispielsweise setzt mit dem neuen Centrino-Logo für auf Intel-Komponenten basierende Notebooks auf die Zugkräfte dieses Marktsegments. Diese Entwicklung geht jedoch nicht einher mit einem entsprechend größeren Interesse an der nötigen Verbesserung der Sicherheitsmechanismen, die im WLAN zur Anwendung kommen. Zu viele Systeme basieren noch immer nur auf der mangelhaften WEPSicherheitsarchitektur. Darüber hinaus treten die Sicherheitsaspekte in der Öffentlichkeitsarbeit der Unternehmen zunehmend in den Hintergrund. Erschwerend kommt die zum Teil gravierende Unwissenheit auf der Seite der Anwender hinzu. Wird der Benutzer hier nicht weiter aufgeklärt, wird die WLAN-Technologie von ihm irrtümlich ähnlich unbedarft eingesetzt wie beispielsweise Mobiltelefone. Niemand käme beispielsweise auf die Idee, einen Authentifizierungsschlüssel für seinen Provider in sein Telefon einzutragen, bevor er telefoniert. Wie eine aktuelle Untersuchung in der Stadt London zeigt, ist bei dem überwiegenden Teil der in der Innenstadt georteten WLANs die WEP-Sicherheitsarchitektur nicht einmal aktiviert: Die Datenübertragung geschieht – wenn sie nicht durch VPNs geschützt wird, was die Autoren des Berichtes allerdings für den Großteil der betroffenen Netze bezweifeln – also völlig unverschlüsselt; vgl. Accenture (2003, S. 21). Dieses Verhalten zeigt, daß nicht nur die Möglichkeit, WLAN-Verbindungen ausreichend abzusichern, wichtig ist, sondern vor allem die automatische Aktivierung dieser Sicherheitsvorkehrungen: Die Absicherung muß ähnlich wie die Authentifizierung im Mobilfunkbereich für den Benutzer so transparent wie möglich verlaufen. Die derzeit eingesetzte WEP-Sicherheitsarchitektur in WLANs läßt sowohl die nötige Sicherheit als auch die entsprechende Transparenz für den Nutzer vermissen. Ein neuer allgemeiner Sicherheitsstandard für das stark an Einfluß gewinnende WLAN, der beide Forderungen erfüllt, ist deshalb schon lange überfällig. Mit der in dieser Arbeit vorgestellten RSN-Sicherheitsarchitektur des IEEE 802.11iStandards werden entsprechende Schritte unternommen: Durch ein neu eingeführtes Schlüsselmanagement, das vor allem auch die Möglichkeit besitzt, einen für den Benutzer transparenten Schlüsselaustausch zu gewährleisten, wird endlich eine große Lücke in der WEP-Sicherheitsarchitektur geschlossen. Die zwei neuen Verschlüsselungsprotokolle TKIP und CCMP, die im Fall von TKIP auch eine Abwärtskompatibilität zur WEP-Technologie bieten, beheben die gravierenden Mängel der WEP-Verschlüsselung. Insbesondere der Einsatz des Advanced Encryption Standards im CCMP erweist sich als enormer Sicherheitszugewinn. Während die Integritätssicherung in der WEP-Architektur diesen Namen kaum verdiente, verwenden beide neuen Verschlüsselungsverfahren wesentlich sicherere Message Integrity Codes. Schließlich bietet die RSN-Sicherheitsarchitektur mit der Einführung eines zweischichtigen Authentifizierungsmechanismus unter Verwendung des IEEE 802.1xStandards und des Extensible Authentication Protocols eine flexible Zugangskontrolle für WLANs, die sich in bereits existierende Authentifizierungslösungen insbesondere von Firmennetzwerken integrieren läßt. 82 5. AUSBLICK Es steht außer Frage, daß mit der RSN-Sicherheitsarchitektur ein großer Schritt für die bessere Absicherung von WLANs bevorsteht. Wenngleich einzelne Teile der neuen Sicherheitsarchitektur keine garantierte Sicherheit bieten können, so verdient sie doch als Verbund der verschiedenen Sicherheitsmechanismen die Bezeichnung Robust Security Network; vgl. auch Eaton (2002). Deshalb ist es richtig und wichtig, die neue Sicherheitsarchitektur schnellstmöglich umzusetzen, damit nicht nur IT-Profis bzw. große Unternehmen sondern vor allem auch Privatanwender und Mittelständler von der transparenten Sicherheit, die der 802.11i-Standard gewährt, profitieren. (Wobei allerdings ein sehr wichtiger Faktor für einen Erfolg des neuen Standards die Aktivierung aller Sicherheitsmaßnahmen im Auslieferungszustand der entsprechenden Hardware ist, aber dabei auch bedacht werden muß, daß eine große Flexibilität der Authentifizierung leider erneut Raum für mögliche Nachlässigkeiten bei der Administration läßt.) Ursprünglich wurde als Fertigstellungstermin des neuen IEEE 802.11i-Standards Ende 2003 angestrebt. Mittlerweile hat sich dies aber immer mehr relativiert und es ist wohl nicht damit zu rechnen, daß der Standard schon in den nächsten Monaten ratifiziert wird. Dies ruft erneut die Wi-Fi Alliance auf den Plan, die abermals einen eigenen Standard veröffentlichen will, der diesmal nicht nur die Kompatibilitätsprotokolle des 802.11i-Standards übernehmen soll, sondern auch die auf der Verwendung von AES basierenden Verfahren. Dieser bereits Wi-Fi Protected Access v2 (WPA2) getaufte Standard (vgl. Wi-Fi Alliance (2003b, S. 6 + 7)) wird also im Grunde vollständig den Spezifikationen des 802.11i-Standards entsprechen – mit dem Vorteil, daß er den Herstellern neuer WLAN-Hardware bereits viel früher als der IEEE-Standard zur Verfügung stehen wird; vgl. Burns und Hill (2003). Hauptgründe für die Verzögerungen bei der Task Group i des IEEE sind neben den Bestrebungen im Zusammenhang mit der Überarbeitung des IEEE 802.1x-Standards die Arbeiten an dem geplanten Fast-Roaming, das die Bewegung zwischen verschiedenen Access Points ohne Kommunikationsunterbrechungen oder Verlust an Sicherheit erlauben soll. Damit bestehen auch Chancen für die WLAN-Technologie, als Motor für die Weiterentwicklung von UMTS zu dienen: Bei weiter steigendem Erfolg des WLANs und steigendem Bedarf an Mobilität könnte bei entsprechenden Integrationsmöglichkeiten beider Technologien endlich auch der UMTS-Technologie ein Erfolgsschub bevorstehen, wenngleich auch Analysen existieren, die in dem Aufstreben von WLAN den weiteren Abstieg von UMTS garantiert sehen; vgl. Soreon Research GmbH (2003). Ein Erfolg des neuen IEEE-Standards – ggf. vorerst in Form von WPA2 – scheint sicher, zumal derzeit keinerlei Alternativen existieren. Ob die dadurch angestrebte robuste Sicherheit für WLANs aber auch Bestand haben wird, kann wie bei allen Sicherheitsmechanismen nur der tatsächliche Einsatz zeigen. Ob bereits in den nächsten Monaten, in einigen Jahren oder sogar nie etwaige Lücken in der Sicherheitsarchitektur entdeckt und Angriffe ggf. durch Crack-Tools automatisiert werden können, bleibt abzuwarten. 83 Literatur Aboba, B. und P. Calhoun (2003): RADIUS Support For Extensible Authentication Protocol (EAP). Request for Comments: 2869bis (April 2003). ,→ http://www.icir.org/internet-drafts/draft-aboba-radius-rfc2869bis-12. txt. 4.5.3 Aboba, B. und D. Simon (1999): PPP EAP TLS Authentication Protocol. Request for Comments: 2716 (Oktober 1999). ,→ ftp://ftp.isi.edu/in-notes/rfc2716.txt. 4.5.4 Accenture (2003): WLAN: Friend or Foe? – Why we need to secure the next technology wave. http://www.red-m.com/pdfs/Accenture%20WLAN%20friend%20or%20foe.pdf. ,→ 2.2.2, 2.3.2, 5 Aerosol (PRG): Crack-Tool zum Mitschneiden von Datenpaketen. ,→ http://www.stolenshoes.net/sniph/aerosol.html. 2.3.2 Agere Systems Inc. (2001): ORiNOCO WEPplus Whitepaper . (Oktober 2001). ,→ http://www.integritydata.com.au/WEB/Products.nsf/0/ 00723512483be3a869256b280082b260/$FILE/WEPplus%20Whitepaper.pdf. 3.4.1 Agere Systems Inc. (HP): Homepage. ,→ http://www.agere.com. 3 Ahlers, E. (2002): Leinenlos – Leitfaden zum WLAN-Kauf . c’t – Magazin für Computer Technik 25/2002, S. 200. 2.1.1, 2.1.1 AirSnort (PRG): Crack-Tool zur Ermittlung des WEP Schlüssels. ,→ http://airsnort.shmoo.com. 2.3.2, 3.4.1 Andresson, H. (2002): Wireless LAN upper layer authentication and key negotiation. RSA Laboratories (17. Januar 2002). ,→ http://www.rsasecurity.com/rsalabs/technotes/wlanweb.doc. 4.5.4 Arbaugh, W. A.; N. Shankar und Y. C. J. Wan (2001): Your 802.11 Wireless Network has No Clothes. Technischer Bericht, Department of Computer Science, University of Maryland. 2.3.2 Blunk, L. und J. Vollbrecht (1998): PPP Extensible Authentication Protocol (EAP). Request for Comments: 2284 (März 1998). ,→ ftp://ftp.isi.edu/in-notes/rfc2284.txt. 4.5.2 Borisov, N.; I. Goldberg und D. Wagner (2001): Intercepting Mobile Communications: The Insecurity of 802.11 . In Proceedings of the Seventh Annual International Conference on Mobile Computing And Networkung. ACM Press, New York. 2.3.2, 2.3.2 84 LITERATURVERZEICHNIS BSI (2002): Sicherheit im Funk-LAN (WLAN, IEEE 802.11). Projektgruppe ”Local Wireless Communication”, Bundesamt für Sicherheit in der Informationstechnik (17. Juli 2002). ,→ http://www.bsi.de/fachthem/funk_lan/wlaninfo.pdf. 1, 2.1.2, 2.2.2, 2.2.2, 2.3.2, 2.3.2 Buchmann, J. (1999): Einführung in die Kryptographie. 1. Auflage, Springer, Berlin u.a. 4.3.2, 4.4.1, 4.4.1 Burns, J. und J. Hill (2003): Evolution of WLAN Security. Meetinghouse Data Communications White Paper (4. Oktober 2003). ,→ http://www.mtghouse.com/MDC_Evolving_Standards.pdf. 3.3, 4.1, 4.5.4, 5 Daemen, J. und V. Rijmen (2001): Rijndael, the advanced encryption standard. Dr. Dobb’s Journal 26 (3), S. 137 – 139. 4.3.2 Dierks, T. und C. Allen (1999): The TLS Protocol, Version 1.0 . Request for Comments: 2246 (Januar 1999). ,→ ftp://ftp.isi.edu/in-notes/rfc2246.txt. 4.5.4 Eastlake, D.; S. Crocker und J. Schiller (1994): Randomness Recommendations for Security. Request for Comments: 1750 (December 1994). ,→ ftp://ftp.isi.edu/in-notes/rfc1750.txt. 4.2.2, 4.2.3 Eaton, D. (2002): Diving into the 802.11i Spec: A Tutorial. CommsDesign, Design Corner (26. November 2002). ,→ http://www.commsdesign.com/design_corner/OEG20021126S0003. 4.1, 5 Edney, J. und W. A. Arbaugh (2003): Real 802.11 Security: Wi-Fi Protected Access and 802.11i. 1. Auflage, Addison Wesley, Boston u.a. 1, 2.2.2, 2.3.2, 4.2, 4.2.3, 4.3, 4.3.1, 4.3.1, 4.3.1, 4.3.2, 4.3.2, 4.3.2, 4.3.2, 4.3.2, 4.3.2, 4.3.2, 4.4.1, 4.5, 4.5.2, 4.5.2, 4.5.3, 2, 7, 4.5.4, 4.5.4, 4.5.4, 4.5.4 Etheral (PRG): Crack-Tool zur Analyse mitgeschnittener Datenpakete. ,→ http://www.etheral.com. 2.3.2 ETSI (HP): Homepage. ,→ http://www.etsi.org. 2.1 ETSI BRAN Project (1998): HIPERLAN/1 – Technical Overview. ,→ http://www.etsi.org/frameset/home.htm?/technicalactiv/hiperlan/ hiperlan1tech.htm. 2.1 ETSI BRAN Project (2000): HIPERLAN/2 – Technical Overview. ,→ http://www.etsi.org/frameset/home.htm?/technicalactiv/hiperlan/ hiperlan2tech.htm. 2.1 Fluhrer, S.; I. Mantin und A. Shamir (2001): Weaknesses in the Key Scheduling Algorithm of RC4 . Lecture Notes in Computer Science 2259. 2.3.2, 2.3.2, 4.3.1 85 LITERATURVERZEICHNIS Freudl, F. (2003): WEP, Sicherheitsanalyse und mögliche Attacken. Seminararbeit am Fachgebiet für Sicherheit in der Informationstechnik, Technische Universität Darmstadt. http://www.sec.informatik.tu-darmstadt.de/de/lehre/WS02-03/seminar/ ,→ ausarbeitungen/WEP.pdf. 2.3.1, 2.3.1, 2.3.2 Friedrich, A. (2002): Mechanismen zum Schutz von WLANs. Funkschau (21). 2.2.2 Funk, P. und S. Blake-Wilson (2003): EAP Tunneled TLS Authentication Protocol (EAPTTLS). Internet Draft (August 2003). ,→ http://www.ietf.org/internet-drafts/draft-ietf-pppext-eap-ttls-03.txt. 4.5.4 Funk Software Inc. (2003): White Paper: The Role of RADIUS in Securing 802.1x Wireless LANs – Executive Summary. ,→ http://www.funk.com/radius/Solns/wlan_wp.asp. 4.5.3 Gast, M. S. (2002): 802.11 Wireless Networks: The Definitive Guide. 1. Auflage, O’Reilly, Köln u.a. 2.2.2, 4.5.3 Haverinen, H. und J. Salowey (2003): EAP SIM Authentication. Internet Draft (Oktober 2003). ,→ http://www.ietf.org/internet-drafts/draft-haverinen-pppext-eap-sim-12. txt. 4.5.4 HostAP (PRG): Crack-Tool zur Emulation eines APs mittels einer WLAN Netzwerkkarte. ,→ http://hostap.epitest.fi. 2.3.2 IANA (HP): Homepage. ,→ http://www.iana.org. 4.5.2 IEEE (1997): 802.11: Information Technology – Telecommunications and Information Exchange Between Systems – Local and Metropolitan Area Networks – Specific Requirements, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. IEEE Standards Board (Juni 1997). http://standards.ieee.org/reading/ieee/std/lanman/restricted/802. ,→ 11-1997.pdf. 1, 2, 2.1, 2.1.1, 4.4.2 IEEE (1998): 802.2: Information Technology – Telecommunications and Information Exchange Between Systems – Local and Metropolitan Area Networks – Specific Requirements, Part 2: Logical Link Control. IEEE Standards Board (1998). http://standards.ieee.org/reading/ieee/std/lanman/restricted/802. ,→ 2-1998.pdf. 2.1.1 IEEE (1999a): 802.11: Information Technology – Telecommunications and Information Exchange Between Systems – Local and Metropolitan Area Networks – Specific Requirements, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. IEEE Standards Board (1999 Edition). http://standards.ieee.org/reading/ieee/std/lanman/restricted/802. ,→ 11-1999.pdf. 1, 2.1.1, 2.2.2, 2.3.1, 2.3.1, 2.3.1, 2.3.2, 2.3.2, 4.3.1, 4.4.1 86 LITERATURVERZEICHNIS IEEE (1999b): 802.11a: Supplement to IEEE Standard for Information Technology – Telecommunications and Information Exchange Between Systems – Local and Metropolitan Area Networks – Specific Requirements, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, High-speed Physical Layer in the 5 GHz Band . IEEE-SA Standards Board (September 1999). http://standards.ieee.org/reading/ieee/std/lanman/restricted/802. ,→ 11a-1999.pdf. 2.1.1 IEEE (1999c): 802.11b: Supplement to IEEE Standard for Information Technology – Telecommunications and Information Exchange Between Systems – Local and Metropolitan Area Networks – Specific Requirements, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, Higher-speed Physical Layer Extension in the 2.4 GHz Band. IEEE-SA Standards Board (September 1999). http://standards.ieee.org/reading/ieee/std/lanman/restricted/802. ,→ 11b-1999.pdf. 2.1, 2.1.1 IEEE (2001a): 802.11b: IEEE Standard for Information Technology – Telecommunications and Information Exchange Between Systems – Local and Metropolitan Area Networks – Specific Requirements, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, Amandment 2: Higher-speed Physical Layer (PHY) Extension in the 2.4 GHz Band – Corrigendum 1 . IEEE Standards Board (November 2001). http://standards.ieee.org/reading/ieee/std/lanman/restricted/802. ,→ 11b-1999_Cor1-2001.pdf. 2.1, 2.1.1 IEEE (2001b): 802.11d: IEEE Standard for Information Technology – Telecommunications and Information Exchange Between Systems – Local and Metropolitan Area Networks – Specific Requirements, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, Amandment 3: Specification for Operation in Additional Regulatory Domains. IEEE-SA Standards Board (Juni 2001). http://standards.ieee.org/reading/ieee/std/lanman/restricted/802. ,→ 11d-2001.pdf. 2.1.1 IEEE (2001c): 802.1x: IEEE Standard for Local and Metropolitan Area Networks – Port-Based Network Access Control. IEEE-SA Standards Board (Oktober 2001). ,→ http://standards.ieee.org/reading/ieee/std/lanman/restricted/802. 1X-2001.pdf. 2.1.1, 4.2.3, 4.5.1, 4.5.2 IEEE (2002a): 802.11h/D3: Unapproved Draft Supplement to Standard for Telecommunications and Information Exchange Between Systems – LAN/MAN Specific Requirements, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications: Spectrum and Transmit Power Management Extensions in the 5 GHz band in Europe. IEEE Standards Department (September 2002). ,→ http://standards.ieee.org/reading/ieee/std/lanman/drafts/P802.11h.pdf. 2.1.1 IEEE (2002b): 802.11i/D3.0: Unapproved Draft Supplement to Standard for Telecommunications and Information Exchange Between Systems – LAN/MAN Specific Requirements, 87 LITERATURVERZEICHNIS Part 11: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications: Specification for Enhanced Security. IEEE Standards Department (November 2002). ,→ http://standards.ieee.org/reading/ieee/std/lanman/drafts/P802.11i.pdf. 2.1.1, 4.3, 4.3.2, 4.4.1 IEEE (2003a): 802.11g: IEEE Standard for Information Technology – Telecommunications and Information Exchange Between Systems – Local and Metropolitan Area Networks – Specific Requirements, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, Amandment 4: Further Higher Data Rate Extension in the 2.4 GHz Band. IEEE Standards Board (Juni 2003). http://standards.ieee.org/reading/ieee/std/lanman/restricted/802. ,→ 11g-2003.pdf. 2.1.1 IEEE (2003b): 802.11i/D7.0: Unapproved Draft Amendment to Standard for Telecommunications and Information Exchange Between Systems – LAN/MAN Specific Requirements, Part 11: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications: Medium Access Control (MAC) Security Enhancements. IEEE Standards Department (Oktober 2003). ,→ http://standards.ieee.org/reading/ieee/std/lanman/drafts/P802.11i.pdf. 1, 2.1.1, 4, 4.2.2, 4.2.2, 4.2.2, 4.2.3, 4.2.3, 4.3, 4.3.1, 4.3.1, 4.3.1, 4.3.1, 4.3.1, 4.3.1, 4.4.1, 4.4.1, 4.4.2, 4.5.1, 4.5.2 IEEE (2003c): 802.1x/D7.1: Unapproved Draft Amendment to Standard for Local and Metropolitan Area Networks – Port-Based Network Access Control. IEEE-SA Standards Board (10. Oktober 2003). http://www.ieee802.org/1/files/private/x-REV-drafts/d7/ ,→ 802-1X-REV-d7-1.pdf. 4.5.1 IEEE (HP): Homepage. ,→ http://www.ieee.org. 1 IETF (HP): Homepage. ,→ http://www.ietf.org. 3.1 Intel (HP): Homepage. ,→ http://www.intel.de. 5 Intersil (2003): Wireless and related Network Standards and Organizations. ,→ http://www.intersil.com/design/prism/WirelessNetworkStandards.asp. 2.1 Intersil (HP): Homepage. ,→ http://www.intersil.com. 3.3 ISO (1999): ISO/IEC 9797-1: Information Technology – Security Techniques – Data Integrity Mechanism using a cryptographic Check Function employing a Block Cipher Algorithm, Second Edition. Committee JTC 1 / SC 27. 4.3.2 ISO (HP): Homepage. ,→ http://www.iso.ch. 2.1.1 88 LITERATURVERZEICHNIS Jonsson, J. (2002): On the security of CTR + CBC-MAC . SAC – Ninth Annual Workshop on Selected Areas of Cryptography (15. + 16. August 2002). ,→ http://csrc.nist.gov/CryptoToolkit/modes/proposedmodes/ccm/ccm-ad1. pdf. 4.3.2 Keene, I. (2003): Das ABC der 802.11-Standards. ZDNet – Mobile Business: Wireless SuperCenter. http://www.zdnet.de/mobile/supercenter/wireless/knowhow/200303/ ,→ 80211-abc_01-wc.html. 2.1.1 Kent, S. und R. Atkinson (1998): Security Architecture for the Internet Protocol. Request for Comments: 2401 (November 1998). ,→ ftp://ftp.isi.edu/in-notes/rfc2401.txt. 3.1 Kohl, J. und C. Neumann (1993): The Kerberos Network Authentication Service (V5). Request for Comments: 1510 (September 1993). ,→ ftp://ftp.isi.edu/in-notes/rfc1510.txt. 3.4.3, 4.5.4 Krawczyk, H.; M. Bellare und R. Canetti (2001): HMAC: Keyed-Hashing for Message Authentication. Request for Comments: 2104 (November 2001). ,→ ftp://ftp.isi.edu/in-notes/rfc2104.txt. 4.2.2 Lowery, J. C. und M. Miller (2003): Securing Wireless Networks. Dell Powersolutions 08/2003, S. 114 – 118. ,→ http://ftp.us.dell.com/app/3q03-Loy.pdf. 3.3 Mann, T. (2003): Pertamunentio oder Warum WEP nicht verdreht genug ist. Seminararbeit am Fachgebiet für Sicherheit in der Informationstechnik, Technische Universität Darmstadt. http://www.sec.informatik.tu-darmstadt.de/de/lehre/WS02-03/seminar/ ,→ ausarbeitungen/RC4.pdf. 2.3.2, 3.4.1 Mishra, A. und W. A. Arbaugh (2002): An Initial Security Analysis of the IEEE 802.1X Standard . Technischer Bericht, Department of Computer Science, University of Maryland. ,→ http://www.cs.umd.edu/~waa/1x.pdf. 4.5.1 MMAC (HP): Homepage. ,→ http://www.arib.or.jp/mmac/e/. 2.1 Nechvatal, J.; E. Barker; L. Bassham; W. Burr; M. Dworkin; J. Foti und E. Roback (2000): Report on the Development of the Advanced Encryption Standard (AES). Technischer Bericht, Computer Security Division, Information Technology Laboratory, National Institute of Standards and Technology, (2. Oktober 2000). ,→ http://csrc.nist.gov/encryption/aes/round2/r2report.pdf. 4.3.2 New Media Institute, University of Georgia (HP): Homepage für Wireless Athens Georgia Zone (WAGz). ,→ http://www.nmi.uga.edu/research/. 1 89 LITERATURVERZEICHNIS NIST (1993): Federal Information Processing Standard (FIPS) 180-1, Secure Hash Standard . Technischer Bericht, National Institute of Standards and Technology, (11. Mai 1993). ,→ http://www.itl.nist.gov/fipspubs/fip180-1.htm. 4.2.2 NIST (2001): Federal Information Processing Standard (FIPS) 197, Advanced Encryption Standard (AES). Technischer Bericht, National Institute of Standards and Technology, (26. November 2001). ,→ http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf. 4.3.2 NIST (HP): Homepage. ,→ http://www.nist.gov. 4.3.2 Palekar, A.; D. Simon; G. Zorn; J. Salowey; H. Zhou und S. Josefsson (2003): Protected EAP Protocol (PEAP) Version 2 . Internet Draft (Oktober 2003). ,→ http://www.ietf.org/internet-drafts/draft-josefsson-pppext-eap-tls-eap-07. txt. 4.5.4 Patel, B.; B.Aboba; W. Dixon; G. Zorn und S. Booth (2001): Securing L2TP using IPsec. Request for Comments: 3193 (November 2001). ,→ ftp://ftp.isi.edu/in-notes/rfc3193.txt. 3.1 Potter, B. und B. Fleck (2003): 802.11 Security. 1. Auflage, O’Reilly, Köln u.a. 2.3.2, 2.3.2, 3.2, 4.5.1 Red-M (2003): 802.11 Security – What does it mean really? . ,→ http://www.red-m.com/pdfs/802.11%20Security-What%20does%20it%20mean% 20really%20(prod-rp-022d).pdf. 4.5.4 Red-M (HP): Homepage. ,→ http://www.red-m.com. 1 Richter, M. (2003): IPsec – Grundlagen. Seminararbeit am Fachgebiet für Sicherheit in der Informationstechnik, Technische Universität Darmstadt. http://www.sec.informatik.tu-darmstadt.de/de/lehre/WS02-03/seminar/ ,→ ausarbeitungen/IPSecI.pdf. 3.1 Rigney, C.; W. Willats und P. Calhoun (2000a): RADIUS Extensions. Request for Comments: 2869 (Juni 2000). ,→ ftp://ftp.isi.edu/in-notes/rfc2869.txt. 4.5.3 Rigney, C.; S. Willens; A. Rubens und W. Simpson (2000b): Remote Authentication Dial In User Service (RADIUS). Request for Comments: 2865 (Juni 2000). ,→ ftp://ftp.isi.edu/in-notes/rfc2865.txt. 4.5.3 Rogaway, P.; M. Bellare; J. Black und T. Krovetz (2001): OCB: A Block-Cipher Mode of Operation for Efficient Authenticated Encryption. Eighth ACM Conference on Computer and Communications Security (CCS-8) (16. August 2001), S. 196 – 205. ,→ http://www.cs.ucdavis.edu/~rogaway/ocb/ocb-proc.pdf. 4.3.2 90 LITERATURVERZEICHNIS RSA Security (1999): PKCS #5 v2.0: Password-Based Cryptography Standard. (25. März 1999). ,→ ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-5v2/pkcs5v2-0.pdf. 4.2.3 RSA Security (2001): WEP Fix using RC4 Fast Packet Keying. (17. Dezember 2001). ,→ http://www.rsasecurity.com/rsalabs/technotes/wep-fix.html. 3.2, 3.4.2 RSA Security (HP): Homepage. ,→ http://www.rsasecurity.com. 2.3.1, 3.4.2 Schmidt, M. (2002): Datenpanzer – Alternativen zur Funknetz-Verschlüsselung WEP . c’t – Magazin für Computer Technik 04/2002, S. 178. 3.4.2, 3.4.3 Schulte, G. (1999): Wellenreiter – Technik und Standardisierung von drahtlosen Netzen. c’t – Magazin für Computer Technik 6/1999, S. 222. 2.1.2 Soreon Research GmbH (2003): WLAN weiter auf dem Vormarsch. ,→ www.soreon.de/download/SOREON%20Flash%20WLAN%20auf%20dem%20Vormarsch. pdf. 5 St Denis, T. (2003): Analysis of TKIP Temporal Key Integrity Protocol. (5. Juni 2003). ,→ http://libtomcrypt.org/files/tkip.pdf. 4.3.1, 4.3.1 Stubblefield, A.; J. Ioannidis und A. D. Rubin (2001): Using the Fluhrer, Mantin and Shamir Attack to Break WEP. Technischer Bericht, AT&T Labs TD-4ZCPZZ, (21. August 2001). ,→ http://www.cs.rice.edu/~astubble/wep/wep_attack.pdf. 2.3.2 T-Com (HP): Homepage. ,→ http://www.t-com.de. 5 Tanenbaum, A. S. (1996): Computer Networks. 3. Auflage, Prentice Hall, London u.a. 2.1.1, 4.3.2 VPN Consortium (2003): VPN Technologies: Definitions and Requirements. (Januar 2003). ,→ http://www.vpnc.org/vpn-technologies.html. 3.1 VPNC (HP): Homepage. ,→ http://www.vpnc.org/. 3.1 Walker, J. (2002a): 802.11 Security Series Part I: Key Management for WEP and TKIP. Technischer Bericht, Intel Corporation. ,→ http://cedar.intel.com/media/pdf/wireless/80211_1.pdf. 4.5.1 Walker, J. (2002b): 802.11 Security Series Part II: The Temporal Key Integrity Protocol (TKIP). Technischer Bericht, Intel Corporation. ,→ http://cedar.intel.com/media/pdf/security/80211_part2.pdf. 4.3.1 Walker, J. (2002c): 802.11 Security Series Part III: AES-based Encapsulations of 802.11 Data. Technischer Bericht, Intel Corporation. ,→ http://cedar.intel.com/media/pdf/security/80211_part3.pdf. 4.3.2, 4.3.2 91 LITERATURVERZEICHNIS Wardriving.com (HP): Homepage. ,→ http://www.wardriving.com. 2.2.2 Weatherspoon, S. (2000): Overview of IEEE 802.11b Security. Intel Technology Journal 4 (Q2). ,→ http://www.intel.com/technology/itj/q22000/pdf/art_5.pdf. 2.3.1 WEPCrack (PRG): Crack-Tool zur Ermittlung des WEP Schlüssels. ,→ http://sourceforge.net/projects/wepcrack/. 2.3.2 Whiting, D.; R. Housley und N. Ferguson (2003): Counter with CBC-MAC (CCM). Request for Comments: 3610 (September 2003). ,→ ftp://ftp.isi.edu/in-notes/rfc3610.txt. 4.3.2 Wi-Fi Alliance (2002): Wi-Fi Protected Access – Overview . (31. Oktober 2002). ,→ http://www.wi-fi.org/OpenSection/pdf/Wi-Fi_Protected_Access_Overview. pdf. 3.3 Wi-Fi Alliance (2003a): Securing Wi-Fi Wireless Networks with Today’s Technologies. (6. Februar 2003). ,→ http://www.wi-fi.org/OpenSection/pdf/Whitepaper_Wi-Fi_Networks2-6-03. pdf. 2.2.2, 3.1 Wi-Fi Alliance (2003b): Wi-Fi Protected Access: Strong, standards-based, interoperable security for today’s Wi-Fi networks. (29. April 2003). ,→ http://www.wi-fi.com/OpenSection/pdf/Whitepaper_Wi-Fi_Security4-29-03. pdf. 3.3, 5 Wi-Fi Alliance (2003c): Wi-Fi Protected Access (WPA). (Version 2.0, 29. April 2003). ,→ http://www.wi-fi.com/OpenSection/protected_access.asp. 3, 3.3 Wi-Fi Alliance (HP): Homepage. ,→ http://www.wi-fi.org/. 1 Ylonen, T. (2003): SSH Transport Layer Protocol. Internet Draft (Oktober 2003). ,→ http://www.ietf.org/internet-drafts/draft-ietf-secsh-transport-17.txt. 3.2 Zorn, G. (1999): Microsoft Vendor-specific RADIUS Attributes. Request for Comments: 2548 (März 1999). ,→ ftp://ftp.isi.edu/in-notes/rfc2548.txt. 7 Zorn, G. und S. Cobb (1998): Microsoft PPP CHAP Extensions. Request for Comments: 2433 (Oktober 1998). ,→ ftp://ftp.isi.edu/in-notes/rfc2433.txt. 4.5.4 92