getgovroam: de rol van SAML en RADIUS
De getgovroam app maakt gebruik van twee technologieen: SAML voor single sign on (SSO) en WPA2-Enterprise in de vorm van EAP-TLS.
RADIUS versus SAML2
Ze verhouden zich als volgt tot elkaar:
Om op govroam Wi-Fi te kunnen inloggen is altijd ofwel een username/password van de organisatie nodig, of een certificaat van de organisatie, of het certificaat van de getgovroam-app. De Wi-Fi-login verloopt via WPA2-Enterprise, een samenspel van het 802.1x protocol en het Extensible Authentication Protocol (EAP). De login wordt door het Wi-Fi-accesspoint via het RADIUS-protocol getransporteerd naar de ‘Identity Provider’ die razendsnel het username/password checkt, of het certificaat. Daarom gebruikt RADIUS het onderliggende UDP-protocol, omdat dat sneller is dan het TCP-protocol.
De getgovroam-app maakt het makkelijk om een certificaat te verkrijgen, waarmee EAP-TLS kan worden gebruikt om in te loggen op Wi-Fi. Om zo’n certificaat te krijgen, moet de gebruiker bij ingebruikname eerst bewijzen dat deze tot een aangesloten organisatie behoort. Daarvoor wordt de gebruiker via onze govConext-bouwsteen omgeleid naar de inlogpagina van de eigen organisatie. Dat gebeurt via het SAML2-protocol, bedoeld voor Single Sign On. Als dat gelukt is, verkrijgt de gebruiker een ‘Wi-Fi-certificaat’.
Ingebruikname getgovroam-app (één keer per jaar)
De eindgebruiker hoeft de app slechts één keer per jaar in gebruik te nemen of te verversen (zie paragraaf 'Geldigheid getgovroam-certificaat). Hierbij speelt Single Sign On met SAML2 een rol:
Gebruiker start de app en zoekt de eigen organisatie in de ‘Where Are You From’ (WAYF) lijst:
Gebruiker wordt naar de inlogpagina van de eigen organisatie geleid om in te loggen met de inloggegevens van die organisatie op basis van het SAML2-protocol (in dit voorbeeld logt een medewerker van Stichting govroam in, maar elke medewerker kiest eerst de eigen organisatie in de vorige stap en komt uit bij de inlogpagina van de eigen organisatie). Na succesvolle login moet de eindgebruiker goedkeuring geven om getgovroam te mogen gebruiken):
Het getgovroam platform genereert een X.509-certificaat en levert dit aan de app
De app verpakt het certificaat in een Wi-Fi-profiel voor SSID ‘govroam’ en zet dit in de lijst met bekende Wi-Fi-netwerken van het operating system. Ingebruikname is gereed en als een govroam-netwerk in de buurt is zal het apparaat daarmee verbinden:
Inloggen op Wi-Fi (automatisch)
Wanneer het apparaat is geconfigureerd door middel van de getgovroam-app, gaat inloggen op govroam automatisch. Dat login-proces is het standaardproces waarop govroam is gebaseerd en gebruik de bekende protocollen die onderdeel zijn van de WPA2-Enterprise standaard: 802.1x, EAP en RADIUS:
Het apparaat (de client) ziet wanneer het SSID ‘govroam’ ergens bereikbaar is
Het apparaat associeert met het Access Point (AP)
Het Access Point biedt een EAPOL challenge, onderdeel van het Extensible Authentication Protocol (EAP) dat getransporteerd wordt via 802.1x. Via EAP kunnen verschillende soorten inlogmethodes worden uitgewisseld, zoals username/password (EAP-PEAP) of een gebruikerscertificaat (EAP-TLS) zoals getgovroam gebruikt.
Het apparaat levert de credential (in dit geval de public key van het certificaat) aan het Access Point via EAP binnen 802.1x
Het AP transporteert dit via EAP binnen RADIUS naar de geconfigureerde RADIUS server. Dat kan de RADIUS server van de organisatie zijn, of de landelijke govroam RADIUS servers. De RADIUS server routeert het verzoek verder aan de hand van het domein in de Common Name (CN) van het certificaat. Aangezien dit *.getgovroam.nl is, routeert de RADIUS server het door naar de nationale govroam RADIUS servers.
De nationale govroam RADIUS servers routeren het verzoek naar het getgovroam-platform
Het getgovroam platform verifieert de geldigheid van het certificaat en geeft een ‘Access-Accept’ (of ‘Reject’ terug).
De nationale RADIUS-servers routeren het antwoord terug naar de organisatie
De RADIUS server van de organisatie, of de AP’s zelf, staan het apparaat toe om verkeer in een default of in een specifiek VLAN te versturen en ontvangen
Noot: bij het inloggen op Wi-Fi wordt dus geen SAML2 gebruikt, omdat dit protocol niet geschikt is voor real-time netwerk toegangsauthenticatie.
Geldigheid getgovroam-certificaat
Het getgovroam-certificaat is een jaar geldig. De geldigheid kan verschillen per organisatie. Indien de organisatie een andere geldigheid wenst, kan een verzoek tot aanpassing ingediend worden via tech@govroam.nl door de Technisch Contactpersoon.
Binnen de geldigheid van het certificaat is het niet nodig om steeds via SSO in te loggen bij de eigen organisatie. Het inloggen op Wi-Fi gebeurt namelijk niet via SAML2 maar via WPA2-Enterprise op basis van het getgovroam certificaat.
Pas wanneer het certificaat verlopen is, is het nodig dat de gebruiker weer inlogt op de app (via SSO via govConext) en een nieuw certificaat krijgt. Twee weken voordat het certificaat verloopt krijgt de gebruiker hierover alvast meerdere herinneringen.
Indien de eindgebruiker bij het inloggen toch een pop-up krijgt met de vraag om inloggegevens in te vullen, dan heeft zich een lokaal netwerkprobleem voorgedaan waardoor het RADIUS-protocol (gedeeltelijk) niet heeft gewerkt, bijvoorbeeld als gevolg van UDP-fragmentatieproblemen.
GovConext is geen ‘app' op zichzelf. Het is een SSO-bouwsteen. Gebruikers van de getgovroam app, of andere applicaties, loggen zo met SAML in op de app(licatie).
Govconext is niet geschikt om als 'netwerk-login’ te dienen, daarom is RADIUS ook in het geval van getgovroam nog altijd relevant.
Samengevat:
govconext = SAML2,
Wi-Fi login (getgovroam) = RADIUS.
Twee verschillende protocollen voor verschillende doeleinden. GovConext vervangt dus niet govroam en getgovroam.