Tietotaito / Salasanojen turvallisuus

Näin brute force -hyökkäykset toimivat

Miksi pituudella on merkitystä: laskentaesimerkkejä ja vastatoimia.

Päivitetty: kesäkuu 2026

Sisällys

Bei brute force -hyökkäyksissä hyökkääjät yrittävät arvata salasanan käymällä järjestelmällisesti läpi kaikki mahdolliset merkkien yhdistelmät. Perusajatus on yksinkertainen: testataan mahdollisimman monta yhdistelmää sekunnissa – mieluiten GPU:illa tai hajautetuissa järjestelmissä. Tästä käytetään myös nimitystä täydellinen haku (tyhjentävä haku).

Käytännössä tällaiset hyökkäykset onnistuvat valitettavan usein, koska monet salasanat ovat liian lyhyitä , rajoittuvat vain muutamiin merkkiryhmiin (vain kirjaimia) tai esiintyvät sanalistoissa . Tämä pienentää hakutilaa merkittävästi ja helpottaa arvaamista. Vielä tärkeämpää on erottaa online-hyökkäykset (kirjautumislomakkeita vastaan; tällöin rate limiting / tilin lukitukset auttavat) ja offline-hyökkäykset (varastettuja salasana-hasheja vastaan; tällöin hash-funktio ja salasanan vahvuus ratkaisevat hyökkäykseen kuluvan ajan).

Salasanojen murtaminen (offline) ≠ ”purkaminen”

Salasanoja ei pureta, vaan ne tallennetaan hash-arvoina ja niitä etsitään menetelmällä arvaus + hash-laskenta (Brute Force, sanakirja-/maskihyökkäykset). Laskentanopeus nykyaikaisella laitteistolla on miljardiluokkaa sekunnissa (nopeissa hash-menetelmissä), minkä vuoksi pitkät ja hitailla menetelmillä (esim. Argon2, scrypt, PBKDF2, bcrypt) hashatut salasanat ovat ratkaisevan tärkeitä.

Historiallinen ja ajankohtainen viite: distributed.netin RC5-projekti havainnollistaa tyhjentävän haun raakaa voimaa avainavaruudessa: 56 bittiä löydettiin vuonna 1997 250 päivässä, 64 bittiä vuonna 2002 1 757 päivässä. Tällä hetkellä välityspalvelimen tila RC5-72:llenoin 2,38 biljoonaa avainta sekunnissa (tilanne: tämän päivän hakuhetkellä). Tämä on avainten bruteforce-hakua eikä salasanojen hajautusten laskentaa – mutta havainnollistaa, miten tehokkaasti hajautettu laskentateho skaalautuu.

Salasanan yhdistelmä ja pituus

Seuraavat esimerkit näyttävät, miten pituus ja merkkivalikoima vaikuttavat. Havainnollistamiseksi oletetaan 2 miljardia yritystä sekunnissa (erittäin tehokas yksittäinen tietokone; todelliset arvot vaihtelevat suuresti laitteiston ja – offline-tapauksessa – hajautusmenetelmän mukaan).

Tyypilliset merkkiryhmät:

  • Numerot (10: 0–9)
  • Kirjaimet (52: A–Z ja a–z)
  • Erikoismerkit (≈ 32; riippuu palvelun sallimasta merkistöstä)

Mahdollisten yhdistelmien määrä saadaan kaavalla:

Mahdolliset yhdistelmät = (merkistö)salasanan pituus

Tärkeää: Taulukko näyttää suurimman mahdollisen hakuajan. Todellinen aika on keskimäärin noin puolet tästä. Lisäksi sanakirja-, sääntö- ja maskihyökkäykset pienentävät hakutilaa merkittävästi, kun taas hitaat salasanojen hajautusmenetelmät laskevat todellista nopeutta dramaattisesti.

Taulukkoa voi vierittää sivusuunnassa

Salasana koostuuTarvittava aika (nopeudella 2 mrd/s)Mahdolliset yhdistelmät (kaava)
5 merkkiä
3 pientä kirjainta, 2 numeroa
0,009 sekuntia(53) × 263 × 10217 576 000
7 merkkiä
1 iso kirjain, 6 pientä kirjainta
≈ 28 sekuntia(71) × 261+656 222 671 232
8 merkkiä
4 pientä kirjainta, 2 erikoismerkkiä, 2 numeroa
≈ 2,73 tuntia(84) × (42) × 264 × 322 × 10219 653 623 808 000
9 merkkiä
2 isoa, 3 pientä kirjainta, 2 numeroa, 2 erikoismerkkiä
≈ 53 päivää(92) × (73) × (42) × 262+3 × 102 × 3229 197 895 942 144 000
12 merkkiä
3 isoa, 4 pientä kirjainta, 3 erikoismerkkiä, 2 numeroa
≈ 115 591 vuotta(123) × (94) × (53) × 263+4 × 323 × 1027,30 × 1021
14 merkkiä
4 isoa, 4 pientä kirjainta, 3 numeroa, 3 erikoismerkkiä
≈ 455 812 388 vuotta(144) × (104) × (63) × 264+4 × 103 × 3232,88 × 1025

Johtopäätös: Jokainen lisämerkki moninkertaistaa hakutilan. Pituus voittaa monimutkaisuussäännöt – erityisesti Offline-hyökkäykset – edellyttäen, että palvelut käyttävät soveltuvia, hitaita hajautusalgoritmeja suolan kanssa.

Suoja brute force -hyökkäyksiltä

Tehokkain käyttäjän toimenpide on pitkä, satunnainen pääsalasana tai tunnuslause (esim. useita satunnaisia sanoja) – yksilöllinen jokaiselle palvelulle. Password Depot auttaa niiden luomisessa ja näyttää arvioidun hyökkäysajan , jossa otetaan pituuden/merkkijoukon lisäksi huomioon myös sanakirjapohjaiset heikkoudet.

  • Ota MFA/2FA käyttöön (esim. TOTP-sovellus tai laitteistotunniste) – mahdollisuuksien mukaan Passkeys ovat vielä parempi vaihtoehto. Katso BSI:n ohjeet.
  • Älä kierrätä salasanoja. Jokainen tili tarvitsee oman vahvan salasanan.
  • Pituus ennen pakollista monimutkaisuutta. Palveluiden tulisi sallia pitkät salasanat/tunnuslauseet (vähintään 64 merkkiä) ja estää vaarantuneet salasanat (musta lista).
  • Hitaat hajautusalgoritmit palvelinpuolella (esim. Argon2, scrypt, PBKDF2, bcrypt) yhdessä Saltin ja asianmukaisten work factor -arvojen kanssa; nopeat hajautukset, kuten MD5/SHA-1, eivät sovellu salasanojen tallentamiseen.
  • Rate limiting / throttling ja lukitukset: Online-hyökkäyksiä on hidastettava rajoittamalla virheellisiä yrityksiä, käyttämällä asteittain piteneviä odotusaikoja ja tarvittaessa CAPTCHAa.

Lisäksi Password Depot vaikeuttaa online-rate-yrityksiä lukitsemalla Master-Passwort-kentän hetkeksi virheellisten syöttöjen jälkeen – odotusajan pidentyessä toistuvien virheyritysten myötä.

Käytännön ohjeita palveluntarjoajille (teknisille tiimeille)

  • Hyväksykää kaikki tulostettavat merkit, myös välilyönnit/Unicode, ja sallikaa kopiointi ja liittäminen.
  • Ottakaa käyttöön estolistat (kompromettoituneet/tavanomaiset salasanat) ja rate limiting selkeillä käyttäjäohjeilla.
  • Tallentakaa salasanat ainoastaan suolattuina, hajautettuina arvoina käyttäen hitaita KDF:iä ja tarkistakaa work factorit säännöllisesti.

Lisälähteet

Turvallisten salasanojen luominen

Lue, miten luot salasanoja, jotka kestävät brute force -hyökkäykset.

Vinkkejä turvallisiin salasanoihin