Salaus

30.9.1999

Jonne Loikkanen
Tietotekniikan osasto
Teknillinen Korkeakoulu
jloikkan@cc.hut.fi

Tiivistelmä

Tässä esseessä käsitellään tärkeää verkkoturvallisuuden tekijää, salausta. Internet on turvaton media -siellä kulkeva tieto on salattava, jotta väärät tahot eivät saisi tietoa haltuunsa. Julkisen avaimen salakirjoitusmenetelmät sopivat hyvin tiedon suojaukseen verkossa. RSA on monien tunnettujen salaussovellusten matemaattinen pohja. RSA on turvallinen, jos avaimet ovat riittävän pitkiä. Viimeaikoina tietokoneiden tehot ovat kasvaneet nopeammin kuin avaimien koot. Tämä on tehnyt monet salausjarjestelmät haavoittuvaisiksi. Salaussovellusta valittaessa ei kannata antaa hämääntyä myyjien trendikkäistä termeistä: yleensä yksinkertaisin ja ymmärrettävin on parasta. PGP on hyvä valinta salaussovellukseksi.


Sisällysluettelo

Esseissä sisällysluettelo ei ole välttämätön. Seminaaritutkielmissa se vaaditaan.

1 Johdanto: Miksi tarvitaan salausta

2 Salauksen perusteita

3 RSA-salaus

4 Hyökkäykset salausta vastaan

5 Salaussovelluksen valinta

6 Salauks ja tietoturva Internetissä nykyään ja tulevaisuudessa

Lähdeluettelo


1 Johdanto: Miksi tarvitaan salausta

Internet on pohjimmiltaan turvaton verkko. Kuka tahansa, oikealla ammattitaidolla varustettu, henkilö pääsee käsiksi verkossa kulkevaan tietoon. Internetin luonteesta johtuen tietoa on hyvin vaikea estää joutumasta vääriin käsiin. Sen sijaan on mahdollista suojata tieto toisella tavalla: salata tieto niin, että kolmas osapuoli ei ymmärrä viestiä.

2 Salauksen perusteita

Verkkoturvallisuudessa on neljä pääaluetta:tiedon oikeellisuuden varmistaminen, käytön autentikointi, tiedon alkuperän kiistämättömyyden parantaminen ja tiedon luottamuksellisuuden ylläpito[1]. Salaus liittyy luonnollisesti näistä viimeiseen, mutta salausmentelmien kehittyessä on salauksen piiristä löydetty ratkaisuja myös muille verkkoturvallisuuden osaalueille. Esimerkiksi käyttäjä voi salausavaimellaan allekirjoittaa viestinsä ja näin todentaa olevansa viestin lähettäjä.

Salausmenetelmät voidaan jakaa kahteen luokkaan: symmetrisiin ja asymmetrisiin salausmentelmiin.

Symmetrinen salausmenetelmä käyttää viestin kryptaukseen ja purkuun samaa avainta (symmetrinen => avain sama kummassakin päässä) Symmetrisen avaimen käyttö on sinänsä hyvin turvallista: Avaimen murtaminen on hyvin työlästä, sillä purkamisen joutuu perustamaan raakaan voimaan. Symmetrisen salausmenetelmän ongelmana on avainten siirtely: Henkilöllä, jolle lähetät viestin, on oltava hallussaan sinun salainen avaimesi.

Asymmetrin salaus perustuu, symmetrisestä poiketen, kahteen avaimeen, salaiseen ja julkiseen. Julkinen avain on kaikkien saatavilla, kun salainen taas on vain avaimen haltijan tiedossa. Kahden avaimen järjestelmä tuo monia etuja symmetriseen menetelmään verrattuna: Viestin lähettäjä voi salata viestin vastaanottajan julkisella avaimella, jolloin vain vastaaanottaja pystyy purkamaan viestin salaisella avaimellaan. Näin pystytään pitämään yllä tiedon luottamuksellisuutta. Samoin voi viestin lähettäjä allekirjoittaa viestin salaisella avaimellaan, jolloin viestin pystyy todentamaan henkilön lähettämäksi. Asymmetrisen salauksen menetelmät ovatkin nykyään huomattavasti suositumpia kuin symmetriset. Julkisten avainten menetelmistä nykyään käytetyin on RSA-salakirjoitus, jota tarkastelemme hieman tarkemmin seuraavassa luvussa.

3 RSA-salaus

RSA-salakirjoitus perustuu kahdelle hyvin isolle (ainakin 1024 bittiä) alkuluvulle P ja Q, jotka ovat vain avaimen haltijan tiedossa ja muodostavat salaisen avaimen. P:n ja Q:n tulo X muodostaa osan julkisesta avaimesta. Jutun juju on siinä, että julkisella avaimella voidaan viesti kryptata s.e viesti on yksikäsitteisesti palauttettavissa salaisen avaimen avulla, mutta julkisesta avaimesta on hyvin raskasta johtaa salaisen avaimen P ja Q. Purkaminen edellyttää X:n tekijöihin jakamista, joka on suurelle luvulle työlästä.

4 Hyökkäykset salausta vastaan

Salausta vastaan voidaan hyökätä monilla tavoin. Murtaja voi tietää osan viestistä(plain text attack), jolloin hän voi käyttää tiedossa olevan osan tietoja murtamaan koko viestin. Murtaja voi myös arvata osan viestistä, esim samana toistuvan alun(cipher text attack) ja käyttää tätä tietoa kuten edellisessä kohdassa. Joissakin salausmenetelmissä murtautujalla voi olla mahdollista salata omaa tekstiään tuntemattomalla avaimella, ja saada näin avaimen tietoonsa. RSA on tälläiselle 'Chosen-plaintext'-hyökkäykselle haavoittuvainen. Menetelmät, joissa salaus perustuu luottamuksellisten avainten vaihtoon session alussa, ovat haavoittuvaisia ns. 'Man-in-the-middle'-hyökkäykselle. Kun avaimia alussa vaihdetaan voi murtautuja asettua yhteyksien väliin ja esittää vastapuolta kummallekin osapuolelle. Tälläinen hyökkäys on melko vaikea havaita. Käytännössä, jotta e.m. menetelmä olisi turvallinen pitää samalla käyttää jotain muuta salausmenetelmää. Toisin sanoen vaihdettavat luottamukselliset avaimet pitää kryptata esim. PGP:llä tai kummankin käyttäjän avaimien samankaltaisuus pitää vahvistaa allekirjoitetuilla viesteillä. RSA:ta vastaan voidaan hyökätä myös ns. 'Timing'-hyökkäyksellä. 'Timing'-hyökkäys perustuu avaimella suoritettavien operaatioiden ajan mittaukseen[2]

RSA:aan perustuvan salakirjoituksen pystyy purkamaan jakamalla julkisen avaimen toisen puoliskon alkulukutekijöihin. Tietokoneiden nopeuden kehityshän on ollut varsin nopeaa. Monet järjestelmät ovat tulleet melko haavoittuvaisiksi kun avainten koko ei ole kasvanut yhtä nopeasti kuin avainten koko. Turvallisuutesi varmistat käyttämällä salausta, jossa asymmetrisen avaimen pituus on 2048-bittiä.

Avaimien koon kasvu hidas kasvu selittyy USA:n vientirajoituksilla (Uusimpia salaussoftia ei saa viedä ulkomaille terroristien käsiin ?!) ja sillä, että monet yritykset ovat hitaita reagoimaan muutokseen -ajetellaan, että hyvinhän tässä on tähänkin asti tultu toimeen. Monien tahojen kannattaa herätä tai heidän käyttämänsä salaus pian yhtä tyhjän kanssa[3]

5 Salaussovelluksen valinta

Salaus on sinänsä melko monimutkainen ala. Sinänsä hyvän tietoturvan omaamiseen riittää perusteiden halinta jos osaa valita oikeanlaisen salausohjelman. Hyvä salaussovellus perustuisi nykyteknologialla asymmetriseen salaukseen. Hyviä ja luotettavia vaihtoehtoja olisivat PGP ja suomalainen SSH.

Huonosta salausohjelmassa on yleensä havaittavana monia tunnusmerkkejä: Seikka, että ohjelman tekijät eivät itsekään tiedä mitä ovat tekemässä, on naamioitu sekaviin teknisiin termeihin. Ohjelma käyttää 'salaista algoritmia': Jos ohjelman tekijät eivät usko, että heidän salausalgoritminsä kestäisi yleistä tarkastelua, miksi sinä uskoisit. 'Historiallinen läpimurto': Salausalgoritmin turvallisuus voidaan todeta vasta vuosien käytön ja testien jälkeen.[4]

6 Salaus ja tietoturva Internetissä nykyisin ja tulevaisuudessa

Kuten mainitsin jo esseen alussa Internet on pohjimmiltaan turvaton verkko. Nykyisiltä protokollilta ei vaadita mitään salausominaisuuksia. Tämä tarkoittaa sitä, että verkossa kulkevat viestit ovat periaatteessa kaikkien luettavissa.

Nykyään Internetin tietoturva perustuu käyttäjän oma-aktiivisuuteen. Oletetaan, että tärkeitä viestejä käyttävät tahot osaavat valita itselleen hyvän sovellustason suojausohjelman. Vallitsevassa Internetin verkkokerroksen protokollassa IPv4:ssa ei ole muita tietoturva ominaisuuksia kuin valinnanen Security-kenttä, joka ilmoittaa kuinka salaista paketin tieto on. Security-tietoa käytetään joskus sotilas reitittimissä estämään tietyn paketin menoa vääränlaiseen maahan. Käytännössä tieto kuitenkin jätetään huomiotta. Useimmiten tätä tietoa käyttävät hakkerit etsiessään kiinnostavaa tietoa. Tässä kannattaa huomata, että vaikka tieto olisi ylemmällä tasolla kryptattu, ovat IP-pakettien otsikot selväkielisiä. Tämä tekee siis mahdolliseksi pakettien kaappaamisen ja mm. lähde- ja kohdeosoitteiden muuttelun. Myöskään Internetin kuljetuskerroksen protokollissa TCP:ssä ja UDP:ssa ei ole sisäänrakennettuja salausmekanismeja, joten kehysten muokkailu on mahdollista. Internetin kerrosrakenteessa kuljetuskerrosta ylempänä on vain sovelluskerros, jolle vastuu salauksesta jää.

Ei tilanne toki ihan niin paha ole kuin miltä se näyttää. Osa verkon kautta toimivista ohjelmista käyttää salausta, joka tekee Internetin käytön turvalliseksi. Ei kannata kuitenkaan olettaa mitään - jos salauksesta ei ole mainittu tuotteessa ei sitä varmastikaan myös tueta. Esimerkiksi Telnet-sovellus ei suojaa siirrettävää tietoa millään tavalla. Kun otat Telnet:illä yhteyden vieraaseen koneeseen Internetin yli on salasanasi monien ulottuvilla. Tämän vuoksi kannattaa etäyhteyksiin valita Suomalainen SSH, jossa yhteys on salattu. Samaten sähköposti ohjelmassa Pine:ssä ei oletusarvoisesti ole salausta, joten kirjeesi ovat Internetissä paljastettuina. Pine:ssä on kyllä joitain salausominaisuuksia, jotka pitää ottaa vain käyttöön.

On nähtävissä, että tulevaisuudessa yhä useammat ihmisten toiminnoista siirtyvät sähköisiksi. Verkkokauppa tekee tuloaan ja sähköiset pankkipalvelut ovat jo tätä päivää... Yhä tärkeämpiä asioita tulee liikkumaan Internetin kautta. Nykyiset Internetin protokollat eivät tue, kuten totesin edellisessä kappalessa, salausta. Kuitenkaan tietoturvaa ei voi jättää myöskään yksittäisen käyttäjän harteille: Kun Internet yleistyy Matti Meikäläisen työkaluksi, kaikilta käyttäjiltä ei voi odottaa samaa teknistä osaamista ja tietoutta kuin silloin kun Internet oli pienen pioneeriryhmän hanke. Samalla kun mahdollisten 'lampaiden' määrä kasvaa, kasvaa myös saalistajien määrä: yhä useammalla on mahdollisuus ja tarvittava tietotaito kuunnella verkon liikennettä. Samalla tietoliikennerikosten teko on tullut kannattavaksi. Kaikki edellinen johtaa siihen, että tulevaisuuden 'Internet maailma', maailma jossa kaikki hoituu sähköisesti, ei tule toteutumaan nykyisillä protokollilla. Tarvitaan uusia protokollia, jotka tukevat salausta ja tekevät sen käyttäjilleen näkymättömästi. Paketteja tulisi suojata jo verkkokerroksesta lähtien. Nyt ollaankin ottamassa käyttöön uutta IP-next-generation:ia, toiselta nimeltään IPv6:sta, joka tarjoaa mahdollisuuden Internet pakettien salaukseen.

Mitä IPv6 sitten tarjoaa? IPv6 tarjoaa mahdollisuuden Internet-pakettien autentikoimiseen ja salaukseen. IPv6:en salaus on symmetristä: sekä vastaanottajalla, että lähettäjällä tulee olla sama salainen avain hallussaan. Paketin autentikoinnissa lasketaan kryptografinen tarkastussumma salausavaimesta ja varsinaisesta paketista, matkalla muuttuvat tekijät nollattuna. Paketin autentikointi otsikosta löytyy tarkastussumma ja avain. Avaimen avulla vastaanottaja löytää salaisen avaimen. Vastaanottaja laskee samanlaisen tarkastussumman kuin alkupäässä, jos tarkastussumma on sama kuin otsikossa voi vastaanottaja olla varma, että pakettiin ei ole koskettu ja, että se on oikealta henkilöltä. Salaus suoritetaan 'Encrypted security payload'-otsakkeen avulla. Otsakkeesta löytyy viestin sisältö salattuna. Salaustapa on lähettäjän päätettävissä. Luonnollisestikaan paketista ei sitten ole salaamatonta viestiä.

IPv6:en salausominaisuudet ovat askel oikeaan suuntaan. Tarkastussumman laskeminen tekee IP-otsakkeen muuntelun vaikeaksi ja takaa datan muuttumattomuuden. Salausominaisuudella estetään tiedon joutumisen vääriin käsiin. Kuitenkaan IPv6:sen salausominaisuudet eivät tule olemaan kestävä ratkaisu. Se, että salausjärjestelmä on symmetrinen tekee salauksen soveltamisen suurille joukoille vaikeaksi: n:n ihmisen joukolle tarvitaan luokkaa n^2 salaista avaimien vaihtoa. Myöskään järjestelmä on varsin käyttäjäriippuvainen. Ehkäpä tulevaisuudessa tähän saadaan liitettyä, jokin PGP:n kaltainen sovellus, joka hoitelisi IP-kerrosten avaimien generoinnin asymmetrisen avaimen menetelmiä käyttäen.

Lähdeluettelo

[1] Cormack, A., Web Security, 12.10.1997 [viitattu 30.9.1999]
< http://www.jisc.ac.uk/acn/authent/cormack.html>
[2] SSH, Introduction to cryptography, UN [viitattu 30.9.1999]
< http://www.ssh.fi/tech/crypto/intro.html#cryptanalysis>
[3] Ellison, C., EFF DES Cracker Project, 22.1.1999 [viitattu 20.9.1999]
< http://www.eff.org/DESCracker/>
[4] Curtin, M., Snake Oil Warning Signs: Encryption Software to Avoid, 10.5.1998 [viitattu 20.9.1999]
< http://www.interhack.net/people/cmcurtin/snake-oil-faq.html>

Lisätietoja

[1] Ellison, C., Thoughts On "Key Escrow", 5.10.1996 [viitattu 20.9.1999]
< http://www.clark.net/pub/cme/html/ke.html>
[2] Zimmermann, P., PGP(tm) User's Guide, 11.10.1994 [viitattu 20.9.1999]
< http://www.tcm.hut.fi/Opinnot/Tik-110.350/Tehtavat/pgp/>
[3] ANON, Public Key Cryptography, 21.10.1993 [viitattu 20.9.1999]
< http://stasi.bradley.edu/privacy/public_key_crypto.html>
[4] Mosquera, M., Encrytion crucial to human rigths groups, 25.5.1999 [viitattu 20.9.1999]
< http://www.techweb.com/wire/story/TWB19990525S0013;
[5] Litterio, F., The mathematical guts of RSA encryption, NA [viitattu 20.9.1999]
< http://world.std.com/~franl/crypto/rsa-guts.html;
[6] Mindshare design., Security and encryption on the web, 25.2.1998 [viitattu 20.9.1999]
< http://www.mindshared.com/msd/encrypt.html;
[7] Litterio, F., Cryptography: the study of encryption, NA [viitattu 20.9.1999]
< http://world.std.com/~franl/crypto/cryptography.html;
[8] Malick, J., For consumers, the justice department shuold settle with mikrosoft, 1.3.1999 [viitattu 20.9.1999]
< http://www.pacificresearch.org/issues/tech/9904microsoft.html;
[9] Ellis, J., The Story of nonsecret encryption, 16.12.1996 [viitattu 20.9.1999]
< http://jya.com/ellisdoc.htm;
[10] AP, News Report: Flaw Found in Wiretapt, 1.6.1994 [viitattu 20.9.1999]
< http://cec.wustl.edu/~cs142/articles/ENCRYPTION/flaw_found_in_wiretap--ap;
[11] May, T., The code of the future, 7.6.1993 [viitattu 20.9.1999]
< http://cec.wustl.edu/~cs142/articles/ENCRYPTION/code_of_the_future--newsweek;
[12] Cerny, D., Key Elements of Germany's Encryption Policy , 7.6.1999 [viitattu 20.9.1999]
< http://jya.com/de-crypto-all.htm;
[13] Puzzanera, J., Encryption dealt a blow, 9.7.1998 [viitattu 20.9.1999]
< http://www.mercurycenter.com/business/center/encrypt0910.htm;

Perustelut

[1] -Kertoo "key escrow":sta ja sen taustoista mielenkiintoisesti. Kirjoittaja olettaa, että lukija tietää melkoisesti.
[2] -Perusteellinen opas PGP:hen. Kertoo salauksesta yleisemminkin.
[3] -Selkeä "palikka"-ohje PKC:hen. Tarjoaa linkkejä syvemmälle.
[4] -Kiinnostava artikkeli salauksen tärkeydestä ihmisoikeusaktivisteille
[5] -RSA-salausalgoritmin matemaattinen tausta. Täyttä asiaa.
[6] -Johdanto salaukseen webissä. Keskittyy RSA-menetelmään.
[7] -Hyvä salaukseen liittyvä linkkikokoelma
[8 ] -Artikkeli siitä, miten salausta pyritään rajoittamaan, ja mitä haittaa käyttäjille on tästä.
[9 ] -Julkisen avaimen salausmenetelmä alkuvaiheita ja kehitystä. Kiinnostava.
[10] -Mikään salaus ei ole täysin turvallista...
[11] -Miksi salaumenetelmät eivät ole vapaassa käytössä. Artikkeli on yli 5 vuotta vanha, mutta silti ajankohtainen.
[12] -Miten salaus on järjestetty Saksassa. Höm.
[13] -Kertoo Usa:n hallituksen asettamista rajoituksista salaus- softalle. Kehitystä ei kahlitse ainoastaan raudan rajoitukset.