Opzet van SURFconext
Instellingen hebben een koppeling gelegd met SURFconext. SURFconext is vervolgens weer gekoppeld aan allerlei dienstaanbieders. Zo kan er via SURFconext ingelogd worden bij die diensten met een account van de eigen instelling.
Als een gebruiker inlogt, stuurt de instelling attributen over deze persoon naar SURFconext, bijvoorbeeld naam, e-mailadres, geboortedatum of geslacht. Bij SURFconext worden de attributen vervolgens gefilterd, zodat de dienstaanbieder alleen die attributen ontvangt die hij nodig heeft. Voor sommige attributen is dit afhankelijk van de inhoud, voor andere alleen van welk attribuut het is.
Privacy
De verstuurde attributen bevatten persoonlijke gegevens van de gebruikers. Dit betekent dat privacy een rol gaat spelen. Om de gebruikers te beschermen willen we niet dat dienstaanbieders meer informatie krijgen dan nodig. Dit wordt al voor een groot deel bereikt door attributen te filteren. Maar het is ook niet goed als verschillende diensten het profiel dat ze van een gebruiker hebben kunnen koppelen. Als meerdere diensten allemaal een beetje informatie over een gebruiker hebben, en ze kunnen dit aan elkaar koppelen, hebben ze samen een heleboel informatie over de gebruiker.
Ook de metadata van het gebruik van SURFconext is privacygevoelig. Welke diensten iemand gebruikt kan al veel informatie over die persoon onthullen.
Al deze privacygevoelige informatie wordt verstuurd via SURFconext. Dit maakt SURFconext een grote privacyhotspot.
Pseudoniemen
We willen dus de informatie die gedeeld wordt met diensten beperken, maar tegelijkertijd wil die dienst het wel weten als dezelfde gebruiker terugkomt bij een dienst. Hiervoor worden pseudoniemen gebruikt. Een pseudoniem kun je beschouwen als een willekeurige, lange reeks tekens. Bij SURFconext wordt een tabel bijgehouden met de pseudoniemen van de gebruikers. Voor elke dienst krijgt de gebruiker een ander pseudoniem, zodat diensten de profielen van één gebruiker niet kunnen koppelen. Die tabel ziet er ongeveer zo uit:
Gebruiker | Dienst | Pseudoniem |
Hans@ru.nl | 99034717d9c98fe392c3311a99f3fc061b48ac143d | |
Hans@ru.nl | Elsevier | 6bc669057d23823b2b10e1cefe752e84e3a57bee3 |
Joost@uu.nl | Blackboard | 95f017e176be767b2966df2357123c5e9e0178d33 |
Joost@uu.nl | 5afb3592e5d8f9f9a088648d91c3a6ead2d7fc343b |
SURFconext krijgt van de instelling de gebruikersnaam door. In plaats van deze direct door te sturen naar de dienstaanbieder wordt het pseudoniem opgezocht in de database, en die wordt doorgestuurd.
Polymorfe pseudoniemen
Dit systeem kan verbeterd worden met polymorfe pseudoniemen. Deze zijn gebaseerd op een cryptografische bewerking, wat als gevolg heeft dat er geen database nodig is. Maar er zitten ook privacyvoordelen aan. Polymorfe pseudoniemen zien er namelijk voor SURFconext elke keer anders uit, waardoor niet meer te zien is welke gebruiker er gebruik maakt van een dienst. Onderstaande afbeeldingen vergelijken de huidige situatie met de situatie met polymorfe pseudoniemen.
De instelling genereert een polymorf pseudoniem voor de studenten en medewerkers van die instelling. Als iemand in wil loggen wordt zo’n polymorf pseudoniem naar SURFconext gestuurd. Daar wordt het polymorf pseudoniem gespecialiseerd voor een specifieke dienst. Het resultaat is een encrypted pseudoniem, dat alleen bruikbaar is bij die specifieke dienstaanbieder. De dienstaanbieder pakt vervolgens het encrypted pseudoniem uit, en krijgt zo het uiteindelijke pseudoniem van de gebruiker. Zowel polymorfe als encrypted pseudoniemen zien er van buiten elke keer anders uit, en toch is het uiteindelijke pseudoniem van een gebruiker bij een dienst wel elke keer hetzelfde. Dit zorgt ervoor dat SURFconext niet ziet wie er inlogt. Ook als iemand later opnieuw ergens inlogt, kan SURFconext niet achterhalen of dit dezelfde gebruiker is of niet.
Polymorfe attributen
De attributen die SURFconext van de instellingen binnenkrijgt zijn nog wel leesbaar. Sommige van deze attributen zijn minstens zo identificerend als de gebruikersnaam die we hadden vervangen door polymorfe pseudoniemen. Zonder daar iets aan te doen zijn we dus nog niets opgeschoten. Door ook attributen polymorf te maken kan dat. De instelling stuurt dan een polymorf attribuut naar SURFconext. SURFconext kan de inhoud hiervan niet lezen, maar kan dit attribuut wel omvormen tot een encrypted attribuut wat alleen door een specifieke dienstaanbieder gebruikt kan worden. De dienstaanbieder kan het encrypted attribuut uitpakken en ontvangt zo de juiste waarde van het attribuut. Het blijft mogelijk om te filteren welke attributen er doorgestuurd worden naar een dienst, maar de inhoud van het attribuut kan daarvoor niet meer gebruikt worden.
In Control
Met polymorfe pseudoniemen houdt de instelling zelf controle over de gegevens die ze van hun studenten en medewerkers hebben. Op hoe meer plaatsen deze gegevens zich bevinden, hoe groter de kans dat er ergens iets fout gaat waardoor de gegevens in verkeerde handen komen. In de huidige situatie wordt er behoorlijk wat vertrouwen in SURFconext gesteld. Het vertrouwen dat SURFconext geen kwade opzet heeft om gegevens te misbruiken is niet zo gek, maar er wordt ook op vertrouwd dat SURFconext niet gehackt wordt, en dat er geen fouten gemaakt worden met de persoonlijke gegevens van de gebruikers. Het blijft nodig erop te vertrouwen dat er bij SURFconext geen behoefte is om persoonlijke gegevens te misbruiken, maar met polymorfe pseudoniemen worden de overige risico’s sterk verkleind.
Pilot
We zijn nu aan het kijken wat het concreet betekent om polymorfe pseudoniemen te gaan gebruiken. Kennisnet heeft voor het basis- en voortgezet onderwijs de Entree-federatie, een systeem dat vergelijkbaar is met SURFconext. We zijn met hen in overleg om een pilot uit te voeren in die Entree-federatie. Maar we willen ook graag een pilot doen met SURFconext. Daarbij kunnen we uw hulp hard gebruiken, zodat we dit bij daadwerkelijke instellingen en diensten kunnen testen. Bent u geïnteresseerd in polymorfe pseudoniemen? Dan horen we graag van u! U kunt contact opnemen met hans.harmannij@surfnet.nl.
0 Praat mee