В ходе создания систем электронного голосования необходимо использовать параллельный аудит. Это такой аналог наблюдателей на обычных выборах.


Существует несколько способов организации параллельного аудита:


  1. с использованием криптографии
  2. с использованием бумажного подтверждения
  3. с использованием аудиоконтроля
  4. или даже технологии двойной записи (на электронный носитель и бумагу).

Профессор Ребекка Меркьюри, создатель концепции VVPAT (аудит по заверенным избирателями бумажным бюллетеням), обосновывает эффективность распечатывания бумажного бюллетеня с целью дальнейшего его подтверждения избирателем перед окончательным учётом (впоследствии этот метод стали называть «Метод Меркьюри»). Чтобы быть окончательно подтверждённым, голос должен быть подтверждён избирателем без использования визуальных или аудиосредств. Например, если избиратель использует сканер штрих-кода для того, чтобы подтвердить свой выбор, то такой голос не может считаться подтверждённым, так как фактически его подтверждает не сам избиратель, а электронное устройство.


Системы голосования со сквозным аудитом выдают избирателям подписанные квитанции, которые можно забрать домой. Такие квитанции не позволяют узнать, как именно проголосовал избиратель, но позволяют проверить, что голос был учтён, узнать общее количество голосов и результаты голосования.


В системах электронного голосования это может быть некий GUID, введя который в личном кабинете избиратель может проверить за кого отдан его голос. Или сгенерированный приватный ключ, возможно даже одноразовый, с помощью которого избиратель может расшифровать только совой голос.


Также системы аудита могут использоваться для обнаружения неполадок оборудования и случаев мошенничества. В случае использования системы VVPAT, бумажный бюллетень является основным документом, а электронные голоса используются только для предварительного подсчёта. Для успешного аудита устройства для голосования необходима целая последовательность мероприятий, которая разработана, описана и именно за ее исполнением следят между народные наблюдатели (хотя и не только за этим).


На текущих выборах параллельный аудит происходил посредством печати данных из очереди на сервере до записи в блокчейн, то есть его инициировал централизованный орган и при этом у пользователя не было возможности проверить, был ли учтен его голос, была отключена возможность пользователям просмотреть результат своего голосования и проконтролировать правильно ли учли его голос избиратели не подтверждали свой голос без использования электронных средств.


Наша восстановленная схема выглядит так (комментарии, предложения приветствуются):


image


  1. пользовательский интерфейс и формы бюллетеня
  2. анонимайзер (расположен на стороне ДИТ) в коде на github он отсутствовал
  3. генератор бюллетеня
  4. передача данных для параллельного аудита (передача осуществляется с сервера ДИТ, до попадания данных в БЧ):
    4.1.мониторы, установленные в УИК
    4.2.печать данных на ленте (на печатном носителе) — кто проголосовал
  5. запись данных в БЧ
    5.1. вторая печатная лента в зашифрованном виде печатается в процессе голосования

Таким образом можно говорить о том, что сквозной аудит не проводился на самом деле. Более того использование принтеров для дублирования расшифрованных данных из очереди на сервере ДИТ оставляет возможность для администраторов системы ЭГ сопоставить результат голосования и избирателя.


Здесь следует сделать пояснение: ДИТ утверждает, что на сервере существовала задержка времени, которая призвана была сократить до минимума или полностью исключить возможность сопоставить данные избирателя (профиль на портала mos.ru) и результат его голосования. Тем не менее в ходе исследования мы посчитали, что эта задержка была не достаточно большой и оставляет хоть и низкую, но ощутимую вероятность сопоставления данных до записи в блокчейн.


Энтропия зависит от времени с точностью до секунды и координаты клика мышью.


userEntropy = Math.floor( (e.clientX + e.clientY) * (Math.floor(new Date() / 1000)) );

Координаты клика находятся всегда где-то в области соответствующей кнопки. Даже с учётом, что страницу можно открутить вверх-вниз и кнопка по вертикали сместится, всё равно это зона, допустим, 1000x200 точек. Время с точностью до секунды легко определить, так мы знаем, когда человек голосовал. Логирование действий пользователей и отправки голосов никто не отменял. Таким образом можно свести к нескольким сотням возможных значений.


Даже если, допустим мы не знаем время голосования пользователя i, то всё голосование длится 12 * 3600 = 43200 секунд. Итого всего 1000x200x43200 ~ 8,5 миллиарда. Можно на простом ноутбуке перебрать вероятные значения для каждого пользователя за несколько десятков минут.
Меняем ноутбук на сервер и gpu и получаем магию, сводящую энтропию к 0.


Поэтому мы можем утверждать, что администраторы портала проведения ДЭГ при наличии заинтересованности могли с легкостью сопоставить данные избирателя и результат его голосования.


Оксана. Координатор технической группы.

Комментарии (13)


  1. BasilSnowman
    22.12.2019 16:14
    -1

    ошибка на ошибке. начинайте уже тратить время на оформление текстов в нормальных редакторах, а не в телефонах.
    — «Параллельный аудит в ходе Электронного голосованиЯ»
    — «В системах элеКТронного голосования это может быть некий GUID»

    про запятые вообще не говорю. видимо, формат статей в стиле «доклад второклассника» — это прямо тренд сезона.
    … теперь можете ставить клеймо «граммар-наци» и кидаться помидорами. ваш ход.


    1. vasyapivo
      22.12.2019 16:33

      Если бы вы боролись за чистоту языка, то отравили бы ошибки автору в личку, и он бы их поправил. А если вы хотите унизить человека, то комментарии — ваш выбор.
      А возвышение себя за счёт унижения других — это плохо.


      1. Sirion
        22.12.2019 18:11

        Когда ошибок овер9000, очевидно, что на язык автору плевать. И одно дело — поправить пару случайных опечаток, а другое — работать корректором.


      1. olartamonov
        22.12.2019 18:58

        Я правильно понимаю — согласно этой логике, борющимся за чистоту выборов надо писать не статьи, а письма напрямую в ДИТ, чтобы они там у себя поправили?..


        1. CryptoTyan Автор
          23.12.2019 14:06

          С ДИТ был и диалог, и письма, и даже общение. Но ДИТ упорно игнорировал все замечания пока обсуждение не вышло в публичное поле, вероятно общаться с ними нужно только так. Так как 90% замечаний и комментариев от экспертов они проигнорировали в ходе обсуждения внутри рабочих групп.
          А данные замечания и проблемы были установлены уже после проведения ДЭГ


          1. olartamonov
            23.12.2019 14:18

            Оооо, «рабочие группы».

            Люблю это. Самый надёжный способ похоронить любой проект — создать рабочую группу.


            1. CryptoTyan Автор
              23.12.2019 14:27

              «Рабочая группа» там бал инструмент число формальный. Можно видео с заседания посмотреть (Можно ли тут в комментах отправлять ссылки на ютуб?)
              Там эпичное: «Код всего продукта мы вам не для тестов не дадим и не покажем, техзадание тоже не дадим, вот есть кусок на гитхабе, по нему и делайте выводы» А по факту правки вносились 7 сентября, менее чем за сутки до выборов, и разумеется участники рабочей группы не могли с ним ознакомиться. Хотя формально все требования были соблюдены, до 7.09 что-то на гит выложили.


      1. Firz
        22.12.2019 21:42
        +2

        Комментарии в целом очень хороший вариант(следующий прочитавший статью не будет тратить свое время и расписывать в личку все ошибки, а увидит что кто-то уже поправил), если бы была возможность удалить его после внесенных исправлений.


    1. CryptoTyan Автор
      23.12.2019 14:04

      Спасибо большое за ваш комментарий, опечатки поправила. Здесь есть функционал отметить опечатку:

      Об опечатке в посте легко сообщить автору, выделив часть текста и нажав Ctrl+Enter или Cmd+Enter. Появится форма с выделенной цитатой и полем для вашего комментария. Когда вы нажмете кнопку «Отправить», сообщение уйдет автору поста и в дальнейшем будет видно ваших диалогах.

      Отправлять сообщения могут только зарегистрированные пользователи. Выделить можно любую часть текста на странице поста, но в цитату войдут только первые 220 символов. А максимальная длина комментария — 500 знаков.


      Еще раз, спасибо за замечание


  1. Sabubu
    23.12.2019 15:57

    Статья написана неудачно, так как начинается как будто с середины. Начинается с идеи "на выборах надо проводить аудит", при этом не объясняя, какие именно проблемы решает "аудит". Потом внезапно статья переключается на обсуждение московских выборов, но при этом о том, что речь идет про московские выборы, надо догадываться, явно это не написано.


    Далее, статья не объясняет, какие были проблемы с этими выборами, и как их можно решить.


    Статья должна начинаться с объяснения, о чем в ней пойдет речь, постановки вопросов, а в конце делать выводы. А тут же сумбурно изложены переживания, что администрация могла понять, кто как голосовал, хотя это самая маленькая из проблем электронных выборов.


    И в конце, упомянуто, что автор — член какой-то "технической группы", но может, стоит упомянуть ее название? А то появляются сомнения, не воображаемая ли это "техническая группа".


    Давайте я вам помогу. Начнем с общей проблемы: выборы — это ситуация, где никто никому не доверяет. Потому они должны быть максимально прозрачны, а иначе нет никакой разницы между настоящим голосованием и подсчетом голосов и просто объявлением заранее напечатанных результатов.


    Итак, вот какие риски добавляет электронное голосование в сравнении с бумажным:


    • риск голосования от имени "мертвых душ": власти могут нагенерировать любое число фейковых аккаунтов и голосовать от их имени. На бумажных выборах это сделать сложно, так как надо править списки избирателей (доступные наблюдателям) и нанимать массовку. На электронных выборах наблюдателям недоступны ни заявки на участие в эл. голосовании (с техническими данными вроде IP, модели устройства, телефона), ни составленный на их основе электронный реестр избирателей, что, видимо, сделано для облегчения создания "мертвых" душ.


    • риск голосования от имени настоящих людей, не имеющих права голосовать в этом округе, или риск повторного голосования от уже проголосовавших людей. У наблюдателей нет возможности проверить, кому выдается "электронный" бюллетень, в то время, как на бумажных выборах наблюдатель видит, что на участок приходят разные люди, а также видит, в какой строчке реестра избирателей они расписываются.


    • риск создания аккаунтов на реальных людей (пожилых, неграмотных), забирания у них логинов/паролей, и голосования с этих аккаунтов. Да, в теории там есть проверка по СМС, но как наблюдателю убедиться, что она производится всегда, и что там нет исключений при голосовании с IP-адресов бюджетных учреждений? Например: приходит человек в МФЦ оформить пенсию, а ему заодно создают аккаунт на госуслугах и записывают логин/пароль в тетрадочку чтобы позже проголосоватьт от его имени.


    • риск голосования по принуждению, например, в кабинете директора бюджетного учреждения, напоминающего, что "хороший" кандидат помогал и будет помогать их бюджетному учреждению и надо его "отблагодарить", а то учреждение могут закрыть и "подумайте, что тогда будет с детишками? вам их не жалко?"


    • риск голосования без принуждения, но на чужом компьютере с ПО, подменяющим выбор пользователя (довольно бредово, на мой взгляд, так как это сложно, и есть более простые способы давить на трусливых безвольных бюджетников. Но айтишники почему-то любят именно такие бредовые сценарии с хитрым вредоносным ПО. Вспоминается комикс XKCD про гаечный ключ)


    • вы пишете про фиксацию результатов на бумажном носителе для пересчета. Но есть риск, что власти и суды откажут в пересчете даже при наличии признаков, указывающих на фальсификации. Суду нужны доказательства, а где вы их возьмете, не имея доступа к реестрам избирателей и к логам компьютеров? "Результат 99% за власть выглядит неправдоподобно" — это не аргумент для суда, и не противоречит закону. Ведь 99% теоретически вполне могли проголосовать за власть, даже если соцопросы показывают противоположное. Следовательно, нет необходимости перепроверять "бумажный след" — скажет вам суд и хрен вы это опровергнете даже в ЕСПЧ. Если вы мне не верите, поинтересуйтесь, есть ли хоть одно доведенное до суда дело по поводу голосования в Чечне с явкой и результатом за власть > 95%. Или посмотрите, как безуспешно через суд пытались отменить итоги выборов в Екатерингофском округе при явных признаках фальсификации.



    Не нужно ссылаться на научные работы по выборам с Запада. Их пишут хоть и ученые, но глупые, наивные и оторванные от реальности люди. Эта Ребекка Меркьюри наверняка придумывала свой аудит, рассматривая систему с честными судами и правоохранительными органами. Но кто сказал, что они честные?


    "Бумажный след" работает только в головах глупых ученых-теоретиков с Запада, не понимающих психологию фальсификаторов, и не знакомых с настоящими крупномасштабными фальсификациями. В российских реалиях "бумажный" след может оказаться бесполезным, так как избирательные комиссии, суды и правоохранительные органы образуют единую систему, заинтересованную в фальсификации. И единственный способ их предотвратить — это не дать их совершить, так как потом будет поздно что-то делать. В бумажном голосовании вы можете закрыть рукой урну и не дать вбросить туда пачку бумаг. Вы можете подойти к толпе курсантов и взывать к их совести. В электронном голосовании вы бессильны, так как компьютеры контролируются властями, что в них происходит, вы не видите, а логи, которые можно использовать как доказательства, вам недоступны.


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


    Потому мне кажется, что в России электронное голосование преследует одну цель — обеспечить возможность фальсификаций и предотвратить возможность законной смены власти. Иначе объяснить, почему понадобилось проводить "эксперимент" в Москве и почему выборы сделали непрозрачными, я не могу. Неужели в Москве, городе с развитой транспортной системой, с метро и МЦК, МЦД есть какая-то проблема добраться до одного из тысяч участков? Попробуйте найти аргументы за проведение эл. голосования, и вы не найдете ни одного убедительного.


    А если это правда так, то все рассуждения об аудите и западных теориях бесполезны.


    По поводу проблем и нарушений на эл. выборах можно почитать подробный доклад Романа Юнемана: https://evoting.ru/


    1. CryptoTyan Автор
      23.12.2019 16:41

      Чуть позже отвечу вам подробнее, сейчас на встречу. Я координировала техническую группу при подготовке вот этого отчета evoting.ru
      Выбрала довольно интересную часть большего технического доклада drive.google.com/file/d/1L9U2ssdjw_nRJMjBIzebhPDppfoWZgmJ/view

      drive.google.com/file/d/1O5TdPLv_zh3wBS6QY6kw0YjPJYiIrvot/view
      восстановленная хронология событий
      drive.google.com/file/d/1CcUXwRFCoSQ1NxzQtdwpi1spUQxSrWLE/view полный аудит на 103 страницы

      Возможно да, как человек который в теме и несколько месяцев плотно лопатил гит и статистику, я немного предвзята и начала писать как для своих.


  1. CryptoTyan Автор
    24.12.2019 10:29

    Вот насчет этого риска, спасибо вам за идею, напишу отдельно.

    риск голосования от имени настоящих людей, не имеющих права голосовать в этом округе, или риск повторного голосования от уже проголосовавших людей.


    Даже может мои матрицы рисков выложу.


  1. DIT
    25.12.2019 19:18

    Благодарим Вас за интерес к электронному голосованию.


    Хотелось бы обратить Ваше внимание на следующие ключевые моменты.
    Возможность проверить свой голос была заложена в систему на этапе проектирования и это было реализовано в проекте.
    Любой пользователь при наличии навыков, мог сохранить уникальный идентификатор транзакции и потом сличить этот идентификатор с данными на напечатанных бюллетенях или в трансляции ноды наблюдателя в интернет.
    Собственно, это и проделал корреспондент Медузы: https://meduza.io/slides/meriya-sluchayno-pozvolila-rasshifrovat-golosa-na-vyborah-v-mosgordumu-my-eto-sdelali-i-nashli-koe-chto-strannoe


    1. Транзакция на зашифрованном бюллетене, гарантирует факт учета голоса в блокчейн.
    2. Расшифрованная транзакция гарантирует факт корректного подсчета голоса.
      Таким образом возможность аудита предоставлялась на значимых этапах процесса голосования.
      Однако, этот функционал не афишировался и инструменты для такой проверки не предоставлялись обычным пользователям, потому что нормативно это не урегулировано
      Вероятен сценарий принуждения к голосованию, и кто-то мог бы теоретически проэксплуатировать эту возможность.
      Методика параллельного аудита нам понятна, как и другие технологические нововведения, которые мы планируем развивать, например, возврат голоса / переголосование без нарушения тайны и анонимности голосования.