Sådan fungerer brute force-angreb
Hvorfor længde tæller: Regneeksempler og modforanstaltninger.
Ved brute force-angreb forsøger angribere at gætte en adgangskode ved systematisk at afprøve alle mulige tegnkombinationer. Den bagvedliggende idé er enkel: at teste så mange kombinationer som muligt pr. sekund – ideelt set på GPU'er eller i distribuerede systemer. Man taler også om en udtømmende søgning (udtømmende søgning).
I praksis er sådanne angreb desværre ofte succesfulde, fordi mange adgangskoder er for korte , kun består af få tegngrupper (kun bogstaver) eller findes i ordlister . Det reducerer søgeområdet drastisk og gør det lettere at gætte. Endnu vigtigere: Man skelner mellem onlineangreb (mod loginformularer, hvor rate limiting/kontolåsning hjælper) og offlineangreb (mod stjålne password-hashes, hvor hashfunktionen og adgangskodens styrke afgør angrebstiden).
At knække adgangskoder (offline) ≠ „dekryptere“
Adgangskoder bliver ikke dekrypteret, men gemt som hashværdier og derefter fundet ved hjælp af gæt + hashing (Brute Force, ordbogs-/maskeangreb). Beregningshastigheden for moderne hardware ligger i milliardklassen pr. sekund (for hurtige hashmetoder), hvilket er grunden til, at lange og med langsomme metoder (f.eks. Argon2, scrypt, PBKDF2, bcrypt) hashede adgangskoder er afgørende.
Historisk og aktuel reference: Det RC5-projekt fra distributed.net demonstrerer den rå kraft i udtømmende søgning i et nøgleområde: 56-bit blev fundet i 1997 efter 250 dage, 64-bit i 2002 efter 1.757 dage. Aktuelt viser proxystatus for RC5-72 ca. 2,38 billioner nøgler pr. sekund (pr. dags dato). Det er nøgle-bruteforce og ikke password-hashing – men det tydeliggør, hvor stærkt distribueret regnekraft skalerer.
Kombination og længde af adgangskoden
Følgende eksempler viser betydningen af længde og tegnvalg. Til illustration regnes der med 2 milliarder forsøg pr. sekund (meget kraftig enkeltcomputer; faktiske værdier varierer meget afhængigt af hardware og – i offline-tilfælde – hashmetode).
Typiske tegngrupper:
- Tal (10: 0–9)
- Bogstaver (52: A–Z og a–z)
- Specialtegn (≈ 32; afhænger af tjenestens tilladte tegnsæt)
Antallet af mulige kombinationer beregnes som:
Vigtigt: Tabellen viser den maksimale søgetid. Den faktiske tid ligger i gennemsnit omkring det halve. Desuden reducerer ordbogs-, regel- og maskeangreb søgerummet betydeligt, mens langsomme password-hashmetoder den effektive hastighed drastisk.
| Adgangskoden består af | Mulige kombinationer (formel) | Nødvendig tid (ved 2 mia./s) |
|---|---|---|
| 5 tegn 3 små bogstaver, 2 cifre | (53) × 263 × 10217.576.000 | 0,009 sekunder |
| 7 tegn 1 stort bogstav, 6 små bogstaver | (71) × 261+656.222.671.232 | ≈ 28 sekunder |
| 8 tegn 4 små bogstaver, 2 specialtegn, 2 cifre | (84) × (42) × 264 × 322 × 10219.653.623.808.000 | ≈ 2,73 timer |
| 9 tegn 2 store, 3 små bogstaver, 2 cifre, 2 specialtegn | (92) × (73) × (42) × 262+3 × 102 × 3229.197.895.942.144.000 | ≈ 53 dage |
| 12 tegn 3 store, 4 små bogstaver, 3 specialtegn, 2 cifre | (123) × (94) × (53) × 263+4 × 323 × 1027,30 × 1021 | ≈ 115.591 år |
| 14 tegn 4 store, 4 små bogstaver, 3 cifre, 3 specialtegn | (144) × (104) × (63) × 264+4 × 103 × 3232,88 × 1025 | ≈ 455.812.388 år |
Konklusion: Hvert ekstra tegn mangedobler søgerummet. Længde slår kompleksitetsregler – især mod Offline-angreb – forudsat at tjenester bruger egnede, langsomme hashfunktioner med salt.
Beskyttelse mod brute-force-angreb
Den mest effektive foranstaltning for brugeren er et langt, tilfældigt masteradgangskode eller en adgangssætning (f.eks. flere tilfældige ord) – unik for hver tjeneste. Password Depot hjælper med genereringen og viser en estimeret angrebstid , der ud over længde/tegnsæt også tager højde for ordbogsbaserede svagheder.
- Aktivér MFA/2FA (f.eks. TOTP-app eller hardware-token) – hvor det er muligt, er passkeys endnu bedre. Se BSI-vejledningen.
- Ingen genbrug af adgangskoder. Hver konto skal have sin egen stærke adgangskode.
- Længde frem for tvungen kompleksitet. Tjenester bør tillade lange adgangskoder/adgangssætninger (mindst 64 tegn) og blokere kompromitterede adgangskoder (blacklist).
- Langsomme hashfunktioner på serversiden (f.eks. Argon2, scrypt, PBKDF2, bcrypt) med salt og passende work factors; hurtige hashes som MD5/SHA-1 er uegnede til lagring af adgangskoder.
- Rate limiting/throttling & spærringer: Online-angreb skal bremses med begrænsede antal fejlforsøg, progressive ventetider og eventuelt CAPTCHA.
Derudover gør Password Depot online-rateforsøg vanskeligere ved midlertidigt at låse inputfeltet til masteradgangskoden efter forkerte indtastninger – med stigende ventetid ved gentagne mislykkede forsøg.
Praktiske anbefalinger til tjenesteudbydere (tekniske teams)
- Accepter alle udskrivbare tegn inkl. mellemrum/Unicode, og tillad copy-paste.
- Implementer blokeringslister (kompromitterede/almindelige adgangskoder) og rate limiting med tydelige brugerhenvisninger.
- Gem kun adgangskoder som saltede, hashede værdier med langsomme KDF'er, og kontrollér work factors regelmæssigt.
Yderligere kilder
- NIST SP 800–63B (Rev. 4), Appendix: Strength of Passwords – længde, passphrases, offline-angreb (milliarder af hashes/sek.) og rate limiting-koncept.
- NIST SP 800–63B (Rev. 3) – bl.a. minimumslængde, tillad lange adgangskoder (≥ 64), blacklists, tillad paste; rate limiting/throttling med begrænsning til maks. 100 på hinanden følgende mislykkede forsøg.
- OWASP Password Storage Cheat Sheet – egnede metoder (Argon2, scrypt, PBKDF2, bcrypt), salt/work factors.
- OWASP Authentication Cheat Sheet – retningslinjer for adgangskodeindtastning, længde, blacklists og låsemekanismer.
- BSI: Opret sikre adgangskoder – bl.a. lange/komplekse adgangskoder og adgangsfraser; praktiske tips.
- BSI-presse 31.01.2025 – ingen tvungne regelmæssige adgangskodeskift; foretræk 2FA/passkeys.
- distributed.net RC5 / aktuel proxy-status – eksempel til illustration af udtømmende søgning og distribueret regnekraft.
Opret sikre adgangskoder
Få at vide, hvordan De opretter adgangskoder, der kan modstå brute-force-angreb.
Tips til sikre adgangskoder