Edward Snowden totesi kaksi vuotta sitten, että käyttäjien kannattaa luottaa ainoastaan hyvin toteutettuihin vahvoihin salausmenetelmiin. Vahva salaus tarkoittaa, ettei salattua viestiä tai tiedostoa ole onnistuttu varmuudella murtamaan ulkopuolisen toimesta.
Alan tutkijana väitän, että jokainen salausalgoritmi pystytään murtamaan –
mutta se edellyttää joko suurta laskentatehoa, loputtomasti aikaa tai sitten erityistietoa, jonka avulla salaus avautuu huomattavasti lyhyemmässä ajassa kuin mitä algoritmin suunnittelija on ajatellut. Salakirjoituksen vahvuuteen vaikuttaa salausavaimen pituus ja käytetty algoritmi. Jos avaimen pituus on esimerkiksi 128-bittiä, niin avainvaihtoehtojen lukumäärä on 3.4×1038 kappaletta. Maailman tehokkaimmalta supertietokoneelta menisi näiden kaikkien avaimien kokeiluun tuhat kertaa enemmän aikaa kuin maapallomme on ollut olemassa.
Kryptoanalyysi on tieteenala, joka pyrkii kehittämään keinoja salakirjoituksen avaamiseksi. Tunnettuja ja paljon käytettyjä matemaattisia kryptoanalyysin menetelmiä ovat muun muassa differentiaalinen kryptoanalyysi, frekvenssianalyysi ja toisistaan riippuvien avainten menetelmät. Ongelmallista näissä menetelmissä on se, että murtomenetelmät edellyttävät etukäteislaskentaa tai niin suurta muistin määrää, että nykytietokoneiden kapasiteetti ylittyy. Näiden menetelmien avulla voidaan murtoaikaa lyhentää merkittävästi, mutta siitä huolimatta supertietokoneelta kuluisi vieläkin 128-bittisen salauksen avaamiseen vuosikymmeniä.
Eräs kryptoanalyysin uusin menetelmä on niin sanottu sivukanavahyökkäys, jossa hyökkääjä hyödyntää algoritmin toteutukseen liittyviä heikkouksia saaden tietoa, jonka avulla hän voi tehdä valistuneita arvauksia mahdollisista salausavaimista. Tyypillinen sivukanavahyökkäys on seurata salauspiirin tehonkulutusta. Onkin osoitettu, että tehonkulutuksen seurannalla jopa vahvana pidetty 128-bittinen AES-salaus voidaan murtaa tunneissa.
Pelkästään tämän tiedon perusteella voimme todeta, ettei internet-liikenteessä yleisesti käytettyä 128-bittistä AES-salausta voida pitää enää vahvana. Toisena menetelmänä voidaan mainita esimerkiksi keskusmuistin jäädyttäminen, jolloin muistissa olevan poispyyhkiytyvän tiedon häviämisaika kasvaa merkittävästi. Tällöin hyökkääjä voi vaikkapa siirtää muistin toiseen koneeseen kopioidakseen salausavaimen muistijäljen itselleen.
Snowden viittaa myös hyvään toteutukseen omassa lausunnossaan. Salausalgoritmi edellyttää salausavainten muodostamisen osalta täydellistä satunnaisuutta. On jo kauan tiedetty etteivät tietokoneiden satunnaislukufunktion tuottamat satunnaisluvut ole luonnostaan satunnaisia, ja täten kryptoanalyysissä voidaan keskittyä tarkastelemaan todennäköisimpiä avainvaihtoehtoja. On myös osoitettu, että salaustuotteissa käytetyt laadukkaat satunnaislukugeneraattorit sisältävät takaovia, joiden avulla voidaan ennustaa generaattorin tuottamia satunnaislukuja. Jos tuote hyödyntää yllä mainitun tyyppistä heikkoa toteutusta salausavainten muodostamisessa, niin silloin Snowdenin esittämä hyvä toteutusvaatimus ei täyty. Valitettavan usein avainten muodostamistapaa ei ole riittävästi huomioitu ohjelmistototeutuksissa, esimerkiksi Android 4.0.4 –toteutuksessa pre-master-secret -arvo on suurella todennäköisyydellä arvattavissa minuuteissa. Kun hyökkääjä tietää kyseisen arvon ja salakuuntelee päätelaitteen viestintää kännykän käynnistyksen yhteydessä, niin hän voi päätellä tämän tiedon perusteella varsinaisen salausavaimen, ja murtaa salauksen minuuteissa.
Viime vuonna tutkijat osoittivat sivukanavahyökkäyksien tehon pystyen murtamaan vahvana salauksena pidetyn 4096-bittisen julkisen avaimen Rivest-Shamir-Adleman (RSA) –menetelmän äänianalyysin avulla. RSA-menetelmää käytetään muun muassa varsinaisten tietoliikenteen salausavainten välityksessä kahden osapuolen välillä. Käyttäen suuntaavaa mikrofonia tutkijat pystyivät avaamaan GnuPG-toteutusratkaisun tuottaman salauksen minuuteissa 4 metrin etäisyydeltä. Tällöin he yksinkertaisesti pystyivät nappaamaan avaimen viestistä ja avaamaan salakirjoitetun viestin.
Ovatko Snowdenin vaatimukset siis kohtuuttomia?
Kyllä ja ei. Tiedämme hyvin kryptoanalyysin mahdollisuudet, ja siten voimme edellyttää vahvalta salausalgoritmilta avaimenpituutta, joka ylittää tietokoneiden laskentakapasiteetin. Salausalgoritmien toteutuksen osalta voimme huomioida tunnetut hyökkäysmenetelmät, ja suojata piiri monilta sivukanavahyökkäyksiltä. Algoritmien toteutuksen osalta emme kuitenkaan pysty tunnistamaan kaikkia mahdollisia ratkaisuja tai tahallisesti toteutuksiin lisättyjä takaovia ennen kuin joku kertoo niistä.
Jokaisen toimijan kuuluisi noudattaa eettisesti kestäviä ja hyviä pelisääntöjä. On kuitenkin todistettu, että jotkut toimijatahot ovat löytäneet haavoittuvuuksia algoritmien toteutuksista, mutta ovat pitäneet tiedon itsellään. Tällainen salailu ylläpitää jatkuvaa pelkoa siitä, että joku tietää oikopolun ja voi täten murtaa vahvana pidetyn salausalgoritmin hetkessä.
Pekka Loula, professori, TTY
Kirjoittaja on TTY Porin laitoksen tietoliikennetekniikan professori, jonka erikoisosaamisalaa ovat tietoliikenne ja tietoturva.