ID-kaardi hädad ei kujuta e-valimiste tulemustele riski, kirjutab Tallinna Tehnikaülikooli võrgutarkvara professor Tanel Tammet.
Tanel Tammet: ID-kaart ning e-riigi bioloogia (3)
Paar nädalat tagasi lahvatanud ID-kaardi ehmatust saab lugeda nii negatiivses kui ka positiivses võtmes: meil lihtsalt ei lasta jääda omaenda loorberitele puhkama. E-riik ei saa kunagi valmis ja Ülemiste vanake ehk ei uputagi Tallinna ära.
Kaardiprobleemi tehnilist sisu on üldjoontes lihtne mõista: leiti matemaatilised nõksud, millega salajase parooli äraarvamine osutus lihtsamaks, kui see oleks pidanud olema.
Kaardi mälus on pikk salajane parool ehk võti, mille abil saab kaardiga sisse logida ja digiallkirja anda. Sina ei näe seda parooli kunagi: sinu sisestatav PIN on vajalik ainult selleks, et kaart oleks nõus salajast parooli oma kõhus kasutama. Kaardist välja parool ei jõua ning kui keegi peaks oskama selle salaparooli ära arvata, saab ta sinu asemel veebis sisse logida ja allkirju anda, mingit kaarti ja PINi polegi vaja.
Pane tähele, et kas sa ise oma kaarti kasutad või hoiad lugejas, ei ole siin üldse oluline. Oht ei ole mitte ID-kaardi kasutamises, vaid selle olemasolus. Kui kardad oma ID-kaardi pärast, on ainus võimalus helistada numbrile 1777 ja paluda oma kaart e-toiminguteks üldse sulgeda, aga mina seda veel ei soovitaks.
Paroolide äraarvamise mure on salakirjateaduses absoluutne klassika: see on üks olulisemaid asju, millega krüptograafid on aegade algusest tegelenud. Selliseid paroole mõeldakse tüüpiliselt välja juhuslike arvude generaatoritega. Probleem tekib, kui juhuslik genereerimine ei olegi päris juhuslik, vaid seal on kogemata käigus mingi muster, mis teeb tegelike variantide arvu tohutult palju väiksemaks, kui peaks olema.
Kui lihtsaks ID-kaardi sisemise parooli äraarvamine sai, ei ole veel avalikult teada, ent jääb mulje, et äraarvamiseks tuleb väga palju paroolivariante läbi katsetada, mis nõuab hulga arvutusvõimsust, aega ja elektrit. Sestap ei ole karta, et keegi jaksaks suure hulga kaartide paroole tegelikult ära arvata, küll aga on reaalne kulutada kõvasti raha ja arvata ära mõne üksiku kaardi paroolid. Miks mitte peaministri, presidendi ja kapo juhi paroolid.
Avalikult on välja öeldud, et ühe parooli äraarvamiseks võiks kuluda keskmiselt umbes 40 000 eurot. Paraku me ei tea, mida see arv sisaldab, kas arvutiprotsessorite koguhinda, millega jõuaks rehkendused näiteks ühe päeva jooksul teha, või nende rendihinda või elektrikulu. Maailmas on palju suuri arvutusfarme bitcoin’ide rehkendamiseks ning kui mõni selline farm panna paroolirehkendusi tegema, mis oleks ühe parooli kulu elektris ja kaevamata jäänud bitcoin’ides? Eesti küberametkonnad kinnitavad, et praeguseni ei ole teada ühtegi võltsimise juhtu ning selleks vajalik teadmine ei ole samuti levinud väljapoole väga kitsast inimesteringi.
Oletame, et keegi murrab sinu ID-kaardi parooli lahti ja digiallkirjastab lepingu, millega müüd oma vara võileivahinna eest ära. Kas selline leping kehtib? Põhimõtteliselt samamoodi, aga mitte rohkem kui paberleping võltsitud pastakaallkirjaga. Või leping, mida sind sunniti allkirjastama püstoliga ähvardades. Vaidluse korral otsustab asja nii või teisiti kohus ning seal võetakse juba arvesse paljusid asjaolusid.
Reaalsem oht seisneb ehk konfidentsiaalsele infole ligipääsu tekkimises võltsitud parooliga: seda enam tagasi ei keera. Ilmselt seepärast on mitu riigiasutust juba käivitanud kampaania kasutada ametkondlikult mobiil-ID-d.
Praegune ID-kaardi mure lahendatakse paari kuu jooksul ära. Riigi infosüsteemide amet on kinnitanud, et nad teavad, mismoodi saab ID-kaardi tarkvara uuendada, nii et salaparoole genereeritaks edaspidi piisavalt juhuslikult. Tõenäoliselt peame veel sel aastal laadima oma arvutisse uue ID-kaardi tarkvara installeri, mis teeb ära uuendused ja loob uued paroolid. Selliseid uuendusi on ka varem tehtud: viimase poolteise aasta jooksul uuendati umbes 350 000 kaarti, jälle selleks, et need klapiksid vahepeal uuenenud nõuetega.
Kui võrrelda infotehnoloogiat teiste suurte valdkondadega, sarnaneb see kõige rohkem bioloogiaga. Tarkvara ei ehitata nullist, vaid see areneb olemasolevate tarkvarade muteerumise ja kombineerimise teel pigem evolutsiooniliselt. Tarkvara elab organisatsioonide, inimeste ja teiste tarkvarade ökosüsteemis à la e-Gaia, kus tarkvarakomponentide protsent kasvab pidevalt ning inimeste protsent vastavalt langeb.
Süsteemid on nii keerulised, et keegi ei saa ühegi süsteemi kõigist nüanssidest tervikuna aru ning ei turvalisus ega korrektsus ole kunagi päriselt tagatud. Me ei saa kunagi olla päris kindlad, et NSA või teiste suurriikide IT-luureasutused ei tunne muid, nende jaoks efektiivseid ründevõimalusi. Aga ei peagi päris kindlad olema: kui ökosüsteem tervikuna on tugev, siis mõne tarkvaraliigi probleemid ei murra kogu kooslust.
ID-kaardi parandusoperatsioonis on samuti hõivatud suur ring inimesi eri ettevõtetest ja ülikoolidest: see ei ole asi, mida tasuks suunata allhankena ühele tegijale.
Bioloogia valguses on tarkvarasüsteemide jätkusuutlikkuseks kaks kriitilist asjaolu: mitmekesisus ja evolutsiooni soodustamine. Sama kehtib ka ID-kaardi, e-valimiste, e-riigi, e-mistahes kohta. On väga hea, et meil on peale ID-kaardi ka mobiil-ID, mis kasutab veidi teistsuguseid põhimõtteid, ning viimase uuem edasiarendus smart-ID. Viimane on juba kasutatav sisselogimiseks ning järgmise aasta algul peaks see muutuma ametlikult kehtivaks ka digiallkirjade jaoks.
ID-kaardi mure ajastus täpselt lähenevateks e-valimisteks, kuid praeguse info valguses ei too see kaasa reaalset riski valimistele. Teoreetiliselt võimalikud üksikud võltshääled ei mõjuta tulemusi: valimistel loevad ainult suured arvud.
Kokkulugemisvead on igapäevane nähtus kõigil pabervalimistel, sestap ka sagedased ümberlugemised, millest on kuulda olnud USA valimistel ning mida on Eestiski harrastatud. Valimiste mõjutamiseks oleks vaja väga palju võltshääli ja kui neid suudetaks ka genereerida, tuleks selline tegevus varsti välja, ning halvima stsenaariumi korral tuleks siis e-valimised tühistada ning paluda valimispäeval üle hääletada.
Kes tahab valimistulemusi varjatult mõjutada, peaks pigem ründama valimiste kesksüsteemi. Hästi positiivse aspektina ei ole meie e-valimiste süsteemi tehnoloogia seisma jäänud, vaid sellest sügisest on kasutuses päris uus tarkvara, mis võimaldab eri osalistel häälte kokkulugemist sõltumatult kontrollida. Uue tarkvara autor on nagu varasematelgi aastatel aktsiaselts Cybernetica.
Selle tarkvaraga seoses on tekkinud lootus meie e-valimiste tarkvara kasutamiseks mujal maailmas. AS Cybernetica ongi loonud tütarettevõtte valimiste tarkvara arendamiseks ja turustamiseks mujale. Esialgu on uus tarkvara küll puhtalt Eesti riigi omanduses – kuigi avalikult uurimiseks ja kontrollimiseks välja pandud –, kuid selle laiem levik võiks ka meie oma valimistele positiivset kaasa tuua.
Uus tarkvara ei tähenda veel, et võltsimised oleks põhimõtteliselt võimatud: neid on lihtsalt raskem, kallim ja riskantsem ette võtta. Mida suurem protsent hääletajatest annab e-hääle, seda atraktiivsemaks saab e-valimiste ründamine. Maailmas toimuv ütleb selgelt, et siitkohast peame edasi liikuma lihtsalt selleks, et ka paari aasta pärast ei oleks võltsimine realistlik. Võimaluste ühine nimetaja on mitmekesisus.
Näiteks saaks viia sisse e-valimiste hajutamise mitme tiimi ja tarkvara vahel (mida uus tarkvara osaliselt juba võimaldab), nõuda hääletamist ID-kaardi ja mobiil-ID-ga korraga jne. Tuleb lihtsalt pidevalt panustada ja mõelda välja meetodeid, mis maandaksid jätkuvalt kasvavaid riske.
Enne ID-kaardi tulipunkti tõusmist oli avalikkuse tähelepanu all sotsiaalministeeriumi uus infosüsteem SKAIS2: mitme aasta jooksul kulutati kümneid miljoneid, kahest arendajast üks loobus ning alles jäänud ettevõte ei jõudnud samuti sihile. Selliste suurte, ametkonna sisekasutuseks mõeldud projektide läbikukkumistõenäosus ongi suur ning konkreetset süüdlast on raske välja tuua. Tüüpiliselt nõuab tellija projekti käigus üha uusi muutusi ja täiustusi, millega arendaja ei ole arvestanud, mis ei ole piisavalt läbi mõeldud – ja tihtipeale ka mitte vajalikud – ning usaldamatus üha süveneb.
Ainus lahendus on suurprojektide tellimine paljude komponentidena eri tellijate käest: see on näiliselt küll kallim ja keerukam kui vastutuse lükkamine ühele tegijale, aga sunnib samas tellijat komponente läbi mõtlema ja nende ühenduskohti lahti kirjutama. Nii loodud süsteem on hulga jätkusuutlikum ja arenemisaldis. Mitmekesisuse siht ütleb, et mammut-raamhangete asemel tuleks korraldada rohkem väikseid hankeid ja nõuda neile eri arendusmeeskondi.
Rahulolu ja oma eduloo ise uskuma jäämine ei kesta kaua. Kui me oma süsteeme kiirelt ja pidevalt ei arenda või jääme lootma ühe pakkuja või ühe lahenduse valimise näilikule efektiivsusele, sööb ümbritsev keskkond meid varsti ära.