Темата е „гореща“, поради предложения от президента референдум, с който да се попитат гражданите дали искат електронно гласуване. Останалите два въпроса няма да ги разисквам, но като (уж) експерт в технологиите, имам какво да кажа по темата с електронното гласуване. Преди години, когато бях „по-малък експерт“, написах нещо по въпроса, но тогава още не виждах пълната картина. Не твърдя, че и сега я виждам, но сега е по-пълна.

През лятото обсъждахме с Илф темата няколко пъти, дори започнахме да нахвърляме бележки за реализацията на примерна система за електронно гласуване. Тогава Пейо ме убеди донякъде, че от нея няма смисъл, а е и опасно, и аргументите му наистина имат смисъл.

Но аз все пак продължавам да смятам, че отдалеченото, електронно гласуване е правилният начин за гласуване, и че не е технологична утопия.

Ще отделя един абзац на технологията. Ключовите елементи са: PKI (Public Key Infrastructure), електронна идентификация в личната карта (а може и в мобилния телефон), Anonymous credentials / Blind signature (осигуряване на анонимност на извършеното действие, което все пак е проверено чрез електронен подпис). Инфраструктурата се вдига лесно, електронните подписи се издават лесно, анонимната автентикация е възможна. Системата, разбира се, трябва да е разпределена, така че да няма Single point of failure (т.е. компонент, който, ако се „развали“, цялата система спира да работи). Нищо от това не е „мозъчна хирургия“.

Преди всичко искам да уточня, че електронно гласуване може да значи много неща. В случая, който аз си представям, гражданите имат опция да гласуват както от дома си, и и в избирателна секция, като в първия случай използват компютъра или таблета си, а във втория – устройство (напр. таблет) в секцията. И в двата случая използват личната си карта с електронен идентификатор за да докажат самоличността си. Ако нямат електронен идентификатор в личната карта, то трябва да гласуват в секция, където служител проверява личната им карта.

Добре, технологично е постижимо, но имаме и много други критерии. Ето списък (който не твърдя, че е изчерпателен)

  • тайна на вота – не трябва да никой да може да разбере за кого е гласувал човек – споменатите по-горе anonymous credentials и blind signature решават този проблем. Дори системата няма да знае кой е гласувал – тя просто ще провери дали има право да гласува, ще запише гласа му, но няма да знае кой е. Реално реализацията е по-сложна, разбира се, но идеята е, че е решим проблем в криптографията.
  • цена – решението не трябва да е прекалено скъпо. Първоначалната реализация, вкл. закупуването на целия необходим хардуер (вкл. устройства в секциите) може да струва милиони. Но всеки избори струват милиони – заплати на избирателни комисии, стаистици, обслужващ персонал, транспорт на бюлетини и т.н.. Дори да не бъдат елиминирани напълно (в секциите все пак ще трябва да има комисия, но тя може да е с двама-трима членове, вместо седем). Инвестицията в система за електронно гласуване е еднократна (със сравнително евтина поддръжка след това), и всъщност ще спести много пари и ще се изплати още на първите избори
  • защитеност – не трябва да е възможно никой да наруши правилната работа на системата. Това е трудно за реализация. DDoS? Придобиване на CA сертификата? Това са проблеми, които имат технически решения. Но никоя система не е 100% защитена. Дори хартиената.
  • неподменяемост на крайните резултати – не трябва да е възможно човек да подмени резултатите както в конкретен СИК така и централно. Колкото и да е ограничен достъпът до една система, все някой има достъп. Но точно както при хартиения процес съществуват протоколи на местно ниво, така при електронната система данните могат да бъдат разпределени. И то по сложен начин, така че резултатите от всяка секция да бъдат запазени на поне няколко сървъра, по непредсказуем начин, така че крайният резултат да не може да бъде манипулиран – той е агрегация на резултатите по места, с проверки дали всички данни са консистентни. Това звучи леко завоалирано, но идеята ми е, че е възможно. Освен това е опция данните да са видими за членовете на комисиите, както и за наблюдателите на партиите в реално време, така че всякакви аномалии да бъдат забелязани.
  • неподменяемост на комуникацията и междинните резултати – целият процес се състои от активна комуникация между компютрите на гражданите и секциите и сървърите. И тази комуникация ще бъде криптирана (PKI). Това е най-сигурната част от системата. Ако някой успее да разбие криптографията, то фалшифицирането на български избори ще е последното нещо, което ще направи. Първо ще стане милионер (заради предлагана награда), след това – милиардер, защото цялата банкова комуникация използва тези алгоритми. И чак тогава, за удоволствие, може и да реши да фалшифицира избори в България. Т.е. няма да се случи.
  • елиминиране на човешкия фактор – трябва да се минимизира възможността от човешки грешки при пренасяне на бюлетини, броене, вписване. Това е проблем в момента (питайте някой участник в комисия), и очевидно една електронна система ще го реши напълно – никой човек няма да трябва да извършва техническа работа.
  • контролируемост – решението трябва да позволява лесна проверка за правилността на работа му от страна на партии, експерти и граждани. Малко по-горе споменах следенето на резултатите в реално време от застъпниците на партиите (или кандидатите). Това е една възможна мярка. Нужно е да можем да проверим дали системата работи правилно. Ако тя бъде с отворен код, то експертите можем да направим тази проверка (извън официацлния одит, който естествено трябва да бъде направен). Три въпроса тук, първият от които е аргумент на Пейо – достатъчно ли е само експертите да могат да проверяват правилната работа на системата – не трябва ли за всеки гражданин да е ясно какво става? Отговорът е – то и сега не е ясно на всеки. Процедурата след пускането на гласа в урната не е ясна, така че новата система няма да въведе значителна промяна в това отношение. Да, няма да подобри нещата, но няма и да ги влоши. А вторият въпрос, който Йовко повдига – как да сме сигурни, че това, което е пуснато в изборния ден е същия код, който ние сме видели? Чексума (checksum). Всеки софтуер има чексума, което (грубо казано) е уникална сигнатура на конкретната версия. Дали тази чексума не може да бъде фалшифицирана? Може. Но ако някой подмени чексумата, ще трябва да го направи през цялата ЦИК, ОИК и официалните одитори и наблюдатели. То е все едно да фалшифицира резултатите при сегашната система, че и по-трудно. Третият въпрос е – няма ли системата с отворен код да е по-уязвима, след като всеки ще може да види кода? Не. Сигурността на една система не идва от факта, че „хакерите“ не знаят как работи тя. Това е т.нар. security through obscurity, и то не работи. Трябва винаги да допускаш, че нападателят знае всичко за кода ти, и въпреки това е невъзможно да пробие. Един пример за това е reddit.com – кодът на сайта а отворен, но сайтът си работи.
  • уверение за преброен глас – избирателят да бъде сигурен, че неговият глас е бил преброен, и че е бил преброен правилно. Това е сложен въпрос. При сегашната система избирателят не е сигурен, дали гласът му е преброен. Има доста примери за това, конкретно дори на предните избори, когато един кандидат беше гласувал за себе си, а после в протокола от секцията му имаше 0 гласа. Благодарение на anonymous credentials впоследствие може да бъде проверено отчетен ли е гласът. Дали е редно да може да бъде проверено за кого е преброен? По-скоро не, защото тогава купувачите на гласове ще имат ясен механизъм за проверка на лоялнсотта на хората, а това не е редно. Но затова след малко.
  • устойчивост на грешки – нужно е безпроблемно протичане на изборния ден дори при възникване на неочаквани грешки. Това изцяло зависи от качеството на системата, но такъв софтуер съществува. В най-лошия сценарий системата ще спре да работи за някакво време (в определени региони или изцяло), но в такъв случай изборният ден просто ще бъде удължен. Конкретен пример би бил спиране на интернета
  • ползваемост – да позволява на всеки гражданин да изрази правото си на глас, без да е нужна компютърна грамотност или други умения. Touch-screen устройствата са изключително интуитивни. Според мен дори по-интуитивни от слагането на Х в квадратче. Една кратка история за това – мой познат, канадец, си беше купил iPad. Когато го видях, на шега го питах „за какво ти е това, нямаш ли си лаптоп“, а той каза, че на него не му трябва, но тъй като е полеви лингвист и изследва езиците на индиански племена, им дава таблета да попълват някакви данни. Каза, че ги е страх от компютъра, но с таблета са на „ти“. Така че нашите пенсионери и цигани не би трябвало да имат проблем.
  • леснота на реализация – да не изисква сложна техника или прекалено скъп софтуер – очевидно реализацията ще е сложна. Има много неща, които изискват висока експертиза, за да се направят правилно. Но поне откъм хардуер няма да има проблеми – както казах, в секциите таблети ще свършат работа (един активен и един резервен, напр.), а към сървърите няма специални изисквания – данните не са чак толкова много (7 милиона са нищо за съвременния хардуер)
  • нужда от допълнителни умения на членовете на СИК – не трябва да се изискват допълнителни умения от членовете на секциионни комисии. След „сагата“ с принтерите и копирните машини, при която се оказа, че много хора не могат да ги използват, това е валиден въпрос. Не трябва да е нужно дълго обучение, иначе ще излезе скъпо а и не е гарантирано, че всичко ще протече правилно. Но от членовете на комисията ще се изисква само да проверяват лични карти и евентуално да сигнализират в ОИК, ако някой таблет спре да работи.

Остана болната тема за купения и контролирания вот. За съжаление, електронното гласуване няма да реши този проблем. Поне не директно. Както и в момента, купуването на гласове ще е възможно. Както и в момента, ще е възможно да накараш служителите си да гласуват по определен начин. Дори ще можеш да им събереш личните карти и да гласуваш вместо тях. Всъщност, няма да можеш, защото ще има проверки по ip, cookies, cooldown period (т.е. няма да може да се гласува отново в същата секция/за същия кандидат/от същото ip в рамките на следващите Х минути). Тези неща разбира се са по-сложни, тъй като например цели доставчици излизат с един IP-адрес, но идеята е, че могат да се създадат технологични пречки.

Дали да се разрешава гласуването от дома, или въпреки, че системата е електронна, да се изисква физическо присъствие в секция? Първо, присъствието ще инвалидира аргумента на българите в чужбина, които искат да гласуват без да се редят на опашки в далечни за тях градове. Второ, трудно-подвижните хора няма да бъдат улеснени в гласуването. И трето – хората, които в даден момент се намират в командировка/друг град/на почивка/далеч от секцията си, няма да могат да упражнят правото си на глас. Затова, с всичките рискове от събиране на лични карти, мисля, че за повишаване на избирателната активност е редно да се разрешава гласуването от дома.

И последна щриха – в Естония (нямаше как да не я спомена) електронното гласуване е възможно 1 седмица преди изборния ден, като човек може да променя гласа си многократно. Т.е. дори някой да събере личната ти карта и да гласува вместо теб, ти след това можеш да промениш гласа си. А ако не ти върне личната карта, може да използваш телефона си (както в Естония). А ако ти вземе и телефона, тогава… тогава вече трябва да се замислиш какъв точно е този човек.

Моето заключение е следното:

  • Система за електронно гласуване е възможна, но е важно кой и как ще я направи. Не можем да разчитаме на обществена поръчка, която ще спечели фирма на „наши хора“; не можем да разчитаме и на качеството ѝ, без да е с отворен код, а трудно ще убедиш институциите, че това е нужно.
  • Купуването на гласове и контролираният вот ще продължат, докато са изгодни, т.е. докато избирателната активност е ниска. Електронното гласуване няма да ги спре, освен косвено, чрез качване на избирателната активност.
  • Фалшификации на изборите ще са по-трудни, защото никой няма да може да мъкне чували посред нощ, няма да има села с по 3-ма живи жители и 400 гласа, няма да могат да се пускат допълнително напечатани и попълнени бюлетини
  • Електронното гласуване няма да реши проблемите на демокрацията ни, защото технологията на гласуване е само малък фактор (но все пак фактор) в успеха на една демокрация – активността на гражданското общество и образоваността на хората е далеч по-важна
  • При неправилна реализация има риск от технически проблеми – както знаем няма софтуер без бъгове, и който го твърди, лъже; но поради широкият обществен интерес проверката на софтуера ще бъде значителна.
  • Естония го е направила, значи е възможно. Ето и код в GitHub.
  • Въпросът в референдума, и евентуалното гласуване „за“ ще имат силно положителен ефект върху електронното управление като цяло – ще стане много по-ясна нуждата от електронна идентичност (и електронен подпис) в личната карта, което е един от факторите, които спират развитието на електронното управление в момента
  • Промяната, която ще донесе електронното гласуване няма да е съществена, защото сегашната система, въпреки многото си минуси, е в общи линии стабилна, и генерира грешка, която не е „фатална“ за крайния изход.

Въпреки опасенията, аз съм „за“ този въпрос в референдума, и ще отговоря с „да“.

Share Button