Гомоморфное шифрование. В паре лет от массового внедрения
В математике гомоморфным считается преобразование одного набора данных в другой набор данных при сохранении отношений между элементами. Термин происходит от греческого слова, обозначающего «такую же структуру» (homos — «одинаковый», «однородный» + morphe — «форма»).
Гомоморфное шифрование — алгоритм, который позволяет производить математические операции над зашифрованными данными и получать тот же результат (после дешифрации), что и в случае проведения операций с открытыми данными.
Как известно, в последние годы все организации, работающие с данными, прикладывают усилия по шифрованию данных в процессе их передачи и хранения. Но обработка данных неизменно предполагает работу с незашифрованными, чистыми данными. Именно этот пробел возможно закрыть с помощью гомоморфного шифрования.
Идея гомоморфного шифрования была предложена группой ученых, в состав которой входили Рон Ривест (Ron Rivest), Леонард Адлеман (Leonard Adleman) и Мишель Дертоузос (Michael Dertouzos), в далеком 1978 году. Первые два участника стали впоследствии авторами алгоритма RSA. Однако создание алгоритма полного гомоморфного шифрования случилось только в 2009 году, и его автором стал Крейг Гентри (Craig Gentry).
Существует целый ряд разновидностей гомоморфного шифрования:
- частичное гомоморфное шифрование — позволяет проводить неограниченное число операций одного типа, например, умножение;
- ограниченное гомоморфное шифрование — позволяет проводить определенное количество операций разного типа над данными;
- полное гомоморфное шифрование — позволяет проводить неограниченное количество операций различного типа над данными.
Как было сказано ранее, гомоморфное шифрование позволяет производить вычисления над зашифрованными данными, что позволяет решить проблемы безопасности в целом ряде случаев. В том числе:
- Хранение данных, защищенных гомоморфным шифрованием в облаке, практически не создает риска утечки — отсутствие ключа делает бессмысленным похищение данных.
- Облачные вычисления — при передаче зашифрованных данных для обработки в облаке нет необходимости в обеспечении доверия к провайдеру услуг, поскольку полученный результат обработки данных зашифрован, и похищение как исходного, так и обработанного набора данных бессмысленно — для получения чистых данных необходим ключ.
- Атаки Supply chain — передача конфиденциальных данных компании-поставщику тоже не приведет к фатальным последствиям.
- Использование медицинских данных пациентов для целей Machine Learning не создает рисков для пациентов и не требует предварительного обезличивания данных.
- Проведение профилирования клиентов при передаче в маркетинговые компании не нарушает права клиентов на приватность. Более того, если ключ находится под контролем клиента, то, например, та же таргетированная реклама становится подконтрольной клиенту и менее назойливой.
- Использование гомоморфного шифрования позволяет обойти регуляторные требования по защите персональных данных (например, в случае GDPR) — требования предварительной оценки уровня защищенности персональных данных при трансграничной передаче снимаются, если эти данные зашифрованы.
Даже столь неполное и беглое перечисление бизнес-кейсов вызывает вопрос: «Почему гомоморфное шифрование на сегодняшний день практически нигде не применяется?». Ответ достаточно прост — в настоящее время использование разработанных алгоритмов требует слишком больших временных затрат.
Налицо огромный прогресс в скорости работы алгоритмов гомоморфного шифрования. Алгоритм HELib C++, разработанный компанией IBM в 2018 году, в сто миллионов раз (!) производительней оригинального алгоритма, предложенного Крейгом Гентри в 2009 году. Но даже и новый алгоритм замедляет обработку шифрованных данных в миллион раз по сравнению с операцией над чистыми данными. Тем не менее имеются и практические применения гомоморфного шифрования в области распознавания лица. Так, компания NEC в 2021 году сообщила, что добилась успеха в применении гомоморфного шифрования с целью защиты биометрического образца от похищения и последующего использования в спуфинг-атаках. Ключ к шифрованному изображению имеется у клиента, что создает дополнительную уверенность в приватности.
Новое решение NEC ускоряет работу над шифрованными данными, что в свою очередь позволяет обеспечить идентификацию (1:N) по лицу. Новая технология может сузить рамки поиска для базы в 10 тыс. лиц за 0,01 секунды до 100 кандидатов, затем провести более точный поиск среди кандидатов за 1 секунду без потери точности. На этом фоне консалтинговые компании приходят к выводу, что применение гомоморфного шифрования в лицевой биометрии должно стать одним из механизмов, позволяющих уменьшить регуляторное воздействие на поставщиков биометрических решений в ближайшие два-три года.