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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Логика подписывания
СообщениеДобавлено: 20 мар 2012, 11:54 
Не в сети

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
Хотелось бы немного разобраться с логическими последовательностями при подписывании.

Для начала цепочка рассуждений.

Где именно подписываются голоса при голосовании? Теоретически это функция бекэнда, если конечно исходить из того что вся БЛ в нём. Но если мы на устройстве используем только фронтэнд, то подписывать должны на нём. Опять же если бек крутится на "сервере" где нет пользователя за консолью, то интерактивные подписывания отпадают.

Отсюда работа с основной подписью пользователя должна вестись там где запускается фронт. Вроде верно?

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика подписывания
СообщениеДобавлено: 20 мар 2012, 17:48 
Не в сети

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

Нет. транспортный ключ должен принадлежать одному конкретному владельцу.

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

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

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

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика подписывания
СообщениеДобавлено: 20 мар 2012, 17:52 
Не в сети

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

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика подписывания
СообщениеДобавлено: 20 мар 2012, 19:39 
Не в сети

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
Андрей писал(а):
Нет. транспортный ключ должен принадлежать одному конкретному владельцу.
Когда обсуждали в скайпе, Юра высказался в том смысле, что у транспортного ключа может быть несколько подписавших. И ответственность скорее увеличивается, т.к. будет не субсидиарной, а полной. Я собственно не нашёл что возразить.

Андрей писал(а):
Т.е. в идеале, оно должно быть интерактивным.
Оно и будет интерактивным. Нужна подпись основным ключом. Для бекэнда онли. А он уже не интерактивным ключом будет вести всю механику процесса. Можно выдавать ему "доверенность" на представительство.
Андрей писал(а):
Например, в связи с необходимостью отправки ключа для расшифровки можно отправлять этот ключ бэкэнду с указанием когда его начать рассылать.
Это я тоже так подумал. Но потом вспомнил, что может быть при нарушениях повторный сбор голосов. И это снова подписывать. В предлагаемом варианте узел будет "доверенным представителем" в СГ. Пользователь ему сообщил выбор, а бекэнд отрабатывает все нарушения и прочие переподписания.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика подписывания
СообщениеДобавлено: 20 мар 2012, 19:47 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
Dim писал(а):
Андрей писал(а):
Нет. транспортный ключ должен принадлежать одному конкретному владельцу.
Когда обсуждали в скайпе, Юра высказался в том смысле, что у транспортного ключа может быть несколько подписавших. И ответственность скорее увеличивается, т.к. будет не субсидиарной, а полной. Я собственно не нашёл что возразить.

Хотя да - логично, в общем-то.

Dim писал(а):
Андрей писал(а):
Т.е. в идеале, оно должно быть интерактивным.
Оно и будет интерактивным. Нужна подпись основным ключом. Для бекэнда онли. А он уже не интерактивным ключом будет вести всю механику процесса. Можно выдавать ему "доверенность" на представительство.

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

Dim писал(а):
Андрей писал(а):
Например, в связи с необходимостью отправки ключа для расшифровки можно отправлять этот ключ бэкэнду с указанием когда его начать рассылать.
Это я тоже так подумал. Но потом вспомнил, что может быть при нарушениях повторный сбор голосов. И это снова подписывать. В предлагаемом варианте узел будет "доверенным представителем" в СГ. Пользователь ему сообщил выбор, а бекэнд отрабатывает все нарушения и прочие переподписания.

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

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

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика подписывания
СообщениеДобавлено: 20 мар 2012, 20:59 
Не в сети

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
Dim писал(а):
...Но потом вспомнил, что может быть при нарушениях повторный сбор голосов. И это снова подписывать. В предлагаемом варианте узел будет "доверенным представителем" в СГ. Пользователь ему сообщил выбор, а бекэнд отрабатывает все нарушения и прочие переподписания.


По моему вы придумываете не существующие проблемы. Давайте еще раз по пунктам:
1) Пользователь с помощью интерфейса фронтенда "голосует" т.е. формирует 2 пакета (пакет "участия" и собсвенно сам "выбор") и передает на сторону бэкенда.
На этом интерактивная часть закончена.

2) Бэкенд распространяет пакет "участия" как есть.
3) Бэкенд генерирует ключ для голосования и использует его для распространения "голоса".
4) В случае "устранения вброса" бэкенд генерирует новые ключи для голосования и снова распространяет "голос".

В чем не состыковка?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика подписывания
СообщениеДобавлено: 20 мар 2012, 21:22 
Не в сети

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
yurial писал(а):
В чем не состыковка?
Не стыковка в том, что пользователь должен своей подписью ещё и подтвердить наличие собственного голоса в некотором блоке голосов.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика подписывания
СообщениеДобавлено: 21 мар 2012, 13:36 
Не в сети

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
1. Что ты имеешь ввиду под "блоком голосов"?
2. Для чего это нужно.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика подписывания
СообщениеДобавлено: 21 мар 2012, 21:21 
Не в сети

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
Ну например субъект на 300 участников.
Пришло 200 пакетов с голосами. И 200 подписей о участии в голосовании.
Вроде всё ок? Срок вышел. Раскрываем голоса. Раскрываем. И вдруг под конец нарисовывается 50 участников которые подпись о участии послали, а пакета с голосом в результатах нет. Налицо вброс. Но что с ним делать не понятно. Прослеживать всех раскрывая тайну голосования?

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Логика подписывания
СообщениеДобавлено: 23 мар 2012, 21:13 
Не в сети

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
Dim писал(а):
Срок вышел. Раскрываем голоса. Раскрываем. И вдруг под конец нарисовывается 50 участников которые подпись о участии послали, а пакета с голосом в результатах нет. Налицо вброс. Но что с ним делать не понятно. Прослеживать всех раскрывая тайну голосования?

1) Срок вышел, а значит те 50 сами виноваты, что их голоса не учтены;
2) Чтобы организовать вброс нужно быть уверенным, что те 50 голосующих не проголосуют, и что никакой другой махинатор тоже не осуществит вброс. Считаю этот сценарий крайне трудно реализуемым.
Dim писал(а):
А про блоки я уже высказывался. Можно результаты считать не по мелким субъектам, а просто блоками проголосовавших.

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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

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


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

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


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

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