Üldiselt on enamik inimesi kuulnud, et internetis varitsevad erinevad ohud, mille eest peab oskama ennast kaitsta. Kahjuks on suuremale osale siiski ebaselge, mis ohud need on ja millised on parimad viisid enda kaitsmiseks. Näiteks hoolimata sellest, et keskmine inimene mõistab turvalise parooli vajadust ja funktsiooni, olid aastal 2015 siiski kõige enim levinud paroolid „123456“ ning „password“. Ka ülejäänud populaarsetest paroolidest ei vasta ükski üldiselt aktsepteeritud turvalise parooli omadustele.
Kuigi kasutajad on tõrksad muutma oma turvaharjumusi internetis ja nutiseadmetes, on selge, et riskid nende ümber muutuvad aina suuremaks. Maailmas, kus delikaatsed eraandmed nagu haiguslugu, pangas olev raha ja valimistel antud hääl liiguvad läbi võrgukanalite, on turvaspetsialistide töö aina vajalikum ja keerukam.
Krüpteerimine
Tänapäeval kasutatakse internetis turvalisuse tagamiseks peamiselt kahte vahendit: andmete krüpteerimine (encryption) ja räsimine (hashing). Mõnes mõttes on mõlemad meetodid sarnased – eesmärk on muuta info valedele inimestele arusaamatuks. Vahe on aga selles, et krüpteeritud andmete puhul on võimalik krüpteerimisalgoritmi kasutades arusaamatu info tagasi algseks saada. Räsitud andmeid enam algsele kujule taastada ei saa.
Krüpteerimist jagatakse sümmeetriliseks ja asümmeetriliseks. Andmed muutuvad sarnaselt võõrastele loetamatuks kuid sümmeetrilise krüpteerimise puhul salastatakse ning avatakse andmed ühe ja sama salajase võtmega. Asümeetrilise krüpteerimise puhul on olemas avalik võti, mis on kõigile kätte saadav ja salajane võti, mis on olemas vaid ühel osapoolel. Nii saavad dokumendi sulgeda mitu inimest ja avada vaid üks või vastupidi.
Asümmeetrilise krüpteerimise hea näide on digiallkiri. Sellisel juhul saavad salajase võtmega krüpteeritud andmeid avada kõik, kellel on sellele sobiv avalik võti. Nii võivad nad kindlad olla, et need andmed on just sellelt inimeselt, kelle salajase võtmega on tegu. Teised neid andmeid krüpteerida poleks saanud.
Räsimine
Kui krüpteerimine on kasulik tundlike andmete liigutamiseks erinevate osapoolte vahel, näiteks panga ja kliendi vahelisel suhtlusel, siis veebis mängib turvalisusel olulist rolli ka räsimine. Sarnaselt krüpteerimisele töödeldakse ka sellel juhul andmeid erinevate matemaatiliste funktsioonide abil.
Räsialgoritmide puhul ei ole vahet, kui suur on esialgne andmehulk. Räsimine tagab alati ühepikkuse andmejada, mis sõltub algoritmist. Võib öelda, et räsi on justkui esialgsete andmete digitaalne sõrmejälg ja see teeb räsid väga oluliseks paroolide salvestamisel.
Kui olete mõne veebisaidiga liitudes valinud omale sobiva kasutajanime ja parooli, peab veebileht need kuidagi meelde jätma. Vaja on ka teada, et just need kasutajanimi ja salasõna käivad omavahel kokku ning kuuluvad ühele kasutajale. Selleks peab need andmed kuskil serveris talletama.
Lihtsalt teksti kujul või Exceli tabelina on paroole väga halb talletada, kuna keegi võib serverisse sisse murda ja kõikide kasutajate paroolid varastada. Kui sinna kõrvale on talletatud ka kasutaja e-mail (nagu tihti juhtub), on kurjategijal võimalus samu andmeid ka teistel veebisaitidel proovida ja sedasi palju halba korda saata.
Ka krüpteerimine ei aita alati. Kui kurjategijal õnnestub koos salastatud paroolitabeliga varastada ka krüpteerimiseks kasutatav võti, mis on enamasti samas serveris, saab ta paroolitabeli probleemideta avada.
Siinkohal tulebki appi räsimine.
Veebilehtvõtabesialgse parooli, näiteks "salasõna" ja talletabselle hoopis räsina. SHA-1 räsialgoritmi puhul tekiks "salasõna" asemele"e75421f246b5aed91cb9c569feec163dac2cc90a". Kui kurjategija varastab selle andmejupi, siis sinu algset parooli ta sellest enam tagasi arvutada ei saa.
Tundub, et kõik on läbi mõeldud, milles siis häda?
Kuigi krüptograafia ja räsimine on turvalisemad lahendused, kui mitte millegi kasutamine, on neil mitmeid puudujääke, mis need haavatavaks muudavad. Lisaks suureneb aastast aastasse ka kurjategijate võimekus.
Kasvav arvutusvõimsus tähendab seda, et algoritmid, mis kunagi olid turvalised, on praeguseks juba murtud. 1977 aastal välja arendatud DES (Data Encryption Standard) krüpteerimisalgoritmi murdmiseks kulus 1999. aastal 84 päeva. Vaid kaks aastat hiljem suudeti seda teha juba 22 tunni ja 15 minutiga. On selge, et DES-i ei soovitata tänapäeval enam kasutada. Aastal 2000 arendatud AES (Advanced Encryption Standard) on hetkel veel küllaltki turvaline aga ka selle murdumine on vaid aja küsimus.
Probleeme on ka räsidega. Enamlevinud räsialgoritmid arendati välja selleks, et kontrollida failide puutumatust.Kui kopeerida fail ühest kohast teise, saab võrrelda algse ja kopeeritud faili räsi. Kui need on samad, toimus kopeerimine edukalt. Kuna see ei tohi ka suurte failide puhul kasutaja jaoks liiga palju aega võtta, on need algoritmid pigem lihtsamad ja kiired ning seetõttu küllaltki kehvad paroolide jaoks.
Räside kokkupõrge
Räsidel on ka kollisiooni probleem. Teoreetiliselt on võimalik, et üksja sama räsi tekibmitmest erinevast andmejupist. Kui keegi saab kätte paroolide räsid, võib ta arvutada välja mingi muu andmehulga, millel on täpselt sama räsi ja sellega võõrale kontole sisse pääseda. Olenevalt sellest, kui matemaatiliselt keerukasalgoritm on, võib see võtta küll palju arvutusvõimsust, ent isegi kodukasutajatele kättesaadavad süsteemid võimaldavad lihtsamaid algoritme väga kiirelt toore jõuga murda.
Tihti pole räside puhul arvutamisvõimsust aga üldse vaja. Ühele sõnale või andmejupile vastab ühe konkreetse algoritmi piires alati üks ja samaräsi – kui avalikuks saab räsi, siis ka esialgne andmejupp.
Nii on enamlevinud algoritmide põhjalloodud terved andmebaasid, nn vikerkaaretabelid (rainbow tables), millest on mitmetele räsidele vastavad salasõnad kergesti leitavad. Vahel piisab isegi räsi Google’isse kirjutamisest, et salasõna teada saada. See on eriti tõsi MD5 räsialgoritmi puhul, mille kasutamist turvafunktsioonides tänapäeval ei soovitata.
Soolamine ja pipardamine
Selliste olukordade vältimiseks kasutatakse räsimisel erinevaid meetmeidnagu "soolamine" ja "pipardamine", kus lisatakse paroolile enne räsimist veel üks või kaks juhusliku andmejada, mida hoiustatakse vahel eri kohtades. Ka on võimalik serveris seadistada aega, mis räsimiseks kulub. Näiteks nõudes, et räsimine peab võtma 10 millisekundit, toimub kõik tavakasutajale piisavalt kiiresti. Ründajale, kes proovib läbi triljoneid räsisid, teeb see kogu protsessi aga lootusetult aeglaseks.
Olenevalt sellest, kui head algoritmi räsimisel kasutatakse, tagavad need võtted enamasti piisava turvalisuse. Vähemalt täna.
Kvantarvutite mõju turvalisusele
Tulevikus on asjad keerukamad. Lisaks sellele, et üldsusele kättesaadavate arvutite võimsus kasvab, saab tõenäoliselt probleemiks ka kvantarvutite areng. Kvantarvutite suur potentsiaal peitub nendes kasutatavates kvantmehhaanika nähtustes nagu superpositsiooni printsiip, mis võimaldab nendel teha paralleelselt meeletu hulga erinevaid arvutusi.
Kuna tänapäeva krüptograafia põhineb peamiselt keerukatel matemaatilistel algoritmidel, pole kvantarvutitele eriliseks probleemiks proovida läbi hoomamatu hulk erinevaid variante ja krüptograafia ning paroolid lihtsalt toore jõuga lahti murda.
Kuigi teadlased töötavad hetkel erinevate teoreetiliste kvantarvutite kallal, pole ühtegi reaalselt ja efektiivselt töötavat arvutit veel valmis ehitatud. Sellest hoolimata valmistuvad küberturbega tegelevad spetsialistid nendeks juba täna. Järgmise generatsiooni krüptograafiaalgoritmide seas on ka mõned, mis on kvantarvutitele resistentsed. Vähemalt teoorias. Nendeks on näiteks AES krüpteerimisalgoritmi edasiarendus AES-CBC ja matemaatiliselt keerukad räsialgoritmid nagu SHA-384 ning SHA-512.
Biomeetrilised lahendused
Turvalisusega on ka mitmeid inimlikke probleeme. Igale veebisaidile erinevat parooli välja mõelda ja meelde jätta on keeruline. Võib kasutada erinevaid parooli haldamise tarkvarasid, ent need ei ole väga levinud ja on nii turvalised, kui turvaline on parool. Et paroolide hulka vähendada, liigutakse aina rohkem biomeetriliste lahenduste poole, mis võimaldavad parooli asemel kasutada mõnda kasutaja füüsilist tunnust, näiteks sõrmejälge või silma võrkkesta.
Sõrmejäljelugejad olid sülearvutitel levinud juba enam kui kümne aasta eest ja on hiljuti hakanud levima ka erinevatel modernsetel nutiseadmetel saades pidevalt funktsionaalsust juurde. Microsoft ja Samsung on katsetanud ka silma võrkkesta skänneritega.
https://youtube.com/watch?v=1AsoSnOmhvU
Microsoft on läinud lausa nii kaugele, et on Windows 10 sisse ehitanud Windows Hello ja Microsoft Passport tehnoloogiad, mis peaksid tulevikus võimaldama turvalist biomeetrilist identifitseerimist võimalikult paljudes olukordades. Praegu saab seda aga peamiselt vaid arvuti avamiseks kasutada.
Nõrgim lüli on ikkagi inimene
Turvalisuse tagamine nutiseadmeteson tasakaalumäng. Kui selle paigaldamine ja kasutamine muutub liiga aeglaseks ja ebamugavaks, ei kasuta seda keegi. Kui see on aga liiga lihtne, leitakse viise sellest mööda pääsemiseks.
Turvaeksperdid ja interneti teenustepakkujad saavad teha palju, et meie kõigi elu internetis ohutum oleks. Hoides end kursis turvamaailmas toimuvate arengutega, uuendades serverites olevat tarkvara, kasutades turvaliseks peetavaid meetodeid kasutajate andmete haldamiseks ja liigutamiseks ning harides oma kasutajaid, saavad nad vähemalt enda poolt pakutavaid teenuseid turvata.
Inimesed on aga alati inimesed – puudustega. Alati ei ole raha või aega, et keerukaid turvalahendusi oma teenusele külge pookida. Vahel puuduvad vajalikud teadmised. Vahel antakse kuritegelike eesmärkidega inimestele tundlik info aga hoopis telefoni teel ilusa küsimise peale kätte. Kõiki neid puudusi püüab keegi kuskil ära kasutada.
Suur osa turvalisuse heaks tehtavast arengust ei ole puhtalt tehnoloogiline. Oluline osa on kasutajate ja arendajate käitumise muutmisel ning harimisel. Süsteem saab olla ainult nii turvaline, kui on selle nõrgim lüli ja enamasti on selleks inimene.
Indrek Haav panustas selle loo valmimisse.
Foto:Yuri Samoilov/Flickr