Linux 6.3 будет поддерживать CRB TPM2 от Pluton на процессорах AMD Ryzen

Если все пойдет по плану, устройство TPM2, найденное в процессоре безопасности Microsoft Pluton на последних SoC AMD Ryzen, будет поддерживаться Linux 6.3.

Процессор безопасности Microsoft Pluton вызывал беспокойство у многих энтузиастов Linux/open-source из-за «черного ящика» и множества неизвестных вокруг предоставляемого корня доверия, безопасной идентификации, безопасной аттестации и криптографических услуг, предлагаемых Pluton. Pluton был найден в SoC AMD Ryzen, начиная с мобильной серии 6000, но не был найден в серверных процессорах EPYC.

Обзор архитектуры безопасности Pluton от Microsoft.

TPM2

Эксперт по безопасности программного обеспечения Мэтью Гарретт (Matthew Garrett) работает с Pluton с момента его появления и в последнее время работает над тем, чтобы его устройство TPM2 было открыто в Linux. Буфер командного ответа (CRB) TPM 2.0 — это стандартизированный интерфейс ядра ОС для связи с модулем доверенной платформы, который работает независимо от архитектуры/TPM. Но в случае с Microsoft Pluton для обеспечения работы необходимы некоторые изменения в драйвере ядра Linux «tpm_crb».

Гарретт объяснил в патче Linux TPM CRB, включающем поддержку Pluton:

«Pluton — это интегрированный процессор безопасности, присутствующий в некоторых последних моделях Ryzen. Если он включен, он представляет два устройства — устройство MSFT0101 ACPI, которое в целом является реализацией буфера командного ответа TPM2, и устройство MSFT0200 ACPI, функциональность которого я еще не изучил подробно. Этот патч пытается добавить поддержку только для устройства TPM.

Здесь есть несколько моментов, которые необходимо учесть. Во-первых, таблица TPM2 ACPI использует ранее неопределенный идентификатор метода запуска. Формат таблицы включает 16 байт стартовых данных, что соответствует одному 64-битному адресу для стартового сообщения и одному 64-битному адресу для ответа о завершении. Второе — таблицы ACPI на Thinkpad Z13, на котором я это тестирую, не определяют никаких окон памяти в _CRS (или, точнее, есть два пустых окна памяти). Эта проверка не кажется строго необходимой, поэтому я ее пропустил.

Наконец, похоже, что чип нужно явно просить перейти в состояние готовности при каждой команде. Если этого не сделать, то если две команды будут отправлены подряд без перехода в состояние ожидания/готовности между ними, то будет казаться, что все работает нормально, но ответом будет просто исходная команда. Я работаю без документации, поэтому не уверен, действительно ли это требуемое поведение или я что-то упустил, но в результате чип работает надежно».

Патч, добавляющий эту поддержку, был подхвачен сегодня веткой linux-tpmdd.git «next», что делает этот материал частью изменений драйвера устройства TPM, запланированных на предстоящий цикл Linux 6.3.

Источник: https://www.phoronix.com/

Подпишись на телеграм канал Игры в Linux - получай все обновления сайта на смартфон сразу после публикации!
Константин Дьяченко

Автор и основатель сайта Игры в Linux с 2010 года. Пользователь Linux с 2002 г. Старый злобный сисадмин.

Если Вам интересна тематика сайта и вы хотите каким-то образом поучаствовать в жизни сайта и его сообществ - напишите мне через форму обратной связи в разделе о сайте или соцсети.

Игры в Linux
Добавить комментарий

Поля email и сайт не являются обязательными. Оставляя комментарий вы соглашаетесь с политикой конфиденциальности сайта.