Генерация ПЦР TPM в Windows
У меня есть машина с TPM, и я использую Windows 7 на нем. У меня есть кусок кода, и я хочу запустить его и получить значения регистра PCR в то время. Как я могу это сделать?
Во-вторых, если я запускаю тот же код на другом компьютере, могу ли я получить те же значения ПЦР? Если я не могу, то есть ли вообще его получить?
-------------- Редакция ниже ----------------------
Сценарий следующий: у меня есть исполняемый код, написанный на C++ (например, простая карточная игра). Я хочу запустить этот файл на моем компьютере. Я хочу получить значения ПЦР. Платформа Windows имеет 24 регистра PCR. Теперь в каком регистре есть хэш моего запущенного файла (игры)?
1 ответ
Без подробной информации я могу просто дать общий ответ. Я буду редактировать его, если вы предоставите более подробную информацию.
Чтение ПЦР
Существует низкоуровневый Windows API, который вы можете использовать. Посмотрите на этот вопрос и его ответ: Управление TPM с помощью C#.
В основном посмотрите на документацию базовых сервисов TPM (TBS). Вам нужно будет самостоятельно выполнить команду чтения.
Если у вас есть приложение Java, используйте JSR321 или jTSS.
Есть экспериментальный порт TrouSerS для Windows.
Сравнение ПЦР
TPM на платформе ПК будет иметь 24 PCR. Почти во всех случаях набор из 24 не будет одинаковым на двух разных машинах. Как правило, вы не можете изменять его значения, особенно "нижние", представляющие измерения прошивки. Я думаю, что вы ищете информацию о том, находится ли удаленный компьютер в состоянии доверия или нет. Это Святой Грааль. Получите некоторую литературу по доверенным вычислениям и найдите в Интернете "доверенные вычисления + аттестация".