Web Authentication
In deze blog beschrijven we een interessante evolutie op het vlak van authenticatie-standaarden.
Een aantal jaren geleden werd de FIDO Alliance opgericht, een consortium van een aantal bedrijven die willen voorzien in een open, op standaarden gebaseerde sterke authenticatie. Het doel van de alliantie is om de afhankelijkheid van paswoorden bij gebruikersauthenticatie te verminderen omwille van hun inherente nadelen. Men wil daarbij expliciet komen tot specificaties die aanvaard worden als formele standaard. Zie blogpost "De FIDO Alliance: Geen vertrouwen meer in het paswoord".
FIDO2
De FIDO specificaties zijn gebundeld onder de noemer "FIDO2" en bevatten in feite twee specificaties: Web Authentication en het Client To Authenticator Protocol.
Web Authentication (kortweg WebAuthn) is het resultaat van een samenwerking tussen de FIDO Alliance en W3C, de standaardenorganisatie die instaat voor de belangrijkste webstandaarden. WebAuthn legt een standaard browser-API vast die een gebruiker toelaat om:
- een publieke sleutel aan te maken en te registreren bij een webtoepassing;
- te authenticeren bij een webtoepassing door het leveren van een bewijs van het bezit van de corresponderende private sleutel.
Het Client To Authenticator Protocol (CTAP) maakt het mogelijk om externe toestellen zoals een security key of smartphone te gebruiken om authentication credentials uit te wisselen met een vast toestel via bluetooth, NFC of USB.
Samen ondersteunen WebAuthn en CTAP tal van scenario's voor authenticatie. Zo wordt het mogelijk om aan te melden in webtoepassingen op basis van een fingerprint, gezichtsherkenning of een extern token zoals een security key of een smartphone.
Belang van WebAuthn
Belangrijk is dat de WebAuthn specificatie in maart verheven werd tot een W3C Candidate Recommendation, dat is het laatste stadium voor een officiële W3C standaard en een belangrijke mijlpaal voor de maturiteit en interoperabiliteit van de specificatie. De (bijna-)standaard wordt bovendien gedragen door de grote browser-platformen. Mozilla Firefox en Google Chrome boden al ondersteuning voor WebAuthn. Recent bevestigde ook Microsoft ondersteuning voor WebAuthn in de Edge browser via Windows Hello (het platform voor biometrische beveiliging in Windows 10) en FIDO2 security keys.
Voor een service provider betekent dat dat het eenvoudiger wordt om FIDO-gebaseerde sterke authenticatie toe te voegen aan webtoepassingen. Eindgebruikers van hun kant moeten geen extra software of plugins installeren, ze hoeven enkel een authenticator te registreren bij de online dienst.
Hieronder zijn een aantal demo's te zien met verschillende browser-platformen. Het is een illustratie van hoe het er voor de gebruiker kan uitzien.
In de praktijk
Met Web Authentication wordt FIDO naar de web browsers gebracht en komt een paswoordvrije wereld een stap dichterbij. Maar er zijn nog een aantal zaken nodig vooraleer WebAuthn in de praktijk breed gebruikt zal worden:
- De implementaties op niveau van de browsers en platformen moeten compatibel zijn met elkaar. Dit moet zich nog in de praktijk bewijzen. De signalen zijn wel hoopgevend aangezien veel aandacht uitgaat naar compatibiliteitstesten.
- De browsers en platformen moeten ondersteuning bieden voor een breed gamma van authenticators. Op dit ogenblik is dit soms nog beperkt tot bijvoorbeeld enkel externe security keys.
- Naast de browsers moet de server-infrastructuur van de service providers compatibel zijn met de FIDO specificaties. Dat betekent dat de leveranciers van authenticatie-oplossingen de specificaties volledig moeten ondersteunen in hun oplossingen. Hier is nog een weg af te leggen.
Voorlopig zijn we dus nog niet verlost van die vervelende en onveilige wachtwoorden. Maar er is wel een belangrijke stap gezet.