Эксперт в области шифрования и директор по исследованиям Национального центра научных исследований Франции Пьеррик Годри пришел к выводу, что шифрование, используемое в российской системе электронного голосования, которая будет тестироваться на выборах в Мосгордуму 8 сентября, является "совершенно небезопасным". Об этом говорится в докладе Годри, обзор которого приводит РБК.
Напомним, в рамках эксперимента по внедрению электронного голосования возможность проголосовать на выборах в Мосгордуму дистанционно будет доступна жителям трех избирательных округов (1-й, 10-й и 30-й округа). При это столичные власти не раз подчеркивали, что система электронного голосования, основанная на технологии блокчейн, является безопасной. При этом в ходе предварительных проверок в системе происходили сбои.
Как говорится в докладе Годри, во время тестирования системы разработчики каждый день выкладывали на портале Github так называемые публичные ключи шифрования и зашифрованные ими данные, а также раскрывали информацию о приватных ключах и данных, выложенных на день раньше. Публичный ключ в этой системе используется для шифрования бюллетеня, а приватный нужен для его расшифровки. Данные о ключах выкладывались, чтобы убедиться в том, что ключи шифрования нельзя взломать, а данные — расшифровать за 12 часов, в течение которых будет идти голосование.
В ходе изучения данных эксперт обнаружил, что длина публичного ключа шифрования составляет менее 256 бит. Это позволяет вычислить приватный ключ и взломать шифрование примерно за 20 минут при помощи обычного ПК и бесплатного софта.
"Не имея доступа к информации об используемом в системе протоколе, сложно точно просчитать последствия данной уязвимости и то, насколько легко злоумышленнику будет найти соответствие между бюллетенями и избирателями, хотя я полагаю, что эта слабая схема шифрования используется именно для шифрования бюллетеней. В худшем случае это может привести к тому, что выбор всех избирателей, использующих систему электронного голосования, станет публично известен, как только они проголосуют", – отмечает Годри в своем докладе.
"Ошибка разработчиков системы электронного голосования, согласно докладу Годри, заключается в том, что в одной из криптосистем используется ключ слишком малой длины, который не является стойким. При этом разработчики пытались усилить безопасность системы за счет внедрения троекратного шифрования с тремя разными короткими ключами. Но в результате стойкость итоговой криптосистемы от взлома не выросла в три раза – она вообще почти не выросла. Надеюсь, что у разработчиков еще есть время, чтобы переработать систему", – прокомментировал доклад заместитель гендиректора компании "КриптоПро" Станислав Смышляев, отметив, что Годри является одним из наиболее уважаемых криптографов в мире.
В свою очередь, разработчик отечественных систем шифрования Дмитрий Белявский отметил, что Годри обнаружил не только слабые ключи шифрования. "Исследователь в докладе описывает еще одну уязвимость системы: даже без взлома ключей способ выбора параметров шифрования позволяет определить один бит зашифрованного текста. Дальше все зависит от того, как именно технологически шифруется бюллетень избирателя. Если избиратель при голосовании будет выбирать из двух кандидатов, то содержательно этот один бит и есть его выбор. С другой стороны, при возможности вычислить ключи за единицы минут исследовать этот вектор атаки даже нет необходимости, так как в системе есть более важная уязвимость", – пояснил Белявский.
По словам Белявского, найденные уязвимости в случае перехвата электронных бюллетеней могут позволить в реальном времени узнать, кто из избирателей за кого голосовал и, возможно, подменить эти данные.
В департаменте информационных технологий Москвы (ДИТ) сообщили РБК, что отчасти согласны с докладом Годри, и пообещали внедрить более стойкие ключи. "В течение пары дней длина ключа будет изменена на 1024 бит. Обращаем внимание, что взлом схемы шифрования не был осуществлен. Мы специально выкладываем открытый ключ и зашифрованные голоса, для того чтобы их попытались расшифровать до публикации закрытого ключа. Взять закрытый ключ и последовательно расшифровать зашифрованные голоса можно и за 20, и за 5 минут, найдя все основания для шифрования. Однако задача была не в этом", – заявил представитель ДИТ.
Он также сообщил, что разработчики намерены перейти на другой принцип формирования случайных элементов кода. "Он будет основан, как правильно отметил наш французский коллега, на уникальных транзакциях из самого браузера пользователя, а не на генераторе случайных чисел", – отметил он.