Как будут защищаться электронные выборы или парафраз о разработанном в России гомоморфном шифровании

Криптография

Пригласили меня тут помодерировать заседание экспертов по технологиям дистанционного электронного голосования (ДЭГ) и я с радостью согласился, так как тема эта для меня не новая, — три года назад я уже входил в рабочую группу по электронному голосованию при ДИТ Москвы. Тогда у меня были вопросы к голосованию с технической точки зрения. В этот раз речь уже пошла о голосовании федеральном и мне было интересно, что произошло за 3 года.

Хотя сравнивать московскую и федеральную системы ДЭГ достаточно сложно — из общего там только то, что это голосование и построено оно на базе блокчейна 🙂 Шутка!

В любом случае я благодарен организаторам, пригласившим меня на мероприятие, где я смог не только послушать, но и позадавать вопросы тем, кто изнутри «рулил» всей системой, когда через полтора месяца, осенью 2023-го года в очередной раз примет в свои «объятия» избирателей.

Мероприятие прошло в музее криптографии и это предопределило тему первого заседания, посвященного целиком вопросам криптографии, которая позволяет защитить целостность, неотказуемость и конфиденциальность волеизъявления. Когда я готовился к мероприятию, это было одной из проблем, которую я хотел озвучить. Мы же понимаем, что чистая криптография не способна решить всех проблем ИБ. И, как минимум, надо оценить корректность реализации криптографии, а также ее применение в конкретной системе. В конце концов, ДЭГ — это множество компонентов, среди которых СКЗИ только небольшая часть. Но это опасение было развеяно в рамках первого технического выступления — коллеги из Ростелекома, которые и являются разработчиками и операторами ДЭГ, заверили меня, что на следующем заседании разговор пойдет о других аспектах, связанных с безопасностью ДЭГ. В частности о выставлении системы на одну из платформ Bug Bounty!

Да-да, вы не ослышались, систему дистанционного электронного голосования, которая будет использоваться на федеральных выборах, выложат на bug bounty для оценки ее реальной защищенности. Хорошо, что этот метод верификации недопустимых событий (а подмена голосов относится к таковым) набирает постепенно популярность!

Надеюсь, что на следующих заседаниях (не знаю, кто будет их модерировать) также поднимут вопросы, связанные с мониторингом безопасности ДЭГ в процессе голосования, обеспечения ее доступности в условиях DDoS-атак (думаю, проукраинские хакерские группировки не упустят такой возможности), защитой обезличенных персональных данных (ведь мы помним, что РКН сейчас не делает разницы между персональными и обезличенными данными) и т.п.

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

  1. Реально использовались зарубежные алгоритмы? Понятно, что это так (я голосовал в свое время без установки каких-либо криптопровайдеров и СКЗИ, с обычного браузера), но все равно интересно. И хочется вскрикнуть как герой Леонида Куравлева из фильма «Иван Васильевич меняет профессию», вор Жорж Милославский: «Как же вы допустили?!» 🙂
  2. Каковы юридические последствия в случае выявления пост-фактум (после голосования) возможности проведения криптографических атак на ДЭГ? Оказалось, что используемая ранее слепая подпись Шнорра может быть «легко» (достаточно было организовать 256 параллельный сессий) «сломана«. На мой вопрос я получил ответ, что после опубликования соответствующего исследования они ретроспективно проанализировали возможность проведения атаки во время голосования, но не нашли этому подтверждения. Мой вопрос про юридическую значимость так и остался нераскрытым (и боюсь, что на него сейчас вообще никто не ответит).
  3. Если ДЭГ построен на блокчейне и все его ноды размещены в трех ЦОДах Ростелекома, то каковы гарантии, что в систему не могут быть внесены правки? Ответ я получил в кулуарах и был он в стиле «а зачем это делать?» и «выгрузки блокчейна доступны широкому кругу лиц — от наблюдателей до Общественной палаты и все можно проверить». Но, если честно, он меня не очень устраивает 🙁 Я еще в конце 90-х имел некоторое отношение к ГАС «Выборы» и уже тогда у меня было ощущение, что неважно, как считаются голоса, важно, как они отображаются. Так и тут, почему нельзя иметь две системы — одна собирает голоса избирателей, а вторая отображает то, что надо отображать? И хотя вопросы аудита и наблюдаемости не были обойдены вниманием и им посвятят отдельное заседание, вопросы к этой части у меня пока остались.

Кстати, от представителя Общественной палаты на встрече прозвучала очень странная мысль, что только криптографическая защита является идеальным инструментом контролируемости выборов. Другие два, которые он привел, по его мнению неэффективны. Первый — бюрократические процедуры, сверки голосов и т.п. (все как на обычных участках голосования). Второй — предоставление кода системы всем желающим для ее анализа. И вот тут было все странно. Прозвучало, что код никому не дадут, так как его много (всего-то несколько сотен тысяч строк) и никто не способен его проанализировать, а грамотную закладку найти все равно нельзя.

Ну это по меньшей мере странно. SecDevOps придуман не вчера и даже для софта с большим объемом строк проверки осуществляются. К тому же никто не мешает решить проблему и иным способов — хотя бы сверять контрольные суммы софта, используемого на выборах с тем, что было предоставлено проверяющим. В общем, методы проверки есть. Странно, когда Общественная палата считает иначе.

А вот с точки зрения криптографических преобразований и протоколов в ДЭГ мне все понравилось. Особенно тот факт, что у нас была разработана и проверена схема гомоморфного шифрования, которое, как известно, позволяет проводить операции над зашифрованным текстом без его раскрытия, а это именно то, что надо в системах голосования, когда надо посчитать голоса, не раскрывая их.

Были разработаны и другие криптографические протоколы, которые прошли согласование в ФСБ, прошли через ТК26, и могут быть стандартизованы в обозримом будущем. На мой взгляд это позволит применять их не только в ДЭГ, но и в иных сценариях требующих схожих условий работы. Тут КриптоПро и Криптонит поработали хорошо. Правда и в этой части выступлений не обошлось без моих вопросов:

  1. Получается, что раньше СКЗИ, используемые в ДЭГ, не были сертифицированы?
  2. Пока алгоритмы не оформлены в виде ГОСТов и не очень понятно, будут ли? Да, они прошли согласование в 8-м Центре ФСБ и поэтому, согласно ПКЗ-2005, их можно применять в СКЗИ, но смогут ли их реализовывать не только специалисты компании КриптоПро?
  3. Да, СКЗИ, установленные на стороне Ростелекома, сертифицированы по классу КА. Но что насчет пользовательских компьютеров? Прозвучало, что сертификат в этом случае класса КС1. Но тут у меня сразу всплыло два дополнительных вопроса:
    1. Если это сертифицированное СКЗИ, то что насчет поэкземплярного учета? Значит ли это, что избиратели должны проходить какую-то процедуру по учету используемых СКЗИ? Этот вопрос мягко обошли внимание, только уточнив, что я задаю правильные и тяжелые вопросы 🙂
    2. Надо ли отдельно ставить СКЗИ КС1 или оно уже встроено? Куда? Оказалось, что речь идет об отдельном приложении для голосования, а также браузерах с встроенной криптографией (Яндекс.Браузер и Атом от VK).
    3. Что делать тем, кто не хочет ставить приложение или упомянутые браузеры? И вот тут оказалось интересно — можно голосовать и без них, с обычных браузеров. Но тогда возникает вопрос — как будут реализованы все упомянутые выше разработанные криптографические схемы? Скорее всего никак 🙁 Они работают только там, где они реализованы; в остальных случаях будет использоваться старая добрая чужестранная криптография. Хотя возможность ее заблокировать и не давать голосовать с ее помощью в системе есть.

Хотя заседание проходило в музее криптографии и на встрече присутствовали криптографы, были и журналисты ИТ- и бизнес-изданий. Как мне показалось, они были немного ошарашены, когда услышали про дизъюнктивный протокол Чаума-Педерсена, схему Тессаро-Жу и т.п. криптографические термины 🙂 Глаза многих на таких слайдах были расширены 🙂

И последнее, что меня цепануло, но я уже не стал задавать этих вопросов, — это упор на то, что оценка криптографической стойкости проходила на базе формальных моделей, а не в реальном окружении. То есть проверяли больше возможность реализации криптографических атак в теории, на схемы и алгоритмы, а не на их реализацию. А это важно! Кто знает, как будет реализовано ПО вокруг криптографической защиты? Может там будут ошибки, которыми и воспользуется потенциальный нарушитель?

Кстати о нарушителе. Утвержденная модель нарушителя не учитывает подмену голоса одного избирателя. Мне кажется это вполне логично для такого масштабного проекта, но может быть обидно конкретному гражданину, чей голос оказаться не засчитан или не принят по причине каких-либо целенаправленных или случайных воздействий. Но ровно та же проблема имеет и обратную сторону — уже с точки зрения доверия к системе. Если какой-то гражданин захочет проверить, как был учтен его голос и что было записано в блокчейн — он легко может это сделать, система это позволяет (с оговоркой, что мы не знаем, что будет отображено, то, что находится в блокчейне, или что-то еще). Но проверить массовую подмену голосов нереально именно по причине тайны голосования. Чтобы массово проверить, правильно ли были посчитаны голоса, надо знать, какие они были, а это противоречит тайне голосования.

Ну извините, у меня профдеформация и я думаю о том, как обойти защищаемую систему, а не только о том, как она классная и какие возможности дает!

А в целом, мне заседание понравилось. Видно, что дистанционное электронное голосование с научной точки зрения развивается и появляются новые подходы, которые можно будет использовать и в других сферах нашей жизни, например, в электронной коммерции. Да, всегда остаются вопросы доверия к тем, кто все это реализует и какие цели преследуются организаторами голосования. Но тут уж ничего не поделаешь — технологии вряд ли могут решить эти вопросы 🙁

Оцените статью
Бизнес без опасности
Есть что добавить? Добавьте!

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

  1. Главный аналитик

    А почему не обсуждается вопрос что в списки для голосования вносят мурзилок?

    Ответить
    1. Алексей Лукацкий автор

      Наверное потому, что это не тема для заседания по кибербезопасности в целом, и криптографии в частности

      Ответить
  2. Андрей

    Привет! В своё время, в почившей в бозе «Компьютерре» была замечательная, на мой взгляд, статья о том как с помощью криптографии обеспечить прозрачное и безопасное голосование. Т.е. в статье обосновывался метод, который позволял избирателю безопасно проголосовать и, главное, проверить, что его голос учтён и учтён правильно. Интересно, с тех пор что-то поменялось или никому это не нужно, т.к. главное не голосование, а подсчёт 😉

    Ответить
    1. Алексей Лукацкий автор

      Ну так и сейчас математика такова, что она позволяет решить все эти задачи. Вопрос в том, как ее применяют и кто 🙁

      Ответить
  3. Юрий

    Не люблю я когда плодятся сущности…
    Есть же неплохой инструмент — электронная подпись. Вот на базе нее я думаю и можно было бы все это реализовать, и решать с ее помощью еще десяток других задач. А так для каждого случая свое средство, запутаешься.

    Ответить
    1. Алексей Лукацкий автор

      Они не плодятся — и для ЭП там есть место. Но только в рамках электронных выборов необходимо решать и другие задачи, которые пока не стандартизованы, что и требует новых подходов

      Ответить