Информационные технологии из года в год шагают вперёд, помимо доступа к различным ресурсам пользователи Сети могут покупать продукты не выходя из дома, оплачивать коммуналку и даже голосовать на выборах. В соседней Эстонии система электронных выборов работает давно. Также электронное голосование доступно США, Великобритании, Швейцарии и некоторых других странах — и даже в России.

Этой осенью в Москве, столице России, состоятся очередные выборы в Московскую городскую думу. 29 мая 2019 года в силу вступил Федеральный закон, который утвердил эксперимент электронного голосования на этих выборах. Эксперимент — значит, что голосовать через интернет смогут не все избиратели, а лишь часть — жители трёх избирательных округов, суммарно около полумиллиона человек. Эти округа выбирали жители Москвы через сервис электронных голосований «Активный гражданин», который работает с 2014 года.

Как это устроено

Избирательный округ включает в себя несколько районов Москвы. В каждом из них зарегистрированы жители. Те, кто старше 18 лет к моменту дня выборов, имеют право голосовать. Из них формируются обычные избирательные списки. Электронные используют не только те же данные, но и данные с городского портала mos.ru (городской аналог госуслуг) — избиратель должен иметь там на 100 % заполненный и подтверждённый в оффлайне профиль (подтверждение происходит через посещение центра госуслуг «Мои документы»).

В день выборов избирателю необходимо будет открыть электронный бюллетень (в виде онлайн-формы) на любом из своих устройств и поставить галочку возле имени нужного кандидата. При этом всём бюллетень будет доступен только пользователю и только 15 минут (изначально было 5), а информация о бюллетене не сохраняется вообще нигде — даже в браузере пользователя, данные шифруются и отправляются в блокчейн-систему. Это сделано для сохранения тайны голосования. Мэрия утверждает, что проследить, за кого голосовал гражданин и голосовал ли вообще, невозможно, сравнивая эту ситуацию с проходом через турникет в метро — устройство только проверяет информацию на карте, а куда вы едете никто не знает. На самом деле знает, но это уже совсем другая история. После окончания голосования данные расшифровываются и пересчитываются системой. Впрочем, вручную пересчитать тоже можно. Полученный результат суммируют с бумажными голосами и подводится общий итог.

Фото: mos.ru

Тестирование системы электронных выборов проходило на студентах 11 июля и на обычных москвичах 23 июля. По итогам обоих тестирований было заявлено, что всё работает стабильно, а все технические недочёты будут исправлены. На следующий день был открыт приём заявок на участие в электронном голосовании.

Что тут не так

Выглядит странным тот факт, что готовить систему начали только зимой, странно также выглядит спешное принятие закона — всего 3 месяца. Изначально организацией этих выборов занималось Правительство Москвы, что априори делало выборы зависимыми от мэрии, однако позднее полномочия были переданы Мосгоризбиркому. «Медуза» в июне писала, что система может учесть голос избирателя как угодно, а он и не узнает, за того ли кандидата в итоге будет отдан его голос. Сервера системы находятся на сайте мэра Москвы — члена партии, которая имеет сейчас большинство в городском парламенте. Власти при этом не объясняют, почему разработка системы не была начата раньше, чем было заявлено, а ещё — почему решили отказаться от эстонской системы голосования и сделали свою. Помимо этих проблем, есть и другие.

Взлом системы голосования

17 июля Департамент информационных технологий (ДИТ) Москвы выложил на GitHub некоторые компоненты электронной системы голосования и предложил всем желающим программистам и специалистам по информационной безопасности провести тестирование устойчивости. Проще говоря, хакерам предложили в течение 12 часов взломать систему и протестировать её устойчивость к DDoS-атакам. Разработчики в ходе тестирования должны были восстановить секретные ключи, которые публиковались ДИТ, затем должно быть расшифровано секретное сообщение (то есть голос избирателя).

Фото: Сергей Фадеичев, ТАСС / Scanpix / LETA

8 августа французский криптограф Пьеррик Годри опубликовал статью о взломе системы электронных выборов в Москве. Расшифровка всех секретных ключей у него заняла 20 минут. Получив ключи, расшифровать сообщение не составит труда. Проблема ДИТ была в том, что ключи шифрования были слишком короткими — всего 256 бит (если не меньше) в каждом из трёх ключей, хотя эксперты по шифрованию из США и Франции рекомендуют делать ключи длиной 2048 бит. Почему было сделано именно так — никто не знает, однако в ДИТ говорят, что данные ключи были выделены только на время тестирования, мол, в реальности всё будет лучше. Сам криптограф выдвинул несколько версий, одна из которых заключается в том, что разработчики считали 3 ключа достаточными для повышения безопасности (на самом деле безопасность от этого не повысилась).

Несмотря на рекомендации увеличить длину ключей, в ДИТ всего лишь сделали из трёх ключей один длиной 1024 бита. Разницы, как утверждает Годри, между 3 ключами по 256 бит и одним ключом 1024 бита нет. И хотя ДИТ предпринял некоторые меры для защиты голосов избирателей, далеко не факт, что это сработает. В СМИ пишут, что система голосования прежде тестировалась военными хакерами из ГРУ. Так ли это на самом деле — никто не знает. При этом замгендиректора компании «КриптоПро» Станислав Смышляев утверждает, что информационные лаборатории ФСБ смогли бы быстро найти такую уязвимость. Российский разработчик систем шифрования Дмитрий Белявский говорит, что из-за ненадёжной безопасности взломщики смогут получить доступ к результатам голосования заранее, а как на эти данные, если они будут опубликованы, отреагируют избиратели, — неизвестно.

В ДИТ подчеркнули, что взлома системы не произошло, однако правительственные разработчики до сих пор не опубликовали результаты задания, с которым справился Пьеррик Годри.

Подписывайтесь на «Код Дурова» в Telegram и во «ВКонтакте», чтобы всегда быть в курсе интересных новостей!