Создать анклав в модуле ядра Linux
Можно ли написать модуль ядра Linux и создать анклав в модуле. И как это сделать.
2 ответа
Нет, все операции анклава (выполняемые анклавами не ядром, создающим анклав) должны выполняться в режиме пользователя. Они потерпят неудачу, если выполняются в режиме ядра.
Тем не менее, есть научная статья, где они используют модуль ядра, который связывается с анклавом SGX пользовательского пространства через соединение Netlink.
Я не пробовал этого, но не вижу причин, по которым модуль ядра не сможет загрузить анклав. В любом случае вся "фактическая работа" по загрузке и инициализации анклава выполняется системным программным обеспечением. Вы даже должны иметь возможность вызывать PSW от Intel, чтобы выполнить работу за вас, как это делают пользовательские приложения.
Однако код, загруженный в анклав, должен находиться в режиме пользователя.