Cyber Security Academy · leksjon

Passord-hashing: bcrypt, Argon2, PBKDF2

Lær hvorfor lagring av klartekst er farlig, og hvordan hashing med salt beskytter passord.

Leksjon 2 av 413 trinn

Passord-hashing: bcrypt, Argon2, PBKDF2 er en gratis leksjon i Cyber Security Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Cyber Security Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Cyber Security Academy inneholder totalt 4 leksjoner.

Hvorfor bør passord ikke lagres i klartekst?

Det er katastrofalt å lagre passord i klartekst – ett enkelt datainnbrudd eksponerer alle kontoer. Passord må behandles med en enveisfunksjon før lagring, slik at selv tilgang til databasen ikke avslører originalpassordet.

Hva er hashing?

En hashfunksjon konverterer inndata av vilkårlig lengde til et resultat med fast lengde. De samme inndataene gir alltid det samme resultatet, men originalen kan ikke gjenskapes fra hashen. Eksempler: SHA-256, bcrypt, Argon2.

Hvorfor ikke bruke SHA-256 for passord?

Generelle hashfunksjoner som SHA-256 er utformet for å være raske. En angriper kan beregne milliarder av SHA-256-hasher per sekund på en GPU, noe som gjør brute force-knekking mulig.

Passordhashing krever trege og ressurskrevende funksjoner.

Salting

Et salt er en tilfeldig verdi som legges til hvert passord før hashing. Det sikrer at to brukere med samme passord får ulike hasher, og forhindrer regnbuetabellangrep og angrep som knekker mange passord samtidig. Saltet lagres sammen med hashen (det er ikke hemmelig).

# Conceptual salt example
hash = bcrypt("password" + random_salt)

bcrypt

bcrypt ble utviklet i 1999 spesielt for passordhashing. Det har en konfigurerbar kostnadsfaktor som styrer hvor treg hashingen er. Etter hvert som maskinvaren blir bedre, øker du kostnadsfaktoren for å opprettholde sikkerheten.

En kostnadsfaktor på 12 er vanlig i dag – det tar omtrent 250 ms å hashe på en moderne CPU.

PBKDF2

PBKDF2 (Password-Based Key Derivation Function 2) bruker en hashfunksjon (for eksempel HMAC-SHA256) mange ganger (iterasjoner). Flere iterasjoner = tregere = sikrere. Anbefalt av NIST og brukt av WPA2 for Wi-Fi-passord.

Argon2

Argon2 vant Password Hashing Competition i 2015. Det er dagens standard. Det kan konfigureres med:

  • Tidskostnad – antall iterasjoner
  • Minnekostnad – nødvendig RAM (begrenser GPU-akselerasjon)
  • Parallellitet – antall tråder

Bruk Argon2id i de fleste applikasjoner.

Regnbuetabeller

En regnbuetabell er et forhåndsberegnet oppslag fra hash til klartekst. Uten salting kan en angriper som har hashen, slå den opp i tabellen umiddelbart. Salting gjør regnbuetabeller ubrukelige fordi hver hash blir unik.

Teknikker for passordknekking

Vanlige metoder for frakoblet passordknekking:

  • Ordbokangrep – prøver vanlige passord og varianter
  • Brute force – prøver alle kombinasjoner av tegn
  • Regelbasert – bruker endringsregler på en ordbok (legger til årstall, bruker stor forbokstav, leet speak)
  • Verktøy: Hashcat, John the Ripper

Valg av riktig algoritme

Anbefalt rekkefølge for nye applikasjoner:

  1. Argon2id – best motstand mot knekking med GPU/ASIC
  2. bcrypt – bred støtte og velprøvd
  3. PBKDF2 – NIST-godkjent og påkrevd i enkelte samsvarssammenhenger

Bruk aldri MD5, SHA-1 eller usaltet SHA-256 for passord.

Verifiseringsprosess

Når en bruker logger inn:

  1. Hent brukerens lagrede hash og salt
  2. Hash passordet som ble sendt inn, med samme salt og algoritme
  3. Sammenlign den resulterende hashen med den lagrede hashen (sammenligning i konstant tid)
  4. Dekrypter aldri – bare sammenlign

Hurtigsjekk: Passordhashing

Hvilken algoritme for passordhashing regnes som beste praksis i dag, og vant Password Hashing Competition?

Oppsummering av leksjonen

Passord må lagres som hasher, ikke i klartekst. Raske algoritmer som SHA-256 egner seg ikke – bruk langsomme funksjoner for passordhashing: Argon2id (anbefalt), bcrypt eller PBKDF2. Bruk alltid et tilfeldig salt for hvert passord for å forhindre angrep med regnbuetabeller. Implementer aldri egen kryptografi – bruk utprøvde biblioteker.

Gratis å komme i gang

Lær deg Cyber Security Academy med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
76
Leksjoner
303

Ofte stilte spørsmål

Er leksjonen «Passord-hashing: bcrypt, Argon2, PBKDF2» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Cyber Security Academy, inkludert «Passord-hashing: bcrypt, Argon2, PBKDF2», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Cyber Security Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Passord-hashing: bcrypt, Argon2, PBKDF2»?

Lær hvorfor lagring av klartekst er farlig, og hvordan hashing med salt beskytter passord. Du øver på Cyber Security Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Cyber Security Academy?

Ingen tidligere erfaring er nødvendig. Cyber Security Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Passord-hashing: bcrypt, Argon2, PBKDF2»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Cyber Security Academy-leksjonen?

Ja. Alle Cyber Security Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Passordstyrke og policyer
  2. Passord-hashing: bcrypt, Argon2, PBKDF2
  3. Flerfaktorautentisering
  4. Gjenbruk av stjålne innloggingsopplysninger og passordspraying
← Tilbake til Cyber Security Academy