TTKK / Tietoliikenne / J.Koskinen : Tietoturvallisuuden perusteet

4. viikko, ke 22.9.1999

SET

Secure electronic transactions (SET) on joukko tietoturvaprotokollia, jotka turvaavat avoimen tietoverkon välityksellä tapahtuvan mutta muilta osin perinteisen luottokorttimaksaminen. Visa ja MasterCard panivat SETin alulle 1995 ja kehittelyssä on ollut mukana useita teknologiayrityksiä. SET voi toimia suoraan TCP/IP:n päällä, mutta toisaalta se ei estä käyttämästä muita turvamekanismeja (esim. IPSec tai SSL/TLS).

Epäelektronisessa maailmassa tapahtumat ovat suurinpiirtein seuraavanlaisia:

  1. asiakas esittää kortin (tai puhelimessa sen numeron) kauppiaalle oston tai tilauksen yhteydessä;
  2. kauppias välittää maksutiedot omalle pankilleen,
  3. joka välittää ne kortinhaltijan pankille,
  4. joka tarkistaa tilin ja hyväksyy rahaliikkeen;
  5. tuote siirtyy kauppiaalta asiakkaalle (voi tapahtua jo alussa);
  6. raha siirtyy asiakkaan pankilta kauppiaan pankkiin (tämän tilille);
  7. raha siirtyy asiakkaalta tämän pankille (asiakkaan maksaessa laskun)
Yksi keskeinen SET:in tuoma lisäominaisuus on tilaus- ja maksutietojen eriyttäminen siten, että kauppias ja pankki saavat tietää vain sen, mikä niiden kannalta on tarpeen. Toisaalta nämä tiedot on kytketty toisiinsa siten, ettei esim. kauppias pysty liittämään maksutietoihin jotain muuta tilausta. Tämä tehdään seuraavasti käyttäen tiivistefunktiota H ja asiakkaan allekirjoitusfunktiota S. Maksutiedosta M ja tilaustiedosta T muodostetaan "kaksoisallekirjoitus" (dual signature) A = S( H ( H(M) || H(T)) ) ja pankki saa verifiointia varten M:n, A:n ja H(T):n, kauppias T:n, A:n ja H(M):n. Näin pankki/kauppias voi vakuuttua M:n/T:n autenttisuudesta saamatta tietää T:tä/M:ää.

SET:n käyttöönottoa edeltävät toimet:

SETin puitteissa asiakas lähettää viestejä pelkästään kauppiaalle, tämä taas vain asiakkaalle ja maksuyhdyskäytävälle. Yhdyskäytävän toimet pankkien kanssa ovat SETin ulkopuolella. Keskeinen osa SETin toimintaa muodostuu seuraavista kolmesta protokollasta:
  1. Asiakas "tekee ostoksen", erityisesti palauttaa allekirjoittamansa "tilauslomakkeen". Tässä vaiheessa asiakas pystyy autentikoimaan kauppiaan tämän lähettämän varmenteen perusteella.
  2. Kauppias hankkii yhdyskäytävältä "maksuvaltuutuksen" eli tiedon siitä, että asiakkaalla on tarpeeksi luottoa. (Tuotteen toimitus voi tapahtua tämän jälkeen.)
  3. Kauppias lähettää maksupyynnön yhdyskäytävälle - ehkä useasta maksusta yhtäaikaa (ja saa rahat tililleen).
Tilauslomake lähtee kauppiaalle salaamattomana, eikä se sisälläkään enää muuta kuin SETin käyttöä edeltäneen "ostoskorin" tms. tunnistetiedot. Samassa viestissä kauppias saa salattuna maksutiedot, jotka hän välittää (vaiheessa 2) sellaisinaan maksuyhdyskäytävälle. Salausavain on asiakkaan valitsema ja hän on salannut sen maksuyhdyskäytävän julkisella avaimella (jälleen siis digitaalinen kirjekuori).

Kauppias salaa valtuutusta koskevat tiedot vastaavalla tavalla viestissään maksuyhdyskäytävälle (vaiheessa 2) ja maksuyhdyskäytävän vastaus käyttää edelleen samaa tekniikkaa. Tämä toistuu vaiheessa 3. Kaikkiaan osapuolet generoivat prosessin kuluessa siis kaikkiaan viisi symmetristä avainta (asiakas yhden, kauppias ja maksuyhdyskäytävä kumpikin kaksi), jotka salataan vastaanottajan julkisella avaimenvaihtoavaimella (jollaista ei ole asiakkaalla). Kullakin osapuolella on allekirjoituksia varten oma avain.

Tässä jätettiin käsittelemättä paitsi rekisteröityminen, myös erilaisia tarkistus- ja korjausviestejä. SET-järjestelmässä asiakas voi tarkistaa

Käytännön lisätietoja esim. Luottokunnan sivuilta

WWW kaupankäynnin alustana: SSL

Secure Socket Layer eli SSL lienee Internetin laajimmin käytetty turvaprotokolla. Se mahdollistaa salauksen ja autentikoinnin ja käyttää X.509-sertifikaatteja. SSL toimii TCP-protokollan päällä ja sovellustason protokollien kuten HTTP:n tai FTP:n alla. Jälkimmäisestä seuraa, että www-liikenne on suojattua URL-osoitteita ja HTTP-protokollan otsikoita myöten. Toisaalta SSL ei tiedä, mitä sen päällä tehdään. Erityisesti se ei voi ottaa huomioon kaupankäynnin eri transaktioiden muodostamaa kokonaisuutta, kuten esimerkiksi SET tekee luottokorttimaksamisen osalta. Vielä kokonaisvaltaisempaa näkemystä on tavoiteltu esim. SEMPER-projektissa (Secure Electronic MarketPlace for EuRope). Nyt katsotaan vain, miten SSL-protokollalla voidaan saada aikaan turvallinen pohja, jolla kauppaakin voi käydä.

SSL rakentaa yhteyden asiakasohjelman (selaimen) C ja palvelimen S välille suurinpiirtein seuraavasti (C:n autentikoimiseksi tehtävät vaiheet 4 ja 5 ovat vapaaehtoisia - eivätkä kovin yleisiä):

  1. C --> S:   "ClientHello": millaisia algoritmeja C:llä on käytettävissä.
  2. S --> C:   "ServerHello": minkä symmetrisen salausalgoritmim, moodin, hash-funktion ja kompressioalgoritmin S on valinnut - tai ilmoittaa kättelyn epäonnistumisesta.
  3. S --> C:   S:n julkisen avaimen sertifikaatti (kaikki sertifikaatit juurivarmentajan myöntämään asti)
  4. [ S --> C:   Pyytää S:n sertifikaattia. ]
  5. [ C --> S:   sertifikaatti - tai "no certificate", johon S reagoi lopettamalla, jos niin haluaa. ]
  6. C --> S:   Alustava symmetrinen avain k RSA:lla salattuna.
  7. S --> C:   Hieman muunnettu k allekirjoitettuna - osoituksena siitä, että k on nimenomaan S:n hallussa.
  8. C --> S   ja S --> C:   Ilmoitukset valmiudesta ottaa käyttöön symmetrinen salaus k:sta lasketulla istuntoavaimella (avaimen laskennassa on mukana myös "Hello"-viesteissä esiintyneitä satunnaislukuja)
  9. C --> S   ja S --> C:   Kättelyn lopetussanoma, jossa on tiiviste kaikesta edelläolevasta (paitsi vaiheesta 8, joka ei oikeastaan kuulu kättelyyn, mutta mahdollistaa silti lopetussanoman salaamisen, jolloin kukaan muu ei pääse laskemaan uutta tiivistettä peukaloimistaan aiemmista viesteistä).
Tämän jälkeen alkaa varsinaisen sovelluksen viestien vaihto. Kättely on lyhyempi kun saman yhteyden aikana käydään useita istuntoja ("Hello"-viesteissä on tunnisteet tätä varten). On myös mahdollista että palvelintakaan ei autentikoida. Tällöin yhteys on anonyymi ja avaimia vaihdetaan RSA:n sijasta Diffie-Hellman-protokollalla.

Meritan Solo-, Osuuspankin Kultaraha- ja Leonian verkkomaksu ovat seittitilisiirtoja ja niissä käytetään SSL:ää. Vanhemmissa selainversioissa on käytössä kuitenkin vain "keskitason" turvallisuuden takaava salaus 40-bittisellä avaimella, ellei korjauspakettia ja VeriSignin myöntämää sertifikaattia ole asennettu (ks. esim. Netscapen "Step"-Up"). Vaikka (pankki)asiakkaan autentikointi on välttämätöntä, näissä sovelluksissa ei tarvita vaiheita 4 ja 5, joilla asiakasohjelma autentikoitaisiin pankille. Asiakashan tulee autentikoiduksi kertakäyttöisten salasanojen perusteella siinä vaiheessa kun SSL-salaus on jo täydessä käynnissä.

Viimeksi mainittiin kauppapaikalla tehtävä tilisiirto, joka menee suoraan vastaanottajan tilille ja mahdollistaa palvelun välittömän saamisen. Lisätietoja tästä saa esim. OP:n sivulta. Itse SSL:ään voi paneutua Netscapen julkaiseman dokumentaation kautta. Alunperin Netscapen (1994 alkaen) toteuttaman SSL:n rinnalla on olemassa ilmainen toteutus SSLeay. Internet Engineering Task Force (IETF) valmistelee SSL:n pohjalta standardia, jolla on nimenä TLS (Transport Layer Security).

WWW-sisällön suodatus

Internetissä on runsaasti lapsille sopimatonta ja jopa vahingollista materiaalia, johon he kuitenkin pääsevät kovin helposti käsiksi. Kyse on lähinnä aikuisviihteestä, väkivaltaa sisältävästä uutisaineistosta ja myös yhteyksistä tuntemattomiin ihmisiin "keskusteluhuoneiden", sähköpostin tai uutisryhmien välityksellä. Lapsia pitäisi jotenkin suojella tällaiselta sisällöltä, koska he eivät yleensä osaa eivätkä varsinkaan ymmärrä itse varoa sitä. Myös yritys voi yrittää varjella henkilöstönsä työaikaa asiattomalta sisällöltä.

Vanhempien avuksi on tehty ohjelmia, jotka voivat

Keskeinen ongelma on tietenkin sen ratkaiseminen, mikä on soveliasta sisältöä, esim. suodatetaanko pois "vääränlaista" tietoa vai tehdäänkö toisinpäin päästämällä läpi (suotamalla) "oikeanlaista" tietoa. Valittiinpa suodatin miten tahansa, aina joko jotain ei-toivottua pääsee läpi tai jotain hyvää torjutaan - yleensä tapahtuu molempia.

Suodatuksen taustalla täytyy olla jokin luokitus- tai merkintämekanismi ja sen vaikutusta pitää voida säätää asettamalla kriteerejä. Näitä toimia voivat tehdä

Suodatus voi tapahtua PICS (Platform for Internet Content Selection) on WWW-konsortion laatima joukko määrityksiä (eräänlainen kielioppi), joiden tarkoituksena edistää lasten vanhempien avuksi tehtyjen työkalujen yhteensopivuutta: Perusmallina on, että sisällön tuottaja määrittelee dokumenttiin liittämillään PICS-"kylteillä" dokumentin sisällön luonteen ja liittää mukaan tiedon siitä, minkä luokittelumallin mukaan se on tehty. Eri luokittelumalleissa on erilaiset ulottuvuudet ja niissä erilaiset asteikot. Esimerkkinä olkoon PICS-hankkeen oma sivu, jolla on seuraavannäköinen PICS-luokitus:
<meta http-equiv="PICS-Labels"
content='(PICS-1.1 "http://www.rsac.org/ratingsv01.html";
l by "martinm@raleigh.ibm.com"; on "1996.06.24T10:11-0500";
exp "1997.06.06T08:00-0500";
r (n 0 s 0 v 0 l 0))'>
Tässä on tuotettu kyltti (l niinkuin label) käyttämällä RSACi:n sivulla mainittua arviointia (r niinkuin rating), jossa on neljä luokkkaa: alastomuus (n), seksi (s), väkivalta (v) ja kieli (l) ja kussakin viisi tasoa (0-4). (RSACi=Recreational Software Advisory Council on the Internet.)

Merkintöjä voidaan paitsi sisällyttää HTML-dokumenttiin kuten tässä, myös lähettää HTTP-protokollan (tms.) otsikkotiedoissa (mikä HTTP:ssä vastaa suoraan 'meta'-tagin merkitystä). Niitä voidaan myös laatia ja siirtää erillään dokumentista. Tämä tekee mahdolliseksi arviointipalvelut, joista selain voi käydä kysymässä jonkin sivun luokitusta.

Mainintoja lakiasioista

Tietoturvan vastaiset rikokset voidaan luokitella seuraavasti: Tekijä
  1. laiminlyö velvollisuuden huolehtia tietoturvasta;
  2. särkee eheyden tietoliikennejärjestelmässä, laitteistossa, ohjelmistossa tai tiedossa. Tähän kuuluvat myös luvaton tunkeutuminen tietokoneeseen tai -järjestelmään sekä perinteiset varkaudet ja vahingonteot.
  3. levittää tietoa luvattomasti. Kyseessä voi olla salassapitovelvollisuuden rikkominen, tekijänoikeuden loukkaus tai laittoman tiedon (kuten lapsipornon) levitys. Mikä on välityspalvelun tarjoajan vastuu viimeksimainitun kaltaisissa tapauksissa, on tärkeä kysymys, johon ei ole toistaiseksi yksikäsitteistä vastausta.
Suomessa ei ole erikseen tietoturvalainsäädäntöä, joka kattaisi toisen kohdan, mutta kylläkin esim. tietosuojalaki (oik. henkilötietolaki, siitä lisää ensi kerralla) ja laki teletoiminnan tietoturvasta ja tekijänoikeuslaki.

Tekijänoikeus, copyright, tarkoittaa kopiointioikeutta, eli lakitekstiä lainaten se tuottaa "yksinomaisen oikeuden määrätä teoksesta valmistamalla siitä kappaleita ja saattamalla se yleisön saataviin, muuttamattomana tai muutettuna, käännöksenä tai muunnelmana, toisessa kirjallisuus- tai taidelajissa taikka toista tekotapaa käyttäen."

Tekijänoikeuksista on paljon suomenkielistäkin tietoa seitissä. Tämän kurssin tarpeisiin riittää J.Korpelan laatima tiivistelmä siitä, mitä jokaisen tietokoneen käyttäjän pitäisi tietää tekijänoikeudesta. LUE se. Tarkempaa tietoa löytyy saman tekijän FAQ:sta. Mainittakoon tässä vain, että melko yleisen luulon vastaisesti Suomessa tekijänoikeus on voimassa, vaikka teoksessa ei olisi copyright-merkintää, eikä edes tekijän nimeä.

Verotuksesta: Paperitonkin kaupankäynti vaatii kirjanpidon, jonka perusteella verotus voidaan tarkastaa. Se ei sinänsä ole uutta, koska OVT on ollut jo kauan käytössä. Veronkierron mahdollisuus saattaa kuitenkin kasvaa, kun kaupankäynnin kaikki vaiheet toteutuvat sähköisesti ja tuotantoakaan ei alkuvaiheen jälkeen näy missään, ainakaan muualla kuin prosessorin käyttöasteessa, kun se suorittaa jotain palvelua tai kopioi digitaalista tietoa asiakkaalle toimitettavaksi ja varsinkin jos tämä tapahtuu anonyymisti. Vastaava ongelma koskee tullin perimistä kansainvälisessä kaupassa. Anonymiteetti on muutenkin ristiriitainen tavoite ja mahdollisina laittomuuksina vastaan tulevat vaikkapa rahanpesu, kiristys ja lahjonta ja tietenkin laittomien tuotteiden, kuten huumeiden kauppaaminen.

Sisällön tuottaja ei välttämättä halua kätkeä toimiaan, koska hän ei voisi silloin puolustaa tekijänoikeuksia. Muutenhan joku muu saattaisi alkaa tehdä kauppaa kerran ostamallaan aineettomalla tuotteella. Toisaalta myyjä ei kaikissa kaupankäynnin muodoissa voi välttää asiakkaalle annettavaa kuittausta maksuista. Bittikuitit ajavat saman asian verotuksen näkökulmasta kuin paperille kirjoitetut kuitit. Lainsäädännön kehittämistarve on kuitenkin ilmeinen ja erityisesti kansainvälinen yhtenäistäminen olisi tärkeää.

Vesileimaus

Vesileimaus on vanha keino osoittaa aitoutta ja alkuperäisyyttä paperidokumenteissa, esim. osakekirjoissa ja rahoissa. Vähän samaan tapaan kuin allekirjoitus tässäkin kytketään dokumenttiin jotain, joka kertoo valmistajasta tai laatijasta.

Allekirjoituksesta poiketen tavoitteena on nyt tehdä kytkentä niin, että sitä ei voi leikata (eikä edes hangata) pois ja toisaalta niin, että se häiritsee itse dokumenttia mahdollisimman vähän. Itse asiassa se halutaan yleensä kätkeä niin, ettei asiasta tietämätön edes huomaa sitä. Digitaalisessa maailmassa vesileiman löytäminen dokumentista voidaan tehdä riippuvaiseksi jostain avaimesta, joka voi olla toki myös julkinen. Vesileimaus on ymmärrettävästi erittäin hankala toteuttaa pelkkään digitaaliseen tekstiin.

Digitaalista vesileimausta voidaan pitää kryptologian osa-alueena, mutta sillä on omakin tieteenalansa, steganografia. Siinä missä kryptografia on pohjimmiltaan viestin sisällön salaamista, steganografia on viestin olemassaolon salaamista, piilokirjoitusta, jossa viesti kätketään enemmän tai vähemmän sellaisenaan muun sanoman joukkoon. Historiallisesti sillä on ollut salakirjoituksen veroinen merkitys luottamuksellisuuden tavoittelussa, mutta sittemmin se on jäänyt syrjään nykyaikaisen kryptografian tieltä. Tilanne on muuttunut sitä mukaan kun kuvallisen ja äänellisen tiedon digitaalisen tallentaminen ja varsinkin prosessointi on kehittynyt ja on tarvittu uusia menetelmiä tekijänoikeuksien puolustamiseen.

DMI:n johtajan Pauli Kuosmasen ja professori Jaakko Astolan patentoima vesileimausmenettely mahdollistaa vesileiman kätkemisen yleisesti mihin tahansa signaaliin. Ajatellaan seuraavassa yksinkertaisuuden vuoksi kuvaa, jonka elementit (pikselit) ovat harmaatason ilmaisevia tavuja. Olkoon kätkettävänä vesileimana mustavalkoinen logo, siis kuva, jonka pikselit ovat nollia ja ykkösiä. Oletetaan lisäksi, että ykköset eivät ole toistensa naapureina. Asetetaan logo kuvan päälle johonkin kohtaan jotenkin päin. Reunojen ylitys voidaan hoitaa leikkaamalla logo ja jatkamalla vastakkaiselta puolelta kuvaa. Ne kuvan pikselit, joiden kohdalle osuu logon musta pikseli muunnetaan seuraavasti: lasketaan pikselin 8 naapuripikselin arvoista mediaani ja korvataan pikselin arvo sillä.

Tällä tavoin muunnettu kuva ei yleensä eroa alkuperäisestä havaittavasti, mutta miten logo sitten voidaan löytää siitä? Tehdäänpä muunnetun kuvan kaikille pikseleille sama operaatio eli lasketaan naapureiden mediaani. Niillä pisteillä, jotka ovat logon kohdalla, on alkuperäiset naapurit ja muunnos tuottaa niille uudestaan nykyisen arvon. Muilla pisteillä näin ei yleensä käy, vaan arvo muuttuu melko suurella todennäköisyydellä. Jos muuttuneet pikselit väritetään valkoisiksi ja muuttumattomat mustiksi, vesileima yleensä erottuu missä kohtaa se sitten sijaitseekin.

Kun tunnistusalgoritmi on paikantanut logon tällä tavoin, sen pitää vielä tehdä tilastollinen testi ja päätellä, voiko mustien (eli muuttumatta jääneiden) pikseleiden esiintyminen sattumalta johtaa siihen, että logokin on niiden joukossa. Testin tuloksena on jokin todennäköisyys. Mikäli se on riittävän pieni, sattuma voidaan jättää huomiotta ja uskoa, että kuvassa on vesileima. Testin lähtökohtana on kuvan luonteesta riippuva jakauma muunnoksessa muuttumatta jääville pisteille.

Ongelmia voi syntyä siitä, että kuvaa on sittemmin muunnettu jollain tavalla, esimerkiksi yksinkertaisesti vain rajattu, skaalattu tai kompressoitu, tai sitten kuva on painettu ja sen jälkeen uudelleen digitoitu.

Logo voidaan sijoittaa paitsi suoraan kuvaan kuten edellä, myös kuvasta tehtyyn muunnokseen (esim. Fourier), minkä jälkeen kuva on palautettu käänteismuunnoksella. Toisaalta logon sijasta kuvaan voidaan kätkeä jokin logosta tehty muunnos. Mediaanin sijasta voidaan tehdä jokin muu muunnos eli suodatus. Tämän muunnoksen valinnassa voidaan lisäksi käyttää parametreja. Kaikissa näissä tapauksissa ja näiden yhdistelmissä saadaan aikaan se, että asiattomien on vaikeampi peukaloida vesileimaa.

Yhtenä monista valmistajista DigiMarc toimittaa ohjelmia, joilla kuviin voidaan kätkeä vesileima. Nämä leimat sisältävät yksikäsitteisen tunnisteen. Kuvankäsittelyohjelmiin liitetty rutiini avaa tämän tunnisteen ja käy DigiMarcin tietokannasta katsomassa, mitä tietoa siihen on liitetty. Tällöin kuvaa skannaava tai sen avannut käyttäjä saattaa nähdä kuvaan liittyvää tietoa, joka voi olla tekijänoikeusilmoitus tai kuva-aiheeseen liittyvä linkki kuvan laatineen yrityksen sivuille. DigiMarc tarjoaa palveluna myös sitä, että se käy läpi seittiä ja tutkii minne kaikkialle tietyt kuvat ovat päätyneet.

Vesileimoja vastaan voi kuvaa peukaloimalla tehdä monenlaisia hyökkäyksiä: sellaisia käsittelevän artikkelin abstrakti ja linkki artikkeliin. Vesileimausaihetta on käsitelty hieman myös TIVEKEn sivuilla tekijänoikeuksien yhteydessä. Samalla sivulla on myös tiivis selvitys SET:stä. Vesileimausaiheesta löytyy myös seittirengas.