Функция библиотеки, которая реализует TPM2_MakeCredential - PullRequest
0 голосов
/ 09 февраля 2020

Для удаленной аттестации с использованием TPM на стороне сервера мне нужна функция TPM2_MakeCredential. Обратите внимание, что эта функция реализована в доверенном платформенном модуле, но она немного отключена, поскольку она не зависит от какого-либо состояния доверенного платформенного модуля, она полностью не имеет состояния (в отличие от функции TPM2_ActivateCredential - для запуска на стороне клиента - что критически зависит от ключей TPM ). Согласно документации, это предусмотрено для удобства. Это нормально, но проблема в том, что на сервере нет (и не требуется) доверенного платформенного модуля. Но я все еще хочу использовать функцию TPM2_MakeCredential.

К сожалению, мне не удалось найти библиотечную реализацию этой функции. Microsoft предлагает полноценный эмулятор TPM2.0, с которым могут взаимодействовать библиотеки TPM.MSR. Это работает, но требует запуска и управления процессом симулятора, который устанавливает сокеты et c. которого я бы предпочел избежать. Мне интересно, есть ли чистая реализация C / C ++ / C# в виде библиотеки? Я работал с различными решениями, но эта функция не является тривиальной для повторной реализации, и также нетривиально извлечь из симулятора.

1 Ответ

1 голос
/ 08 марта 2020

Оказывается, сама библиотека TPM.MSR предоставляет эту функциональность (реализована исключительно в самой библиотеке, не полагаясь на TPM) через функцию CreateActivationCredentials () в TpmPubli c.

...