Как intel SGX проверяет библиотеку анклавов перед запуском?

Я изучил и обнаружил, что анклав подписан закрытым ключом, и во время запуска анклавов он будет проверен с использованием открытого ключа, который поставляется вместе с библиотекой анклавов.

Мой вопрос заключается в том, как доверять бинарному файлу анклавов, когда он поставляется с открытым ключом.

Между ними кто-то может изменить код и снова подписать его своим закрытым ключом и прикрепить свой открытый ключ к SIGSTRUCT.

0 ответов

Вы правы. Код анклава может быть легко обработан, и злоумышленник может создать новую подпись. Платформа-исполнитель не распознает это вмешательство, так как подпись верна для (подделанного) кода. Платформа может иметь некоторый список разрешенных открытых ключей, но в модели угроз SGX платформа в любом случае является состязательной.

Проблема решается с помощью удаленной аттестации. Надежное аппаратное и программное обеспечение генерирует квоту для созданного анклава, которая содержит его значение измерения (MRENCLAVE), а также хэш подписывающего лица (MRSIGNER). С этими значениями удаленный верификатор может гарантировать, что анклав был создан правильно и не был подделан.

Следовательно, до (успешной) удаленной аттестации анклаву нельзя доверять (с секретами).

Другие вопросы по тегам