Движение в защиту прав избирателей. Наша цель — свободные и честные выборы в России. RU EN
Карта сайта Регионы Сервисы EN
Cover
Коллаж: Ксения Тельманова

Тайны дистанционного электронного голосования в России нет

Блог | Александр Исавнин
Член Пиратской Партии России, преподаватель Свободного Университета

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

Я же более двух лет стараюсь внимательно следить за разработкой систем дистанционного электронного голосования (ДЭГ) в России. Пиратская Партия, делегировавшая меня на эту грустную работу, выступает за прямую электронную демократию, но то, что сейчас под видом электронного голосования пытаются внедрять российские власти, не является шагом к электронной демократии, а скорее — очередным элементом строительства цифрового ГУЛАГа.

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

В самом общем виде требования к организации голосования на выборах описывает Федеральный закон 67-ФЗ «Об основных гарантиях избирательных прав и права на участие в референдуме граждан Российской Федерации». 

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

Сейчас я бы хотел поговорить о сохранении тайны голосования. Статья 7 67-ФЗ гласит: «Голосование на выборах и референдуме является тайным, исключающим возможность какого-либо контроля за волеизъявлением гражданина» и, значит, ДЭГ должно исключать возможность контроля.

Тайна голосования важна для того, чтобы обеспечить свободу волеизъявления, в частности, не давая возможность наказывать поддерживающих «неправильных» политиков. За свежими примерами далеко ходить не надо — наказание нелояльных работников метрополитена.

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

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

В Википедии есть хорошая статья, описывающая такие алгоритмы: https://ru.wikipedia.org/wiki/Протоколы_тайного_голосования

В существующих системах голосования от Департамента информационных технологий Москвы (далее ДИТ) и от Ростелекома/ЦИК (РТК) на текущий момент применяется что-то очень похожее на разновидности «протоколов двух агентств»: у ДИТ два агентства с какими-то добавками и протокол Хэ-Су у РТК. Хотя нигде в рекламных материалах и статьях разработчиков они не будут указаны под такими названием, догадаться можно только по косвенным причинам и посмотрев отдельные приоткрытые кусочки кода(репозитории ДИТ, РТК). И нам об этом предпочтут не рассказать, потому что, помимо красивой математики, для работы такого протокола обязательно требуются «два агентства»: одно выдаёт бюллетени, а второе — проводит подсчёт. И для обеспечения тайности голосования важно, чтобы эти агентства не могли обмениваться информацией. В современных протоколах, например Хэ-Су, заложены меры, усложняющие сговор агентств, но требуются и организационные меры. 

В российских же системах двух агентств нет: оба — и ДИТ и РТК — и выдают бюллетени и пересчитывают их. Рекламные материалы и пропагандисты интенсивно рассказывают про какие-то меры, позволяющие охранять тайну голосования, но они аккуратно умалчивают о необходимости двух независимых сущностей для выдачи и подсчёта бюллетеней. 

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

В предлагаемом реальном голосовании слово «отправляет» из описания протоколов в Википедии оставляет кучу следов, позволяющих так или иначе идентифицировать пользователя. Сопоставление логов вебсерверов, проводивших авторизацию пользователя в ЕСИА/mos. ru, выдающих бюллетень, «анонимно» принимающих голос избирателя позволяют ДИТу и РТК однозначно сопоставить пользователя и его голос. Ведь в логах вебсервера оказываются IP адрес, версия браузера, версия ОС и т. п. И поэтому ДИТ имеет возможность однозначно сопоставить расшифрованный голос в итоговом протоколе с зашифрованным голосом в блокчейне, а по ИП адресу и другим следам выяснить, кто же этот голос оставил. 

В случае с РТК всё немного сложнее: там применяется гомоморфное шифрование, фактически выбор избирателей суммируется не расшифровывая конкретные голоса. Но тут злоумышленному организатору голосования на помощь приходит блокчейн: у РТК есть голоса, поданные в последовательности. Они знают в какой последовательности сохранили голоса конкретных пользователей, и применяя гомоморфное суммирование не ко всем голосам, а выбрасывая из блокчейна по одному и суммируя остаток, они смогут понять, какой же выбор был сделан конкретным пользователем.

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

Расположившись где-то здесь, злоумышленник из числа организаторов выборов вычислит тебя по ИП! А потом и выяснит как ты проголосовал

В публичном пространстве информации о системах ДЭГ крайне мало. Разработчики публикуют её крайне аккуратно, чтобы не вызвать излишний интерес и критику. В основном общие слова и пиар.

Картинка выше о системе, разрабатывемой РТК, доступна из материалов на сайте Центральной Избирательной Комиссии.

Схемы современной системы от ДИТ в публичном пространстве нет.

Я обращал внимание разработчиков этих систем на наличие подобной уязвимости (ДИТу аж с эксперимента в 2019-м году). К сожалению, в ответ получал или явную неправду или пропаганду:

  • В 2019-м году обещали сбор бюллетеней и подсчет результата отдать в МГИК. Но на разборе после эксперимента выяснилось, что «ну не смогли».
  • На голосовании по поправке победно кричали, что «да хоть Навальному отдадим, но не отдадим, потому что безопасность». «И вообще, никто кроме нас (ДИТ/РТК) в России не может обеспечить такую надёжность и безопасность ИТ системы, поэтому ну не может быть у нас второго агентства».
  • «Сергуниной клянёмся, что это у нас разные подразделения и никто не может сопоставить логи в такой схеме».
  • Пропагандисты подпевают: «это не задача ДИТ/РТК организовывать два агентства, это должны делать МГИК/ЦИК, а раз они ничего не говорят...»
  • «Если такая уязвимость существует теоретически, то пока в суде не доказано, что её использовали, то и обращать на неё внимания не стоит». (WAT?)
  • «Ну пользователь может постараться, скопировать ссылки, получив бюллетень подключиться к другому провайдеру и поменять идентификацию браузера и тогда никто не узнает» (вы в это верите?).

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

Казалось бы, при чём тут блокчейн? А не при чём, при правильно организованном по такому протоколу голосовании (как в любимой пропагандистами Эстонии) неизменность и целостность результатов подтверждается иным способом.

Можно рассказать и о других недостатках/уязвимостях применяемых сейчас в России ДЭГ. Вот эта конкретная уязвимость с нарушенной тайной голосований мне кажется наиболее неприятной для голосующих избирателей и наиболее покрываемой разработчиками и пропагандистами.

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

И ещё из до сих пор не опубликованного — нет деталей и подтверждения корректности работы системы ДИТа в части «отложенного» голосования. Там нельзя быть уверенным в корректности итогового результата.

А РТК ещё в 2020-м году обещал в статье на Хабре рассказать про используемое в его системе доказательство с нулевым разглашением, а воз и ныне там.

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

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