Назад | Перейти на главную страницу

Trusted Platform Module (TPM) версий 1.2 и 2.0 и количество выводов в заголовке

Я пытаюсь понять заголовок TPM на материнской плате, которая у меня есть, это Asrock "H170m Pro4". Она имеет TPMS1 Заголовок на материнской плате, и он имеет 9x2 контакта, 1 из которых отсутствует.

При поиске в Интернете я вижу 14-1-контактный модуль TPM, другие ссылки на 20-контактный. в чем дело?

вот ссылка на сайт производителя для конкретного mobo, для которого я пытаюсь получить чип TPM. Вы можете скачать руководство здесь: https://www.asrock.com/mb/Intel/H170M%20Pro4/

в H170M Pro4.pdf на страницах 6 и 7 он показывает TPMS1 расположение заголовка и на странице 22 говорится 17-контактный TPMS1 и что делает каждая булавка

  1. PCICLK нижний ряд крайний левый
  2. РАМКА нижний ряд идет вправо
  3. PCIRST #
  4. LAD3
  5. + 3в
  6. LAD0
  7. нет булавки
  8. + 3VSB
  9. GND нижний ряд правый крайний
  10. GND верхний ряд крайний левый
  11. SMB_CLK_MAIN
  12. SMB_DATA_MAIN
  13. LAD2
  14. LAD1
  15. GND
  16. S_WRDWN # это над пустым контактом # 7
  17. SERIRQ
  18. GND верхний ряд правый крайний

что меня беспокоит и смущает, так это использование TPMS1 и здесь на их сайте https://www.asrock.com/mb/spec/card.asp?Model=TPM-S%20Module ссылаясь на эти 3 вещи:

кто-нибудь может понять это?

TL; DR: Это куча мусора, и нет хорошего ответа.

Поскольку нет хорошо ответ, я хотя бы остановлюсь на некоторых нюансах вокруг вопроса: в чем дело?

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

Увы, я могу ответить на этот вопрос, но (как уже упоминалось) это поможет решить мета-проблему: «в чем дело?»


Фон TPM

Чтобы догнать будущих читателей, о чем вообще идет этот пост, давайте рассмотрим основы:

В первую очередь, Модуль доверенной платформы (также известный как TPM) - это реализация спецификации, созданной и поддерживаемой Группа доверенных вычислений.

Цель TPM - действовать в качестве вторичного вычислительного устройства для выполнения определенных операций полностью независимо от основного процессора. Связь между главным процессором и TPM в общем-то происходить в течение Низкое количество контактов (LPC) интерфейс или (совсем недавно) Последовательный периферийный интерфейс¹ (SPI).

Существуют две основные версии спецификации 1.2 и 2.0. Спецификация 2.0 была (более или менее переписана с нуля²).

В спецификации 2.0 есть четыре определенные области:

  1. Архитектура:

TPM 2.0 Часть 1 содержит подробное описание свойств, функций и методов TPM. Если не указано иное, данное повествовательное описание носит информативный характер. TPM 2.0 Часть 1 содержит описания некоторых процедур обработки данных, которые используются в этой спецификации. Нормативное поведение этих подпрограмм находится в коде C в TPM 2.0, часть 3 и TPM 2.0, часть 4. Алгоритмы и процессы, описанные в этом TPM 2.0, часть 1, могут быть сделаны нормативными посредством ссылки из TPM 2.0, часть 2, TPM 2.0, часть 3 или TPM. 2.0 Часть 4. 2. Конструкции -

TPM 2.0 Part 2 содержит нормативное описание констант, типов данных, структур и объединений для интерфейса TPM. Если не указано иное: (1) все таблицы и код C в TPM 2.0, часть 2 являются нормативными, и (2) нормативное содержание в TPM 2.0, часть 2 имеет приоритет над любой другой частью этой спецификации.

  1. Команды -

TPM 2.0 Часть 3 содержит: (1) нормативное описание команд, (2) таблицы, описывающие форматы команд и ответов, и (3) код C, который иллюстрирует действия, выполняемые TPM. В TPM 2.0, часть 3, таблицы команд и ответов имеют наивысший приоритет, за ними следует код C, за которым следует повествовательное описание команды. TPM 2.0 Part 3 подчиняется TPM 2.0 Part 2. TPM не нужно реализовывать с использованием кода C в TPM 2.0 Part 3. Однако любая реализация должна обеспечивать эквивалентные или, в большинстве случаев, идентичные результаты, наблюдаемые в интерфейсе TPM или продемонстрировано посредством оценки. 4. Вспомогательные программы -

TPM 2.0 Часть 4 представляет C-код, который описывает алгоритмы и методы, используемые кодом команды в TPM 2.0 Part 3. Код в TPM 2.0 Часть 4 дополняет части 2 и 3, чтобы предоставить полное описание TPM, включая вспомогательную структуру для код, выполняющий командные действия. Любой код TPM 2.0 Part 4 может быть заменен кодом, который обеспечивает аналогичные результаты при взаимодействии с кодом действия в TPM 2.0 Part 3. Поведение кода TPM 2.0 Part 4, не включенного в приложение, является нормативным, как это наблюдается на интерфейсах с TPM. 2.0 Часть 3 кода. Код в приложении предоставляется для полноты, то есть для полной реализации спецификации.

Мысленно я предпочитаю сопоставить их с четырьмя основными аспектами функционирующего TPM³:

Программное обеспечение, работающее на основном процессоре, которое использовать TPM (например, Bitlocker, OpenSwan и т. д.)

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

В Интегральная схема предоставление встроенной системы, которая реализует необходимое оборудование для соответствия архитектуре TPM 2.0 Часть 1 (например, Optiga линейка систем на кристалле от Infineon или аналогичных устройств от ST или Nuvoton.

Наконец, прошивка работает на интегральной схеме. С 2020 года это обычно «TSS» (программный стек TPM2). Это может быть libre / open source (как в случае с эталонной реализацией Штаны так же как TPM2-TSS и Microsoft TSS.MSR) или проприетарных реализаций.

Так в чем же дело?

:: вздох :: в Лучший В случае сценария у нас остались псевдостандарты. В устройствах TPM 1.2 многие производители реализовали 20-контактный (19 контактов с 1 фиксирующим штифтом) или 14-контактный (13 контактов с 1 фиксирующим штифтом) разъем. Выбор того, как это реализовать, оставался за комбинацией поставщика «платформы» (например, MSI, Asus, SuperMicro и т. Д.) И разработчика оборудования TPM (см. Список выше).

Этот уровень выбора был сохранен с внедрением TPM 2.0, с добавлением того, что по мере того, как безопасность платформ становится все более важной и появляется больше технологов с опытом (и мнениями) о как необходимо использовать TPM, поскольку количество вариаций растет.

Посмотрим на документ "TPM 2.0: краткое введение"опубликовано Trusted Computing Group. В этом документе автор отмечает:

Таким образом, TPM может быть полностью интегрированным и не обслуживаемым в полевых условиях, доступным через съемный контактный разъем или через 100% программное обеспечение.

Теперь что касается распиновка из 14-контактного варианта мне удалось найти несколько изображений с общими распиновками (поэтому я называю это псевдостандартом), например:

и

Конечно, с другой стороны ... причина, по которой я даже здесь, заключается в том, чтобы выяснить распиновку для SuperMicro AOM-TPM-9670, который основан на Infineon 9670 ... с 10-контактным разъемом.

Я ломал голову над 10-контактный реализации, пока я не увидел это на странице 288 части первой спецификации реализации TPM 2.0:

TPM может иметь один или несколько контактов ввода / вывода, которые вводят или выводят логическое состояние. TPM2_NV_Read и TPM2_NV_Write могут использоваться для доступа к значению GPIO с использованием обычных элементов управления доступом. Спецификация платформы определяет сопоставление индексов NV с индивидуальным вводом-выводом общего назначения (GPIO). Резервирование TPM какого-либо хранилища NV для указанного GPIO зависит от платформы.

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

Примечания / Цитаты

¹: Вариант SPI («улучшенный последовательный периферийный интерфейс» или «eSPI») был разработан Intel как преемник LPC.

²: От "Практическое руководство по TPM 2.0"(Глава 1: История TPM):

Говорят, что лучшие проекты возникают, когда архитекторы создают проект, а затем, изучив все проблемы, с которыми они могут столкнуться, отбрасывают первый дизайн и начинают заново со второго. TPM 2.0 дал архитекторам возможность сделать это. Однако им все же нужно было убедиться, что возможности для разработки программного обеспечения, которые были предоставлены дизайном TPM 1.2, не были потеряны с новой архитектурой.

Артур В., Челленер Д., Голдман К. (2015) История TPM. В: Практическое руководство по TPM 2.0. Апресс, Беркли, Калифорния. https://doi.org/10.1007/978-1-4302-6584-9_1

³: Этот пример не работает в случае «виртуальных» TPM, подобных тем, которые реализованы в QEMU, а также на некоторых мобильных телефонах и других встроенных устройствах. Для получения дополнительной информации о виртуальных TPM ознакомьтесь с этим документом 15-го симпозиума по безопасности USENIX: vTPM: виртуализация доверенного платформенного модуля.