Volfram писал(а):
А почему должен быть единственный trustworthy CA? Мне кажется, что лучший вариант - это лицензирование государством нескольких независимых (друг от друга и частично от государства) keyserver. Модель с нотариусами тут очень даже уместна, только тут мы ещё можем и постоянно проверять синхронность данных между разными keyserver. Чем больше людей с конфликтующими интересами вовлечено в процесс, тем труднее проводить какие-либо манипуляции незаметно.
Вообще да, мне по нраву эта идея. Особенно учитывая, что нотариусы уже сейчас выдают доверенности, у которых законной силы примерно столько же, сколько и у ЭЦП.
Darsh писал(а):
Просто надо находить уязвимости - и искать на них управу в других плоскостях, а не пытаться изобрести панацею. Абсолютный идеал - недостижим (как учили нас 27 лет назад в кружке изобретателей в Рижском дворце пионеров (ныне - Рижский замок)).
Идеал — это когда нам не нужны выборы :) Как говорил кто-то очень уважаемый, криптография — это наука, основанная на предположении, что мир вообще-то ужасный и везде враги.
Darsh писал(а):
Электронные выборы принципиально не намного уязвимее обычных. Просто надо помозговать над методами контроля электронных - чтобы уровень контроля соответствовал уровню обычных выборов.
Нельзя говорить о безопасности общей идеи, можно говорить лишь о конкретных реализациях. Вот эстонская, например, значительно уязвимее бумажной — там достаточно одного сотрудника ЦИКа, чтобы с высокой долей вероятности произвольным образом менять результаты или читать голоса.
Вообще, «уязвимость» (качество) — это не бинарная величина. Неверно утверждать, что выдать левый паспорт или анализировать отпечатки пальцев на тысячах бюллетеней — это так же просто, как два файла (с голосами и с ключами :)) передать. К тому же, всегда есть опасность хакерских атак, и в таких случаях лично мне хотелось бы полагаться на математические идеи, а не на физическую защищённость конкретного ДЦ или профессионализм конкретной команды разработчиков.
Говоря об этом, жизненно необходимо, чтобы абсолютно всё ПО, обеспечивающее электронные выборы, имело открытый исходный код и было опубликовано как минимум за полгода до непосредственных выборов. Без сомнений, это не спасёт плохой протокол, но в случае безопасного протокола это значительно повысит как реальную безопасность решения, так и количество граждан, которые к решению относятся положительно. Потому что сначала это в любом случае будет «смотрите, что наши субподрядчики написали» от ЦИКа, а вот потом об этом начнут говорить нормальные люди. Сначала откомментит пара рисёрчеров из LUMII, мол, пэйперы читали, выглядит здоро́во (заодно укажут на реальные преимущества подхода). Потом кто-нибудь из них даже до кода доберётся, расскажет что-нибудь хорошее и про код. Параллельно для собственного PR аудитить код начнёт Microsoft Latvia или ещё там кто-нибудь, полезут реально подробные отчёты. Товарищи из всяких CERT.lv тоже присоединятся к общему шуму. В этот момент проснутся и чуть более отвлечённые от мира математики/CS люди, но более известные общей публике люди, например, Кащеев в твиттере скажет, что вот те ребята из MII на самом деле классные и им можно верить. Мне кажется, что такой сценарий действительно может повысить общее доверие к выборам (не к электронным, а в целом!) и увеличить явку (особенно учитывая потенциальное упрощение процесса голосования).
Darsh писал(а):
ZedLeppelin писал(а):
Тем что это anonimity through honesty (I should coin that one). Сдампив левую и правую базу мы немедленно получаем соответствие голос ↔ личность.
А по-другому-то никак. Не предъявляя личность, не сможешь проголосовать. Соответственно, в принципиальном смысле отделить личность от голоса совсем - не получится. Можно только по возможности максимально разнести их в разные стороны, и включить контроль за исполнением (как с паспортами, скажем), переведя вопрос из области софта в административно-процессуальную.
Такие утверждение, в общем-то, принято сопровождать формальными доказательствами :)
Вот ещё одна (в некоторой мере похожая на нашу) «невозможная» задача: собираются четыре друга и хотят сыграть в покер. Но колоды у них нет, и дилера тоже, поэтому они хотят сыграть в «покер вслепую», подобно тому, как иногда
развлекаются гроссмейстеры. Могут ли они договориться о протоколе, при котором они смогут (исключительно переговорами) перемешать свою виртуальную колоду, да так, чтобы быть уверенными, что во время игры каждый знает только свои карты (и те, которые сейчас на столе и раскрыты), а после игры каждый узнает карты каждого?
Подумай об этом пару минут — есть кучка людей, ни один из них никому не доверяет, и им нужно как-то «договориться» о порядке кард в колоде, безопасно распределить карты между игроками (динамически, кстати, потому что множества видимых карты меняются по ходу игры!) и удостовериться, что во время игры карты не меняются. Удивительно, но у этой задачи есть абсолютно реальные и работающие решения. Об этом можно почитать
в замечательном посте товарища Мэтью Грина или
в Википедии.
Несмотря на свою забавную формулировку, эта задача на самом деле стала объектом очень серьёзных исследований, которые привели к очень полезным результатам. Собственно, вчера я размышлял о применимости идей этой задачи к выборам и придумал одну любопытную конструкцию. Когда я пошёл гуглить пару технических моментов, я наткнулся на
статью, в которой товарищ с почтой на мёртвом домене делает применительно к Digital Signature Algorithm примерно то же самое, о чём я подумал, только по пути ещё это формально доказывает. Если я правильно понимаю суть DSA, то описанного в этой статье должно быть достаточно для проведения анонимных выборов, а с определёнными модификациями — для абсолютно практичного проведения анонимных и верифицируемых выборов. Если же я неправильно понимаю суть DSA (что вполне возможно), то в этой статье всё равно описано несколько очень важных идей, которые потенциально выливаются в схему анонимной раздачи ключей, которая достаточна для построения анонимных и верифицируемых выборов. В общем, эту тему определённо следует изучать, и, пока у нас нет удовлетворительной формализации процесса выборов, для которой возможно доказать несуществование подходящего протокола, не следует пессимистично заявлять, что протокола нет.
P.S. Я тут задумался — много ли граждан с правом голоса, которые не голосовали (скажем, на последних выборах в ЕП) и при этом имеют eID (желательно, с активированными сертификатами)? Я сильно сомневаюсь, что при проведении выборов допустят использование банков для аутентификации (см. latvija.lv — там AFAIK уже сейчас есть несколько услуг, доступных только через eP). Люди с eID — это, конечно, не все пользователи eP, но уж про пользователей виртуального eP такой статистики точно нет. Как думаете, такая инфа у кого-нибудь вообще может быть? PMLP, например, получает какой-нибудь фидбэк о том, пришёл ли человек на выборы?