Первая открытая реализация анклава для аппаратно изолированных окружений

11 декабря 2018 года

Представлен первый выпуск проекта Keystone, в рамках которого подготовлен набор спецификаций и программных компонентов для встраивания функциональности защищённых анклавов в чипы на базе архитектуры RISC-V. Наработки проекта распространяются под лицензией BSD. Проект развивается исследовательской группой из Калифорнийского университета в Беркли и Массачусетского технологического института.

Анклав ( TEE, Trusted Execution Environment) подразумевает предоставление процессором специальной изолированной области, которая позволяет вынести часть функциональности приложений и операционной системы в отдельное окружение, содержимое памяти и выполняемый код в котором недоступны из основной системы, независимо от уровня имеющихся привилегий. Для своего выполнения в анклав могут перемещаться реализации различных алгоритмов шифрования, функции обработки закрытых ключей и паролей, процедуры аутентификации, код для работы с конфиденциальными данными.

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

Keystone может рассматриваться как открытая альтернатива таким решениям, как Intel SGX (Software Guard Extensions), ARM TrustZone и AMD PSP (Platform Security Processor). Достоинством предлагаемого открытого решения является полная доступность для аудита на всех уровнях, в отличие от вышеупомянутых проприетарных решений, полагающихся на принцип " security by obscurity" (безопасность через скрытие внутренней реализации). Как показала практика, подход основанный на ограничении не оградил Intel SGX, ARM TrustZone и AMD PSP от критических уязвимостей, сводящих на нет всю предоставляемую защиту.

Разработанные в рамках проекта Keystone спецификации позволяют интегрировать функциональность анклава в любой процессор на базе архитектуры RISC-V с минимальным числом вносимых изменений, обеспечивающих аппаратную изоляцию. Изменения касаются обеспечения физической изоляции доступа к памяти и изоляции таблиц страниц памяти. Для защиты от физических атак (анализ чипов памяти) содержимое памяти анклава и передаваемые по шине адреса шифруются. Для защиты от атак по сторонним каналам применяется полностью изолированная архитектура.

Для разработки приложений, выносящих часть функциональности и данных в анклав, предлагается специальный SDK. Проектом также развивается модифицированный вариант ядра Linux, минимальный runtime, загрузчик с поддержкой верификации загружаемого кода по цифровой подписи, специальное программное окружение, формирующие операционную систему анклава, набор утилит для верификации окружений и генерации цифровых подписей. Для тестирования разрабатываемых анклавов предоставляются эмулятор на базе QEMU и аппаратный симулятор на базе FireSim, использующий платы FPGA.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Первая открытая реализация анклава для аппаратно изолированных окружений», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.