Luentonäyte 8.12.1999 klo 10:40  / Jukka Koskinen
 
 

Oheismuistojen tietoturva
 

Tämän luennon voisi esittää tietoturvan perusteiden kurssilla johdantona erilaisiin tietoturvamekanismeihin, joita jatkossa käsiteltäisiin tarkemmin. Toisaalta, hieman yksityiskohtaisemmassa muodossa tämän luennon voisi esittää sovellusesimerkkinä siinä vaiheessa, kun nämä mekanismit on jo esitelty. Luennon aihe edustaa paitsi opetustarkoitusta samalla myös äsken mainitun lokakuussa päättyneen kurssin jälkeen harrastamaani pohdiskelua, jota rohkenen kyllä kutsua tutkimukseksikin.

Aluksi esittelen oheismuistojen eli jossain määrin uudenlaisen langattoman tietoverkkosovelluksen ideaa sen verran, että voimme nähdä, millaisia tietoturvaongelmia siinä on. Kun päällimmäiset tietoturvauhkat ja niihin liittyvät tavoitteet on aseteltu yleisiin kehyksiin, katsotaan mitä asian hyväksi voitaisiin tehdä (tietoturvamekanismeja). Lopussa jätän sitten auki joitain ongelmia, joihin voitaisiin palata vaikkapa jatkokurssilla, jos niihin siihen mennessä on löytynyt ratkaisuja.
 

Oheismuistot

Oheismuistoilla tarkoitan kaikkea sellaista tietoa, jota yksilö tallettaa johonkin muuhun säilöön kuin omiin aivoihinsa. Rajoitun tässä sellaisiin muistoihin, jotka voi tallettaa digitaalisesti. Tämä kattaa varsin suuren osan muistettavista asioista, joskaan kaikkea ei nykytekniikallakaan liene kovin kätevää säilöä bitteinä. Voimme ajatella, että yksilö tulevaisuudessa taltioisi tietokoneeseen kaikkea sellaista, mitä hän nykyään kirjoittaa tai voisi kirjoittaa erilaisiin muistiinpanoihinsa, kalenteriinsa, päiväkirjaansa, kirjeisiinsä jne. Sen lisäksi tulisivat otteet dokumenteista, jotka jokin muu taho on tuottanut. Aineistot voisivat olla muitakin kuin tekstuaalisia, mutta siihen ei kannata nyt kiinnittää huomiota.

Jotta tällainen taltiointi olisi järkevää, tarvitaan tietenkin jokin vaivaton menetelmä, jolla yksilö voi palauttaa haluamansa muistot mieleensä. Tällaisia voivat olla tietokantaohjelmistot, assosiatiivisen muistin tai tekoälyn tekniikat tai vaikkapa Ted Nelsonin kehittämä uudenlainen tietorakenne ZigZag. Palautusmenetelmä ja sen vaatima säilön talletusrakenne on oma tutkimusalansa, jonka tavallaan pani alulle Vannevar Bush Memex-kaavailuillaan vuonna 1945 (Memory Extender). Nyt joudumme vain kuvittelemaan, että on jokin säilö ja sitä käyttää jonkinlainen käyttöliittymä, eli oheismuistopalvelin.

Jotta yksilö voisi kätevästi olla yhteydessä muistoihinsa milloin ja missä vain, hänet pitää vapauttaa koneensa ääreltä antamalla hänelle jonkinlainen kannettava tai puettava laite, johon hänellä on jokin edistyksellinen käyttöliittymä, joka varmaankin sisältää  ainakin puheentunnistimen ja -tuottimen. Tämän laitteen pitää olla langattomasti yhteydessä johonkin tietoverkkoon, nykykäytännössä Internettiin, joskin välissä voi olla vaikkapa GSM-puhelinverkon osia. Muistopalvelin on kiinni verkon toisessa reunassa. Emme ota kantaa siihen, voivatko tämä palvelin ja siihen liittyvä säilö olla yksilön itse hallinnoimia laitteita hänen tukikohdassaan, esim. kotona. Toinen vaihtoehto olisi, että ne olisivat jonkin yrityksen tarjoamia palveluita ja yksilön hallitsema reviiri rajoittuisi häneen itseensä sekä omaan laitteeseen, silloin kun se on hänen käytössään.

Koko järjestelmän voisi tietysti jokainen rakentaa itsekin, mutta käytännössä esiintyy varmasti vain hyvin rajallinen määrä erilaisia muistopalveluita. Niilläkin saattaa olla jokin yhteinen esitysmuoto, jonka avulla yksilöt voivat kertoa toisilleen muistamistaan asioista.
 

Tietoturvauhkia ja -tavoitteita

Tässä vaiheessa varsinaisella kurssilla tulisi kuulijoiden eli opiskelijoiden vuoro. Heidän pitäisi keskenään etsiä kaikenlaisia uhkia, jotka koskevat tietoturvaa, toisin sanoen heikentäisivät yleisiä perustavoitteita: luottamuksellisuutta, eheyttä ja saatavuutta. Samalla nämä tavoitteet tulisivat muotoilluksi tähän tilanteeseen sopiviksi ja esille tulisi eriytyneitä tavoitteita, kuten viestin tai viestinnän osapuolten autenttisuus ja joiltakin viesteiltä tai toimilta vaadittava kiistämättömyys - esim. laskutusta varten.Tyydytään nyt vain kirjaamaan valmis luettelo erilaisista uhkista. Joihinkin niistä on ilmeiset vastatoimet, joista saataisiin esille taas uusia yksityiskohtaisempia tietoturvauhkia. Järjestelmän suunnittelussa pitäisikin tehdä riskianalyysi, jossa otetaan huomioon myös uhkien todennäköisyys ja niiden aiheuttaman vahingon suuruus. Yhdistämällä tähän torjuntamekanismien hinta ja arvioitu tehokkuus saadaan aikaan suunnitelma tietoturvan toteuttamiseksi - kunhan ylemmän tason tavoitteista  eli tietoturvapolitiikasta on päätetty.

Aloitetaan nyt siis päällimmäisen kerroksen uhkien esittelyllä ja puututaan torjuntamekanismeihin vasta, kun uhkakartoitus alkaa tuntua kohtalaisen kattavalta.

Luottamuksellisuus

Joku voi salakuunnella tai salalukea ja saada selville sellaista tietoa, jonka yksilö halusi pitää yksityisenä. Tämä voi tapahtua eri kohdissa: Hieman eri tason kysymys on, minkä verran yksilö luottaa palveluun, jolle tai jonka kautta hän lähettää omimpia tietojaan. Vaikka emme ehkä välitä siitä, että operaattori voisi periaatteessa kuunnella tavallisia puheluitamme, voimme olla enemmän huolissamme siitä, pysyvätkö pitkän aikavälin muistomme pelkästään ominamme.

Luottamuksellisuuden synonyymina käytetään usein termiä yksityisyys, mutta toisinaan yksityisyydellä tarkoitetaan vain tiettyä osa-aluetta, nimittäin anonymiteettia: yksilö ei välttämättä halua, että hänet pystytään jäljittämään: siis saataisiin selville, missä hän fyysisesti milloinkin on ollut ja mihin muihin palveluihin tai yksilöihin hän on ollut yhteydessä. Kommunikointiliikkeiden paljastuminen on tuttua jo seittiselauksesta ja sähköpostista, mutta matkaviestimen kaltaisen laitteen käyttäjä paljastaa teleoperaattorille myös fyysisen sijaintinsa suhteessa soluverkkoon.

Saatavuus

Tyypillinen uhka on tietoliikenteen takkuilu tai katkeilu tietoverkossa tai sen jommankumman pään laitteissa. Tämä uhka koskee tietojen käytettävyyttä tietyllä hetkellä eikä saatavuustavoite poikkea oleellisesti siitä, mitä tietokoneiden ja tietoliikennelaitteiden toiminnalta muutenkin odotetaan.

Toinen ja vakavampi on uhka on mahdollisuus, että tiedot katoavat lopullisesti. Tämä voi tapahtua myös siten, että katoaakin vain avain, jolla bitit on satuttu turvallisuussyistä salaamaan.

Muistojen pitäisi säilyä ihmisikä. Tällainen kestävyys ei ole biteille kovin tavallista. Kaikenlaista ikävää sattuu lyhyemmälläkin aikavälillä, mutta vuosien saatossa bitit paitsi "kauhtuvat" myös muuttuvat todennäköisesti vanhanaikaisiksi laitteiden ja ohjelmistojen uudistuessa. Lisäksi säilö voi joutua fyysisen varkauden, vahingonteon tai onnettomuuden kohteeksi. Jos säilö on jonkin ulkopuolisen yksityisen yrityksen hoidossa, sille voi käydä huonosti esim. konkurssin yhteydessä. Jos se taas on yksilön omassa tukikohdassa, hänellä ei välttämättä ole varaa, tietämystä tai edes mahdollisuuttakaan hoitaa kaikkea fyysistä turvaamista riittävän hyvin. Kodissahan on muitakin toimijoita, joita ei voi pääsynvalvonnan keinoin täysin rajoittaa.

Eheys

Sen lisäksi, että joku voi päästä näkemään yksilön tietoja joko säilössä tai jossain vaiheessa matkan varrella, hänellä voi olla tilaisuus näissä kohdissa muuttaa niitä tai muodostaa aivan uusiakin tietoja. Tässä tulee esille tavoite, jota voidaan pitää eheyden osana, nimittäin autenttisuus: ovatko kommunikoivat osapuolet niitä, joiksi itseään väittävät?

Käyttäjän oma (puettava) laitekaan ei ole immuuni tällaisille hyökkäyksille, sillä sen ohjelmistoja täytyy varmaan joskus päivittää ja jotkin muistot voivat muodostua tässä laitteessa ajettavista ohjelmista. Lisäksi laitteessa varmaan pyörii lukuisasti muitakin verkkosovelluksia. Ulkoapäin tulevat ohjelmat voivat sisältää viruksen tai muunlaista haitallista koodia, joka voi esimerkiksi sekoittaa tietoja. Haitallisen koodin ei tarvitse olla tarkoituksellisesti sellaista, vaan kuten hyvin tiedetään, ohjelmistovirheet voivat aiheuttaa paitsi koneen kaatumisen, myös havaitsematta jääviä virheitä tiedoissa, siis eheyden särkymisen.

Hieman toisenlainen eheys ja autenttisuus tulee kuvaan, jos muistoja luovutetaan toisille tahoille. Ensinnäkin herää taas peruskysymys, ovatko osapuolet oikeita. Toiseksi tietojen uskottavuus saattaa epäilyttää. Tämä riippuu tietenkin käyttötarkoituksesta. Miten saadaan bitteihin riittävän vakuuttava todistusvoima esimerkiksi siitä, ettei kukaan pääse myöntämään itselleen digitaalisia tutkintotodistuksia?
 

Tietoturvamekanismeja

On ilmeistä, ettei luottamuksellisuutta saavuteta ilman salausta. Joka tapauksessa langaton liikenne on salattava, vaikkapa samaan tapaan kuin tehdään nykyisissä matkapuhelimissa. Jos viesti kuljetetaan Internetin kaltaisen verkon yli, pitää se salata myös tällä reitillä ja langattoman välin salaus kannattaa yhdistää tähän. Tavoiteltavasta luottamuksellisuuden tasosta riippuu sitten, pitääkö salaus ulottaa operaattorin hallussa olevaan ulkopuolisilta suojattuun verkkoon.

Tietojen tallettaminen salatussa muodossa on hieman ongelmallista, koska sisällön mukainen haku ei tällöin onnistu. Tarvitaan erillinen turvattu sisällysluettelo tai mieluummin hakemisto, josta on osoittimet salattuna talletettuihin tietoihin. Osoitettavien ja kerralla noudettavien yksiköiden pitää tällöin olla melko suuria. Yksityiskohtaisempaan etsintään voitaisiin päästä käyttämällä salauksessa ECB-moodia eli koodisanakirjaa, jolloin sama selväteksti tuottaa aina saman kryptotekstin. Tämä menetelmä on turvaton, jos salauslohko eli kerralla salattava tekstimäärä on algoritmeille tyypillinen 64 bittiä eli 8 kirjainta,  mutta tilanne voi olla toinen, jos tätä moodia käytetään vain etsinnän kohteiksi valittuihin osiin ja lohkokokoa pidennetään.

Jos tiedot talletetaan salattuina, voitaneeen turvautua nykyistä pitempiin avaimiin, koska talletettaessa ei ole erityistä kiirettä ja monimutkainen etsintä puolestaan vienee oleellisesti suuremman ajan kuin salauksen purku. Kaikkea ei tarvitse salata samalla avaimella, mutta erilaisten avainten määrä on pidettävä kohtuullisena hakujen ja hallinnoinnin takia.

Salaukseen liittyy aina kysymys avainten hallinnasta. Mikäli yksilön reviirin ulkopuolella tieto esiintyy vain salattuna, ainoaksi ongelmaksi jää avainten turvallinen talletus, eräänlainen saatavuuden ja luottamuksellisuuden yhdistelmä. Hyväkään kassakaappi ei riitä ratkaisuksi vara-avaimen säilytykseen, koska siinä ongelma vain siirtyy. Yksi kryptologian tarjoama ratkaisu on soveltaa salaisuuden jakamista palasina useaan paikkaan. Se voidaan tehdä myös siten, että salaisuuden eli tässä avaimen selvittämiseksi ei tarvitse kerätä kokoon kaikkia palasia vaan jokin tietty kynnysmäärä, esim. mitkä tahansa kolme kaikkiaan viidestä. Mikään vähäisempi määrä ei sisällä mitään tietoa salaisuudesta.

Jos tietoa talletetaan ulkoiseen muistopalveluun salaamattomana, täytyy tiedonsiirtoa varten sopia avaimista. Tämä ei välttämättä tuota yleistä turvattoman kanavan ongelmaa, koska palveluun on kertaalleen kirjauduttu ja siinä yhteydessä on voitu vaihtaa avaimia autentikoidusti. Kummankin osapuolen on täytynyt tässä vaiheessa rakentaa jonkinlainen luottamus toiseen, myös siinä tapauksessa että talletus olisi salattua. Palvelun tarjoajan on saatava varmuus siitä, että se voi periä maksun ja yksilön puolestaan siitä, että hän tulevaisuudessa saa palvelun. Sopimuksen tekovaihe ja mahdollinen avaintenvaihto voidaan kyllä toteuttaa turvattoman kanavan yli, mutta silloin tarvitaan osapuolten autentikointia. Tyypillisesti tässä turvaudutaan osapuolten julkisiin avaimiin ja niiden varmenteisiin.

Julkinen avain toimii tässä ikäänkuin puoliksi vaihdettu salausavain ja varmenteen ansiosta voidaan uskoa, että julkisen avaimen yksityisen vastinkappaleen omistaa se, joka niin väittääkin. Varmenne muodostuu, kun joku kolmas yhteisesti luotettu osapuoli allekirjoittaa julkisen avaimen. Etäisempien osapuolten kanssakäyntiä varten voidaan tarvita heidän välimaastossaan toimivien viranomaisten myöntämien varmenteiden ketju. Jos löytyy tällaisia tahoja, joihin kaikki luottavat edes välillisesti, niitä voidaan käyttää myös notariointiin. Luotettu taho voi sitoa allekirjoituksellaan esimerkiksi aikaleiman tiettyihin muistoihin. Myös digitaalisia todistuksia saadaan aikaan tällä tavoin, kun luotetulle taholle esitetään aineisto, jonka perusteella se allekirjoittaa saman tiedon esityksen bittteinä.

Salausavainten vaihto vaatii siis autentikoinnin. Jatkossa viestien salauksella voidaan puolestaan saavuttaa autentikointi: Näin on, mikäli symmetrisen kryptosysteemin avain on vain viestivien osapuolten hallussa ja salauksen purku tuo näkyviin oikeanlaista redundanssia, esim. suomen kieltä. Autentikointi on keskeinen osa pääsynvalvontaa, jolla pidetään huolta ettei kukaan asiaton pääse muuttamaan talletettuja tietoja tai niiden perusteella yksilölle palautettavia muistumia. Tässä mielessä autentikointi alkaa jo siitä, että yksilö osoittaa henkilöllisyytensä puettavalle laitteelleen, esim. jollain biometrisellä menetelmällä ja laite puolestaan osoittaa käyttäjälleen olevansa aito ja ehjä.

Tiedon eheyttä voidaan varjella vahingossa tai tahallaan tehdyiltä muutoksilta tallettamalla alkuperäisestä tiedosta laskettu tiiviste- eli hash-funktion arvo turvaan erilleen tiedosta. Kaikki tarvittavat arvot mahtuvat varmasti puettavaan laitteeseenkin, sillä tiivistefunktion arvo on varsin lyhyt, esim. 160 bittiä. Vaikka erittäin monella tekstillä on sama tiivistearvo, saman arvon tuottavia on erittäin vaikea keksiä.  Näin ollen talletetun tekstin voi uskoa eheäksi, jos se tuottaa saman tiivistearvon kuin ennenkin. Jos poikkeama esiintyy, tietoa on varmasti peukaloitu ja alkuperäistä täytyy etsiä varmuuskopioista.

Bittien pitkä säilytys edellyttää paitsi normaalia varmuuskopiointia myös ajoittaista virkistämistä eli kirjoittamista uudelleen, uudelle välineelle tai uuteen tiedostomuotoon. Tämä on periaatteessa yksinkertaista ja tarkoitukseen varmasti syntyy asianmukaiset palvelut tai ohjelmistot, joiden ei tarvitse tietää ovatko bitit salattuja vai eivät. Saatavuuden osalta palveluyritys pystyy olemaan yhtä luotettava kuin pankkikin, jossa rahat tallettuvat oleellisesti bitteinä. Jos tämä ei riitä, yksilön oma järjestelmä voi toteuttaa ylimääräisen varmuuskopioinnin riippumattomaan paikkaan.
 

Avoimia mahdollisuuksia

Langattoman verkon anonyymi käyttö on mahdollista käyttäen eräänlaista etukäteen maksettua pääsylippua, joka toimii hieman samaan tapaan kuin nimetön sähköinen käteinen - tai puhelinkortti. Kyseessä on käyttäjän valitsema tietyn muotoinen mutta silti satunnainen luku, jonka palvelun tarjoaja allekirjoittaa sokeasti - siis näkemättä sitä. Kun yksilö myöhemmin käyttää lukuaan, siis oikeanmuotoista ja allekirjoitettua, palvelun tarjoaja palvelee ja vähentää ensimmäisellä käyttökerralla perustamaltaan nimettömältä tililtä korvauksen, kunnes tili tyhjenee.

Sen lisäksi että kommunikointipalvelu eli puhelin- ja tietoverkko voidaan tällä tavoin anonymisoida, voisiko vastaavan tehdä säilöpalvelulle? Muistopalvelija säilyttäisi ja operoisi tietoja yksilöimättömien lukujen, eräänlaisten osoittimien perusteella tietäen kuitenkin, että on jo saanut niistä maksun. Mikä ongelma mahtaakaan nousta ensinnä mieleen? Päällimmäinen huoli lienee ehkä lukujen pysyminen yksilöimättöminä, kun niiden pitää kuitenkin osoittaa aina samaan tietoon? Ehkäpä yksilön oma laite siirtelee tietoja samalla kun varmistelee sen, että varmuuskopiointi tulee hoidetuksi (vrt. ohjussiilot). Toinen ongelma on saada palvelun tarjoajan tilivelvolliseksi anonyymille käyttäjälle. Tilannehan on hankalampi kuin pelkässä kommunikointipalvelussa, jossa palvelun laatu näkyy heti.

Jos anonyymi talletus voidaan jotenkin järjestää, voisiko sen tehdä ehkä jopa niin, että tiedot voisivat olla selväkielisinä mutta siten hajautettuina että niistä muodostuisi henkilökohtainen merkitys vain sellaiselle, joka osaa niitä oikein yhdistää ja mahdollisesti kytkeä joihinkin enempi yksilöiviin, mutta turvallisessa paikassa sijaitseviin tietoihin? Tällöin riittäisi salata viestintä yksilön ja säilöpalvelun välillä ja hakua ei tarvitsisi hankaloittaa ainakaan kryptauksella. Lisäksi osa tiedoista voisi olla myös julkisesti saatavilla, jolloin ihmisten yksityistenkin ideoiden ja ajatusten kirjo voisi olla entistä paremmin jaettavissa ja hyödynnettävissä. Nimellä varustetut tiedot, eli julkaisut yms., olisivat sitten erillisenä osana samaa järjestelmää. Tällaisen tietoverkossa nykyiselläänkin tarjottavan tiedon mukanaolo säilöpalvelussa voisi mahdollistaa sen, ettei toisten tarvitsisi kopioida tätä tietoa, vaan he voisivat luottaa sen pysyvyyteen - mahdollisesti suoritettuaan jonkin yksilöimättömän mikromaksun siitä.

Koska muistojärjestelmä joka tapauksessa vaatii erittäin kehittynyttä tiedonhakumenettelyä, voisi ehkä ajatella että kryptologinen salaisuuden jakamisen tekniikka voitaisiin samalla ulottaa aiempaa korkeammalle merkityksen tasolle. Yleisesti on toki niin, että tietoturva ja sitä kautta kryptologia olisi hyvä ottaa huomioon kaikessa tietojenkäsittelyssä  jo suunnitteluvaiheessa.  Kryptologiaa on kuitenkin hyvin vaikea nostaa turvallisella tavalla ylös puhtaiden bittien kombinatorisesta maailmasta. Tämän vuoksi muistojen oheistaminenkin tulee olemaan melkoinen haaste.