Engangskode (OTP)
Også kendt som: OTP, sms-kode, engangskodeord
En kort kode, der virker til ét enkelt login og derefter udløber, sendt som sms eller vist i en app.
Kladde - dette opslag er endnu ikke gennemgået.
Formelt
En kode, der gælder til én brug eller et kort tidsrum, beregnet af en app eller et token ud fra en delt hemmelighed og uret eller en tæller, eller sendt som sms - brugt som "noget man har"-faktoren i MFA.
Forklaret enkelt
Som en billet, der bliver revet over ved indgangen - den lukker én ind én gang, og en kopi er intet værd bagefter.
I praksis
En advokat i et dansk advokatfirma logger ind i sagssystemet hjemmefra; efter adgangskoden taster hun de seks cifre, som en app på telefonen viser, og som skifter hvert 30. sekund.
Hvorfor det betyder noget
En stjålet adgangskode alene er ikke længere nok, men en kode kan stadig lokkes ud af folk på en falsk side, så phishing-sikre metoder er stærkere.
Teknisk uddybning
To åbne algoritmer dominerer. HOTP (RFC 4226, 2005) beregner HMAC-SHA-1 over en 8-byte tæller med en delt hemmelighed K og anvender derefter dynamisk trunkering: de fire laveste bit i den sidste byte af den 20 byte lange HMAC udpeger et offset, fire bytes fra det offset læses som et 31-bit heltal, og resultatet modulo 10^d giver en kode på d cifre (som standard seks). TOTP (RFC 6238, 2011) erstatter tælleren med T = floor((Unix-tid − T0) / X), hvor T0 = 0 og tidsskridtet X som standard er 30 sekunder, og tillader HMAC-SHA-256 og HMAC-SHA-512 ud over SHA-1. De fleste autentifikator-apps bruger stadig SHA-1, seks cifre og 30 sekunder, hvilket er forsvarligt her, fordi HMAC's sikkerhed ikke afhænger af SHA-1's kollisionsresistens.
Verifikationen kræver tolerance. HOTP-servere bruger et look-ahead-vindue til at gensynkronisere, når brugeren har trykket på tokenet uden at logge ind; TOTP-servere accepterer typisk ét tidsskridt til hver side for at tage højde for urforskydning og netværksforsinkelse, og RFC 6238 anbefaler højst ét skridt bagud. Begge kræver begrænsning af forsøg: en sekscifret kode har kun 10^6 værdier, så uden rate limiting kan en angriber gætte inden for et gyldighedsvindue, og NIST SP 800-63B kræver, at verifikatoren begrænser antallet af fejlede forsøg i træk. En verifikator skal også afvise genbrug af en kode, der allerede er accepteret inden for vinduet, ellers kan en aflurt eller opsnappet kode afspilles igen.
Tilmelding sker som regel via en QR-kode med en otpauth://-URI (et de facto-format, der stammer fra Google Authenticator, ikke en IETF-standard), som indeholder den Base32-kodede hemmelighed, udsteder, konto og parametre. Fordi verifikatoren skal beregne samme HMAC, gemmer den hemmeligheden i genskabelig form frem for som et envejshash; et brud på seed-databasen kompromitterer alle tokens, som angrebet på RSA's SecurID-seeds i 2011 viste. Ældre ordninger omfatter S/KEY (Lamports hashkæde, RFC 1760) og proprietære hardwaretokens.
Sms-engangskoder er en anden mekanisme: serveren genererer en tilfældig kode og sender den out-of-band over telefonnettet. Den arver nettets svagheder - SIM-swap-svindel, nummerflytning, SS7-aflytning og malware, der læser sms'er på enheden - og derfor klassificerer NIST levering via PSTN som en "restricted" autentifikator. Alle OTP-varianter deler en strukturel begrænsning: koden er en ihændehaverværdi, som et menneske taster, og den er ikke bundet til sitets origin, så en adversary-in-the-middle-phishingside kan videresende den inden for gyldighedsvinduet. OTP gør derfor credential stuffing og genbrug af adgangskoder dyrere for angriberen, men er ikke phishing-resistent i NIST's forstand, i modsætning til FIDO2/WebAuthn-passkeys.
Hvad du bør lære først
Alt det, dette bygger på - grundlaget først.
- Digital identitet
- →Loginoplysning (credential)
- →Autentificering
- →Engangskode (OTP)
Relationer
- En slags
- Autentificeringsfaktor
- Forudsætter
- Autentificering
- Forveksl ikke med
- Passkey
- Afbøder
- Credential stuffing
- Bruges sammen med
- AdgangskodeTo-faktorautentificeringMultifaktorgodkendelse
Kilder og videre læsning
Standarder og officielle tekster
- RFC 6238 - TOTP, Time-Based One-Time Password Algorithm
- NIST SP 800-63B - Digital Identity Guidelines, Authentication and Lifecycle Management
Kursusmateriale
- Cyber Security Fast Track - Kursuskompendium, Ordliste (MFA - SMS-kode eller app-godkendelse)
Hvor dataene kommer fra
Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.
Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON
Nævnt i
Test dig selv
Indlæser…