Службы доверенной среды исполнения

21 мая 2024

ID kernel_methods_tee

Службы предназначены для передачи данных между доверенной средой исполнения (англ. Trusted Execution Environment, TEE) и общей средой исполнения (англ. Rich Execution Environment, REE), а также для получения доступа к физической памяти REE из TEE.

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

Методы службы tee.TEE (интерфейс kl.core.TEE)

Метод

Назначение и параметры метода

Потенциальная опасность метода

Dispatch

Назначение

Отправляет и принимает сообщения, передающиеся между TEE и REE.

Метод используется как в TEE, так и в REE.

Параметры

  • [in] msgIn – структура, содержащая запрос для TEE (при вызове метода в REE) или ответ для REE (при вызове метода в TEE).
  • [out] msgOut – структура, содержащая ответ от TEE (при вызове метода в REE) или запрос от REE (при вызове метода в TEE).
  • [out] rc – код возврата.

Позволяет процессу в REE получить ответ от TEE на запрос другого процесса в REE.

FreeToken

Назначение

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

Метод используется в REE.

Параметры

  • [in] token – значение уникального идентификатора сообщения.
  • [out] rc – код возврата.

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

Методы службы tee.TEEVMM (интерфейс kl.core.TEEVMM)

Метод

Назначение и параметры метода

Потенциальная опасность метода

MdlAllocate

Назначение

Создает заготовку буфера MDL для последующего добавления в нее физической памяти из REE.

Метод используется в TEE.

Параметры

  • [in] size – размер буфера MDL в байтах.
  • [in] prot – флаги, задающие права доступа к буферу MDL.
  • [out] handle – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует буфер MDL.
  • [out] rc – код возврата.

Позволяет исчерпать память ядра, создавая в ней множество объектов.

MdlAddFrame

Назначение

Добавляет регион физической памяти REE в заготовку буфера MDL, созданную методом MdlAllocate.

Метод используется в TEE.

Параметры

  • [in] handle – значение, двоичное представление которого состоит из нескольких полей, включая поле дескриптора и поле маски прав дескриптора. Дескриптор идентифицирует буфер MDL.
  • [in] pa – базовый адрес региона физической памяти.
  • [in] pages – размер региона физической памяти в страницах памяти.
  • [out] rc – код возврата.

Позволяет получить доступ к произвольному региону физической памяти REE из TEE.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!