Cryptology Academy · Lektion

Adgangskodefri autentificering: WebAuthn og FIDO2

Undersøg W3C-standarden WebAuthn og FIDO2-passkeys som fremtidens autentificering.

Lektion 4 af 413 trin

Adgangskodefri autentificering: WebAuthn og FIDO2 er en gratis Cryptology Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cryptology Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cryptology Academy-kurset indeholder 4 lektioner i alt.

FIDO2-arkitektur

FIDO2 er samlebetegnelsen for W3C's specifikation for webautentificering (WebAuthn) kombineret med FIDO Alliancens Client-to-Authenticator Protocol 2 (CTAP2). Tilsammen definerer de et komplet system til autentificering uden adgangskode, der bruger kryptografi med offentlige nøgler bundet til den afhængige parts oprindelse.

Typer af autentificeringsenheder

FIDO2 understøtter to kategorier af autentificeringsenheder. Platformbaserede autentificeringsenheder er indbygget i enheden: Touch ID og Face ID på Apple-enheder samt Windows Hello på Windows. Flytbare autentificeringsenheder er eksterne hardwaretokens: YubiKey, Google Titan Key og Feitian-nøgler. Alle bruger kryptografi med offentlige nøgler og genererer attesteringserklæringer.

Registrering: Oprettelse af legitimationsoplysninger

Under WebAuthn-registreringen genererer autentificeringsenheden et nyt asymmetrisk nøglepar til den afhængige part. Den offentlige nøgle sendes til serveren og gemmes. Den private nøgle forlader aldrig autentificeringsenheden. En attesteringserklæring beviser autentificeringsenhedens type og, at nøglen blev genereret i autentificeringsenhedens hardware.

Autentificering: Autentificeringspåstand

Under WebAuthn-autentificering sender serveren en udfordring til klienten. Autentificeringsenheden underskriver udfordringen sammen med id'et for den afhængige part og klientdataene ved hjælp af den gemte private nøgle. Serveren verificerer signaturen med den gemte offentlige nøgle. Der overføres ikke nogen delt hemmelighed på noget tidspunkt.

Binding til oprindelsen forhindrer phishing

Id'et for den afhængige part i en WebAuthn-autentificeringspåstand er kryptografisk bundet til oprindelsen (domænet) for den side, der sender anmodningen. En autentificeringsenhed vil afvise at underskrive en autentificeringspåstand for en anden oprindelse end den, den blev registreret med. Derfor er WebAuthn modstandsdygtig over for phishing i kraft af sin konstruktion: Et falsk phishingwebsted kan ikke gennemføre autentificeringen.

Opdagelige legitimationsoplysninger og ægte autentificering uden adgangskode

Opdagelige legitimationsoplysninger (tidligere kaldet residente nøgler) gemmes på selve autentificeringsenheden og indekseres efter id'et for den afhængige part. Det muliggør ægte autentificering uden adgangskode: Brugeren præsenterer sin autentificeringsenhed, vælger sin konto blandt de legitimationsoplysninger, der er gemt på enheden, og autentificerer sig uden at indtaste et brugernavn eller en adgangskode.

Brugerbekræftelse kontra brugerens tilstedeværelse

WebAuthn skelner mellem brugerbekræftelse (UV) og brugerens tilstedeværelse (UP). Brugerens tilstedeværelse kræver kun, at brugeren rører ved eller trykker på autentificeringsenheden. Brugerbekræftelse kræver desuden en PIN-kode eller en biometrisk kontrol, der beviser, at den pågældende person er til stede. Programmer med høje sikkerhedskrav bør kræve UV ved autentificering.

CTAP2-protokollen

CTAP2 definerer protokollen mellem klienten (browseren eller operativsystemet) og en ekstern flytbar autentificeringsenhed via USB, NFC eller BLE. Den angiver kommandoerne til oprettelse af legitimationsoplysninger, generering af autentificeringspåstande og administration af autentificeringsenheden. CTAP2.1 tilføjer funktioner som administration af legitimationsoplysninger og politikker, der altid kræver UV.

Adgangsnøgler: Synkroniserede legitimationsoplysninger

Adgangsnøgler er opdagelige WebAuthn-legitimationsoplysninger, der synkroniseres på tværs af brugerens enheder via platformleverandørens krypterede sky (iCloud Keychain for Apple, Google Password Manager og Windows Hello for Business). Adgangsnøgler giver autentificering uden adgangskode og er tilgængelige på tværs af enheder, så de kombinerer sikkerhed med den bekvemmelighed, brugere forventer af adgangskoder.

Brugeroplevelsesforløb for adgangsnøgler

Et typisk autentificeringsforløb med en adgangsnøgle ser sådan ud: Brugeren besøger et websted og klikker på "Log ind med adgangsnøgle". Browseren viser de tilgængelige adgangsnøgler til webstedet. Brugeren autentificerer sig med biometri (Face ID, Touch ID eller Windows Hello). Browseren underskriver udfordringen og sender autentificeringspåstanden. Hele forløbet tager få sekunder og kræver ingen indtastning af en adgangskode.

WebAuthn sammenlignet med traditionel autentificering

Traditionelle adgangskoder: kan udsættes for phishing, genbruges og knækkes efter databrud. Engangskoder (TOTP): kan stjæles via phishing i realtid. SMS-koder: kan omgås ved at skifte SIM-kort og kan stjæles via phishing. WebAuthn/adgangsnøgler: modstandsdygtige over for phishing gennem binding til oprindelsen, ingen hemmelighed på serveren, der kan stjæles, unikke for hvert websted og private nøgler beskyttet af hardware. WebAuthn er den stærkeste bredt udbredte autentificeringsmekanisme, der er tilgængelig i dag.

Kontrolspørgsmål: WebAuthn eller adgangskoder

Hvilken egenskab ved WebAuthn gør teknologien grundlæggende modstandsdygtig over for phishingangreb i modsætning til adgangskoder eller TOTP-koder?

Lektionens opsummering: FIDO2 og WebAuthn

FIDO2 kombinerer WebAuthn (W3C) og CTAP2 (FIDO Alliance) til autentificering uden adgangskode, der er modstandsdygtig over for phishing. Platformbaserede autentificeringsenheder (Touch ID, Face ID) og flytbare autentificeringsenheder (YubiKey) bruger kryptografi med offentlige nøgler bundet til den afhængige parts oprindelse. Adgangsnøgler udvider dette med synkronisering på tværs af enheder. WebAuthn giver den stærkeste bredt tilgængelige autentificeringssikkerhed i dag.

Gratis at komme i gang

Lær Cryptology Academy med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
67
Lektioner
261

Ofte stillede spørgsmål

Er lektionen “Adgangskodefri autentificering: WebAuthn og FIDO2” gratis?

Ja — hele teksten til “Adgangskodefri autentificering: WebAuthn og FIDO2” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cryptology Academy-kurset, skal du opgradere til CoddyKit PRO. Cryptology Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Adgangskodefri autentificering: WebAuthn og FIDO2”?

Undersøg W3C-standarden WebAuthn og FIDO2-passkeys som fremtidens autentificering. Du øver dig i Cryptology Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cryptology Academy?

Der kræves ingen tidligere erfaring. Cryptology Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Adgangskodefri autentificering: WebAuthn og FIDO2”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Cryptology Academy-lektion?

Ja. Alle Cryptology Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Det grundlæggende problem med adgangskodeautentificering
  2. SRP: Secure Remote Password Protocol
  3. PAKE-protokoller og deres egenskaber
  4. Adgangskodefri autentificering: WebAuthn og FIDO2
← Tilbage til Cryptology Academy