Въпреки че знам, че това да оборваш нечие конкретно мнение не винаги е ефективен инструмент за убеждаване на хората, не мога да се сдържа и да не коментирам вчерашната статия на Михаил Константинов в 24 Часа. Статията е пълна с толкова много полуистини и неверни твърдения, че не мога да я оставя без отговор.

Не е ясно дали статията изглежда така заради неуспешен опит на Константинов да обясни материята по по-прост начин пред читателите, или както все повече ми се струва – защото не е разбрал детайлите. Но крайният резултат е такъв – защитаване на теза против електронното гласуване на база на грешни твърдения.

Ще извадя конкретни цитати и ще обясня защо са или неверни, или опростени до невярност.

И тъй като нямаше как другояче да действат външните сили, ясно е, че [в САЩ] ставаше дума за въздействие върху електронните средства за комуникация – първо, чрез влияние в социалните мрежи и второ – директно върху системите за гласуване.

Няма данни електронни системи за гласуване да са били манипулирани. Доклад на американския National Intelligence Council казва, че машини или компютри, с които е извършвано броене не са били манипулирани. Хакнати са били мейли на някои служители на избирателни комисии и съответно са изтекли данни за регистрирани за гласуване граждани, но това в никакъв случай не е „директно върху системите за гласуване“. А и както се казва в други статии по въпроса – ако можеш да насочиш общественото мнение, защо ти е да хакваш резултата? Защото ако хакнеш резултата, всички ще разберат, че нещо не е наред. Когато „хакнеш“ хората, те ще продължават имат доверие в системата, но тя ще бъде ефективно компрометирана.

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

Проблемът, който електронното гласуване трябва да решава не е, че не можеш да видиш какво става с гласа ти. Всяка електронна система ти позволява това – гласът ти е подписан електронно и съответно можеш да провериш дали е там. Някои от доставчиците на решения за гласуване отдавна имат патенти за използване на криптографски елементи от блокчейн за защита на интегритета на данните (тези елементи, като хеш вериги, ги има много преди биткойн). Проблемът е, че ако можеш да видиш какво става с гласа ти, можеш да го покажеш на друг и така да докажеш, че си гласувал както ти е било наредено/платено, а не както си искал. Затова трудната задача на проверимостта „от край до край“ (end-to-end verifiability) е да ти даде тази сигурност без да разкрива вота ти. Но блокчейн не помага значително в това. Като цяло научната общност е скептична към блокчейн – не защото не е добра технология, а защото не решава сложните проблеми в електронното гласуване. Решава по-простите, които вече имат и други решения, например т.нар. public bulletin boards (публикуване на криптираните гласове в реално време). А, да – и всеки глас не е блок, а транзакция, като един блок има много транзакции – незначителна за тезата грешка, но показваща неразбиране на технологията.

Има и два истински експеримента с блокчейн гласуване. Първият е на четвъртите президентски избори в Сиера Леоне. Оказа се , че в тази страна в Западна Африка с големи маси безработно и неграмотно население, те се справят успешно с най-новата изборна блокчейн технология.

Блокчейн гласуването в Сиера Леоне беше пиар кампания на фирма, доставчик на решение за е-гласуване (Agora). Централната избирателна комисия отрече да е имало такова нещо с нейно участие. Ако Константинов беше прочел нещо повече от вестникарски заглавия по темата, щеше да разбере, че Agora е била регистриран международен наблюдател в 280 от общо 11200 секции, и след като секционните комисии са изброили бюлетините, наблюдателите също са ги изброили и са ги записали в блокчейна си. Технологията им (която проучих тогава) звучи интересно и разумно, най-вече защото е реализирала останалите компоненти на електронното гласуване съгласно добрите практики. А не просто защото ползва блокчейн.

В Естония, която поддържа електронно гласуване, миналата година се установи, че картите, с които се гласува, са пробити. Оказа се, че произведените в западногермански концерн карти се декриптират изключително лесно.

Не. Първо, не се декриптират. Става дума за получаване на частния ключ на база на публичния. Второ, „изключително лесно“ по оценка на естонското правителство значи 80 хиляди долара. На карта. Според други оценки цената спада, в зависимост от големината на ключа, но така или иначе е доста скъпо за масово манипулиране на милиони гласове.

Оказва се обаче, че има бърз алгоритъм, който чисто математически пробива този вид криптиране. Затова проблемът не е само технологичен т.е. калпаво изпълнение на картите, а принципен – става дума за фундаментален математически пробив в системата.

Убеден съм, че Константинов разбира математиката зад атаката на Копърсмит много по-добре от мен. Само че за да е успешна, атаката зависи от много фактори и пропуски в реализацията. В конкретния случай, само библиотеката в конкретните карти (RSALib) има този проблем. Други библиотеки, използващи същите алгоритми за генериране на ключове, криптиране и подписване (като OpenSSL), нямат такъв проблем. Освен RSA, за същите цели се ползват и елиптични криви. И те нямат този проблем. Така че твърдението, че има фундаментален математически пробив в системата на криптографията с публичен ключ, на която се базира гласуването (и много други неща, вкл. сигурността в интернет), е силно преувеличено, и даже направо грешно.

Този пробив не е решен, но естонците като спокойни северни хора се примириха с това и изчакват нещата да се оправят.

Това пък е съвсем грешно. Според доклада на естонското правителство историята е следната. На 30 август получават информация, че има потенциален проблем с картите. На 5-ти септември дават пресконференция и публикуват информация, че има риск за някои карти. Следват местни избори, които биват следени изключително внимателно, но проблеми не са открити (това не е 100% гаранция, че е нямало такива, но е сигурно, че не са повлияли на резултата от изборите). След това естонците спират сертификатите на засегнатите карти и дават възможност хората да си обновят ключовете, използвайки елиптични криви вместо RSA (елиптичните криви не са „пробити“), като много хора го правят (та чак системата за подновяване пада за малко от натоварването). Твърдението, че са седели и са чакали нещата да се оправят е напълно невярно.

В крайна сметка, твърдението, че „картите са пробити“ е грешно. Имало е научна статия, неизвестна на никой освен производителите на картите и учените, според която е възможно да се представиш за някой друг онлайн, ако имаш между няколкостотин и няколко десетки хиляди долара и ако си опитен криптограф. Информационната сигурност винаги се свежда то постигане на висок процент сигурност за практически цели и до минимизиране на риска от сериозни проблеми при откриване на пробиви. Както винаги съм казвал – риск за 0day уязвимости винаги има. Затова и има текстове в естонския изборен кодекс, които пренесохме в нашия:

(28) Когато е нарушена сигурността или отказоустойчивостта на системата или когато е налице технологична невъзможност да се гарантират основни избирателни права, Централната избирателна комисия с мотивирано решение временно спира или прекратява дистанционното електронно гласуване или не стартира системата за гласуване. Централната избирателна комисия уведомява избирателите чрез интернет страницата си и средствата за масово осведомяване за причините и публикува подробен отчет не по-късно от 24 часа ден след постановяване на решенето.

За това как българското общество би приело съобщение, че има потенциален проблем с картите, може и да се съгласим, че ще е по-зле от естонското. Доверието може да пострада, може политическите играчи да започнат да се обвиняват. Но сме много далеч от тези хипотези в момента.

Не е нормално критиката да е толкова повърхностна и пълна с грешки. Аз, като принципен привърженик, мога да напиша по-добра критика срещу електронното гласуване – както винаги съм казвал, задачата не е проста и има какво да се обърка. Но има и как да не се обърка толкова, че да повлияе на резултата.

„Фактите“ не са факти, а са истории, прочетени в някой сайт, и попълнени с разбиранията и неразбиранията на автора. Можеше да проучи какво е било гласуването в Сиера Леоне. Можеше да прочете доклада на естонското правителство, можеше да прочете доклада на National Intelligence Council. Но е по-лесно просто да се публикува разхвърляна статия в 24 часа.

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

Сроковете, заложени в Изборния кодекс са пропуснати и за 2019-та няма да имат физическа възможност да въведат гласуване. Не съм привърженик на бързането – преди 3 години бях силно против да се въвежда веднага именно за да има време да се тества и отработи всичко. Затова кодексът предвиждаше експертименти. Нищо не пречи те да се случат, да направим системата, да я тестваме няколко години и ако всичко е наред, да дадем опция за гласуване. Обаче плоските представи за проблема водят до „или всичко или нищо“. Водят до липса на каквито и да е било експерименти, защото някой някъде решил, че не било сигурно. А целта на тези експерименти е да разберем дали е несигурно.

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

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