Know-how / Lösenordssäkerhet

Så fungerar brute force-attacker

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

Vid brute force-attacker försöker angripare gissa ett lösenord genom att systematiskt testa alla möjliga teckenkombinationer. Grundidén är enkel: att testa så många kombinationer per sekund som möjligt – helst på GPU:er eller i distribuerade system. Detta kallas även för en uttömmande sökning (uttömmande sökning).

I praktiken är sådana angrepp tyvärr ofta framgångsrika, eftersom många lösenord är för korta , bygger på ett begränsat antal teckengrupper (endast bokstäver) eller finns i ordlistor. Det minskar sökutrymmet drastiskt och gör dem lättare att gissa. Ännu viktigare är att man skiljer mellan onlineangrepp (mot inloggningsformulär, där hjälper hastighetsbegränsning/kontospärrar) och offlineangrepp (mot stulna lösenordshashar, där hashfunktionen och lösenordets styrka avgör angreppstiden).

Knäcka lösenord (offline) ≠ „dekryptera“

Lösenord dekrypteras inte, utan lagras som hashvärden och söks sedan med hjälp av gissning + hashning (brute force, ordliste-/maskangrepp). Beräkningshastigheten hos modern hårdvara ligger i miljardklassen per sekund (för snabba hashmetoder), vilket är anledningen till att långa och med långsamma metoder (t. ex. Argon2, scrypt, PBKDF2, bcrypt) hashade lösenord är avgörande.

Historisk och aktuell referens: RC5-projektet från distributed.net demonstrerar råstyrkan i uttömmande sökning i ett nyckelutrymme: 56 bitar hittades 1997 efter 250 dagar, 64 bitar 2002 efter 1 757 dagar. För närvarande visar proxystatus för RC5-72 ca 2,38 biljoner nycklar per sekund (per dagens datum). Det är nyckel-bruteforce och inte lösenordshashning – men illustrerar tydligt hur distribuerad datorkraft skalar.

Kombination och lösenordslängd

Följande exempel visar hur längd och teckenurval. För att illustrera detta räknar man med 2 miljarder försök per sekund (mycket kraftfull enskild dator; faktiska värden varierar kraftigt beroende på hårdvara och – i offline-fall – 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:

Möjliga kombinationer = (teckenuppsättning)lösenordslängd

Viktigt: Tabellen visar den maximala söktiden. I genomsnitt är den faktiska tiden ungefär hälften så lång. Dessutom minskar ordliste-, regel- och maskangrepp sökutrymmet avsevärt, medan långsamma hashmetoder för lösenord den effektiva hastigheten drastiskt.

Lösenordet består avTid som krävs (vid 2 mdr/s)Möjliga kombinationer (formel)
5 tecken
3 små bokstäver, 2 siffror
0,009 sekunder(53) × 263 × 10217 576 000
7 tecken
1 stor bokstav, 6 små bokstäver
≈ 28 sekunder(71) × 261+656 222 671 232
8 tecken
4 små bokstäver, 2 specialtecken, 2 siffror
≈ 2,73 timmar(84) × (42) × 264 × 322 × 10219 653 623 808 000
9 tecken
2 stora, 3 små bokstäver, 2 siffror, 2 specialtecken
≈ 53 dagar(92) × (73) × (42) × 262+3 × 102 × 3229 197 895 942 144 000
12 tecken
3 stora, 4 små bokstäver, 3 specialtecken, 2 siffror
≈ 115 591 år(123) × (94) × (53) × 263+4 × 323 × 1027,30 × 1021
14 tecken
4 stora, 4 små bokstäver, 3 siffror, 3 specialtecken
≈ 455 812 388 år(144) × (104) × (63) × 264+4 × 103 × 3232,88 × 1025

Slutsats: Varje extra tecken mångdubblar sökutrymmet. Längd slår komplexitetsregler – särskilt mot Offline‑attacker – förutsatt att tjänster använder lämpliga, långsamma hashmetoder med salt.

Skydd mot brute force‑attacker

Den effektivaste åtgärden för användaren är ett långt, slumpmässigt huvudlösenord eller en lösenfras (t.ex. flera slumpmässiga ord) – unik för varje tjänst. Password Depot hjälper till vid generering och visar en uppskattad angreppstid som, utöver längd/teckenuppsättning, även tar hänsyn till svagheter i ordböcker.

  • Aktivera MFA/2FA (t.ex. TOTP‑app eller hårdvarutoken) – där det är möjligt är Passkeys ännu bättre. Se BSI‑anvisningar.
  • Återanvänd inte lösenord. Varje konto behöver ett eget, starkt lösenord.
  • Längd i stället för obligatorisk komplexitet. Tjänster bör tillåta långa lösenord/lösenfraser (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 work factors; snabba hashar som MD5/SHA‑1 är olämpliga för lösenordslagring.
  • Rate limiting/throttling och spärrar: Online‑attacker måste bromsas genom begränsade felaktiga försök, progressiva väntetider och vid behov CAPTCHA.

Dessutom försvårar Password Depot onlinebaserade rate-försök genom att inmatningsfältet för masterlösenordet låses en kort stund efter felaktiga inmatningar – med ökande väntetid vid upprepade misslyckade försök.

Praktiska råd för tjänsteleverantörer (teknikteam)

  • Acceptera alla utskrivbara tecken inklusive blanksteg/Unicode och tillåt Copy-&-Paste.
  • Implementera blocklistor (komprometterade/vanliga lösenord) och rate limiting med tydlig användarinformation.
  • Lagra lösenord uteslutande som saltade, hashade värden med långsamma KDF:er och kontrollera work factors regelbundet.

Vidare källor

Skapa säkra lösenord

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

Tips för säkra lösenord