Pull to refresh
152
Юрий Бабак @Inversionread⁠-⁠only

Пользователь

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



Данные двигаются следующим образом:
приложение->HES(Haalteedastamisserver, распределяющий сервер)->HTS(Haaltetalletamisserver, сервер хранилище)->HLR(Haaltelugemisrakendus, обрабатывающее приложение).

В HES идет связка кому каких кандидатов предложить, в HTS — хранение голос+человек, в HLR — обработка голосов.

Логика следующая: у тебя есть ID карточка с физическим приватным ключом. Такой же ключ есть у HLR. Тебе дается публичный ключ HLR и ты зашифровываешь свой голос этим ключом (плюс солишь). Этот голос будет способен прочитать только HLR. Затем ты подписываешь этот шифр своим приватным ключом и отправляешь через HES в HTS. Там твоя связка сохраняется, однако HTS доступен только твой личный публичный ключ и он проверяет, что ты можешь голосовать или, например, отдал ли ты голос несколько раз. За кого именно ты отдал голос — HTS узнать не может без физического приватного ключа HLR. Когда голосование заканчивается — HTS распаковывает все конверты, инфу о проголосовавших сохраняет отдельно, а голоса отдельно передает дальше в HLR (и, вероятно, удаляет связки голос-человек?). HLR расшифровывает голоса и подсчитывает.

узнать кто-за-кого можно двумя способами:
а) скопировать физический ключ с обрабатывающего сервера и посмотреть, за кого проголосовал гражданин. Скопировать ключ очень сложно, но даже если получилось — нужно получить еще и конверт с голосом, а значит иметь доступ к обоим системам. Если учесть, что там присутствует еще и наблюдающий орган — аудит, который отслеживает хеши передвигающихся данных, то это становится еще сложнее.
б) передать не только зашифрованный голос, но и credentials-ы проголосовавшего на обрабатывающий сервер. Для этого нужно изменить код. Проблема решается верифицированным кодом и подписанным, предположим, представителями партий + аудитом, который перепроверяет переодически подпись.

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

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

Information

Rating
Does not participate
Location
Ивано-Франковск, Ивано-Франковская обл., Украина
Date of birth
Registered
Activity