Passnøkler: en oversikt

Av Natalia Moskaleva den 13. desember 2024

7 min lesetid

<span id="hs_cos_wrapper_name" class="hs_cos_wrapper hs_cos_wrapper_meta_field hs_cos_wrapper_type_text" style="" data-hs-cos-general-type="meta_field" data-hs-cos-type="text" >Passnøkler: en oversikt</span>

Passnøkler er en ny type påloggingsinformasjon som helt erstatter passord.

Passnøkler er sikrere enn passord, enkle å bruke og blir stadig mer utbredt. Fra og med april 2024 har store teknologiselskaper som Apple, Google og Microsoft rullet ut støtte for passnøkler på tvers av plattformene sine. Store nettlesere og over hundre nettsteder er også med på laget. I tillegg er ledende passordadministratorer som 1Password og Bitwarden i ferd med å gå over til å bruke passnøkler.

Hvis du ennå ikke har opplevd passordnøkler på nært hold, kan du forvente å møte dem snart. Her er det du trenger å vite om denne nye autentiseringsmetoden.

Terminologi

La oss starte med en kort oversikt over terminologien knyttet til passnøkler.

FIDO (Fast IDentity Online): et sett med åpne, standardiserte autentiseringsprotokoller opprettet av FIDO Alliance. FIDO-protokollene bruker kryptografiteknikker med offentlig nøkkel og lokale autentiseringsmetoder for å muliggjøre passordfri innlogging. Den nyeste FIDO2-spesifikasjonen omfatter webautentisering (WebAuthn) og FIDO Client to Authenticator Protocol (CTAP) .

Kryptografi med offentlig nøkkel (eller asymmetrisk kryptografi): et kryptografisk system som baserer seg på asymmetriske nøkkelpar. Et nøkkelpar består av to tilsvarende nøkler - en offentlig og en privat - som er matematisk knyttet sammen. Den offentlige nøkkelen kan deles åpent, mens den private nøkkelen skal holdes konfidensiell. Nøkkelpar kan brukes til signering og verifisering eller kryptering og dekryptering. Asymmetrisk kryptografi er grunnleggende for moderne Internett-sikkerhet og ligger til grunn for mye brukte protokoller som SSH og HTTPS/TLS.

Web Authentication API (WebAuthn): En spesifikasjon og et standard API som gjør det mulig for webservere å registrere og autentisere brukere ved hjelp av offentlig nøkkelkryptografi. WebAuthn er den underliggende protokollen for passnøkler.

Passkey: en legitimasjon som gjør det mulig for brukere å bevise sin identitet under autentisering. Passnøkler er formelt definert i et sett med tekniske spesifikasjoner: FIDO2 og WebAuthn. Den viktigste byggesteinen i passkeys-infrastrukturen er et offentlig-privat nøkkelpar som kalles FIDO-legitimasjon. Passkoder kan ligge utelukkende på brukerens enhet eller synkroniseres i skyen på plattformen de ble opprettet med.

Hva er passnøkler?

En passnøkkel er egentlig et digitalt token som er lagret på enheten din (PC, smarttelefon, sikkerhetsnøkkel osv.). I motsetning til et passord er ikke en passnøkkel noe du må skrive inn eller huske.

Hovedelementet i en passnøkkel er en kryptografisk privatnøkkel i et asymmetrisk nøkkelpar: Den genereres og lagres sikkert på enheten din. Når du logger på med en passnøkkel, skriver du ikke inn et passord. I stedet bruker du den metoden du allerede bruker for å låse opp enheten din: et fingeravtrykk, ansiktsgjenkjenning, en PIN-kode eller et mønster. Dette beviser identiteten din. Når enheten er låst opp, får den automatisk tilgang til den private nøkkelen og bruker den til autentisering. Du ser ikke den private nøkkelen, og du trenger ikke å kjenne til den. Autentiseringen skjer stille og rolig i bakgrunnen når enheten bruker den private nøkkelen til å signere en kryptografisk utfordring. Vi skal se hvordan dette fungerer lenger nede.

For å gjenta: Den private nøkkelen bak passordet ditt ligger på enheten der den ble generert. I visse tilfeller kan operativsystemet, skytjenesten eller passordadministratoren synkronisere denne nøkkelen til andre enheter. Leverandører av passordsynkronisering som iCloud Keychain og Google Password Manager bruker ende-til-ende-kryptering for å holde de private nøklene dine konfidensielle.

Hvordan erstatter passordnøkler passord?

Passnøkler eliminerer avhengigheten av delte hemmeligheter, som er kjernen i tradisjonell passordautentisering. I stedet utnytter de et unikt matematisk forhold mellom de to nøklene i et asymmetrisk nøkkelpar.

Brukerens enhet genererer de to nøklene samtidig, og brukeren deler deretter den offentlige nøkkelen med nettjenesten når han eller hun registrerer seg. Deling av den offentlige nøkkelen kompromitterer ikke sikkerheten til brukerens identitet: Det er offentlig informasjon som kan deles uten risiko. Den private nøkkelen holdes derimot konfidensiell. For å autentisere seg må brukeren bevise at han eller hun har den tilsvarende private nøkkelen i det opprinnelige nøkkelparet.

Et nøkkelpar er ikke knyttet til en bestemt person, og alle kan generere et nøkkelpar på enheten sin. Men de to nøklene er kryptografisk knyttet sammen, slik at den offentlige nøkkelen bare kan verifisere data som er signert med den tilsvarende private nøkkelen. Det er dette spesielle forholdet mellom de to nøklene som gjør at passnøkler kan erstatte passord i autentiseringsflyter.

WebAuthn: Hvordan fungerer det under panseret?

La oss ta en nærmere titt på den underliggende WebAuthn-protokollen og mekanismene for hvordan passordene genereres og brukes.

WebAuthn er et nettleser-API som gjør det mulig for applikasjoner å opprette og bruke passnøkler for pålogging. Det involverer tre hovedaktører: den avhengighetsskapende parten, klienten og autentiseringsenheten.

  • Den pålitelige parten (RP) er et nettsted (eller en webserver) som brukeren skal autentisere seg mot.
  • Klienten er en nettleser eller et operativsystem som brukes til å få tilgang til den pålitelige parten.
  • Autentiseringsenheten er et sikkert maskinvareelement eller en kryptografisk autentiseringsenhet som brukeren kan samhandle med. Autentiseringsenheter gjør det mulig å generere og lagre asymmetriske nøkkelpar.

WebAuthn beskriver to steg for å muliggjøre pålogging: registrering og autentisering.

Registrering

Som ved tradisjonell passordbasert autentisering må brukeren registrere seg hos nettjenesten (Relying Party, RP) når han eller hun prøver å få tilgang til den for første gang.

Prosessen er som følger:

  1. Brukeren oppretter en forbindelse med RP.
  2. Brukerens enhet genererer et nytt par asymmetriske nøkler spesielt for den aktuelle RP-en.
  3. Enheten knytter den private nøkkelen til RPs ID og domene og lagrer den på et sikkert sted (f.eks. Windows Credential Manager eller iPhone Keychain).
  4. Den offentlige nøkkelen deles med RP, som lagrer brukerens ID og offentlige nøkkel sammen. Dette sikrer at den offentlige nøkkelen er unikt knyttet til brukeren.

Autentisering

Neste gang brukeren logger på, sender RP en kryptografisk utfordring til brukeren. Brukeren må svare ved å signere utfordringen med den private nøkkelen som er knyttet til denne RP-en.

Slik fungerer det:

  1. Brukeren starter påloggingsprosessen.
  2. RP genererer en kryptografisk utfordring (vanligvis et stort tilfeldig tall) og sender den til brukeren.
  3. Brukeren verifiserer identiteten sin ved hjelp av den foretrukne enhetsbaserte metoden, for eksempel et biometrisk kjennetegn eller en PIN-kode. Dette trinnet gir tilgang til den private nøkkelen som er lagret på enheten (autentiseringsenheten).
  4. Den private nøkkelen brukes til å signere RPs kryptografiske utfordring.
  5. Den signerte utfordringen sendes tilbake til RP.
  6. RP verifiserer signaturen ved hjelp av den offentlige nøkkelen som er knyttet til brukeren.

WebAuthn Authentication diagram

En vellykket verifisert signatur sikrer meldingens integritet og bekrefter at den ikke har blitt manipulert.

Denne prosessen beviser at brukeren som har signert meldingen, er eieren av den private nøkkelen.

Brukeren samhandler aldri direkte med den private nøkkelen. I stedet får de bare tilgang til den private nøkkelen som er lagret på enheten ved å oppgi biometriske data eller PIN-kode.

Hvordan fungerer autentiseringsverktøy?

Med passnøkler trenger du ikke å bruke en smarttelefon hver gang du logger inn. Du kan opprette en egen passnøkkel på hver enhet du bruker (f.eks. en bærbar datamaskin, PC eller nettbrett). Noen plattformer tilbyr sikkerhetskopiering og synkronisering av passnøkkelen på tvers av brukerens enheter.

Det er også mulig å opprette en passnøkkel på én enhet, men bruke en annen enhet til å logge inn. La oss si at du bruker en bærbar Windows-maskin til å logge inn på en konto som iPhone-enheten din har opprettet den opprinnelige passnøkkel for. I dette tilfellet trenger iPhone-enheten din bare å være fysisk nær den bærbare Windows-maskinen. Under autentiseringen blir dette bekreftet via Bluetooth eller ved å skanne en QR-kode.

Oppsummert finnes det to typer autentisering:

  • Plattformautentiseringsenheter er bygget direkte inn i en enhet eller er programvarekomponenter som opererer på den (f.eks. Google Password Manager eller Apple iCloud Keychain).
  • Roaming-autentiseringsenheter kan brukes på andre enheter enn den brukeren autentiserer seg på. Hvis en autentisering er innebygd i en enhet, men gjør det mulig for andre enheter å få tilgang til en tjeneste, er det en roaming-autentisering. Sikkerhetsnøkler og smarttelefoner (når de brukes med en annen enhet) er roamingautentiseringsenheter.

Hvorfor er passnøkler bedre enn passord?

Passord skaper visse problemer for både sluttbrukere og utviklere. Passkoder løser mange av dem:

  1. Ingen flere passord som er lette å gjette: Passnøkler genereres automatisk ved hjelp av en sikker algoritme med randomiserte parametere. Dermed elimineres risikoen for ordbokbaserte angrep på grunn av svake passord.

  2. Sikrere lagring: Det private elementet i en passnøkkel lagres sikkert i en betrodd autentiseringsenhet, slik at sårbarheten forbundet med mangelfull lagringspraksis på klientsiden elimineres. Passnøklene lagres ikke lenger på usikre steder som post-it-lapper eller kontaktlister på mobiltelefonen.

  3. Unikt passord for hvert nettsted (ingen gjenbruk av legitimasjon): Det opprettes automatisk ulike passordnøkler for ulike nettsteder. Dette eliminerer risikoen for gjenbruk av passord, reduserer faren for "credential stuffing" og reduserer virkningen av kompromittert legitimasjon.

  4. Ingen hemmeligheter sendes over Internett: Passnøkler baserer seg på å sende en signert utfordring - ikke den faktiske private nøkkelen - til nettstedet under pålogging. Den private nøkkelen forblir trygt på brukerens enhet uten risiko for å bli avlyttet på reise.

  5. Ingen flere minimumskriterier for passord: Med passnøkler er det ikke lenger behov for komplekse, vilkårlige krav til f.eks. passordlengde eller tegnsett.

  6. Forbedret databasesikkerhet: Det private elementet i en passnøkkel lagres aldri i serverdatabaser. Dette eliminerer risikoen for utilstrekkelige lagringsrutiner eller potensielle databasesikkerhetsbrudd. (Selv om nettsteder fortsatt må sikre resten av dataene de samler inn).

  7. Slutt på nettfisking: Passnøkler forhindrer forsøk på nettfisking ved at det ikke lenger er nødvendig å skrive inn passord på et nettsted. Siden all legitimasjon er knyttet til en bestemt nettjeneste - et nøkkelpar som er registrert på example.com, kan ikke brukes på evil-example. com - bør enheten din gjenkjenne et phishing-nettsted som falskt. Fordi domenet er forskjellig, vil det falske phishing-nettstedet ikke engang vise passnøkkelprompten i utgangspunktet.

Hva betyr passnøkler for Single-Sign-On og OpenID Connect?

Passnøkler introduserer en ny måte å autentisere en bruker på, men endrer ikke måten utviklere håndterer den resulterende autentiseringsøkten på. Når den avhengighetsskapende parten har autentisert brukeren, kan den generere en informasjonskapsel for autentisering eller en JWT, akkurat som den gjorde med passordbasert autentisering.

Derfor kan passnøkler og SSO sameksistere sømløst, og det er fortsatt mulig å bruke én konto for å få tilgang til flere applikasjoner. På samme måte kan passkoder sameksistere med OpenID Connect eller OAuth 2.0: Etter en passnøkkelbasert autentisering kan identitetsleverandøren eller autorisasjonsserveren utstede de nødvendige tokens som vanlig.

Oppsummering

Passordnøkler representerer et fremskritt når det gjelder autentiseringsmetoder sammenlignet med tradisjonelle passord. De tilbyr en sjelden kombinasjon av sikkerhet og bekvemmelighet, og avhjelper mange av manglene ved tradisjonell passordbasert autentisering. Brukeropplevelsen med passnøkler er rask, smidig og praktisk.

Det har vært et enestående samarbeid og fremdrift i bransjen når det gjelder å ta i bruk passnøkler. Dette betyr ikke at passord vil forsvinne i nær fremtid: De vil sannsynligvis forbli en alternativ metode for pålogging på kontoer en stund til.

Men overgangen til passordfri innlogging har allerede startet.