Det grundlæggende problem med adgangskodeautentificering
Undersøg, hvorfor traditionel adgangskodeautentificering skaber angrebsflader på serversiden, og hvilke protokoller der løser problemet.
Det grundlæggende problem med adgangskodeautentificering er en gratis Cryptology Academy-lektion på CoddyKit. Dette er lektion 1 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.
Den traditionelle adgangskodemodel
Ved traditionel adgangskodegodkendelse sender klienten adgangskoden eller en hashværdi af den til serveren, som sammenligner den med en lagret værdi. Modellen er enkel, men koncentrerer en enorm risiko på serveren: En kompromitteret database afslører alle brugerens loginoplysninger på én gang.
Serverkompromittering og knækning af hashværdier
Når en angriber bryder ind på en server og stjæler adgangskodedatabasen, kan angriberen udføre et offline-ordbogsangreb med fuld GPU-hastighed uden hastighedsbegrænsning. Moderne GPU'er kan afprøve milliarder af adgangskodegæt pr. sekund mod bcrypt- eller SHA-256-hashværdier, så svage eller almindelige adgangskoder kan gendannes uden større besvær.
Genbrug af adgangskoder forstærker databrud
Undersøgelser viser konsekvent, at flertallet af brugere genbruger adgangskoder på tværs af flere websteder. En enkelt kompromitteret server lækker derfor loginoplysninger, der virker på andre tjenester. Angreb med automatiseret afprøvning af loginoplysninger automatiserer testen af lækkede par af brugernavne og adgangskoder mod populære websteder og forvandler ét databrud til mange.
Phishing omgår beskyttelsen på serversiden
Sikring af adgangskoder på serversiden (stærk hashing, saltning og begrænsning af antallet af forsøg) beskytter ikke mod phishing. Når en bruger indtaster sin adgangskode på et falsk websted, får angriberen adgang til adgangskoden i klartekst, uanset hvor godt den legitime server gemmer den. Phishing er i dag den mest udbredte angrebsvej til tyveri af legitimationsoplysninger.
Credential stuffing i stor skala
Databaser med milliarder af lækkede brugernavn/adgangskode-par fra tidligere databrud er offentligt tilgængelige på det mørke web. Angribere bruger automatiserede værktøjer til at afprøve disse legitimationsoplysninger mod finansielle institutioner, e-handelswebsteder og e-mailudbydere i industriel skala og får succes, når brugere har genbrugt en adgangskode, der tidligere er blevet kompromitteret.
Serveren lærer din adgangskode
Ved traditionel adgangskodeautentifikation får serveren nødvendigvis kendskab til brugerens adgangskode i klartekst under logonprocessen, selv hvis det kun sker kortvarigt, før den hashes. Det betyder, at enhver serveroperatør skal have fuld tillid, så vedkommende ikke misbruger, skriver legitimationsoplysninger i loggen eller utilsigtet eksponerer dem, hvilket sjældent kan garanteres i praksis.
Det, vi faktisk ønsker
En ideel autentifikationsprotokol skulle gøre det muligt for en bruger at bevise, at vedkommende kender sin adgangskode, uden nogensinde at afsløre den for serveren. Serveren skulle også bevise, at den er den legitime server (gensidig autentifikation), så phishing forhindres. En kompromitteret serverdatabase skulle ikke afsløre noget nyttigt for en angriber.
Nulvidensbevis anvendt til autentifikation
Nulvidensbeviser udgør en teoretisk ramme for dette: En beviser kan overbevise en verifikator om, at en hemmelighed er gyldig, uden at afsløre selve hemmeligheden. Adgangskodeautentifikationsprotokoller som SRP og OPAQUE anvender disse principper for at opnå autentifikation uden direkte overførsel af adgangskoden eller lagring af adgangskoder på serversiden.
Modstandsdygtighed over for ordbogsangreb
Stærke protokoller til adgangskodeautentifikation bør være modstandsdygtige over for offline-ordbogsangreb, selv hvis serverens lagrede data bliver fuldstændig kompromitteret. Det betyder, at den lagrede verifikator ikke må kunne bruges direkte til at udgive sig for brugeren og ikke må gøre det muligt effektivt at gætte adgangskoden offline uden serverens medvirken.
Tillidsproblemet i stor skala
Med hundredvis af tjenester, der kræver autentifikation, kræver den traditionelle model, at du stoler på hver enkelt tjenesteoperatør med en hemmelighed, som kan blive genbrugt andre steder. Løsningen er helt at fjerne overførsel af adgangskoder, kun at gemme verifikatorer, der ikke kan genbruges, og at knytte autentifikationen til den specifikke serveridentitet for at forhindre phishing.
Vejen frem
Moderne løsninger omfatter SRP (Secure Remote Password), OPAQUE og FIDO2/adgangsnøgler. Hver løsning håndterer forskellige aspekter af det grundlæggende problem. SRP og OPAQUE fjerner serverens kendskab til adgangskoden. FIDO2/adgangsnøgler fjerner adgangskoder helt ved at bruge kryptografi med offentlige nøgler, der er knyttet til den specifikke oprindelse.
Kontrol af svagheder ved adgangskodeautentifikation
Hvilket angreb forhindres IKKE af stærk hashing af adgangskoder på serversiden (f.eks. bcrypt)?
Opsummering af lektionen: Problemet med adgangskoder
Traditionel adgangskodeautentifikation kræver, at servere verificerer hemmeligheder, som de selv får kendskab til, muliggør offline-cracking efter databrud og besejres af phishing. Genbrug af adgangskoder gør individuelle databrud til systemiske fejl. Det ideelle system giver gensidig autentifikation uden overførsel af hemmeligheder, gemmer kun verifikatorer, der ikke kan knækkes, og knytter autentifikationen til serveridentiteten.
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 “Det grundlæggende problem med adgangskodeautentificering” gratis?
Ja — hele teksten til “Det grundlæggende problem med adgangskodeautentificering” 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 “Det grundlæggende problem med adgangskodeautentificering”?
Undersøg, hvorfor traditionel adgangskodeautentificering skaber angrebsflader på serversiden, og hvilke protokoller der løser problemet. 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 1 af 4.
Hvor lang tid tager lektionen “Det grundlæggende problem med adgangskodeautentificering”?
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
- Det grundlæggende problem med adgangskodeautentificering
- SRP: Secure Remote Password Protocol
- PAKE-protokoller og deres egenskaber
- Adgangskodefri autentificering: WebAuthn og FIDO2