Первая доверенная среда выполнения для процессоров RISC-V: MultiZone Security

Привет! рано!

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

Многорегиональная безопасность с помощью RISC-V

Первая доверенная среда выполнения (TEE) для процессоров RISC-V.

Для приложений RISC-V, которым требуется надежная аппаратная безопасность, безопасность MultiZone® обеспечивает аппаратно-программное разделение нескольких одинаково безопасных доменов с полным контролем над данными, программами и периферийными устройствами.

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

MultiZone®Security основан на свободных и открытых стандартах, имеет открытый исходный код на GitHub, поставляется с бесплатной пробной лицензией и без лицензионных отчислений для коммерческого использования.

MultiZone Security, первая доверенная среда выполнения для RISC-V, разрабатывает облегченную среду безопасности на основе политик для RISC-V, которая масштабируется от небольших одноядерных устройств Интернета вещей до многоядерных приложений SMP Linux.

Многозонная безопасность

MultiZone®Security состоит из следующих компонентов:

  • MultiZone®nanoKernel — легкое, формально проверяемое ядро, которое обеспечивает управляемое политиками аппаратное разделение ОЗУ, ПЗУ, ввода-вывода и прерываний.

  • MultiZone® Messenger — коммуникационная инфраструктура для безопасного обмена сообщениями между зонами без использования общей памяти .

  • Конфигуратор MultiZone® — объединяет полностью связанные исполняемые файлы зоны с политиками и ядрами для создания образов встроенного ПО для безопасной загрузки.

  • MultiZone® Secure Boot — двухэтапный безопасный загрузчик, проверяющий целостность и подлинность образов прошивки (SHA-256/SHA-512/ECC)

(Мне кажется, что этот алгоритм практически бессмыслен)

Как работает MultiZone Security?

MultiZone Security легко интегрируется в существующие IDE, такие как Eclipse, или наборы инструментов на основе командной строки.

  • Блоки приложения пишутся, компилируются и компонуются отдельно для каждого региона , создавая набор эльфийских или шестнадцатеричных файлов.
  • Политики нескольких регионов настраиваются для обеспечения изоляции ОЗУ, ПЗУ, ввода-вывода и прерываний, необходимых для каждого региона — RWX, с детализацией всего 4 байта .
  • Наконец, вызывается конфигуратор MultiZone для объединения elf/hex-файлов зоны со средой выполнения MultiZone в подписанный образ прошивки.
  • Всю систему можно написать, скомпилировать и отладить с использованием существующих наборов инструментов GNU или Eclipse .

Функция

  • Вытесняющий планировщик в реальном времени: цикл/совместная работа, настраиваемая шкала времени, нагрузка на процессор <1%
  • Формально проверяемый, полностью написанный на ассемблере, автономный — без зависимостей от сторонних библиотек.
  • Неограниченное количество изолированных доверенных сред выполнения (зон) — аппаратное обеспечение, определение политики.
  • Каждая область имеет до 32 отображенных ресурсов памяти, а именно флэш-память, оперативная память, ввод-вывод, uart, gpio, таймер и т. д.
  • Любая комбинация конфигураций верхнего уровня и естественно выровненных конфигураций — минимальная степень детализации — 4 байта.
  • Любая комбинация политик чтения, записи и выполнения — перекрытие ресурсов разрешено, но не рекомендуется.
  • Встроенная поддержка ограничений, настроенных по регионам, т. е. кэш/конвейер/инструкция/загрузка/сохранение.
  • Полная поддержка прерываний PLIC и CLIC – полностью настраиваемое отображение областей/прерывания
  • Полная поддержка безопасных обработчиков прерываний пользовательского режима, даже без расширения «N».
  • Полная поддержка векторных прерываний с малой задержкой, вытесняемых прерываний и режимов ожидания прерывания.
  • Встроенные ловушки и эмуляция для наиболее защищенных инструкций, т. е. CSR только для чтения.
  • Безопасная инфраструктура межзональной связи на основе обмена сообщениями — без общей памяти/буферов
  • Оболочка библиотеки C для выполнения в защищенном режиме — через механизм обработки исключений ECALL.
  • Подписанная загрузка работает с двухэтапной загрузкой и/или открытым ключом/корнем доверия/PUF–SHA-256/ECC.
  • Инструмент настройки командной строки, совместимый с любой операционной системой, поддерживающей Java 1.8.

среда разработки

  • Eclipse IDE, включая плагины MCU и GNU, а также отладку OpenOCD/JTAG/GDB в реальном времени.
  • AndeSight™ IDE с ICE или OpenOCD
  • SiFive FreedomStudio IDE, включая плагины MCU и GNU, а также отладку OpenOCD/JTAG/GDB в реальном времени.
  • Инструменты командной строки Linux и Windows (make, gcc, gdb и т. д.) — для встроенного Linux, Windows требуется Java 1.8.
  • Встроенный пакет поддержки плат для X300 (Rocket), Andes N(X)25, SiFive E31 и S51.

Системные Требования

  • 32-битный или 64-битный RISC-V ISA с расширением «S» или «U».
  • Защита физической памяти, совместимая с версией 1.10.
  • 4 КБ флэш-памяти и 1 КБ ОЗУ

Ресурсы

Ниже приводится соответствующая информация

Supongo que te gusta

Origin blog.csdn.net/weixin_45264425/article/details/132703332
Recomendado
Clasificación