Know-how / Lösenordssäkerhet

Så fungerar brute force-attacker

Varför längden är viktig: beräkningsexempel och motåtgärder.

Vid brute force-attacker försöker angripare gissa ett lösenord genom att systematiskt prova alla möjliga teckenkombinationer. Grundidén är enkel: testa så många kombinationer som möjligt per sekund – helst på GPU:er eller i distribuerade system. Man talar också om en utmattande sökning (exhaustive search).

I praktiken är sådana attacker tyvärr ofta framgångsrika, eftersom många lösenord är för korta, begränsas till få teckengrupper (endast bokstäver) eller förekommer i ordlistor. Detta minskar sökområdet drastiskt och gör det lättare att gissa. Ännu viktigare: Man skiljer mellan onlineattacker (mot inloggningsformulär, där hjälper hastighetsbegränsning/kontospärrar) och offlineattacker (mot stulna lösenordshashar, där avgör hashfunktionen och lösenordets styrka attacktiden).

Att knäcka lösenord (offline) ≠ ”dekryptera”

Lösenord dekrypteras inte, utan lagras som hashvärden och sökes sedan med gissning + hashing</ em> (brute force, ordboks-/maskattacker). Den beräkningshastigheten hos modern hårdvara ligger i miljardområdet per sekund (för snabba hash-procedurer), varför långa och med långsamma metoder (t.ex. Argon2, scrypt, PBKDF2, bcrypt) hashade lösenord avgörande.

Historisk och aktuell referens: RC5-projektet från distributed.net demonstrerar den råa kraften i en uttömmande sökning i ett nyckelrum: 56-bitars hittades 1997 efter 250 dagar, 64-bitars 2002 efter 1 757 dagar. För närvarande visar proxy-status för RC5‑72 cirka 2,38 biljoner nycklar per sekund (läget: hämtat idag). Detta är nyckelbruteforce och inte lösenordshashning – men det illustrerar hur starkt distribuerad datorkraft skalar.

Kombination och längd på lösenordet

Följande exempel visar påverkan av längd och teckenval. För att illustrera detta beräknas 2 miljarder försök per sekund (mycket kraftfull enskild dator; verkliga värden varierar kraftigt beroende på hårdvara och – i offlinefall – hashmetod).

Typiska teckengrupper:

  • Siffror (10: 0–9)
  • Bokstäver (52: A–Z och a–z)
  • Specialtecken (≈ 32; beror på tjänstens tillåtna teckenuppsättning)

Antalet möjliga kombinationer beräknas enligt följande:

Möjliga kombinationer = (teckensnitt)lösenordets längd

Möjliga kombinationer = (teckensnitt)lösenordets längd

Lösenordet består av Möjliga kombinationer (formel) Tid som krävs (vid 2 miljarder/sekund)
5 tecken
(3 små bokstäver,, 2 siffror)
(53) × 263 × 10217.576.000 0,009 sekunder
7 tecken
(1 versal,, 6 gemener)
(71) × 261+656.222.671.232 ≈ 28 sekunder
8 tecken
(4 små bokstäver,, 2 specialtecken,, 2 siffror)
(84) × (42) × 264 × 322 × 10219.653.623.808.000 ≈ 2,73 timmar
9 tecken
(2 versaler,, 3 gemener,, 2 siffror,, 2 specialtecken)
(92) × (73) × (42) × 262+3 × 102 × 3229.197.895.942.144.000 ≈ 53 dagar
12 tecken
(3 versaler,, 4 gemener,, 3 specialtecken,, 2 siffror)
(123) × (94) × (53) × 263+4 × 323 × 1027,30 × 1021 ≈ 115.591 år
14 tecken
(4 stora bokstäver,, 4 små bokstäver,, 3 siffror,, 3 specialtecken)
(144) × (104) × (63) × 264+4 × 103 × 3232,88 × 1025 ≈ 455.812.388 år

Slutsats: Varje extra tecken multiplicerar sökområdet. Längd slår komplexitetsregler – särskilt mot offline-attacker – förutsatt att tjänster använder lämpliga, långsamma hash-metoder med salt.

Skydd mot brute force-attacker

Den mest effektiva åtgärden för användaren är ett långt, slumpmässigt huvudlösenord eller en lösenfras (t.ex. flera slumpmässiga ord) – unikt för varje tjänst. Password Depot hjälper till med genereringen och visar en uppskattad attacktid som förutom längd/teckensnitt även tar hänsyn till svagheter i ordboken.

  • Aktivera MFA/2FA (t.ex. TOTP-app eller hårdvarutoken) – där det är möjligt är passkeys ännu bättre. Se BSI-anvisningar.
  • Ingen återanvändning av lösenord. Varje konto behöver ett eget, starkt lösenord.
  • Långa lösenord istället för obligatorisk komplexitet. Tjänster bör tillåta långa lösenord/lösenordsfraser (minst 64 tecken) och blockera komprometterade lösenord (svartlista).
  • Långsamma hashmetoder på serversidan (t.ex. Argon2, scrypt, PBKDF2, bcrypt) med salt och lämpliga arbetsfaktorer; snabba hashmetoder som MD5/SHA-1 är olämpliga för lösenordslagring.
  • Rate‑Limiting/Throttling & Sperren: Onlineattacker måste bromsas genom begränsade felaktiga försök, progressiva väntetider och eventuellt CAPTCHA.

Dessutom försvårar Password Depot Online försök till hastighetsbegränsning genom att inmatningsmasken för huvudlösenordet spärras kort efter felaktiga inmatningar – med ökande väntetid vid upprepade felaktiga inmatningar.

Praktiska tips för tjänsteleverantörer (teknikteam):
  • Acceptera alla tecken inklusive mellanslag/Unicode och tillåt kopiering och klistring.
  • Implementera blockeringslistor (komprometterade/vanliga lösenord) och hastighetsbegränsning med tydliga användarinstruktioner.
  • Spara lösenord uteslutande som saltade, hashade värden med långsamma KDF:er och kontrollera arbetsfaktorer regelbundet.

Ytterligare källor

Skapa starka lösenord

Lär dig hur du skapar lösenord som motstår brute-force-attacker.

Tips för starka lösenord