KDF-algoritmer
Bitwarden använder först Key Derivation Functions (KDF) vid skapande av konto för att härleda en huvudnyckel för kontot från det inmatade huvudlösenordet, som fungerar som indata för en huvudlösenordshash för kontot (
KDF:er används i denna egenskap för att förhindra brute-force- eller ordboksattacker mot ett huvudlösenord. KDF:er tvingar en angripares maskiner att beräkna ett icke-trivialt antal hash för varje lösenordsgissning, till ökande kostnad för angriparen.
Två KDF-algoritmer finns för närvarande tillgängliga för användning i Bitwarden; PBKDF2 och Argon2. Varje algoritm har ett urval av tillgängliga alternativ som kan användas för att öka den tid och kostnad, eller "arbetsfaktor", som åläggs angriparen.
PBKDF2
Lösenordsbaserad nyckelhärledningsfunktion 2 (PBKDF2)
PBKDF2, som implementerats av Bitwarden, fungerar genom att salta ditt huvudlösenord med ditt användarnamn och köra det resulterande värdet genom en enkelriktad hashalgoritm (HMAC-SHA-256) för att skapa en hash med fast längd. Detta värde är återigen saltat med ditt användarnamn och hashas ett konfigurerbart antal gånger (KDF-iterationer). Det resulterande värdet efter alla iterationer är din huvudnyckel, som fungerar som indata för huvudlösenords-hash som används för att autentisera den användaren när de loggar in (
Som standard är Bitwarden inställd på att iterera 600 000 gånger, som
Fler KDF-iterationer kommer att öka både tiden det tar en angripare att knäcka ett lösenord och tiden det tar en legitim användare att logga in.
Vi rekommenderar att du ökar värdet i steg om 100 000 och testar alla dina enheter.
Argon2id
Argon2 är vinnaren av 2015 års
Argon2, som implementerats av Bitwarden, fungerar genom att salta ditt huvudlösenord med ditt användarnamn och köra det resulterande värdet genom en enkelriktad hashalgoritm (BLAKE2b) för att skapa en hash med fast längd.
Argon2 allokerar sedan en del av minnet (KDF-minne) och fyller det med den beräknade hashen tills den är full. Detta upprepas, med början i den efterföljande delen av minnet där det slutade i den första, ett antal gånger iterativt (KDF-iterationer) över ett antal trådar (KDF-parallellism). Det resulterande värdet efter alla iterationer är din huvudnyckel, som fungerar som indata för huvudlösenords-hash som används för att autentisera den användaren när de loggar in (
Som standard är Bitwarden inställd på att allokera 64 MiB minne, iterera över det 3 gånger och göra det över 4 trådar. Dessa standardvärden ligger över
Ökande KDF-iterationer kommer att öka körtiden linjärt.
Mängden KDF-parallellism du kan använda beror på din maskins CPU. I allmänhet är Max. Parallellism = Num. av kärnor x 2.
iOS begränsar appminnet för autofyll. Att öka minnet från standardvärdet 64 MB kan resultera i fel vid upplåsning av valvet med autofyll.
Ändra KDF-algoritm
note
2023-02-14: Argon2 stöds av Bitwarden-klienter version 2023.2.0 och senare, och att byta till Argon2 via webbvalvet kan innebära att andra klienter inte kommer att kunna ladda ditt valv förrän de är uppdaterade, vanligtvis inom en vecka efter release.
För att ändra din KDF-algoritm, navigera till sidan Inställningar → Säkerhet → Nycklar i webbvalvet. Ändring av algoritmen kommer att kryptera om den skyddade symmetriska nyckeln och uppdatera autentiseringshashen, ungefär som en vanlig huvudlösenordsändring, men kommer inte att rotera den symmetriska krypteringsnyckeln så att valvdata inte kommer att krypteras på nytt. Se
När du ändrar algoritm kommer du att loggas ut från alla klienter. Även om risken med att
Låga KDF-iterationer
I versionen
Om du ser det här meddelandet, välj knappen Uppdatera KDF-inställningar och antingen öka dina PBKDF2-iterationer till minst 600 000, eller ändra din KDF-algoritm till
warning
Innan du gör några ändringar i krypteringsinställningarna rekommenderar vi att du säkerhetskopierar dina individuella valvdata först. Se
Att ändra antalet iterationer kan hjälpa till att skydda ditt huvudlösenord från att bli brutalt tvingat av en angripare, men bör inte ses som ett substitut till att använda ett starkt huvudlösenord i första hand. Ett starkt huvudlösenord är alltid den första och bästa försvarslinjen för ditt Bitwarden-konto.