Андрей @UncleAndy
User
Information
- Rating
- Does not participate
- Location
- Подгорица, Подгорица, Черногория
- Date of birth
- Registered
- Activity
Specialization
Backend Developer, Database Developer
From 500,000 ₽
Golang
Docker
PostgreSQL
Git
Nginx
High-loaded systems
Kubernetes
Linux
MySQL
Redis
1. Верификация голосующих;
2. Защита голосов от модификации владельцем системы голосований;
Мое предложение выше касается только проблемы 2. Проблема 1 решается совершенно другими средствами — сетью взаимного доверия (http://habrahabr.ru/post/156097/#comment_5331929).
Сеть доверия — это группа людей, которые собираются голосовать, как минимум, в одном субъекте голосования. Т.е. это те, которые заинтересованы в том, что-бы в голосованиях принимали участие только «правильные» голосующие.
Сеть доверия работает независимо от способа ее реализации и транспорта, который используется для ее работы.
Средством для технической реализации сети доверия была выбрала ЭЦП. Для каждого человека будет существовать несколько уровней доверия по критериям:
1. «Верификация». Уровень доверия к тому, что данный ключ ЭЦП принадлежит данному человеку и человек — реален;
2. «Доверие». Уровень доверия к тому, что данный человек честно удостоверяет чужие «верификации».
3. «Принадлежность конкретному субъекту голосования». Уровень доверия тому, что данный голосующий может голосовать в определенном субъекте голосования.
Эти три критерия — основа. Критерии 1 и 2 — это основа самой сети доверия. Критерий 3 — уже более практический критерий для использования в системах голосования.
Такая сеть — не панацея от мошенников. Она всего-лишь переносит в электронную форму взаимоотношения, существующие в реальном мире. Человека называют определенным именем лишь потому, что большинство согласно его так называть. Здесь используется тот-же принцип.
Да, эта система не будет работать, если большинство в ней окажутся мошенниками. Но если таковых будет не очень много — они будут выявляться и «изолироваться» в сети так, что они не смогут больше вести деструктивных действий. Т.к. все будут знать что данному человеку доверять нельзя.
Как понятно из описания, сеть доверия — это механизм с обратной связью. Как он будет функционировать и будет-ли от него польза, в большей степени зависит от ее пользователей.
«Подтверждать принадлежность этих данных и ключа определенному человеку будут обычные участники этой системы. Для этого им необходимо будет очно проверить соответствующие документы данного человека, проверить соответствие идентифицирующего хэша указанным документам и, при совпадении, произвести в системе процедуру удостоверения этих данных с помощью своей ЭЦП. Таким образом, сообщество будет само контролировать идентификацию пользователей.»
Т.е. идентификация человека будет производится с помощью сети взаимного доверия. Да, может быть такое, что какой-то группе захочется наплодить виртуалов для какого-то голосования. Сделать это они смогут. Но в сети взаимного доверия должна существовать обратная связь. В конечном итоге, такие виртуалы обнаружатся и те, кто их создал больше никогда никого не смогут заверить (что не исключает их участие в голосованиях).
Не согласен. Эта проблема решается использованием криптографии. Выше я предложил способ, который именно эту проблему вполне успешно решает.
В таком случае порядок голосования следующий:
— пользователь отправляет «расписку об участии», подписанную своей персональной ЭЦП;
— пользователь отправляет свой, зашифрованный своим одноразовым ключем, голос;
— по окончанию голосования, ЦВК публикует все пришедшие голоса в зашифрованном виде;
— после такой публикации все пользователи отправляют в ЦВК свой одноразовый ключ, которым можно расшифровать его голос;
— ЦВК публикует все поступившие ключи и результаты по расшифрованным с их помощью голосам;
В таком варианте что-то подделать через ЦВК будет практически невозможно. Т.к. после публикации зашифрованных голосов любые махинации будут раскрыты.
В этом методе нет прямого решения проблемы вброса. Но, как здесь уже отмечали, она решается другими методами. И я лично считаю, что вброс можно усложнить настолько, что он будет очень сложно осуществимым.
Вообще, что-бы не допускать вброса, можно использовать другую систему. За счет некоторого снижения анонимности.
При голосовании пользователь отправляет в систему последовательно два документа: подписанную личной ЭЦП «расписку об участии» в выборах и непосредственно голос с уникальным идентификатором (можно использовать и предлагаемый вами способ его формирования).
При таком голосовании можно делать просто — не пускать в систему голоса, которые увеличивают их количество на величину, большую чем количество имеющихся «расписок об участии».
Конечно, это не панацея.Возможен «перехват» голоса мошенником если он сможет отправить свой голос в промежутке между отправкой пользователем «расписки» и своего голоса. На уровне сервера возможно косвенное раскрытие тайны голоса по таймингу поступивших «расписок» и голосов. Такой способ, конечно, можно дорабатывать.
И на самом деле, сеть доверия — это просто техническое воплощение существующих принципов «работы» общества. Именно то, что большинство граждан считают правильным и является правильным в данном обществе.
Голосующие должны удостоверяться исключительно через сеть взаимного доверия. С обратной связью, естественно.
Естественно, с регулированием самим человеком открытости или закрытости той или иной информации о себе.