In de afgelopen paar jaar heeft het concept van twee-factor authenticatie (2FA), lang het domein van geeks, zijn weg gevonden naar de mainstream. Er wordt echter nog steeds voornamelijk gesproken over het gebruik van 2FA voor eenmalige wachtwoorden via SMS. Jammer genoeg is dit niet de meest betrouwbare optie. Hier is waarom:
- Het is gemakkelijk om stiekem naar wachtwoorden te gluren die per sms zijn verzonden als lock-screen meldingen zijn ingeschakeld.
- Zelfs als meldingen zijn uitgeschakeld, kan een SIM-kaart worden verwijderd en in een andere smartphone worden geïnstalleerd, waardoor toegang tot SMS-berichten met wachtwoorden wordt verkregen.
- Sms-berichten met wachtwoorden kunnen worden onderschept door een Trojan die op de loer ligt in de smartphone.
- Met verschillende slinkse tactieken (overreding, omkoping, etc.) kunnen criminelen een nieuwe simkaart met het nummer van het slachtoffer bemachtigen bij een mobiele telefoonwinkel. SMS-berichten gaan dan naar deze kaart, en de telefoon van het slachtoffer wordt afgesloten van het netwerk.
- SMS-berichten met wachtwoorden kunnen worden onderschept door een basisfout in het SS7-protocol dat wordt gebruikt om de berichten te verzenden.
Merk op dat zelfs de meest high-tech en arbeidsintensieve van de bovenstaande methoden om SMS-wachtwoorden te stelen (SS7-exploitatie) al in de praktijk is gebruikt. De rest is dagelijkse routine voor slechteriken. Dit gezegd zijnde, hebben we hier niet te maken met hypotheses, maar met een levende dreiging.
In het algemeen zijn SMS wachtwoorden niet erg veilig, en soms zijn ze erg onveilig. Het is dus zinvol om de horizon af te tasten naar alternatieven als het gaat om 2FA, het onderwerp van vandaag.
- Eenmalige codes in een bestand of op papier
- Er is ook een app voor dat: Authenticator apps
- Hoe authenticator-apps werken
- 2FA-app- en servicecompatibiliteit
- Beste apps voor twee-factor authenticatie
- 1. Google Authenticator
- 2. Duo Mobile
- 3. Microsoft Authenticator
- 4. FreeOTP
- 5. Authy
- 6. Yandex.Key
- FIDO U2F hardware authenticators: YubiKey en anderen
- Hoe FIDO U2F-tokens werken
- Welke soorten U2F-apparaten zijn er
- Wat te kiezen: SMS, app, of YubiKey?
Eenmalige codes in een bestand of op papier
De eenvoudigste manier om op SMS gebaseerde eenmalige wachtwoorden te vervangen, is het gebruik van, jawel, eenmalige wachtwoorden, maar van tevoren voorbereid. Het is niet de slechtste optie, vooral voor diensten waarop u niet vaak inlogt. Zelfs voor good ol ‘Facebook, kan deze methode goed doen, vooral als een back-up plan.
Het is vrij eenvoudig: Op verzoek, de dienst genereert en toont een dozijn of zo eenmalig te gebruiken codes die later kunnen worden gebruikt om een login te authenticeren. Deze codes kunnen worden afgedrukt of gekrabbeld en in een kluis worden gelegd. Of, nog eenvoudiger, ze kunnen worden opgeslagen in versleutelde notities in een wachtwoordmanager.
Het is niet zo belangrijk of de codes in fysiek of digitaal formaat worden bewaard – wat telt is dat ze (1) niet verloren raken en (2) niet kunnen worden gestolen.
Er is ook een app voor dat: Authenticator apps
Naast alle “enen” in deze zin, heeft een eenmalig gegenereerde set eenmalige codes één nadeel: Vroeg of laat komt er een einde aan, en kan je op het meest ongelegen moment codeloos achterblijven. Gelukkig is er een betere manier: Eenmalige codes kunnen on the fly worden gegenereerd met behulp van een kleine en (meestal) zeer eenvoudige authenticator-app.
Hoe authenticator-apps werken
Het is heel eenvoudig om 2FA-apps te gebruiken. Dit is wat u moet doen:
- Installeer de authenticator-app op uw smartphone,
- Ga naar de beveiligingsinstellingen van de service waarmee u de app wilt gebruiken,
- Selecteer 2FA (ervan uitgaande dat de optie bestaat); de service toont u een QR-code die u rechtstreeks in de 2FA-app kunt scannen,
- Scan de code met de app – deze zal elke 30 seconden een nieuwe eenmalige code beginnen te genereren.
De codes worden aangemaakt op basis van een sleutel (die alleen bij u en de server bekend is) en de huidige tijd, afgerond op 30 seconden. Beide componenten zijn gelijk voor u en de dienst, dus de codes worden synchroon gegenereerd. Dit algoritme heet OATH TOTP (Time-based One-Time Password), en het wordt verreweg het meest gebruikt.
Er bestaat een alternatief, dat bekend staat als OATH HOTP (HMAC-based One-Time Password). In plaats van de huidige tijd wordt bij dit algoritme een teller gebruikt die bij elke nieuw aangemaakte code met 1 oploopt. Maar dit algoritme komt in de praktijk zelden voor, omdat het gebruik ervan het synchroon genereren van codes aan de app- en servicezijde bemoeilijkt. Simpel gezegd, er is een niet onaanzienlijk risico dat de teller op precies het verkeerde moment in de war raakt, en uw eenmalige wachtwoord zal niet werken.
Dus, OATH TOTP kan worden beschouwd als de de facto standaard (hoewel het officieel niet eens een standaard is, zoals de makers in de specificatie benadrukken).
2FA-app- en servicecompatibiliteit
De overgrote meerderheid van 2FA-apps gebruikt hetzelfde algoritme, dus elk kan worden gebruikt voor services die authenticators ondersteunen; kies maar uit.
Natuurlijk, zoals met elke vuistregel, zijn er uitzonderingen. Om redenen die alleen bij hen bekend zijn, geven sommige diensten er de voorkeur aan hun eigen 2FA-apps te maken die alleen voor hen werken. Wat meer is, de diensten zelf werken niet met andere apps behalve hun eigen.
Dit komt vooral voor bij grote uitgevers van videogames: bijvoorbeeld Blizzard Authenticator, Steam Mobile met ingebouwde Steam Guard, Wargaming Auth, en anderen zijn allemaal incompatibel met apps en services van derden. Alleen deze op maat gemaakte apps kunnen worden gebruikt met de relevante gamingplatforms.
Deze vreemde weg is ook genomen door Adobe met zijn Adobe Authenticator, die alleen werkt met AdobeID-accounts. Je kunt echter andere authenticators gebruiken om te authenticeren in AdobeID, dus het is helemaal niet duidelijk waarom een aparte app nodig was.
In elk geval beperken de meeste normale IT-bedrijven gebruikers niet in hun keuze van 2FA-apps. En zelfs als een bedrijf plotseling besluit een eigen app te maken, kan deze meestal worden gebruikt om niet alleen de eigen accounts te beschermen, maar ook die van andere diensten.
Kies gewoon de authenticator-app die u het leukst vindt in termen van extra functies – deze zal werken met de meeste diensten die over het algemeen 2FA-apps ondersteunen.
Beste apps voor twee-factor authenticatie
De keuze aan 2FA-apps is verrassend breed. Zoek naar “authenticator” in Google Play of de App Store, en je zult tientallen opties zien. We raden niet aan om de eerste app die u ziet te installeren; het is misschien niet de meest veilige. Vergeet niet dat je op het punt staat het de sleutels van je accounts toe te vertrouwen (het zal natuurlijk je wachtwoorden niet kennen, maar je voegt 2FA toe omdat wachtwoorden de neiging hebben te lekken). In het algemeen is het de moeite waard om te kiezen voor een app gemaakt door een grote en betrouwbare ontwikkelaar.
Hoewel de basisfunctie van al deze apps hetzelfde is – het creëren van eenmalige codes met behulp van een en hetzelfde algoritme, sommige authenticators hebben extra functies of interface-eigenschappen die aantrekkelijk kunnen zijn. Hier zijn enkele van de meest interessante opties.
1. Google Authenticator
Ondersteunde platforms: Android, iOS
Zoals door alle tech-media wordt opgemerkt, is Google Authenticator de gemakkelijkst te gebruiken van alle vele 2FA-apps die er zijn. Het heeft zelfs geen instellingen. Het enige wat u kunt doen is een nieuw token (de naam die wordt gegeven aan de codegenerator voor een individueel account) toevoegen of een bestaande verwijderen. Om een code te kopiëren hoef je er alleen maar op te tikken. Dat is het!
Echter, deze eenvoud heeft een nadeel: Als de interface u niet bevalt of u meer functies wilt, moet u een andere authenticator-app installeren.
+ Zeer eenvoudig in gebruik.
2. Duo Mobile
Ondersteunde platforms: Android, iOS
Duo Mobile is ook uiterst gebruiksvriendelijk, minimalistisch en vrij van extra instellingen. Het heeft één voordeel ten opzichte van Google Authenticator: Duo Mobile houdt codes standaard verborgen – om ze te zien, moet de gebruiker op de specifieke token tikken. Als u er, net als ik, niet van houdt om elke keer dat u de authenticator opent een heleboel codes voor al uw accounts te zien te krijgen, dan is deze functie van Duo Mobile iets voor u.
+ Verbergt codes standaard.
3. Microsoft Authenticator
Ondersteunde platforms: Android, iOS
Microsoft heeft met zijn minimalistische authenticator ook voor een minimalistische aanpak gekozen. Dat gezegd hebbende, is Microsoft Authenticator wel aanzienlijk rijker aan functies dan Google Authenticator. Om te beginnen, hoewel alle codes standaard worden weergegeven, kan elke token afzonderlijk worden geconfigureerd om te worden verborgen.
Ten tweede, Microsoft Authenticator vereenvoudigt het aanmelden bij Microsoft-accounts. Nadat u uw wachtwoord hebt ingevoerd, hoeft u alleen maar op de knop in de app te tikken om de aanmelding te bevestigen – en dat is het, u hoeft niet eens een eenmalige code in te voeren.
+ Kan worden geconfigureerd om codes te verbergen.
+ Extra functies voor aanmelding bij Microsoft-accounts.
4. FreeOTP
Ondersteunde platforms: Android, iOS
Er zijn vier redenen waarom u deze baby van Red Hat zou kiezen. Ten eerste is de software open source. Ten tweede is het de lichtste app in onze lijst – de iOS-versie is slechts 750 KB (ter vergelijking: de minimalistische Google Authenticator heeft bijna 14 MB nodig en de Authy-app, die hieronder wordt besproken, is maar liefst 44 MB). Ten vierde, maar niet minder belangrijk, kunt u met FreeOTP zeer flexibel en handmatig tokens configureren, mocht u dat willen. Natuurlijk wordt de gebruikelijke methode om tokens te maken, door een QR-code te scannen, ook ondersteund.
+ Verbergt codes standaard.
+ Neemt slechts 750KB in beslag.
+ Open source.
+ Maximale instellingen bij het handmatig aanmaken van een token.
5. Authy
Ondersteunde platforms: Android, iOS, Windows, macOS, Chrome
Authy is de sjiekste van de 2FA-apps, met als belangrijkste voordeel dat alle tokens in de cloud worden opgeslagen. Hierdoor is het mogelijk om vanaf elk apparaat toegang te krijgen tot de tokens. Tegelijkertijd vereenvoudigt het de migratie naar nieuwe apparaten. Het is niet nodig om 2FA in elke dienst opnieuw te activeren, dus u kunt bestaande tokens blijven gebruiken.
Tokens in de cloud worden versleuteld met een sleutel op basis van een door de gebruiker gedefinieerd wachtwoord, wat betekent dat gegevens veilig worden opgeslagen en helemaal niet gemakkelijk te stelen zijn. U kunt ook een inlog-PIN voor de app instellen of deze beschermen met een vingerafdruk als uw smartphone is uitgerust met de juiste scanner.
Het belangrijkste nadeel van Authy is dat het vereist dat u een account instelt dat is gekoppeld aan een mobiel telefoonnummer – anders werkt het helemaal niet.
+ Tokens worden opgeslagen in de cloud, waardoor ze op al uw apparaten kunnen worden gebruikt.
+ Migratie naar andere apparaten is om diezelfde reden zeer eenvoudig.
+ App login beschermd door PIN of vingerafdruk.
+ Alleen de code voor het laatst gebruikte token wordt op het scherm getoond.
+ In tegenstelling tot andere apps ondersteunt de app niet alleen Android en iOS, maar ook Windows, macOS en Chrome.
– Werkt niet zonder een Authy-account dat aan een telefoonnummer is gekoppeld.
6. Yandex.Key
Ondersteunde platforms: Android, iOS
Het concept achter Yandex.Key maakt het naar mijn mening de beste app voor 2FA. Enerzijds hoeft u zich niet meteen te registreren – u kunt er net zo gemakkelijk mee beginnen als met Google Authenticator. Voor een ander, het heeft een aantal extra functies beschikbaar voor degenen die niet instellingen verlegen zijn.
First, Yandex.Key kan worden vergrendeld met een PIN of vingerafdruk. Ten tweede kunt u een met een wachtwoord beveiligde reservekopie van tokens in de Yandex-cloud maken (deze stap vereist wel een telefoonnummer) en deze terugzetten op elk apparaat dat u gebruikt. Evenzo is het mogelijk om tokens over te zetten naar een nieuw apparaat wanneer u moet migreren.
Yandex.Key slaagt erin om de eenvoud van Google Authenticator te combineren met de uitgebreide functionaliteit van Authy, afhankelijk van wat u verkiest. Het enige nadeel van de app is dat de interface niet zo gemakkelijk te gebruiken is met een groot aantal tokens.
+ Minimalisme in het begin, uitgebreide functionaliteit beschikbaar via de instellingen.
+ Back-up kopieën van tokens kunnen worden gemaakt in de cloud voor gebruik op meerdere apparaten en migratie naar nieuwe apparaten.
+ Inloggen op de app is beveiligd met PIN of vingerafdruk.
+ Alleen de code van het laatst gebruikte token wordt op het scherm getoond.
+ Vervangt uw permanente Yandex-account wachtwoord.
– Met veel tokens, niet zo gemakkelijk om degene te vinden die nodig is.
FIDO U2F hardware authenticators: YubiKey en anderen
Als een app die eenmalige codes genereert een te slappe en ongrijpbare manier lijkt om uw accounts te beschermen, en u wilt iets stevigers en betrouwbaarders dat uw account vergrendelt met een sleutel die letterlijk in uw zak gaat, kijk dan niet verder dan hardwaretokens op basis van de U2F (Universal 2nd Factor) -standaard, gemaakt door de FIDO Alliance.
Hoe FIDO U2F-tokens werken
U2F-hardwaretokens zijn de lieveling van beveiligingsspecialisten, vooral omdat ze, vanuit een gebruikersperspectief, heel eenvoudig werken. Om te beginnen sluit u de U2F token aan op uw apparaat en registreert u het in een compatibele dienst. Het hele proces neemt slechts een paar klikken in beslag.
Daarna, om het inloggen op de dienst te bevestigen, moet u het U2F token aansluiten op het apparaat van waaruit u inlogt en op de token-knop tikken (sommige apparaten vereisen een PIN- of vingerafdrukscan, maar dat is een extra functie). Dat is het – geen ingewikkelde instellingen, het invoeren van lange reeksen willekeurige tekens, of andere mumbo-jumbo die vaak wordt geassocieerd met het woord cryptografie.
Doe de sleutel in en druk op de knop – en dat is het echt
Terzelfdertijd zijn de dingen onder de motorkap slim en cryptografisch verantwoord: Bij het registreren van een token op een dienst, wordt een paar cryptografische sleutels aangemaakt – privé en publiek. De openbare sleutel wordt opgeslagen op de server, en de privé-sleutel wordt opgeslagen in een Secure Element-chip, die het hart vormt van het U2F-token, en verlaat het apparaat nooit.
De privésleutel wordt gebruikt om de aanmeldingsbevestiging te versleutelen, die wordt doorgegeven aan de server en kan worden ontsleuteld met behulp van de openbare sleutel. Als iemand die zich voordoet als u probeert een inlogbevestiging over te dragen die is versleuteld met de verkeerde privésleutel, dan zal het ontsleutelen met de openbare sleutel wartaal opleveren, en de dienst zal geen toegang verlenen tot de account.
Welke soorten U2F-apparaten zijn er
Het bekendste en meest voorkomende voorbeeld van U2F is YubiKey, gemaakt door Yubico. Het bedrijf was in wezen de speerpunt van deze standaard, maar koos ervoor om het open te maken, voor welk doel de FIDO Alliance werd opgericht. En omdat de standaard open is, is uw keuze niet beperkt: U2F-compatibele apparaten worden door verschillende bedrijven geproduceerd en verkocht, en online winkels bieden een scala aan verschillende modellen.
YubiKey – misschien wel het populairste U2F-token
Zo heeft Google onlangs een suite van authenticators geïntroduceerd onder de noemer Google Titan Security Keys. In feite zijn het sleutels geproduceerd door Feitian Technologies (de tweede meest populaire fabrikant van U2F tokens, na Yubico) waarvoor Google zijn eigen firmware heeft ontwikkeld.
Natuurlijk zullen alle hardware-authenticators die compatibel zijn met de U2F standaard even goed werken met elke dienst die ook compatibel is met deze standaard. Er zijn echter verschillen, de belangrijkste zijn de interfaces die door de sleutel worden ondersteund. Dit bepaalt direct met welke apparaten hij kan werken:
USB: voor aansluiting op PC’s (het maakt niet uit of deze Windows, Mac of Linux draaien; de sleutels werken zonder dat er drivers geïnstalleerd hoeven te worden). Naast de gebruikelijke USB-A, zijn er sleutels voor USB-C.
NFC: vereist voor gebruik met Android-smartphones en -tablets.
Bluetooth: vereist op mobiele apparaten die niet over NFC beschikken. iPhone-bezitters hebben bijvoorbeeld nog steeds een Bluetooth-gebaseerde authenticator nodig. Hoewel iOS nu apps toestaat om NFC te gebruiken (vóór dit jaar was alleen Apple Pay toegestaan), hebben de meeste U2F-compatibele app-ontwikkelaars nog geen gebruik gemaakt van de functie. Bluetooth-authenticators hebben een paar nadelen: ten eerste moeten ze worden opgeladen; ten tweede duurt het veel langer om verbinding te maken.
Basismodellen van U2F-tokens ondersteunen meestal alleen U2F en kosten $ 10- $ 20. Andere, duurdere apparaten ($ 20-$ 50) kunnen ook werken als een smartcard, eenmalige wachtwoorden genereren (inclusief OATH TOTP en HOTP), PGP-coderingssleutels genereren en opslaan, en worden gebruikt om in te loggen in Windows, macOS, Linux, enzovoort.
Wat te kiezen: SMS, app, of YubiKey?
Dus, wat te kiezen voor twee-factor authenticatie? Er is geen universeel antwoord op deze vraag. Verschillende 2FA-versies en combinaties kunnen worden gebruikt voor verschillende diensten. Bijvoorbeeld, accounts met de hoogste prioriteit (een mailbox gekoppeld aan andere accounts, enz.) moeten tot het uiterste worden beschermd – dat wil zeggen, vergrendeld met een hardware U2F token met alle andere 2FA-opties geblokkeerd. Op die manier kunt u er zeker van zijn dat niemand ooit toegang tot uw account zal krijgen zonder dit token.
Een goede optie is om twee sleutels aan uw account te koppelen, zoals bij autosleutels: de ene zit altijd in uw zak, de andere ligt op een veilige plaats voor het geval de eerste verloren gaat. Bovendien kunt u verschillende soorten sleutels gebruiken: Bijvoorbeeld een authenticator app op uw smartphone als de primaire, en een U2F token of een slip van papier met eenmalige wachtwoorden in uw kluis als back-up.
In ieder geval, het belangrijkste stuk van advies is om te voorkomen dat het gebruik van SMS-gebaseerde eenmalige wachtwoorden waar mogelijk. Het is waar, het is niet altijd mogelijk. Financiële diensten, bijvoorbeeld, zijn notoir conservatief en bieden zelden authenticatie aan via iets anders dan SMS.