July 2

YTWO Report: Trusted Execution Environment (TEE)

Содержание

  1. Необходимость конфиденциальности данных
  2. Пример с утечкой анонимных данных от Netflix
  3. ZKP vs FHE vs MPC
  4. TEE introduction
  5. Текущие тэйки, которые решает TEE
  6. Проблемы TEE
  7. Conclusion
  8. YTWO Social Networks

Необходимость конфиденциальности данных

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

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

При обработке больших объемов данных для обучения моделей машинного обучения или облачных вычислений, защита конфиденциальности личной информации пользователей становится критически важной. В таких случаях использование методов, таких как Zero-Knowledge Proofs (ZKP), Fully Homomorphic Encryption (FHE), Trusted Execution Environment (TEE) или Multi-Party Computation (MPC), может помочь обеспечить конфиденциальность данных при выполнении вычислений.

Кроме того, важно обеспечить достоверность данных. Думаю, что в контексте блокчейна все знакомы с концепциями “среда без доверия” или “не доверяй никому”. Консенсусные комитеты, голосования ⅔, децентрализованные комитеты секвенсоров и т.д. – все это создано, как решения для систем, где важно удостовериться в корректности данных, не доверия ни одной стороне.

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

Пример с утечкой анонимных данных от Netflix

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

Данные выборочных пользователей попали в публичный датасет Netflix Prize. Датасет содержит рейтинги всех фильмов, которые посмотрели пользователи за шесть лет (1999–2005). Каждая запись — в формате:

user_id;

(film_1, date_of_watch_1, rating_of_film_1);

(film_2, date_of_watch_2, rating_of_film_2);

...

(film_n, date_of_watch_n, rating_of_film_n);

Авторы статьи, которая указана ниже, смогли сопоставить записи в этом датасете с записями в других базах данных и с высокой точностью привязать конкретных пользователей к конкретной истории просмотров. Они предложили переформулировать вопрос об анонимности данных с «Есть ли в датасете уникальные идентификаторы людей?» на «Как много злоумышленнику нужно знать о человеке, чтобы найти его в базе данных и, соответственно, узнать всю остальную информацию о нем?». К слову о том, что конфиденциальность данных может быть подвергнута утечкам, даже не намерено.

Подробней можно ознакомиться тут

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

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

ZKP vs FHE vs MPC

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

Что может нам помочь в данном случае?

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

Пробежимся кратко по ним:

ZKP (Zero-Knowledge Proof) позволяют пользователям доказать знание ценности, не раскрывая эту ценность. Ценность, в нашем контексте, будет представлять кусочек конфиденциальных данных, который мы не хотим раскрывать.

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

  1. Корректность: Если утверждение верно, то проверяемая сторона убеждается в этом факте после взаимодействия с доказывающей стороной.
  2. Soundness: Если утверждение  ложно, то доказывающая сторона не сможет убедить проверяемую сторону в его верности с высокой вероятностью.
  3. Нулевое разглашение: Доказывающая сторона не раскрывает никакой дополнительной информации, кроме факта верности утверждения.

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

Для блокчейна ZKP до сих пор, а может и в дальнейшем, были лучшим ответом в инструментах обеспечения конфиденциальности. Однако ZKP требуют доверять третьим лицам личные данные, что не идеально для полной конфиденциальности. Это связано с тем, что в rollups ZK пользователи отправляют транзакции в централизованные секвенсоры, которые генерируют доказательства. Но даже эту проблему легко устраняют децентрализованные секвенсоры.

Салют нашей статье о Децентрализованных Cеквенсорах.

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

MPC (Secure Multiparty Computation) позволяют двум отдельным объектам производить вычисления, не раскрывая при этом ничего, кроме выходных данных. Стороны специальным образом шифруют данные и отправляют их узлам, выполняющим вычисления. Шифрование гарантирует, например, что для восстановления входных данных требуются как минимум 2 из 3 узлов, и, таким образом, мы получаем относительную безопасность, основанную на консенсусном соглашении.

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

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

Визуализация возможных орграничений MPC

FHE (Fully Homomorphic Encryption) – форма шифрования, позволяющая производить определенные математические действия с зашифрованным текстом и получать зашифрованный результат, который соответствует результату операций, выполненных с открытым текстом.

Схема наипростейшая:

допустим, что нужно сложить A и B ->

шифруем A и B по отдельности, получая A’ и B’ ->

складываем A’ + B’, получая С’ ->

расшифровываем С’ ->

получаем С равное A + B (А и В нигде не были раскрыты)

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

Давайте теперь попробуем как-то структурировать эти технологии, разделим их на три группы моделей:

  • Криптоэкономические: требует создание стимулирующих систем для честного поведения узлов. MPC.
  • Криптографические: Создание модели ложится на чистую математику. ZKP, FHE.
  • Hardware enclaves: об этом мы подробно поговорим ниже.

По итогу, ZKP, FHE и MPC - все это методы обеспечения конфиденциальности данных, но с разными подходами ZK позволяет доказать правильность данных, не раскрывая их содержание; FHE позволяет выполнять вычисления над зашифрованными данными без расшифровки; а MPC позволяет нескольким сторонам совместно выполнять вычисления, не раскрывая свои собственные данные.

TEE introduction

Ну и, конечно, тема сегодняшней статьи – TEE (Trusted Execution Environment). Если отбросить разглагольствования, то ТЕЕ представляет собой просто среду множества процессоров, которым доверяют выполнять вычисления.

Если рассматривать TEE как вышеперечисленные механизмы, то TEE способен  изолировать конфиденциальные вычисления от остальной части операционной системы в secure enclave (что-то вроде выделенной защищенной части аппаратного обеспечения) и обеспечить баланс между криптографией и криптоэкономикой.

Но при доверии к оборудованию (что не совсем хорошо) должны же быть какие-то преимущества.

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

ML proof techniques tradeoffs table by Marlin Protocol on Eth Denver

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

Для TEE вводится термин “Аттестация”. Аттестация — это механизм, который выполняется в аппаратной среде для обеспечения технических гарантий в secure enclave.

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

Резюмируя, TEE обеспечивает изоляцию и безопасное выполнение вычислений. В отличие от ZKP, FHE и MPC, TEE обеспечивает безопасность данных на уровне устройства, а не на уровне алгоритмов шифрования или вычислений. Даже обладатель устройства не может использовать или даже найти эти данные.

Текущие тэйки, которые решает TEE

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

  • Для упорядочивания транзакций и создания блоков в Rollups часто используются доверенные централизованные секвенсоры. Однако, в такой централизованности есть риск цензуры, ошибочного или преднамеренного упорядочения и извлечения выгоды из порядка выполнения транзакций (MEV).
  • Повышение надежности Optimistic и ZK Rollups. Scroll уже активно разрабатывает подобные системы двойного доказательства SGX + ZK

https://scroll.io/blog/scaling-security#how-will-the-tee-prover-integrate-into-scroll-

https://scroll.io/blog/scaling-security

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

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

Проблемы TEE

Раз TEE столь недосягаем по дешевизне и вычислительным мощностям, то возникает вопрос. Почему мы все еще не используем его так широко, ведь сфер применения столь много.

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

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

Источник: https://sgx.fail/

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

“Всякий раз, когда обнаруживается новая уязвимость SGX, Intel обычно выпускает новый микрокод, чтобы устранить проблему. Поскольку микрокод распространяется как часть обновлений BIOS, Intel работает с поставщиками оборудования для интеграции этих обновлений микрокода для затронутых платформ. Мы провели анализ шести распространенных уязвимостей SGX и того, сколько времени потребовалось популярным производителям для выпуска обновлений для своих устройств. На рисунке 1 представлены результаты нашего анализа, показывающие, что поставщикам требуется почти два месяца для выпуска исправлений. Мы обнаружили, что обновления BIOS, как правило, происходят медленно, но также заметили, что некоторые продукты обновляются до обнаружения, тогда как другим требуется несколько месяцев (если они вообще обновляются).”

Собственно сам INTEL ведет таблицу известных уязвимостей и затронутых процессоров

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

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

Вот, кстати, вариант, когда именно они раскрыли данные пользователей: https://cointelegraph.com/news/secret-network-resolves-network-vulnerability-following-white-hat-disclosure

В общих чертах, блокчейн секретных транзакций и смарт-контрактов с поддержкой TEE под названием Secret Network, оказался не таким же уж секретным.

Так же, неприятно осознавать, что установить злоумышленников практически невозможно. Можно лишь исправить хак и продолжить работу.

Conclusion

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

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

YTWO Social Networks

Website | Twitter | Telegram