2 Factor Authentication en de Yubikey

Mijn GSM als enige 2-factor authenticatie methode stoort me al een tijdje. Wat is als mijn GSM verlies? Of als hij stuk gaat?

De meeste sites die 2 factor authenticatie ondersteunen hebben wel een backup mechanisme om er toch in te geraken als je gsm met de app stuk of verloren is. Daarnaast heeft men soms ook een setje van backup-codes die je veilig moet bewaren. Dit werkt, maar ik heb toch liever een backup van het toestel dat ik gebruik.

En dan is een hardware sleutel is toch een zeer goed alternatief. Zo’n toestel is de Yubikey van Yubico. Het ziet eruit als een USB opslag sleutel, maar het dient alleen voor authenticatie.

Yubico.com Yubikey

De Yubikey is een hardware sleutel, die veilig is. De gegevens die erin zitten krijg je er niet uit zonder het toestel te vernietigen. En, het toestel is niet al te duur. Je kan er dus meerdere aanschaffen en je 2 factor geheimen op meer dan 1 sleutel opslaan, dus een tweede usb sleutel op een veilige plaats bewaren. Verlies je er dan een heb je nog altijd een werkende backup. Anders is het met een GSM. Vaak heb je er maar 1 wegens de prijs.


En de Yubikey ondersteund ook de nieuwere protocollen. Dus naast een vervanger van bijvoorbeeld Google Authenticator, kan je er meer mee. Sites zoals Dropbox, Github en Facebook ondersteunen deze nieuwe protocollen. Dan hoef je geen code meer met de hand over te tikken uit een app in een veldje. Nee, het aanraken van de sleutel op het jusite ogenblik is voldoende.

Wat kan de Yubikey

Er zijn dus methodes waarbij er een sleutel getoond wordt die je moet ingeven (zoals TOTP), maar ook waar je op de site moet kiezen voor ‘inloggen met een hardwaresleutel’ en je dan verder niets moet ingeven, maar je Yubikey moet aanraken en de pincode ingeven (bijvoorbeeld FIDO2 en PIV).

Statisch wachtwoord

(*1) Een statisch wachtwoord van 16 tot 64 tekens, voor legacy applicaties. De ubikey zal dan een lang wachtwoord ingeven, alsof je het intikt vanaf het toetsenbord. Echter is het aangeraden, zelf een kort deel van het wachtwoord te onthouden en voor of echter het deel in te geven dat de Yubikey ingeeft. Voor een site onthoudt ik marc32, wat ik handmatig ingeef, en de Yubikey plaatst daar een zeer lang, ingewikkeld wachtwoord achter, dat ik zelf nooit zou kunnen onthouden. Op deze manier, heb ik toch voor elke site een ander wachtwoord.

TOTP – Time based One Time Password
Dit is de methode die de meeste van jullie kennen van de Google Authenticator App. Wanneer je wil inloggen naar een site, moet je naast je gebruikerscode en wachtwoord nog een 6 cijferige code ingeven. Deze kan gegenereed worden door een app op je telefoon.
Ook voor Yubico moet je een app installeren. Echter staan de gegeven die nodig zijn om de code te genereren niet op de telefoon of computer, maar op de Yubikey. De app is alleen nodig om vanuit windows/linux/mac/android/ios met de yubikey te communiceren en de code te tonen.

Yubico App op Windows

Andere methoden
De hebben geen aparte userinterface. Je kan bijvoorbeeld rechtstreeks vanuit Google Chrome inloggen in websites die de sleutel ondersteuning, zonder handmatige ingave van gegeven in het scherm van de website. Vaak moet je dan wel kiezen voor ‘inloggen met een hardware token’

Inloggen bij Microsoft met een Yubikey

Na de keuze van de hardware sleutel, zal er gevraagd worden voor de PIN code van de Yubikey. Dan zal dit gebruikt worden om toegang tot de key te krijgen, en daarna krijg je dus toegang tot je Microsoft Account.