You are here: TUTWiki>Tietoturva/Tutkielmat>TyoLuettelo?>2008-9

Jani Mäkelä

Salasanojen tallennusjärjestelmät

1. Johdanto

Tutkielmassa tutustutaan kolmeen eri salasanojen tallennusjärjestelmään, sekä omalla tietokoneella että internetissä. Omalla koneella tutkitaan tarkemmin ohjelmaa KeePass Password Safe ja tutustutaan Mozilla Firefoxin salasanojen tallentamiseen. Internetin puolelta testissä on Clipperz-palvelu.

Ohjelmiin tutustutaan kokeilemalla niiden käyttöä sekä tutustutaan myös teknisempään puoleen, kuten mitä salaustekniikoita niissä on käytetty, jotta tallennettut salasanat eivät näy ulkopuolisille käyttäjille.

2. Yleistä salasanojen tallennusjärjestelmistä

Salasanojen tallennusjärjestelmien tarkoitus on helpottaa käyttäjän arkea muistamalla käyttäjän puolesta salasanat ja näin käyttäjä voi käyttää yksilöllisiä salasanoja eri palveluissa. Tällöin käyttäjän ei tarvitse käyttää samaa salasanaa useassa palvelussa, joten yhden mahdollisesti paljastuessa, muut palvelut eivät ole suorassa vaarassa.

3. Järjestelmät

3.1 KeePass Password Safe

keepass-addentry2.jpg
Kuva 1. Verkkosivustolle tunnus/salasanaparin lisäys

3.1.1 Kuvaus

KeePass Password Safen tarkoitus on helpottaa käyttäjän arkea auttamalla häntä muistamaan salasanansa eri palveluihin. KeePass:n saa käynnistymään Windowsin mukana ja se sijoittaa itsensä Windowsin ilmaisinalueelle helppoa käyttöä varten.

3.1.2 Käyttö

KeePass asennetaan koneelle normaalin sovelluksen tavoin. Ensimmäisen käynnistyksen yhteydessä käyttäjää pyydetään luomaan tietokanta jonne tulevat salasanat tallennetaan. Tämän tietokannan voi suojata joko salasanalla tai avaintiedostolla, tai molemmilla. Tiedosto voi olla mikä tahansa tiedosto, esimerkiksi JPG-kuva. Kun tietokanta on luotu, voi KeePassia ruveta käyttämään.

KeePassiin tallennetaan esimerkiksi WWW-sivulle kuuluvia tunnus/salasana pareja. Merkintöjä lisätessä KeePass tarjoaa mahdollisuuden luoda vahvan salasanan käyttäjän puolesta. Kun merkintä on olemassa, siitä on helppo kopioida salasana leikepöydälle ja sieltä liittää salasanakenttään sille kuuluvalla WWW-sivulla. Käyttäjän on mahdollista myös luoda hieman monimutkaisempia automaattisesti tapahtuvia kirjautumisprosesseja.

KeePassin käyttöä helpottavat pikanäppäimet, joilla sen saa esimerkiksi etualalle Windowsin ilmaisinalueelta nopeasti. Siihen on saatavilla myös useita liitännäisiä. Esimerkiksi varmuuskopiointiin ja selainintegrointiin.

3.1.3 Tekniikat ja turvallisuus

Ohjelma käyttää tietokantansa salaamiseen joko AES- tai Twofish-lohkosalausta, jossa lohko on 128 bittiä ja avain 256 bittiä. Avaimet luodaan SHA-256 menetelmällä, joka tiivistää käyttäjän syöttämän salasanasta ja/tai avaintiedostosta muodostetun parin 256 bitin pituiseksi avaimeksi. [1]

Jos käytössä on vain salasana, avaimen muodostamisessa käytetään apuna 128 bittistä satunnaista suolaa, joka vaikeuttaa sanastohyökkäyksiä vastaan. [1]

Salasanaa ja avaintiedostoa käytettäessä avain muodostetaan tekemällä ensin tiivistämällä salasana SHA-256 menetelmällä ja tämän jälkeen luotu tiiviste ja avaintiedosto tiivistetään uudelleen SHA-256:lla uudeksi tiivisteeksi. Jos avaintiedosto ei ole tasan 32 tavun mittainen, sekin tiivistetään SHA-256:lla ennen yhdistämistä. [1]

Satunnaislukujen generointiin KeePass käyttää näennäisatunnaisia lähteitä. Esimerkiksi prosessorin kuormaa, aikaa/päivämäärää, hiiren sijaintia, vapaan muistin määrää, aktiivista ikkunaa, leikepöydän omistajaa ja monia muita. Näistä muodostuva näennäissatunnainen data kerätään yhteen ja nämä tiivistetään laskurin avulla SHA-256:lla ja näistä muodostetaan lopulliset 16 satunnaista tavua. [1]

Kirjastohyökkäyksiä vastaan KeePass suojautuu ajamalla 6000 kryptauskierrosta salasanan tiivisteen luonnissa. [1]

3.2 Clipperz

clipperz-addcard2.jpg
Kuva 2. Kortin lisäys Clipperziin verkkosivuston tunnusten säilyttämiseksi

3.1.1 Kuvaus

Clipperz on hieman enemmän kuin pelkkä salasanan tallennussivusto. Heidän tavoitteenaan on tuoda markkinoille "zero-knowledge" teknologiaa, jossa käytettävän WWW-sovelluksen ei tarvitse tietää mitään itse käyttäjästä [2]. Clipperzin ideana on että käyttäjän selain lataa sivustolta Javascriptillä toimivan ohjelman ja kryptokirjaston ja ohjelma käyttää ladattua kryptokirjastoa tiedon salaamiseen ja lähettää näin eteenpäin käyttäjän koneelta vain kryptattua tietoa takaisin palvelimelle.

3.1.2 Käyttö

Sivustolle rekisteröityessä käyttäjä syöttää vain haluamansa käyttäjätunnuksen ja salasanan. Tämän jälkeen se onkin jo käyttövalmis. Clipperz:ssä käyttäjä luo "kortteja" joihin tallennetaan haluttuja tietoja. Oletuskorttipohjina tarjolla on tallennusvaihtoehtoja seittisivuille kirjautumiseen, luottokorttitietojen tallentamiseen ja osoitekirjamerkinnän tekemiseen.

Clipperz tukee myös suorakirjautumista, jonka avulla käyttäjä voi kirjautua sivustolle suoraan yhdellä napin painalluksella. Tämä onnistuu esimerkiksi Mozilla Firefox selaimella luomalla kirjanmerkki Clipperz Compact -tilaan, jolloin selaimeen aukeaa toiselle reunalle sivupalkki, josta löytyy tallennetut suorakirjautumiskortit. Korttia napsautettaessa selain lataa kyseiseen korttiin tallennetun sivun ja kirjautuu sisään.

3.1.3 Tekniikat ja turvallisuus

Clipperzissä on käytössä seuraavia tietoturvaan liittyviä algoritmejä [3]
  • AES-256 - salaukseen käytetty algoritmi
  • Double SHA-256 - tiivisteiden luontiin
  • Fortuna - laadukkaiden satunnaislukujen luontiin käytetty algoritmi
  • ECC - julkisen avaimen kryptografiaa
Muita käytettyjä menetelmiä on muun muassa yhteyden SSL-salaus, eikä uutta koodia ladata kesken palvelun käytön palvelimelta. Salasanan vahvuuden näyttö auttaa käyttäjää tietämään onko hänen käyttämä salasana kuinka hyvä. Kertakirjautumisjärjestelmät on kätevä kun käyttää Clipperziä julkiselta tietokoneelta esimerkiksi kirjastossa. Clipperz tarjoaa myös salasanojen luontiin työkalun. [3]

Clipperz on ensimmäinen zero-knowledge seittiohjelma, eli Clipperz ei tiedä käyttäjistään tai heidän tallentamista tiedoistaan yhtään mitään, ei edes käyttäjätunnuksia. Tämän mahdollistaa Ajax ja selaimessa tehtävä kryptografia. [3]

3.3 Mozilla Firefox

firefox-listpws.jpg
Kuva 3. Lista Mozilla Firefoxissa tallessa olevista salasanoista

3.3.1 Kuvaus

Selaimet ovat kauan tarjoutuneet muistamaan käyttäjän tunnuksen ja salasanan seittisivustolle kirjautumisen yhteydessä. Mozilla Firefoxissa tämä ominaisuus on hyvin integroitu ja on varsin mukava käyttää.

3.3.2 Käyttö

Kun käyttäjä syöttää tunnuksen ja salasanan kirjautusessaan seittisivustolle, Firefoxin ylälaitaan ilmestyy kysymys, "Haluatko tallentaa salasanan?" ja vaihtoehtoina ovat kyllä, ei tällä kertaa tai ei ikinä tälle sivustolle. Jos käyttäjät valitsee kyllä, Firefox tallentaa salasanan muistiinsa ja seuraavalla kerralla automaattisesti täyttää tunnus ja salasana kentät tallennetuilla tiedoilla.

Halutessaan käyttäjä voi suojata tallennetut salasanat pääsalasanalla, joka kysytään kerran selaimen käyttökerran aikana, kun ensimmäisen kerran session aikana salanatietokannasta pitäisi tallennettu salasana hakea.

Firefoxin asetuksista näkee tallennetut salasanat ja näitä voi poistaa näin halutessaan. Sieltä myös on mahdollista nähdä itse salasana selväkielisenä.

3.3.3 Tekniikat ja turvallisuus

Firefoxin salasanatietokanta on salattu PKCS#5 menetelmällä. Kun tietokantaa käyttökerran aikana ensimmäisen kerran luetaan, voidaan käyttäjältä pyytää pääsalasanaa ennen kuin tietokantaa avataan. [4]

3.4 Mobilsitter

Saksalainen Fraunhofer-instituutin it-turvatekniikan laitos on kehittänyt ohjelmiston, jossa salasanat tallennetaan matkapuhelimeen. Salasanat tallennetaan tiedostoon, jonka saa auki yhdellä koodilla. Mikäli tiedostoa yritetään avata väärällä koodilla, ohjelmisto tekee väärennettyjä salasanoja. Järjestelmä ei anna mitään vikailmoitusta, joten sivullisen käyttäjän on vaikea tietää ovatko annetut salasanat toimivia. Mobilsitter perustuu Aes 128 -salausmenetelmään. Ohjelmisto on maksullinen ja sen lisenssin voi ostaa Mobilsitterin kotisivuilta. [5]

4. Päätelmät

Salasanan tallennusjärjestelmät ovat käteviä nykyään kun netissä ja muualla on yhä enemmän palveluita joihin tarvitsee muistaa salasanoja. Nämä palvelut ja ohjelmistot antavat käyttäjälle mahdollisuuden käyttää jokaisessa palvelussa yksilöllistä salasanaa, joka on erittäin hyvä asia tietoturvan kannalta.

Ohjelmistojen turvallisuudesta ja luotettavuudesta voi olla montaa mieltä, mutta molemmista testissä olleista ohjelmista on saatavilla lähdekoodi. KeePass:n tiedot pysyvät omalla koneella, joten siihen on helpompi luottaa kuin Clipperziin jonka tiedot sijaitsevat netissä heidän palvelimellaan, vaikka kryptattuja ovatkin.

Sekä Clipperzin että KeePassin ohjeissa tuli selväksi kuinka tärkeää on hyvän pääsalasanan valitseminen. Clipperz suositteleekin mieluummin luomaan salalauseen, joka on huomattavasti pidempi kuin salasana ja näin osaltaan edistää turvallisuutta.

Firefoxilla on ehdottomasti kätevintä tallentaa seittisivustojen salasanoja, mutta muuhun siitä ei sitten olekaan. Itse koin Clipperzin loppujen lopuksi kätevimmäksi, koska sitä voi käyttää joka paikasta, kunhan on yhteys internettiin. Toisaalta KeePass ei ole riippuvainen nettiyhteydestä, joten kannettavalla tietokoneella tai muistitikulle sijoitettuna se on vie voiton Clipperzistä. Paremmuutta onkin yleisesti mahdotonta sanoa - jollekin käyttäjälle Clipperz on parempi ja jollekin riittää Firefoxin tarjoama yksinkertainen salasanan tallennus.

Netistä riippumaton Mobilsitter on näistä järjestelmistä kätevin liikkuvalle ihmiselle. Matkapuhelin kuitenkin kulkee aina mukana jos sellaisen omistaa.

5. Käytetyt ohjelmistoversiot


Ohjelmistojen kokeilu suoritettiin 64-bittisessä Windows Vista Ultimate käyttöjärjestelmässä. Mozilla Firefox:sta käytössä oli versio 3.0.3. KeePass Password Safesta käytössä versio 1.14 ja Clipperz:stä testin hetkellä uusin versio oli build 1147.

6. Lähteet

Print version |  PDF  | History: r4 < r3 < r2 < r1 | 
Topic revision: r4 - 17 Nov 2009 - 20:40:04 - JaniMaekelae
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback