Схема гомоморфного шифрования (HE)

В последнее время на Хабре всё чаще поднимается тема обфускации/маскировки трафика. Для этих целей разработаны различные инструменты и методы, такие как Pluggable Transports и Project V. Но особый интерес привлекают схемы с использованием FHE (полностью гомоморфного шифрования), поскольку это самый передовой рубеж развития криптографической науки.

Если в двух словах, FHE позволяют производить вычисления над зашифрованными данными без их расшифровки. Это открывает совершенно новые возможности. Например, можно обрабатывать на сервере конфиденциальные данные пользователей без их раскрытия серверу.

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

Полностью гомоморфная система (в отличие от частичной) поддерживает все функции гомоморфизма.

Полностью гомоморфоное шифрование


Полностью гомоморфное шифрование (Fully Homomorphic Encryption, FHE) иногда называют Священным Граалем криптографии.

Это «абсолютное шифрование» в том смысле, что оно обеспечивает квантово-безопасные вычисления на зашифрованных данных, гарантируя, что данные открытого текста и производные от них результаты вычислений никогда не будут раскрыты и остаются защищёнными от модификации и/или взлома, даже в случае скомпрометированной инфраструктуры.

Большинство схем FHE основаны на решётках, которые устойчивы для квантовых вычислений и считаются PQC (постквантовая криптография).


Решётка с разным уровнем гауссового шума, источник

Основные характеристики FHE:

  • Данные, включая вычисленные производные, остаются зашифрованными как в состоянии покоя, так и на протяжении всего жизненного цикла и расшифровываются только в безопасной, доверенной среде.
  • Из данных можно извлекать ценные сведения с помощью искусственного интеллекта (AI), больших данных и аналитики, всё это без раскрытия данных, секретных ключей или кода.

Схема FHE основана на стандартной криптографии с открытым ключом (PKE) и поддерживает все функции асимметричного шифрования.

Применение FHE


По мнению специалистов, коммерческое применение FHE не за горами. Среди прочего, можно выделить следующие варианты использования этой схемы:

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

Сейчас главной проблемой на пути к внедрению гомоморфного шифрования является высокая ресурсоёмкость таких схем. В этой области ведутся академические исследования, в том числе для создания аппаратных ускорителей FHE.

После повсеместного внедрения FHE доступ к данным будет полностью отделён от их обработки, что сразу трансформирует услуги хостинга и облачных вычислений.

Приватное чтение Википедии


В последние годы начали появляться первые примеры реального применения гомоморфного шифрования. Например, сервис Spiral Wiki для приватного чтения Википедии.


Spiral Wiki

Это просто демонстрационная страница для FHE. Так в будущем могут быть реализованы сервисы для шифрования доступа к веб-сайтам и обфускации всего трафика по технологии Spiral.


Серверная обработка запроса Spiral, источник

Более подробно технология Spiral описана в научной статье, клиентский и серверный код опубликован здесь.

«Забывчивый» сервер


В IETF сейчас рассматривается новый стандарт Oblivious HTTP («забывчивый HTTP») для перенаправления зашифрованных HTTP-запросов таким образом, что сервер не сможет отличать клиентов друг от друга, словно «забывая» их в сразу после обслуживания отдельного запроса.

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

Будущее FHE


По мнению некоторых экспертов, широкое коммерческое применение FHE можно сравнить с изобретением компьютерных БД, облачных вычислений, PKE и искусственного интеллекта. Оно вызовет широкие перемены в способах защиты, обработки и обмена конфиденциальной информацией и коренным образом изменит развитие вычислений на фундаментальном уровне.



Комментарии (5)


  1. Scratch
    00.00.0000 00:00
    +4

    Это «абсолютное шифрование» в том смысле, что оно обеспечивает квантово-безопасные вычисления на зашифрованных данных

    Такой бриллиант нужно сразу в заголовок, чего его прятать в тексте


    1. AndrChm
      00.00.0000 00:00

      квантово-безопасные вычисления на зашифрованных данных

      Сама формулировка мутная. Приходится как-то истолковывать. Тут скорее всего речь идёт о том, что атака на гомоморфную криптосистему с применением квантового компьютера имеет сверхполиномиальную оценку трудоёмкости. Это то, что принято обсуждать в контексте постквантовой криптографии. Но это зависит от математики. Есть полные гомоморфные схемы на основе арифметики точек эллиптической кривой, для которых атаки с применением квантового компьютера имеют полиномиальную оценку трудоёмкости. Так что напрямую одно с другим не связано. Не следует эти вещи путать и тем более выносить в заголовок.


  1. mentin
    00.00.0000 00:00
    +2

    Но причем тут обфускация траффика? Смысл гомоморфного шифрования тут чтобы сам веб-сайт не много знал, что вы от него попросили, а слепо выполнял гомоморфные операции над зашифрованными входными параметрами, не зная их значений. К траффику и его обфускации это отношения не имеет.


  1. yitoka
    00.00.0000 00:00

    Правильно ли я понял, что есть у вас скажем https траффик, который и так шифруется, так вы еще дополнительно шифруете и так зашифрованные данные? Я просто для понимания, без всякой критики (вдруг это так выглядит и вы меня неправильно поймёте).


    1. AndrChm
      00.00.0000 00:00
      +1

      Пусть C_1=E_k(P_1)— шифртекст, полученный путём зашифрования открытого текста P_1при помощи секретного ключа k.Здесь E_k(\cdot)— гомоморфная функция зашифрования, а D_k(\cdot)— гомоморфная функция расшифрования, такая, что P_1=D_k(C_1).Тогда гомоморфизм относительно условной операции +и некторого C_2=E_k(P_2)реализуется как C_3=C_1+C_2=E_k(P_1+P_2)и P_1+P_2=D_k(C_3).И всё!!!!!! Полная гомоморфная схема работает для базового набора арифметических операций, включая даже логические И, ИЛИ, НЕ. Единственно что, при зашифровании и расшифровании могут использоваться различные ключи. Если схема асимметричная, то при зашифровании будет задействован общедоступный ключ, а при расшифровании — секретный. А уж как такую схему применять — это уже вопрос отдельный. Да, логично использовать в облаках. В облаке данные модифицируются без расшифрования (кто же позволит раскрывать секретные данные непонятному дяде/тёте!), а по завершении цикла обработки перемещаются из облака на компьютер клиента и поскольку только ему известен секретный ключ расшифровываются в пределах периметра безопасности — зоны относительной неуязвимости. Такой подход хорошо укладывается в идеологию «тонкого» клиента. Но могут быть и иные приложения. Совершенно непонятно, зачем обфускацию приплели. Собственно, всё содержание статьи в этом комментарии.