
Passkeys – säker inloggning utan strul
Att bygga ett system för att hantera inloggning är inte helt lätt. Det ställs så höga krav på säkerhet, tillgänglighet och följande av olika standarder att det ofta är motiverat att köpa in en extern tjänst för att slippa hantera allt själv. – Men, med passkeys är det inte längre så krångligt!
Passkeys är en slags kryptografisk nyckel som kan användas för att visa att användaren är just den som hen utgett sig för att vara. Tekniken baseras på en kombination av en hemlig och en publik nyckel, liknande hur HTTPS eller SSH fungerar. Istället för att bygga en hel tjänst för inloggning behöver en webbplats nu bara spara en kopia av den publika nyckeln och koppla den till en användare.
Hur blir det för användarna nu då? Användarnamn och lösenord har ju funnits hur länge som helst, måste de lära sig nya grejer nu? – Nej, faktum är att nästan alla idag redan använder teknik för att kunna använda passkeys utan att veta om det! De flesta operativsystem och webbläsare, även på mobiltelefoner, har redan stöd för passkeys och delar av interaktionerna används redan. Det är inte svårare än att använda ditt fingeravtryck eller ansiktsscanning på din telefon, vilket många redan gör idag.
Lösenord är svåra att komma ihåg och lätta att hacka. Passkeys är säkra och behöver inte läggas på minnet.
I praktiken fungerar det så att när en användare vill skapa ett konto på en webbplats skickas en fråga enligt ett standardiserat protokoll (WebAuthn) till användarens webbläsare. Användaren ombeds då skapa en ny nyckel genom att t ex läsa av fingeravtrycket. Den publika delen av nyckeln skickas till webbservern och den hemliga delen sparas på användarens enhet. När användaren senare vill logga in sker i princip samma sak. En fråga skickas, användaren godkänner på samma sätt (t ex fingeravtryck) och servern kan då se att svaret krypterats med korrekt nyckel.
Hur säkra är passkeys?
Att knäcka krypteringen i passkeys är i princip omöjligt med dagens teknik. Det enda sättet att logga in som en annan användare är att komma över både användarens enhet och lura dess interna verifieringssystem (fingeravtryck, face-id etc) vilket inte är särskilt troligt. Lagringen och krypteringen av nycklarna sköts av användarens operativsystem, det är alltså företag som Microsoft, Apple, Google som byggt detta. Det är därmed ordentligt testade system som används här.
För varje ny webbplats skapas ett unikt nyckelpar som inte går att använda för en annan webbplats. Användaren behöver inte komma ihåg några lösenord så ingen information återanvänds. Detta medför att webbplatsen bör tillåta en användare att lagra flera olika nycklar om hen vill kunna logga in med olika enheter (iOS och Android har idag stöd för att synka passkeys mellan enheter).
Då användaren aldrig fyller i något lösenord eller liknande finns det inte heller någon risk för så kallade phishing-attacker. Allt sköts automatiskt i bakgrunden och nyckelparet används endast på en unik webbplats och kommer inte att aktiveras på en fejk-sajt som ser likadan ut.
Om olyckan skulle vara framme och hackers får tag i webbserverns lista på publika nycklar kan de inte användas till någonting. För att logga in på en användares konto krävs nämligen den hemliga nyckeln som bara finns i användarens enhet.
Måste vi lagra fingeravtryck nu?
För att använda passkeys måste användaren autentisera sig i sin enhet. På många enheter, t ex laptops och i mobiltelefoner, används biometrisk data som fingeravtryck eller en ansiktsbild. Allt detta sker dock lokalt på enheten. Ingen känslig information skickas till varken webbservern eller till globala IT-jättar. Det enda som skickas från servern är en slumpmässig datamängd som sedan krypteras med hjälp av användarens hemliga nyckel och skickas tillbaka till servern. Servern kan då med hjälp av den publika nyckeln se att datamängden krypterats av rätt användare.
Det är alltså säkert ur integritetssynpunkt att använda passkeys, men det kan vara en bra idé att vara tydlig med detta mot användarna då tekniken ändå är relativt ny för de flesta.
Fördelarna med passkeys kan sammanfattas så här:
- Passkeys är säkrare än lösenord.
- Passkeys kräver inte att användare behöver komma ihåg krångliga lösenord.
- Det är enklare och billigare att implementera än lösenord.
- Passkeys är redan tillgängligt för i princip alla era användare idag.
Det är dags att sluta bygga osäkra system som kostar både tid och pengar och börja använda framtidens inloggningsttjänster. Enkelt och säkert!