Автор Тема: За и против дистанционно гласуване по интернет  (Прочетена 10624 пъти)

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8792
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
/извън темата

Знам, че обещах да си дам почивка и ще го сторя. Но видях нещо важно. Обаждам се заради това:


Нищо против нямам да ми бъдат изтрити коментарите и сам щях да го направя, ако можех.


Съвсем сериозно и без шега в полза практическото изпълнение на плана на Нетер — предлагам Киберкоп да получи модераторски права във всички раздели на форума с изключение на „Хумор, сатира и забава“. Тъй като сам Нетер казва, че е много зает, а в момента е абсолютно сам, то възлагането права на Кибер, ще подпомогне много задачата. Държа да няма права в цитираният раздел, за да е сигурно, че няма да има вендета.  Все пак на всички ни е известно, колко много мрази кучета, електроцентрали, избори, комунисти, ГМО, Акта/Пипа/Сопа, правилника за движение по пътищата и пр. Тези теми съвсем спокойно Нетер ще може да проконтролира сам, а той с многото години на този пост е показал своята неоспорима безпристрастност към всяка странна хрумка.

... изтрито ...

редакция от neter: Редактирано съгласно изискването по-горе. А предложения за работата на форума е хубаво да се пускат в съответния за това раздел.
« Последна редакция: Jun 08, 2015, 20:56 от neter »
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Обръщам внимание, че изискването за технологична насоченост касае и новите коментари в съществуващите теми. Изначалната идея на текущата тема противоречи на изискването, и единствената причина да я оставя отключена е вероятността някой да иска да сподели или коментира идея за технологична реализация на подобно нещо, като смисълът на съществуването му е тема за разговор на друго място.
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

4096bits

  • Напреднали
  • *****
  • Публикации: 6195
    • Профил
Ами споделих, за какво бях чел преди време. Colored coins. Не мога да пиша нищо по реализацията, защото не зная нищо и от bitcoin чекнята. Зная само как работи, но не и подробности. Можеше поне като указател да се остави!  ???
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW


Нищо не разбрах - къде е тайната на вота. Имаш ли линк за тази схема която обесняваш защото ми е трудно да разбера идеята как решава проблема

Също подписване с личен ключ не е достатъчно защото има вариант за манипулация ако просто вотове се изтриват на принцип социологическо проучване - ако знаеш че в Павликени всички/повечето са за партия Х просто не им броиш гласовете (да не се взема буквално разбира се но просто илюстрирам идеята). За тази цел има идеи за верификация на вота, но отново като решиш един проблем създаваш нов.

Подписване с личен ключ няма, личният частен ключ се ползва единствено за криптиране на blinding фактора (което в най-простият случай е просто случайно-генерирана стойност, с дължина равна на тази на бюлетината с която xor-ваме бюлетината преди да я предадем на voting сървъра за подписване, така че той няма идея за кого сме гласували, но знае че сме гласували. В този си вариант схемата предполага че само и единствено преброяващата страна (някаква форма на държавен регистратор) има достъп до публичните ключове на гласуващите. Схемата после естествено е доработвана, преправяна, с цел да се решават различни проблеми които не решава добре. Линк специално към оригиналния paper нещо не мога да намеря, но предполагам ако търсиш за "FOO voting protool" или FOO92 e-voting" ще попаднеш на линк към документ, където е обяснено нагледно как работи (ако ще и да не е оригиналния paper)
Активен

"Knowledge is power" - France is Bacon

sharena_sol

  • Гост
@gateway

Това е много интересно. Намерих тази статия в която има опсиан FOO voting protocol-а (стр 7-9): http://www.win.tue.nl/~evink/research/Postscript/vodca06.pdf

Не е съвсем както го описваш (относно личния ключ) но като цяло идеята е същата.

Това което ме смущава е, че до колкото разбирам, този алгоритъм разчита, че администратора и брояча са независими и отделни.

Ще повторя нещо което писах в началото - за мен най-големия проблем е централизираната обработка и съхранение на данните. Незнам как изглежда одит, който да ти гарантира какъв точно код се изпълнява на даден сървър, без одитора сам да инсталира всичко собственоръчно, но тогава той се превръща в слабото звено. Затова и споделих мнението че нещо в посока биткойн е може би по-сигурно.

Относно FOO - тук отново трябва да се доверим на тези 2 сървъра. Но ако се доверим на тях, то тогава защо изобщо да правим такива сложни криптирания - нека си пазим една таблица с ид-та и бюлетини и да им вярваме че няма да я прочетат или променят. От гледна точка на нужно доверие, което да се делегира на органа по организиране на изборите, то е едно и също дали с FOO или без грам криптиране и схеми.

Ето на прима виста защо FOO ми се струва че не помага:
На края на изборите, админ+брояч сървърите (за които няма причина да разсъждаваме като отделни независими актьори) разполагат със
1. 5000000 криптирани бюлетини
2. 5000000 криптирани блайнднати бюлетини + ЕГН-та
3. знаят че блайндинг функцията е XOR с неизвестно число. Но предполагам разсъждението ми ще важи за всяка биекция
4. знаят частния ключ на админ сървъра с който подписва блайнднатите бюлетини
5. всички частни ключове на избирателите, с които в последната фаза декриптират вотовете
6. подписите на админ сървъра за всяка блайндната и всяка "само криптирана"

И единствено незнаят случайното число за блайндване на всеки от гласоподавателите. Остават само около 0.5*(5000000^2) стъпки да сравнят всяка "блайндната" с всяка "само криптирана", да отгатнат блайндинг функцията (имайки входа и изхода) и да сравнят подписите. В крайна сметка имат асоциация между ЕГН и бюлетина.

Поправи ме ако греша но ако до колкото разбирам блайндинг-а е просто някъв XOR, то е тривиално да отгатнеш X ако имаш М и N, в уравнението M _xor_ X = N?



ЕДИТ:
Всъщност може и да не съм прав точно в този случай за асоцииране на бюлетините - те подписите винаги ще съвпадат за всяка двойка - трябва да пия още едно кафе. Но това не изключва една камара практически проблеми (примерно транзакционност и паралелно offline гласуване при технически проблем или DDoS ). Както и да е, ще го помисля малко повече.
« Последна редакция: Jun 09, 2015, 11:47 от sharena_sol »
Активен

sharena_sol

  • Гост
Тъй като немога да измисля проблем с блайндинга ето ти други проблеми за сега:

1. Прочети точка 4.
http://assembly.coe.int/Main.asp?link=/Documents/AdoptedText/ta07/ERES1590.htm

Това условие прави много трудна да се направи схема за верификация на вота, защото ти си задължен да пазиш тайната на вота. Естествено ти винаги доброволно можеш да кажеш как си гласувал, въпросът е да нямаш начин по който да го докажеш (да знам с мобилните телефони как си снимат за доказателство но за това има решения в аналоговите избори - най малкото може после да я инвалидира преди да я пусне)

При верификацията на FOO voting-a обаче можеш да докажеш как си гласувал.

2. Също така няма гаранция, че някой не ти е стоял зад гърба да ти казва как да гласуваш (докато в Естонската система това се решава със зачитане на последния вот, тук можеш да гласуваш само веднъж)

3. Няма вариант за транзакция на пускането на вота. Ако някой по пътя повреди отговора от админ сървъра, но админ сървъра вече те е записал като гласувал, нямаш вариант да поискаш повторно подписване.

4. Има две фази на публикуване на гласуването - първо списък с криптираните бюлетини и после списък с разкриптираните бюлетини (след като всеки гласоподавател си прати ключа). Не ми стана ясно дали те се публикуват в същия ред, така че да можеш да провериш дали правилно са ти я разкриптирали, но:
4.1 Ако не, тогава нямаш гаранция че окончателните резултати съответсват на криптираните бюлетини освен ако огромен процент (примерно 90%) от хората не излязат да си разкриптират вотовете (но каква част от тях ще си пазят ключа след изборите или ще желаят да го направят)

4.2. Дори да са в същия ред и да можеш да провериш дали коректно са ти я разкриптирали с предоставения от теб ключ. И можеш да валидираш всичко относно твоята бюлетина. Обаче какво ти гарантира че останалите бюлетини не са фалшиви????
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Защо да знаят частните ключове на гласуващите, това би било доста голям проблем. Ако за целта се ползва УЕП-а или там както се нарича и държавата пази някъде частните ключове, това би довело до трагични последствия предвид навика държавата да обслужва нечии бизнес интереси.  Опорочените избори ще са от по-малките проблеми.

Иначе да де, ако държавата разполага с частните ключове, може да генерира валидни подписани от сървъра за регистриране на вота бюлетини от името на който и да било. Може и да ги модифицира.

Blinding функцията трудно ще се атакува стига за генерирането на стойността да не се ползва някакъв опорочен PRNG или поради някаква причина същия случайно генериран материал да не се преизползва за повече от една бюлетина.

Има нерешени проблеми така разбира се. Първият е в преброяването, което трябва да става по прозрачен начин, но това не е проблем на криптосистемата. По същият начин и преброяването в ЦИК може да става по доста непрозрачен начин, бюлетини да се губят, грешки да стават, хора да мъкнат чували с бюлетини както на едни предишни избори и т.н. Освен което преброителят знае кой за кого е гласувал - вероятно някоя схема с identity-базирана криптография го решава този проблем, нямам идея, никога не ми е била интересна тази тематика за да следя развитието и новостите там. Също и гласуването по принуда не може да се разреши като проблем така.

Та вероятно голяма част от тези проблеми вече са решени, а може и да не са - нямам идея. Мисля че естонското гласуване ставаше по разновидност на този същия протокол, освен ако нещо не се лъжа. Не съм следил имали ли са драми там.
« Последна редакция: Jun 09, 2015, 13:55 от gat3way »
Активен

"Knowledge is power" - France is Bacon

sharena_sol

  • Гост
Защо да знаят частните ключове на гласуващите, това би било доста голям проблем. Ако за целта се ползва УЕП-а или там както се нарича и държавата пази някъде частните ключове, това би довело до трагични последствия предвид навика държавата да обслужва нечии бизнес интереси.  Опорочените избори ще са от по-малките проблеми.

Ами до колкото разбирам такав е протокола. Ако не греша даже май не става въпрос за асиметрично криптиране. Прост ако клиента си генерира прозволен временен ключ с който да криптира бюлетината и да я прати за подписване е достатъчно. Отделно може УЕП да се ползва за подписването и автентикацията за пред администратора но като цяло това са подробности.

Този ключ с който е криптирана бюлетината, в последния етап се праща на преброяващия сървър отново по анонимен канал. Този сървър като ги събере всички (или повечето) ключове ги използва за да декриптира получените по-рано (пак по анонимен канал) криптирани бюлетини (и подписани чрез блайндинг схемата от админ сървъра)

Така разбирам аз цялата тази бюрокрация като четох по диагонал статията
Активен

sharena_sol

  • Гост

Иначе да де, ако държавата разполага с частните ключове, може да генерира валидни подписани от сървъра за регистриране на вота бюлетини от името на който и да било. Може и да ги модифицира.


Абе пак не е много просто - доста хитро са го измислили. До колкото разбирам , точно тук влиза идеята с двата етапа на публикуване на резултатите - първо са криптираните бюлетини, където ти можеш да си разпознаеш своята без още да си споделил ключа. И след това декриптираните чак като си дадеш ключа.
Така че можеш да засечеш ако са ти го модифицирали евентуално и те трябва да обесняват от къде си се сдобил с подписана бюлетина на твоя компютър.

Не съм я чел, но ето и оригиналната статия: https://people.csail.mit.edu/rivest/voting/papers/FujiokaOkamotoOhta-APracticalSecretVotingSchemeForLargeScaleElections.pdf)

Но пак остава проблема да генерира фалшиви бюлетини на хора които не са гласували - и пак се свежда до някакво Trusted Authority да гарантира че всичко е наред струва ми се.

Да и сега има много мизерии - просто са разпокъсани и всяка партия е малко или много равнопоставена в мизериите които може да направи (е с лек превес на управляващата). Докат при централизирана информационна система, управляващите имат всички козове и мизериите са със 100% ефект, а не "къдет мине номера". А и като ги снимат журналистите пак се носи поне някакъв политически негатив. Електронно никой няма да разбере даже че нещо се е случило. И последно аз поне незнам някъде освен в естония да правят избори по интернет (поне не сериозно). И в Естония се караха опозиция и управляващи по едно време за това гласуване - ама то това сигурно е нормално
« Последна редакция: Jun 09, 2015, 14:13 от sharena_sol »
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Хах, наистина ли оригиналния протокол не е изисквал асиметрична криптография? Това е доста смело, доверяваш се изцяло на преброяващата страна че няма да си играе на Господ и да пуска бюлетини вместо хората. Асиметричната криптография в случая лесно решава този проблем. Иначе за анонимния канал като изискване го помня, но идеята според мен е да се реши проблема със селективен отказ на услуги при положение че инфраструктурата или част от нея е в "лоши ръце". Това апропо се превръща в доста голям проблем за дистрибутираните реализации където някой голям доставчик или exchange point може да започне да се държи лошо и да "разбие" мрежата на няколко големи сегмента, между които няма консенсус за изборния резултат. При bitcoin това е напълно възможно, но не е огромен проблем - първо мащабите са различни и усилията са различни и второ нямаме някакви твърди срокове и в момента в който свързаността се възтанови, ще се "възцари" "истинската" версия на историята на транзакциите. Някои транзакции които за ограничен кръг от хора са изглеждали като случили се, защото са получили бройка потвърждения, просто ще изчезнат все едно не са ставали и всичко си остава по старо му. При избори обаче, воят ще е огромен, ще слушаме глупости, слабоумни журналисти ще вадят скрийншотове и ще разпалват истерии, разни "експерти" ще си изказват, ще се завеждат дела, ще искат касиране и т.н.

Като цяло, електронното гласуване може би е благодатен инструмент за блокиране и саботиране на изборния процес :)
Активен

"Knowledge is power" - France is Bacon

sharena_sol

  • Гост
Хах, наистина ли оригиналния протокол не е изисквал асиметрична криптография?

За криптирането май не - администратора подписва не само блайндната но и криптирана бюлетина. И то май така е по правилно да не ползва УЕП (защото после трябва да пратиш частния ключ да може преброителя да го декриптира - (ЕДИТ: а не обърках се нещо както и да е - по точно ако ти ползва публичния ключ за да декриптира тогава няма да са анонимни - та за това и временен ключ е по добре) ) а няма и смисъл от асиметричен за криптирането така или иначе.

Но за да се аутентикираш пред администратора може би е добре да се ползва УЕП като подпишеш криптираната и блайндната бюлетина. То това може би и решава проблема с фалшивите бюлетини донякъде. Защото ако Администратора ги пази тези подписани бюлетини то знаеш точно колко хора са гласували и това трябва да отговаря на анонимните бюлетини при преброителя. А държавата принципно няма достъп до личния ти ключ на УЕП-а, че да подписва с него каквото и да е.
« Последна редакция: Jun 09, 2015, 15:43 от sharena_sol »
Активен

4096bits

  • Напреднали
  • *****
  • Публикации: 6195
    • Профил
При bitcoin има достатъчно хора, които съхраняват цялата блок-верига. Няма смисъл да го умуваме. Сто порцента непробиваема система няма. Било цифрова, аналогова, каквато ще да е. Въпроса е да се ограничат възможностите за вход във системата и възможностите за манипулация до едно приемливо ниво.
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

sharena_sol

  • Гост
Тук има инфо в общи линии как работи Естонската система (въпреки че по мои спомени имаше два сървъра които пазеха всеки част от информацията, но не толкова добре като криптирано като FOO)

http://www.vvk.ee/public/dok/Internet_Voting_in_Estonia.pdf

С две думи вота се криптира с публичния ключ на ЦИК и после се подписва с твоя УЕП. И преди да пристигне за броене в ЦИК, една система (пак на ЦИК - или при всички случаи контролирана от правителството или няква комисия) записва всички които са гласували без да декриптира вотът (поне обещава да не го прави - понеже ужким няма частния ключ на ЦИК). После го последната бюлетина на всеки човек отива за преброяване при другия сървър, може би, който има частния ключ на ЦИК и може да ги декриптира (но ужким не вижда твоя подис и данни). Всичко е на едната честна дума.

С една дума - пародия - да има там криптиране да изглеждат по-печени.

Но предимството срещу FOO е, че е много по практична (без някви сложни фази и обмяна на сто неша с различни сървъри) и имаш възможност за промяна на вота (особено през последния ден в тъмна стаичка)
Активен

sharena_sol

  • Гост
При bitcoin има достатъчно хора, които съхраняват цялата блок-верига. Няма смисъл да го умуваме. Сто порцента непробиваема система няма. Било цифрова, аналогова, каквато ще да е. Въпроса е да се ограничат възможностите за вход във системата и възможностите за манипулация до едно приемливо ниво.

Работата е там че обикновено при електроните системи е всичко или нищо. Тя системата или е пробита или не (е айде условно казано). Само при класическото гласуване имаш процент компрометирани секции и преброители, понеже ще е егати конспирацията да купиш всички комисии. Така ми се струва на мен
Активен

stealth01

  • Гост
С две думи вота се криптира с публичния ключ на ЦИК и после се подписва с твоя УЕП. И преди да пристигне за броене в ЦИК, една система (пак на ЦИК - или при всички случаи контролирана от правителството или няква комисия) записва всички които са гласували без да декриптира вотът (поне обещава да не го прави - понеже ужким няма частния ключ на ЦИК). После го последната бюлетина на всеки човек отива за преброяване при другия сървър, може би, който има частния ключ на ЦИК и може да ги декриптира (но ужким не вижда твоя подис и данни). Всичко е на едната честна дума.

,,,

Но предимството срещу FOO е, че е много по практична (без някви сложни фази и обмяна на сто неша с различни сървъри) и имаш възможност за промяна на вота (особено през последния ден в тъмна стаичка)
Бях тръгнал да правя една схема, как я виждам аз тая работа и изглеждаше доста сходно с това :)
Но с разликата, че не е добре да може да се редактира вота, Точно защото веднъж гласувал, преброителният сървър не трябва да може да те идентифицира. Още по-добре би било преброяването да не се извършва от централизирана система, а резултатите (сегашните изборни протоколи) да са публични данни, които всеки след това би могъл да пусне да се преброят при него и да провери резултата. Така системите, идентифициращата гласоподавателя и преброяването реално ще са отделни инфраструктури.
Активен