povischuk писал(а):
Но мы сейчас пытаемся построить систему, чтобы обойтись без избиркомов.
Вот в этом я и вижу проблему. Я не вижу способа, как построить систему одновременно анонимную (для реализации тайного голосования) и надежную, что бы в ней не было злоупотреблений.
Или одно, или другое. Если кто предложит вариант - я за. Но вроде я изложил правильно, почему это в принципе невозможно.
Если распишете систему, как оно должно взаимодействовать, то я попробую найти способ для ее обхода и фальсификации результатов.
Основное условие - анонимность (поддержка тайного голосования) - т.е. в какой то момент должен возникнуть голос, который засчитается системой, но к которому не будет привязан голосующий (т.е. что бы по этой информации нельзя было восстановить, кто же голосовал).
В моем варианте возможна атака по типу раскрытия информации. Т.е. если изменить код так, что бы он сохранял соответствие, то в дальнейшем можно скомпрометировать систему (не результаты) разгласив эту информацию.
----
Поясню немного, а то не совсем понятно.
В данном случае имеется в виду подсунуть "левый" сервер (если у нас каждый сервер - то это может быть любой компьютер в сети), и этот сервер будет сохранять соответствие идентификатора и пользователя, то можно будет установить информацию о том, кто как голосовал, но только в рамках того, кто получал идентификаторы через данный узел. В общем случае, при большом количестве узлов, данный тип атаки будет не эффективен, т.к. нельзя гарантировать, кто будет ходить через твой узел, а наличие информации о том, как голосовали 2 учителя, 1 дворник и 3 водителя мало кому интересна и не сможет скомпрометировать систему (я надеюсь). Но это уязвимость и о ней еще нужно будет подумать.
Например - нужно получить не один идентификатор куском, а 3 части от него от разных систем (к примеру). Тогда взлом одного узла будет неэффективен.