В Intuit, гордом создателе TurboTax, QuickBooks и Mint, мы являемся надежными хранителями данных наших клиентов, и к этой ответственности мы относимся серьезно. В рамках этого обязательства мы вводим новшества в наши методы обеспечения безопасности - так же, как мы вводим новшества при разработке наших продуктов, - что включает в себя изучение передовых технологий конфиденциальности. Мне как человеку, заботящемуся о конфиденциальности и шифровании, это действительно интересно в Intuit.

В последнее время моя команда изучает «операции с зашифрованными данными». С помощью этого исследования мы стремимся обеспечить безопасную среду для специалистов по данным.

Итак, что именно мы подразумеваем под операциями с зашифрованными данными? Люди склонны думать о шифровании данных как о черном ящике: с одной стороны вводятся незашифрованные данные открытого текста и секретный ключ, а с другой стороны появляется тарабарщина, также известная как зашифрованный текст. Второй черный ящик, называемый дешифрованием, обращает процесс вспять и снова открывает открытый текст. Важно отметить, что если вы измените зашифрованный текст - даже немного, перевернув один бит, - ваш открытый текст будет поврежден и получится совершенно случайным.

Этот взгляд на шифрование по-прежнему в целом верен, по крайней мере, для наиболее распространенных блочных шифров, таких как AES (Advanced Encryption Standard), но в последние несколько лет появилось важное исключение в случае гомоморфного шифрования. Гомоморфное шифрование - это, прежде всего, шифрование. Как и в случае с AES, это можно представить так:

ciphertext = Enc (ключ, открытый текст) и

plaintext = Dec (ключ, зашифрованный текст)

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

Enc (a + b) = Enc (a) + Enc (b) и

Enc (a * b) = Enc (a) * Enc (b)

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

Шифрование и большие данные

Гомоморфное шифрование увлекательно для такого любителя криптографии, как я, но полезно ли оно вообще? В течение долгого времени люди предполагали, что версия, называемая полностью гомоморфным шифрованием, или FHE, может предложить поставщикам облачных услуг способ выполнять вычисления с данными своих клиентов, не имея доступа к этим данным в открытом виде. Это может улучшить безопасность и конфиденциальность, но я лично сомневаюсь, что это когда-либо станет жизнеспособным. Снижение производительности, связанное с этим методом, делает его непригодным для обычных вычислений, как можно было бы ожидать от поставщика облачных услуг. С другой стороны, FHE действительно является многообещающим способом для предприятий значительно повысить свою сопротивляемость кибератакам в конкретных случаях использования. Чтобы понять, почему, давайте посмотрим на современные практики искусственного интеллекта (ИИ).

Некоторые крупные предприятия концентрируют большие объемы данных в так называемом озере данных. В середине этого озера находится сервер облачных приложений, на котором работает большое количество приложений искусственного интеллекта, называемых моделями машинного обучения (ML). Централизованная архитектура часто приводит к тому, что большое количество людей получают частичный или полный доступ к озеру данных предприятия.

Цель моей команды - позволить как можно большему количеству моделей машинного обучения работать с использованием только зашифрованных данных, чтобы в случае попытки атаки в любом месте озера данных злоумышленник не мог получить доступ к конфиденциальным данным. Как? Помните, что гомоморфное шифрование позволяет выполнять математические функции с зашифрованными данными. Таким образом, конфиденциальные данные хранятся в зашифрованном виде, а модели машинного обучения повторно реализуются с использованием гомоморфных операций.

Вот как могло бы выглядеть такое решение:

(В качестве примечания: гомоморфное шифрование не является панацеей, и его следует развертывать вместе с более традиционными решениями безопасности, такими как детальный контроль доступа.)

Работаем на переднем крае криптографии

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

y равно 1, если x ›T, иначе y равно 0

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

Какие именно сценарии? В случае использования общедоступного облака мы должны предполагать очень жесткое разделение криптографических ключей: поставщик облака никогда не получает доступ к ключам шифрования для данных, которые он хранит. Это одна из причин, по которой я скептически отношусь к жизнеспособности гомоморфного шифрования для приложений такого типа.

С другой стороны, корпоративный вариант использования обеспечивает большую архитектурную гибкость, которую мы можем использовать для ускорения гомоморфных вычислений. Для этого предлагаемая архитектура Intuit включает в себя выделенный сервер, называемый «оракул» (не имеющий отношения к компании Oracle): сервер без сохранения состояния, имеющий доступ к ключу шифрования. Специалисты по безопасности могут рассматривать его как аналог аппаратного модуля безопасности (HSM). Конечно, мы не запускаем реальные модели машинного обучения на оракуле; это вернет нас к исходной архитектуре с оракулом, выступающим в качестве сервера приложений, что, в свою очередь, будет представлять серьезную угрозу безопасности. Вместо этого мы используем оракул только для конкретных вычислений. Оракул может выполнять очень ограниченный набор операций и имеет доступ только к совокупности данных, а не к отдельным точкам данных. Несмотря на эти ограничения и накладные расходы на вызов удаленного сервера, оракул обеспечивает гомоморфные операции со значительным ускорением.

Архитектурно оракул представляет собой отдельный компонент, который находится рядом с сервером машинного обучения:

Подобный подход дает еще одно важное преимущество по сравнению с другими полностью гомоморфными решениями для хранения данных: он предотвращает взрыв так называемого шифротекста. При использовании стандартных методов FHE размер зашифрованного текста в байтах примерно в 10 000 раз превышает размер исходного открытого текста (для сравнения, стандартное симметричное шифрование данных добавляет лишь несколько байтов к размеру открытого текста). Это явно неприемлемо для массового хранения больших данных того типа, который мы обычно видим в приложениях искусственного интеллекта. Подход оракула сохраняет размер хранимых данных управляемым и реалистичным для операций в реальном времени. Недавно мы опубликовали заметку, описывающую, как комбинация оракула и ослепления позволяет хранить большие объемы данных со стандартным симметричным шифрованием и повторно шифровать данные на лету в FHE с хорошими свойствами безопасности и практической производительностью. В частности, в этом решении к оракулу не просачивается никакая информация, даже агрегированные значения.

Мы очень рады результатам нашего исследования на сегодняшний день, но мы еще не закончили. Например, существующие методы по-прежнему требуют большого количества настраиваемой работы для каждой модели машинного обучения, которая будет адаптирована к среде FHE. Оптимизация этого процесса будет иметь большое значение для повышения практичности этого подхода при широком использовании.

Технологические проблемы, связанные с гомоморфным шифрованием - и открываемые им возможности - слишком велики для одной компании. Огромный прогресс, достигнутый с тех пор, как Крейг Джентри опубликовал начальную схему FHE в 2009 году, стал возможным благодаря активному сотрудничеству между организациями. В настоящее время большая часть этой работы сосредоточена вокруг homomorphicencryption.org, отраслевого консорциума, в котором работает Intuit.

Моя команда включает недавние криптографические исследования в многоуровневую стратегию безопасности Intuit для решения реальных проблем безопасности и конфиденциальности. Если вы хотите принять участие в этих усилиях, протяните руку. Мы приветствуем ваш вклад!