Stel, u woont in een appartementencomplex. Ieder appartement heeft natuurlijk een eigen voordeur. Maar het vreemde is: u heeft niet zelf de sleutel van die voordeur! Die is namelijk in het bezit van de conciërge, die beneden naast de hoofdingang zetelt. Hij houdt het complex in de gaten, wijst mensen de weg, neemt pakketjes aan en heeft de voordeursleutels van alle bewoners aan zijn bos hangen. En iedere keer als u uw appartement in wilt, loopt hij met u mee om uw voordeur open te doen.

Ik denk niet dat u graag in dit appartementencomplex zou willen wonen. Ik niet in ieder geval. Ik zou veel te bang zijn dat de conciërge stiekem mijn appartement in zou sluipen, of andere mensen binnen zou laten.

Misschien vinden we dit appartementencomplex vreemd, in de virtuele wereld vinden we deze situatie, waarin anderen bepalen of we ergens binnen komen, de normaalste zaak van de wereld!

Velen van u loggen in bij Spotify met hun Facebook-account. Of bij Airbnb met hun Google-account. Deze vorm van inloggen met één account bij verschillende, ongerelateerde, diensten heet federated identity management. Het werkt als volgt: de dienst waar je toegang toe wilt hebben, stuurt je door naar een centrale identity provider (Google of Facebook in de twee voorbeelden). Daar log je in met je (enige) username en wachtwoord. Als die kloppen, stuurt de identity provider een bericht terug naar de dienst, met de opdracht om je toegang te geven. Net als de conciërge die met je meeloopt om je voordeur open te doen.

Dit is handig, omdat je maar één username en wachtwoord hoeft te onthouden om toegang te krijgen tot al je accounts, alle diensten die je gebruikt en de websites die je bezoekt. En voor veel diensten en websites is dat ook eigenlijk geen probleem. Bijvoorbeeld als het gaat om toegang tot diensten waar je lid van bent. Denk aan een abonnement op een digitale krant, of toegang tot je digitale muziekcollectie, zoals Spotify.

Precies díe diensten dus waarvoor je ook geen sterk wachtwoord (een ongewoon woord dat hoofdletters, kleine letters en cijfers bevat) hoeft te gebruiken. Diensten waarvan je de toegang soms ook deelt met anderen, omdat je er niet slechter van wordt als anderen ook gebruik maken van jouw lidmaatschap. (Die dienst zelf wel, natuurlijk, want die loopt zo inkomsten mis. En als anderen meekijken bij Spotify of Netflix, weten ze wel wat je muziek- of filmsmaak is. Dat is een privacyrisico dat voor sommige diensten nog best wel groot kan zijn).

Anders wordt het als de account toegang geeft tot iets wat exclusief eigendom van jou is. Een account waar je wel een sterk wachtwoord voor kiest, en die je niet deelt met anderen, omdat toegang door anderen je schade kan berokkenen. Zou u bijvoorbeeld met uw Facebook-account in willen kunnen loggen bij uw bankrekening? Of daarmee uw belastingaangifte willen doen? Of zou u misschien toch een beetje bang zijn dat iemand bij Facebook daar ongemerkt misbruik van zou maken?

Vreemd genoeg is federated identity management razend populair. Er zijn verschillende standaarden voor (SAML, OpenID) en meerdere aanbieders van, zoals Google en Facebook dus. De Nederlandse overheid wil dit ook gaan gebruiken en is druk bezig met het ontwikkelen van Idensys, als vervanger van DigiD. DigiD is in zekere zin ook federatief, maar geeft alleen toegang tot overheidsdiensten. En DigiD zelf staat ook onder beheer van de overheid. Idensys gaat nog verder: je kunt er straks ook mee inloggen op bol.com. En in Idensys kan een willekeurige commerciële aanbieder identity provider worden, en zo dus in theorie toegang krijgen tot al jouw gegevens. (Bedenk dat DigiD toegang geeft tot je vooringevulde belastingformulier).

Dit kan, nee: dit moet anders!

De kern van het probleem is dat de gebruiker zelf geen essentieel onderdeel meer is van de stap die toegang verleent. Voerde hij vroeger zelf een username en wachtwoord in bij de dienst, nu vertrouwt de dienst blind op datgene wat de identity provider hem vertelt. Om dit securityprobleem op te lossen moet de gebruiker weer in de loop geplaatst worden. Dat kan op een aantal manieren. Bijvoorbeeld door een sterke vorm van authenticatie te gebruiken die rechtstreeks plaats vindt tussen de gebruiker en de dienstverlener. Op basis van een smart card, een secure USB-token, of cryptografische sleutels op de smartphone van de gebruiker.

Bovendien lost dit ook nog een ander belangrijk probleem op. Namelijk dat deze identity provider, als een soort van ‘authenticatie-pooier’, precies weet bij welke websites ik allemaal inlog. Simpelweg omdat ik hem altijd nodig heb om mij toegang te geven…

Deze column verscheen op 6 februari 2016 in het FD.