PBKDF2
Version från den 26 oktober 2024 kl. 21.23 av Admin (diskussion | bidrag) (Skapade sidan med ''''PBKDF2''' ('''Password-Based Key Derivation Function 2''') är en kryptografisk funktion som används för att härleda säkra nycklar från lösenord. Den är en del av standarden PKCS#5 v2.0 och definieras i RFC 8018. == Historia == PBKDF2 utvecklades för att förbättra säkerheten i lösenordsbaserade system genom att göra det svårare för angripare att knäcka lösenord via brute-force- eller ordboksattacker. Genom att introducera flera iterationer oc...')
PBKDF2 (Password-Based Key Derivation Function 2) är en kryptografisk funktion som används för att härleda säkra nycklar från lösenord. Den är en del av standarden PKCS#5 v2.0 och definieras i RFC 8018.
Historia
PBKDF2 utvecklades för att förbättra säkerheten i lösenordsbaserade system genom att göra det svårare för angripare att knäcka lösenord via brute-force- eller ordboksattacker. Genom att introducera flera iterationer och användning av saltvärden höjs beräkningskostnaden för varje gissning.
Funktionalitet
PBKDF2 fungerar genom att applicera en pseudorandom-funktion, såsom HMAC kombinerad med en hashfunktion (t.ex. SHA-256), på ett lösenord tillsammans med ett saltvärde. Processen upprepas ett antal gånger (iterationer) för att öka beräkningstiden:
K = PBKDF2(P, S, c, dkLen)
där:
- K är den härledda nyckeln
- P är lösenordet
- S är saltet
- c är antalet iterationer
- dkLen är önskad längd på nyckeln
Användningsområden
- **Lösenordslagring**: Skyddar lagrade lösenord genom att göra det svårt att invertera hashvärdena.
- **Nyckelgenerering**: Skapar kryptografiska nycklar från lösenord för användning i krypteringsalgoritmer.
- **Skydd mot attacker**: Förhindrar användning av rainbow tables och minskar effektiviteten av brute-force-attacker.
Säkerhetsöverväganden
- **Saltvärden**: Varje lösenord bör kombineras med ett unikt salt för att förhindra att samma lösenord genererar samma hashvärde.
- **Iterationer**: Ett högre antal iterationer ökar säkerheten men påverkar prestandan. Rekommendationen är att använda så många iterationer som systemet kan hantera utan att påverka användarupplevelsen negativt.
- **Val av hashfunktion**: Använd en säker och modern hashfunktion för att undvika svagheter i äldre algoritmer.
Referenser
- RFC 8018 - PKCS #5: Password-Based Cryptography Specification Version 2.1
- NIST SP 800-132 - Recommendation for Password-Based Key Derivation