Een concept voor sterke mobiele authenticatie

Inleiding

In een vorige blogpost werd nagegaan in hoeverre de huidige authenticatiemiddelen die aangeboden worden binnen CSAM mobiel bruikbaar zijn. In hoeverre laten ze toe om toegang te krijgen tot toepassingen vanop smartphones en tablets? De conclusie luidde dat er nieuwe oplossingen nodig zijn om tegemoet te komen aan de hoge verwachtingen omtrent gebruiksgemak in een mobiele context én tegelijkertijd een voldoende hoog veiligheidsniveau te garanderen.

Hieronder stellen we een concept voor dat een antwoord biedt op de hierboven gestelde vereisten. Het is gebaseerd op het gebruik van een specifiek, vooraf geregistreerd toestel als één van de authenticatiefactoren.

In maart werd een infosessie georganiseerd over de problematiek van sterke mobiele authenticatie. De slides hiervan zijn online beschikbaar.

Uitgangspunten

Vooraleer we het concept zelf bespreken, geven we een overzicht van de uitgangspunten, vereisten waaraan een nieuw, op mobile gericht authenticatiemiddel idealiter voldoet:

  • Een hoog veiligheidsniveau zodat vertrouwelijke gegevens kunnen benaderd worden.
  • Eenvoudig in gebruik. Er moet geen gebruik gemaakt worden van externe hardware zoals kaartlezers en tokens. We hoeven liefst ook geen éénmalig wachtwoord (OTP – One Time Password) over te typen.
  • Multi-platform. Maximale ondersteuning voor de verschillende mobiele platformen (Android, iOS, Windows Phone).
  • Compatibel met zowel native apps als webapps. Alhoewel de overgrote meerderheid van de toepassingen vandaag webgebaseerd zijn, mag men in de toekomst een sterke toename verwachten van platform-specifieke (native) apps.
  • Beschikbaar via CSAM. CSAM biedt verschillende authenticatiemiddelen aan. De regel is dat een nieuw authenticatiemiddel moet aangevraagd worden op basis van de eID. Dit is de zogeheten eID bootstrap procedure, noodzakelijk om voldoende zekerheid te hebben over de identiteit van een persoon.

Concept

Het concept is gebaseerd op de koppeling van een specifiek toestel aan de identiteit van een gebruiker. Die koppeling wordt tot stand gebracht bij het doorlopen van een éénmalige registratieprocedure. Daarbij gaat de gebruiker als volgt te werk:

  1. De gebruiker meldt zich met connected eID aan bij Mijn eGov Profiel, dit is de centrale toepassing waar een gebruiker zijn profiel, inclusief zijn aanmeldmogelijkheden, kan beheren.
  2. In een tweede stap wordt de gebruiker gevraagd om de mobiele authenticator app te installeren op zijn mobiel toestel via de officiële app stores.
  3. Na het installeren van de authenticator app wordt de gebruiker gevraagd een activatiecode in te geven in de app. De activatiecode zal toelaten om de link te leggen tussen het toestel van de gebruiker en zijn online eGov-profiel. De activatiecode wordt getoond in Mijn eGov Profiel (in de sessie waar de gebruiker aangemeld is met eID). Het ingeven van de activatiecode in de app kan door deze manueel over te typen of door het scannen van een QR-code.
  4. De laatste actie die van de gebruiker gevraagd wordt is het kiezen van een wachtwoord in de authenticator app. Dit is het wachtwoord dat gebruikt zal worden als kennisfactor bij het aanmelden in een toepassing.
  5. De laatste stap is onzichtbaar voor de gebruiker. Daarbij wordt een sleutelpaar (publieke en private sleutel) gegenereerd op het toestel. Er wordt aan de Certificate Authority (CA) een vraag gestuurd om het certificaat te tekenen (CSR – Certificate Signing Request). Met deze vraag wordt ook de activatiecode meegestuurd zodat de link kan gelegd worden tussen het toestel en de identiteit van de gebruiker. De CA stuurt het getekende certificaat terug naar het toestel, waar het wordt opgeslagen. Hiermee is het registratieproces voltooid.
Registratieproces

Registratieproces

Na de registratie van een toestel kan het aanmelden zelf heel eenvoudig verlopen. Als men in een toepassing de login-knop selecteert, wordt de gebruiker doorgestuurd naar de authenticator app. Het volstaat om daar het paswoord in te geven om de authenticatie uit te voeren. Bij een succesvolle authenticatie wordt de gebruiker automatisch teruggestuurd naar de toepassing. Onderstaande screenshots illustreren het aanmelden vanuit een (dummy) app voor het raadplegen van de orgaandonorendatabank (Orgadon).

prototype_07     prototype_08     prototype_09

Beveiliging van de sleutelinformatie

Eén van de kernelementen in het concept is het gebruik van een sleutelpaar (publieke en private sleutel) dat gegenereerd wordt op het mobiel toestel. Uiteraard is het belangrijk om de private sleutel zo goed mogelijk te beschermen. Standaard bieden de mobiele besturingssystemen software-gebaseerde mechanismes aan om sleutelinformatie op te slaan. Software-gebaseerde oplossingen zijn echter vatbaar voor malware-aanvallen. Daarom is het interessant om te onderzoeken of we de sleutelinformatie ook kunnen beschermen in hardware. Hier zijn een aantal mogelijkheden:

  • Een Trusted Execution Environment (TEE) is een afzonderlijke secure zone op de processor van een toestel, naast de normal zone waarin het standaard OS en apps draaien. In die beveiligde zone kunnen cryptografische bewerkingen uitgevoerd worden   Een TEE biedt weerstand tegen software-gebaseerde aanvallen (malware).
  • We kunnen nog een stap verder gaan en gebruik maken van een  zogeheten Secure Element (SE). Voorbeelden van Secure Elements zijn SIM-kaarten, Trusted Platform Modules (TPM) en Secure SD-kaarten. Ze bieden tamper resistance, weerstand tegen aanvallen waarbij men het toestel fysiek in handen heeft.
Trusted Execution Environment (TEE)

Trusted Execution Environment (TEE)

In het prototype werd gebruik gemaakt van de TEE van Trustonic, een samenwerkingsverband tussen ARM, Gemalto en Giesecke & Devrient. De TEE werd gebruikt voor het veilig genereren van een sleutelpaar en het veilig opslaan van de private sleutel op het mobiel toestel.

Het lijkt evident om dergelijke hardware-gebaseerde systemen te gebruiken om gevoelige informatie te beschermen. Vandaag zijn die systemen echter niet beschikbaar in alle mobiele toestellen. De TEE van Trustonic is bijvoorbeeld enkel beschikbaar in een aantal Android toestellen. Alhoewel grote spelers zoals Samsung dit standaard inbouwen in al hun toestellen dekt dit niet de volledige markt. Die technologie is dan ook nog niet op grote schaal bruikbaar (bijvoorbeeld bij toepassingen gericht op burgers), maar is eerder gericht op gebruik binnen organisaties waar men kan standaardiseren op bepaalde mobiele toestellen.

Conclusie

Bij het gepresenteerde concept is het heel eenvoudig om te authenticeren, er moet enkel een paswoord ingegeven worden op een vooraf geregistreerd toestel. Die registratie via de eID-bootstrap procedure is noodzakelijk om een specifiek toestel te koppelen aan de identiteit van de gebruiker. Functioneel is het concept gelijkaardig aan het gebruik van de eID: een bezitsfactor (eID/toestel) in combinatie met een kennisfactor (pincode/paswoord). Op vlak van veiligheid zit het concept echter niet op hetzelfde niveau als de eID, onder andere omwille van het feit dat de sleutelinformatie minder goed beveiligd is. Helaas beschikt niet elk toestel over de nodige hardware features om sleutelinformatie degelijk te beveiligen.

This entry was posted in E-gov, Mobile, Security by Bert Vanhalst. Bookmark the permalink.
avatar

About Bert Vanhalst

Bert is sinds 2001 research consultant bij Onderzoek Smals. Na het introduceren van Service Oriented Architecture en web services, verlegde hij de focus op mobile development en security. Tegenwoordig spitst hij zich toe op conversationele interfaces.

Leave a Reply

Your email address will not be published. Required fields are marked *