All streams
Search
Write a publication
Pull to refresh
18
0
Send message

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

Описанное в комментарии не совсем относится к делу, это частный случай атаку на конкретную криптосистему. Скорее это тема: "насколько мы можем доверять используемой криптосистеме, может в ней есть закладка". Этого никогда нельзя исключать. В то же время эта криптосистема описана, поэтому её можно проанализировать и попытаться закладку обнаружить.

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

Упрощённая аналогия: представим, что при обычно голосовании вообще все бюллетени сразу попадают в общий зал. В конце голосования комиссия каждый бюллетень подносит к камере и учитывает. А после подсчёта наблюдателей пускают в этот зал, и они могут проделать то же самое. Вот процесс "подсчёта под камерой" - это аналогия криптографического доказательства

Не угадали) Человек самостоятельно проверяет его по данным (ключи и т. д.), выложенным комиссией.

Почему комиссия не сможет выложить такие данные, чтобы проверка сходилась на поддельном результате?

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

Не доверяете схеме?


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

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

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

Я сказал бы так:

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

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

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

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

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

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

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

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

Не совсем. Упрощённый пример: у вас может быть возможность заменить любое ПО, но сгенерировать поддельную подпись RSA это вам мало поможет)

Нагенерировать избирателей програмно VS найти людей...

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

Конечно, это ведь обычная практика - берешь чужой паспорт, приходишь на участок и голосуешь - никакого палева

Мы рассматриваем атакующего, который может подделывать избирателей, в том числе делать фальшивые паспорта.

Ловко вы ушли от очевидного ответа - "никак"

Это откровенная ложь. Поскольку вы уже несколько раз пишете про вещи, которые есть в статье, я больше не буду вам их разъяснять.

Да, один из множества.

Согласен, более того, некоторые я перечислил в статье

Что мешает ввести в систему пару милионов Ивановых Иван Иванычей проголосующих за правильного кандидата?

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

Как обеспечивается тайна голосования?

Этому посвящены два раздела "Анонимность:" статьи

Как убедиться, что проголосовавший это именно тот человек а не кто либо другой обладающий его учетными данными?

Как я отметил в статье (раздел "Заключение") это недостаток системы. Как отметили в комментариях, он в целом характерен и для обычного голосования

В ДЭГ избиратели могут появляться именно что из воздуха и также бесследно в нем растворяться.

Определённая доля правды здесь есть, но в целом это не так, поясню. После ДЭГ остаются хешированные номера документов избирателей. Поэтому они не исчезают бесследно. Но я не нашёл чёткого описания процедуры, которая сверяет эти значения после голосования, нашёл лишь упоминание, что это входит в аудит

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

Это даёт защиту ничуть не лучше. Отследить по камерам и сопоставить, что один и тот же человек голосовал на различных участках (которые могут быть в разных городах\областях) на практике невозможно

Добавим сюда опыт прошлого ДЭГ, когда кроме общественно наблюдаемого блокчейна, нам показали еще один блокчейн "под столом"

Насколько мне известно, эти претензии справедливы, но относятся к другой системе

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

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

Что характерно, бумажный посечет так и проходит -- открыто, в присутствии коллективной комиссии

Это не совсем правда: на все участки наблюдателей не отправишь, да и за процедурой подсчёта вживую следить не так просто

"в нашем клубе джентльменам верят на слово" -- вот вам сертификат

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

А в чём состоит ваш аргумент? Вы просто произвольно сопоставили систему электронного голосования с газовой камерой, сделав негативную окраску. Так что угодно можно сопоставить.

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

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

Удобнее. Проголосовать на смартфоне легче, чем идти на участок ногами.

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

Если говорить об официальных заявлениях, то оборудование и код проходят аудит и сертификацию. Если говорить о моём отношении к этому вопросу, в целом я раскрыл его в разделе "Заключение":

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

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

Это никак не отменяет того, что сейчас защиты от принуждений в системе нет, это уточнено в статье.

Если вы имеете в виду вопрос подмены бюллетеня избирателя, то этому посвящёны разделы "Целостность: шифрование и подпись бюллетеня", "Учёт бюллетеней: квитанция, блокчейн".

Если вы имеете в виду вопрос нечестного подсчёта, то этому посвящён раздел "Зашифрованные бюллетени".

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

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

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

Я ответил вам, что ответу на ваш вопрос как раз и посвящена статья. Давайте дам чуть более развёрнутый комментарий.

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

Подсчёт результата состоит из:

  1. Сложения бюллетеней (в зашифрованном виде)

  1. Расшифрования полученного результата и генерации криптографического доказательства корректности

Если какой-то бюллетень не будет учтён при подсчёте или результат подсчёта (в зашифрованном виде) будет один, а покажут другой, то при проверке у наблюдателя не сойдётся криптографическое доказательство корректности.

Зависит от того, какую именно модель обманщика вы рассматриваете. Объяснению, каким образом криптография противостоит некоторым видам обмана в системе, как раз и посвящена статья.

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

Information

Rating
Does not participate
Location
Россия
Registered
Activity