IRMA: privacy en authenticatie gaan prima samen!

Wat is IRMA?

Sinds begin 2012 werkt SURFnet samen met de Radboud Universiteit, TNO en SIDN in een project dat luistert naar de naam ‘IRMA’. In deze blogpost willen we wat meer vertellen over dit project en de onderliggende technologie.

Dus wat is nu IRMA? Om die vraag te beantwoorden is het goed om te weten dat IRMA een afkorting is en staat voor “I Reveal My Attributes”. En de naam verraadt al heel veel over de doelen van het IRMA project:

  • het maken van een op attributen gebaseerd authenticatiesysteem;
  • de gebruiker volledige controle geven over het vrijgeven van hun attributen;
  • de technologie volledig ontwerpen volgens het privacy-by-design principe.

In de rest van deze blogposting gaan we verder in op hoe IRMA deze doelen probeert te bereiken; voor diegenen die geïnteresseerd zijn in diepere technische details verwijzen we alvast naar de IRMA website waar veel meer informatie zoals wetenschappelijke artikelen en broncode terug te vinden zijn.

Identity Management op basis van attributen

Dat klinkt bekend?

Wie bekend is met de werking van SURFconext en wellicht de eerdere blogposting van Joost van Dijk over de werking van SAML gelezen heeft weet dat in identity federations zoals SURFconext (en voorheen de SURFfederatie) op uitgebreide schaal gebruik gemaakt wordt van attributen. In een federatie spelen bij iedere authenticatie altijd twee partijen een rol: een Identity Provider (IdP) en een Service Provider (SP) (in andere contexten ook wel Relying Party genoemd). Als een gebruiker wil inloggen bij een SP om bijvoorbeeld gebruik te maken van een online dienst wordt de gebruiker via de federatie naar zijn eigen IdP geleid. Daar logt de gebruiker in. Vervolgens geeft de IdP een set attributen over de gebruiker vrij (bijvoorbeeld gebruikersnaam, e-mail adres, etc.). Deze attributen worden doorgestuurd naar de SP die op basis van de attributen kan besluiten of de gebruiker toegang mag krijgen tot de dienst.

Nadelen

Attributen worden dus al op grote schaal gebruikt voor identity management, bijvoorbeeld in SURFconext. Er kleven echter nadelen aan dit gebruik. Zo heeft in veel gevallen de gebruiker weinig controle over het vrijgeven van attributen die over hem of haar gaan. Hoewel we in SURFconext consent ondersteunen (dat wil zeggen dat de gebruiker de keuze krijgt of hij/zij zijn attributen wil vrijgeven aan de SP) is dit een vrij beperkte privacymaatregel. Als de gebruiker ervoor kiest om zijn attributen niet vrij te geven krijgt de gebruiker geen toegang tot de dienst. Bovendien krijgt de IdP van de gebruiker inzicht in welke diensten de gebruiker bezoekt en kan een SP makkelijk herleiden dat hij met dezelfde gebruiker te maken heeft, iets wat lang niet altijd noodzakelijk is om een dienst te kunnen verlenen.

Het kan ook anders

Dat het ook anders kan proberen we aan te tonen met het IRMA project. Ook in het IRMA project maken we gebruik van attributen. Maar door slim gebruik te maken van nieuwe technieken (waarover later meer) kunnen we de privacy van de gebruiker veel beter waarborgen. Allereerst onderscheiden we bij IRMA twee soort attributen, namelijk niet identificerende attributen zoals bijvoorbeeld:

  • Is boven de 16, 18, 21, etc.
  • Is Nederlands staatsburger
  • Is fan van Frans Bauer

En identificerende attributen (die makkelijk herleidbaar zijn tot een persoon), zoals bijvoorbeeld:

  • Volledige naam
  • BSN
  • e-mail adres
  • Paspoortnummer

Door het hierboven beschreven onderscheid te maken zorgen we er al voor dat het mogelijk wordt om in veel situaties niet expliciet de identiteit van de gebruiker te hoeven vrijgeven. Als iemand bijvoorbeeld bij een slijter een fles whisky wil kopen is het voldoende om te weten dat hij of zij boven de 18 is. Met het maken van dit onderscheid zijn we er echter nog niet. Want we willen nog een aantal doelen bereiken:

  • Issuer unlinkabity – dat betekent dat de uitgever van een attribuut (in de context van een federatie is dat de IdP) niet kan zien of herleiden waar een gebruiker een bepaald attribuut gebruikt.
  • Multi-show unlinkability – dat betekent dat als een gebruiker hetzelfde attribuut meerdere malen gebruikt bij één of meerdere dienstverleners niet te herleiden is dat het om dezelfde gebruiker gaat (dit voorkomt “tracking” ofwel het opstellen van een gedragsprofiel).
  • User control – de gebruiker heeft absolute zeggenschap over het al-dan-niet vrijgeven van zijn of haar attributen.
  • Authenticiteit, integriteit & niet-overdraagbaarheid – dienstverleners moeten er op kunnen vertrouwen dat attributen authentiek zijn, niet veranderd kunnen worden en niet door gebruikers kunnen worden overgedragen aan derden

Techniek

Basistechnieken

De basistechnieken die worden gebruikt in het IRMA project zijn gebaseerd op een techniek die ontwikkeld is door IBM Research. Deze techniek, Idemix (Identity Mixer) geheten maakt gebruik van een aantal state-of-the-art cryptografische technieken zoals zero-knowledge proofs en blind signatures om bovengenoemde doelstellingen wat betreft privacy en betrouwbaarheid te bereiken.

De belangrijkste bouwsteen voor IRMA is de zogenaamde credential. Een credential ziet er schematisch als volgt uit:

Zoals de figuur laat zien bestaat een credential uit drie onderdelen:

  • een secret key (geheime sleutel) die er voor zorgt dat credentials niet overdraagbaar zijn (en die goed verborgen moet blijven);
  • de attributen die samen de credential vormen;
  • een digitale handtekening van een issuer (ofwel uitgever, in de context van een federatie zou dat een IdP zijn) die de echtheid van een credential garandeert.

Credentials worden uitgegeven door een vertrouwde derde partij. Zo zou de overheid bijvoorbeeld credentials kunnen uitgeven op basis van de gemeentelijke basisadministratie en zou een universiteit bijvoorbeeld credentials kunnen uitgeven op basis van de studentenadministratie.

Voorbeelden van credentials zijn:

  • Een adrescredential met attributen voor “land”, “stad”, “straat + huisnummer” en “postcode”.
  • Een leeftijdsverificatiecredential met attributen voor “ouder dan 16”, “ouder dan 18”, “ouder dan 21” en “jonger dan 30”.

De technieken gebruikt in het IRMA project maken het mogelijk om van een credential een willekeurig gekozen deel van de attributen vrij te geven (dat noemen we selectieve vrijgave). Ook kunnen in één keer attributen uit verschillende credentials gecombineerd worden vrijgegeven. Dat kan bijvoorbeeld gebruikt worden om een privacyvriendelijke “wietpas” te maken waarbij uit de adrescredential uit het voorbeeld hierboven alleen “land” wordt vrijgegeven (dat moet dan “Nederland” zijn) en uit de leeftijdscredential alleen “ouder dan 18” wordt vrijgegeven.

Smartcard implementatie

Onderzoekers van de Radboud Universiteit in Nijmegen hebben de techniek van IBM Research geïmplementeerd op smart cards met een NFC interface. Het mooie hieraan is dat attributen op een veilige drager kunnen worden opgeslagen waar ze nooit meer vanaf gekopieerd kunnen worden. Bovendien kan de kaart gebruikt worden in zowel online scenario’s (bijvoorbeeld voor toegang tot webdiensten) als offline scenario’s (bijvoorbeeld in een winkel of restaurant).

Proefproject

Doelstelling

De belangrijkste doelstelling van het project op dit moment is om te laten zien dat deze privacy-vriendelijke technieken in praktijk kunnen worden ingezet. Om dat te doen zijn de Radboud Universiteit, SURFnet, TNO en SIDN een proefproject gestart. In de proef krijgt een groep gebruikers (studenten en medewerkers van de Kerckhoffs’ Security Master) een smartcard uitgereikt die ze voor een aantal toepassingen – zowel online als offline – kunnen gebruiken. De smartcard is alleen bedrukt met een foto van de gebruiker maar bevat verder geen persoonsgegevens. Een voorbeeld van hoe zo’n kaart er uit ziet is hieronder weergegeven.

Tijdens de proef zal vervolgens worden onderzocht hoe gebruikers de techniek ervaren en wordt tevens gekeken naar hoe de techniek in praktijk functioneert.

Toepassingen

Gebruikers kunnen de smartcard voor een aantal toepassingen gebruiken. Voorbeelden van online toepassingen zijn:

  • Toegang tot studentenportals, bijvoorbeeld voor het beoordelen van college’s.
  • Korting in online webshops (bijvoorbeeld SURFspot).

Voorbeelden van offline toepassingen zijn:

  • Korting op koffie op een aantal onderwijslocaties.
  • Gratis printen in een printkiosk op de Radboud Universiteit (normaalgesproken betalen studenten voor printjes).

Interesse van buiten

Gedurende het project hebben we al een aantal bijeenkomsten georganiseerd (en zullen er nog een aantal bijeenkomsten volgen) waar belangstellenden meer te weten kunnen komen over de voortgang van het project. Deze bijeenkomsten worden over het algemeen erg goed bezocht. We zien dat er een brede interesse is in het project, zowel vanuit het bedrijfsleven als vanuit de overheid. Privacy leeft duidelijk in Nederland en het is goed om te zien dat we hier met dit soort innovatie een rol in kunnen spelen.

Ter afsluiting

Het IRMA project zal zeker nog enige tijd doorlopen en we hopen mooie resultaten te bereiken. Zodra de uitkomsten van het proefproject bekend zijn zullen we hierover uiteraard publiceren. Daarnaast presenteren we op een aantal internationale fora over dit project (zo worden er bijvoorbeeld presentaties gegeven op de Internet2 Member Meeting in de VS en op de TERENA Networking Conference in Maastricht) en verschijnen er met enige regelmaat wetenschappelijke publicaties over dit project (een aantal daarvan zijn terug te vinden op de projectwebsite).

Meer informatie

Voor meer informatie kunt u uiteraard terecht op de projectwebsite; ook heeft prof. dr. Bart Jacobs van de Radboud Universiteit in een recente uitzending van het VARA televisieprogramma Kassa een interview gegeven waarin ook het IRMA project ter sprake is gekomen (meer daarover is hier te vinden).

Interesse?

Hebt u na het lezen van dit artikel nog vragen of opmerkingen, of hebt u een interessante toepassing voor de technologie van het IRMA project? Neem dan contact op met Arnout Terpstra.

Auteur

Reacties

Dit artikel heeft 0 reacties

Gerelateerde artikelen