На 21-ви януари парламентът прие решение, с което "подкрепя възможността да се гласува и дистанционно по електронен път при произвеждане на изборите и референдумите и при разписани законови гаранции за тайната на вота, гражданския контрол върху изборния процес и сигурността на информационните системи". Това беше очаквано решение, след внушителната победа на референдума иницииран от президента. Какъв може да бъде пътят напред?
Първо искам да уточня, че в тази статия показвам текущото си виждане за този проблем. Имам опит в информационните технологии и управлението на бизнес процеси, но не ми достига експертност по всички теми, които са необходими, за да направя прецизно и аргументирано предложение за дистанционно гласуване.
Затова предлагам да се направи първи етап на дистанционното гласуване (ДГ 1.0) със следната формулировка:
Ще се опитам да обясня, защо се фокусирам в Българите зад граница. За мен нашите сънародници, които живеят в чужбина и се интересуват от проблемите на България са един от най-ценните обществени ресурси. Тези хора имат широк поглед от различни ъгли върху предимствата и недостатъците на определени политики на местата, където се намират. Голяма част от тях са интелигентни и образовани. Много от тях имат искрено желание да помогнат на България. Практически всички ежедневно ползват Интернет, най-малкото за да се свързват с приятели и познати.
Даването на възможност да гласуват на избори и референдуми на тези наши сънародници е идеалната първа стъпка в реализирането на цялостен проект за дистанционно гласуване, защото България има голям дял на "скорошни" емигранти, които са доста разпръснати по света.
Защо не настоявам за "сигурна система за гласуване", а се задоволявам само с това, "да не падне цената на купения вот"? Защото гаранциите за сигурност в съвременния свят са много относително понятие. Има хиляди точки, където една система (дори и да не е Интернет-базирана) може да бъде атакувана: хората, хардуера, софтуера, комуникацията и т.н. Всичко е динамична борба между "добрите" и "лошите". Разбира се "добрите" трябва предварително да се подготвят, колкото се може по-добре технически, но трябва да са в готовност да реагират на всеки опит на "лошите" да компрометират системата. За сигурен изборен процес се изисква сериозна инфраструктура и организация. Затова предлагам, на първо време, целта да бъде достатъчното затрудняване на "лошите", така че да им излезе по-скъпо купуването на глас чрез дистанционното гласуване, отколкото по традиционното.
Идеята, върху която искам да насоча внимание, се състои в следното:
Моето предложение е докато се изгради инфраструктурата за идентификация със смарт-карти, за целите на дистанционното гласуване да се използват скреч-карти. Виждали сте ги в ръцете на някои отчаяни наши сънародници, които ги търкат с надеждата да станат по-богати. За да се използва за идентификация, картата трябва да има два номера: единият видимо отпечатан, а другия скрит под изтриващ се слой мастило. Скритият номер е случайно генерирано, голямо число, а видимият - негово еднопосочно кодиране (хеширане).
В консулствата и на изходните гранични пунктове, седмици преди изборите се поставят гишета, където се попълват декларации за дистанционно гласуване. Желаещият дава на служителя от гишето личната си карта или паспорт. Ако документите са редовни и към датата на изборите, гражданинът има право да гласува, той избира една от скреч-картите и я подава на служителя, който въвежда (може и с баркод) видимия номер в системата си и разпечатва декларация. Тя съдържа личните данни на гласуващия, номера от картата и текст, че в момента на изборите, декларатора ще гласува от чужбина. Гражданина разписва декларацията и дава един екземпляр на служителя, а той я активира в системата.
В хода на самото гласуване, гласоподавателя се идентифицира чрез въвеждане на имената си, ЕГН-то си и скрития номер от картата. Сървъра на ЦИК лесно може да провери, дали скрития номер, с приложена хеш функция връща номера, записан в регистъра заедно с ЕГН-то на гласуващия.
Тук си спестявам да пиша за много технически подробности, като вида, итерациите и солта на хеш-функцията, размера на кодовете и др. Ясно е, че трябва да се търси оптимума между сигурност и удобство.
От една страна, гласуването от самостоятелен компютър улеснява продажбата на гласове, защото купувача им може да получи данните и картата от продавачите и да гласува от тяхно име. От друга страна, ограничаването на дистанционното гласуване само от чужбина усложнява и оскъпява злоупотребите и намалява риска.
Трябва обаче да има и технически мерки, които да направят трудна атаката срещу анонимността на гласуването. Един добър подход би бил разделянето на частта за идентификация на гласоподавателя и самото гласуване, на два отделни проекта, които да се изпълняват от два независими екипа и които да комуникират помежду си, само по предварително уточнен протокол. По този начин, на сървъра, където се намират криптираните бюлетини няма да присъства информация за гласоподавателите, а на сървъра, където се прави идентификацията - няма да има данни как е гласувал избирателя.
Горната картинка показва процеса на е-гласуване с участието на два сайта. След като идентифицира гражданина, първият сайт пренасочва браузъра на гласоподавателя към сайта за гласуване, като го съпровожда само с временен разрешаващ код, без данните на гласоподавателя. Във втория сайт се попълва бюлетината, която преди изпращане се криптира асиметрично с публичен ключ на ЦИК. Технологията за криптиране с публичен ключ и декриптиране с частен е проверена и се използва широко в Интернет. В случая за по-голяма сигурност, вместо един, ЦИК може да има няколко ключа, разпределени в различни нейни представители, така че да е необходимо всичките да бъдат използвани, за да се декриптира съдържанието на бюлетините.
Сигурен съм, че повечето от нещата, които съм написал по-горе няма да видят "бял свят". Въпреки това за мен е удоволствие да споделя мислите си по въпроса за дистанционното гласуване с познатите си в Интернт.
Първо искам да уточня, че в тази статия показвам текущото си виждане за този проблем. Имам опит в информационните технологии и управлението на бизнес процеси, но не ми достига експертност по всички теми, които са необходими, за да направя прецизно и аргументирано предложение за дистанционно гласуване.
Постижима цел
Дистанционното гласуване трябва да даде възможност на всички български гласоподаватели да участват в изборите по удобен, независещ от местоположението им начин, като при това направи процеса по-сигурен, надежден и прозрачен. Така формулирана, аз осъзнавам, че това е трудно постижима цел в обозримо бъдеще, например 3-4 години. Има големи предизвикателствата:- Трябва да се въведе електронна идентификация на гражданите и тя да започне да се използва от съществен брой хора;
- Трябва са се намери сигурна и надеждна техническа и правна рамка за гласуване;
- Трябва да се намери начин да се одитира системата за гласуване;
- Трябва да се обучат хора, които да наблюдават и работят с новата система;
Затова предлагам да се направи първи етап на дистанционното гласуване (ДГ 1.0) със следната формулировка:
"Дистанционно гласуване за българите зад граница, без намаляване цената на купения вот"
Ще се опитам да обясня, защо се фокусирам в Българите зад граница. За мен нашите сънародници, които живеят в чужбина и се интересуват от проблемите на България са един от най-ценните обществени ресурси. Тези хора имат широк поглед от различни ъгли върху предимствата и недостатъците на определени политики на местата, където се намират. Голяма част от тях са интелигентни и образовани. Много от тях имат искрено желание да помогнат на България. Практически всички ежедневно ползват Интернет, най-малкото за да се свързват с приятели и познати.
Даването на възможност да гласуват на избори и референдуми на тези наши сънародници е идеалната първа стъпка в реализирането на цялостен проект за дистанционно гласуване, защото България има голям дял на "скорошни" емигранти, които са доста разпръснати по света.
Защо не настоявам за "сигурна система за гласуване", а се задоволявам само с това, "да не падне цената на купения вот"? Защото гаранциите за сигурност в съвременния свят са много относително понятие. Има хиляди точки, където една система (дори и да не е Интернет-базирана) може да бъде атакувана: хората, хардуера, софтуера, комуникацията и т.н. Всичко е динамична борба между "добрите" и "лошите". Разбира се "добрите" трябва предварително да се подготвят, колкото се може по-добре технически, но трябва да са в готовност да реагират на всеки опит на "лошите" да компрометират системата. За сигурен изборен процес се изисква сериозна инфраструктура и организация. Затова предлагам, на първо време, целта да бъде достатъчното затрудняване на "лошите", така че да им излезе по-скъпо купуването на глас чрез дистанционното гласуване, отколкото по традиционното.
Обособяване на МИР "Чужбина"
Напоследък стана популярна идеята да се направи отделен многомандатен избирателен район - "Чужбина". Освен политически, тази идея има и чисто технически предимства в контекста на дистанционното гласуване:- По-лесна реализация на електронния изборен процес;
- По-лесно ще се запази тайната на вота, ако е-гласуващите са концентрирани в един район
- Партиите могат да изпратят за застъпници в неговата единствена секция свои ИТ специалисти, които да следят процеса в реално време
- По-лесно разпределяне на получените гласове
Идея за реализацията на ДГ 1.0
Реализацията на Интернет-гласуване в чист вид е трудна задача и доколкото ми е известно само в Естония е реализирано напълно, макар и с някои забележки. За разлика от Интернет-гласуването, има много примери за дистанционно гласуване, достъпно за части от населението. Общ поглед за гласуването "от друго място" може да добиете от тези статии:- https://en.wikipedia.org/wiki/Absentee_ballot (на английски език)
- http://clubz.bg/25349-distancionno_neelektronno_glasuvane_ili_epistolarna_demokraciq
Идеята, върху която искам да насоча внимание, се състои в следното:
- Електронното гласуване да повтаря стъпките на хартиеното: да има идентификация на потребителя му и проверка на правото да гласува, след което гласът му да се изпраща криптиран към своеобразна електронна урна, без неговата лична информация. След края на изборния ден, гласовете да могат да бъдат де-криптирани и преброени само с помощта на "ключ", с който разполага ЦИК.
- Първоначално това гласуване да е достъпно само за гражданите, които в деня на изборите са извън България. За да гласуват по този начин, те предварително ще трябва да се регистрират.
- Гражданите се регистрират за дистанционно гласуване, като попълват декларация с личните си данни и мобилният си номер. Това става в консулствата и изходящите гранични пунктове и започва 10-12 седмици преди вота. При регистрацията си, те получават код за идентификация.
- Гласуването по Интернет започва седмица преди деня на изборите. За дистанционните избиратели се отваря специален сайт за гласуване. В него те въвеждат личните си данни, код получен на мобилния телефон, както и кода за идентификация.
- Попълват бюлетината на сайта и после я изпращат. При изпращането си, бюлетината се криптира по такъв начин, че само ЦИК може да я декриптира.
- В края на изборния ден, с помощта на ключа на ЦИК се декриптират бюлетините и преброяват резултатите.
Идентификация със скреч-карта
В Естония използват карта със смарт чип за идентификация на гражданите пред различни държавни институции, в т.ч. и за електронно гласуване на избори. Тази технология е сравнително надеждна, но за да се използва, се изисква много предварителна подготовка. В България има пилотен проект в тази насока, както и пресен Закон за електронната идентификация, който проправя пътя към реализацията ѝ. Този тип идентификация обаче няма да заработи скоро, а използването ѝ към момента е съпроводено с различни трудности: трябва да се закупува отделно устройство (четец), да се инсталира допълнителен софтуер (съпроводено с разнообразни проблеми под различни операционни системи), налагат се и допълнителни настройки на браузърите.Моето предложение е докато се изгради инфраструктурата за идентификация със смарт-карти, за целите на дистанционното гласуване да се използват скреч-карти. Виждали сте ги в ръцете на някои отчаяни наши сънародници, които ги търкат с надеждата да станат по-богати. За да се използва за идентификация, картата трябва да има два номера: единият видимо отпечатан, а другия скрит под изтриващ се слой мастило. Скритият номер е случайно генерирано, голямо число, а видимият - негово еднопосочно кодиране (хеширане).
В консулствата и на изходните гранични пунктове, седмици преди изборите се поставят гишета, където се попълват декларации за дистанционно гласуване. Желаещият дава на служителя от гишето личната си карта или паспорт. Ако документите са редовни и към датата на изборите, гражданинът има право да гласува, той избира една от скреч-картите и я подава на служителя, който въвежда (може и с баркод) видимия номер в системата си и разпечатва декларация. Тя съдържа личните данни на гласуващия, номера от картата и текст, че в момента на изборите, декларатора ще гласува от чужбина. Гражданина разписва декларацията и дава един екземпляр на служителя, а той я активира в системата.
В хода на самото гласуване, гласоподавателя се идентифицира чрез въвеждане на имената си, ЕГН-то си и скрития номер от картата. Сървъра на ЦИК лесно може да провери, дали скрития номер, с приложена хеш функция връща номера, записан в регистъра заедно с ЕГН-то на гласуващия.
Тук си спестявам да пиша за много технически подробности, като вида, итерациите и солта на хеш-функцията, размера на кодовете и др. Ясно е, че трябва да се търси оптимума между сигурност и удобство.
Как да ограничим гласуването само от чужбина?
Всъщност не е най-важното да не се допусне дистанционно гласуване от територията на България. Истинската цел е да не позволим злоупотреби с него. Първата преграда е попълването на декларацията от гласуващите и възможността да бъдат подведени под наказателна отговорност, ако се докаже, че в момента на гласуване са се намирали в България. Бежанската (имигрантската) криза може неочаквано да помогне, като предизвика затягането на контрола в граничните пунктове и регистрирането на всички пресичащи границите ни.От една страна, гласуването от самостоятелен компютър улеснява продажбата на гласове, защото купувача им може да получи данните и картата от продавачите и да гласува от тяхно име. От друга страна, ограничаването на дистанционното гласуване само от чужбина усложнява и оскъпява злоупотребите и намалява риска.
Да включим и мобилния телефон
Може да се предполага, че голям дял от живеещите в чужбина българи, искащи да гласуват, имат мобилни телефони. Те могат да се използват като допълнително средство срещу продажбата на гласове. Например в декларацията да се попълва и личният мобилен номер на желаещият да гласува. Този номер може да бъде вкаран в процедурата по гласуване, например чрез изпращане на SMS-си. Ползата от вкарването на телефона е в оскъпяването на купения глас, и възможността за последваща проверка от къде е направено гласуването.Тайната на вота
В решението на парламента се изискват "законови гаранции за тайната на вота". Не е много ясно, какво са искали депутатите, но може да се предполага, че ще бъдат предвидени наказания за тези, които по някакъв начин разкрият тайната на вота.Трябва обаче да има и технически мерки, които да направят трудна атаката срещу анонимността на гласуването. Един добър подход би бил разделянето на частта за идентификация на гласоподавателя и самото гласуване, на два отделни проекта, които да се изпълняват от два независими екипа и които да комуникират помежду си, само по предварително уточнен протокол. По този начин, на сървъра, където се намират криптираните бюлетини няма да присъства информация за гласоподавателите, а на сървъра, където се прави идентификацията - няма да има данни как е гласувал избирателя.
Горната картинка показва процеса на е-гласуване с участието на два сайта. След като идентифицира гражданина, първият сайт пренасочва браузъра на гласоподавателя към сайта за гласуване, като го съпровожда само с временен разрешаващ код, без данните на гласоподавателя. Във втория сайт се попълва бюлетината, която преди изпращане се криптира асиметрично с публичен ключ на ЦИК. Технологията за криптиране с публичен ключ и декриптиране с частен е проверена и се използва широко в Интернет. В случая за по-голяма сигурност, вместо един, ЦИК може да има няколко ключа, разпределени в различни нейни представители, така че да е необходимо всичките да бъдат използвани, за да се декриптира съдържанието на бюлетините.
Защити по IP-та и др.
На много места, включително и в парламента, в обсъждането на референдума и резултатите от него се говореше за IP-та, а в един проект за закон за дистанционно гласуване дори включваше MAC-адреси. Наистина има бази от данни, които показват къде вероятно се намира устройството с дадено IP, а MAC адреса на теория е уникален идентификатор на дадено мрежово устройство. Тези неща обаче са или недостъпни или лесно манипулируеми и не могат да участват в изборния процес. Единствена полза от IP-тата може да има за статистическа информация и като сигнал за подозрително гласуване.В заключение
Това, което предлагам прилича на естонския вариант за е-гласуване, само че смарт-картите, четците, Java-та и свалянето на приложение са заменени със скреч-карта и изцяло уеб интерфейс. По-опитните от вас вероятно са забелязали недостатъци на тази идея или възможности за атака. Не забравяйте обаче, че това не е краен проект, а идеите търпят развитие и усъвършенстване.Сигурен съм, че повечето от нещата, които съм написал по-горе няма да видят "бял свят". Въпреки това за мен е удоволствие да споделя мислите си по въпроса за дистанционното гласуване с познатите си в Интернт.