In een paar eerdere artikelen ging ik in op de problemen die we ervaren doordat het gebruik van wachtwoorden eigenlijk niet helemaal veilig is. Niet veilig moet ik misschien even toelichten: niet veilig betekent dat wachtwoorden de onhebbelijkheid bezitten dat ze kwijt raken, dat we ze vergeten of dat ze door anderen gevonden worden. Dat kan onhandig zijn en als je de zekerheid wilt hebben dat een account alleen door de rechtmatige eigenaar ervan wordt gebruikt dan is een wachtwoord niet voldoende. Logisch dat banken een extra hulpmiddel gebruiken in de vorm van een calculator…
Maar momenteel lijkt er wat te gebeuren om ons van die wachtwoorden af te helpen. Niet heel snel, al is ‘Fast’ misschien wel de toekomst.
Inloggen is het proces waarbij je aan een service provider bewijst dat je bent wie je zegt dat je bent. Daarvoor moet die service provider je wel al kennen en moet je met die service provider afspreken hoe je je in het vervolg kenbaar maakt. E-mailadres of gebruikersnaam en wachtwoord zijn traditioneel de gegevens die je met je provider afspreekt. Maar als je nou eens iets anders afspreekt, wat betekent dat dan?
Dat betekent in ieder geval dat de website waar je naartoe wilt met iets anders dan wachtwoorden om kan gaan. Gelukkig bestaan er nu oplossingen om dat mogelijk te maken. En een van de eerste initiatieven daarvoor komt zelfs uit Nederland: Tiqr. Dat systeem is ontwikkeld door ons eigen Surf en het bestaat uit een appje en een plugin voor op websites. De plugin is open source, dus je kunt het zo op een server zetten. Hoe dat werkt: De website waar je wilt inloggen toont een QR-code. Die scan je in met een appje, waarbij je een pincode moet invoeren om je identiteit te bewijzen.
Uitleg:
1. De gebruiker surft naar de website om in te loggen
2. De website toont een QR code
3. De gebruiker scant de QR code met behulp van de tiqr App, bevestigt in te willen loggen en voert zijn/haar PIN-code in
4. De identiteit van de gebruiker wordt met de respons op de challenge in de QR ocde versleuteld en via het internet naar de webserver verstuurd
5. De server verifieert het antwoord en staat toegang toe
6. De browser ververst de pagina en de gebruiker is ingelogd
Multi factor betekent dus dat je twee verschillende bewijsstukken moet overhandigen. De pincode, zoals TIQR die gebruikt, vervangt het wachtwoord. Maar de TIQR app op de smartphone moet wel zijn geregistreerd. Inmiddels spreekt bijna iedereen over 2FA, ofwel 2-Factor Authenticatie.
TIQR was bij mijn weten een van de eerste 2FA oplossingen voor smartphones. Het maakt onder water gebruik van het OCRA protocol (OATH Challenge-Response Algorithm) van het OATH initiatief (dus niet OAuth!).
Een goed voorbeeld doet goed volgen. Inmiddels zijn er heel veel meer apps die 2FA bieden. En die maken ook gebruik van een recenter 2FA protocol, namelijk TOTP, Time-based One-time Password Algorithm (een nieuwe protocol dan OCRA, de authenticatie is dus niet onbeperkt geldig.). Dit mechanisme heet ook wel Push-authenticatie. Zo gauw de app je heeft geauthenticeerd, wordt je identiteit naar de webserver gepushed.
Nou is een 2FA app niet zinvol, als er geen sites zijn die ermee uit de voeten kunnen. Gelukkig is gaan ook daar de ontwikkelingen snel. Er zijn al plugins waarmee je eenvoudig 2FA opties aan content management systemen kunt toevoegen. Hier een overzicht van wordpress plugins. Ik heb zelf al met de Clef plugin gespeeld en waarempel, dat gaat makkelijk:
Je installeert de plugin in je WordPress site en je installeert de app op je smartphone en daarna gaat het helemaal vanzelf.
De eerste keer moet je je app registreren bij je eigen account op je site en daarna hoef je nooit meer een wachtwoord te gebruiken.
Er zijn ook ontwikkelkits (SDK’s) waarmee je de functionaliteit in je eigen websites of apps kunt inbouwen.
Er is natuurlijk wel een catch… wat er met dat TOTP protocol gebeurt is dat zowel je website (waar de plugin is geïnstalleerd) als je smartphone worden geregistreerd bij de TOTP provider. Ergens moet namelijk vastliggen welke smartphone welke website benadert. En ja, dat is dus de TOTP provider. Interessant, want die weet dus wat je doet.
Maar er is nog meer: Een nieuw initiatief dat 2FA propageert is FIDO, Fast IDentity Online. Dit initiatief wordt inmiddels door een groot aantal vendors ondersteund. Het voordeel van zo’n standaard, is dat je niet meer voor elke site een aparte app of een apart apparaat hoeft te hebben. Je registeert de app op je smartphone en je registreert dat je met 2FA wilt inloggen bij de service provider en de volgende keer hoef je alleen te authenticeren met je vingerafdruk, een swipe, je gezichtsscan of wat je ook maar hebt laten registreren (nee, de serviceprovider krijgt die gegevens niet…). Het is inmiddels bijna zeker dat FIDO binnenkort de standaard zal zijn.