EduRoam en beveiliging Klaas.Wierenga@SURFnet.nl SURF Security Officers 11 April 2004 Utrecht
Inhoud Inleiding EduRoam 802.1X RADIUS EduRoam RADIUS issues 802.1X issues EduRoam-NG Conclusie
Inleiding EduRoam EduRoam is voortzetting van 3-staps RADIUS infrastructuur tbv inbellen (en later ADSL) Nu gebruikt voor inbellen en 802.1X Binnenkort ook voor SVP en wellicht A-Select Model: 802.1X voor gastgebruik
IEEE 802.1X Porrtgebaseerde authenticatie (laag 2) tussen client en AP/switch Verschillende authenticatie mechanismes (EAP-MD5, MS-CHAPv2, EAP-SIM, EAP-TLS, EAP-TTLS, PEAP) Standaard Encrypt data gebruik makend van dynamische keys Kan RADIUS back end gebruiken: Schaalbaar Hergebruik bestaande trust relaties Eenvoudige integratie met dynamische VLAN toewijzing Client software nodig (ingebouw of 3d party) Wireless en wired
EAP PPP Extensible Authentication Protocol EAP ondersteunt verschillende authenticatie mechanismen Authenticatie mechanisme geselecteerd in de Authentication fase, niet in de Link Control fase Gebruik “backend” authenticatie server
Hoe werkt 802.1X (in combinatie met 802.1Q)? f.i. LDAP EAP over RADIUS EAPOL Supplicant Authenticator (AP or switch) RADIUS server Institution A User DB jan@student.institution_a.nl Internet Employee VLAN Guest VLAN Student VLAN signalling data
Door de protocol stack EAP 802.1X EAPOL RADIUS (TCP/IP) Ethernet Supplicant (laptop, desktop) Authenticator (AccessPoint, Switch) Auth. Server (RADIUS server) EAP 802.1X EAPOL RADIUS (TCP/IP) Ethernet Ethernet
RADIUS: doel Protocol voor transport voor authenticatie en autorisatie informatie Entiteiten: Network Access Server (NAS) en RADIUS server RADIUS server moet om een gebruiker te authenticeren: Het authenticatie protocol van de gebruiker begrijpen (PAP, CHAP etc.) Begrijpen hoe de gebruiker credentials te verifieren tegen een user database
RADIUS: formaat RADIUS paketten bestaande uit attribuut-waarde paren (bijv. “Username=‘Klaas’, Password=‘saalK’”) RADIUS is uitbreidbaar, mogelijkheid tot Vendor Specific Attributes RADIUS gebruikt UDP (Authenticatie 1812 (1645), Accounting 1813 (1646))
Radius: security model RADIUS peers (NAS naar server, server naar server) vormen een trust relatie d.m.v. een shared secret Het secret wordt gebruikt om verschillende attributen te versleutelen (password) Versleutelde hash over pakket om wijziging pakket tegen te gaan
RADIUS: gebruikers authenticatie Client stuurt credentials naar NAS NAS genereert Access-Request Access-Request wordt geforward naar de RADIUS server RADIUS server valideert credentials Valide: Access-Accept Niet valide: Access-Reject
Proxy RADIUS Een RADIUS server kan RADIUS paketten naar andere RADIUS servers voor verdere verwerking Proxy RADIUS wordt normaliter gebaseerd op de basis van een ‘realm’ die wordt toegevoegd aan de username: User@realm Packet wordt geproxied naar een andere server geassocieerd met ‘realm’ Proxy RADIUS is de basis voor EduRoam
EduRoam Internet Guest Employee VLAN VLAN Student VLAN Supplicant Authenticator (AP or switch) RADIUS server Institution A RADIUS server Institution B User DB User DB Guest piet@institution_b.nl Internet Employee VLAN Guest VLAN Central RADIUS Proxy server Student VLAN Simpel, schaalbaar en robuust mechanisme voor het doorsturen van de gebruikers AAA naar de thuisinstelling signalling data
Radius proxy hierarchie SURFnet FUNET DFN CARnet Radius proxy hierarchie University of Southampton FCCN RADIUS Proxy servers connecting to a European level RADIUS proxy server
RADIUS issues: shared secrets Probleem: De communicatie tussen RADIUS-servers is beveiligd d.m.v. shared secrets Oplossing: Gebruik lange, moeilijke shared secrets Gebruik aanvullende indicatoren (CLIP, NAS-IP etc.) Gebruik een ander shared secret voor elke NAS IPsec TLS
RADIUS issues: proxy loops Probleem: De toplevel RADIUS-server stuurt user@kantoor.surfnet.nl naar radius.surfnet.nl op basis van een regel voor *.surfnet.nl Radius.surfnet.nl handelt requests van het type user@surfnet.nl af en stuurt alle andere requests door naar de toplevel RADIUS-server (dus ook @kantoor.surfnet.nl) D.C. al fine Oplossing: stuur nooit RADIUS paketten terug naar de afzender
RADIUS issues: hop-by-hop security en trust Probleem: Alleen het pad tussen NAS en server en servers onderling is versleuteld Tussenliggende servers kunnen alle communicatie zien Geen end2end security ‘Transitief’ web of trust Oplossing: Gebruik een PKI Beschouw infra als inherent onveilig en los de security op een andere laag op EAP
EAP-typen EAP-TLS EAP-TTLS en PEAP Server en client verificatie middels server respectievelijk eindgebruikerscertificaten EAP-TTLS en PEAP Server verificatie middels server certificaat Client verificatie over TLS-tunnel
Getunnelde authenticatie (TTLS/PEAP) Gebruikt TLS tunnel om data te protecten De TLS tunnel wordt opgezet m.b.v. het server certificaat, hierdoor is er server authenticatie en worden man-in-the-middle attacks voorkomen
Oplossing: leg een koppeling tussen IP-adres, MAC-adres, user en tijd 802.1X issue Probleem: koppeling tussen user en poort met 802.1X op laag 2 (MAC-adres) terwijl incidenten op basis van IP zijn Oplossing: leg een koppeling tussen IP-adres, MAC-adres, user en tijd
EduRoam-NG Fundamentele keuze: De RADIUS-infra ‘veiliger’ maken of Zorgen voor veilige end2end communicatie … beide Om zo nieuw gebruik mogelijk te maken, bijvoorbeeld federatief gebruik van A-Select
Conclusie De huidige EduRoam infrastructuur is, mits op de juiste manier gebruikt, veilig Voor toekomstige uitbreiding dienen er nog wel keuzen gemaakt te worden
Oproep Er is behoefte aan best-current-practises, ofwel, wie biedt?
Meer information SURFnet en 802.1X http://www.surfnet.nl/innovatie/wlan The unofficial IEEE802.11 security page http://www.drizzle.com/~aboba/IEEE/