Räsist ja räsimisest

Anto Veldre, RIA analüütik

rsz_anto_hash

Allikas: erakogu

Eesti ühiskond on maailmale teinud huvitava teene. Kui varemalt oli krüptograafia (teisisõnu: salakiri) enamkaolt kasutusel käsuahelate turvamiseks (Command’n’Control) valitsustes ja sõjavägedes, siis meil käib tädi Maali ringi, kiipkaart taskus.

Selle muudatuse tagajärjed juba paistavad – omaealiste juhuslikult tekkivates vestlusringides, kus varem arutati naabrite tervist ja pere-elu, tõusevad nüüd jutuks hoopis akadeemilisemad teemad nagu “digi-“, “küber-“, “algoritm”, “moodul”, “räsi” ja muud säärast. Sõnaga, meie tädi Maali ja onu Valdek on digilõhest (kenasti) üle saanud ja muudkui räsivad.

Räsi on põline eestikeelne sõna. Kui võtta kolikambrist mõni tarbetu raamat, näiteks “NLKP XXV kongressi materjalid” ning anda see oma koerale toimetamiseks, siis väljundisse tekib hulk (mõttetuid) paberiribasid. See, mis järel raamatulehtedest, moodustab nüüd paraja pusa, kust pole enam võimalik esialgset sisu taastada. Vahel juhtub, et tuul räsib ära viljapõllu – talumees sealt siis enam saaki ei saa.

paper-shredder-free-vector

Allikas: http://www.dailyfreepsd.com/wp-content/uploads/2013/06/paper-shredder-free-vector.png

Veel paremini hakib paberilehti paberipurustaja. Hea kvaliteediga paberipurustaja räsib paberit alul pikuti ja siis risti, nii et tekivad lühikesed ribad, igaühe peal umbes viis tähte. Töö on kindlasti koera tehtavast kvaliteetsem, algse teksti taastamine on (küllalt) võimatu.

Räsimisel on kübermaailmas oluline tähtsus – võib öelda, et räsi (inglise keeles hash) on digitaalne sõrmejälg, mis on matemaatiliselt tuletatud allkirjastatava dokumendi bitijadast. Kuid e-räsimisel on koera räsimisega võrreldes üks (tähtis) erinevus – kui räsida üht ja sama dokumenti mitu korda järjest (bitid kopeeruvad ju vigadeta), siis igal räsimisel saadakse ühesugune tulemus.

Räside kasutamisest: näiteks pole kuigi tark hoida serveris paroole (sest keegi võib need sealt ära varastada). Samas, server peab ju teadma, kas siseneva isiku parool on õige – muidu ei saaks otsustada, keda sisse lubada ja keda mitte. Selles olukorras tuleb appi räsi. Räsimine tähendab ühesuunalist tehet, kus samast sõnast (paroolist, dokumendist) moodustub alati ühesugune räsi, kuid teistpidi tegevus on võimatu – räsist pole võimalik tuletada algset sõnumit.

Nii näiteks, kui minu parool on “qwerty” ning see lasta räsimiseks läbi e-koera, siis moodustuv räsi näeb välja selline: “d8578edf8458ce06fbc5bb76a58c5ca4“. Kui nüüd mõni küberkurjategija serverist selle räsijupi pihta paneb, siis ei õnnestu tal algset parooli tagasi tuletada. Sama nipiga räsitakse e-dokumente – sel juhul on algne dokument räsist oluliselt pikem. Seega hoiab sõrmejälg tõestamisel (kõvasti) salvestusruumi kokku.

Räside põhimure – teoreetiliselt võib kusagil looduses leiduda mingi tekstijupp, mida räsides saadakse täpselt samasugune räsi nagu on minu paroolil. Matemaatikud teavad, et säärased “kloonid” on tegelikult olemas ja  neid nimetatakse kollisioonideks. Isik, kes saab kätte minu parooli räsi ning kel on tagatoas tohutu arvutipark, võib lõpuks välja leiutada mingi hoopis teise sõna, fraasi või dokumendi, mille räsi aga langeb täpselt kokku minu parooli räsiga ja seejärel proovida esineda serverile minuna. Kloonide leiutamine on raske – selleks on vaja tohutut arvutusvõimsust.

2000px-Rainbow_table1.svg

Allikas: https://commons.wikimedia.org/wiki/File:Rainbow_table1.svg

Kui räsi on liiga lühike, siis võib kõik variandid ammendavalt läbi proovida ning teha neist tabeli, nn vikerkaaretabeli (Rainbow Tables). Nii näiteks teab meie galaktikas iga koer, et räsile “d8578edf8458ce06fbc5bb76a58c5ca4” vastab parool “qwerty”. See on ühtlasi põhjus, miks paroolide puhul tarvitatakse mingigi turvalisuse tagamiseks mõningaid lisatrikke – näiteks soolamist.

Räsialgoritme on erinevaid. Siit aga jõuame peamise juurde – millised tuntud  räsialgoritmidest on täna ja praegu turvalised (mittemurtavad) ja millised enam mitte? RIA tellitud ning AS Cybernetica kirjutatud krüptouuringust (“Krüptograafiliste algoritmide kasutusvaldkondade ja elutsükli uuring“) selgub, et MD5, mida me oma paroolinäites kasutasime, pole tegelikult enam ammu turvaline. SHA-1 on seni kasutusel, kuid turvameeste näod on juba murelikud – päris varsti muutub murdmine (ja kollisiooni moodustamine) liiga lihtsaks. Seevastu SHA2 perekonna algoritmid (ehk siis need, mille number algab kahega – SHA224, SHA256) on täna piisavalt turvalised. SHA512 on täna nii ülearu turvaline, et kokkuhoiu mõttes teda eriti veel ei kasutatagi.

Kokkuvõttes ei pääse me räsist e-riigis ei üle ega ümber. Räsisid kasutatakse nii digiallkirjastamisel kui isikule ID-kaardi sisse sertifikaatide genereerimisel. Digiallkirjastatud dokumendi puhul tähendaks kollisiooni avastamine, et keegi teine marsib uksest sisse dokumendiga, millel on sama räsi, kuid teistsugune sisu. Sertifikaadi puhul tähendaks kollisioon võimalust teise isiku nimel andmetele ligi saada.  Tuleb aru saada ka sellest, et “lihtsalt kollisioon” ei tähenda veel õiges formaadis ega mõistliku sisuga dokumenti. Säärane hüperkollisioon, mis säilitaks ka algse dokumendi väljanägemise, oleks oluliselt võimatum kui superarvutiga leiutatud “lihtkollisioon”. E-riigi käigushoidmiseks tuleb algoritme seega uuendada kiiremini kui pätid neid murdma õpivad.

Praktika mõttes moodustame nüüd räsi sellestsamast krüptouuringu dokumendist. Erinevate räsialgoritmide puhul oleksid tulemused umbes säärased:

midapikem

Täiesti arusaadavalt: mida pikem räsi, seda keerulisem on tagatoas arvutiga kloone leida, järelikult turvalisem. Kuivõrd arvutid muutuvad üha kiiremaks ja programmid targemaks, siis muutub ammendav läbiproovimine üha odavamaks. See ongi põhjuseks, miks vanemad krüptoalgoritmid (räsialgoritmid sealhulgas) osutuvad ühel heal (või pigem halval) päeval murtavateks ning nad tuleb välja vahetada uute – pikemate ja keerukamate vastu.

3 thoughts on “Räsist ja räsimisest

  1. Puuga pähe

    Ja meie kullakallis Riigikogu tormab pea ees 10-aastaste dokumentide rada mööda. “Julgelt edasi! Teie Sussanin.” Kellelegi ei mahu ajudesse, mis saab siis, kui mat analüüs liiga kiiresti arenema hakkab ja teatav protsent riigieelarvest tuleb järsku ID-kaartide väljavahetamiseks kulutada.

    Reply
  2. Ahto Truu

    > SHA2 perekonna algoritmid (ehk siis need, mille number algab kahega – SHA224, SHA256)

    See väide on küll natuke eksitav. Nende algoritmide täpsed nimed on SHA-2-224 ja SHA-2-256 ja sellisel kujul tähistab esimene 2 tõesti SHA põlvkonda. Samas lõigus järgmisena nimetatud SHA512 pole teps mitte viienda põlvkonna algoritm, nagu selle jutu põhjal arvata võiks, vaid täisnimega SHA-2-512 ja seega ikka veel teise põlvkonna kraam. Tegelikud kolmanda põlvkonna algoritmid on näiteks SHA-3-256 ja SHA-3-512 ning neljandat-viiendat SHA põlvkonda veel olemas ei olegi.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *