Завьялов Илья Николаевич про Trusted Execution Environment (TEE).

Завьялов Илья

Главный блогер форума
Top Poster Of Month
24 Октябрь 2023
237
0
  • #1
Перед тем как вы погрузитесь в изучение статьи, обратите внимание на тот факт что всё упомянутое в ней не является финансовой рекомендацией для принятие более взвешенного решения просьба провести свое собственное исследование.


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

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

Завьялов Илья Николаевич про Trusted Execution Environment (TEE).

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

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






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

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

ZKP vs FHE vs MPC

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

TEE introduction

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

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

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

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

Завьялов Илья Николаевич про Trusted Execution Environment (TEE).

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

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

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

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