Ved brute-force-angrep forsøker angripere å gjette et passord ved hjelp av systematisk utprøving av alle mulige tegnkombinasjoner. Den underliggende ideen er enkel: å teste så mange kombinasjoner som mulig per sekund – ideelt sett på GPU-er eller i distribuerte systemer. Dette omtales også som et uttømmende søk (uttømmende søk).
I praksis lykkes slike angrep dessverre ofte fordi mange passord er for korte , begrenser seg til få tegnsett (kun bokstaver) eller finnes i ordlister. Det reduserer søkeområdet drastisk og gjør gjetting enklere. Enda viktigere er det å skille mellom online-angrep (mot påloggingsskjemaer, der hjelper rate limiting/kontosperring) og offline-angrep (mot stjålne passord-hasher, der er det hashfunksjonen og passordstyrken som avgjør hvor lang tid angrepet tar).
Knekking av passord (offline) ≠ «dekryptering»
Passord blir ikke dekryptert, men lagres som hashverdier og søkes deretter med gjetting + hashing (Brute Force, ordbok-/maskeangrep). Beregningshastigheten til moderne maskinvare ligger i milliardklassen per sekund (for raske hashmetoder), og derfor er lange og med langsomme metoder (f.eks. Argon2, scrypt, PBKDF2, bcrypt) hashede passord avgjørende.
Historisk og aktuell referanse: RC5-prosjektet til distributed.net demonstrerer råkraften i uttømmende søk i et nøkkelrom: 56-bit ble funnet i 1997 etter 250 dager, 64-bit i 2002 etter 1.757 dager. For tiden viser Proxy-status for RC5-72 ca. 2,38 billioner nøkler per sekund (per i dag). Dette er nøkkel-bruteforce og ikke passord-hashing – men det tydeliggjør hvor godt distribuert regnekraft skalerer.
Kombinasjon og lengde på passordet
Følgende eksempler viser hvordan lengde og tegnvalg. For å illustrere dette regnes det med 2 milliarder forsøk per sekund (svært kraftig enkeltmaskin; faktiske verdier varierer betydelig avhengig av maskinvare og – i offline-tilfeller – hashmetode).
Typiske tegngrupper:
- Tall (10: 0–9)
- Bokstaver (52: A–Z og a–z)
- Spesialtegn (≈ 32; avhenger av tjenestens tillatte tegnsett)
Antallet mulige kombinasjoner beregnes slik:
Viktig: Tabellen viser den maksimale søketiden. I gjennomsnitt er den faktiske tiden omtrent halvparten. I tillegg reduserer ordbok-, regel- og maskeangrep søkerommet betydelig, mens langsomme passord-hashmetoder reduserer den effektive raten drastisk.
Tabellen kan rulles sidelengs
| Passordet består av | Nødvendig tid (ved 2 mrd./s) | Mulige kombinasjoner (formel) |
|---|---|---|
| 5 tegn 3 små bokstaver, 2 sifre | 0,009 sekunder | (53) × 263 × 10217 576 000 |
| 7 tegn 1 stor bokstav, 6 små bokstaver | ≈ 28 sekunder | (71) × 261+656 222 671 232 |
| 8 tegn 4 små bokstaver, 2 spesialtegn, 2 sifre | ≈ 2,73 timer | (84) × (42) × 264 × 322 × 10219 653 623 808 000 |
| 9 tegn 2 store, 3 små bokstaver, 2 sifre, 2 spesialtegn | ≈ 53 dager | (92) × (73) × (42) × 262+3 × 102 × 3229 197 895 942 144 000 |
| 12 tegn 3 store, 4 små bokstaver, 3 spesialtegn, 2 sifre | ≈ 115 591 år | (123) × (94) × (53) × 263+4 × 323 × 1027,30 × 1021 |
| 14 tegn 4 store, 4 små bokstaver, 3 sifre, 3 spesialtegn | ≈ 455 812 388 år | (144) × (104) × (63) × 264+4 × 103 × 3232,88 × 1025 |
Konklusjon: Hvert ekstra tegn mangedobler søkerommet. Lengde slår kompleksitetsregler – spesielt mot Offline-angrep – forutsatt at tjenester bruker egnede, langsomme hashfunksjoner med Salt.
Beskyttelse mot brute-force-angrep
Det mest effektive brukertiltaket er et langt, tilfeldig masterpassord eller en passfrase (f.eks. flere tilfeldige ord) – unikt for hver tjeneste. Password Depot hjelper med genereringen og viser en beregnet angrepstid som tar hensyn til ordbokssvakheter i tillegg til lengde/tegnsett.
- Aktiver MFA/2FA (f.eks. TOTP-app eller maskinvaretoken) – der det er mulig, er Passkeys enda bedre. Se BSI-veiledning.
- Ikke gjenbruk passord. Hver konto trenger sitt eget, sterke passord.
- Lengde fremfor påtvunget kompleksitet. Tjenester bør tillate lange passord/passfraser (minst 64 tegn) og blokkere kompromitterte passord (svarteliste).
- Langsomme hashfunksjoner på serversiden (f.eks. Argon2, scrypt, PBKDF2, bcrypt) med Salt og passende work-faktorer; raske hasher som MD5/SHA-1 er uegnet til passordlagring.
- Rate-limiting/throttling og låsing: Online-angrep må bremses med begrensede antall feilforsøk, progressive ventetider og eventuelt CAPTCHA.
I tillegg gjør Password Depot online-rateforsøk vanskeligere ved å låse inntastingsfeltet for master-passordet kortvarig etter feil inntasting – med økende ventetid ved gjentatte mislykkede forsøk.
Praktiske råd for tjenesteleverandører (tekniske team)
- Godta alle skrivbare tegn, inkludert mellomrom/Unicode, og tillat copy-paste.
- Implementer blokklister (kompromitterte/vanlige passord) og rate limiting med tydelig brukerveiledning.
- Lagre passord utelukkende som saltede, hashede verdier med langsomme KDF-er, og kontroller work factors regelmessig.
Videregående kilder
- NIST SP 800–63B (Rev. 4), Appendix: Strength of Passwords – lengde, passfraser, offline-angrep (milliarder av hasher/sek.) og konsept for rate limiting.
- NIST SP 800–63B (Rev. 3) – bl.a. minimumslengde, tillat lange passord (≥ 64), svartelister, tillat innliming; Rate-Limiting/Throttling med begrensning til maks. 100 påfølgende mislykkede forsøk.
- OWASP Password Storage Cheat Sheet – egnede metoder (Argon2, scrypt, PBKDF2, bcrypt), salt/work factors.
- OWASP Authentication Cheat Sheet – retningslinjer for passordinntasting, lengde, svartelister og låsemekanismer.
- BSI: Opprett sikre passord – blant annet lange/komplekse passord og passfraser; praktiske tips.
- BSI-presse 31.01.2025 – ingen tvungne regelmessige passordbytter; foretrekk 2FA/Passkeys.
- distributed.net RC5 / gjeldende proxy-status – eksempel som illustrerer uttømmende søk og distribuert datakraft.
Opprett sikre passord
Finn ut hvordan du lager passord som tåler brute-force-angrep.
Tips til sikre passord