Мэрия не подвела итоги конкурса на взлом голосования, после того как хакерам удалось это сделать

20 августа 2019 в 14:22

Московская мэрия не стала публиковать ответы на предыдущее задание по проверке надежности системы интернет-голосования после того, как хакерам удалось вычислить эти ответы, пишет «Медуза».

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

На прошлой неделе французский криптограф Пьеррик Годри нашел уязвимость в системе ― слишком короткие (265 бит) публичные ключи. Такие, по его словам, можно взломать за 20 минут с помощью обычного персонального компьютера и бесплатного программного обеспечения.

Годри опубликовал скрипт, который позволяет это сделать, и журналисты «Медузы» вычислили ответ (приватные ключи и исходные сообщения есть в 11-й карточке).

Раньше вместе с новым заданием всегда публиковались ответы на прошлое. Но в этот раз задание от 18 августа появилось, а ответы на 7-е число ― нет. При этом в новом задании увеличили длину публичного ключа ― с 256 до 1024 бит, однако код смарт-контракта остался прежним (он все еще рассчитан на три ключа по 256 бит).

Мэрия предложила взломать систему интернет-голосования в июле. Хотя конкурс официально завершился, глава общественного штаба по наблюдению за выборами в Мосгордуму Алексей Венедиктов считает, что Пьеррик Годри заслуживает награды.

Сам французский криптограф готов принять обещанные 2 млн рублей. В интервью Русской службе Би-би-си он заявил, что длина ключа не главная проблема в системе интернет-голосования. Власти не опубликовали механизм работы системы за пределами исходного кода ― тот, кто сможет его понять, легко найдет более простые варианты взлома, нежели расшифровка ключа, считает он.

8 сентября на выборах в Мосгордуму проведут первое пилотное интернет-голосование. Проголосовать дистанционно можно будет в округах № 1 (Зеленоград), № 10 (Бибирево, Лианозово, Северный) и № 30 (Чертаново Центральное и Южное).