Nooit meer inloggen met een wachtwoord? Dat is misschien dichterbij dan je denkt. Nu de W3C het startschot heeft gegeven voor de ontwikkeling van WebAuthn, is een veiligere manier van inloggen binnen handbereik. Ik vroeg onze security engineer Eddie wat deze nieuwe manier van inloggen precies inhoudt en wat de gevolgen kunnen zijn.
Bekijk ook onze Security Audit dienst
W3C
Sinds 2016 is een groep van security-professionals bezig met het ontwikkelen van een nieuwe authenticatiemethode. Een methode waarbij de identiteit van een user niet meer gevalideerd hoeft te worden met een wachtwoord. Deze nieuwe standaard wordt ook wel Web Authentication genoemd, WebAuthn in het kort.
Onlangs werd bekend dat het W3C – een van de grootste organisaties die zich bezighoudt met nieuwe internetstandaarden – de nieuwe authenticatie het startschot heeft gegeven voor implementatie.
Dat betekent dat de methodiek binnenkort in alle populaire browsers beschikbaar wordt. Het doel? Traditionele wachtwoorden vervangen en het mogelijk maken op andere manieren in te loggen. Denk aan authenticatie met biometrische gegevens (zoals een vingerafdruk) of een externe authenticator, bijvoorbeeld van Yubico.
Eddie, waarom is WebAuthn zo interessant?
Op dit moment moet je voor elke website of applicatie een wachtwoord onthouden. Dit is niet per se veilig. Mensen zijn van nature slecht in het onthouden van wachtwoorden. Ze gebruiken vaak eenvoudige wachtwoorden of overal dezelfde.
Andere mensen gebruiken een wachtwoordmanager om wachtwoorden op te slaan. Dit is al veel veiliger, maar met WebAuthn heb je straks zelfs geen wachtwoordmanager meer nodig, omdat wachtwoorden met deze methode overbodig worden.
Hoe werkt WebAuthn?
WebAuthn werkt volgens de Public Key Pair principe; een cryptografische ontsleutelmethode. Binnen deze methodiek heb je een public key en een private key – lange hashes die uniek voor jou gegenereerd zijn.
De public key is – zoals de naam ook zegt – inzichtelijk voor iedereen en naar jou herleidbaar. Je kunt dit vergelijken met bijvoorbeeld een Bitcoin-adres.
De private key is echt alleen voor jou. Deze wordt vaak opgeslagen op een afzonderlijk device. Dit kan een smartphone zijn, maar ook hardware zoals een YubiKey.
Zowel de public als private key zijn nodig om in te kunnen loggen. De public key wordt vergeleken met de private key om authenticatie plaats te laten vinden. Het afzonderlijke device dient dus als het ware als controlemechanisme om te bewijzen dat jij echt jij bent.
Kun je een praktijkvoorbeeld noemen?
Een simpel voorbeeld: als gebruiker bezoek je een website op je laptop en registreert een account. Na het klikken op een knop (‘Registreer je account’) krijg je een oproepvenster op je telefoon te zien, bijvoorbeeld: “Registreer je op true.nl/vet-coole-inlogpagina”.
Als je dit verzoek accepteert, wordt gevraagd om “Authentication gesture”. Dit kan een pincode zijn, maar ook een biometrisch actie, zoals een vingerafdruk. Deze ‘gesture’ wordt vervolgens gekoppeld aan het account dat je creëert. Nadat je dit hebt gedaan krijg je waarschijnlijk een melding: “Gefeliciteerd, het registreren is gelukt!”. Je account wordt in dit specifieke geval gekoppeld aan je smartphone, waarbij je pincode of vingerafdruk geldt als verificatie.
Maar de implementatiemogelijkheden van WebAuthn zijn enorm. Er is straks heel veel mogelijk. Het mooie is ook dat je als gebruiker zelf mag bepalen op welke manier je authentiseert. Doe je dat het liefst via een apparaat zoals een YubiKey? Of gebruik je liever je smartphone met vingerafdruk? Je mag het straks helemaal zelf bepalen.
Wat zijn de voordelen?
Het is ten eerste vele malen veiliger dan een wachtwoord. Het gokken van wachtwoorden, wat nog steeds een populaire tactiek is om achter gegevens te komen, zal tot het verleden behoren. Ook phishing en man-in-the-middle aanvallen zullen lastiger worden voor hackers. Tuurlijk, mensen kunnen nog altijd klikken op een phishingmail, maar het achterhalen van de credentials wordt lastiger. Een man-in-the-middle aanval kan waarschijnlijk nog steeds een sessie overnemen, maar daarna kun je niet meer bij de credentials.
Wat betekent dit voor ontwikkelaars?
Waarschijnlijk is het verstandig om een library te gebruiken die dit voor je gaat doen. Je zal nog wel altijd support moeten leveren bij een password reset. De wachtwoord vergeten functie zal nog niet uitverbannen worden, aangezien mensen ook hun private key kwijt kunnen raken.
Gaat dit de traditionele manier van inloggen compleet wegvagen denk je?
Ik denk van wel, maar ik dat de mogelijkheden van wachtwoorden zullen moeten aanbieden. Hier gaan jaren overheen. Niemand kan garanties geven of dit geïmplementeerd gaan worden, maar heel veel mensen vinden dit een goed idee. De kans op acceptatie is erg groot.
Ik denk dat banken, overheden hier als eerst mee zullen werken. Banken en overheden gaan je misschien ook een sleutel geven. Letterlijk een soort DigiD. Maar heel veel is afhankelijk van de implementatiekeuzes die we zullen zien.
Doen we bij True al iets met WebAuthn?
Jazeker. Bij True werken we al een tijd met public key pairing. Er zijn mensen die een hardware key gebruiken voor bijvoorbeeld authenticatie van specifieke servers. Wij jagen deze ontwikkeling dan ook aan en willen hier dan ook verder in ontwikkelen. We houden het allemaal nauw in de gaten.
Meer lezen over WebAuthn? Check dan vooral even dit W3C-artikel.
Lees ook: Hoe verbeter je de online security van je website?
E-book: Security & compliance voor digitale organisaties
Wereldwijd nemen digitale aanvallen in rap tempo toe en de nieuwe privacywet staat voor de deur. In dit e-book lees en leer je:
- praktische tips voor betere websecurity;
- wat de privacywet betekent voor webbouwers;
- wat je van een hostingprovider mag verwachten.
Download het e-book
Vul onderstaand formulier in om direct het e-book te ontvangen.