Новая технология конфиденциальности давайте неуверенными сторонами вычислять вместе без утечки секретов

Новая технология конфиденциальности давайте неуверенными сторонами вычислять вместе без утечки секретов

13 июня 2025 г.

Авторы:

(1) Матиас Броссард, Системная группа, исследование ARM;

(2) Гилхем Брайант, Системная группа, исследование ARM;

(3) Basma el Gaabouri, System Group, Arm Research;

(4) Фансин вентилятор, iotex.io;

(5) Александр Феррейра, Системная группа, исследование ARM;

(6) Эдмунд Гримли-Эванс, Системная группа, исследование ARM;

(7) Кристофер Хастер, Системная группа, исследование рук;

(8) Эван Джонсон, Калифорнийский университет, Сан -Диего;

(9) Дерек Миллер, Системная группа, исследование ARM;

(10) Фан Мо, Имперский колледж Лондон;

(11) Доминик П. Маллиган, Системная группа, исследование ARM;

(12) Ник Спинал, системная группа, исследование ARM;

(13) Эрик Ван Хенсберген, Системная группа, Arm Research;

(14) Хьюго Дж. М. Винсент, System Group, Arm Research;

(15) Сланец Xiong, Systems Group, Arm Research.

Примечание редактора: это часть 4 из 6 исследований, в котором подробно описывается разработка структуры, чтобы помочь людям совместно сотрудничать. Прочитайте остальное ниже.

  • Аннотация и 1 введение
  • 2 конфиденциальные вычисления, поддерживаемые оборудованием
  • 3 Icecap
  • 4 Веракруз
    • 4.1 Аттестация
    • 4.2 Модель программирования
    • 4.3 Специальное ускорение
    • 4.4 Модель угрозы
  • 5 Оценка и 5.1 КАССОВАНИЕ: глубокое обучение
    • 5.2 Кейс-исследования: обнаружение видеообъекта

    • 5.3 Дальнейшие сравнения

  • 6 Заключительные замечания и ссылки

4 Веракруз

В этом разделе мы ссылаемся на компоненты системы, представленные в схеме на рис. 1.

Veracruz-это структура, которая может быть специализирована для получения конкретной конфиденциальности, совместной совместной вычисления. Вычисление Veracruz включает в себя произвольное количество владельцев данных, пытаясь сотрудничать с одним владельцем программы. Структура не накладывает ограничений на количество владельцев данных, но конкретное вычисление, полученное путем специализации Veracruz, всегда будет указывать точное количество участников. Мы используем π для обозначения программы владельца программы и используем DI для 1 ≤ I ≤ N для обозначения наборов данных различных владельцев данных в произвольном вычислении Veracruz.

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

Безопасно перемещение тяжелых вычислений с вычислительно слабых устройств на ненадежное устройство или сервер.Устройство вычислительно-волны является как поставщиком данных, так и приемником результатов, устройства или сервера с неосуществленным краем являются делегированы, а устройство вычислительно-волны или его владелец является поставщиком программ, предоставляя вычисление, которые будут выполнены.

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

Figure 1: An overview of an abstract Veracruz computation, showing principals and their roles, major system components, and a suggestive depiction of data-flow. Isolates, such as those hosting the Veracruz runtime, are marked with boxes with padlocks

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

Реализация конфиденциальных аукционов.Аукционная служба выступает в качестве поставщика программ, внедряет аукцион с герметичным, а также выступает в качестве делегата. Участники торгов являются поставщиками данных, представляющие герметичные ставки. Все принципы также являются приемниками результата, получая уведомление об аукционном победителе и цену, которая будет оплачена, которая является общедоступной. Ни участница, ни аукционная служба никогда не изучают детали каких -либо предложений, кроме их собственных и победных заявок.

Кроме того, легко увидеть, как можно построить более сложные распределенные системы вокруг Веракруза. Например, волонтерская сетка сетка, где конфиденциальность не является первостепенной, но вычислительная целостность; время выполнения эмбиентных вычислений для мобильных вычислений в ряде устройств; Содержание конфиденциальности MapReduce [32] или FunctionAs-A-Service (FAAS, Отсюда). Здесь вычислительные узлы действуют как независимый делегат для некоторого аспекта более широкого вычисления, и различные технологии изоляции могут также использоваться в одном вычислении, либо из-за доступности для сетки или окружающей среды, либо из-за планирования чувствительных суб-компонентов на более сильные механизмы выделения для MapReduce.

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

Секретификация также может возникнуть как побочный эффект самого вычисления, например, когда результат вычисления, который может выявить значительные объемы информации о ее входах, в зависимости от π, является общим с ненадежным принципалом. Руководители должны тщательно оценить глобальную политику, прежде чем зарегистрироваться, чтобы понять, куда будут поступать результаты и что они могут сказать о любых секретах. Хотя Veracruz может использоваться для разработки конфиденциальности, сохраняющих распределенные вычисления, не все вычисления обязательно являются конфиденциальностью.

4.1 Аттестация

Учитывая Veracruz поддерживает множественные технологии изоляции, это создает ряд проблем, связанных с аттестацией:

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

Утекая абстракция:Veracruz аннотация над технологией изоляции, позволяя принципалам легко делегировать вычисления, не беспокоясь о модели программирования или аттестации, связанной с каким -либо одним классом изолята. Принуждая клиентов переключать протоколы аттестации, в зависимости от технологии изоляции, нарушает эту единообразие.

Потенциальный боковой канал:Для некоторых протоколов аттестации каждый принципал в вычислении Veracruz должен направлять доказательства в службу внешней аттестации.

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

В ответ мы вводим услугу аттестации по доверенности для Veracruz, которая должна быть четко доверять всем принципалам для вычислений, с ассоциированным программным обеспечением для сервера и управления открытым исходным кодом и проверенным всеми. Эта услуга не защищена изолятом, хотя в принципе может быть, и это позволило бы принципалам проверить подлинность Службы аттестации по доверенности, например, перед тем, как ее доверять. Реализация этого была бы просто; На данный момент мы предполагаем, что службе аттестации доверяют, неявно.

Служба аттестации по доверенности сначала использует процесс адаптации для зачисления на выявление Veracruz, после чего изолят может выступать в качестве сервера TLS для принципалов, участвующих в вычислении. Мы описываем эти шаги, ссылаясь на рис. 2.

Анализ изолятаСлужба аттестации по доверенности поддерживает ключ корневого CA (пара/частная пара ключей) и сертификат корневого CA, содержащий корневый CA Public Key, подписанный корневым CA Private Key. Этот сертификат корневого CA включен в глобальную политику на любых вычислениях, используя эту службу аттестации прокси. Затем следуют протокол адаптации:

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

  2. Служба аттестации по доверенности вычисляет хэш полученного КСО и сравнивает его с содержанием пользовательского поля подтверждения доказательств. Если он соответствует, это подтверждает, что CSR из того же изолята, что и доказательство.

  3. Прокси -сервер аттестации преобразует CSR в сертификат X.509 [28], содержащий данные о запечатлевании настраиваемого расширения об изоляте, полученном из процесса аттестации, включая хэш среды выполнения Veracruz, выполняющего внутри изолята (и, необязательно, о платформе, на которой выполняется изолят). Сертификат подписан частным компонентом корневого CA -ключа сервера прокси -аттестации.

Figure 2: A schematic diagram of the Veracruz attestation service onboarding and challenge protocols

6. Прокси -сервер Attestation возвращает сгенерированный сертификат во время выполнения Veracruz внутри изолята.

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

Обратите внимание, что служба аттестации прокси решает проблемы с аттестацией, описанным выше. Во -первых, клиент -код обеспечивается единым интерфейсом аттестации - здесь мы используем протокол аттестации ARM PSA [86] - не зависящий от использования базовой технологии изоляции. Во -вторых, ни один из директоров в вычислении не должен общаться с какой -либо местной службой аттестации. Таким образом, нативная служба аттестации знает, что программное обеспечение было запущено в поддерживаемом изоляте, но оно не знает идентичности или даже о количестве принципов. Наконец, глобальная политика представляет собой единственный источник применения политики. Авторы глобальной политики могут декларативно описать, кому и чему они готовы доверять, с клиентским программным обеспечением директора учитывает эту информацию при аутентификации или отклонениях токена аттестации.

Наконец, мы отмечаем. что наш процесс аттестации специально разработан для размещения клиентского кода, работающего на встроенных микроконтроллерах-т. Е., устройства ARM Cortex®-M3-с ограниченной вычислительной емкостью, ограниченной памятью и хранилищем (часто измеряемыми в десятках килобитов), и которые, как правило, имеют батарею с ограниченной сетью. Следовательно, связь с службой аттестации является энергоснабжением Costrand, и использование схемы, основанной на сертификатах, позволяет эффективно аутентифицировать изолят, работающий на Veracruz. Чтобы подтвердить это, мы разработали клиент -код Veracruz для микроконтроллеров, используя встроенную ОС Zephyr [100]. Наш клиент -код составляет 9 КБ поверх стека Mbedtls [60], как правило, требуется для безопасной связи в любом случае. Используя это, небольшие устройства могут безопасно разгрузить большие вычисления в экстентный экземпляр Veracruz.

4.2 Модель программирования

WASM [41] предназначен как механизм песочницы для использования в критических контекстах безопасности, а именно веб-браузеры, разработанные для того, чтобы быть внедренными в более широком хозяине, имеет точную семантику [93], широко поддерживается как цель, и JIT, имеющиеся в качестве rust и Co-Qu-Ququality [90 и JIT. Поэтому мы приняли WASM в качестве нашего исполняемого формата, поддерживая как интерпретацию, так и исполнение JIT, при этом стратегия указана в глобальной политике.

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

Чтобы завершить вычисление, программе WASM нуждается в некотором способе чтения входов, предоставленных ему поставщиком данных, и некоторым способом написания выходов на получение результатов. Тем не менее, мы хотели бы ограничить поведение программы, насколько это возможно: программа, сбрасывающая один из своих секретных входов в Stdout на машине хоста, нарушит гарантии конфиденциальности, которые, например, Veracruz стремится предоставить. Отчасти по этой причине мы приняли интерфейс системы Webassembly [97] (или wasi, отныне) в качестве модели программирования для Veracruz. Интуитивно это можно рассматривать как «POSIX для WASM», предоставляя системный интерфейс для запроса файловой системы Veracruz в памяти, генерируя случайные байты и выполнение других аналогичных системных задач. (В этом свете время выполнения Veracruz можно рассматривать как простую операционную систему для Wasm.) При принятии WASI можно также использовать существующие библиотеки и стандартные идиомы программирования при нацеливании на Veracruz.

Васи используетвозможности, в аналогичной вене с Capsicum [92], и программа может использовать только функциональность, которую она была явно уполномочена для использования. Программа, π, возможности указываются в глобальной политике и обычно распространяются на входы чтения, написание выходов и генерирующие случайные байты, ограничивая программу, чтобы действовать как чистая, рандомизированная функция.

4.3 Специальное ускорение

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

В ответ мы представили «нативные модули», обеспечивающие ускорение для конкретных задач, которые связаны со временем выполнения Veracruz и вызываются из программ WASM. При сравнительном анализе один такой модуль-ускорение (DE) сериализации документов JSON из бинарного формата Pinecone-мы наблюдаем ускорение на 35%, когда (DE) сериализует вектор из 10000 случайных элементов (238 с 375S WASM). Дополнительная оптимизация, скорее всего, еще больше повысит производительность.

Учитывая специальную природу этих ускорителей, их отсутствие однородности и тот факт, что с течением времени будет добавлено больше, вызывая их из WASM, проблематично. Расширение интерфейса системы Veracruz для включения функциональности, специфичной для акселератора, выведет нас за пределы WASI и потребует использования опорных библиотек для программирования с Veracruz. Вместо этого мы выбираем интерфейс, построенный вокруг специальных файлов в файловой системе Veracruz, с модулями, вызванными программами WASM, записывающимися и чтением в этих файлах, повторно используя существующие идиомы программирования и поддержку файловых систем в WASI.

4.4 Модель угрозы

Veracruz TCB включает в себя базовый изолят, время выполнения Veracruz и реализацию службы аттестации Veracruz. Ведущий Службы аттестации Веракрус также должен доверять всем сторонам, как и местные службы аттестации или используемые ключи. Правильность различных протоколов, используемых-TLS, нативная аттестация, специфичная для платформы и аттестация PSA,-также, по-видимому, также доверяют.

Двигатель выполнения WASM также должен доверять для правильного выполнения бинарного файла, так что вычисление добросовестно выполняется в соответствии с опубликованной семантикой байт-кодов [80, 93], и что программа не может избежать его песочницей, повреждения или шпионата на делегате или иметь какой-либо другой побочный эффект, чем разрешенная модель модели песочнинг Veracruz. Были разработаны недавние методы, которые используют посткомпиляционную проверку для установления этого доверия [48]-мы кратко обсудим наши текущие эксперименты в этой области в §6. Проверка компилятора может быть использована для обеспечения доверия к механическому управлению WASM, хотя мы не знаем о каких-либо проверенных, высокопроизводительных переводчиках WASM или JIT, подходящих для использования с Веракрузом на момент написания (однако, см. [94] для достижения этого). Проблемы памяти были вовлечены в атаки против изолятов в прошлом [58] - мы пишем Veracruz в Rust в попытке избежать этого, а компилятор также доверял.

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

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

Анклавы AWS защищают вычисления от клиента AWS, управляющего экземпляром EC2, связанным с изолятом. В то время как AWS гарантирует, что пользователи, которые изоляты защищены от сотрудников и других инсайдеров, эти гарантии трудно проверить (и, как производитель кремния, AWS и его сотрудники всегда должны доверять). Таким образом, наш TCB также содержит аппаратное обеспечение Nitro, Host Linux, используемое внутри изолята, инфраструктуру аттестации для нитро -анклавов и любых инсайдеров AWS с доступом к этой инфраструктуре.

Для ARM CCA Realms только монитор управления сферами (RMM, отныне), ядро ​​разделения, изолирующие сферы друг от друга, имеет доступ к памяти о сфере, отличном от программного обеспечения, выполняемого в самом сфере. Царства защищены от небезопасного гипервизора, и любое другое программное обеспечение, работающее в системе, кроме RMM, и будет защищено от класса физических атак с использованием шифрования памяти. Таким образом, наш TCB содержит RMM, системное оборудование, хост Linux внутри области, а также инфраструктуру аттестации для ARM CCA.

Для ICECAP наш TCB включает в себя ядро ​​SEL4, на которое мы полагаемся, чтобы надежно изолировать процессы друг от друга, подкрепленные частью проверки машины, проверенных доказательств безопасности ядра и функциональной правильности (хотя в настоящее время они не распространяются на конфигурацию EL2 для AARCH64). Для типичного гипервизора развертывания SEL4 SMMU является единственной защитой от физических атак.

Figure 3: Execution time of the DL examples, classifier training (L), inference (M), and ONNX model aggregation (R)

TCB Veracruz включает в себя как локальные, так и удаленные стеки аппаратного и программного обеспечения, в то время как чисто криптографические методы просто полагаются на надежную реализацию примитив и правильность самого примитива. Как показано в §5, Veracruz обеспечивает определенную степень эффективности и практичности в настоящее время недоступно для чисто криптографических методов, за счет этого более крупного TCB.

Директора сталкиваются с сложным классом угроз, вытекающих из сговора между другими директорами, включая делегата. Некоторые алгоритмы могут быть особенно уязвимы к нежелательному рассеиванию секретных входов на любой приемник результатов, и некоторые атаки могут быть улучшены за счет сговора между принципалами-например, побочным каналом, вставленным в программу в интересах делегата. Как обсуждалось в §2, в прошлом было продемонстрировано несколько мощных побочных атак против программного обеспечения, выполняемого внутри изолятов, а также существуют другие побочные каналы, включая время выполнения программы программы на стене, π, на входных наборах данных, а также размеры данных и время прибытия, протекающие подключениями TLS. В тех случаях, когда программы являются секретными, директора должны доверять поставщику программ не сговориться с получателем результата, поскольку секретная программа может тривиально намеренно утекать данные в результате или содержать конвертируемые каналы. Если существование этих доверительных отношений нежелательно, то директора должны настаивать на рассылке программы, прежде чем зарегистрироваться в вычислении.

Эта статья естьДоступно на ArxivПод CC по лицензии 4.0.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE