Как реализовать динамическую загрузку внутри анклава Intel SGX?

Потому что никакая стандартная библиотека не может быть использована внутри анклава Intel SGX. Как реализовать динамическую загрузку внутри анклава? Например, у меня есть функции foo1() а также foo2() в файле с расширением .so.

Мне нужно динамически загрузить функцию внутри анклава. Затем основная функция вне Enclave может вызвать загруженную функцию.

App.cpp

status = ecall_dynamicLoading(enclave_id,func);
// func is a function pointer loaded from .so
// for example, func = &foo1;

Enclave.cpp

ecall_dynamicLoading(func){
(*func)(/* some inputs */);
}

Является ли это возможным?

Спасибо.

-2

Решение

Согласно собственной документации Intel, вы не можете загрузить shared_object (.so) внутри ENCLAVE. Вам нужно превратить его в статическую библиотеку.

https://software.intel.com/en-us/node/708963
https://software.intel.com/en-us/node/708964

Даже тогда статическая библиотека имеет много ограничений.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]