Cryptology Academy · leksjon

PBKDF2 og valg av riktig algoritme

Sammenlign PBKDF2 med bcrypt/Argon2 og velg det beste alternativet for appen din.

Leksjon 4 av 413 trinn

PBKDF2 og valg av riktig algoritme er en gratis leksjon i Cryptology Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Cryptology Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Cryptology Academy inneholder totalt 4 leksjoner.

Velkommen

I denne siste nybegynnerleksjonen studerer vi PBKDF2, sammenligner den med bcrypt og Argon2 og lager et beslutningsgrunnlag for valg av riktig algoritme for passordhashing.

Oversikt over PBKDF2

PBKDF2 (Password-Based Key Derivation Function 2) ble publisert i RFC 2898 (2000). Den bruker en pseudotilfeldig funksjon (vanligvis HMAC-SHA256) iterativt på passordet + saltet.

PBKDF2-formel

PBKDF2(PRF, password, salt, iterations, keylen) Eksempel: key = PBKDF2-HMAC-SHA256(password, salt, 600000, 32) OWASP anbefaler 600 000 iterasjoner med SHA-256 per 2023.

PBKDF2 i Python

import hashlib, os salt = os.urandom(16) key = hashlib.pbkdf2_hmac( 'sha256', password.encode(), salt, 600000, dklen=32 ) # Or using cryptography library: from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC

Fordeler med PBKDF2

FIPS 140-2/3-kompatibel. Innebygd i standardbibliotekene til Python, Java og .NET. Bredt tatt i bruk i virksomheter og offentlige miljøer. Enkel å implementere riktig.

Ulemper ved PBKDF2

Ikke minnehard. GPU-vennlig: milliarder av SHA-256-iterasjoner per sekund. Ved 600 000 iterasjoner oppnår GPU-er fortsatt ~1 million passord per sekund. bcrypt og særlig Argon2 er betydelig vanskeligere å brute-force.

Sammenligningstabell for algoritmer

Algoritme | Minnehard | FIPS | Hastighet (GPU) | Anbefaling bcrypt | Nei | Nei | 50K/s | Akseptabel PBKDF2 | Nei | Ja | 1M/s | Regulerte miljøer Argon2id | Ja | Nei | 100/s | Beste valg

Beslutningsgrunnlag

Bruk Argon2id: for nye applikasjoner uten samsvarskrav. Bruk bcrypt: når Argon2 ikke er tilgjengelig, eller i eldre systemer. Bruk PBKDF2-SHA256: når FIPS- eller myndighetskrav er påkrevd. Aldri: MD5, SHA-1, SHA-256 uten iterasjoner eller noe uten salt.

Merknader om samsvarskrav

PCI-DSS: spesifiserer ikke algoritme, men krever «sterk» hashing. bcrypt/Argon2 oppfyller kravet. NIST SP 800-132: godkjenner PBKDF2. Enkelte strenge FedRAMP-systemer krever PBKDF2 med en FIPS-godkjent PRF.

Utviklingen i iterasjonstall

OWASP-iterasjoner for PBKDF2-SHA256: 2010: 1000, 2016: 100000, 2023: 600000. Maskinvaren blir raskere – vurder og øk antallet hvert andre år. bcrypt-kostnad: 2010: 10, 2023: 12, mål for 2025: 13.

Sikker flyt for tilbakestilling av passord

1. Generer et kryptografisk tilfeldig token: secrets.token_urlsafe(32) 2. Hash med SHA-256 (ikke bcrypt – bare for lagring) 3. Lagre hashen og send tokenet på e-post 4. Ved tilbakestilling: hash det innsendte tokenet, sammenlign og utløp det umiddelbart etter bruk

Hurtigsjekk

I hvilket miljø foretrekkes PBKDF2 fremfor Argon2id, til tross for at det er svakere mot GPU-angrep?

Oppsummering

De har fullført nybegynnersporet i kryptologi! De forstår hashfunksjoner, symmetrisk og asymmetrisk kryptering, signaturer, PKI og passordhashing. Neste: emner på mellomnivå – blokksiffermodi, strømsifre og nøkkelutveksling.
Gratis å komme i gang

Lær deg Cryptology 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
67
Leksjoner
261

Ofte stilte spørsmål

Er leksjonen «PBKDF2 og valg av riktig algoritme» gratis?

Ja – hele teksten i «PBKDF2 og valg av riktig algoritme» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Cryptology Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Cryptology Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «PBKDF2 og valg av riktig algoritme»?

Sammenlign PBKDF2 med bcrypt/Argon2 og velg det beste alternativet for appen din. Du øver på Cryptology 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 Cryptology Academy?

Ingen tidligere erfaring er nødvendig. Cryptology 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 4 av 4.

Hvor lang tid tar leksjonen «PBKDF2 og valg av riktig algoritme»?

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 Cryptology Academy-leksjonen?

Ja. Alle Cryptology 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. Hvorfor ren SHA-256 ikke fungerer for passord
  2. bcrypt: algoritme og kostnadsfaktor
  3. Argon2: minnekrevende passordhashing
  4. PBKDF2 og valg av riktig algoritme
← Tilbake til Cryptology Academy