Проект "Свободные голосования"
http://gplvote.andyhost.ru/forum/

Тайное голосование
http://gplvote.andyhost.ru/forum/viewtopic.php?f=3&t=440
Страница 9 из 10

Автор:  asn [ 09 ноя 2012, 12:54 ]
Заголовок сообщения:  Re: Тайное голосование

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

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

Автор:  Dim [ 09 ноя 2012, 13:07 ]
Заголовок сообщения:  Re: Тайное голосование

Андрей писал(а):
И в этом методе и в нашем если первый подписывающий является мошенником, то он может инициировать вброс голосов
Каким образом?
Пример.
Есть субъект из 20 участников. В субъекте есть список участников из 20 позиций. Есть список открытых ключей для тайного голосования в количестве 20 штук. В процессе голосования участники отсылают пакет с голосом зашифрованный одноразовым симметричным ключом и подписанный закрытым ключом. По окончании голосования отсылают симметричный ключ для расшифровки пакета с голосом подписанный закрытым ключом. Пакеты не имеющие одной из 20 подписей отбрасываются.
Ну и как тут вбросить?

Автор:  Андрей [ 09 ноя 2012, 13:25 ]
Заголовок сообщения:  Re: Тайное голосование

Dim писал(а):
Пакеты не имеющие одной из 20 подписей отбрасываются.
Ну и как тут вбросить?

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

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

Автор:  asn [ 09 ноя 2012, 13:45 ]
Заголовок сообщения:  Re: Тайное голосование

Андрей писал(а):
А если делать с отбрасыванием предыдущей подписи, тогда для получателя не будет известно чей голос к нему пришел в 10-ый раз от одного из участников. То-ли это он вброс сделал, то-ли это просто через него чужие голоса прошли.


asn писал(а):
Dim писал(а):
asn писал(а):
В описании данном Dim, есть один непроговоренный нюанс, если обменов больше одного (что, не запрещено, то схема обменов, не вдаваясь в детали, должна работать так чтобы каждый публиковал ровно 1 ключ.
Обменов должно быть более одного. Разослать можно и более одного ключа, но при этом количество ключей в блоке будет больше участников. Что инициирует расследование источников рассылки лишних ключей.
Расследование это зло, любое расследование - это компрометация системы. Субъект голосования - это не круг друзей по интересам, это могут быть совершенно посторонние друг другу люди.
Может быть не расследование, а например такая, процедура:
1)Если свой ключ не нашел, бракую опубликованный, и соответственно по цепочке, все чьи ключи забраковали бракуют опубликованные.
Таким образом выбраковывается весь "граф" ключей, в которых проходили подделки.
2) Заново обмениваюсь с кем угодно, но не с тем кто прислал забракованные ранее ключи.
На этом шаге злоумышленник уже не сможет разослать ключи тем кому слал. Ему нужно будет рассылать тем кто остался, и через небольшое число итераций, он сможет опубликовать только свой собственный ключ - все.
Будет исключение злоумышленника на уровне алгоритма, за конечное число итераций.Число итераций максимально равно = (Количество участников) / (На количество подделанных ключей за итерацию) (навскидку). За подобное число итераций - злоумышленник скомпрометирует себя у каждого участника голосования.

Автор:  Dim [ 09 ноя 2012, 18:19 ]
Заголовок сообщения:  Re: Тайное голосование

Андрей писал(а):
Т.е. вы предлагаете при следующем подписании не отбрасывать предыдущую подпись, а новую ставить поверх всего пакета вместе с ЭЦП? На так по первой подписи сразу восстанавливается первый подписавший. Т.е. возвращаемся к началу обсуждения - к простой возможности раскрыть голос.
Какие-такие следующие подписания? Я говорю о собственно процедуре голосования. Список анонимных открытых ключей создаётся при любых изменениях в субъекте (добавился или удалился участник). В самом голосовании этот список не изменяется. Эти ключи служат только для того, чтобы знать от имеющего ли право голосовать пришёл пакет.

Автор:  Андрей [ 09 ноя 2012, 18:31 ]
Заголовок сообщения:  Re: Тайное голосование

Dim писал(а):
Какие-такие следующие подписания? Я говорю о собственно процедуре голосования. Список анонимных открытых ключей создаётся при любых изменениях в субъекте (добавился или удалился участник). В самом голосовании этот список не изменяется. Эти ключи служат только для того, чтобы знать от имеющего ли право голосовать пришёл пакет.

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

Если подписывать ключ за 1 шаг, то раскрыть голос через допрос подписавшего - раз плюнуть.

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

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

Автор:  Dim [ 09 ноя 2012, 21:59 ]
Заголовок сообщения:  Re: Тайное голосование

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

Автор:  Андрей [ 10 ноя 2012, 02:54 ]
Заголовок сообщения:  Re: Тайное голосование

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

Что-то я не понимаю. А за счет чего она упрощается?

Автор:  Dim [ 10 ноя 2012, 10:33 ]
Заголовок сообщения:  Re: Тайное голосование

Андрей писал(а):
Что-то я не понимаю. А за счет чего она упрощается?
За счёт уже имеющихся ключей. Есть зарегистрированный закрытый ключ в субъекте - можешь голосовать. Никаких разборок с вбросами и повторными сборами голосов.

Автор:  Андрей [ 11 ноя 2012, 00:48 ]
Заголовок сообщения:  Re: Тайное голосование

Dim писал(а):
Андрей писал(а):
Что-то я не понимаю. А за счет чего она упрощается?
За счёт уже имеющихся ключей. Есть зарегистрированный закрытый ключ в субъекте - можешь голосовать. Никаких разборок с вбросами и повторными сборами голосов.

"зарегистрированный закрытый ключ"
Надеюсь это опечатка и вы имели ввиду публичный ключ. Секретный ключ на то и секретный что доступен исключительно владельцу.

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

Страница 9 из 10 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/