Säkerhetsproblem med tvåfaktorsautentisering (2FA)

Tvåfaktorsautentisering (2FA) är en särskild typ av flerfaktorsautentisering (MFA) som förstärker åtkomstsäkerheten genom att kräva två metoder (även kallade autentiseringsfaktorer) för att verifiera din identitet. Dessa faktorer kan inkludera något du känner till – som användarnamn och lösenord – plus något du har – som en smartphone-app – för att godkänna autentiseringsförfrågningar.

2FA skyddar mot nätfiske, social ingenjörskonst och angrepp med brutala lösenord och säkrar dina inloggningar från angripare som utnyttjar svaga eller stulna autentiseringsuppgifter.

Tvåfaktorsautentisering (2FA) är den grundläggande beståndsdelen i en säkerhetsmodell med nollförtroende. För att skydda känsliga data måste du verifiera att de användare som försöker komma åt dessa data är de som de utger sig för att vara. 2FA är ett effektivt sätt att skydda sig mot många säkerhetshot som riktar sig mot användarens lösenord och konton, t.ex. phishing, brute-force-attacker, utnyttjande av autentiseringsuppgifter med mera.

Säg att du använder ett användarnamn och ett lösenord för att slutföra den primära autentiseringen till ett program. Den informationen skickas över Internet (ditt primära nätverk). Du vill använda en annan kanal (utanför bandet) för att slutföra din andra faktor. Att godkänna ett push-meddelande som skickas över ditt mobilnätverk är ett exempel på out-of-band-autentisering.

Vilka typer av 2FA finns det?

SMS 2FA

howtogeek.com

Med sms-autentisering med två faktorer valideras användarens identitet genom att sms:a en säkerhetskod till den mobila enheten. Användaren skriver sedan in koden på den webbplats eller i det program som de autentiserar sig för.

TOTP 2FA

blog.meteor.com

Den tidsbaserade 2FA-metoden TOTP (Time-Based One Time Password) genererar en nyckel lokalt på den enhet som användaren försöker få tillgång till. Säkerhetsnyckeln är i allmänhet en QR-kod som användaren skannar med sin mobila enhet för att generera en nummerserie. Användaren anger sedan dessa nummer på webbplatsen eller i applikationen för att få tillgång. De lösenkoder som genereras av autentiserare löper ut efter en viss tid, och en ny lösenkod genereras nästa gång användaren loggar in på ett konto. TOTP är en del av säkerhetsarkitekturen Open Authentication (OAUTH).

Push-Based 2FA

how-to-geek

Push-Based 2FA förbättrar SMS- och TOTP 2FA genom att lägga till ytterligare säkerhetslager, samtidigt som det förbättrar användarvänligheten för slutanvändarna. Push-baserad 2FA bekräftar en användares identitet med flera autentiseringsfaktorer som andra metoder inte kan. Duo Security är den ledande leverantören av push-baserad 2FA.

U2F-tokens

wellesley.edu

U2F-tokens säkrar tvåfaktorsautentisering genom att använda en fysisk USB-port för att validera var och vem som är identiteten hos en användare som försöker logga in. För att använda en U2F-token sätter användaren in token i sin enhet och trycker på knappen som finns på enhetens ovansida. När tokenet är aktiverat anger användaren sin PIN-kod och får tillgång till sina konton.

WebAuthn

inovex.de

Väckautentiserings-API är en specifikation som möjliggör registrering och autentisering med stark kryptografi med offentliga nycklar och som skapats av FIDO-alliansen (Fast IDentity Online) och W3C. WebAuthn (Web Authentication API) gör det möjligt för tredje parter som Duo att utnyttja inbyggda biometriska autentiserare på bärbara datorer och smartphones, så att användarna kan autentisera sig snabbt och med de verktyg de redan har till hands.

Vilka hot adresserar 2FA?

  • Stulna lösenord
  • Phishing-försök
  • Social Engineering
  • Brute-Force Attacks
  • Broken Logic
  • Key Logging

Sårbarheter i tvåfaktorsautentisering

Bypassing av tvåfaktorsautentisering

I vissa fall, är implementeringen av tvåfaktorsautentisering så bristfällig att den kan kringgås helt och hållet.

Om användaren först uppmanas att ange ett lösenord och sedan uppmanas att ange en verifieringskod på en separat sida, befinner sig användaren i själva verket i ett ”inloggat” tillstånd innan han eller hon har angett verifieringskoden. I det här fallet är det värt att testa om man kan hoppa direkt till sidor som endast är inloggade efter att ha slutfört det första autentiseringssteget. Ibland kommer du att upptäcka att en webbplats faktiskt inte kontrollerar om du har slutfört det andra steget innan sidan laddas.

Token för tvåfaktorsautentisering

Verifieringskoder läses vanligtvis av användaren från en fysisk enhet av något slag. Många webbplatser med hög säkerhet ger numera användarna en särskild enhet för detta ändamål, t.ex. en RSA-token eller en knappsatsenhet som du kanske använder för att få tillgång till din internetbank eller din bärbara dator på jobbet. Förutom att dessa särskilda enheter är byggda för säkerhetsändamål har de också fördelen att de genererar verifieringskoden direkt. Det är också vanligt att webbplatser använder en dedikerad mobilapp, till exempel Google Authenticator, av samma anledning.

Å andra sidan skickar vissa webbplatser verifieringskoder till en användares mobiltelefon som ett textmeddelande. Även om detta tekniskt sett fortfarande är att verifiera faktorn ”något du har” är det öppet för missbruk. För det första överförs koden via SMS i stället för att genereras av själva enheten. Detta innebär att koden kan avlyssnas. Det finns också en risk för SIM-utbyte, där en angripare på ett bedrägligt sätt får ett SIM-kort med offrets telefonnummer. Angriparen skulle då få alla sms-meddelanden som skickas till offret, inklusive det som innehåller deras verifieringskod.