Vanha sivusto

Tämä on vanha itQ.fi-sivusto, ja sisällön ylläpitäminen sille on lopetettu. itQ siirtyi WordPress-alustalle 6.6.2015.

maanantai 21. marraskuuta 2011

Millainen on hyvä salasana - ja miksi?

Hyvä salasana on pitkä ja sisältää
mitä erilaisimpia näppäimistön
anteja.

Kuva: Keyboard, cafenut,
CC-BY-NC-SA-2.0
Viestintäviraston tietoturvaan keskittynyt CERT-FI -osasto julkaisi - viimeaikaisiin tietomurtoihin liittyen - jokin aika sitten ohjeen hyvästä salasanasta. Kuinka sitten keksiä sopiva salasana, kun joka palveluun tarvittaisiin oma, vähintään 15 kirjainta, numeroa ja muuta merkkiä sisältävä rimpsu, jota ei saisi kirjoittaa paperillekaan?



Lähdetään liikkeelle siitä, miten salasanat oikeastaan murretaan. Oion tässä yksikertaisuuden nimissä: esimerkiksi suolausta ei ole otettu huomioon, kuten ei myöskään sitä, että jotkut verkkosivut tallentavat salasanat selväkielisinä, kuten vastikään murtunut Netcar.fi.

Hyökkääjä-Heikki, korkattuaan käyttäjätietokannan ja saatuaan salasanatiivisteet käyttöönsä, voi nykyaikaisella tietokoneella laskea satojatuhansia tiivisteitä sekunnissa ja vertailla niitä salasanatiivisteitä vastaan: tässä kirjoituksessa on lähdetty siitä, että hyökkääjä laskee 500 000 tiivistettä sekunnissa. Tämä tarkoittaa sitä, että hyökkääjä voi käydä kaikki ne salasanat, joissa on 6 pientä kirjainta, läpi alle kahdessakymmenessä minuutissa. Koska erilaisten salasanojen määrä voidaan laskea kaavalla salasanat=merkkivalikoimapituus, on jo kahdeksankirjaimista salasanaa huomattavasti vaikeampi murtaa: 298≈5,002×1011.

Heikki ei kuitenkaan ole rajoittunut vain tuollaiseen brute-force -hyökkäykseen. Hän todennäköisesti alottaisi sateenkaaritaulukolla vertaillen valmiiksi laskettuja tiivisteitä rikollisesti hankittuja salasanatiivisteitä vastaan. Kun siitä on selvitty, siirtyisi hän sanakirjahyökkäykseen: kokeillen yleisiä salasanoja, sanakirjasanoja sekä sanojen ja numeroiden yhdistelmiä. Tässä vaiheessa jo hyvin moni salasana olisi auennut, sillä Heikin ei tarvitse murtaa salasanaa kerrallaan, vaan hän voi kokeilla saatuja tiivisteitä kaikkien salasanojen tiivisteitä vasten yhtä aikaa. Viimeisenä keinona hän sitten kokeilisi brute forcea, joka on tehokas lähinnä 1-8 merkkiä pitkien salasanojen murtamiseen.

Jos murtomies pääsee käsiksi käyttäjätietoi-
hin, on hänellä monia keinoja salasanan sel-
vittämiseksi.

Kuva: Davide Restivo: A Modern Hacker #1
CC-By-SA 2.0
Kun Heikillä on kasa käyttäjätunnuksia ja mahdollisesti muita henkilötietoja salasanoineen, hän voi käyttää hyväksi sitä, että monet käyttävät samaa salasanaa eri paikoissa, ennen kaikkea sähköpostissa. Jos Heikki pääsee saamallaan salasanalla käsiksi myös uhrin sähköpostitiliin (tai jos hyökkäys kohdistui siihen), voi hän vallata uhrin muita käyttäjätilejä palveluiden "Unohdin salasanani" -toiminnoilla, jotka tavallisesti lähettävät uuden salasanan tai linkin sen luontiin sähköpostina.

Nyt, kun tiedetään miten salasanoja murretaan ja mitä niiden avulla voidaan tehdä, voidaan lähteä miettimään tehokasta vastatoimea. Unohdetaan saman salasanan käyttäminen useissa paikoissa, ja valitaan sellaisia salasanoja, joita ei kenellekään muulle tulisi mieleenkään. Internet on pullollaan palveluita, jotka kehittävät pyydetynpituisia ja -tyyppisiä salasanoja (kuten Wolfram Alpha), mutta nämä ovat usein hankalasti muistettavia.

Kuvitellaan salasana vaikka musiikkiaiheiselle keskustelufoorumille: otetaan sen päässä jatkuvasti soivan lempikappaleen kertosäe, ja käytetään sitä salasanan muistisääntönä. Kertosäkeestä voi sitten oman maun mukaan poimia kirjaimia, numeroita ja muita merkkejä, kunnes pituus on 15 merkkiä. Sellaisenaan kertosäettä ei kannata käyttää, sillä nokkela hyökkääjä keksii kokeilla myös sitä. Samalla tapaa voidaan luoda yksilöllisiä salasanoja, joihin on olemassa aina sopiva muistisääntö, ja jotka eivät teemansa takia sekoitu toisiinsa.

Hyvä salasana ei kuitenkaan vielä täysin ratkaise ongelmaa. Palveluissa on usein salasanan palauttamiseksi valittavissa myös salainen kysymys -vaihtoehto. Jos mahdollista, tällaiset kysymykset kannattaa poistaa käytöstä, tai vastata kysymykseen pupulla. Ventovieraskin hyökkääjä voi nimittäin esimerkiksi sosiaalisen median, kuten Facebookin, avulla saada selville äidin tyttönimen tai lempiruoan. Jos hyökkääjä tuntee uhrin entuudestaan, on tietojen selvittäminen vielä helpompaa.

Lisäksi kannattaa tarkkaan miettiä, kannattaako palveluun todella rekisteröityä. Jokainen palveluun rekisteröityminen lisää riskiä sille, että käyttäjätietojasi - muutakin kuin salasanasi - joutuu vääriin käsiin. Pohdintaansa voi alustaa vaikka sillä ajatuksella, että mitä palveluun syöttämillä tiedoilla voitaisiin tehdä niiden joutuessa vääriin käsiin.

Salasana kannattaa myös vaihtaa aika ajoin, vaikkapa vuosittain. Tällöinkään salasanoja ei pidä kierrättää, vaan keksiä uusia. Ja jos uusi salasana ei muuten uppoa päähän, voi sen hetkeksi kirjoittaa esimerkiksi paperille, ja pitää paperin visusti tallessa. Jos palveluun kirjautuu monia kertoja, jossain vaiheessa pidempikin salasana jää päähän. Jos toisaalta kirjautumiskertoja on kovin vähän, kannattaa miettiä, onko käyttäjätili kyseisessä palvelussa kovin tarpeellinen muutenkaan.

Selaimen salasananmuistamis-
toimintoa kannattaa käyttää, jos
salasanat eivät muuten pysy mie-
lessä.
Kuva: Kuvakaappaus Firefox 7:sta.
CERT-FI neuvoo ohjeessaan käyttämään tarvittaessa apuohjelmia salasanojen muistamiseen, mutta pitäisin itse sitä viimesijaisena keinona. Selainten oma Muista salasana -toiminto on yleensä kaikki, mitä tarvitaan. Nämä tiedot kannattaa tietenkin varmuuskopioida offline-medialle (kuten CD- tai DVD-levylle, tai muistitikulle), eikä esimerkiksi sähköpostin tai PayPalin kirjautumistietoja kannata tallentaa edes sinne: ne on turvallisinta opetella sovinnolla ulkoa.

Lopuksi pari linkkiä. Splashdata julkaisi vuosittaisen 25 huonointa salasanaa -listansa, josta salasanojaan ei välttämättä kannata poimia. Toisena linkkinä tarjoan mahdollisuutta tekemässäni palvelussa tarkistaa, onko viimeaikaisilla nettiin vuodetuilla listoilla sinun tietojasi. Sertifikaatti on itseallekirjoitettu, ja sen MD5-summa on 634CE8C0950751A7E3C7FE71FFFE8D3C.

Ei kommentteja :