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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 141 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 15  След.
Автор Сообщение
СообщениеДобавлено: 07 окт 2011, 14:53 
Не в сети

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

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

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 окт 2011, 14:55 
Не в сети

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

Уже обсуждалось и уже давно было признано что такой вариант не пойдет. В системе недопустима какая-либо центролизация. Любая центролизация подразумевает наличие кого-то одного на кого можно надавить. Надавить на всех не получится.

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 окт 2011, 14:56 
Не в сети

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
Андрей писал(а):
... На узлах, которые получат пакет с голосом, запоминается его подпись, голос извлекается в оригинальном виде, подписывается персональным ключем пользователя данного узла и отправляется далее. Отправителю данной подписи выдается "расписка" в том что она получена.

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

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

Dmitry: берите в расчет весь алгоритм, а не только его часть.

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


Последний раз редактировалось yurial 07 окт 2011, 14:58, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 окт 2011, 14:57 
Не в сети

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

Мы стараемся построить систему в которой не будет "особенных" людей или "особенных" ключей. Что-бы через них не было возможности воздействовать на всю систему.

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 окт 2011, 15:04 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
Dmitry писал(а):
povischuk писал(а):
Но мы сейчас пытаемся построить систему, чтобы обойтись без избиркомов.


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

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

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

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

Dmitry писал(а):
Например - нужно получить не один идентификатор куском, а 3 части от него от разных систем (к примеру). Тогда взлом одного узла будет неэффективен.

Поэтому использование вместо идентификатора шифрование (в нашем варианте - варианте Юрия) намного более эффективно, т.к. в нем невозможно "подменить идентификатор".

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

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 окт 2011, 15:10 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
Dmitry писал(а):
yurial писал(а):
... на сколько доверяете СВОЕМУ компьютеру ...

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

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

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

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 окт 2011, 15:12 
Не в сети

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

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

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 окт 2011, 15:18 
Не в сети

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

Дмитрий, мы живем в реальности. А в рельности НИ ОДНА система не может обеспечить АБСОЛЮТНОЙ анонимности голосования. НИ ОДНА!!! Поэтому при построении такой системы в любом случае придется идти на компромисс относительно анонимности и надежности. В нашем способе данный компромисс соблюдается. Т.к. если у человека есть пакеты с подписями, у него нет никаких гарантий что эти подписи принадлежат именно тем, кто отправил эти голоса. Т.е. раскрытие всех таких голосов одним человеком абсолютно ничего не даст относительно раскрытия каких-ли голосов.

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

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 окт 2011, 17:32 
Не в сети

Зарегистрирован: 04 окт 2011, 20:10
Сообщения: 32
Мой вариант распределенной системы.
В нем не нужно создавать комиссию по расследованию злоупотреблений, требовать согласия всех пользователей постфактум: злоупотребления достаточно быстро выясняются автоматом.
При этом сохраняется полная анонимность.
Основной минус в том, что при вбросе от злоумышленника неизбежно будет определенный процент пострадавших - тех, кто принимал от него голоса, еще не раскусив его (но в варианте Юрия это тем более есть).
Голоса этих пострадавших уже нельзя будет учесть - по крайней мере, на данной истерации.
Итоги же голосования, которые имеются у этих пострадавших, подлежат обнулению.

Тут все зависит от контекста:
1) Можно считать, что так как наказание неотвратимо и быстро, то вбросы будут сравнительно редки. Поэтому при обнаружении ЛЮБОГО вброса нужно немедленно прекратить голосование и устроить новое - переголосовать должны все.
2) Можно смотреть процент пострадавших. Если он достаточно мал, то им можно дать возможность переголосовать (в рамках текущего голосования, т.е. не дергая всех остальных), оповестив об этом всех участников системы. Для этого нужно добавить к алгоритму несколько дополнительных опций.
Если же процент пострадавших достаточно велик, то можно объявить переголосование.
Можно, кстати, устроить дополнительное открытое голосование: "довольны ли вы ходом голосования, считаете ли вы его честным?". Здесь каждый может постоянно менять и отзывать свой голос, передавая его всем остальным с указанием времени. Динамика этого должна быть видна всем. Как на "Эхе Москвы" кардиограмма эфира.

Ключевые моменты метода.
1. Механизмы контроля и защиты от вбросов:
  • Контроль за путем голоса, который является твоим родным или был тебе передан. Тот, кто передает голос дальше, получает расписку о получении - в ней указано, кто ее получил. Тот, кто получил расписку, присоединяет к ней свою подпись - о том, что он ее получил. Это - "лист дерева". В нем две подписи: кто получил голос и кто передал и проконтролировал получение. И этот пакет передается получателем назад по цепочке.
    Тот же, кто получил уже готовый "лист" (то есть расписку о получении, заверенную подписью получившего эту расписку) - тоже передает это назад по цепочке. То есть тому, кто дал ему этот голос. Свою подпись к этому он уже не присоединяет (дабы не загромождать канал).
    Таким образом, по этим парам, которые к нему возвращаются, каждый может восстановить дерево, по которому движется каждый вверенный ему голос (включая и свой).
  • НЕПОСРЕДСТВЕННЫЙ контроль за одним звеном цепочки. То есть за тем, кто получил у тебя голос. Он обязан вернуть тебе расписки о получении от тех, кому он передал его дальше. Если же - внимание! - он не дал никаких расписок, а при этом в списке передач появляется информация, что он давал другие голоса другим людям - то это значит, что он заныкал конкретный голос, чтобы сэкономить число передач и вбросить другие. В варианте Юрия это учтено не было;
    Хитрость в том, что, по правилам, нельзя начинать передавать (и соответственно, принимать) новые голоса каким-то соседям раньше, чем передать этим соседям предыдущие вверенные тебе голоса. Все голоса должны передаваться всем соседям только по очереди. Когда ты отправил расписки от соседей назад, отчитался, - то тогда уже можешь брать следующие голоса из очереди, и отправлять их этим же соседям (но не новым).
    Тот, кто нарушает принцип очереди и первичности расписок от соседей - это злоумышленник, который прячет голоса.
  • Контроль за числом входящих и исходящих передач каждого.
    Когда кто-то собирается сделать передачу голоса соседу, то тот, если все нормально, просит у него публичный ключ, шифрует идентификатор голоса и отдает назад передающему, требуя расписку. Передающий убеждается, что это именно его передаваемый голос (ID), зашифрованный именно этим ключом. Он подписывает эту передачу и отдает расписку соседу, после чего сосед дает ему расписку о получении голоса.
    Далее эта передача (кто передал, кому передал, время и зашифрованный идентификатор) - раздается абсолютно всем по сети.
    По передачам каждый может посчитать количество входящих и исходящих передач каждого, восстановить цепочку всех, кто давал голоса конкретному человеку или принимать от него.
    Если в какой-то момент количество исходящих передач (УНИКАЛЬНЫХ голосов) какого-то человека превышает количество исходящих, то это - злоумышленник, который вбрасывает голоса. А те, кто принимал от него передачи (еще не дошло, что он злоумышленник), и соответственно, те кто принимал у принимавших и так далее по цепочке - те все являются пострадавшими. Итогам голосования, записанным у них, нельзя доверять (пока), и принимать голоса у них нельзя (пока).

2. Персональные данные клиента:
  • ID своего голоса. Этот ID хранится в оперативной памяти и переписывается клиентом ручкой на бумагу, или фотографируется.
  • Пара ключей: секретный и публичный. Ключи никому не отправляются, кроме случая шифровки для расписки о передаче. Публичный ключ хранится на жестком диске, секретный - в оперативной памяти и записывается ручкой на бумаге. Ключ используется для шифровки ID в расписке о передаче, а также для шифровки хранящихся на диске данных о переданных голосах (таблица незашифрованный ID - голос - время).

3. Виды расписок об ответственности:
  • Расписка о даче (передаче) голоса. Дается тем, кто собирается передать голос, тому, кто хочет его получить. Без этой расписки о передаче принимать голос нельзя - себе дороже.
    Когда кто-то собирается сделать передачу голоса соседу, то тот, если все нормально, просит у него публичный ключ, шифрует идентификатор голоса и отдает назад передающему, требуя расписку. Передающий убеждается, что это именно его передаваемый голос (ID), зашифрованный именно этим ключом. Он подписывает эту передачу и отдает расписку соседу, после чего сосед дает ему расписку о получении голоса.
    Далее эта передача (кто передал, кому передал, время и зашифрованный идентификатор) - раздается абсолютно всем по сети.
    В передаче указывается, кто передал, кому передал, время и ID голоса. ID голоса зашифрован ключом передавшего, и не будет расшифрован НИКОГДА.
    Это нужно для того, чтобы для каждого была возможность посчитать, сколько он передал разным соседям УНИКАЛЬНЫХ голосов. Один и тот же голос, зашифрованный одним и тем же публичным ключом, выглядит уникально. Для честности получатель, требуя расписку о передаче, сам просит публичный ключ передавателя и шифрует полученный ID - а потом требует это все подписать. Потом получает сам голос, записывает его в итоги (ID и выбор) и дает расписку о получении. А потом подписанную передачу распространяет по сети, и дальше передает голос соседям.
  • Расписка о получении голоса. Прежде чем передавать новые голоса соседям, клиент должен передать этим же соседям те, что пришли раньше. Получить от них расписки о получении и отправить назад, заверив своей подписью.
    В свою очередь, тот, кому передали назад, записывает эту расписку (заверенную получателем) в файл, указав время и зашифровав всю запись. Теперь этот получатель отчитался перед ним. И затем он (кому передали назад) передает эту заверенную расписку дальше назад по цепочке, тому, кто давал ему голос, - уже не прибавляя к ней своей подписи, в первозданном виде (потому что это не отчет и ответственность, а просто помощь в отслеживании пути голоса, и это не так строго).

4. Что передается по сети, и что хранится на диске в зашифрованном виде.
  • Передаются расписки о передачах. Кто передал (ключ подписи), кому передал (ключ подписи), время и зашифрованный ID голоса. Эти расписки копятся в файлах на диске, открыты и постоянно передаются всем и обо всех. Каждому выгодно распространять свои входящие расписки о передачах - ведь этим он отчитывается за _исходящие_ передачи, о которых дал расписки другим.
    Это происходит в постоянном режиме, всегда.
    А не то что, "когда были замечены вбросы, то при согласии всех начинаем как-то отслеживать цепочки".
    Если же в постоянном режиме такое невозможно (большой траффик) - то тогда скажите об этом как специалисты. Боюсь, в этом случае с мечтой о распределенном голосовании придется расстаться. :cry:
    По этим передачам каждый может восстановить дерево каждого, все цепочки вместе со временем - кто кому передавал голоса и во сколько. Но ID голоса зашифрован и не будет расшифрован НИКОГДА. Он нужен лишь для того, чтобы показать, что это УНИКАЛЬНЫЙ голос, переданный этим человеком какому-то набору соседей.
  • Передаются расписки о получении голосов, заверенные подписями тех, кто эту расписку получил.
    В отличие от расписок о передачах, они передаются не всем подряд обо всех - а только назад по цепочке. Тот, кто непосредственно получил расписку о получении голоса, - ОБЯЗАН заверить ее и передать назад. Иначе он не имеет права давать этим соседям (т.е. кто должен получить голос) другие голоса.
    А тот, кто получил расписку уже заверенную чьей-то подписью (т.е. не непосредственно от получившего голос) - тоже передает этот пакет назад, уже никак его не меняя. Но это уже не так критично от него требуется - ведь он может выключить компьютер, не успеть и т.п.
    Это помогает каждому отслеживать путь своего голоса. А также контролировать тех, кто голоса ныкает, чтобы сэкономить число расписок о передачах.
  • Информация о переданных мне лично голосах (открытый ID - выбор голосующего - время получения) хранится на диске в зашифрованном виде (весь файл зашифрован).
    Также, для каждого голоса хранится информация о том, каким соседям он был передан, и кто из них принес какие расписки от своих дальнейших соседей.
    Если в списке передач выясняется, что кто-то из получивших голос соседей не передал его следующему соседу (не принес заверенную расписку) - а при этом он, _позже по времени_, давал этому следующему соседу какие-то голоса - то этот (непосредственный) сосед - злоумышленник, который прячет голоса и передает другие.
    То есть, каждый несет ответственность за голоса, врученные ему лично. Заботится о том, чтобы каждый непосредственный сосед передал их дальше.
  • Информация о злоумышленниках и пострадавших передается по сети. Если кто-то считает кого-то злоумышленником (а это следует из дерева передач) - то он пишет расписку об этом и раздает всем, а все в свою очередь передают дальше.
  • Информация о пострадавших (потерпевших). Она тоже передается по сети. Если кто-то считает кого-то потерпевшим от какого-то злоумышленника - то он пишет об этом расписку и распространяет ее всем по сети (и все распространяют дальше эту расписку). Соответственно, он отказывается принимать от него передачи.
    Тот, кто принял передачу от потерпевшего (еще не выявив источник вброса) - сам станет в глазах остальных потерпевшим, и его итоги не будут иметь силу, а передачи от него приниматься не будут.
  • (Это уже опционально.) Если кто-то видит, что такого-то потерпевшего признали потерпевшим практически все, то это значит, что ему можно дать возможность переголосовать. Тогда этот кто-то стирает всю информацию о входящих передачах ему, и дает всем расписку о том, что он считает его теперь "чистым". Соответственно, каждый может наблюдать, кто считает его уже "чистым" и может принимать от него голос. Если "чистым" его считают практически все, то можно переголосовать повторно.
  • Передается голос о честности голосования, признании итогов выборов. Это делается открыто, распиской, и может меняться в ходе голосования. Если у тебя появилось мнение, то ты передаешь расписку о нем всем, с указанием времени. Если оно изменилось - опять передаешь расписку.
  • С определенной периодичностью каждый выбирает случайного соседа (соседа соседа... соседа) и запрашивает у него итоги голосования (список голосов). Таким образом можно убедиться, что этот сосед не только получил (дал расписку о получении) твой голос, а и учел его в общей таблице.

    Если весь этот траффик неподъемен для конкретной сети - то боюсь, мечта о распределенном голосовании не реализуема. :cry:

5. Передавать голос и подпись по разным каналам не нужно. Это ничему не помогает. Список избирателей каждый может формировать просто из списка передач.

Предлагаю вывесить в вики, и там обсуждать и править.

_________________
[url="http://povischuk.livejournal.com/7922.html"]"... И во многих царствах были олигархи иудейские, которые продавали и покупали...
И пилил Вайншток сорок дней и сорок ночей, и увозил золото колесницами...
Многие же тогда говорили: вот, по закону Моисееву, не дозволено пилить в субботу,.."[/url]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 окт 2011, 18:16 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
Так... Ну поехали... :)

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

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

povischuk писал(а):
  • НЕПОСРЕДСТВЕННЫЙ контроль за одним звеном цепочки. То есть за тем, кто получил у тебя голос. Он обязан вернуть тебе расписки о получении от тех, кому он передал его дальше. Если же - внимание! - он не дал никаких расписок, а при этом в списке передач появляется информация, что он давал другие голоса другим людям - то это значит, что он заныкал конкретный голос, чтобы сэкономить число передач и вбросить другие. В варианте Юрия это учтено не было;

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

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

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

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

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

  • Опять-же, не понял что это даст? Почему-бы тогда не пойти дальше и не подтверждать последнюю передачи подписью последнего, кто принял подтвержденине? Система подтверждений нужна, но не надо доводить ее до абсурда. Этим вы, как минимум, еще раз забъете каналы сети и она уже в третий раз перестанет работать.

    povischuk писал(а):
    По передачам каждый может посчитать количество входящих и исходящих передач каждого, восстановить цепочку всех, кто давал голоса конкретному человеку или принимать от него.
    Если в какой-то момент количество исходящих передач (УНИКАЛЬНЫХ голосов) какого-то человека превышает количество исходящих, то это - злоумышленник, который вбрасывает голоса. А те, кто принимал от него передачи (еще не дошло, что он злоумышленник), и соответственно, те кто принимал у принимавших и так далее по цепочке - те все являются пострадавшими. Итогам голосования, записанным у них, нельзя доверять (пока), и принимать голоса у них нельзя (пока).

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

    povischuk писал(а):
    2. Персональные данные клиента:
    • ID своего голоса. Этот ID хранится в оперативной памяти и переписывается клиентом ручкой на бумагу, или фотографируется.

    Огромный минус удобству. Никто такой системой пользоваться не будет 100%. "Зачем мне что-то записывать если у меня компьютер под рукой?"

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

  • Вы не задумывались почему ключ называется "публичным"? Поясню... Потому, что он доступен всем изначально.

    Извините, не стал читать дальше. Вы исходите из неверных предпосылок. И на них строете вариант системы. К сожалению, не рабочий.

    _________________
    7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


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

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


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

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


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

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