Леонид Волков (leonwolf) wrote,
Леонид Волков
leonwolf

Category:

Онлайн-регистрация избирателей: думаем дальше

Огромное спасибо за критику первой версии схемы онлайн-регистрации избирателей. Все 500 комментов тщательно прочитаны и изучены - и пошли впрок. Сейчас я представлю вашему вниманию улучшенную версию схемы регистрации, и мне снова будет нужна обратная связь. (Если серьезных замечаний не будет, то именно так и будет работать у нас онлайн-регистрация избирателей). 

Но сначала несколько вводных замечаний в виде очередной порции ответов на часто задаваемые вопросы. 
1. Зачем вообще нужна онлайн-регистрация? 
Мы еще не знаем, сколько мы сможем создать оффлайновых комиссий - скорее всего, несколько десятков, может быть - сотню-две. Это максимум. Густой сети доверенных, абсолютно надежных людей в регионах - нет. А создавать комиссии из всех желающих мы не можем; если региональная избирательная комиссия окажется недобросовестной, то это подвергнет все наши выборы огромному риску. Так что я бы не стал надеяться на то, что оффлайновые комиссии будут даже во всех крупных городах. Ну и во-вторых важен, конечно, вопрос себестоимости в расчете на одного избирателя. Оффлайновая комиссия - это волонтеры; ок, будут они сидеть, допустим, в течение месяца каждый вечер после работы по 2-3 часа, и смогу зарегистрировать таким образом, может быть, 1000 избирателей. Сто комиссий - сто тысяч избирателей. И это для оффлайновой регистрации потолок. При этом полностью отказаться от нее мы, конечно, не можем тоже.

2. Что надо учитывать, рассматривая те или иные методы онлайн-регистрации?   
Надежность и затратность по времени. Например, часто предлагают регистрацию через разговор с человеком по скайпу - спору нет, отличный способ... если надо зарегистрировать 100 человек, или, может быть, 1000. Но не миллион, просто потому, что у нас нет 5 миллионов минут (почти 100 тысяч человеко-часов) волонтерского времени. Что же касается надежности, то здесь наша позиция очень проста: выстраивая баланс между простотой процедуры и надежностью мы будем всегда делать выбор в пользу надежности, потому что очень массовые выборы, к результатам которых нет доверия, не несут никакой ценности - в отличие от не очень массовых выборов, результатам которых, однако, можно доверять. 

3. Я не готов никому показывать свой паспорт! 
Значит вы не будете голосовать. 
Мы понимаем, что кровавая гэбня только и мечтает заполучить в свои руки список жертв для испытания психотронного оружия потенциальные избиратели по-разному могут относиться к самому факту участия в этих выборах: кто-то будет этим гордиться, агитировать стать избирателями всех своих коллег, друзей, родственников и подписчиков в социальных сетях, но кому-то хотелось бы, в силу объективных или субъективных причин, проголосовать максимально незаметно и не оставляя лишних следов - но мы не в игрушки играем тоже. Принцип "один человек - один голос" для нас является основополагающим, обеспечить его применение возможно только путем идентификации личности всех голосуюших и составления реестра избирателей, а сделать это, в свою очередь, можно только на основании паспортов. 
При оффлайн-регистрации мы будем смотреть в паспорта глазами; смысл онлайн-регистрации заключается в том, чтобы идентифицировать личность гражданина на основании информационного обмена с кем-то, про кого достоверно известно, что он в паспорт гражданину смотрел (например, с банком, с налоговым ведомством, с удостоверяющим центром ЭЦП и т.п.). 

* * *

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

Вот как предлагается организовать онлайн-регистрацию избирателей: 
1. Избиратель заходит на сайт ЦВК и сам заводит информацию о себе: ФИО, дата рождения, телефон, пароль (кодовое слово). В реестр избирателей вносится хэш от всего этого. Избиратель в ответ получает СМС с случайным трехзначным кодом авторизации. 
2. Избиратель подтверждает личность с использованием кода авторизации, переводя соответствующюю сумму копеек на банковский счет, открытый ЦВК. (Например, если избиратель получил код 783, то он должен перевести 7 рублей 83 копейки). При этом избиратель вправе применить любой способ перевода, предусматривающий идентификацию личности - например, банковский перевод без открытия счета, или перевод из своего интернет-банка, или платеж кредитной картой. (Мы научились отличать безымянные и виртуальные карты от полноценных, оказывается, это не так трудно). 
3. На этом регистрация избирателя заканчивается. Все происходит в автоматическом режиме, без участия человека. 
4. В день голосования избиратель (не важно, решает он голосовать в офлайне или в онлайне) вводит в интерфейс системы для голосования ФИО, даты рождения, номер телефона, пароль; система для голосования проверяет наличие такого избирателя в реестре хэш-значений; избиратель получает СМСкой одноразовый пароль для доступа к электронному бюллетеню и голосует. 
5. В любой момент после завершения дня голосования, избиратель может найти свой голос (по хэшу) в сводном протоколе голосования, и проверить, что его голос был учтен правильно. 

Плюсы в сравнении с предыдущим вариантом очевидны: 
1. Скан/фото паспорта не надо делать, и, тем более, не надо никуда высылать. 
2. Участие операторов не требуется. (Во-первых, дешевле, во-вторых - исключен субъективный подход). 
3. Количество способов подтверждения личности может быть несколько. Помимо подтверждающего банковского микроплатежа, мы планируем успеть также предусмотреть привязку ЭЦП, выданной любым аккредитованным Минсвязи РФ Удостоверяющим центром, привязку подтвержденного аккаунта Яндекс.Денег и других платежных систем и т.д. Все это поможет сделать нашими избирателями 

Технические нюансы, интересные для специалистов. 
1. Мы храним не только хэши от <ФИО, дата рождения, телефон, пароль>, мы храним еще и список ФИО. И еще храним хэши от <ФИО, дата рождения>. Хранить ФИО в открытом виде необходимо, чтобы сопоставлять учетные записи избирателей с банковскими выписками, данными из сертификатов ключей ЭЦП, данными платежных систем и т.д.; короче говоря, для автоматизированной привязки. Хранить хэши от <ФИО, даты рождения> нам надо для того, чтобы не зарегистрировался один и тот же человек несколько раз с разными номерами телефона. Публичной мы делаем базу только "полных" хэшей, именно с ней работают системы для голосования, и, вообще, ее смело показываем куда угодно: бояться нечего, ведь исходные данные очень длинные, ненабрутфорсишься, плюс при формировании хэша используется придуманный самим избирателем пароль. Список ФИО и список хэшей от <ФИО, даты рождения> используем только внутри, никому не показываем, после окончания регистрации - выкидываем.   
2. Мы не нарушаем закон о персональных данных; более того, мы не нарушаем его два раза. Сам по себе список ФИО не является персональными данными по закону (ПДн - это ФИО и еще какие-нибудь сведения о человеке, вот уже перечень <ФИО, ИНН> - это вполне себе ПДн), а все остальное мы храним только в виде хэшей, то есть, по определению, преобразованном необратимо. Кроме того, будем вести всю обработку данных исключительно на вычислительных ресурсах, расположенных за пределами РФ, и потому под действие 152-ФЗ не подпадающих. 
3. <ФИО, дата рождения> уникальны в РФ. Я не знаю, как доказывать этот медицинский факт, но это факт. По крайней мере, когда я работал очень плотно с ПФР в 2002-2004 годах, этот факт проверялся по всем базам ПФР и находил полное подтверждение. Даже если это по каким-то причинам не так, количество коллизий будет пренебрежимо мало, и их можно будет разобрать руками. 
4. Почему ФИО, почему не номер паспорта, как в предыдущей схеме? Потому что только так мы сможем привязываться к другим информационным системам (которые смотрели избирателю в паспорт) и подтверждать личность. Ничего, кроме ФИО, мы не сможем выдрать из банковской выписки; ничего полезного для нас, кроме ФИО, мы не получим из сертификата ключа ЭЦП и из аккаунта Яндекс.Денег. Именно поэтому схема выглядит так: избиратель завел свое ФИО сам, потом подтвердил через кого-то, кто смотрел ему в паспорт - отлично! 
5. В глаза бросается единственное очевидное слабое место: нам-то не хватит только ФИО для уникальности избирателя, нам еще и дата рождения нужна, а мы ее через внешние системы никак не подтвердим, нам ее никто не даст. (Именно по той причине, что список ФИО - это не персданные, а вот ФИО + еще что-то  - уже они, родимые). Соответственно, возможна понятная атака: плодить много аккаунтов с одним ФИО, но разными датами (и телефонами).
6. Понятно, однако, что большой проблемой такая атака не будет. Во-первых, ФИО будут совпадать. Мы сможем анализировать кластеры совпадающих ФИО, смотреть айпишники, время регистрации, какие банковские счета использовались и еще очень много чего для выявления подозрительных историй; в крайнем случае - связываться с людьми по скайпу или еще как-то для разрешения конфликтных ситуаций. Во-вторых, и это, главное, ФИО будут реальными. То есть злоумышленнику, желающему наплодить ложных аккаунтов, надо будет не только потратить кучу сил и времени, но еще и раскрыть себя. Короче говоря, уверен, что проблем с этой стороны почти не будет, а те, что будут, мы достаточно легко выявим и вычистим. 

Ну и как обычно: вопросы? замечания? предложения? критика? 
(Сразу упреждая стандартный первый вопрос: а что, если у меня нет банковской карты, ЭЦП, Яндекс.Денег, банковского счета? и я не хочу или не могу даже идти в Сбербанк делать авторизационный платеж без открытия счета? Ответ: оффлайн регистрацию никто не отменял, пожалуйста, вперед и с песней). 
Tags: Гражданские выборы
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 595 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →