ГН продолжает серию публикаций про электронное голосование на выборах в Мосгордуму и сегодня у нас текст Сергея Балашова, ПСГ ТИК Бибирево.
Как присутствовавший на электронном голосовании (далее - ЭГ) в качестве члена ТИК, я считаю, что мне есть что рассказать интересного про то, как это происходило, и какие выводы (в том числе документальные) были сделаны. Ниже будет стена текста, но, к счастью, чтобы его понять вам совсем не надо знать что такое блокчейн, или зашифрованный канал, или скрипт в браузере, потому что я почти не буду говорить про техническую составляющую.
Я выложил фотографии хода ЭГ в течение дня, а также фотографию того текста, который мы приложили в качестве особого мнения к протоколу голосования в УИК и ТИК по электронному голосованию (это особое мнение/жалоба ушли ещё выше ТИКа - в МГИК), продублирую его текстом ниже, и поясню человеческим языком, в чём мы видим недостатки текущей версии эксперимента ЭГ, и в чём происходит ущемление прав (ну или если хотите - даунгрейд) избирателей.
Так как намного более технически подкованные люди уже давно разобрали технические детали, мы решили не лезть в дебри терминологии и реализаций, а сосредоточились на более понятных людям вещах, а именно - сравнении процедуры ЭГ с "традиционной", и разбору возникших несоответствий. В первую очередь за основу мы будем брать самое простое голосование с урнами, галочками, и ручным пересчётом. Поехали!
Из текста особого мнения:
В ТИК района Бибирево от члена комиссии с правом решающего голоса Молоканова Михаила Викторовича.
Не согласен с содержанием итогового протокола ТИК и пользуюсь правом приложить настоящее особое мнение. Считаю невозможным достоверно установить итоги голосования на участке экспериментального электронного дистанционного голосования №5002 в связи со следующими факторами:
>> 1) Нет возможности у членов комиссии и наблюдателей убедиться в отсутствии вмешательства в алгоритм учёта волеизъявления избирателей на серверах осуществляющих приём и учёт и обработку электронных бюллетеней.
//Комментарий: Звучит на первый взгляд дико - кто же пустит (неважно, виртуально или физически) всяких членов комиссий, которые к тому же могут и не понимать ничего в технике, на сервер, да ещё находящийся в "защищённой зоне стратегически важной инфрастуктуры стратегического назначения" (цитата одного из технических специалистов ДИТ)? Верно, никто не пустит. А это и не надо. А что надо - это возможность убедиться не только в том, что сами программы написаны верно (для этого исходный код уже доступен для проверки всем желающим, и это уже помогло найти некоторые "дыры"), но и в том, что именно этот код размещён на серверах, без изменений. Но на сервер не пустят. Значит, нужен механизм проверки и контроля, что на определённые действия всегда чётко обозначенная реакция, и эта цепочка прослеживается. В "физическом" мире этот алгоритм контроля отсутствия вмешательства чётко описан - человек голосует сам, собственной рукой, с урнами совершаются строго регламентированные процедуры, всё прозрачно, доступно, и прочая и прочая. В ЭГ же алгоритм не так ясен - даже если опустим про "голосует своей рукой", и все фокусы с аутентификацией оставим порталам Госуслуг, то остаются этапы компрометации с подменой голоса на стороне голосующего (атака с джаваскриптом на стороне браузера описана на предыдущих рабочих группах) и подмена результата голоса на стороне сервера (намеренно или из-за бага - неважно). Предлагается просто доверять, что всё будет зачтено верно, "ведь тут блокчейн"! И тут можно возразить - "а как же КОИБы? Это же тоже машины, и там тоже могут быть баги или преднамеренные искажения кода, а мы ведь им верим!" И тут мы подходим к пункту номер два:
Из текста особого мнения:
>> 2) Отсутствуют дублирующие механизмы контрольного пересчёта голосов, аналогичного ручному пересчёту КОИБ.
//Комментарий: А вот и ответ "почему мы верим КОИБ" - потому что есть обязательная процедура, в результате которой случайно выбранные КОИБы вскрывают, результаты пересчитывают, и смотрят насколько верно всё посчитано. Кроме того, есть и другие случаи, в которых результаты КОИБов пересчитывают. А с ЭГ процедуры подсчёта голосов нет. Есть процедура подсчёта и учёта распечатанных обезличенных расшифрованных голосов, которые надо сопоставлять с распечатанными обезличенными зашифрованными голосами, что совсем не то же самое, потому что, как говорилось в пункте первом, мы не можем быть уверены, что то, что мы в этой процедуре сверяем является именно тем, как проголосовали избираетели, а нужна именно процедура проверки того как именно проголосовали избиратели, в ручном режиме, и сверки с тем, как это посчитала машина, а не сверка двух подсчётов машины - до и после шифрования. Потому что есть ещё такой фактор, как сбои системы. Не блокчейна, а всей системы, как комплекса. Про это - следующий пункт.
Из текста особого мнения:
>>3) Неоднократные технические сбои в ходе голосования, которые в некоторых случаях привели к полной невозможности реализации активного избирательного права гражданами. Отсутствие механизмов коррекции сбоев.
//Комментарий: Только совсем далёкий от ЭГ человек не слышал, что по одиночке и в различных комбинациях во время голосования падали модуль авторизации по смс, модуль выдачи бюллетеня, модуль приёма результата голосования (что именно проставлено в бюллетене), и модуль криптографии. А, да - ещё падал сам телефон технической поддержки. Возможно, были ещё какие-то модули, которые падали, но мне об этом доподлинно неизвестно. Как именно, в какой последовательности, и по каким причинам, я оставлю здесь за рамками дискуссии, а сосредоточусь на том факте, что в результате этого возникали следующие ситуации:
-1) Избиратель не мог получить доступ к странице ЭГ. По истечении времени доступ мог быть получен.
-2) Избиратель не мог получить бюллетень (бюллетень не отображался, скрипт на странице не рапортовал, что бюллетень прогрузился), и система фиксировала, что бюллетень избирателем не получен. По истечении времени бюллетень мог быть получен.
-3) Избиратель не мог получить бюллетень (бюллетень не отображался, скрипт на странице не рапортовал, что бюллетень прогрузился), но система фиксировала, что бюллетень избирателем получен. Это интересный случай, мы его рассмотрим чуть позже, пока важно знать, что по истечении времени всё же люди могли как правило проголосовать.
-4) Избиратель мог получить бюллетень, и система засчитывала, но не мог проголосовать. А вот это уже очень серьёзно, так как такие люди из-за особенностей системы (системы учёта ВЫДАЧИ бюллетени, ПРИЁМА пользователем бюллетеня и ПРИЁМА РЕЗУЛЬТАТА бюллетеня - всё разные системы, насколько я понял объяснения человека из ДИТ, также возможно системы ВЫДАЧИ и ПРИЁМА это одна система, а ПРИЁМА РЕЗУЛЬТАТА - другая, это важно) могло быть так, что физически не могущий выбрать кандидата и нажать на неработающую кнопку "проголосовать" человек засчитывался в системе как проголосовавший, но потративший свой голос "вникуда", потому что у него истекли данные ему 15 минут, и он ни за кого не отдал свой голос, не нажав кнопку "проголосовать" при выбранном кандидате, то есть, условно, "унёс бюллетень". Так как такие пользователи записывались как те, кому выдали бюллетень, то реализовать своё избирательное право они уже не могли - при повторном логине им говорилось, что они уже голосовали. И механизмы коррекции этого сценария - отсутствуют. Тот, кто зарегистрировался в ЭГ, не может проголосовать другим способом. По аналогии, те, кто не могут прийти в участок выбирают надомное голосование, и они могут от него отказаться и прийти проголосовать. У ЭГ такой возможности "прийти и проголосовать" - нет. По ещё одной аналогии, если избирателю выдали бюллетень, но он его испортил, и не проголосовал им, он вправе обратиться в комиссию, чтобы у него изъяли испоренный бюллетень, и выдали взамен корректный бюллетень, чтобы он смог реализовать своё избирательное право. У ЭГ такой возможности "получить бюллетень взамен испорченного или утраченного" - нет.
// В середине дня количество людей с третьим и четвёртым сценариями на нашем участке было суммарно около 500 человек - такой был разрыв между выданными бюллетенями и количеством учтённых голосов. Под конец дня сколько-то из людей второго и третьего сценария смогли проголосовать (вернёмся к этому), поскольку разрыв между выданными бюллетенями и проголосовавшими сократился где-то до 250 человек. Но вот эти 250 оставшихся - это проблема. Были ли это 250 человек, которые намеренно завалили сессию и "унесли бюллетень" (что не очень-то логично), или были это люди из четвёртого сценария, у которых, условно этот "бюллетень унесли" - неизвестно. Но есть отзывы, что некоторые люди, кто хотел проголосовать, так и не смогли этого сделать - как раз сценарий номер четыре. 250 - это очень много, учитывая, на каких цифрах разницы подсчёта голосов на этих выборах решалась судьба депутатского кресла. Строго говоря, даже один голос - это много.
И тут я предлагаю вернуться к третьему сценарию, где избиратель не мог получить бюллетень сначала, но смог потом (приходила смс, что теперь всё починили, ну или просто всё начинало работать).
Из текста особого мнения:
>>4) Выдача бюллетеней и большинство иных избирательных процедур возложены на Департамент Информационных Технологий (ДИТ). Фактически на ДИТ возложили все ключевые функции избирательной комиссии без должного регламентирования данной деятельности законами и без соблюдения избирательных принципов гласности, открытости и коллегиальности, закреплённых в Федеральном Законе №67 "Об основных гарантиях избирательных прав и права на участие в референдуме граждан Российской Федерации".
//Комментарий: Давайте посмотрим второй и третий сценарий - человек не мог получить бюллетень, и система засчитывала либо что человек не получил бюллетень, либо что получил. Как определялась разница между вторым и третьим сценарием? Автоматически (скорее всего). Как определялось, что сценарий именно третий, и на самом деле человек не видел в глаза этот бюллетень? В ручном режиме специалистами ДИТ. Как определялась разница между третьим и четвёртым сценариями? В ручном режиме специалистами ДИТ. Кем было принято решение о том, что в третьем сценарии пользователю надо дать ещё одну сессию для голосования? Специалистами ДИТ. Кем было принято решение о том, что в четвёртом сценарии пользователю не надо дать ещё одну сессию для голосования? Ну, вы уже догадываетесь - специалистами ДИТ.
И тут возникает самый важный вопрос - а на каком основании, на каком положении закона, и где существует запись об аргументации этих решений, и о том, кто их принял? Кто эти люди, какие у них полномочия и ограничения, и какая ответственность перед законом? Ответ - неизвестно, и (тут могу ошибаться, глубоко не копал) возможно никто и не должен нам эту информацию открывать. И это - огромная проблема по сравнению с "традиционным" голосованием.
В "традиционном" голосовании есть целый огромный закон, который регламенитрует всё от начала и до конца. Кто из избирательной комиссии принимает решения о выдаче бюллетеней, на каком основании, кто в чём отказывает, как это логгируется, кто может на это повлиять, как ведутся записи об этих решениях, как эти решения обжалуются, и кто вообще допускается до принятия этих решений. И нарушение этой процедуры и превышение полномочий - административное, или даже уголовное преступление.
В электронном же варианте голосования все эти решения о том кому выдавать, а кому не выдавать, а кому дать ещё раз сессию, а кому не дать, принимаются неизвестно кем, неизвестно на каком основании, неизвестно где записан лог об этом, и неизвестно какая ответственность будет за неправильно применённые процедуры. Как я имел возможность лично убедиться - специалисты ДИТ действительно очень грамотны с технической точки зрения, но при этом имеют крайне неглубокие познания процедуры и закона с юридической точки зрения (вплоть до почти совершения правонарушений, грозящих административной отвественностью).
То есть, полномочия у ДИТ очень широкие - при полномочиях, достаточно широко схожих с УИК, на которых действует целый закон с регламентами, у ДИТ нет такого закона и регламента. Получается, что они могут делать всё то же, что и УИК, но при этом избегать процедур ФЗ 67 в частях гласности, открытости и коллегиальности, и не нести за это ответственность. Потому что нигде это не прописано.
//Итого: в текущем виде эксперимент показывает, что процедура недоработана с двух сторон. С технической (сбои), и с правовой, что приводит к ущемлению процедуры и избирательных прав граждан по сравнению с "традиционной" процедурой как в частях гласности/открытости/коллегиальности , так и в части, собственно, реализации этого самого избирательного права.
На основании этого и было подано особое мнение о том, что ЭГ делает невозможным достоверно установить итоги голосования, и результаты этого голосования следует отменить.
Считаю эксперимент в данной итерации неудачным. Если в таком виде (как техническом, так и правовом) эта процедура будет признана успешной, то это закат свободной и прозрачной избирательной системы в России. А что это означает для всех нас, думаю, объяснять не надо.
P.P.S. На нашем участке (УИК 5002) из 3799 проголосовавших (что примерно в 5-10 раз больше, чем на "простом" физическом УИК на районе) примерно 2200 было отдано за Картавцеву (самовыдвиженка, связанная с "Единой Россией").
Эти цифры приведены чтобы был понятен масштаб. Отмена результатов голосования на электронном УИК примерно равна отмене результатов голосования на 5-10 физических УИК. При этом совершенно логично, что явка выше, и также логично, что процент за кандидата с предполагаемым админресурсом тоже выше, чем на физических УИК, потому что получается, что было "перетекание" этих голосов с физических УИК на электронный. Не было бы ЭГ - эти голоса были бы зачтены в физических УИК. Но вот проверить всё это никак нельзя, это только мои логические выводы.
Фото и текст: Сергей Балашов