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

Службы предназначены для передачи данных между доверенной средой исполнения (англ. 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.

В начало