Vanaf vandaag is het mogelijk de toegang naar de CloudVPS Interface en de Skyline interface voor onze OpenStack diensten te beveiligen door middel van Two Factor Authentication (TFA).
Security-experts omschrijven TFA als volgt: "Er zijn 3 authenticatie-elementen: Wat je kent (password), wat je hebt (hardware-token, mobiele telefoon) en wie je bent (vingerafdruk). Two Factor Authentication houdt in dat het systeem twee van deze manieren gebruikt voor authenticatie."
Vooral na de heartbleed bug in OpenSSL wordt TFA door serieuze internetgebruikers nu als een eis gesteld. Als een authenticatiemethode gecompromitteerd raakt, zou er nog een tweede stap nodig moeten zijn om geauthenticeerd te worden. Alleen een password is heden ten dage eigenlijk niet meer genoeg. In onze implementatie gebruiken we een password en een code die op een smartphone gegenereerd kan worden.
Two Factor Authentication wordt ook vaak Two-step verification of Multi-factor authentication genoemd en afgekort met 2FA, TFA of MFA; deze termen en afkortingen betekenen allemaal hetzelfde.
One Time Password
De industriestandaard voor Two Factor Authentication is naast het password gebruik te maken van een component dat maar voor een zeer beperkte tijd geldig is. Dit zelfde mechanisme wordt gebruikt door banken, waar door middel van een bankpas en een identifier een tijdelijk geldig zescijferig getal wordt gegenereerd: een One Time Password (OTP).
Voor onze implementatie van het One Time Password gebruiken we de open standaards zoals deze door het Initiative for Open Authentication (OATH) zijn ontwikkeld. Hiervan gebruiken wij het HMAC gebaseerde Time-based-One-Time-Password (TOTP) zoals gespecificeerd in RFC 6238.
Activatie en gebruik
Bij het aanzetten van Two Factor Authentication voor een gebruiker wordt er een 'shared secret' gegenereerd. Dit secret, in combinatie met de tijd, is de basis van een One Time Password (OTP) Token. Om aan zo'n OTP-Token te komen zijn er diverse Authenticator applicaties op de markt die het secret omzetten in een 30 seconden geldig OTP-Token. De meest gebruikte vorm is om een autenticator geïnstalleerd op je mobiele telefoon die gebruikt wordt om de OTP-Tokens mee te genereren. Hiervoor worden Google Authenticator voor Android, iOS en Blackberry of de Microsoft Authenticator voor Windows Phone het meest gebruikt.
Het secret, dat in de CloudVPS Interface kan worden opgevraagd, kan in de Authenticator worden ingevoerd door het secret over te typen, of (indien ondersteund) door het scannen van een QR-code met een otpauth:// protocol link. In deze QR-code zitten naast de shared secret alle gegevens die een Authenticator nodig heeft om het account toe te voegen.
Dit OTP-Token is een zescijferig getal dat 30 seconden geldig is. Dit token dient direct achter het password te worden getyped bij het inloggen op een van de systemen. Eigenlijk wordt het password uitgebreid met dit zescijferig Token.