Veilig inloggen vanuit apps via SURFconext

Een aantal onderwijsinstellingen wil SURFconext inzetten om studenten veilig te laten inloggen op een native app. Daarom ontwikkelde SURFnet een SDK (software development kit) die het makkelijker maakt om de SURFconext-autorisatie en authenticatie in een app in te bouwen. De TU Delft heeft de primeur.

“Wij willen onze studenten via een app van informatie zoals roosters en cijfers voorzien, maar wel op een veilige manier,” zegt projectmanager Germaine Poot van de TU Delft. “Het is het standaard protocol van de universiteit om de toegang tot clouddiensten via SURFconext te laten verlopen.”

De universiteit gaf het bedrijf StuComm de opdracht om hun Studentenapp speciaal voor de TU Delft zodanig aan te passen dat het inloggen via SURFconext verloopt. De ontwikkelaars van StuComm konden daarvoor gebruikmaken van de SDK die SURFnet voor dit doel ontwikkelde. Een aandachtspunt voor het gebruik van SURFconext in een native app is het inlogscherm van de instelling. Dat moet geschikt zijn voor mobiel gebruik. Poot: “Met het oog op mobiel gebruik hebben wij ons inlogscherm twee jaar geleden al schaalbaar gemaakt. Voor ons was dat dus geen probleem. Het inloggen werkt prima.”

Inlogscherm TU Delft

Logische actie

De gebruiker van de MyTUdelft App (de Studentenapp van de TU Delft) wordt bij het opstarten van de app automatisch naar de browser van zijn smartphone of tablet geleid. Hij krijgt het inlogscherm van zijn instelling te zien en kan inloggen met zijn eigen studenten-ID. Na het inloggen stuurt de browser een acces token naar de app, die de student toegang geeft tot de inhoud van de app. Volgens Poot zijn de reacties positief. “Voor de studenten is het wat vreemd dat ze eerst naar een website worden gestuurd,” zegt ze, “Maar het is een logische actie voor ze, omdat ze het inlogscherm kennen.”

Gebruikerservaring

“Het was best een uitdaging om er met behulp van de SDK voor te zorgen dat de studenten van de TU Delft via SURFconext inloggen,” zegt Ronald Kouvelt, medeoprichter van StuComm.

Hij benadrukt de goede samenwerking tussen de TU Delft, SURFnet en StuComm. Desondanks is hij niet onverdeeld enthousiast over de SDK, omdat de gebruikerservaring wordt onderbroken. Dat geldt overigens alleen voor de eerste keer dat de gebruiker inlogt en na updates van de app.

Hoge veiligheidseisen

Ook SURFnet geeft de voorkeur aan een ononderbroken gebruikerservaring. Belangrijker vindt SURFnet echter dat gebruikers altijd kunnen controleren of ze hun wachtwoord echt invoeren bij hun instelling. Volgens Sebas Veeke, Young Talent bij SURFnet, zijn andere beschikbare manieren om SURFconext in te zetten in een app uitgebreid onderzocht, maar voldoen ze niet aan de veiligheidseisen die de TU Delft stelt.

“Soms stoppen ontwikkelaars een volledige browser in de app voor interactie met het web,” licht hij toe. “Deze embedded browser kan je input doorsturen naar de ontwikkelaars. Dat vinden we dus niet veilig.” Een andere mogelijkheid is om gebruik te maken van webview in de app. In beide gevallen is het voor de gebruiker niet mogelijk om het veiligheidscertificaat en de adresbalk van de webpagina te checken. Beide oplossingen vielen daarom af. Meer over de afweging lees je in deze blogpost.

In augustus 2016 verklaarde CERT/CC inloggen vanuit iOS op Google onveilig. Het Amerikaanse centrum voor software- en internetveiligheid droeg hiervoor dezelfde redenen aan als SURFnet voor een veilige manier van inloggen. RFC “OAuth 2.0 for Native Apps” is gebaseerd op dezelfde principes die SURFnet heeft gehanteerd bij het maken van de SDK.

Stucomm logo

Instellingen aan zet

De meeste instellingen eisen al van clouddiensten dat ze werken met SURFconext. Wie over de kennis en vaardigheden beschikt, kan natuurlijk ook alvast zelf aan de slag. Veeke: “We hebben de SDK zo laagdrempelig mogelijk gemaakt. Alles is open source.”

Meer gegevens en resources veilig en makkelijk delen

Naast de SDK ontwikkelt SURFnet andere manieren om veilig en makkelijker gegevens en middelen te kunnen delen. Zo bestaan er diverse initiatieven om SURFconext te gebruiken voor situaties waarin niet met een webbrowser kan worden gewerkt. Ook werkt SURFnet, in samenwerking met een aantal onderwijsinstellingen, aan een standaard API voor het ontsluiten van onderwijsdata door de onderwijsinstelling. Deze Open Onderwijs API maakt het gemakkelijker om diensten te ontwikkelen op basis van gegevens die binnen de instelling beschikbaar zijn, zoals cijfer- of roosterinformatie. Voor meer informatie over de Open Onderwijs API zie: https://openonderwijsapi.nl.

Meer informatie

Heeft u vragen of opmerkingen? Mail dan naar support@surfconext.nl.

Auteur

Reacties

Dit artikel heeft 1 reactie

Reactie van N. Witteman

Deze SDK is inmiddels bijna 7 jaar oud. Is hij nog bruikbaar in de huidige vorm, of zijn er intussen alternatieven voor?