Возможно ли запрограммировать доверенный платформенный модуль Intel

StackOverflow https://stackoverflow.com/questions/8412868

Вопрос

Мне интересно, возможно ли запрограммировать TPM ( http://en.wikipedia.org/wiki/Trusted_Platform_Module ) присутствует в большинстве чипов Intel таким образом, чтобы:

- decide what to store in the persistent memory
- decide which cryptographic algorithms to implement.

Очевидно, что его не следует перепрограммировать, как только он начнет работать (вы знаете, верно ли это утверждение?).

Это было полезно?

Решение

Поведение TPM определяется спецификациями , выпущенными Trusted Computing Group. TPM должен вести себя точно так, как указано, поэтому вы не можете изменить функциональность правильно реализованного TPM. Производители TPM имеют ограниченные возможности по обновлению своих продуктов после доставки. Например, Infineon предоставляет обновления прошивки для своих устройств.

TPM Intel могут отличаться. Некоторые наборы микросхем включали эмулируемый / программный TPM вместо реального аппаратного TPM. Эти доверенные платформенные модули можно обновить с помощью обновления BIOS. Но и в этом случае обновление должно быть предоставлено Intel. Последние платы, такие как DQ67SW, имеют отдельные аппаратные TPM, не производимые Intel.

Итак, ответ на ваш второй вопрос: нет, вы не можете программировать / определять криптографические алгоритмы , которые использует TPM.


Относительно вашего первого вопроса: да, вы можете в какой-то мере определить, что хранить в постоянном хранилище. Эта область памяти называется энергонезависимой памятью или NV . Сначала необходимо определить пространство с помощью команды TPM_NV_DefineSpace . Впоследствии вы можете читать и писать из / в расположение, используя TPM_NV_ReadValue и TPM_NV_WriteValue . Определение резервирует заданный объем памяти в NV, а также устанавливает атрибуты безопасности этого местоположения. Эти команды представляют собой низкоуровневые команды TPM, поэтому настоятельно рекомендуется использовать Trusted Software Stack (TSS) для взаимодействия с TPM. Вы можете использовать jTSS с jTpmTools или TrouSerS .

Некоторые примечания относительно NV:

  • В NV очень мало места, но точное количество зависит от поставщика (обычно менее 5 КБ). Минимальный объем для платформы ПК составляет 2048 байт.
  • Доверенный платформенный модуль является пассивным устройством и не может ничего делать без выданной ему команды. Если вы хотите сохранить что-то в TPM, у вас должен быть активный компонент (BIOS, программное обеспечение, набор микросхем, ЦП), который выдает эти команды.
  • Даже большинство криптографических ключей не хранятся в TPM. Существует иерархия ключей, и в TPM хранится только корневой ключ (корневой ключ хранилища - SRK). Все остальные ключи хранятся снаружи в зашифрованном виде.

Другие советы

Доверенный модуль не предназначен для программирования.Он имеет фиксированный набор поддерживаемых алгоритмов.Код хранится в ПЗУ (или, если это не так, он хранится в EEPROM, который находится внутри несколько защищенного от несанкционированного доступа пакета, и вы не можете перезаписать его).

TPM определяет различные административные роли.При первом использовании вы настроите административные пароли (или ваше программное обеспечение сделает это за вас, и в этом случае вам следует тщательно создать резервные копии этих паролей).Если вы не уверены в состоянии TPM на момент его получения, вы можете сбросить его до “заводских настроек по умолчанию" (очистив все существующие ключи и учетные данные).;это называется очисткой TPM и обычно выполняется из BIOS.

Вы найдете обзор различных учетных данных, хранящихся и используемых TPM, в профили учетных данных.В дополнение к ключам, которые являются частью обычного жизненного цикла, вы можете импортировать свои собственные ключи и создавать неэкспортируемые ключи с помощью RNG TPM.

Существует стандарт Профиль защиты TPM.Я не знаю, оценивался ли TPM Intel с учетом этого.На рис. 1 представлена диаграмма жизненного цикла TPM, которая показывает, когда ключи могут быть сгенерированы.

На практике вы, вероятно, будете взаимодействовать с TPM через Брюки (полностью открытый исходный код TPM API) или ограниченным способом через Bitlocker в Windows.

Да, микросхему TPM можно использовать именно для такого рода операций и многих других.

Стек TrouSerS - это реализация стека доверенного программного обеспечения с открытым исходным кодом, необходимая для использованияЧип TPM надежно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top