• Ei tuloksia

3 TEKNISET PERUSTEET

3.2 Turvallinen järjestelmä

3.3.7 Joulupuuvirus

Joulupuuvirus on itse asiassa luokittelultaan Troijan hevonen. Se oli ihmi­

sille lähetty sähköpostiviesti, joka pyysi ajamaan itsensä.

Kun ohjelman ajoi, se toivotti onnea tulostamalla joulupuun. Sivuvaikutuk­

sena ohjelma lähetti itsensä kaikille, joiden tunnus löytyi käyttäjän tiedos­

toista. VM/CMS ylläpitää luetteloa tunnuksista, joille on viime aikoina lähe­

tetty tai joilta on vastaanotettu postia, sekä ’lempinimiluetteloa’, jossa on ly­

henteinä käyttäjän tavallisimmat yhteyskumppanit. Lisätietoja: [Burger- 1988], [Burger1988b], [Karilal989],

Virus levisi IBM:n tukemassa ja ensisijaisesti isoista IBM-koneista koostu­

vassa BITNET-verkossa joulun alla 1987. Se pääsi myös IBM:n sisäiseen tie­

tokoneverkkoon. Se oli kirjoitettu selkeällä VM/CMS-käyttöjärjestelmän REXX-komentokielellä. Ohjelma aiheutti verkon ylikuormittumisen mo­

neksi päiväksi.

Joulupuuvirus ei käyttänyt mitään teknistä apukeinoa leviämiseensä; se luot­

ti ihmisten hyväuskoisuuteen. Joissakin tapauksissa myös itse viesti voi si­

sältää Trojan hevosen.16 3.3.8 Yhteenveto

Madot ovat verkkoympäristössä erittäin vaarallisia. Esiintyneet madot ovat osoittaneet, mitä ne voivat tehdä - yksikään niistä ei ole vielä varsinaisesti tehnyt mitään. Madot voivat siis olla huomattavasti esimerkkejä vaaralli­

sempia.

Matoesimerkit ovat hyvin kattavia. Matoja on esiintynyt kaikissa TKK:n tärkeissä käyttöjäijestelmissä ja verkkotyypeissä.

Ainoa mahdollinen varautuminen on ennaltaehkäisevä ylläpito - pahim­

massa tapauksessa aikaa tunkeutuvan madon tihutöiden estämiseen saattaa jäädä vain 10 minuuttia.

16Joissakin järjestelmissä on mahdollista kirjoittaa tiedostoon komentoja siten, että editori aluksi suorittaa ne. Esimerkiksi TKK:lla posti luetaan usein Emacs-editorin alaisuudessa. Oletuksena Emacs sallii tiedostossa olevien komentojen ajamisen varoittamatta käyttäjää.

50

3.4 PROTOKOLLAT VERKON SUOJAAMISEKSI

Tietokoneverkkoa ei voi suojata täydellisesti muuten kuin salaamalla olen­

naiset osat liikenteestä. Tunnistusprotokolla pyrkii luomaan yhteyden tieto­

koneiden välille niin, ettei sivullinen voi häiritä tunnistusta.

3.4.1 Verkon uhat

Verkossa oleva asiaton kuuntelija, voi monin tavoin murtaa verkossa olevan jäijestelmän. Kuuntelija voi olla esimerkiksi ylimääräinen työasema tai pahantahtoiseksi muutettu normaali työasema. Protokollan tulee varautua seuraaviin verkon uhkiin:

Liikenteen kuuntelu

Lähes aina tunkeutuja voi kuunnella kaikkea verkossa kulkevaa liikennet­

tä. Useissa turvallisuusjäijestelyissä välitetään verkon yli salasanoja täy­

sin selväkielisessä muodossa.

Yhteyden katkaisu

Joissakin tapauksissa tunkeutuja voi katkaista yhteyden joko kaikkien tai valittujen asemien välillä.

Liikenteen muuntelu

Joissakin tapauksissa tunkeutuja voi muunnella verkossa näkyvää liiken­

nettä. Tämä on jäijestelmälle vaarallisinta.

Monet yksinkertaiset turvallisuusjärjestelmät on kierrettävissä, mikäli voi­

daan muuttaa verkossa kulkevia paketteja. Esimerkiksi viestistä, missä pääsyoikeustiedot ovat oikein, voidaan vaihtaa palvelun pyytäjää.

Liikenteen toisto

Joissakin tapauksissa turvallisuus on helposti murrettavissa pelkästään tois­

tamalla aiemmin lähetetty paketti. Paketti voi sisältää esimerkiksi täydelli­

set oikeudet jonkin operaation tekemiseen. Tunkeutuja saa toistettua tämän toimenpiteen lähettämällä paketin identtisenä uudelleen.

Oma liikenne

Saatuaan tarpeeksi tietoja järjestelmän toiminnasta tunkeutuja voi aloittaa oman liikenteen verkossa. Tunkeutuja voi esittää jotain toista tietokonetta, esimerkiksi sellaista, jonka hän tietää olevan huollossa.

3.4.2 Salauksesta

Tässä luvussa esitellään salausta, koska kaikki tunnistusprotokollat perus­

tuvat sen käyttöön. Tarpeettomia yksityiskohtia on pyritty välttämään; huo­

miota on kiinnitetty enemmän käyttöön kuin itse menetelmiin.

Salausmenetelmät perustuvat siihen, että algoritmit ovat niin hyvin avaimel­

la parametroitavissa, ettei nykyisillä tietokoneilla voida löytää alkuperäistä viestiä muuten kuin käymällä läpi kaikki avaimet (ongelma on NP-täydelli- nen, nondetermistic polynomial, ks. esim. [Denningl982, s. 32]). Salausalgo­

ritmista on tehtävä sellainen, että kaikkien avainten läpikäyminen ei ole kohtuullisessa ajassa mahdollista nykyisillä tietokoneilla.

Salausjärjestelmiä on kahdenlaisia: symmetrisiä ja epäsymmetrisiä. Sym­

metriset ovat perinteisiä salakirjoitusjärjestelmiä, jossa salaus tehdään yh­

teisen salaisuuden avulla (salaisen avaimen salausjärjestelmät). Epäsym­

metrisissä (julkisen avaimen) salausjärjestelmissä lähettäjällä ja vastaan­

ottajalla on eri salaisuudet.

Yleisesityksiä salauksesta ovat esimerkiksi [Masseyl988], [Denningl982] ja [Seberryl989],

Symmetrinen eli salaisen я varmen salausjärjestelmä

Symmetriset menetelmät ovat perinteisiä salakirjoitusjärjestelmiä. Niissä lähettäjä ja vastaanottaja jakavat yhteisen salaisuuden, avaimen. Viesti koodataan ja tulkitaan saman avaimen avulla. Yhteinen salaisuus ei saa joutua kenenkään muun haltuun.

52

suojattu yhteinen salaisuus = avain z y ' siirtotie

selväkielinen sanoma selväkielinen

sanoma ~

sivullinen kuuntelee salakielinen

sanoma avaus

salaus tulkinta

Kuva 3.13. Salaisen avaimen salakirjoitusjärjestelmä.

Tunnetuin salaisen avaimen salakirjoitusalgoritmi on DES (Data Encrypt­

ion Standard), joka perustuu tiettyjen taulukoiden mukaan tehtyihin perättäi­

siin vaihtoihin ja korvauksiin.17 DES on vientikiellossa USArsta. Valmiis­

sa maailmanlaajuisesti jaettavissa tuotteissa sitä ei ole, vaikka sitä voidaan­

kin käyttää Suomessa. Tärkein USA:n ulkopuolella tehty vapaasti jaettava toteutus on TKK:n laskentakeskuksessa Antti Loukon tekemä versio [Loukol989].18

Korvaavista algoritmeista lupaavin on FEAL (Fast Encryption Algorithm).

Se soveltuu hyvin toteutettavaksi ohjelmalla, ja siksi se on tavallisesti huo­

mattavasti laitteistototeutukseen paremmin soveltuvaa DES:iä nopeampi.

FEALm turvallisuuden varmentaminen on vielä kesken.19

Tässä tutkimuksessa ei perehdytä symmetristen salausalgoritmien tekemi­

seen. Riittävän hyviä ratkaisuja on saatavissa, ja kaikkien algoritmien lii­

tännät ovat tutkimuksessa käsitellyllä tarkkuudella samanlaisia.

DES-tyyppinen lohkosalain voi toimia tavallisen lohkomoodin (ECB, elec­

tronic code book mode) lisäksi muutamissa muissa moodeissa [IS08372], CBC-moodissa (cipher-block chaining) DES-algoritmilla voidaan toteuttaa jo- nosalain, joka estää tehokaasti yksittäisten salauslohkojen muuntelun.

Moo-17 Tarkka kuvaus on standardiehdotuksessa (standardointi lopetettu kesken)

[IS08227]. Historiasta kerrotaan laajasti artikkelissa [Smidl988]. Valmis ohjelma on kiiloissa [Seberryl989] ja [Tanenbauml981] sekä kirjassa ”Numerical Algorithms in C”. Hyvä ja helposti käsiin saatava kuvaus on kirjassa [Denningl982]. Julkisessa jakelussa on useita koneluettavassa muodossa olevia versioita ohjelmista.

18 DES:n käyttöön saattaa vaikuttaa USA:ssa ja UK:ssa IBM:n Lucid-patentit (DES on kehitetty tämän pohjalta), ks. [IS08227],

19 FEAL kuvataan standardiesityksessä [WG20 N48-51]. Shimizu ja Miyaguchi ovat esittäneet FEALän Eurocrypt 87 konferenssissa. Kirjassa [Seberryl989] on

pinnallinen kuvaus FEAL:sta.

deja CFB (cipher feedback) ja OFB (output feedback) tarvitaan, jotta epäluotet­

tava tiedonsiirtoyhteys voi toipua virheistä.

Epäsymmetrinen eli julkisen avaimen salausjärjestelmä

Julkisen avaimen salakirjoitusjärjestelmissä on kaksi avainta: julkinen avain ja salainen avain. Salakirjoitusjärjestelmä on epäsymmetrinen. Tä­

mä tarkoittaa sitä, että salausavain ja tulkinta-avain eivät ole samat eikä niitä ole mahdollista järkevässä ajassa laskea, vaikka toinen tiedettäisiin.

Käyttötarkoituksen perusteella joko salausavain tai tulkinta-avain on julki­

nen.

vastaanottajan julkinen salausavain

selväkielinen

*" sanoma selväkielinen

sanoma ~ salakielinen j

sanoma sivullinen vastaanottajan salaisella tulkinta-avaimella

tulkinta

avaus yleinen

tieto

avainten teko

Kuva 3.14. Julkisen avaimen salakirjoi­

tusjärjestelmä. Kuka tahansa voi lähet­

tää viestejä, jotka ovat vain aiotun vas­

taanottajan luettavissa.

Jokaiselle osapuolelle lasketaan avainpari: salausavain ja tulkinta-avain.

Kuvan jäijestelmässä tulkinta-avain jää vain vastaanottajan omaan tietoon, kun taas salausavain julkaistaan yleiseen tietoon. Kuka tahansa voi salata viestejä tällä avaimella, mutta vain aiottu vastaanottaja kykenee tulkitse­

maan viestin.

Julkisen avaimen menetelmässä kuuntelijan on (laskennallisesti) mahdo­

tonta johtaa julkisesta avaimesta salaista avainta. Sen on oltava yhtä vaike­

aa kuin viestin avaaminen muutenkin.

Järjestelmän toimimisen edellytyksenä on, ettei kuuntelija kykene väären­

tämään lähettäjän saamaa tietoa vastaanottajan julkisesta avaimesta. Vas­

taanottajien julkisten avainten tulisi olla jaettuna turvallista tietä jonkinlai­

sena puhelinluettelona esimerkiksi levykkeellä. Laajassa jatkuvasti muut­

tuvassa verkkoympäristössä tätä ei voida yksinkertaisilla keinoilla taata.

Tärkein ero julkisen avaimen menetelmässä salaisen avaimen menetel­

mään verrattuna on se, että salaisen avaimen menetelmässä avaimen tulee olla salassa kuljetuksen ajan. Julkisen avaimen menetelmässä se saa pal­

jastua.

54

Julkisen avaimen menetelmien käytännön toteutuksesta

Tunnetuin julkisen avaimen menetelmä on RSA (Rivest-Shamir-Adelman).

Se on tällä hetkellä myös ainoa menetelmä, jonka luotettavuuteen yleisesti us­

kotaan. RSA:n ovat kehittäneet Rivest, Shamir ja Adelman vuonna 1977. Se on patentoitu USArssa [Rivestl983], mikä kuitenkaan ei haitanne järjestel­

män käyttöä mm. Suomessa.20 Ongelma on sama kuin DESdlä: valmiita USAdaisia tuotteita ei ole saatavissa.

Julkisen avaimen salakirjoitusmenetelmät ovat huomattavasti raskaampia käyttää kuin salaisen avaimen menetelmät. RSA vaatii 512-bittisen avai­

men ollakseen turvallinen, kun taas esimerkiksi DES käyttää 56 bittiä.21 Nopeimmat RSA:n toteutukset ovat kertaluokkia hitaampia kuin DES-toteu- tukset.22 RSA:ta käytetäänkin useimmiten vaihtamaan DES-avaimia. Mi­

kään julkisen avaimen algoritmi ei tällä hetkellä nopeudeltaan vastaa käy­

tännön tiedonsiirron vaatimuksia kaiken liikenteen salaamiseksi.

Aikaisempi julkisen avaimen menetelmä on trapdoor knapsack -säläin (tai keksijöidensä mukaan Merkle-Hellman -säläin) [Denningl982, s. 119]

[Hellman 1980]. Tämä kuitenkin on osoittautunut epäluotettavaksi (ks. esim.

[Seberryl989, s. 107].

Salaisen avaimen vaihtoon julkisten avainten perusteella on kehitetty Diffie- Hellman -protokolla. Tämä esitellään tarkemmin liitteessä A.

Yksisuuntaiset salaus funktiot

Tärkeän erikoistapauksen selaimista muodostavat yksisuuntaiset salaus- funktiot. Yksisuuntaisella salausfunktiolla viesti saadaan salattua sellai­

seen muotoon, ettei laskennallisesti voida löytää viestiä, joka salautuisi sa­

maksi salakieliseksi tekstiksi.

Yksisuuntaisella salauksella voidaan tallettaa tietoja, jota vain verrataan al­

kuperäiseen. Esimerkiksi tietokoneen salasanat talletetaan usein yksisuun­

taisesti salattuina koneen muistiin (katso luku 3.2.1 Käyttäjien tunnistami­

nen).

20RSA-patentti ei ole voimassa ainakaan Suomessa, Englannissa eikä Länsi-Saksas­

sa [Loukol989b], Patentti vanhenee noin viiden vuoden kuluttua.

21 Täysin turvalliseen järjestelmään DESm 56 bittiä ei enää riitä.

22Nopeimmatkin laitteistolla tehdyt RSA-toteutukset ovat nopeudeltaan muutamia tu­

hansia bittejä sekunnissa (esimerkiksi CYLINK, 6800 bit/s). Yksinkertaiset mikrot salaavat vain 10 bit/s (esimerkiksi [Bethl989]).

Salasanojen kokeilun vaikeuttaminen edellyttää hidasta yksisuuntaista sa­

lausta. Muuten väärinkäyttäjä voi kopioida julkisen salasanatiedoston ja verrata salasanoja nopeassa tietokoneessa itse toteuttamallaan algoritmilla.

Jokaisen kokeilun tulisi viedä vähintään sekunti tehokkaaltakin tietoko­

neelta. Esimerkiksi UNIX käyttää muuneltua DES-algoritmia useita kertoja peräkkäin salatakseen käyttäjien salasanat.23 Käytännössä voi olla vaike­

aa todistaa, että jokin algoritmi on hyvä yksisuuntainen salausalgoritmi ja samalla hidas. Huonosti suunniteltu hidastus voi olennaisesti lisätä samalle tunnusluvulle osuvien salasanojen lukumäärää (lähteissä tätä ei ole tarkas­

teltu).

Muita perustietoja salauksesta

Mitä paremmin viesti on arvattavissa, sitä helpompi se on murtaa. Viestin informaation tulisi olla mahdollisimman tiivistä - viestin haje (entropia)24 eli epävarmuus viestin sisällöstä tulisi saada mahdollisimman suureksi.

Viestin toistetta (redundanssi) saadaan vähennettyä erilaisilla tiivis- tämismenetelmillä. Toisteettomasta viestistä avaaja ei voi päätellä, mikä useista vaihtoehdoista on tarkoitettu viesti.

Toisteettomasta viestistä ei voi päätellä viestin järkevyyttä - kaikki viestit merkitsevät jotain. Siksi salattavasta viestistä ei tavallisesti tehdä täysin toisteetonta. Jotta vastaanottava voi luottaa viestin oikeellisuuteen, hänen on tarkastettava viestin järkevyys jostain toisteisesta viestin osasta, esimerkik­

si varmistussummasta.

Salattuun lohkoon lisätty satunnaisuus vaikeuttaa avaamista. Satunnaisuus lisää viestin epävarmuutta ja avaajan on vaikeampi erottaa merkitykselliset osat merkityksettömistä. Tämän vuoksi jokaisen salauslohkon tyhjät osat tu­

lisi täyttää satunnaisella tiedolla. Julkisen avaimen menetelmässä satun­

naisuuden lisääminen voi olla välttämätöntä. Sivullisillakin on käytettä­

vissään sama salausfunktio, jonka avulla salattua viestiä voidaan verrata muihin todennäköisiin viesteihin.

Kryptografisesti vahvalla satunnaislukugeneraattorilla on salauksessa mo­

nia käyttötarkoituksia tunnistuksessa, sähköisissä allekiijoituksissa ja äly- korttiprotokollissa. Tällaisesta satunnaislukugeneraattorista ei ole lasken­

nallisesti mahdollista arvata jakson seuraavaa lukua.

23 Esimerkiksi Intemet-mato käytti salasanojen kokeilemiseen algoritmia, joka on identtinen UNIXin algoritmin kanssa, mutta huomattavasti nopeampi.

24 Viestin entropia ja redundanssi ovat informaatioteorian perustermejä (ks. esim.

[Denningl982, s. 16-30]). Suomennokset haje ja toiste ovat Osmo A. Wiion kiijasta [Wiio 1989].

56

3.4.3 Tunnistus ja sähköiset allekirjoitukset

Kaikkien tietokoneverkossa kulkevien viestien tulee olla tunnistettavissa, jo­

ten niiden lähettäjä tulee tietää. Lisäksi viestin tulee olla eheä; sen tulee olla sama viesti, minkä lähettäjä on lähettänyt.

Molemminpuolisessa tunnistamisessa edellytetään myös sitä, että lähettäjä saa varmuuden vastaanottajasta. Tämä varmistetaan ennen varsinaisen yhteyden alkua. Aina tämä ei ole välttämätöntä; valepalvelulla ei useinkaan voi pettää yhteydenottajaa.

Tunnistaminen vaatii, että vastaanottaja löytää viestistä jonkin odottamansa osan. Toisteetonta tietoa ei voi tunnistuttaa, koska myös satunnainen sanoma antaa järkevän lopputuloksen. Toisteen vuoksi tunnistamisessa voidaan käyttää vain varmoja salausmenetelmiä.

Osapuolten tunnistus salaisen avaimen menetelmässä

Yleensä salaisen avaimen menetelmässä oletetaan, että osapuolet jakavat sa­

man salaisen avaimen. Yksinkertaisesti voidaan olettaa, että mikäli tulki­

tussa sanomassa on odotettu osa, sen lähettäjä on oikea ja sanoma on muutta­

maton.

Usein riittävä varmuus saadaan, jos aluksi vaihdetaan tunnistus salatussa muodossa ja tämän jälkeen jatketaan yhteyttä selväkielisenä. Avattuun yh­

teyteen on paljon vaikeampaa päästä väliin ja vahingontekomahdollisuudet ovat vähäisempiä.

Yhteyttä avattaessa molemminpuolinen tunnistus voidaan tarkastaa tunnis- tusprotokollalla. Yksinkertaisin kahden osapuolen tunnistus on standardin ISO DP 979825 ensimmäinen tunnistusalgoritmi.

Algoritmi olettaa, että molemmilla osapuolilla on jo yhteinen avain. Varma tunnistus neuvotellaan satunnaislukuhaasteiden avulla seuraavasti:

25 Muista osista standardia kerrotaan lähemmin myöhemmin.

Protokolla 3.1. ISO 9798, ensimmäinen tunnistusalgoritml. Yksin­

kertainen kahden osapuolen tunnistus ennalta tunnetulla avaimel­

la.

Yhteydenottaja Vastaanottaja

Tuntee salaisuuden Kq Tuntee salaisuuden K<;

Valitsee satunnaisluvun I haasteeksi ja lähettää sen selväkielisenä

Valitsee satunnaisluvun J haasteeksi Lähettää takaisin {I.JjKc

Toteaa vastaanottajan olevan olkea, koska on koodannut l:n oikealla avaimella

Lähettää takaisin J:n selväkielisenä

Toteaa yhteydenottajan olevan oikea, koska on avannut satunnaisluvun

Muita käyttötarkoituksia on esimerkiksi se, että älykortti ja kortinlukija tar­

kastavat jakavansa saman avaimen. Kaksi osapuolta voivat myös tarkastaa, että yhteys ei ole hetkeäkään poikki.

Lähettäjän tunnistus julkisen avaimen menetelmässä

Yksi etu julkisen avaimen menetelmässä on lähettäjän tunnistettavuus käyt­

tämällä menetelmää toisin päin kuin salattaessa.

Jos lähettäjä salaa viestin salaisella avaimellaan ja julkistaa yleisesesti tul­

kinta-avaimen, kuka tahansa voi varmistaa, että viesti on lähtenyt tältä tun­

netulta lähettäjältä. Puolueeton kolmas osapuoli voi ratkaista lähettäjän ja vastaanottajan väliset kiistat. Väärentäjä näkee viestin sisällön, mutta ei voi muuttaa sitä.

58

lähettäjän julkinen tulkinta-avain

selväkielinen

*" sanoma selväkielinen

sanoma —

salakielinen sanoma lähettäjän

salaisella salausavaimella

yleinen tieto avainten

tulkinta

Kuva 3.15. Julkisen avaimen menetelmän käyttö lähettäjän tunnistamisessa.

Tätä järjestelyä on käytetty mm. USArn ja NL:n välisien ydinkoesopimusten valvonnassa. Automaattiset seismiset mittalaitteet valvovat kokeita. Kumpi­

kin osapuoli voi varmentaa, että laitteiden lähettämät tiedot ovat asiallisia (ei esimerkiksi vakoilutietoja), mutta tietojen väärentäminen ei ole mahdollista [Simmonsl988].

RSA-menetelmässä on mahdollista käyttää tunnistukseen ja salaukseen sa­

maa avainparia. Tällöin on mahdollista muodostaa yhteys, jossa jokainen viesti on sekä salattu että tunnistettavissa. Vain harvoissa julkisen avaimen salausmenetelmissä on tämä ominaisuus.

Sähköiset allekirjoitukset

Julkisen avaimen menetelmät ovat usein käyttökelpoisimpia todistamaan kenelle tahansa, että viesti on tietyn lähettäjän. Tällainen tilanne on erityi­

sesti silloin, kun on saatava aikaan sopimuksien allekirjoitusta vastaava ti­

lanne.

Sopimuksen allekirjoittaneelle osapuolelle ei tule jäädä mahdollisuutta kiis­

tää allekirjoittaneensa sopimuksen (non-repudiation). Myös puolueettomalle osapuolelle tulee olla mahdollista lukea allekirjoitettu sopimus kiistatilan­

teessa.

Salaisen avaimen menetelmässä joudutaan käyttämään koko ajan notaari- palvelua, joka tallettaa sopimukset arkistoonsa. Julkisen avaimen menetel­

mässä viesti voidaan allekirjoittaa sähköisellä allekirjoituksella (digital signature) ja turvautua kolmannen osapuolen apuun vain kiistatilanteessa.

Sähköinen allekirjoitus koostuu kahdesta osasta: selväkielisestä viestistä ja salatusta allekirjoituksesta. Yksinkertaisimmillaan salattu allekirjoitus on selväkielinen viesti uudelleen salattuna allekirjoittajan salaisella avaimel­

la. Se on kenen tahansa avattavissa allekirjoittajan julkisella avaimella.

Allekirjoitus on oikea, mikäli salattu ja selväkielinen osa ovat identtiset.

Lähettäjä ei voi kiistää lähettäneensä sanoman, koska vain hän tuntee salai­

sen avaimensa.2®

Koko viestin salaaminen allekiijoitusta varten on tarpeetonta, mikäli kye­

tään laskemaan viestiä kuvaava tunnusluku. Tämän tunnusluvun tulee olla sellainen, että ei ole laskennallisesti mahdollista muodostaa toista viestiä, jolla on sama tunnusluku (collision-free hash).2^

Julkisten avainten luotettava jakelu on ongelma myös sähköisissä allekirjoi­

tuksissa. Myöhemmin esitettävässä X.509-standardissa käytetään luotettua kolmatta osapuolta ja tämän allekirjoittamia viestejä ongelman ratkaisussa.

3.4.4 Avaintenjakelu

Salaisen avaimen menetelmässä osapuolten yhteinen salaisuus on välttämä­

tön, jotta salainen ja tunnistettu kommunikaatio on mahdollista. Salaisuu­

den eli avaimen tulee olla jokaiselle kommunikoivalle parille oma - tunnis­

tettavuus edellyttää, ettei salaisuutta paljasteta hetkeksikään kenellekään muulle.

TKK:n verkossa tulee olemaan vähintään 3000 käyttäjää ja 100 palvelua. Tä­

mä tarkoittaa sitä, että järjestelmän tulisi muodostaa ja ylläpitää vähintään 300.000 salaista avainta, jotta jokaisen osapuolen kommunikointi pysyy sa­

laisena ja tunnistettuna. Jos jokaisen osapuolen tulee voida kommunikoida keskenään, tarvittavien avaimien määrä on lähes 10 miljoonaa.

Käytännössä osapuolten nimet vaihtuvat, avaimia vaihdellaan turvallisuus­

syistä ja järjestelmä muuttuu muutenkin jatkuvasti. Ongelma ratkaistaan siten, että jokaisella yksiköllä on oma avain, jonka avulla pyydetään yhteys­

kohtaisia avaimia luotetulta kolmannelta osapuolelta, avaintenjakokeskuk- selta (key distribution center, KDC).

Ympäristön muutokset ovat ensisijainen ongelma myös julkisen avaimen menetelmissä. Vaikka osapuolet voivat kommunikoida salaisesti ja tunnis- tetusti, tämä edellyttää varmuutta näiden julkisista avaimista. Nopeasti muuttuvassa verkkoympäristössä tämä voidaan taata vain samalla tavalla kuin salaisen avaimen tapauksessa: luotettu osapuoli ylläpitää keskitetysti

26 On kuitenkin mahdollista tehdä vielä yksi vaarallinen virhe. Julkisen avaimen menetelmissä, joissa julkista avainta voi käyttää sekä salaukseen että avaukseen (esimerkiksi RSA), väärentäjä voi arpoa salaisen osan ja laskea salaamalla julkisen osan. Näin saadaan täysin allekirjoitettu viesti satunnaisella sisällöllä. Allekirjoi­

tettavan sanoman tulee siis aina sisältää ei-satunnainen osuus, esimerkiksi vastaan­

ottajan nimi. [Mitchell1989]

27 Tunnusluvun (MAC=message authentication code) generointi on standardoitu ISO:n standardiehdotuksessa DIS 9797 ja sen pohjana olevassa ANSI X9.9:ssä.

60

kaikkien julkiset avaimet. Tämä todistuspalvelija (certification authority) antaa pyynnöstä oikeaksi todistamiaan julkisia avaimia.

3.4.5 Tunnistus-ja avaintenjakeluprotokollat

Avaintenjakoprotokollan tavoitteena on vaihtaa osapuolten kesken luotetta­

vasti joko salaisuus (salaisen avaimen menetelmät) tai vastapuolen julkinen avain (julkisen avaimen menetelmät). Se, että avain kyetään neuvottele­

maan, takaa tyypillisessä protokollassa myös vastapuolen tunnistuksen. Mo­

lemminpuolinen tunnistus saattaa vaatia lisäviestejä.

Tutkitut protokollat ovat : 1. Diffie-Hellman 2. Needham-Schroeder 3. Denning-Sacco (Kerberos) 4. Needham-Schroeder-Muellender 5. Otway-Rees

6. ISO DP 9798 alg. I (esitetty aiemmin) 7. ISO DP 9798 alg. II

8. ISO DP 9798 alg. IH 9. ISO DP 9798 alg. IV

Liitteessä A protokollia esitellään yksityiskohtaisesti.

Taulukko 3.4. Yhteenveto eri tunnistusprotokollien ominaisuuksista .

1 2 3 4 5 6 7 8 9

DH NS DS NS2 OR 1 1 lii IV

julkinen/salainen avain j s s S s s s S s

avaintenjako/tunnistus a at at at at t at at at

tarkastaa oikea-aikaisuuden X X X

taikastaa haasteen X X X X X

tarvitsee saman ajan X X

viestien lukumäärä 2 5 3 5 4 3 5 4 7

molemminpuolinen tunnistus X +i X X X X X X

Tyypillinen protokolla perustuu haaste-vastaus -periaatteeseen (challenge- response). Tunnistuken osapuoli arpoo luvun, jonka se salaa omalla avai­

mellaan. Toisen osapuolen on kyettävä osoittamaan ymmärtäneensä vies­

tin. Tämä voi tapahtua vain kummankin osapuolen avaimet tuntevan

tun-nistuspalvelijan avulla. Tunnistuspalvelija (avaintenjakelukeskus) takaa silloin molempien osapuolten henkilöllisyyden.

Arvottuja haasteita vähemmällä viestien lukumäärällä selvitään, jos luote­

taan siihen, että osapuolilla on samassa igassa oleva kello. Yhteydenmuodos­

tusta ei saa syntyä matkimalla aiempaa yhteydenottoa - aikaleimoilla tämän voi varmistaa helpommin. Yhteiseen kelloon ei kuitenkaan aina voi luottaa.

Oikea-aikaisuus (timeliness) tarkoittaa sitä, että kumpikin osapuoli on var­

masti suorittanut tunnistuksen yhtä aikaa. Yksinkertaisesti se taataan sa­

manaikaisen kellon avulla. Monimutkaisin protokolla (ISO IV) varmistaa oikea-aikaisuuden siten, että tunnistuspalvelija antaa kummallekin osapuo­

lelle avaimen erikseen.

3.4.6 Avainten hallinta

Avaintenhallinta on laajempi käsite kuin pelkkä avainten jakelu. Avain­

tenhallinta sisältää mm. avainten valvonnan, jakelun, eheyden valvonnan ja toipumismenettelyt [Sherwoodl986],

Erityisesti avaintenhallinnalla tarkoitetaan eritasoisten avainten käsitte­

lyä. Esimerkiksi osapuolet voivat neuvotella jokaista yhteyttä varten oman istuntoavaimen (session key). Jokaisella transaktiolla voi olla myös oma transaktioavain (transaction key).

Avaintenhallinta voi olla esimerkiksi kaksi- tai kolmetasoinen. Kaksita­

soisessa mallissa jaetaan manuaalisesti ylimmän tason avain, jonka avulla vaihdetaan automaattisesti alemman tason avaimia. Kolmetasoisessa mal­

lissa näiden välissä on vielä yksi automaattisesti jaettava taso.

Avainten hallintaan liittyvä standardi on mm. X9.17 ([ANSI X9.17], [Sher- wood!986]). Tässä avainten automaattinen jakelu hoidetaan DES-algoritmil- la. Esimerkkinä avainten hallinnasta tullaan käsittelemään Kerberos-jär­

jestelmän alkutunnistusta istuntoavaimen vaihtamisella.

Avainten hallintaan liittyy myös tAresAoZd-menetelmän käyttäminen avai­

men varastoimiseen [Shamirl979], [Denningl982]. Avaimen muodostami­

seen tarvittava tieto jaetaan useille osapuolille (tässä tapauksessa tavallisesti ihmisille). Kukaan osapuolista ei voi yksin päätellä avainta. Kun tietty määrä osia on koossa, voidaan muodostaa täydellinen avain - muutamien avaimen osien hukkuminen ei haittaa kokoamista.

3.4.7 Kerberos-jäijestelmä

Kerberos on MIT:ssä toteutettu tunnistuspalvelija. Prototyyppi on toiminut vuodesta 1986 lähtien.

62

Kerberos on tarkoitettu ison työasemaverkon tunnistuspalvelijaksi. Käyttäjät kirjoittautuvat työasemaan ja pääsevät Kerberoksen avulla käyttämään kes­

kitetyissä palvelukoneissa olevia palveluja, mm. kotihakemistojaan. Ver­

kon oletetaan käyttävän TCP/IP-protokollaa.

Työasema on Kerberos-järjestelmässä erikoisasemassa. Siihen ei voi kir­

joittautua verkon ylitse. Turvallisuussyistä työasemassa on vain yksi käyt­

täjä kerrallaan.

Tiedot Kerberoksesta perustuvat järjestelmän dokumentaatioon [Steiner1988], [Neumanl988], [Bryantl988], [Bryantl988b], [Millerl987], [Kerberos 1987]. Do­

kumentaatio on vapaasti saatavissa MIT:n Athena-projektin jakelutietoko- neesta athena-dist Internet-verkkoa pitkin. Uusin ja yksityiskohtaisin ra­

portti Kerberos-protokollasta on Kerberoksen RFC-standardiehdotus [Kerbe- rosl989].

Kerberos-protokollassa on tavallisen tunnistusprotokollan lisäksi mm.

avaintenhallintaominaisuuksia. Ennen siihen tutustumista on hyvä tuntea ainakin jonkun tavallisen tunnistusprotokollan perusteet Güte A).

Käyttäjän Idijoittautnminen työasemaan

Käyttäjä kirjoittautuu työasemaan käyttäjätunnuksellaan. Työasema välit­

tää sen suoraan Kerberokselle, joka vastaa istuntoavaimella ja pääsylipulla (ticket) pääsylippujenjakelukeskukseen (ticket granting service). Viesti on salattu siten, että se aukeaa vain käyttäjän salasanasta saatavalla avaimel­

la. Käyttäjältä kysytään salasanaa vasta, kun Kerberos on antanut pääsyli­

pun.

Käyttäjän salasana salataan välittömästi yksisuuntaisella salausfunktiolla,

Käyttäjän salasana salataan välittömästi yksisuuntaisella salausfunktiolla,