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.
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
Viktigt: Tabellen visar den maximala söktiden. I genomsnitt är den faktiska tiden ungefär hälften så lång. Dessutom minskar ordboks-, regel- och maskattacker sökområdet avsevärt, medan långsamma lösenordshashmetoder drastiskt sänker den effektiva hastigheten.
| Lösenordet består av | Möjliga kombinationer (formel) | Tid som krävs (vid 2 miljarder/sekund) |
|---|---|---|
|
5 tecken |
( 53) ×
263 × 102 = |
17 576 000 / 2 000 000 000 = |
|
7 tecken |
( 71) ×
261+6 = |
56 222 671 232 / 2 000 000 000 = |
|
8 tecken |
( 84) × ( 42 ) × 264
× 322 × 102 = |
19 653 623 808 000 / 2 000 000 000 = |
|
9 tecken |
( 92 ) × ( 73) × ( 42 ) ×
262+3 × 102 × 322 = |
9 197 895 942 144 000 / 2 000 000 000 = |
|
12 tecken |
( 123) × ( 94 ) × ( 53) ×
263+4 × 323 × 102 = |
7 295 525 784 083 496 960 000 / 2 000 000 000 = |
|
14 tecken |
( 144 ) × (
104) × ( 63 ) ×
264+4 × 103 × 323 = |
28 768 690 008 569 256 345 600 000 / 2 000 000 000 = |
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.
Ytterligare källor
- NIST SP 800‑63B (Rev. 4), Appendix: Strength of Passwords – Längd, lösenordsfraser, offline-attacker (miljarder hash/sek.) och konceptet hastighetsbegränsning.
- NIST SP 800‑63B (Rev. 3) – bland annat minimilängd, tillåt långa lösenord (≥ 64), svartlistor, tillåt klistra in; hastighetsbegränsning/throttling med begränsning till max 100 på varandra följande felaktiga försök.
- OWASP Password Storage Cheat Sheet – lämpliga metoder (Argon2, scrypt, PBKDF2, bcrypt), salt-/arbetsfaktorer.
- OWASP Authentication Cheat Sheet – riktlinjer för lösenordsinmatning, längd, svartlistor och spärrmekanismer.
- BSI: Skapa säkra lösenord – bland annat långa/komplexa lösenord och lösenfraser; praktiska tips.
- BSI-pressmeddelande 31.01.2025 – Inga tvingande regelbundna lösenordsbyten; föredra 2FA/passkeys.
- distributed.net RC5 / aktuell proxystatus – Illustrativt exempel på uttömmande sökning och distribuerad datorkraft.