Проект "Свободные голосования"

Электронная системы голосований через интернет
Текущее время: 11 ноя 2024, 01:30

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 91 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9, 10  След.
Автор Сообщение
 Заголовок сообщения: Re: Тайное голосование
СообщениеДобавлено: 01 ноя 2012, 00:01 
Не в сети

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
Андрей писал(а):
Из одной пары открытый/закрытый ключ? Неверно. Например, я изучал смарт-карты для GnuPG. На карте расположены 3 пары ключей. Один для шифрования, другой для подписи третий - не совсем помню для чего. Для шифрования/расшифровки используется одна пара ключей. Для подписи и ее проверки - совершенно другая.
Это только детали реализации. В rsa то что зашифровано одним ключом можно расшифровать другим. Разные пары используются скорее всего для того чтобы операции расшифровки и проверки подписи работали быстрее(они чаще применяются).
Андрей писал(а):
Если "подписывать" не хэш, а полные данные, то это уже будет обычным шифрованием данных, но никак не ЭЦП.
В ЭЦП хеш используется по двум причинам: хеш имеет фиксированную длинну, вычислить хеш от данных и зашифровать его проще(читай быстрее) чем просто зашифровать данные. Это опять таки детали реализации.
Андрей писал(а):
Если соблюдать правило что результаты голосования НЕ должны быть известны до его окончания - использовать этот ключ для нескольких голосований будет невозможно.
Наоборот. Легко. Просто голос делится на два пакета: зашифрованный симметричным ключом выбор и собственно ключ. Оба пакета подписываются закрытым ключом и публикуется сначала пакет с голосом, а по окончании голосования публикуется пакет с кючом. А подпись гарантирует, что пакеты пришли от имеющего право голосовать. А так как никто не знает кому принадлежит открытый ключ, то тайна сохраняется.
Андрей писал(а):
Таким образом, в плане повышения анонимности передача нашим методом ничего не даст. Я могу узнать кто подписал ключ для определенного голоса, прийти к нему и методом крипторектального анализа узнать у него кто это голосовал. Голос раскрывается за 1 шаг.
Не один шаг, а столько сколько было передач ключа по цепочке. Кроме того можно использовать блоки открытых ключей для подтверждения того, что в данном блоке содержится ключ пользователя. И если количество ключей соответствует количеству пользователей, то можно с чистой совестью цепочку потереть. Тогда терморектальный анализ станет бессмысленным.

_________________
Во вселенной нет общества в котором "Vox populi, vox Dei" не переводилось бы "О, Боже, как мы в это вляпались".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тайное голосование
СообщениеДобавлено: 01 ноя 2012, 12:38 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
Dim писал(а):
Андрей писал(а):
Если соблюдать правило что результаты голосования НЕ должны быть известны до его окончания - использовать этот ключ для нескольких голосований будет невозможно.
Наоборот. Легко. Просто голос делится на два пакета: зашифрованный симметричным ключом выбор и собственно ключ. Оба пакета подписываются закрытым ключом и публикуется сначала пакет с голосом, а по окончании голосования публикуется пакет с кючом. А подпись гарантирует, что пакеты пришли от имеющего право голосовать. А так как никто не знает кому принадлежит открытый ключ, то тайна сохраняется.

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

Dim писал(а):
Андрей писал(а):
Таким образом, в плане повышения анонимности передача нашим методом ничего не даст. Я могу узнать кто подписал ключ для определенного голоса, прийти к нему и методом крипторектального анализа узнать у него кто это голосовал. Голос раскрывается за 1 шаг.
Не один шаг, а столько сколько было передач ключа по цепочке. Кроме того можно использовать блоки открытых ключей для подтверждения того, что в данном блоке содержится ключ пользователя. И если количество ключей соответствует количеству пользователей, то можно с чистой совестью цепочку потереть. Тогда терморектальный анализ станет бессмысленным.

Давайте на пальцах...

1. Есть одноразовый ключ участика системы, который он использует для шифрования своего голоса. Пара открытый/закрытый ключ. Изначально в паре ни один ключь не раскрывается публично.
2. Другой участник системы (участник2) получает от этого участника его будущий публичный ключ, подписанный персональной подписью голосующего участника1. Получаем ЭЦП(участник2, публичный одноразовый ключ учатсника1).
3. Далее "участинк1" отправляет свой голос в виде шифрованный(секретный одноразовый ключ участника1, голос).
4. Участник1 или учатсник2 (не важно) отправляет пусть даже и через нашу сеть свой публичный ключь для расшифровки с подписью участник1 из п.2.

В итоге у произвольного участника системы есть:
1. ЭЦП(участник2, публичный одноразовый ключ участника1).
2. Шифрованный(секретный одноразовый ключ участника1, голос)

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

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тайное голосование
СообщениеДобавлено: 01 ноя 2012, 23:50 
Не в сети

Зарегистрирован: 25 окт 2012, 23:42
Сообщения: 36
Андрей писал(а):
Т.к. расшифровать голос мы можем публичным одноразовым ключем участника1, мы очень просто вычисляем участника2, т.к. именно он подписал этот ключ. Приходим к участнику2 и крипторектальным способом выясняем кто такой участник1 и раскрываем один голос за одно посещение. Что помешает это сделать?

1) Что мешает участнику2, точнее установленной у него программе, потереть данные о участнике 1 до начала голосования?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тайное голосование
СообщениеДобавлено: 02 ноя 2012, 01:04 
Не в сети

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
А кто мешает участнику 2:
1) сгенерить самому ключ (два, три или более);
2) подписать его (как будто он подписывает чужой ключ);
3) проголосовать;
4) потерять информацию о ключах.

ps практически не читал всю переписку, возможно я что-то упустил.
pps зачем придумывать, что-то, если есть не реализованный надежный вариант (надежность пока еще ни кем не опровергнута)?

_________________
AF4B DFB0 0E41 2F7A 09FD 4971 96F0 B176 EA1C DD85


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тайное голосование
СообщениеДобавлено: 02 ноя 2012, 03:55 
Не в сети

Зарегистрирован: 25 окт 2012, 23:42
Сообщения: 36
yurial писал(а):
А кто мешает участнику 2:
1) сгенерить самому ключ (два, три или более);
2) подписать его (как будто он подписывает чужой ключ);
3) проголосовать;
4) потерять информацию о ключах.

Сгенерить - ничего не мешает, опубликовать он может только 1, хоть свой, хоть чужой, но один, это и есть защита от вбросов.
yurial писал(а):
ps практически не читал всю переписку, возможно я что-то упустил.
pps зачем придумывать, что-то, если есть не реализованный надежный вариант (надежность пока еще ни кем не опровергнута)?
Схема не защищена от вбросов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тайное голосование
СообщениеДобавлено: 02 ноя 2012, 11:23 
Не в сети

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
Андрей писал(а):
Я выделил в твоем тексте ключевые слова "подписываются закрытым ключом" и "А подпись гарантирует, что пакеты пришли от имеющего право голосовать.". Из этого следует что голос подписывается персональным ключем, что мгновенно раскрывает тайну голоса. Т.к. только при привязке ключа подписи к человеку можно определить, что он имеет право голосовать.
У человека две пары ключей. (Для простоты примем, что есть только один субъект.) Одна привязана к идентификатору. Вторая анонимна, но имеет подтверждение права голосования у владельца.
Андрей писал(а):
Давайте на пальцах...

Вводная. Имеем верифицированный идентификатор с привязанной к нему парой ключей и подтверждение права голосования в субъекте. Есть доступ к списку всех имеющих право голосования в субъекте.
  • Генерируем анонимную пару ключей.
  • Подписываем открытый ключ анонимной пары закрытым ключом пары связанной с идентификатором.
  • Отсылаем пакет с подписанным анонимным ключом и случайным небольшим числом любому имеющему право голосования в субъекте. Возможно получив расписку.
  • Получивший проверяет действительно ли тот кто отослал ключ имеет право голосования в субъекте.
  • Убирает подпись с пакета и подписывает сам. Декрементирует число находящееся в пакете.
  • Если число стало меньшим или равным нулю, то публикуем пакет. Иначе передаём следующему.
  • Опубликованные пакеты собирает в блоки коллектор.
  • При собрании некоторого количества уникальных ключей коллектор даёт отмашку на начало проверки блока.
  • Все кто находит свой ключ в данном блоке присылают сообщение "я тут есть".
  • Когда количество подтверждений совпадёт с количеством подписей в блоке начинается следующий этап.
  • Каждый подтвердивший рассылает подтверждение подписанное уже анонимным ключом "моё подтверждение есть".
  • Если всё совпало, то все участники цепочек стирают информацию о передавших им ключ.
Результат. Для каждого имеющего право голосования в субъекте мы имеем строго анонимный открытый ключ. Количество таких ключей строго равно участникам субъекта.
В плюсе существенное упрощение процедуры голосований и отсутствие возможности вбросов.
В минусе при потере права голосования в субъекте необходимо пересоздавать блок в котором есть идентификатор участника потерявшего такое право.
Ещё в минусе некоторое снижение анонимности связанное с использованием одного и того же открытого анонимного ключа в разных голосованиях в субъекте.
Второй минус частично компенсируется первым.
yurial писал(а):
pps зачем придумывать, что-то, если есть не реализованный надежный вариант (надежность пока еще ни кем не опровергнута)?

Существенное упрощение процедуры собственно голосований.
asn писал(а):
Схема не защищена от вбросов.
Вбрасывающий почти наверняка теряет право участия в субъекте.

_________________
Во вселенной нет общества в котором "Vox populi, vox Dei" не переводилось бы "О, Боже, как мы в это вляпались".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тайное голосование
СообщениеДобавлено: 02 ноя 2012, 11:45 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
asn писал(а):
1) Что мешает участнику2, точнее установленной у него программе, потереть данные о участнике 1 до начала голосования?

Из мозга? Я где-то писал что мы лезем ему в компьютер? Подписание чего-то персональным ключем пользователя должно быть интерактивным. Соответственно, он должен знать кому он подписывал ключи. Если это будет делаться автоматически - какой в этом смысл? Автоматически это и так будет делаться на транспортном уровне.

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тайное голосование
СообщениеДобавлено: 02 ноя 2012, 11:48 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
asn писал(а):
Сгенерить - ничего не мешает, опубликовать он может только 1, хоть свой, хоть чужой, но один, это и есть защита от вбросов.

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

Кстати, тоже минус - в таком случае невозможно переголосование, насколько я понял.

asn писал(а):
Схема не защищена от вбросов.

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

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

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тайное голосование
СообщениеДобавлено: 02 ноя 2012, 11:51 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
Dim писал(а):
Отсылаем пакет с подписанным анонимным ключом и случайным небольшим числом любому имеющему право голосования в субъекте. Возможно получив расписку.

Нельзя так делать. Это прямое раскрытие тайны голоса.

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

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

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Тайное голосование
СообщениеДобавлено: 02 ноя 2012, 12:42 
Не в сети

Зарегистрирован: 25 окт 2012, 23:42
Сообщения: 36
Андрей писал(а):
asn писал(а):
1) Что мешает участнику2, точнее установленной у него программе, потереть данные о участнике 1 до начала голосования?

Из мозга? Я где-то писал что мы лезем ему в компьютер? Подписание чего-то персональным ключем пользователя должно быть интерактивным. Соответственно, он должен знать кому он подписывал ключи. Если это будет делаться автоматически - какой в этом смысл? Автоматически это и так будет делаться на транспортном уровне.

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 91 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9, 10  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB