17. jaanuar 2005
ID-kaart vs Linux vs e-hääletus, vol 1
Kirjutas Jaanus kell 01:02 | Püsiviide
Samal teemal sissejuhatuseks mujalt:
minut.ee
teller
wolli
Mõned asjad teevad mind täitsa tigedaks. Laiskus ja lollus kuuluvad nende hulka. Ülalmainit kolmelt aadressilt leiab mõlemat sedavõrd suurel hulgal, et mul jooksis juhe täiesti kokku.
Teemaks on siis, et miks ei saa Linuxilt e-hääletada? Millegipärast on võetud eelduseks, et ei saa. Alljärgnevalt on näha, et see eeldus on vale. Ja siis veedetakse pikki tunde mingeid teooriaid või jumal teab mida üles ehitades. Et küll ikka riik seda ja riik teist ja blaah.
No tõepoolest, seltsimehed. Sellega ei näita te mitte midagi muud, kui seda, et “Linuxispetsialistide” tehniline tase ja suutlikkus uusi tehnoloogiaid nokkida on olematu. Loomulikult ei pea kõik kasutajad asja pulkadeni jagama, aga kuna paljud seltsimehed armastavad ennast “ekspertideks” pidada, siis neilt ootaks ka natuke suuremat teadlikkust. Aga mitte pidevat virisemist. Kas polnud Linuxi loogika see, et kui ei saa muudmoodi, siis tee ise ja paremini? Nagunii on Linuxite perekond niivõrd kirju, et võimatu on sinna ehitada rakendus, mille kohta kellelgi midagi plõksida ei oleks. Aga selle asemel, et midagi reaalselt töö panna, on kõik hästi targad tehnilised disainerid ja arvavad, et nad suudavad VVk tellimusel valminud e-hääletuse süsteemis igasugu “auke” leida ja hoobilt parema universumi välja pakkuda.
Aga jättes nüüd läbu kõrvale, siis alljärgnevalt võtsin nõuks uurida, mis seisus on Linuxil ID-kaardi ja digiallkirja tehnoloogiad. Lühikokkuvõttena võib öelda, et igati adekvaatses seisus. Tallinna e-hääletuse piloot algab juba nädala pärast ja seal suure tõenäosusega Linuxiga hääletada ei saa, aga sügiseks on see ju realistlik.
Lähtematerjalina oli kasutada üks KDE 3.3 jooksutav Debian (MEPIS.org), mis ID-st ega kiipkaardilugejast seni midagi kuulnud ei olnud, ja SCR-331 USB lugeja (sama, mis Elioni ID-kaardi stardikomplektis.) Lugejate kohta veel vt “marie leht”. Võib veel öelda, et alljärgnev tutkimine ei võtnud rohkem kui tunnikese minu isiklikku vaba aega - ilmselt mitte rohkem, kui minutis või blogides mingi ultra-läbukommentaari väljamõtlemine ja kirjutamine. Samuti ei ole ma ID-kaardi projektiga ametlikult seotud.
ID-kaardi käimasaamine
Abiks Ideelabori wiki (courtesy of Martin Paljak), täpsemalt Debianile pühendatud alamsektsioon. Ehk siis käsureale:
apt-get install opensc pcscd
Selle sammu tulemusel tekkis arvutisse ID-kaardi ja kaardilugeja tugi ning näiteks pkcs15-tool suutis hakata väljastama infot kaardil olevate sertide kohta, samuti oleks saanud juba PIN-i vahetada ja muud põnevat teha.
Brauseriga autentimise käimasaamine
Jällegi samast wikist Mozillale pühendatud sektsioon. Sammu tulemusel hakkas Firefox ID-kaardiga hästi läbi saama ja nüüd saab näiteks pankadesse, eesti.ee-sse ja kuhuiganes ID-kaardi võimelisse saiti PIN-koodiga sisse logida.
Digidoci käima saamine
Kunagi ammu ei olnud Digidociga Linuxis eriti hästi. Nüüd on. Nimelt on olemas projekt nimega gdigidoc. G tähendab vist GNU-d. Sealt alt ära tõmmata gdigidoc ja libdigidoc uusimad RPM-id, need alieniga DEB-paketiks käänata ja Kpackage abil ära installida. Käivitamisel tekkis tõrge dünaamiliste teekide laadimisel. Nimelt on süsteemid lingitud OpenSSL-i pihta nii, et otsivad teeke laiendiga .so.4 (nt libssl.so.4). Ma ei tea, mida see .4 tähendab, aga mul sellenimelisi asju polnud. Küll aga libssl.so ja libcrypto.so. Niisiis teha lihtsalt symlink libcrypto.so.4 -> libcrypto.so jne ja kõik kärab. KDE alla veel libgtkmm pakett (gdigidoci GUI on tehtud GTK pihta) ja käib.
Kui lõpuks gdigidoci käima saab, on meil võimalus toota Linuxis digiallkirju ja teiste tehtuid lugeda. Graafiline utikas on väheke nutikamale arvutikasutajale igati pruugitav ja suhtlus ID-ga käib ilusti ilma, et midagi seadistama peaks.
Nii et põhimõtteliselt on olemas kõik komponendid Linuxi alla valimisrakenduse ehitamiseks. Kusjuures see rakendus ei pruugi olla midagi keerulisemat kui paar rida skripti, juhul, kui piirdume “command-line” valimistega :) aga keegi ei takista siia otsa mingit uhket graafilist vidinast ehitamast. Ma ise graafilist ei viitsi (ei oska ;) teha, aga command-linel teen võibolla ära, kui viitsin.
Arhitektuur oleks lähtuvalt VVK veebis olevast hääletusprotokollist selline, et:
1) tiri hääletusserverist kohale valikute nimekiri - kuna selleks peab kasutaja ID abil ära autentima, siis pole kindel, kuidas seda lihtsalt teha.. võimalik et laseme lihtsalt kasutajal brauseriga asja alla tõmmata.
2) rakendus, mis laseb kasutajal teha valiku, moodustab hääle ja selle kahekordsesse ümbrikusse kokku krüptib+signeerib - cdigidoc (Digidociga manipuleerimine) + pkcs15-crypt (ID-kaardil sodi signeerida laskmine) + openssl? + muud supporting utikad + perl kogu selle kama kokkuliimimiseks - mul lihtsalt on selline hälve, et kõik skriptid vaja perlis teha ;)
3) hääle serverisse saatmine - protokollist saan aru nii, et hääle uploadimisel kedagi ei autendita (milleks pole iseenesest vajadust, kogu inf on hääleümbrikus olemas), seega lihtne wgetiga post. (hm.. protokolli teist korda lugedes tundub, et kõik päringud on ikkagi ID-kliendiserdiga autenditud.. tuleb midagi välja mõelda.)
Ainus hetkel puuduolev, aga lahendatav komponent on see, et peaks korraldajatel laskma püsti panna testserveri, mis väljastab test-nimekirju ja võtab vastu test-tulemusi ja ütleb, kas need olid korrektselt moodustatud või ei. Lihtsalt implementatsiooni testimiseks.
Teemad:
Minu blogid
Otsi
Mina
Teemad
Arhiiv
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
Meta



