У меня вопрос об измерении анклава в Intel SGX. Судя по исходному коду (и высокоуровневое описание в руководстве), похоже, что измерение включает в себя загрузку файла анклава (ELF или PE). Но результат загрузки различается на разных платформах, не так ли? Интересно, смогу ли я воспроизвести последовательные измерения анклава из двоичного файла анклава.
В частности, я рассматриваю следующие сценарии: Предположим, я хочу разослать enclave.signed.so
своим пользователям, и я хочу обслуживать запросы только из этого конкретного анклава. Думаю, я не могу просто сравнить локальные измерения на моей платформе с измерениями пользователей (которые могут быть включены в их аттестации). Что мне делать вместо этого?
По сути, вопрос сводится к тому, как криптографически связать двоичный код и измерение? Кажется, здесь возникает парадокс: предположим, что у меня есть двоичный файл анклава, единственный способ получить его измерения - это загрузить его. Однако процесс загрузки не доверяется (выполняется ОС)! Как я могу убедиться, что получаемое мной измерение действительно для этого конкретного двоичного файла? Я, должно быть, что-то неправильно понял, потому что это кажется критически важным для целостности SGX. Пожалуйста, поправьте меня.
Спасибо!