Hoppa till innehållet

Argon2

Argon2 är en familj minneskrävande hashfunktioner för lösenord. Variant, minnesbehov och körtid måste passa säkerhetskraven och driften.

IT-säkerhet

Kontrollera lösenord med beräkningsarbete

Argon2 är en familj hashfunktioner för lösenord vars beräkning avsiktligt kräver arbetsminne och tid. Det gör storskaliga gissningsförsök mot stulna lösenordshashar dyrare. OWASP rekommenderar varianten Argon2id för ny lösenordslagring. Ett svagt lösenord kan fortfarande hittas med lämpliga gissningar.

En fiktiv applikation sparar en verifieringspost som dess bibliotek har skapat: variant, parametrar, salt och härlett kontrollvärde. Vid inloggning använder biblioteket dessa uppgifter för att kontrollera det angivna lösenordet. Det dekrypterar inte det ursprungliga lösenordet ur det lagrade värdet.

Behandla parametrar som ett driftbeslut

Parametern m beskriver den inställda totala minnesmängden i kibibyte, t antalet genomgångar och p de parallella beräkningsbanorna. Parallellitetsvärdet är ingen extra multiplikator för den inställda totala minnesmängden. Den faktiska tids- och minnesåtgången för ett anrop måste undersökas på den avsedda plattformen.

Teamet väljer inställningar utifrån aktuella säkerhetsrekommendationer och mätningar med det förväntade antalet samtidiga inloggningar. Mer beräkningsarbete gör även legitim kontroll dyrare; överbelastas servern försämras tillgängligheten. Ett godtyckligt standardvärde från ett exempel ersätter inte beslutet. Salt och parametrar finns kvar tillsammans med kontrollvärdet så att senare inloggningar kan kontrolleras korrekt.

Källor