Електронно и машинно гласуване

От години тази тема не слиза от устите на всевъзможни, технически не квалифицирани хора, но последните месеци нещата започнаха да прекаляват границата на разумното. За да съм максимално акуратен, искам да уточня, че въпросното прекаляване е свързано с абсолютното НЕ познаване на технологията, рисковете, как се прави и защо не се прави от всевъзможни всезнайковци, обещавайки, че електронното гласуване щяло да направи изборите невъзможни за манипулация…. Включително, едни „ентусиасти“, предполагам свързани по някакъв начин с протестите, се свързаха с мен във Facebook и ме попитаха за възможности за въвеждане на електронно гласуване базирано на блокчейн. След като им обясних, че това е много ама много лоша идея, и че за да се изпълни в национален мащаб ще са необходими поне 2 години активна работа, ми казаха, че нищо не разбирам и че щели да питат някой друг.

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

Машинно гласуване

Машинното гласуване представлява използването на машина с потребителски интерфейс за фактическия избор, като следствие от това, машината генерира серия артифакти (QR кодове, запис в криптирана система, чексуми….),като този артифакт, най-често, е бележка със странни надписи. Това е вашата бюлетина. Тази бележка се пуска в кутията, това е вашият глас.

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

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

Предимства:

  • Няма лесен начин за подправяне на протоколи, данните са криптогравски защитени. При разминаване в данните може с голяма увереност да се приеме, че тези от машината са истинските
  • Броенето става много бързо, и има поне 2 механизма за проверка на данните
  • Пести се хартия
  • Удобни са, понеже дължината на бюлетината не влияе, винаги резултата е малко листче хартия
  • Някой от машините са пригодени за хора с увреждания
  • Спира евентуална фалшификация на изборите при броене и пренасяне на протоколи/бюлетини

Недостатъци:

  • Ако машините не са защитени, може да бъдат хакнати и всичките им системи за защита да бъдат прескочени
  • За по-възрастните може да се окаже неудобно/невъзможно, поради липса на опит с работата с подобни устройства
  • Скъпи са и трябват много бройки
  • Не защитава от гласуване на „мъртви души“
  • Не защитава от купен вот
  • Не защитава от двойно гласуване (един човек на няколко машини)

Правилната машина за гласуване трябва да отговаря поне на тези минимални изисквания:

  • Да работи без да е включена в internet или каквато и да е друга мрежа, кабелна и безжична. Резултатите се четат от нея с кабел, след края на изборите
  • Трябва да има вграден механизъм, който не позволява никакви промени по софтуера докато се провеждат самите избори. Тоест, предварително в софтуера (или хардуера) се задава датата на изборите, когато тя дойде, машина автоматично влиза в защитен режим, и никой нищо не може да променя по нея, освен да гласува.
  • Трябва да е защитена от физическа намеса, отварянето на капаци и подобни трябва да задейства ясна аларма и да блокира машината.
  • Всякакъв достъп до каквито и да е настройки през екрана трябва да се блокира по време на изборите. В USA има многократни случай (и видеа) как може да промените настройките на машината, като влезете в системните настройки през потребителския интерфейс.
  • Всички данни трябва да се записват криптирани, като има паралелен чексум, най-добре реализиран на хардуерно ниво. За тези от вас които не разбрахте последното изречение, това значи, че в машината има друга машина, която наблюдава първата, и ако се намери разлика се пуска аларма.
  • Всички машини трябва да бъдат с real random number generator, а ако това не е технически възможно, всяка машина трябва да има уникален номер за PRNG.

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

Електронно гласуване

Тук даже не знам от къде да започна, понеже няма ясно разбиране какво точно представлява електронното гласуване. Но нека да сложим конкретен контекст:
Електронното гласуване е дигитализирана система позволяваща отдалечена интеракция чрез хетерогенни устройства, осъществяваща оторизация и отентикация на дадено лице, проверка за неговите избирателни права, и при наличието на такива, извършване на гласуване. По дефиниция системата трябва да е максимално защитена от всякакви атаки и манипулации. И точно тук е проблема – НЯМА КАК, технически няма как такава система да се направи. И това не е мое мнение, то се споделя от едни от най-добрите всетовни експерти в кибер сигурността, както и много от службите, които са изнесли публични доклади и анализи за рисковете от подобни системи. Но нека да съм по-конкретен:

Как идентифицираш лицето?

При класическите избори, имаш предварителен списък в който е посочено мястото в което трябва да гласуваш. Гласуването на друго място е предвидено само при форсмажор. Тоест лицето трябва да отиде физически на определено място, да се идентифицира с официален физически документ, след което може да гласува. Едно лице, едно място, един глас.
Как точно, по какъв механизъм ще идентифицираш лице в интернет, по такъв начин, че да си сигурен, че е той? По електронна поща или по номер на лична карта? Хайде да бъдем по-сериозни!

Ами какво стана с електронните подписи? Добре, но колко от вас имат такива. Колко от вас знаят как да ги използват, а колко от вас не правят разлика между електроннен подпис за фирма и електроннен подпис за физическо лице?
Още тук цялата система пропада, понеже не може да установиш със сигурност кой точно гласува, има ли право да гласува и дали не гласува повече от един път, използвайки различни идентификатори.

А как точно ще установите, че някой господин не е отишъл до махалата, събрал е личните карти на всички (ако приемем, че идентификацията става с л.к), и не гласува както той иска от името на останалите?

Наслушал съм се на какви ли не предложения,примерно да се снима личната карта, селфи, да се качва в системата и тогава да се гласува. Това нарушава конституцията, понеже компрометира анонимността на гласуването. Едни от най-добрите експерти в света (аз само споделям техните заключения) не са успели да намерят решение, което да работи.

Как защитавате данните?

Да приемем, че сте намерили уникалния начин да идентифицирате лицето като му запазвате анонимността на гласа, следващият проблем е как защитата на системата от кибер атаки, ботове, DDoS, и всичко друго, което сме видели в света на IT технологиите? То едни от най-големите, мощни и квалифицирани организации (частни и държавни) не могат да си опазят архивите и данните, какво остава за нещо толкова важно като избори. Една масирана DDoS атака към сървърите и няма гласуване, няма избори, няма резултати. А такава атака се прави твърде лесно, дори и от частни лица.

А как се опазват самите данни по сървърите от манипулация. Всичко е дигитално, няма хартиени копия, няма нищо. Като смените бита, той си остава сменен без следа. По тази причина много разузнавателни агенции върнаха пишещите машини в употреба. Но за да съм максимално акуратен, има няколко технически решения, които могат да предпазят истинността на записите и едно от тези решение е блокчейн. Но блокчейна не е подходящ, понеже е бавен като скорост, има няколко много неприятни вектора на атака в зависимост от това дали се ползва PoW, BFT, PoS… За да ги обясня трябва да навлезна в много технически език и терминология, но може да се каже така – ако някой има голям интерес да компрометира блокчейн система, то има начини да се направи, особено ако тя е дистрибутирана.

Единствения вариант е да се използва нещо като Hyperledger Fabric, и държавата да има тотален контрол върху повече от 51% от nodes, като останалите може да са дадени на НПО, журналисти и други заинтересувани страни, които ще играят ролята на нотариуси. Етериум и подобни са абсолютно неподходящи за целта.

Как защитавате анонимността на гласуването?

При класическото гласуване има ясна точка в която се губи информацията за кого сте гласували, и вие сте сигурни, че няма как (ако спазвате правилата) бюлетината да се асоциира с вас. Да, ако се отвори при пускането и подобни ситуации може да се разкрие, но това са редките изключения. При дигитална система това е почти невъзможно. Причината е, че при класическото гласуване имате 2 отделни процеса: проверка дали сте вие и гласуване. При дигиталните системи вашата заявка за гласуване трябва да е асоциирана с вашата идентичност. Те така ще трябва да пристигнат на сървъра, и какво се случва там… не знаете.

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

Има още стотици чисто технически усложнения и изключения за които мога да говоря с часове, но това са основните принципни проблеми:

  • Не може да гарантирате, че лицето което гласува има право да гласува
  • Не може да гарантирате, че физическото лице не гласува с други „акаунти“
  • Не може с лекота да се предпазите от кибер атаки
  • Не може с лекота да се гарантира анонимността на гласа
  • Не може с лекота да се гарантира валидността на вече записаните данни на сървърите
  • Няма ясен механизъм за паралелна проверка на данните,така наречения cross check, при класическото и машинно гласуване има
  • Не помага срещу купен/корпоративен вот

За това, искам да помоля, спрете да искате глупости. Искайте машинно гласуване, то има голям смисъл, искайте гласуване по пощата за лицата извън България, то може да се подсигури, макар и с доста допълнителна ръчна работа. Спрете да искате глупости. Facebook, Snap Chat, Telegram, WhatsApp, Amazon, Microsoft, банки, научни лаборатории, разузнавания и кой ли още не е понесъл атаки и щети през електронните си системи, технически е невъзможно да се изгради такава система, нито от наши програмисти, нищо от индийци, германци, американци, марсианци. Това не ви е гласуване как да се кръсти някой парк или улица, това не е някое приложение за социална медия да си търсите подкрепа на делюзията – това е национално гласуване за кабинет/президент/кметове/евро депутати.

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

9 thoughts on “Електронно и машинно гласуване

  1. Станимир Димитров

    Машинното гласуване ще реши проблема с избирателно невалидните бюлетини. Съгласен съм, че всяко гласуване свързано с интернет е компрометирано още от идеята, но въпреки това, ако имаше гласуване с бюлетина и електронно гласуване бих избрал електронното. Всички видяхме какво се случи в София миналата година с валидните бюлетини от циганската махала и невалидните от другите квартали с преобладаващо образовано население. 42.8% от населението на Естония е гласувало през интернет 2019-та година. Защо държави като Естония и Австралия се доверяват на системите си? Явно електронното гласуване в крайна сметка не е най-голямото зло или поне на мен така ми изглежда.

  2. gatakka Автор

    За да се направи правилно изисква много съществена промяна в закони и уредба. Естония често се дава за пример но тя разполага с дигитално ID (което бе хакнато няколко пъти), малки са като държава, и те постепенно въвеждат подобно гласуване вече мисля 10 години.
    На там сме тръгнали, спор няма, но не може ей така, някой в индия да ти направи едно приложение и да разчиташ на него. Закони, хардуер, навици на хората трябва да се сменят.
    Нека да се започне с машинното и по поща, нека да се въведат електронни лични карти с криптография, нека хората да се научат да ги ползват, нека тогава да се почне с един малък процент, да се направи анализ и последващи подобрения, нека процента на гласуващите се увеличи…. и така лека полека, ще се стигне до там.

  3. Entelodon

    При машинното гласуване идва следният проблем. Казваш броенето ще става като свържеш машината с кабел, какво става ако отсрещната страна с кабела и „лаптопа“ който ще събере данните е компроментиран? Повечето хора в тези избирателни секции /тези, които работят там/ не знаят как да си влезнат в пощата, какво остава да бъдат технически грамотни за да могат да се подсигурят че няма компроментиране?
    В този ред на мисли ми идва следната ситуация, да речем, че машината е манипулирана, от хората които са я поставили. Тогава какво?
    Толкова съм се нагледал на хора от обществото и простите им тикви, че е ясно, че щом го има този човешки фактор, винаги ще има манипулация. Дори и да е минимална!

    Пък тези от протестите да се гръмнат! Протестират, без да имат аргументирано решение. Бълват куп ла*на и нищо друго.
    Аз очаквам, че някой като „вдига ръка“ има какво да каже и то да бъде достатъчно добре аргументирано. Иначе мога и аз да искам да ми се даде всичко, без да предлагам нищо.

  4. gatakka Автор

    @Entelodon много добри аргументи. Ако самата машина и фирмата която ги обслужва/настройва са компрометирани …. ми гориш, няма начин.
    Но иначе, изтеглянето на данните може да става от техник, който да няма достъп до самите данни. Тук има лесни решения. Данните са криптирани с публичен/частен ключ, примерно 256 битова елиптична крива и AES256, като частни ключ се пази някъде на много много сигурно място, и се използва само за броенето.
    Тоест, ако техника или някой друг се опита да манипулира или чете данните, няма да може да направи нищо.
    Но ако при самата настройка на машината нещо е „пипнато“ или този частен ключ изтече… еми честито 🙂 гориш като факел.

  5. WiseManCAx

    Ха ха ха…

    Ум –> РазУм –> БлагоРазУм…

    В България хората НЕ се научихА, че троичната бройна система е „демократична“!

    Навсякъде по Света се използва „троичната фазова система“ защото тя създава „кръгово въртящо се поле“.

    1 фаза дава само „пулсиращо“ поле.

    2 фази дават „Елептично“ поле т.е. Изкривено, но все пак въртящо се поле.

    3 фази, разледени на по 120 градуса, дават (нормално) кръгово въртящо се поле.

    Казвам всичко това защото българите не се научиха да използват мускулите си, умът си и сърцето си адекватно и така да завъртят „финансовото“ поле и да материализират „Парички“. Същото е и Политическото поле – пълно е с Клоуни, които решиха, че могат да си направят по една политическа партия и да имат адекватна политика на сегашното време.

    Б България Сульо и Пульо си мислят, че могат да изгледат няколко видеа за да имат Експертно мнение и да го „упражнят“ демократично.

    Да, Да, ама НЕ!!! Точно така се става „Калинка“. Точно така се гонят истинските експерти и България все повече и повече се движи кат’ охлюв. Напредва, но не е на пистата на Заека и на Лъва.

    Годините на ПсевдоМъдруване отдавна станаха деситилетия. А пандемията „скрива“ 5 технологични революции…

    Хубаво е, че си написал тази статия. Те не те разбират… по абсолютно същият метод и алгоритъм по който ТИ не разбираш изключително много, ама наистина много неща. Но пък щом Ти можеш да си „шампион“, кой си ти че да им пречиш и те да са Шампиони?

    Ха ха ха…

  6. gatakka Автор

    @WiseManCAx признавам си, не разбирам материята за която говориш. Не разбирам и защо не си пиеш хапчетата.Магическо е как не каза нищо с толкова думи.А иначе, само за референция, аз съм този който прави видеата, не този който ги гледа. Не преча на никого да става „шампион“, заявките са отворени, всеки може да бъде номиниран, всеки може да бъде избран. Прав си, не преча на никого.

  7. behko

    Цялото нещо звучи доста познато от IT

    „Може ама ще е много трудно и по-добре да не го правим.Абе не става.“

  8. Dimitar Stankov

    Откритото гласуване не може да се хакне , както и да се провежда

  9. Dimitar Stankov

    „какво става ако отсрещната страна с кабела и „лаптопа“ който ще събере данните е компроментиран?“

    Хора не разбирате ли че , всяка система може да бъде хакната … можеш да направиш идеалната защита на конкретно устройство , но в момента в който стигнеш до човешка намеса всичко може да се байпасне и то по ВСЕВЪЗМОЖНИ начини, горният коментар на „Entelodon“ го затвърждава …

    „Правилната машина за гласуване трябва да отговаря поне на тези минимални изисквания:“

    Ванка всички минимални изисквания които си описал … изискват човешка намеса … което прави машинното гласуване
    още по задълбочен проблем … защото човешката намеса ще се състои от няколко специалиста които ще разбират от материята (e тези специалисти кой ще ги избира и назначава , кой ще им дава достъп , могат ли да бъдат компрометирани самите специалисти , може ли обществото да бъде лесно манипулирано , от подставени „специалисти“
    които ще уверяват че всичко е подсигурено и няма как да се правят измами)

    То като влезне веднъж в употреба машинното гласуване … после върви убеждавай народа че имало много начини да се излъже … (като вкараш влака в нови релси няма връщане назад)

    За съжаление обаче вървим точно натам , няма да коментирам дали това се прави целенасочено или е просто стечение на обстоятелствата , но опредено на там е задухал вятъра:

    – изявените лица от протестите споменават често електронно , дистанционно и машинно гласуване

    – от другата страна на барикадата където са герб също започна да се говори за това „… а един от основните приоритети е въвеждането на машинното и ДИСТАНЦИОННО гласуване“

    – слави я дъвче тая тема от месеци

    – дори тоя Мартин Димитров блещеше някакви глупости: за коронавируса … че били несигурни времена … че развитите държави вече предприемали мерки за да може хората да си гласуват от вкъщи

    … сега не казвам че всички са се наговорили в купом да търкалят колелото натам , със сигурност някой вярват че ще има полза , други прокламират нечии външни интереси , трети ще имат лична изгода (особено от ДИСТАНЦИОННОТО гласуване по време на карантина

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *