eduroam mit EAP-PWD absichern Rechenzentrum TU Clausthal 64. DFN Betriebstagung, Mobile-IT-AK 3. März 2016 Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 1
Agenda Was ist EAP-PWD Funktionsweise Sicherheit Vorteile Nachteile Implementierung mit FreeRADIUS Supplikanten mit EAP-PWD-Unterstützung Fazit & Zukunftsperspektiven Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 2
Was ist EAP-PWD Funktionsweise Extensible Authentication Protocol (EAP) Methode: Nutzt nur geteiltes Password für Authentifizierung, widerstandsfähig gegen...... aktive Angriffe,... passive Angriffe,... Wörterbuchangriffe. Forward Secrecy -Fähigkeit. Erster Draft für den EAP-PWD-Standard bei IETF: 2008 Finaler IETF-Standard 2010 veröffentlicht als RFC 5931. Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 3
Was ist EAP-PWD Funktionsweise EAP-pwd-ID/Request: (Ciphersuite, Token, Password Processing Method, Server_ID) EAP-pwd-ID/Response: (Ciphersuite, Token, Password Processing Method, Peer_ID) EAP-pwd-Commit/Request: (Scalar_S, Element_S) EAP-pwd-Commit/Response: (Scalar_P, Element_P) Peer EAP-pwd-Confirm/Response: (Confirm_P) EAP-pwd-Confirm/Request: (Confirm_S) FreeRADIUS Server Identity-Exchange Commit-Exchange Confirm-Exchange Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 4
Was ist EAP-PWD Sicherheit Gegenseitig Authentifizierung (siehe RFC 5931, Seite 35) Client und Server authentifizieren sich gegenseitig, indem sie nachweisen, dass sie das geteilte Passwort besitzen. Forward Secrecy. Schutz vor Replay-Attacken. Schutz vor Wörterbuchattacken. Schutz vor DoS (Denial-of-Service). Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 5
Was ist EAP-PWD Sicherheit Das geteilte Passwort wird an keiner Stelle im Klartext übermittelt. Kryptografie: Elliptic Curve Cryptography (ECC) bzw. Finite Field Cryptography (FFC). Passwörter dienen als Grundlage für Password Elements. Password Element -Erstellung: 1. Seed aus mehreren Komponenten (inkl. original Passwort), 2. Seed wird mit Key Derivation Function (KDF) auf eine Mindestlänge gebracht. 3. Ermittlung des Password Elements durch Hunting & Pecking auf ECC oder FFC mit Hilfe des per KDF bearbeiteten Seeds. Verfahren basiert auf guten Zufallszahlen. Peer und Server können an Hand der versendeten Elemente Scalar_*, Element_* und Confirm_* die komplette Authentisierung durchführen. Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 6
Was ist EAP-PWD Vorteile Vergleich mit EAP-TTLS & PEAP Es werden keine Zertifikate gebraucht. Autorisieren/Authentifizierung nur mit Nutzername & Passwort. Weniger RADIUS-Pakete notwendig: EAP-PWD: 6 gesendete Pakete & 6 empfangene Pakete PEAP+MSCHAPv2: 15 gesendete Pakete & 15 empfangene Pakete Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 7
Was ist EAP-PWD Nachteile Nachteil gegenüber getunnelten Verfahren (EAP-TTLS & PEAP) Keine äußere Identität anonymous, da kein getunneltes Verfahren. Hinweis: EAP-PWD kann theoretisch getunnelt werden. Bessere Alternative: Ggf. eigene Identitäten für eduroam Nutzerkennung. Kaum native Unterstützung in Endgerätebetriebssystemen (bisher nur Android und aktueller wpa_supplicant). Im eduroam CAT: Supplikant von Aruba für Windows (Installation buggy; Autoren von eduroam CAT arbeiten an Lösung). Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 8
Implementierung mit FreeRADIUS EAP-PWD wird seit FreeRADIUS-Version 3.0.0 unterstützt, nach Aussage aus der FreeRADIUS-Community erst seit 3.0.11 stabil. Copyright der FreeRADIUS-Quellen für EAP-PWD liegt bei Dan Harkins, Autor von RFC 5931. Konfiguration mods-available/eap: ## eap.conf -- Configuration for EAP types (PEAP, TTLS, etc.) eap { pwd { group = 19 server_id =... fragment_size = 1020 virtual_server = "inner-tunnel" Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 9
Implementierung mit FreeRADIUS Konfiguration sites-available/default (analog wie EAP-TTLS / PEAP): server default { listen {... authorize { filter_username preprocess suffix eap { ok = return authenticate { eap... post-auth { update { &reply: += &session-state: reply_log...... Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 10
Implementierung mit FreeRADIUS Benötigte Attribute Cleartext-Password (gehashte Passwörter funktionieren derzeit nicht) Es wird Cleartext-Password als Control-Attribut in LDAP benötigt (falls man LDAP benutzt). Es empfiehlt sich, extra Passwörter nur für EAP-PWD im Verzeichnisdienst zu pflegen. Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 11
Implementierung mit FreeRADIUS Fallstrick bei EAP-PWD in FreeRADIUS: EAP-PWD ist in der FreeRADIUS-Implementierung getunnelt, obwohl es kein getunneltes Verfahren ist. RADIUS-Attribute (Reply-Items) für die VLAN-Zuordnung etc. werden nicht sauber in Access-Accept-Nachrichten kopiert. Workaround mit session state zum Kopieren von Reply Items. Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 12
Implementierung mit FreeRADIUS Warum sollte man für EAP-PWD und EAP-TTLS / PEAP die session-state -Methode verwenden? Früher (FreeRADIUS 1.x-2.x): copy_tunnel_reply=yes. copy_tunnel_reply=yes sollte in FreeRADIUS ab Version 3.0.7 nicht mehr genutzt werden: Bei MSCHAPv2: Sicherheitsprobleme mit diesem Verfahren. Zu viele Attribute werden nach Außen kopiert (z. B. MS-MPPE-* -Attribute). Es sollte daher der neue session-state -Mechanismus verwendet werden. Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 13
Implementierung mit FreeRADIUS Konfiguration sites-available/inner-tunnel: # This is a virtual server that handles *only* inner tunnel server inner-tunnel { authorize { preprocess eapinnertunnel { ok = return ldap update { &outer.session-state: += &reply: update outer.session-state { MS-MPPE-Encryption-Policy!* ANY MS-MPPE-Encryption-Types!* ANY MS-MPPE-Send-Key!* ANY MS-MPPE-Recv-Key!* ANY Message-Authenticator!* ANY EAP-Message!* ANY Proxy-State!* ANY [ ] Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 14
Supplikanten mit EAP-PWD-Unterstützung Getestet mit Android 5.0.1 (nativ im OS unterstützt, eventuell schon in früheren Versionen) Windows Windows 7 & 10 (eduroam CAT; nutzt Supplikant von Aruba, CAT- Installation derzeit buggy) Linux Aktuelles Ubuntu / Mint (nicht von Network-Manager unterstützt). Lösung mit wpa_supplicant. Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 15
Supplikanten mit EAP-PWD-Unterstützung Konfiguration wpa_supplicant ap_scan=1 network={ ssid="eduroam" key_mgmt=wpa-eap eap=pwd identity="name@tu-clausthal.de" password="passwort" Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 16
Fazit & Zukunftsperspektiven Gutes Verfahren, um Android-Geräte sicher zu authentisieren. Derzeit kaum Unterstützung für andere OS. Fast perfektes EAP-Verfahren, nicht nur für Android. Löst viele Probleme mit Zertifikaten und kann eine gute Alternative für EAP-TTLS und PEAP + innere Verfahren sein. Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 17
Danke für Ihre Aufmerksamkeit! Fragen? Abram Lawendy Rechenzentrum TU Clausthal Erzstraße 51 38678 Clausthal-Zellerfeld E-Mail: abram.lawendy@tu-clausthal.de Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 18
Referenzen https://tools.ietf.org/html/rfc5931 Extensible Authentication Protocol (EAP) Authentication Using Only a Password https://cat.eduroam.de/ Rechenzentrum TU Clausthal eduroam mit EAP-PWD absichern 19