GDPR-proof identity management voor websites en apps

09/05/2019

ALTEN BasALTEN PieterWe zien bij meer en meer klanten de behoefte om gebruikers van corporate websites en apps te identificeren. Tegenover deze behoefte staat echter de wet- en regelgeving rondom privacy van persoonsgegevens: De AVG (GDPR).

Onlangs hebben wij een aantal services ontwikkeld waarmee het mogelijk is de gebruikers van apps en websites te identificeren en ondertussen volledig te voldoen aan de AVG-wetgeving. Hierbij is extra aandacht besteed aan het minimaliseren van de beheerlast van de oplossing. Zonder in de absolute details te treden geven we hier graag een globaal overzicht van de oplossing.

De eerste stap bestaat uit het laten registeren van gebruikers. Elke gebruiker maakt een account aan of maakt zich bekend met een identiteit van een door de organisatie vertrouwde identiteits-leverancier zoals bijvoorbeeld email, Facebook, Google+. Voor het registreren van de gebruikers wordt gebruik gemaakt van Azure Active Directory B2C. Azure Active Directory B2C is ontwikkeld op basis van Azure Active Directory, het uiterst veilige cloud-identiteitsplatform dat miljarden verificaties per dag afhandelt, en biedt dezelfde schaal, betrouwbaarheid en beschikbaarheid.

Bij het registreren van een gebruiker bestaat de mogelijkheid om extra attributen van de gebruiker op te slaan. Denk hierbij aan naam of adresgegevens, maar ook aan consent-registratie voor het opslaan en gebruik van de persoonlijke data. Na het registreren kan de gebruiker zich bekend maken met de aangemaakte identiteit.

Deze oplossing ziet er dus globaal zo uit:

Zonder additionele maatregelen te treffen, kleeft een 2-tal nadelen aan deze oplossing:

  1. Elke keer dat het login-profiel aangepast moet worden, zal de bijbehorende website of app aangepast moeten worden.
  2. Alle aanvullende data van de gebruiker wordt opgeslagen in de Azure Active Directory B2C, waardoor deze informatie niet apart te autoriseren is.

Wij hebben deze problemen opgelost door gebruik te maken van een extra set aan Security Services voor Customer Identity Management. Websites en apps worden slechts eenmalig geconfigureerd om deze additionele services te gebruiken.

ALTEN Security Services
Zie hieronder schematisch de opzet van de ALTEN Security Services die een oplossing bieden voor de eerdergenoemde nadelen.

Oplossing 1: Dynamische security profielen
Door het login profiel niet in de app op te slaan, maar in metadata welke via een API beschikbaar gesteld wordt, is het mogelijk het login-profiel aan te passen, zonder dat daarvoor de app of website aangepast dient te worden. Daarmee kunnen nieuwe security-instellingen direct en dynamisch worden doorgevoerd. Deze zijn daarmee dan ook direct van kracht voor alle gebruikers van de app, zelfs zonder dat zij een update van de app uitvoeren. Hiermee wordt het inspelen op nieuwe security-instellingen veel eenvoudiger en levert het minder beheeroverlast van verschillende versies van de app op. De toegepaste metadata met bijbehorende versies van de API’s ondersteunen backward compatibilty van de apps.

Oplossing 2: Additionele gebruikerskenmerken
Het aantal aanvullende attributen dat geregistreerd kan worden binnen een Active Directory is beperkt. Wanneer veel gebruikerskenmerken relevant zijn, kan dit tot problemen leiden. Door de kenmerken op te slaan in een separate database vervalt deze beperking. Ook het opslaan van kenmerken zoals foto’s, audio of video, zijn mogelijk door gebruik te maken van een separate database. Daarnaast geldt dat bij het opvragen van details van een gebruiker standaard alle aanvullende informatie uit de Active Directory beschikbaar is. Door deze data op te slaan in een aparte database is hier een separaat securitymodel op af te dwingen, zodat alleen die personen die rechten hebben op specifieke attributen van gebruikers, deze kunnen inzien. Hierdoor is het ook mogelijk om attributen geanonimiseerd beschikbaar te stellen.

Samengevat: door de aanvullende informatie van een gebruiker niet op te slaan in de Azure Active Directory B2C, maar in een separate database, ontstaan vele mogelijkheden die voorheen niet beschikbaar waren.

Additionele features
Naast de hiervoor genoemde onderdelen van de ALTEN Security Service zijn er nog een aantal belangrijke features die wij geïmplementeerd hebben als must-have voor een praktisch toepasbare oplossing:

  • Extra monitoring op de inlogpogingen, zowel succesvol als niet-succesvol.
  • Extra monitoring, dashboards (PowerBI) op het gebruik van alle API’s t.b.v. analyses (concurrent users, beschikbaarheid, performance, status).
  • Het verwijderen van een identiteit kan vanuit de website of app worden geïnitieerd. Daarmee is er een geautomatiseerd standaard AVG/GDPR-proces wanneer een gebruiker vergeten wil worden. Aanvullend is het nu ook mogelijk om gegevens van deze gebruiker in andere systemen automatisch te verwijderen.
  • Binnen de app zijn de securityinstellingen alleen beschikbaar tijdens het inlog-proces. Daarmee is bij reverse engeneering/hacking van de app geen directe security dreiging meer. De securityinstellingen worden ook op juistheid en tijdigheid gecontroleerd door additionele API’s. Dit om absoluut te garanderen dat de app of website het rechtmatige systeem is wat met de ALTEN Security Services communiceert.
  • De identiteit van de gebruiker is voor verschillende kanalen (verschillende apps en websites) gelijk. De aanvullende attributen kunnen per kanaal worden gesplitst voor extra security.

Natuurlijk gelden alle genoemde voordelen ook wanneer de gebruiker inlogt op de applicatie of website.

Deze oplossing hebben we naar volle tevredenheid bij een aantal klanten van ALTEN geïmplementeerd. Wellicht is de volgende implementatie voor uw app of website?

Pieter Heijmans en Bas Pruijn
Architecten

Share