Рейтинг:3

Функциональная модель и модель безопасности для SEAL

флаг ng

Для чего нужна функциональная модель и модель безопасности ТЮЛЕНЬ?

От это Я понимаю, что это

позволяет складывать и умножать зашифрованные целые или действительные числа.

Но каковы ограничения, такие как диапазон, точность, на входы и выходы? Какие операции можно выполнять? Есть ли какое-то ограничение за пределами дальности/точности?

Какую модель безопасности должен принять разработчик приложений, использующий SEAL в качестве черного ящика?

Меня особенно озадачивает следующее заявленное ограничение (источник):

расшифровки зашифрованных текстов Microsoft SEAL следует рассматривать как личную информацию, доступную только владельцу секретного ключа, поскольку совместное использование расшифровок зашифрованных текстов может в некоторых случаях привести к утечке секретного ключа.

Означает ли это, что приложение, использующее SEAL, например. вычислить среднее значение и дисперсию в зашифрованном наборе данных, не может опубликовать (расшифрованные) результаты? По крайней мере, первые (скажем) 4 десятичных цифры среднего и 2 первые цифры дисперсии должны быть в порядке для публикации, верно? Если да, то каков предел безопасности и/или есть ли какой-то встроенный API для очистки вывода, чтобы его можно было безопасно раскрыть?

Рейтинг:3
флаг ng

расшифровки зашифрованных текстов Microsoft SEAL следует рассматривать как личную информацию, доступную только владельцу секретного ключа, поскольку совместное использование расшифровок зашифрованных текстов может в некоторых случаях привести к утечке секретного ключа.

Это было введено в качестве ответа на Атака Ли Миччанчио на CKKS. Модель, в которой работает Li Micciancio [LM], представляет собой традиционную безопасность IND-CPA, дополненную оракулом дешифрования. Этот оракул расшифровки расшифровывает только в том случае, если «идеальный» результат в левом и правом мирах совпадает, поэтому для правильный В схемах FHE (где идеальное вычисление — это вычисление, которое происходит на самом деле) понятие эквивалентно безопасности IND-CPA (любой злоумышленник может тривиально имитировать этот оракул).

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

ТЮЛЕНЬ. В настоящее время модификация безопасности IND-CPA+ для алгоритмов или API не появляются в SEAL [18]. Вместо этого в SECURITY.md отметили, что результаты расшифровки SEAL зашифрованные тексты следует рассматривать как личную информацию, доступную только владельцу секретного ключа.

Итак, ответ на:

Означает ли это, что приложение, использующее SEAL, например. вычислить среднее значение и дисперсию в зашифрованном наборе данных, не может опубликовать (расшифрованные) результаты? По крайней мере, первые (скажем) 4 десятичных цифры среднего и 2 первые цифры дисперсии должны быть в порядке для публикации, верно?

это "это зависит". Поскольку SEAL не содержит никаких контрмер, вы (в принципе) уязвимы для атаки LM. Вы можете обработать среднее значение и дисперсию (как вы предлагаете), уменьшив точность, и это может быть хорошо (это «детерминированное округление» примерно то же самое, что добавление случайного шума к битам более низкого порядка, хотя я думаю, что есть некоторые незначительные преимущества добавления случайного шума по сравнению с детерминированным округлением). Но конкретные параметры для постобработки еще не определены.

Стоит упомянуть о том, что, хотя LM удается извлечь секретный ключ, для вычислений более сложных схем это становится менее очевидным, хотя атака с неразличимостью по-прежнему кажется простой.

fgrieu avatar
флаг ng
О боже! Необходимость держать в тайне результаты расшифровки является очень серьезным ограничением. Если бы я использовал FHE, я бы сделал все возможное, чтобы избежать библиотеки с таким ограничением. С другой стороны, как и у большинства, у меня нет приложения для FHE.
Mark avatar
флаг ng
Я согласен. К сожалению, количество шума, которое необходимо добавить, довольно велико. Iirc это что-то вроде $\sqrt{D}2^{n/2}t$ или что-то в этом роде, где $D$ — ограничение на количество разрешенных запросов на расшифровку, $n$ — параметр безопасности, а $t $ — размер базовой (аппроксимационной) ошибки. Так что в лучшем случае (скажем, $D = 1, n=80$) вы увеличиваете размер ошибки аппроксимации на $\приблизительно 2^{40}$, например вы теряете дополнительные 40 бит точности.
Mark avatar
флаг ng
Однако это происходит из несколько наивного аргумента типа «затопления шумом». Вполне вероятно, что люди разработают лучшие аргументы --- еще не было много последующей работы (о которой я знаю).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.