View page as slide show

Johdatus tietoturvaan

Autentikointi

  • Aidoksi/oikeaksi todentaminen
  • Tarvitaan esimerkiksi oikeuksien myöntämiseen
    • Luottamuksellisuus
  • Erilaisia kohteita
    • Henkilö, yritys, laite, tuote, tapahtuma

Reaalimaailman autentikointi

1. Henkilön tunnistaminen

  • Luottamussuhde
  • Reaalimaailmassa: naama, eleet, tavat…

2. Kaupan tunnistaminen

  • Kaupan nimi
  • Tuotteet ikkunalla
  • Tuttu myyjä

3. Tuotteiden tunnistaminen

  • Onko raha aito?
  • Onko tuote se mitä haluttiin

Digitaalinen autentikointi

1. Henkilön autentikointi

  • Ei fyysisiä tunnisteita suoraan käytössä.
  • Salasanat, digitaaliset allekirjoitukset, varmenteet, biometriikka.
  1. Henkilön tunnistaminen paikallisesti
    • Tunniste syötetään suoraan autentikointi laitteeseen
    • Esim. Läppärin salasana
  2. Henkilön tunnistaminen etänä
    • Tunniste syötetään erilliseen laitteeseen ja siirretään siitä eteenpäin haluttuun palveluun
    • Esim verkkopankin salasana

2. Kaupan autentikointi

  • Varmenteet
    • Kolmannen osapuolen todistus, että olet juuri kyseisen kaupan verkkopalvelussa.
  • Kuinka tunnistaa rehellinen verkkokauppa huijarista?
    • Brändit arvokkaita
  • Entä kauppias?
    • huuto.net, eBay

3. Tapahtumien autentikointi

  • Yhteyden autentikointi
    • Autentikointi tapahtuu yhteyden muodostuessa.
    • Kaikki tapahtumat merkitään autentikoidulle taholle, kunnes ulos kirjautuminen tapahtuu.
    • Esim Facebook
  • Tapahtuman autentikointi
    • Halutut toimet/tapahtumat varmistetaan ja autentikoidaan erikseen
    • Esim. Kaupassa maksu.
      • Tuotteet voidaan valita anonyymisti
      • Vasta maksettaessa autentikoidutaan ja kerrotaan kuka haluaa maksaa.

Uhat autentikointia vastaan

  • Toisena esiintyminen
    • URL huijaukset (osoite huijaukset)
  • Autentikoinnin kiertäminen
    • Tunnistetietojen väärentäminen
  • Autentikointi tietojen väärinkäyttö
  • Hyökkäys autentikointia vastaan voi olla tuottoissa
    • Muiden luottokortilla ostelu, Väärennetyillä henkilötiedoilla lisäoikeuksien hankkiminen
    • Luottamuksen luonti, Ylimääräisen tiedon hankinta (salasanat, henkilötiedot)

Käyttäjän autentikointi: Yleinen malli

  • Ennen autentikointia, täytyy käyttäjän tunnistetieto olla tallennettuna tietokantaan taholla joka hoitaa autentikoinnin
    • Autentikointi voidaan tehdä lokaalisti tai kolmannen osapuolen avulla.
  • Yleensä kaksiosainen tapahtuma:
  1. Ensin käyttäjän tunnistus (identification):
    • Esimerkiksi käyttäjätunnuksen kirjoitus
  2. Käyttäjän varmistus(autentikointi):
    • Salasanan kirjoittaminen, haasteeseen vastaus, biometrisen tiedon toimittaminen
    • Tulosta vertaillaan tietokannassa oleviin tietoihin

Salasanat

  • Perustuvat johonkin mitä käyttäjä tietää
    • Esim. salasana korkeakoululla
  • Rekisteröinti
    • Rekisteröityessä käyttäjä saa käyttäjä tunnuksen ja valitsee salasanan jolla autentikoituu
      • Järjestelmä voi myös luoda salasanan käyttäjälle
  • Tiedot salasanasta tallennetaan järjestelmään
  • Autentikointi
    • Järjestelmään palatessaan käyttäjä syöttää käyttäjätunnuksensa ja salasanan
    • Järjestelmä vertaa käyttäjän antamaa salasanaa jäjrjestelmään tallennettuun

Salasanojen ongelmia

  • Salasanan varastaminen järjestelmästä
    • Piilotetaan salasana tiedosto peruskäyttäjiltä
      • esim /etc/shadow linuxissa
    • Yleensä itse salasanaa ei tallenneta vaan siitä laskettu tiiviste
      • linux käyttää nykyään md5:ttä (aiemmin DES salausta)
  • Salasanan pituus
    • Bruteforce. sanakirja hyökkäykset vrt. avaimet.
    • Vaikeutetaan käyttämällä suolaa (salt) eli satunnaisia ylimääräisiä bittejä
      • Julkinen salt → vaikeuttaa hyökkäystä salasanajoukkoa vastaan
      • Salainen salt → vaikeuttaa hyökkäystä yksittäistä salasanaa vastaan ja hidastaa autentikointia
  • Kuinka muistaa pitkä salasana?
    • Konetehot ovat jo niin isoja, että riittävän pitkän salasanan muistaminen. on vaikeaa
      • Tämän päivän turvallinen salasana on huomisen heikko salasana.
    • Vaikeat salasanat kirjoitetaan yleensä lapulle ylös, joka on itsessään riski.
      • Salasana lappua tulee säilyttää turvassa
  • Tutkimustuloksia vuodelta 2005:
    • 16 prosenttia salasanoista oli 3 merkkiä tai lyhyempiä
    • 86% salasanoista oli helppo selvittää
  • Salasanojen varastaminen on helppoa
    • Samoja salasanoja käytetään useassa paikassa
    • Paikan A salasana kirjoitetaan vahingossa paikkaan B yritettäessä
    • Ihmiset antavat helposti tietoja käyttämistään järjestelmistä kun luvataan alennuksia tai muita etuja.
  • Salasanoja jaetaan helposti muille
    • Ystävät, työtoverit, ylläpito, puhelinlaitos jne.
    • Yleensä työn tai toiminteen helpottamiseksi
  • Väärä ajattelumalli
    • Ei tarvitse juosta karhua nopeammin, ainoastaan mukana olijoita
    • Hyökkääjä mielellään hyödyntää useampiakin tunnuksia, eikä vain ensimmäisenä löytyvää.
  • Turvallisuuden takaamiseksi salasana tulisi vaihtaa säännöllisesti
  • Brute force hyökkäystä varten hyökkääjä varten tarvitsee tiedoston jossa salasanat ja tunnukset ovat salattuna
  • Onko lyhyt PIN koodi turvallinen?
    • Käsin mahdollisuuksienläpikäynti on kuitenki iso urakka.
    • Varashälyttimessä ainoastaan 10 sekunttia aikaa syöttää oikea tunnus.
    • Toimii, koska hyökkäystä ei voida automatisoida

Salasanojen murtaminen

  • Brute-force hyökkäys (raa’ an voiman hyökkäys)
    • Käydään mahdolliset salasanat läpi kunnes oikea löytyy
    • 8 bitin salasana: 28 = 256 mahdollista avainta
    • 8 merkkiä pitkä salasana( kuvaus 8*8bittiä = 64b )
      • Pienet kirjaimet: 29^{8} = 5.00246413 * 10^{11}
      • Pienet ja isot kirjaimet (29 * 2)^{8} = 1.28063082*10^{14}
      • kaikki mahdolliset bittikuviot 2^{8^{8}} = 2^{64} = 1.84467441 *10^{19}
    • Kone tehon kasvaessa avainten läpikäynti aika pienenee
  • Hyvä salasana
    • Sanakirja hyökkäys ei toimi
    • Tarpeeksi pitkä
      • Hyökkäjä ei jaksa odottaa vuosia salasanan selviämistä
      • Pitkä salasana vaikea muistaa,
        • kuinka tallettaa salasana turvallisesti, jos sitä ei muista?
  • Avain lauseet
    • Käyttävät yksisuuntaisia funktioita
    • Käyttökelpoisia myös julkisen avaimen systeemien kanssa
    • Mikä lause on tarpeeksi pitkä
      • Informaatioteorettinen nyrkkisääntö : 5 sanaa tuottaa 4 tavua (32bittiä) salasanaa (englannin kielessä)
  • Entropia
    • Epävarmuustekijä
      • Mitä enemmän mahdollisuuksia (satunnaisuutta) sitä suurempi entropia
      • Mitä tasaisemmin satunnaisuus jakautuu kaikkien mahdollisten tapahtumien kesken, sitä suurempi entropia
    • Kirjaimen esittämiseen käytetään 8 bittiä
      • Englannin kielessä yhden kirjaimen entropiaksia on laskettu alle 1.3
      • Pelkkiä kirjaimia käytettäessä tarvitaan pitempi salasana, kuin jos mukana on myös erikoismerkit
      • Sanakirja hyökkäys.
        • L0phtcrack - ohjelma käy 400 MHZ:n quad pentiumilla 8 Megatavun sanakirjan läpi muutamassa sekunnissa
    • 128 bitin suojaus NT:ssä
      • Heikkoutena salasana
      • Algoritmi voi hyväksy 128 bittiä, mutta salasana ei anna niin paljon –> suojaus ei ole 128 bittiä.
  • Avain lauseet
    • Käyttävät yksisuuntaisia funktioita
    • Käyttökelpoisia myös julkisen avaimen systeemien kanssa
    • Mikä lause on tarpeeksi pitkä
      • Informaatioteorettinen nyrkkisääntö : 5 sanaa tuottaa 4 tavua (32bittiä) salasanaa (englannin kielessä)
  • Brute-force vuoden 1995 koneteholla salasanoja vastaan
Salasanan pituus 4 5 6 7 8
Pienet kirjaimet (26)0.4 sec 12 sec5 min2.2 h2.4 d
pienet kirjaimet ja numerot (36)1,7 sec1 min36 min22 h33 d
alfanumeeriset kirjaimet (64)15 sec15 min16 h41 d6.9 y
tulostettavat merkit (95)1.4 min2.1 h8.5 d2.2 y210 y
ASCII merkit (128)4.5 min9.5 h51 d18 y2300 y
8-bittiset ASCII merkit(256)1.2 h13 d8.9 y2300 y580000 y

Kertakäyttöiset salasanat

  • Salasanalistat, Salasana vaihtuu joka autentikointi kerralla
    • esimerkiksi pankit
  • Toteutetaan esimerkiksi SKEY:llä
    • Järjestelmälle annetaan alkuarvo joka ajetaan n-kertaa tiivistefunktion läpi.
    • Viimeinen tiiviste tallennetaan järjestelmään, ja muut tulostetaan listaan joka annetaan käyttäjälle.
    • Autentikoituessa käyttäjä syöttää n-1:n salasanan listaltaan järjestelmään.
    • Järjestelmä ajaa anentun salasanan tiivistefunktion läpi ja vertaa tulosta.
    • Tuloksen täsmätessä päästetään käyttäjä sisään järjestelmään ja käyttäjän syöttämä salasana tallennetaan järjestelmään edellisen salasanan tilalle

Muut tietoon perustuvat menetelmät

  • Piste kuviot
  • Kuvien valinta
  • Mitä muita?

Biometriikka

  • Tunnistus tapa: jotakin mitä olet
    • Ääni, verkkokalvo, sormenjälki, käsiala
  • Reaalimaailmassa tunnistus perustuu toisen ulkoisiin piirteisiin.
    • Puhelimessa henkilö tunnistetaan äänen perusteella
    • Passissa tunnistus perustuu kuvaan
  • Digitaalisessa maailmassa biometrinen tunnistus perustuu hahmon tunnistukseen
    • naaman piirteet: silmien etäisyydet, kasvojen muodot jne. 3d kasvojen mallit tutkimuksen alla.
    • Sormenjäljet ja käden geometria
    • Retina ja Iris
    • Ääni
    • Fyysinen allekirjoitus, kävely tyyli jne.
  • Tunnistamisessa biometriikka tieto muutetaan digitaaliseen muotoon
    • Sensori lukee fyysisen informaation, josta erotetaan autentikoinnin kannalta oleelliset piirteet
    • Myös biometrisessä tunnistuksessa tulee tunnistetieto olla tallennettuna tietokantaan aivan kuten salasana
      • Sormenjäljestä ei voi tunnistaa henkilöä, jos ei ole mitään mihin annettua jälkeä verrataan
      • Tallennettua tunnistetietoa vastaan voidaan hyökätä kuten salasanaakin vastaan
  • Biometrisen informaation luonnolliset muutokset vaikeuttavat tunnistusta
    • Hiusten kasvattaminen, silmälasit, sormen hikoilu
      • Informaatio ei siis ole täysin sama
    • Harmaa alue
      • Hyväksytäänkö lähellä oleva sormenjälki, joka on melkein varmasti A:n vai hylätäänkö se.
      • Jotkin ohjelmistot antavat mahdollisuuden valita mikä todennäköisyys riittää autentikointiin.
        • Kynävarastoon pääsemisessä on parempi kallistua väärän positiivisen puoleen (eli mielummin päästetään väärä henkilö sisään kuin estetään oikean henkilön pääsy.)
        • Ydinohjusten lähetyksessä väärä negatiivinen lienee parempi vaihtoehto (eli mielummin otetaan riski että oikea henkilö ei pääse järjestelmään, kuin että väärä henkilö pääsisi sisälle)
    • Digitaalinen biometriikkaan perustuva tunnistus kehittyy kokoajan.
      • Muutosten vaikutusta tunnistamiseen voidaan pienentää.

Biometriikka - Hyvät ja huonot puolet

  • Hyvät puolet
    • Biometriikkaa on vaikea väärentää
    • Autentikointi menetelmä on käyttäjällä yleensä helppo.
  • Huonot puolet
    • Tiedot helppo varastaa
      • Webbikameran kuva autentikoinnissa: voidaan ottaa A:sta tavallinen kuva ja lähettää se omana kuvana. Tarkistuksessa verrataan vain kuvia, ei tarkisteta onko kuva juuri lähettäjän.
      • Faxatun allekirjoituksen voi kopioida toisesta dokumentista.
      • Sormenjälkitunnistus verkon ylitse: voidaan väärentää lähtevä sormenjälkidata, sormenjäljen sijaan
  • Sekä tiedot että menetelmä varmistettava eli varmistetaan:
    1. Tietojen kuuluvan lähettäjälle
    2. Tiedot vastaavat tallennettuja tietoja
  • Ei selviä virhetilanteista hyvin
    • Varastettu sormenjälkitieto on varastettu lopullisesti. A ei voi vaihtaa omaa sormenjälkeään.

Automaattinen valvonta biometriikalla

  • Haasteellisempaa kuin aluksi luulisi
  • Virhetunnistukset ongelmallisia
  • Esim. Käytetään kasvontunnistusjärjestelmää jonka tunnistus varmuus on 98,8%
    • Chicagon O’hare lentokentän läpi kulkee 250000 ihmistä päivässä
    • 0.012 * 250000 = 3000 väärää tunnistusta päivässä
    • 3000/24h = 125 tunnissa ~ 1 huti/30sek , eikä liikennettä edes ole täyttä 24 tuntia

Poletit (Token)

  • Perustuu johonkin mitä omistaa
    • Kuninkaan sinettisormus, Hotellihuoneen reikäkortti avain, upseerin univormu
  • Ongelmat
    • Tunnistaa ainoastaan poletin, ei poletin omistajaa
      • Varastetulla poletilla pääsee sisään kuka vain
    • Poletti voidaan kopioida
      • Avaimen voi viedä suutarille kopioitavaksi
    • Pitää pystyä todistamaan, että poletti on oikeasti käytössä
      • Vrt. biometriikka
      • Luottokortti on vaikea kopioida. Luottokortin tiedot on helpompi varastaa ja käyttää niitä hyväkseen
    • Laiskat ihmiset pitävät poletin kokoajan laitteessa
      • Esim. henkilökorttia pidetään kokoajan lukulaitteessa koneen vieressä.
  • Polettiin yleensä yhdistetään salasana, jolla varmistetaan poletin omistajan oikeus polettiin
    • Pankkikortit, Kännykän SIM
  • Mikäli ei ole erillistä poletin lukijaa käytössä, on kolme vaihtoehtoista poletin tunnistetapaa

1. Haaste - vastaus (challenge-response)

  • Kone antaa haasteen.
  • Käyttäjä syöttää haasteen polettiin
  • Poletti antaa vastauksen haasteeseen, jonka käyttäjä syöttää koneelle

2. aika pohjainen

  • Poletin toimintaan pohjautuva
    • Poletissa pyörii arvoja, jotka muuttuvat ajanfunktiona
    • Käyttäjä syöttää poletissa tunnistus hetkellä olevan tekstin koneelle
    • Esim. SecurID token

3. Ulkopuoliseen syötteeseen pohjautuva

  • Polettissa itsessään ei ole mitään erityisiä laskutoiminteita
  • Polettiinin tilataan salasana, jonka ulkopuolinen palvelin toimittaa sille
  • Salasana syötetään palveluun
  • Esim. rekisteröityyn kännykkään lähetetyt salasanat
  • Täydessä systeemissä näiden lisäksi voidaan käyttää vielä lisä salasanaa
  • Tärkeää on, ettei hyökkääjä voi tietää miten haasteen vastaus lasketaan, tai kuinka poletin teksti riippuu ajasta.
  • Lukijaton systeemi on yhtä vahva kuin poletin lähdekoodi
    • Reverse engineering suurin uhka.

Salasana polettina

  • Salasanan kirjoittaminen paperille muuttaa salasanan poletiksi
    • Jotain mitä tietää muuttuu jotain mitä omistaa
    • Salasana muuttuu omistetuksi paperipalaksi.
    • Samat ongelmat kuin muillakin poleteilla.
    • Salasanalista
    • Turvallisuus riippuu paperin säilytys tavasta.

Asymmetrinen salaus autentikoinnissa

  • Haaste-vastaus malli
    • Lähetetään haaste salattavaksi salaisella avaimella (tai salattuna julkisella avaimella)
    • Vastauksena salattu/purettu haaste
    • Satunnaisten viestien salaus on tietoturva riski.
      • Lasketaan haasteesta hash joka salataan
      • Lasketaan puretusta haasteesta hash

Julkisen avaimen infrastruktuuri (PKI, Public Key infrastrucuture)

  • Julkisten avaintenvarmistus järjestelmä
  • Yhdistetään julkinen avain ja identiteetti toisiinsa eli julkisen avaimen autentikointi
  • Kolmas luotettu osapuoli varmentaa avaimen kuulumisen tietylle henkilölle
  • Sertifikaatti
    • Kolmannen osapuolen (CA), certificate authority) allekirjoittama tiedosto joka pitää sisällään tunnistetiedot ja julkisen avaimen
    • Mukana usein myös voimassa olo aika.
  • CRL (Cerfitificate Revocation List)
    • Lista käytöstä poistetuista sertifikaateista, vrt. kadonneet luottokortit.
  • Erilaisia malleja
    • X.509, PGP, SPKI

Autentikointimenetelmien yhteiskäyttö

  • Esimerkiksi PAM (pluggable authentication module)
    • Käyttöjärjestelmä tarjoaa autentikointi palvelun jonka kautta eri ohjelmille voidaan määritellä eri autentikointi menetelmät
    • Autentikoinnin onnistumiseksi voidaan määritellä että käyttäjän täytyy läpäistä usempi menetelmä
  • Useamman menetelmän yhteiskäyttö lisää oikein toteutettuna turvallisuutta.
  • Useamman menetelmän yhteiskäyttö joissa riittää että vain joku menetelmistä läpäistään heikentää turvallisuutta
    • Useampi mahdollinen kohde jota huijata
      • Turva on yhtä vahva kuin heikoin lenkki
    • Esim. Biometrisessä passissa ei biometriikka tiedosta ei hyötyä, jos tullimies päästää läpi kuvan pohjalta biometrisen tunnistuksen epäonnistuessa.
  • Turvallista menetelmää ei pidä pystyä ohittamaan turvattomalla
    • Esim. Unohtuneen salasanan saanti tai muuttaminen tietämällä äidin serkun kaiman nimen.

SSO (single sign-on)

  • Autentikointi yhteen palveluun/laitteeseen joka hoitaa autentikoinnin muualle
  • Helpottaa käytettävyyttä
    • Vähemmän salasanoja muistettavana
  • Tietoturvariskit kasvavat
    • Pääautentikointi menetelmän murtuessa hyökkääjä pääsee hyödyntämään murrettua identitettiia useassa paikassa
  • Luottamus kysymykset ongelmallisia
    • mihin/kehen voi luottaa toisen henkilön identiteetin varmistuksessa
  • Erilaisia ratkaisuja eritasolla
    • Project Liberty /Liberty alliance (palvelut autentikoivat asiakkaansa toisilleen)
    • Kerberos (erillinen autentikointi palvelu)

Autentikointijärjestelmät

  • Perusmalli
  1. A syöttää käyttäjätunnisteen jsekä autentikointi tiedot asiakasohjelmalle
  2. Asiakasohjelma lähettää tiedot palvelimelle
  3. Palvelin tarkistaa tietokannasta että käyttäjätunnus ja salasana pari on oikein.
  4. Palvelin ilmoittaa asiakasohjelmalle autentikoinnin onnistuneen
  • Kerberos malli
    • A ja B omistavat pitkäikäisen salaisuuden, joka on jaettu kerberos palvelimen kanssa
  1. A lähettää pyynnön Kerberos palvelimelle, että voi kirjoittautua sisään B:n palvelimelle
  2. Kerberos palvelin tarkistaa että A:lla on oikeus päästä B:n koneelle
  3. Kerberos palvelin lähettää A:lle “tiketin”, jonka A voi antaa B:n palvelimelle, sekä yhteysavaimen jolla A voi todistaa olevansa A
  4. A käyttää yhteysavainta luodakseen autentikaattorin
  5. A lähettää autentikaattorin ja tiketin Bobille
  6. B tarkistaa kaiken. Jos kaikki on ok, B päästää A:n sisään
Last modified: 2014/01/29 13:45