You are here: TUTWiki>Tietoturva/Tutkielmat>Tutkielmat?>CAKorvausSSLTLS (revision 4)

TTY / Tietoturvallisuuden jatkokurssi / Harjoitustyö 2011 / Luonnosvaihe

Joonas Koivunen

CA-järjestelmän korvaaminen SSL/TLS autentikoinnissa

Johdanto

Selaimesi käyttää Certificate Authority (CA) -järjestelmää todentaakseen yhteytesi tälle koulun palvelimelle. Oli kyseessä koulun TWiki-palvelin tai pankkisi verkkopalvelu, palvelimen todentamisen varaan rakentuu luottamuksellisuus; jos vastapuolena onkin oikealle pankille viestisi välittävä hyökkääjä viestiesi luottamuksellisuus menetetään. Tässä harjoitustyössä esittelen eri tapoja hyökätä tätä mekanismia vastaan ja käyn läpi erilaisia ratkaisuvaihtoehtoja. Rajaan PKI-tarkastelun kuitenkin WWW:n useimmin käyttämälle tasolle.

Sertifikaattipohjainen todennus

PKI eli julkisen avaimen infrastruktuuri on perinteisesti WWW:ssä rakennettu X.509 sertifikaattien varaan [citation needed]. Sertifikaatissa on kryptografisten tietojen lisäksi tunnistetietoja joilla esimerkiksi WWW-selain voi vahvistaa sertifikaatin kuuluvan juuri sen nimiselle palvelimelle, jonne käyttäjä oli halunnut ottaa yhteyttä.

Sertifikaatti on aina myöntäjän (CA) allekirjoittama. Myöntäjän sertifikaatti on joko myöntäjän itsensä, ylemmän tason myöntäjän tai samantasoisen myöntäjiä allekirjoittavan tahon allekirjoittama. Allekirjoittavien tahojen sertifikaattien allekirjoituksista muodostuvaa graafia verrataan tunnettujen ja luotettujen tahojen sertifikaatteihin; palvelimen lähettämä sertifikaatti todetaan luotetuksi jos graafista löytyy luotetun tahon allekirjoitus.

Keitä ovat luotetut tahot?

Sertifikaatteja myöntävät tahot ovat suurimmaksi osaksi yrityksiä, jotka ovat saaneet sertifikaattinsa käyttöjärjestelmien tai sovellusten luotetut sertifikaatit -listalle. Nämä yritykset myöntävät sertifikaatteja rahasummaa vastaan maksaville asiakkaille, jotka haluavat että heidän käyttäjät pääsevät heidän turvallisille sivuilleen ongelmitta. Yritysten muodostama haavoittuvuus on selvä, hehän ovat mukana tehdäkseen rahaa. Tätä tosiasiaa hyödyntäviä tuotteita on markkinoilla, esimerkiksi laite, joka vaatii vain luotetun myötämiseen tarkoitetun sertifikaatin ja mahdollistaa sen jälkeen kaiken liikenteen kaappaamisen.

Maailman muuttuessa kokoajan Internet-riippuvaisemmaksi ei ole mahdoton uhkakuva, että valtion edustajat vaatisivat näiden luotettujen tahojen yhteistyötä kansallista turvallisuutta edistävässä hankkeessa, esimerkiksi myöntämällä valtion edustajan vaatimia sertifikaatteja auttamaan luottamuksellisuuden rikkomisessa.

Myöntäjiin muodostettu luottamus

Vaikka käyttäjällä on usein mahdollisuus valita itse luotetut varmenteita myöntävät tahot, ei se ole käytännössä mahdollista koska on mahdotonta pystyä selvittämään kunkin yrityksen luotettavuus. Suuri yleisö luottaa sovellus- tai käyttöjärjestelmävalmistajan arvostelukykyyn. Sovellus- ja käyttöjärjestelmävalmistajien tarkoitusperänä on mahdollistaa mahdollisimman hyvä yhteentoimivuus etteivät kilpailijat saa etulyöntiasemaa paremman yhteensopivuuden myötä.

Tätä kirjoittaessa selainvalmistaja Mozilla ilmoitti poistavansa luottamuksen erääseen alimman tason myöntäjään. Luottamus loppui kun sertifikaatin myöntänyt yritys ilmoitti että sertifikaatilla on myönnetty kryptografisesti epäluotettavia sertifikaatteja joiden yksityiset avaimet ovat jo saattaneet paljastua.

Epäluotettavia sertifikaatteja allekirjoittavien tahojen poistaminen luotettujen listalta on hyvä asia, mutta ongelmallista on tämän luottamuksen päivittäminen asiakkaille. Esimerkiksi juurikin selainten tapauksessa ainoa käytetty tapa "lopettaa luottamus" myöntäjään on selainpäivityksen lataaminen -- vaikka käyttäjien innokkuus asentaa päivityksiä on parantunut vuosien varrella niiden arkipäivästymisen mahdollistaa tälläinen käytäntö suhteellisen pitkän hyökkäysaikaikkunan, jota voidaan edelleen käyttää ujuttamaan käyttäjälle esimerkiksi hyökkääjän tarjoama, haitallinen selainpäivitys.

Todentamistarve

Jos keskitytään alkuperäiseen todentamistarpeeseen, eli kysymykseen siitä onko kohdepalvelin se joksi käyttäjä sitä luulee. Palvelin on yhteydessä Internetiin, sillä on IP-osoite ja DNS-nimi, jonka käyttäjä antaa sovellukselle ottaakseen yhteyttä palvelimeen; sovellus saa yhteyden muodostamisen yhteydessä palvelimen sertifikaatin tutkittavakseen.

Jo ennen kuin saa tutkittavakseen mitään sertifikaattia palvelimelta, on hän saattanut joutua hyökkäyksen kohteeksi ainakin DNS-palvelimen toimesta; hyökkääjä hallitsee DNS-palvelinta ja antaa hallitsemansa IP-osoitteen oikean sijaan kysytylle nimelle. Mikäli hyökkääjällä, joka vaikuttaa myös DNS-palvelimen toimintaan on mahdollisuus saada minkä tahansa lukuisista yleisesti luotetuista CA -toimijoista allekirjoittamaan palvelimensa sertifikaatti, esittää käyttäjän sovellus hyökkääjän palvelimen sertifkaatin luotettuna. Tilanteesta toipuminen vaatisi käyttäjältä erityistä huomaavaisuutta; hänen pitäisi pitää itse kirjaa käyttämiensä palvelimien sertifikaateista mikä olisi taas erittäin huono yleisen käytettävyyden kannalta.

Edellämainittuja Man-In-the-Middle (MItM?) hyökkäyksiä ajatellen on kehitetty Perspectives [cite].

Perspectives

Toisinkuin CA -toimijoiden luotettavuuteen nojaavassa nykyisessä mallissa, Perspectives luo luottamuksen sertifikaattiin ympäri maapalloa sijaitsevien notaarien avulla. Luotaessa yhteyttä palvelimelle pyydetään notaareilta heidän näkemyksensä palvelimen sertifikaatista. Jos kaikki osapuolet ovat samaa mieltä palvelimen käyttämästä sertifikaatista, käyttäjä voi olla varma siitä että kukaan ei ole ainakaan hänen ja palvelimen välissä suorittamassa MItM? -hyökkäystä. Käyttäjä voi itse valita notaarit, joihin haluaa luottaa. Perspective mallissa notaarit ja sovellus pitävät kirjaa näkemistään sertifikaateista.

Perspectives ei kuitenkaan voi mitään PKI-järjestelmän normaaleille riskeille kuten avaimen paljastumiselle.

Convergence.io

Convergence.io [cite] on Perspectives -projektin laajennus, jonka perimmäisenä ideana on tehdä luottamuksesta mahdollisimman joustavaa. Perspectives -mallissa nojaudutaan vain ja ainoastaan nähtyihin sertifikaatteihin, mutta Convergence.io mahdollistaa lukuisien eri mallien yhdistämisen. Perspectives -mallista tutut notaarit voivat perustaa luottamuksensa tiettyyn sertifikaattiin esimerkiksi perinteisen CA-mallin mukaan, DNSSEC -laajennuksien välittämiin tietoihin tai historialliseen näkemykseensä palvelimen sertifikaatista.

Yhteenveto

  • käytettävyyden ja joustavuuden merkitys tulevaisuuden ratkaisussa
  • tulevaisuuden ratkaisun kehittämisessä on oikea osallistumismahdollisuus
  • ...

SivuTiedotLaajennettu edit

Vaativuus Jatko
Valmius Kehitteillä
Tyyppi Ydin
Luokitus Käytännöt
Mitä Luottamuksellisuus
Miltä Useita
Missä Useita
Kuka Titu-ammattilainen
Milloin Muu
Miksi Politiikka
Print version |  PDF  | History: r6 | r5 < r4 < r3 < r2 | 
Topic revision: r4 - 04 Nov 2011 - 00:11:38 - JoonasKoivunen?
 

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