[image]

Система криптовыборов

Биткоином навеяло
 
1 2 3 4 5 6 7
+
+2
-
edit
 

AGRESSOR

литератор
★★★★★
☠☠
U235> Именно системы на криптографических принципах защиты наиболее защищены от фальсификаций.

От фальсификаций извне.
   34.034.0
+
+2
-
edit
 

arkhnchul

втянувшийся

U235> Именно системы на криптографических принципах защиты наиболее защищены от фальсификаций.
от "несанкционированных" фальсификаций. Грубо говоря, "правильно подсчитать голоса" криптография не помешает. И в общий доступ конечную базу не выложишь для всеобщей проверки - у нас какбе тайное голосование. Из-за оного тайного вообще идея с персонализированной ЭЦП не особо проходит.
   34.034.0
+
-
edit
 

U235

старожил
★★★★★
Напрямую, в чистом виде, конечно, технология ЭЦП неприменима, но криптографические протоколы тайного голосования на ее основе разработаны и активно развиваются

Протоколы тайного голосования — Википедия

Протоколы тайного голосования — протоколы обмена данными для реализации безопасного тайного электронного голосования через интернет при помощи компьютеров, телефонов или других специальных вычислительных машин. Это направление криптографии всё ещё развивается, но уже применяется на практике. Многие страны мира, в том числе и Россия, уже внедряют электронные голосования на муниципальном уровне и выше. Для уверенности в правильности, надёжности и конфиденциальности таких выборов и используют протоколы с доказанной защищённостью. // Дальше — ru.wikipedia.org
 
   11.0.696.3411.0.696.34

U235

старожил
★★★★★
U235>> Именно системы на криптографических принципах защиты наиболее защищены от фальсификаций.
AGRESSOR> От фальсификаций извне.

Почитайте. Существуют и протоколы защищенные от фальсификаций изнутри. Криптографические технологии тайного голосования - весьма интересная и перспективная отрасль.

Протоколы тайного голосования — Википедия

Протоколы тайного голосования — протоколы обмена данными для реализации безопасного тайного электронного голосования через интернет при помощи компьютеров, телефонов или других специальных вычислительных машин. Это направление криптографии всё ещё развивается, но уже применяется на практике. Многие страны мира, в том числе и Россия, уже внедряют электронные голосования на муниципальном уровне и выше. Для уверенности в правильности, надёжности и конфиденциальности таких выборов и используют протоколы с доказанной защищённостью. // Дальше — ru.wikipedia.org
 
   11.0.696.3411.0.696.34
+
+1
-
edit
 

AGRESSOR

литератор
★★★★★
☠☠
U235> Почитайте.

Красивая мулька. Для внешнего потребления на этот раз. :hihihi:
Многократные бла-бла-бла... "доверенные", "проверенные", "с доказанной надежностью", "криптозащита"... Верьте нам! :)
   34.034.0
+
+3
-
edit
 

AXT

инженер вольнодумец
★☆
AGRESSOR> Красивая мулька. Для внешнего потребления на этот раз. :hihihi:
AGRESSOR> Многократные бла-бла-бла... "доверенные", "проверенные", "с доказанной надежностью", "криптозащита"... Верьте нам! :)

Ты не прав. Фишка в том, что система МОЖЕТ быть построена так, что избиратель будет анонимным, но может проверить как был учтён его голос. И, при желании, деанонимизироваться и подать в суд, если его голос был учтён неверно.
И более того, система может быть проверена независимо, что особо ценно. То есть, система с гарантированно обнаруживаемыми фальсификациями вполне возможна.
   13.0.782.22013.0.782.220
+
+3
-
edit
 

U235

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

hcube

старожил
★★
AXT> И более того, система может быть проверена независимо, что особо ценно. То есть, система с гарантированно обнаруживаемыми фальсификациями вполне возможна.

Не-а, не получится. Пока голосует не 100% - всегда можно 'подкинуть' голосов. Допустим - можно публиковать открытый список хэшей, чтобы конкретный человек мог проверить, есть ли он в списке. Но проблема в том, что в списке может быть энное число 'голосов', которые реально не голосовали - они-то сами это проверять не хотят.

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

Bell

аксакал
★★☆
AXT> Ты не прав. Фишка в том, что система МОЖЕТ быть построена так, что избиратель будет анонимным, но может проверить как был учтён его голос.
Подозреваю, что анонимности не может быть в принципе, поскольку всё основано на персональной авторизации. Иначе это будет электронная версия карусели.
   31.031.0

hcube

старожил
★★
Bell> Подозреваю, что анонимности не может быть в принципе, поскольку всё основано на персональной авторизации. Иначе это будет электронная версия карусели.

Тут важна только ПУБЛИЧНАЯ анонимность. В базе-то есть привязка, ясен пень - если и не прямая, то через хэш-функцию. Вопрос в том, что публикуемый список хэшей не может быть прямо идентифицирован с личностью проголосовавшего - т.е. хэш голоса знает только тот человек, который проголосовал.

Мысль! Надо сличение автоматизировать. То есть берем два списка - от властей и от оппозиции. Входящий поток для них - уникальные хэши с привязкой к выбору при голосовании. Сличаем. По дифам - автоматика генерирует список потенциально-вброшенных голосов и отдельно его публикует. Если по этим хэшам не будет подана официальная жалоба от избирателя (что должна обеспечить та сторона, которая эти голоса в список внесла) - то они режутся.
   8.08.0

Bell

аксакал
★★☆
hcube> Тут важна только ПУБЛИЧНАЯ анонимность.
Нет. Для человека важна анонимность выбора вообще. Особенно от власти, которая может если чё отомстить.
   31.031.0

AXT

инженер вольнодумец
★☆
hcube> Не-а, не получится. Пока голосует не 100% - всегда можно 'подкинуть' голосов.

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

hcube> Допустим - можно публиковать открытый список хэшей, чтобы конкретный человек мог проверить, есть ли он в списке.

Ну да, это самый очевидный и простой вариант.

hcube> Но проблема в том, что в списке может быть энное число 'голосов', которые реально не голосовали - они-то сами это проверять не хотят.

А если они не хотят, то выбирать будут не они, а за них. Се ля ви. Такова жизнь.
   13.0.782.22013.0.782.220

AXT

инженер вольнодумец
★☆
Bell> Подозреваю, что анонимности не может быть в принципе, поскольку всё основано на персональной авторизации.

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

hcube

старожил
★★
AXT> А если они не хотят, то выбирать будут не они, а за них. Се ля ви. Такова жизнь.

Не. Тут вопрос в преднамеренной фальсификации, и хочется эту системную проблему устранить. Как - см. выше. Причем я бы делал не две считалки, а - по числу кандидатов, чтобы у каждого была своя, подконтрольная лично ему. Там ничего сложного нету - тупо сервер с БД и интерфейсом. А потом сличить все результаты по И.

Публичность - я подразумеваю вот что - что никакая сторона не может идентифицировать, КТО КОНКРЕТНО проголосовал. Это может сделать только сам пользователь, ну, или держатель идентификатора портала. Но за мухлеж с идентификатором мимо пользователя - срок как за фальсификацию выборов - т.е. если чиновник оказывает давление, сказав что знает, как кто-то проголосовал - он автоматом садится лет на 5. За НСД к строго конфиденциальной персональной информации.

Отстутствие выбора - тоже выбор, кстати - см. выборы в МГД. Явка 20%.
   8.08.0

U235

старожил
★★★★★
hcube> Но проблема в том, что в списке может быть энное число 'голосов', которые реально не голосовали - они-то сами это проверять не хотят.

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

Схема He-Su удовлетворяет почти всем требованиям к протоколу тайного голосования. Остаётся только повышенный стимул купли/продажи голосов[17]. у A и V теперь нет возможности сжульничать, так как теперь публикуются все списки: возможных избирателей, зарегистрировавшихся и авторизированных ключей. Соответственно, нельзя ни внести несуществующих избирателей, ни голосовать за существующих, но не пришедших. При этом во время составления этих списков ни избирательное агентство ни регистратор дополнительной информации не получают[31]. У избирателей есть возможность изменить голос. Основной недостаток протокола He-Su — его сравнительная сложность. Так как для поддержания протокола необходимо большое количество ресурсов, он уязвим перед DoS-атаками.
 

Протоколы тайного голосования — Википедия

Протоколы тайного голосования — протоколы обмена данными для реализации безопасного тайного электронного голосования через интернет при помощи компьютеров, телефонов или других специальных вычислительных машин. Это направление криптографии всё ещё развивается, но уже применяется на практике. Многие страны мира, в том числе и Россия, уже внедряют электронные голосования на муниципальном уровне и выше. Для уверенности в правильности, надёжности и конфиденциальности таких выборов и используют протоколы с доказанной защищённостью. // Дальше — ru.wikipedia.org
 
   34.034.0

U235

старожил
★★★★★
Bell> Подозреваю, что анонимности не может быть в принципе, поскольку всё основано на персональной авторизации. Иначе это будет электронная версия карусели.

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

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

hcube

старожил
★★
U235> Это только для традиционной бумажной системы проблема. В электронной системе голосования используемый избирателем секретный ключ может быть его личным ключом ЗЦП, привязанным к его цифровому удостоверению личности и его публичный ключ будет в общедоступной базе данных, таким образом при правильной реализации генерации ключей ЭЦП у избиркома не будет возможности сжульничать и проголосовать за не принявшего участие в голосовании избирателя

Это с чего ты взял, что не будет? Генерит-то список тоже избирком пока что. Кто ему мешает вбросить голосов? Или - вон, недавное голосование на РОИ за #20 - УБРАТЬ голоса? Там 100% висел скрипт, который из общего счетчика голоса вычитал - т.е. реально проголосовало не 100К, а порядка 130-150К. Открытый список хэшей проблему вычитания голосов решает - никто не будет рисковать тем, что попадется на том, что акт голосования есть, а голоса нет. А вот с добавлением голосов все сложнее - невозможно собрать ВСЕХ проголосовавших, провести их перекрестную верификацию и определить реальный процент.

Гораздо проще сделать по другому - использовать не одну считалку, а у каждого кандидата по одной - тем более, что процесс учета хэшей технически несложен - даже 100М транзакций - это относительно небольшой объем базы данных, которая хостится на единичном сервере. После чего - сличить результаты получения этими серверами хэшей. При таком раскладе добавление на конкретном сервере не имеет смысла - оно тут же будет обнаружено перекрестной проверкой. Практически, отправка должна проводиться тем же скриптом, который считает голоса - и вот этот скрипт должен иметь открытый код, без каких-либо вставок. Авторизация + отправка связки хэш+id_голосования+результат по списку счетных серверов.

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

Одно другого не отменяет. Хочется анонимизации и защиты - голосуй на участке. Нет необходимости - голосуй из дома. И, повторюсь - ЖЕСТКО прессовать чиновников за принуждение к голосованию любым способом, не говоря уж о голосовании за конкретного кандидата.
   8.08.0

U235

старожил
★★★★★
hcube> Это с чего ты взял, что не будет? Генерит-то список тоже избирком пока что.

Потому что ЭЦП избирателей из этого списка генерит не избирком, а чип на электронном удостоверении личности избирателя, который наружу дает только публичный ключ, который избирком и привязывает к каждому члену этого списка. Само электронное удостоверение личности хранится у избирателя. Так что избирком не имеет возможности самостоятельно генерировать ключи за избирателей, если только он не создаст полностью мертвые души, не существующие в реальности вообще.
   34.034.0

hcube

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

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

Но зачем так сложно-то? Делаем хорошей такой длины хэш, из СНИЛС + дополнительный текст. Такой, чтобы обратная дешифровка в СНИЛС путем перебора была невозможной - т.е. давала десятки миллионов вариантов СНИЛС. И его используем как открытый идентификатор. Подсчет при этом диверсифицируем, а код собственно голосовалки - делаем открытым, так чтобы от госсистемы получался только API идентификатора и логика генератора хэша, плюс рассылка хэша по сервакам для подсчета. Система получается устойчивее, потому что ни одной из ее частей не надо безоговорочно доверять - все контролируется.
   8.08.0

U235

старожил
★★★★★
hcube> Не вариант. Ключ рано или поздно проходит через избирком и тем самым компрометируется. Разве что генерить его при каждом акте голосования заново.

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

U235

старожил
★★★★★
hcube> Но зачем так сложно-то? Делаем хорошей такой длины хэш, из СНИЛС

СНИЛСы избирателей избиркому могут быть известны, секретные ключи избирателей несимметричных систем шифрования - нет. Возможности мухлежа при использовании твоей системы намного больше
   34.034.0

hcube

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

Ок. Объясни по простому - как будем проверять ОТСУТСТВИЕ 'лишних' избирателей в открытом списке хэшей? В моем случае это делается перекрестным сличением результатов независимого подсчета под контролем всех заинтересванных сторон. А тут - избиркому ничто не мешает мухлевать, ссылаясь на 'закон больших чисел' - в том числе - 'насыпать' 'мертвые души', ага.

> СНИЛСы избирателей избиркому могут быть известны

Они - да. СНИЛС + 'соль' - нет. 'Соль' - длинную дополнительную строку - избиратель добавляет самостоятельно, и она хранится в базе системы авторизации. Ну, или вводится избирателем непосредственно в момент голосования, а далее - сохраняется им самим для будущей генерации хэша для проверки. Или да, хранится на личном идентификационном чипе.
   8.08.0

U235

старожил
★★★★★
hcube> Ок. Объясни по простому - как будем проверять ОТСУТСТВИЕ 'лишних' избирателей в открытом списке хэшей?

Проголосовавший избиратель подписывает свою строку в списке своей ЭЦП с добавлением даты и времени подписи. Так как в изначальных списках избирателей кроме их имен будут и публичные ключи их ЭЦП, то любой желающий может проверить что подписался именно указанный человек, а не кто-то за него. Если ты в опубликованном до голосования списке избирателей поставишь свои, левые, публичные ключи, то это обнаружит избиратель вздумавший проголосовать: его секретный ключ не совпадет с подмененным тобой открытым. Ты ж не знаешь заранее точно, кто будет голосовать, а кто нет. Так что путь за решетку при таком мухлеже будет очень коротким. Единственный вариант - добавлять в список полностью мертвые души: умерших или вообще не существующих людей. Но это уже совсем палево, т.к. проверяется через адресные столы и требует очень большого объема фальсификаций с привлечением совершенно не подчиняющихся избиркому государственных служб. Ведь электронные удостоверения личности не избиркомом выдаваться будут.
   34.034.0

U235

старожил
★★★★★
hcube> Ок. Объясни по простому - как будем проверять ОТСУТСТВИЕ 'лишних' избирателей в открытом списке хэшей?

Так же, как и отсутствие "мертвых душ" в бумажных выборах: через паспортные столы и ЗАГСы. При повальной чипизации, кстати, когда у каждого гражданина есть цифровое удостоверение личности, это даже просто: подписи и идентификаторы умерших вводятся в соответствующую публичную базу и формируются списки отзыва цифровых удостоверений умерших граждан.
   34.034.0

hcube

старожил
★★
U235> Проголосовавший избиратель подписывает свою строку в списке своей ЭЦП с добавлением даты и времени подписи. Так как в изначальных списках избирателей кроме их имен будут и публичные ключи их ЭЦП, то любой желающий может проверить что подписался именно указанный человек, а не кто-то за него. Если ты в опубликованном до голосования списке избирателей поставишь свои, левые, публичные ключи, то это обнаружит избиратель вздумавший проголосовать: его секретный ключ не совпадет с подмененным тобой открытым.

Слабая защита. Можно взять тех, кто реально голосовать не ходит - инфа об этом есть - и проголосовать за них в диапазоне от 19 до 20 часов, скажем. Если не наглеть, то процентов 10-20 голосов таким образом вполне можно набрать. Более того - можно сделать замещение голоса, если все-таки так случилось, что этот маловероятный избиратель пришел. Тогда вообще - гуляй, рванина :-)

Надо исходить из того, что сама система электронного голосования скомпрометирована и не может быть использована без внешнего контроля. Иначе она насчитает примерно так же, как наша невыборная Дума напринимает законов.
   8.08.0
1 2 3 4 5 6 7

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru