Lösenord är en central aspekt av säkerhetsinfrastrukturen och säkerhetsarbetet, men de är också en primär svaghet som ligger till grund för 81 procent av alla hackerattacker. Inbyggda användbarhetsproblem gör lösenord svåra att hantera på ett säkert sätt. Dessa tillkortakommanden för säkerheten och användbarheten har drivit på utvecklingen av alternativa tillvägagångssätt under den gemensamma benämningen lösenordsfri autentisering.

Passkeys, eller inloggningsnycklar i brist på en bättre svenska term, är en typ av lösenordsfri autentisering som fått ett ökat fokus och fler tillskyndare. Passkeys spås bli en viktig del av säkerheten de kommande åren. De representerar en säkrare grund för säkerheten på företag. Även om de inte är idiotsäkra (de kan till exempel synkas till en enhet med ett osäkert operativsystem) är de betydligt säkrare för kunder, anställda och partner än lösenord.

Passkeys jämfört med lösenord

Roten till det onda med lösenord är att de bara är strängar av tecken som låser upp säkrade resurser utan att ta hänsyn till vem som äger dem. Det är som en gammaldags bilnyckel som öppnar och startar en bil utan hänsyn till några andra faktorer. Statistiken för lösenord tillgängliga för kriminella är alarmerande och blir värre för varje år.

Passkeys är ett tillvägagångssätt för autentisering med fler säkerhetsfaktorer, med tyngdpunkt på en enhet som den primära faktorn. Genom att nyttja en enhet tillsammans med en annan faktor kan passkeys ta sig bortom den ”vad du vet”-variant av säkerhet som representeras av lösenord, till ”vad du har och vad du vet”.

Som Matias Woloski, Auth0 Labs CTO på Okta, säger:

– Allt eftersom lösenord blir ersatta, kommer mobilen att representera en starkare första faktor. Detta kommer inte endast att förbättra användarupplevelsen utan även säkerheten.

Passkeys är dock inte begränsade till mobiler, utan de finns även i andra enheter som plattor, och bärbara- och stationära datorer.

Woloski pekar också på att Apple, Google, och Microsoft alla stödjer passkeys. Detta är en indikation på tidvågen bakom adoptionen av passkeys, men avslöjar också något om hur passkeys fungerar. Nyare passkeys kommer med en funktion för molnlagring som synkar mellan olika enheter, och ur den synvinkeln påverkar den leverantör du använder, till exempel Apple för Icloud, det sätt som en passkey uppför sig. Passkeys kan enkelt röra sig mellan enheter inom samma ekosystem, och det jobbas på lösningar som förenklar hanteringen mellan ekosystem.

Så fungerar passkeys

Styrkan med enhetsfaktorn är enkel att förstå: det är en fysisk sak. En hackare i Ryssland kan inte stjäla en anställds mobil i Umeå. Visst, en mobil kan stjälas eller tappas bort, men den är nästan alltid redan låst och passkeys använder mobilen tillsammans med en annan faktor. Mobilen (eller en annan enhet) är redan en sak anställda regelbundet interagerar med, är vana vid att hantera säkert, och finns nära tillhands. Mobilen är också associerad med annan information (som ett konto hos mobilleverantören).

Även om den fysiska enheten utgör ankaret i en passkeys säkerhet, är det egentligen inte en hårdvarukomponent som associerar en passkey med enheten. En passkey är istället en brygga mellan enheten och användarens applikationer som förmedlas av operativsystemet eller webbläsaren. Det har lagts ned en hel del arbete (och görs fortfarande) på att orkestrera detta på ett säkert sätt.

Det är FIDO alliance som är den huvudsakliga aktören bakom definitionen av specifikationerna för passkeys, och alla stora aktörer inom molntjänster och leverantörer av infrastrukturen bakom passkeys är medlemmar i FIDO. Tillsammans med W3C har FIDO tagit fram API:et WebAuthn för att standardisera hur passkeys ska fungera, tillsammans med bibliotek att använda både i webbläsare (front end) och webbservrar (back end).

Olika typer av passkeys

De fysiska egenskaperna hos enheten medför en starkare grundsäkerhet. Ovanpå det ligger flera sekundära faktorer som används för att verifiera att användaren är den rättmätiga ägaren av enheten. De mest prominenta typerna av passkeys är de som använder biometri, till exempel fingeravtryck eller ansiktsigenkänning, eller de som bygger på tokens, pinkoder, rörelser och till och med lösenord.

Hur passkeys använder publik nyckelkryptografi

Dessa faktorer (enhet och sekundära faktorer) används av passkey-tjänsten på din enhet för att skapa ett assymmetrisk, kryptografiskt nyckelpar för varje webbsajt, app, eller tjänst (den autentiserande appen) som du använder passkey-autentisering för.

Den privata nyckeln lagras i ett nyckelvalv, och den autentiserande appen håller den publika nyckeln. Detta arrangemang har många systematiska styrkor för säkerheten jämfört med lösenord. Eftersom endast den publika nyckeln exponeras, exempelvis, så finns det ingen användbar måltavla för hackare, varken under kommunikationen eller i databaser. Den publika nyckeln är poänglös för hackaren.

Hur slutanvändare använder en passkey

Den här videon från Google visar hur en autentisering med en passkey går till. Kontentan är att skapandet av ett konto och inloggning med en passkey är enklare än med lösenord. En passkey etableras på enheten för en webbsajt bara med ett fingeravtryck, ansiktsläsning eller annan sekundär faktor.

Det är här som ett lösenord teoretiskt skulle kunna användas som en sekundär faktor för att validera att användaren är rätt användare. Efter det skulle användaren inte behöva skriva in lösenordet vid efterföljande inloggningar. Lösenordet, eller någon annan faktor, skickas aldrig iväg och lagras inte någon annanstans.

Passkeys på flera enheter

Organisationen FIDOs senaste specifikationer för passkeys handlar om passkeys på flera enheter. När en passkey väl är installerad på en enhet, kan samma enhet användas för att på ett säkert sätt dela den med andra enheter. Enheterna måste vara fysiskt nära varandra, inom räckhåll för trådlös kommunikation, och användaren tar en aktiv roll i verifieringen av synkroniseringen mellan enheterna. Men även molntjänsten för en viss enhet spelar en roll i sammanhanget.

Det senare betyder att en Iphone använder Apples moln, en Android-enhet använder Google Cloud Platform (GCP) och Windows använder Microsoft Azure. Arbete pågår för att göra synkronisering mellan plattformarna enklare. Det är idag en ganska manuell process att till exempel gå från en Android-enhet till en Macbook.

För- och nackdelar med passkey

Passkeys är kryptografiska nycklar, så borta är risken med svaga lösenord. Passkeys delar inte känslig information, så många lösenordsattacker är eliminerade. Passkeys är även motståndskraftiga mot nätfiske och andra typer av sociala manipulationer – infrastrukturen i sig bakom passkeys sköter förhandlingarna i verifieringsprocessen och luras inte av snyggt förfalskade webbsidor. Så vi slipper risken med att skriva in ett lösenord i fel formulär.

Det finns dock vissa utmaningar för företag, speciellt med att försäkra sig om att anställda och andra följer policys gällande säkerheten för de enheter som använder passkeys. Utöver det pågår det arbete kring återställning av passkeys. Det vore snyggt att kunna återställa alla dina passkeys uppbackade hos molnleverantören i ett svep om en enhet stulits, kommit bort eller förstörts. Processen kräver att man återbegär en passkey från varje enhet. Uppsidan är att en stulen enhet inte innebär någon säkerhetsrisk eftersom enheten i sig behöver låsas upp för att få tillgång till dess passkeys.

Att implementera passkeys

Passkeys är en viktig utveckling som it-ansvariga på företagen bör fundera på i termer av hur de kan förbättra användarupplevelsen och -säkerheten och hur man kan introducera medarbetarna i processerna och infrastrukturen. Som tur är är de inte så svåra att lägga till. Det mesta av det tunga arbetet hanteras av väldefinierade bibliotek och specifikationer som utvecklats av FIDO-konsortiet, uppbackat av de stora techbolagen. Dessutom finns det tredjepartstjänster som rör på sig för att stödja passkeys och göra det betydligt enklare att dra nytta av dem.

Det stora återstående elementet i passkeys infrastruktur ligger hos applikationerna och sajterna att börja använda dem. Bara en handfull webbsajter har implementerat autentisering med passkeys. Det är en situation som sannolikt snabbt kommer ändra sig.

För dem som styr över cybersäkerheten bland mjukvaruprojekt utgör uppkomsten av passkeys både en börda och en möjlighet. Att bygga ut stödet för passkeys kommer kräva en insats i proportion med skalan på den nuvarande infrastrukturen. Som tur är rör sig tredjepartsverktyg inom säkerhet och dess leverantörer mot att att stödja passkeys, och detta kan mycket förenkla processen att införliva dem.

Att lägga till autentisering med passkeys till en applikation medför modifiering av komponenterna för fram- och baksidor. Detta för att stödja standardiserade arbetsflöden för autentisering som skapande av konton, återkallande och inloggning. Här finns också specialfallet med att konvertera lösenordsbaserade konton till konton för passkeys.

API:et WebAuthn

I webbläsaren kan API:et WebAuthn API användas som en standardmekanism för att skapa en brygga mellan applikationskoden och stödet för passkeys. WebAuthn låter utvecklare generera en ny passkey (alltså stödja en “Create Passkey”-funktion) på framsidan. (Kom ihåg att den privata nyckeln aldrig lämnar användarens enhet).

Processen att skapa en passkey kommer kräva information från baksidans server (såsom user.id och ett utmanings-fält som används senare under autentiseringen). Detta är data som kommer binda samman den specifika applikationen, användaren och en passkey. När detta är skapat skickar framsidan den publika nyckeln till servern för att lagras där för framtida autentiseringar.

De flesta webbläsare stödjer WebAuthn redan idag. Utöver det måste enheterna i sig stödja en plattformsbaserad autentiserare för passkeys. Men det finns numer i de flesta enheter. (Webbläsarnas WebAuthn-API:er inkluderar nu en villkorsflagga för enkel kontroll av enheternas stöd).

Att stödja passkeys betyder, ur ett skruv-och-mutter-perspektiv, att införa Javascript-kod för att hantera interaktionen i autentiseringen, skriva en del UI-kod, och API:et för baksidan som svarar på förfrågningar och bevarar data. Det är möjligt att direkt använda WebAuthns bibliotek på serversidan för att processa förfrågningar på baksidan, men att använda öppen källkodsbibliotek kan förenkla det hela.