Мэтью Гаррет опроверг критику TPM, распространяемую Фондом СПО

Мэтью Гаррет (Matthew Garrett), разработчик ядра Linux, в 2013 году получивший премию Фонда СПО за вклад в развитие свободного ПО, пояснил суть работы современных технических средств защиты авторских прав (DRM), используемых видеосервисами. К написанию статьи Мэтью подтолкнули встречающиеся в обиходе предубеждения, связывающие DRM c использованием криптопроцессоров (TPM, Trusted Platform Module).

Заблуждение о связи DRM с TPM среди прочего упоминаются в проводимой Фондом СПО кампании «Defective by Design» («Дефектный из коробки»), направленной против DRM, в которой утверждается, что большинство крупных платформ потокового вещания используют TPM для дешифровки медиапотоков, специально выводя дешифровку из-под контроля пользователя. В качестве подтверждения подобного тезиса указано, что Microsoft настаивает, что только оборудование с TPM может работать под управлением Windows 11, и сделано это для помощи компаниям, занимающимся потоковым вещанием, в их попытке обеспечить воспроизведение контента только в жёстко ограниченных средах.

Мэтью Гаррет не знает, чем на самом деле руководствуется Microsoft, требуя TPM в Windows 11, и не уверен, что это оправданно. При этом, так как его текущая работа непосредственно связана с написанием кода, использующего TPM, но считает, что наличие TPM позволяет реализовать ряд полезных функций безопасности и при наличии выбора он бы выбрал компьютер с TPM. По мнению Гаррета заявление Фонда СПО на 100% неверно и он не знает ни одной платформы потокового вещания, использующей TPM. Существует аппаратная DRM, которую медиакомпании используют для ограничения пользователей, но она реализуется на на базе TPM, а на стороне графического процессора.

Существуют три основные реализации DRM:

  • Widevine — принадлежит Google, используется в Android, Chromebook и некоторых других устройствах.
  • Fairplay — реализация Apple, используется для Mac и iOS.
  • Playready — реализация Microsoft, используется в Windows и некоторых аппаратных устройствах потокового вещания и телевизорах.

Как правило, данные реализации поддерживают несколько уровней функциональности, применяемые в зависимости от возможностей устройства, на котором работают, — от программной реализации всех функций DRM до аппаратной обработки. Провайдеры потокового вещания могут выбирать, какой уровень функциональности и качества предоставлять в зависимости от уровня, реализованного на клиентском устройстве, и обычно для контента 4K и HDR используется аппаратный DRM. При любом сценарии системы потокового вещания передают клиенту зашифрованный контент, а стек DRM расшифровывает его, прежде чем сжатые данные могут быть декодированы и воспроизведены.

При использовании программных реализаций DRM расшифрованный материал размещается в области, к которой имеет доступ операционная система. Таким образом, пользователь может перехватить расшифрованный поток, что сводит на нет весь замысел защиты. Поставщики пытаются усложнить эту задачу, максимально завуалировав свой код, а в некоторых случаях переместив часть функциональности на уровень ядра. Но это не помогает и практически все программные DRM хотя бы в некоторой степени взломаны, а копии фильмов довольно быстро оказываются доступны через Bittorrent после выхода. Именно поэтому видео высокого качества, как правило, доступно только клиентам, поддерживающим аппаратный DRM.

Аппаратные реализации DRM отличаются между собой. На устройствах ARM расшифровка производится в доверенной среде исполнения (TEE, Trusted Execution Environment), такой как TrustZone от ARM. Выполняемый в TEE код полностью изолирован от операционной системы. При помещении кода DRM в TrustZone, криптографические операции выполняются в области памяти, к которой у операционной системы нет доступа, что делает невозможным описанный ранее захват картинки.

На системах x86 TEE не унифицирован (Intel продвигал SGX, но он больше не применяется в потребительских устройствах), поэтому вместо него эта задача обычно переносится на сторону GPU. Из ранее упомянутых реализаций DRM только Playready предоставляет аппаратный DRM на системах x86, и не удалось найти публичной документации о том, какие функции должны предоставлять драйверы для работы подобного DRM.

В общем виде работа аппаратного DRM сводится к следующим операциям: Во время согласования сеанса DRM между клиентом и платформой потокового вещания, ключи шифрования контента формируются с использованием ключей, хранимых в GPU или TEE, и недоступных из операционной системы. После расшифровки данные декодируются и отображаются. Декодирование производится на стороне GPU или в TEE, при этом даже в реализациях, которые используют TEE для криптографии, фактическое декодирование потока может происходить на стороне GPU).

Основное отличие аппаратного DRM в том, что декодированный видеоматериал по-прежнему хранится в оперативной памяти, к которой операционная система не имеет доступа, а GPU подставляет его в финальный вывод. Именно поэтому, если сделать снимок экрана браузера, воспроизводящего видео с использованием аппаратного DRM, на изображении будет просто чёрное окно.

Иногда TPM называют TEE, и в некотором смысле так оно и есть, за исключением того, что TPM предоставляет строго определённые функции — пользователь не может запустить произвольный код на TPM и ему доступна только та функциональность, которую предоставляет TPM. Возможности расшифровывать данные с помощью ключей, привязанных к TPM, недостаточно, так TPM получает данные от операционной системы и не может взаимодействовать с GPU.

Операционная система может передавать TPM зашифрованные данные и получать обратно расшифрованный вариант, но это мало чем отличается от программного DRM, так как весь смысл аппаратной защиты в том, чтобы расшифрованная версия потока никогда не была видна операционной системе. Кроме того, чипы TPM сами по себе медленные и маловероятно, что на рынке есть TPM, способный расшифровать поток 1080p в реальном времени, не говоря о потоке 4K.

То, что Фонд СПО сосредоточился на TPM, не только технически неверно, но и свидетельствует о непонимании того, что на самом деле происходит в индустрии. Пока Фонд СПО фокусировал внимание на TPM, производители GPU спокойно внедрили необходимые для DRM технологии без каких-либо жалоб со стороны данной организации. Компания Microsoft с энтузиазмом участвовала в создании аппаратной DRM в Windows, в результате чего пострадали свободы пользователей, но аппаратная DRM на основе Playready прекрасно работает на оборудовании, не оснащённом TPM, и будет продолжать работать.



Источник: http://www.opennet.ru/opennews/art.shtml? num=62505

©  OpenNet