Сквозная розрачность
Сквозная розрачность
Автор: Киви Берд
Компьютерные технологии в системах голосования вызывают очень много споров, поскольку с их помощью гораздо легче подделывать результаты выборов. Но это смотря как к электронике подходить. Как и любой другой инструмент двойного применения, компьютерные системы голосования можно затачивать под манипуляции, а можно и совсем наоборот - под полную прозрачность и проверяемость результатов от начала до конца (или кратко E2E - входящий ныне моду термин "end-to-end audit").
Простые решения сложных проблем
Капризы
Электронные системы голосования, ускоренными темпами внедряемые ныне в политическую жизнь множества стран, уже успели сильно разочаровать публику своей капризностью и ненадежностью. За последние месяцы применение подобных систем было запрещено в Нидерландах, отодвинуто в неопределенное будущее в Британии и существенно скорректировано новыми законами в США.
Два важнейших принципа честных выборов можно сформулировать так.
1. Избиратели должны совершать волеизъявление с помощью тайного голосования - чтобы было невозможно узнать, кто как проголосовал. Необходимо, чтобы никто не мог подкупить человека или принудить его к голосованию нужным образом, а избиратели, соответственно, не могли бы продавать свой голос.
2. Процесс голосования должен быть точным и проверяемым. Каждый избиратель должен иметь возможность убедиться, что никто не проголосовал больше одного раза; что голоса не были вброшены, уничтожены или подменены; что голосовали только зарегистрированные избиратели, а все отданные голоса были подсчитаны правильно.
Главная проблема честных выборов в том, что два этих базовых принципа очень трудно совместить друг с другом. Совсем несложно сделать голосование точным и проверяемым - просто зафиксировав все пары "избиратель-голос" и открыто опубликовав результаты для всеобщей проверки. Но тогда будет также очень просто покупать голоса и манипулировать избирателями, подрывая основы демократии. Механизмы же тайного голосования, с другой стороны, по "темной" природе своей дают широчайшее поле для злоупотреблений и махинаций с голосами.
Однако, как часто бывает в жизни, очевидный на первый взгляд вывод оказывается неверным. Например, люди веками были уверены, что засекреченная связь возможна лишь между теми, кто владеет общим секретным ключом к шифру. Столь же незыблемы были и представления о единственно возможном механизме организации выборов с помощью избирательных комиссий, подсчитывающих число голосов, отданных за конкурирующих кандидатов. Но четверть века назад в науке о защите информации произошла великая революция. Выяснилось, что существуют математически строгие методы засекречивания, позволяющие шифровать связь между абсолютно незнакомыми и никогда не общавшимися людьми - посредством криптографии с открытым ключом. Попутно ученые установили, что с помощью тех же самых, в сущности, идей можно реализовать и честные выборы, которые примиряют взаимоисключающие принципы. Правда, поначалу решения были найдены лишь для теоретических моделей, довольно далеких от реалий жизни.
Эти модели подразумевали избирателей, подающих голоса в зашифрованном виде, чтобы никто из счетчиков комиссии не знал содержимое заполненного бюллетеня. При этом специальный метод "доказательства с нулевым знанием" (zero knowledge proof) давал счетчикам механизм, подтверждающий правильность учета голосов. Независимые комиссии наблюдателей, в свою очередь, могли проверять эти доказательства и убеждаться, что счетчики действительно не жульничали. Но кто за кого проголосовал, по-прежнему оставалось тайной. Главная красота моделей была в том, что здесь не требовалось слепо доверять честности власти, организующей выборы, или программистам, сделавшим по заказу правительства программную систему для проведения выборов, или кому-либо еще. Никто из них в принципе не мог сжульничать. Потому что это было математически невозможно - обмануть и не быть пойманным (с убедительным доказательством жульничества). Все, что для этого требовалось, - заложить в систему права на верификацию. Теоретически любой человек мог бы тогда воспользоваться программой-верификатором (или написать собственную) и проверить доказательства честности выборов самостоятельно - согласно стандартным процедурам проверки.
Такого рода модели в теории выглядели великолепно, но для практического воплощения они были чересчур сложны. Лежавшие же в их основе нетривиальные математические идеи были доступны для понимания лишь специалистам. А потому убедить среднестатистического избирателя в том, что новая схема выборов намного лучше всех прежних, казалось задачей невыполнимой.
Подобные взгляды держались довольно долго, но затем - к середине нынешнего десятилетия - сразу несколько умных людей вдруг поняли, что те же самые идеи можно реализовать просто, без мудреной математики, на уровне, понятном даже детям. Вряд ли должно удивлять, что людьми этими оказались широко известные в мире ученые-криптографы.
Мы расскажем о двух наиболее значительных системах голосования, о которых широкая публика узнала около года назад.
Punchscan
Борьба
С 1860 по 1890 годы для борьбы с широкомасштабной подделкой выборов в США было введено множество разных технических средств. Таких, как избирательные урны с прозрачными стеклянными стенками для недопущения двойного дна и встроенных тайных отсеков. Или механические счетчики для опускаемых в щель бюллетеней, чтобы предотвратить хищения отданных голосов и массовое вбрасывание фальшивых бюллетеней.
Систему под названием, переводимым примерно как "Дыркоскан" (punchscan.org), изобрел Дэвид Чом (David Chaum) - автор ряда криптографических протоколов, широко применяемых в электронной коммерции, а также концепции "цифровых наличных". Кроме того, Дэвид Чом был одним из отцов-основателей IACR, Международной ассоциации криптологических исследований, созданной в 1982 году и по сию пору остающейся главной в мире организацией для специалистов, занимающихся открытой криптографией.
При сравнении с традиционным избирательным бюллетенем система Punchscan может показаться замысловатой, однако принцип ее работы прост. Новый бюллетень представляет собой лист бумаги, поделенный на две равные части проходящей посередине перфорацией. На каждой из половин напечатан уникальный номер-идентификатор. Лист складывают по линии раздела, так что на первой странице оказываются напечатаны имена избираемых кандидатов, каждому из которых случайным образом присвоена одна из букв алфавита. Ниже списка имеется горизонтальный ряд круглых отверстий, число которых соответствует количеству кандидатов. Через эти отверстия видны те же буквы алфавита, соответствующие кандидатам, но напечатанные на второй половине бюллетеня опять-таки в произвольном порядке.
Когда избиратель выбирает кандидата, ему надо найти в отверстиях соответствующую букву и отметить ее специальным маркером-фломастером. Красящий стержень у маркера намеренно сделан большего диаметра, чем у отверстия. Поэтому маркер обязательно пометит обе половинки бюллетеня в позиции избранного кандидата. Когда выбор сделан, избиратель разделяет бюллетень по линии перфорации. Одна из половинок (все равно какая) тут же публично уничтожается в шреддере, а вторая пропускается через стандартный портативный сканер и остается у избирателя в качестве проверочной квитанции. Отсканированный бюллетень с распознанным выбором изображается на экране, давая избирателю возможность убедиться в правильности учета и подтвердить завершение голосования.
Таким образом, система Punchscan фиксирует выбор, сделанный избирателями, однако не имеет никакой базы данных, сопоставляющей конкретный бюллетень с использовавшим его человеком. Очень важно случайное присвоение букв каждому из кандидатов, так что в разных бюллетенях эти буквы будут разными у одних и тех же фамилий в списке. По этой причине каждая из половинок бюллетеня по отдельности не дает никакой информации о сделанном выборе. Ибо на одной части есть фамилии с присвоенными им буквами и помеченная дырка, но неизвестно, какая там была буква. А на второй части есть помеченная буква, но неизвестно, какому кандидату она была присвоена.
Благодаря такой системе, избиратели не могут продавать свой голос, предъявляя квитанцию. А комиссии на избирательных участках, соответственно, обеспечивают лишь правильную процедуру голосования, но не знают, как именно отданы голоса. Итоги может подвести лишь центральная система Punchscan, где случайное присвоение букв было изначально зафиксировано в базе для каждого номера бюллетеня. Система, как уже говорилось, ничего не знает о том, каким избирателям достались какие номера. Однако каждый избиратель после итогового подсчета голосов может зайти в онлайновую базу и по номеру оставшейся у него квитанции проверить, что его голос учтен, и учтен правильно.
Комплекс программного обеспечения Punchscan в первой стабильной версии 1.0 был опубликован с открытыми исходными кодами в ноябре 2006 года на условиях лицензии Revised BSD. При этом система Punchscan разработана с учетом принципов безопасного программирования, то есть защита информации здесь реализована программно-независимым образом - на основе известных и надежных криптографических функций. Иначе говоря, такую архитектуру можно реализовывать и в системах с закрытыми кодами вроде Windows.
Система ThreeBallot
Другая система, под названием ThreeBallot, то есть "Бюллетень, состоящий из трех частей", разработана знаменитым американским криптографом Рональдом Райвестом (именно он фигурирует под буквой "R" в популярнейшей криптосхеме с открытым ключом RSA, озаглавленной по фамилиям изобретателей). Райвест известен и благодаря популярным криптоалгоритмам для поточного шифрования, блочного шифрования и хеширования (RC4, RC5, MD5 и многие другие).
В придуманной Райвестом системе выборов ThreeBallot для учета отданных избирателями голосов тоже используется бумажный бюллетень, но другой конструкции. Как можно догадаться по названию, бюллетень состоит из трех практически одинаковых частей, разделенных перфорацией. Каждую часть отличает от соседних (и всех остальных в прочих бюллетенях) уникальный, случайно присвоенный номер-идентификатор, напечатанный по нижнему краю.
Главная хитрость этого изобретения в том, каким образом бюллетень заполняется избирателем. Три идентичные части предоставляют три позиции голосования для каждого из кандидатов. Чтобы проголосовать за кого-то из кандидатов, избиратель отмечает его "птичками" в любых двух из трех частей (в третьей оставляя позицию незаполненной). В то же время здесь следует голосовать против тех кандидатов, которых избиратель выбирать не желает. Для этого напротив них тоже проставляется "птичка", но только в одной произвольной части бюллетеня из трех (чтобы две остальные остались пустыми). Иначе говоря, пустых рядов быть не может, ибо заполнить надо каждую строку бюллетеня - "за" двумя отметками, "против" одной. После этого бюллетень разделяется по перфорации на три части, по выбору избирателя с одной из частей делается копия и выдается ему в качестве квитанции, а затем все три части опускаются в избирательную урну.
В оригинальной статье Райвеста о ThreeBallot подробно разбирается, каким образом при такой системе с высокой степенью достоверности удается совместить взаимно противоречивые требования к демократическим выборам - тайну голосования и проверяемость точного учета голоса. Одно из важных достоинств системы в ее прозрачности и простоте проверки - поскольку после сканирования всех бюллетеней, изъятых из урн, они полностью и открыто публикуются на веб-сайте избиркома. Кроме того, квитанция - хотя в ней есть фамилии кандидатов и против некоторых из них стоят "птички"! - совершенно не раскрывает информации о том, кем и за кого был отдан голос, то есть не может быть использована в скупке голосов избирателей.
Как и любая другая система голосования, ThreeBallot имеет не только достоинства, но и недостатки. В Массачусетском технологическом институте, где работает Райвест, студенты уже в декабре 2006 года устроили "игрушечные" выборы, дабы проверить работоспособность новой системы. Изъяны ThreeBallot, выявленные "в полевых испытаниях" и в придирчивых аналитических исследованиях коллег, автор попытался исправить в новой работе, подготовленной совместно с общественным активистом-математиком Уорреном Смитом (Warren D. Smith) и опубликованной летом 2007 года.
Принимая во внимание высочайшую важность эффективных технологий голосования для поддержания и развития демократии, Райвест не стал защищать свое изобретение патентами и лицензиями, а сделал идею ThreeBallot всеобщим достоянием.
Проверки и дополнительная безопасность
Прогресс
На основе системы Райвеста ThreeBallot за последний год разработано еще несколько новых систем голосования: трехчастевой бюллетень VAV (Голос-Антиголос-Голос), упрощенная система Twin с одночастевым бюллетенем и ряд других модификаций. На основе идей Punchscan Дэвид Чом разрабатывает ныне более продвинутую систему голосования Scantegrity. www.scantegrity.org
Базовые процедуры проверки честности выборов для описанных систем содержат как несколько общих моментов, так и некоторые существенные различия. В каждой из технологий квитанция, оставляемая у избирателя после выборов, не раскрывает, за кого был отдан голос. Иными словами, в квитанции не содержится никакой секретной информации. Поэтому после выборов избирательная комиссия публикует содержимое каждой квитанции в онлайновой базе данных. А всякий избиратель может свободно зайти в эту базу и, введя идентификационный номер своей квитанции, сверить ее содержимое с учетной записью в базе и удостовериться, что его голос зафиксирован правильно.
Также благодаря такой базе любой избиратель или всякая заинтересованная в честных выборах сторона могут проинспектировать и правильность итоговых подсчетов в целом. В случае системы Punchscan, правда, все содержимое базы предоставить для проверки нельзя, поскольку это позволит установить соответствие между голосами и идентификаторами бюллетеней. Однако половина базы данных может быть раскрыта и без нарушения принципов тайного голосования. А поскольку эта половина формируется в результате случайного выбора записей, контрольная процедура с высокой надежностью позволяет удостовериться, что все бюллетени подсчитаны правильно. В системе ThreeBallot подобной проблемы нет, поэтому для открытого доступа и проверки правильности учета/подсчета публикуются все бюллетени.
Если непосредственно при голосовании использование компьютеров (как звена, наиболее уязвимого для злоупотреблений) сведено к минимуму, то на этапах подготовки выборов и итоговых подсчетов результатов продвинутые инфотехнологии оказываются чрезвычайно полезны для усиления возможностей проверки.
Разработчики Punchscan, в частности, создали целый ряд мер для обеспечения целостности и честности выборов в условиях работы избиркомов, полностью разложенных коррупцией. Для итоговых подсчетов, например, придумана схема из нескольких независимых друг от друга баз данных. Каждая база может быть наполовину открыта для инспекции конкурентами, а при итоговых подсчетах все они должны давать один и тот же результат. Так что если власть захочет подделать итоги выборов, ей придется подделывать содержимое каждой базы данных. Вероятность обнаружения жульничества при этом растет в экспоненциальной зависимости от числа независимых баз. Так что обеспечить честные выборы становится много легче.
Созвучные варианты ИТ-подходов разработаны и для обеспечения честных выборов на этапе их подготовки - при печати бюллетеней и создании исходной базы (или баз) данных с идентификационными номерами напечатанных бюллетеней. Методы проверки тут строятся на основе криптографических однонаправленных функций, заранее вычисляющих на основе уникальных идентификаторов и прочей исходной информации хеш-значения или "битовые обязательства" власти не жульничать.
Подводя же общий итог этому краткому обзору новостей в технологиях голосования, можно заключить следующее. Научные методы теории информации, теории вероятностей и криптографии на сегодняшний день позволили построить простые для понимания, эффективные в механизмах и очевидно реализуемые на практике технологии демократии для безопасного и насквозь прозрачного голосования. Реально эти технологии для выборов государственной власти пока что нигде не применяются. Захочет ли вообще власть этими технологиями воспользоваться - вопрос пока открытый.
Какие выборы лучше?
Граждане России, США и многих других стран знакомы, главным образом, лишь с одной системой выборов власти - по большинству отданных за кандидата голосов (Plurality Voting). Суть этой системы сводится к нехитрой формуле "выбери одного кандидата из списка - и гуляй отсюда". Выигрывает выборы, соответственно тот, кого отметили в наибольшем числе бюллетеней. К сожалению, эта система весьма неудачна во многих отношениях:
• кандидат, значительным большинством избирателей расцениваемый как худший вариант, в таких условиях может легко обойти конкурентов и выиграть выборы (например, если три из четырех кандидатов наберут чуть меньше 25% голосов каждый, а четвертый - не устраивающий почти 3/4 населения, наберет 28% и выиграет выборы);
• голосование избирателей за своего любимого кандидата может быть большой стратегической ошибкой (оттягивая очень нужные голоса у более вероятного победителя, противостоящего совсем неприемлемому, но тоже вероятному варианту);
• выборы по большинству голосов отражают наименьшее количество информации о реальных предпочтениях людей, опровергая идею о том, что цель голосования - сбор информации о воле народа;
• с течением времени страны с выборами по большинству голосов трансформируются в систему двухпартийного доминирования, так что у избирателей остается лишь самый минимальный выбор, подрывающий суть демократии.
При этом уже по меньшей мере двести лет известны куда лучшие системы голосования. Одна из самых простых - это голосование одобрением (Approval Voting), где избиратель отмечает в бюллетене всех кандидатов, которых "одобряет". А выигрывает, соответственно, тот, кто получил наибольшее число одобряющих голосов. Эта система даже проще классической схемы "по большинству", потому что здесь нет никаких особых правил для отбраковки "неправильно заполненных" бюллетеней с голосами за несколько кандидатов. (Один из вариантов голосования одобрением использовался на заре демократии в США, при выборе первых четырех президентов.) Среди наиболее удачных вариантов из альтернатив - голосование ранжированием (Range Voting), где избиратель оценивает каждого кандидата по десятибалльной, скажем, системе от 0 до 9. Понятно, что выигравшим считается кандидат, набравший наибольшее количество баллов. Но одновременно и отдача 9 баллов любимому кандидату никогда не будет стратегической ошибкой, так что избиратели будут голосовать более честно и предоставлять более объективную картину о воле народа.