Как стать автором
Обновить

Комментарии 47

НЛО прилетело и опубликовало эту надпись здесь

Это если что-то ещё останется после
candidate_id=“1’); drop table *”

НЛО прилетело и опубликовало эту надпись здесь
Ну так и есть. «Живых» сторонников ПЖиВ искать всё сложнее, а с электронным всегда можно развести руками «Не знаю кто, но вот же, проголосовали...»
Вообще говоря существуют криптографические механизмы тайного голосования с возможностью проверки голоса и прочими интересными опциями. Вопрос только в желании реализовать всё как надо, иначе это пыль в глаза.
И это делать московские власти, очевидно, не будут
Тайное голосование подразумевает невозможность начальника стоять за спиной в кабинке ТАЙНОГО голосования и контролировать процесс. Как же криптография решает эту проблему?
Как анонимность реализована? Хотя бы сервер-сайд.
НЛО прилетело и опубликовало эту надпись здесь
Насколько я знаю, есть математически возможные варианты тайного голосования с возможностью последующей проверки своего голоса
НЛО прилетело и опубликовало эту надпись здесь
Но нет гарантий что будут использованы именно они. Вам могут сказать что все действительно честно, а на самом деле имитировать и рисовать нужные в конечном итоге. Все-таки явные наблюдатели или подсчет под камеру онлайн вызывает больше доверия, хотя бы потому что остается возможность поймать за руку. А так вы и знать не будете что там на бэкэнде делается
Остается только делать распределнный бэкенд с открытым исходным кодом, который умеет переживать нечестных участников (если их меньше 1/3, например), и поднимать сеть с независимыми участниками.
Чисто теоретически, представьте:
1. Избиратель генерирует секретное число I и предоставляет в Избирательную Комиссию (ИК) его хэш H.
2. ИК выдаёт «электронный бюллетень» — число B.
3. На основе сформированного набора бюллетеней генерируется программа (zk-Snark или zk-Stark, я ещё не достаточно хорошо разобрался в этих технологиях, чтобы понять что тут более применимо), которая позволяет проверить соответствие B и I (т.е., что пара чисел B и H имеется в списке зарегистрированных избирателей), не раскрывая их значений, но раскрывая хэш от конкатенации B и I.
4. Во время голосования избиратель создаёт и публикует набор данных с выбранными кандидатами, доказательство, что он владеет B и I, а также хеш от concat(B,I).

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

Хеши выданных бюллетеней можно публиковать до начала голосования.
Но от выдачи левых бюллетеней спасут только наблюдатели. Поэтому их выдача должна быть offline.

НЛО прилетело и опубликовало эту надпись здесь

В этом вы абсолютно правы. Такую электронную систему внедрять не один год надо. И в России точно есть проблемы поважнее.
Я с того и начал, что размышления чисто теоретические.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Ага, меня эта их ЭЦП тоже «порадовала». Выдать токены, говорите? Вы же понимаете, что вы генерируете ЭЦП на ресурсе, которому вы НЕ доверяете в данном контексте и который эту же ЭЦП хранит у себя? Это просто филькина грамота, а не ЭЦП. Удовлетворяет формальным условиям «чем-нибудь подписать», но совершенно неудовлетворительно с точки зрения «мы хотим честные выборы».
Официально население России — 144 млн, но по некоторым подсчетам (на основе известных данных потребления) — реально около 90 млн. Т.е. в резерве у них имеется до 54 млн мертвых душ, которые обеспечат победу любому нужному кандидату. Честно сыграть не получится))

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

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

То есть там будет мой голос, подписанный моим приватным (никому не известным) ключом? Хорошо, а как они сгенерят моим ключом за полгода, можете сказать? И голос будет отдан в этой сгенеренной сети именно за того кандидата, за которого я и хотел (я могу увидеть своим ключом свой голос, в этом весь смысл)? Если нет, то я уже буду знать, что это подделка. И остальные несколько миллионов, голоса которых не совпадут.

Вы знаете, как они делают, да? Та же налоговая (nalog.ru). Они генерят вам ЭЦП и хранят у себя. И подписывают ваши документы этой же ЭЦП, чтобы отправить их себе.Ни о каком приватном ключе, который знаете только вы, на данный момент речи не идет.

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


То, что государство не захочет так, вопрос второй. Речь шла о том, что это возможно.

Речь идёт о том, что государство УЖЕ делает.
НЛО прилетело и опубликовало эту надпись здесь

Более чем. Это обычные выборы от этой атаки не защищены. Подделай 51% протоколов и ты президент.


А в данном случае всё намного лучше. Если поделать ваш голос и перевести его с кандидата 1 на кандидата 2 и сделать так ещё у 50 млн человек, то да, избрать можно кого угодно. Но каждый будет знать, что его голос подделан. Атака 51% позволяет перевести деньги, но не позволяет скрыть этого. Кошелек обманутого станет пустым. И не будет никаких споров, были фальсификации или нет. Каждый будет знать (и сможет показать кому захочет), что его голос подделан.

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

Причём такая схема работает для любой системы, хоть бумажной, хоть электронной. Электронно это делать как раз гораздо удобнее, т.к. можно распределить «мёртвые души» равномернее и избежать статистических аномалий. Плюс, госконторы избавляются от необходимости собирать селфи в день голосования, и собирают сразу флешки с ключами.

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


По поводу явки. Я напомню, ключей у правительства нет. Это значит, нужно фальшивых ключей десятки миллионов штук. Если слепки ключей доступны (должны быть), то всем видно, что в стране +30 млн избирателей стало.


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

НЛО прилетело и опубликовало эту надпись здесь

Если вы на выборы не пошли — то да, не значит. А если вы отдали флешку для выборов (активное действие) — то именно это и значит. Где передёргивание, по-вашему?


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

По поводу явки. Я напомню, ключей у правительства нет. Это значит, нужно фальшивых ключей десятки миллионов штук. Если слепки ключей доступны (должны быть), то всем видно, что в стране +30 млн избирателей стало.

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

А потом эти Феофаны идут и голосуют за кого надо.

Не имеет значения, резкий скачок или не резкий. Население-то известно, +30 млн не откуда взяться.


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


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


Сейчас такого явного преступления нет. Вроде кто-то проголосовал дважды, где-то лишние бланки. Всё по мелочи. Кража 30 млн чужих ключей (выдача самому себе вместо граждан) — намного более явное и крупное преступление.

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

НЛО прилетело и опубликовало эту надпись здесь

Monero не прозрачен. "Блокчейн — это прозрачность" — это ошибка.

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

TL:DR Все плохо, при наличии злых намерений можно нарисовать любые результаты и никакая криптография не поможет


Я вижу, тут в комментариях всерьез обсуждают возможность честного электронного голосования. Давайте рассмотрим существующие системы голосования подробнее. Вот анализ эстонской системы электронного голосования от 2014 года. Система работает так:


  • для голосования необходимо иметь id-card, имеющую в себе средства криптографии и выдаваемую правительством. Эта карточка позволяет использовать сертификат клиента при установке TLS-соединения с веб-сервером и таким образом подтвердить серверу личность пользователя. Также она используется для подписи выбора пользователя. Для этого в ней хранятся нужные приватные ключи шифрования. Карточка защищена ПИН-кодом.
  • используется 3 вида серверов: выставленный в Интернет сервер для приема голосов (VFS), это что-то вроде прокси, скрытый за ним непубличный сервер хранения голосов (VSS) и изолированный от сети сервер подсчета голосов (VCS).
  • перед голосованием генерируется ключ голосования, и публичная часть ключа встраивается в клиент для голосования. Приватная сохраняется на VCS в Hardware Security Module (HSM).
  • при голосовании программа-клиент соединяется с сервером VFS, проверяет TLS-сертификат сервера, аутентифицирует пользователя (через клиентский сертификат в id card) и в случае успеха проверки сертификата сервер VFS возвращает список кандидатов. Пользователь выбирает кандидата c, дополняет его id до нужного размера большим случайным числом r, шифрует число pad(c, r) публичным ключом голосования (b = encrypt(pad(c, r))), и подписывает результат (b) личным ключом в карточке, получая подписанный зашифрованный голос (sigma = sign(b)). Пара (b, sigma) отправляется на сервер.
  • пользователь позже может поменять свой голос (для защиты от принуждения), а также проверить на сервере, за кого он проголосовал (в том числе 30 минут после окончания голосования, но не более 3 раз). Детали опущу.
  • голос пользователя (пара b, sigma) отправляется на VFS. Тот пересылает его на VSS. VSS проверяет подпись пользователя в sigma, что он имеет право голосовать, и в случае успеха сохраняет голос. VSS может проверить подпись, но не может расшифровать голос, так как у него нет приватного ключа голосования.
  • по окончании голосования VSS перепроверяет подписи на всех сохраненных голосах, убирает повторные (если избиратель переголосовал) и удаляет подписи с голосов. Зашифрованные голоса без подписей записываются на DVD-диск.
  • с помощью DVD-диска данные переносятся на VCS. VCS расшифровывает с помощью HSM (в котором приватный ключ голосования) анонимные голоса, считает их, составляет протокол об итогах голосования. Протокол записывается на DVD.
  • сотрудники избиркома объединяют данные с DVD с данными с офлайновых участков и составляют итоговые протоколы.

Система построена по принципу "двойного конверта" (это когда избиратель заворачивает свой бюлетень в конверт, а конверт кладет во второй конверт, на котором он расписывается), не обладает свойством end-to-end verifiability (это когда любой имеет возможность проверить честность работы системы), и полагается на доверие к сотрудникам избирательной комиссии и к надежности серверов голосования. Вообще, мне кажется, после этой фразы дальнейшие исследования в отчете можно было бы и не проводить. Для прозрачности эстонцы обпубликовали часть (не весь) серверного кода системы, сняли на видео процесс установки и использования системы на серверах голосования, также, за этим было позволено наблюдать наблюдателям, хоть им и запретили пользоваться телефонами. Также, аудиторская компания была привлечена для проверки процедур.


Оставлю читателю возможность самому рассудить, насколько видеосъемка процесса установки программы может служить доказательством честности и надежности. Главное тут — доверие к ЦИК и разработчикам программы. А как вы думаете. можно ли доверять людям, у которых постоянно происходят странные вещи:



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


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


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


Вот, какие атаки возможны при электронном голосовании:


  • подделка итоговых протоколов с полным игнорированием реальных результатов, если наблюдатели не будут или не смогут посчитать голоса на ленте
  • подделка итогов и отказ проводить ручной пересчет, так как закон к этому не обязывает
  • замена голосов при подсчете при сохранении их количества, которую не смогут выявить наблюдатели
  • внедрение вредоносного ПО в софт для голосования или операционную систему на стороне сервера
  • можно после окончания голосования составить список не проголосовавших, и провести голосование от их имени на участке, если у наблюдателей нет доступа к ленте.
  • можно, наоборот, удалить часть голосов до подведения итогов.
  • ПО может тайно сохранять личность избирателя и его голос
  • если модифицировать ПО сложно, то можно на предприятиях, бюджетных учреждениях организовать добровольно-принудительное электронное голосование по очереди в кабинете директора. Трудно в присутствии начальника сделать неправильный выбор, согласитесь? Для социально незащищенных слоев населения, пенсионеров — голосование в МФЦ под присмотром соцработника.
  • для верификации в мобильном приложении используется SMS, а власти способны их перехватывать, что мы видели в истории со взломом Телеграма у оппозиционеров.

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


Также, кандидат в МГД Иван Жданов написал резонный вопрос: а почему бы не начать с "электронного" сбора подписей? Это удешевило бы их сбор и это не несет таких рисков, как голосование.


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

НЛО прилетело и опубликовало эту надпись здесь
для голосования необходимо иметь id-card, имеющую в себе средства криптографии и выдаваемую правительством… Для этого в ней хранятся нужные приватные ключи шифрования...
Правительство в данном случае никак не может быть доверенной стороной. Что мешает правительству хранить у себя копию приватных ключей?
Опять же, а где гарантии что после проверки «программно-аппаратного комплекса дистанционного электронного голосования» в конечном итоге будет использоваться именно проверенная версия. Все равно в конечном итоге сводится к тому что шулер сидит на раздаче карт
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости

Изменить настройки темы

Истории