Недавно я писал про изменение политики лицензирования популярного медиаплеера VLC. Крупным контент-провайдерам подобный способ решения проблемы не подходит, потому что для воспроизведения защищённого медиаконтента в браузере им приходится использовать разнообразные проприетарные плагины. Это не очень хороший вариант, но другого пока нет: в современных браузерах поддержка DRM (Digital Rights Management) отсутствует. На прошлой неделе Google, Microsoft и Netflix внесли на рассмотрение проект нового стандарта — Encrypted Media Extensions. Он позволит включить слой DRM в HTML5.
Речь идёт о создании универсального инструментария и API для подключения модулей, в которых реализуют механизмы авторизации, дешифровки контента и т.д. Encrypted Media Extensions представляет собой расширение интерфейса HTMLMediaElement, определяющего доступные для тегов audio и video свойства и методы. Подобный подход не так уж сильно отличается от использующихся сейчас плагинов. Создавать полноценную платформу для воспроизведения защищённого при помощи механизмов DRM контента никто не собирается — модули будут предоставлять контент-провайдеры. Впрочем, головной боли для разработчиков после внедрения стандартизированных механизмов станет меньше, а контент можно будет встраивать в страницы стандартными средствами HTML5. Это положительный момент.
Отрицательных последствий тоже навалом, если судить по бурной дискуссии в рассылке W3C HTML, вызванной предложением Google, Microsoft и Netflix. Сразу возникли вопросы по поводу этичности подобного подхода (мне трудно понять, какие тут проблемы — мы ведь подключаем к браузерам проприетарные плагины, а модули в смысле этики мало чем от них отличаются), готовности технологии к стандартизации и, главное, её устойчивости ко взлому.
Представители Mozilla сразу заинтересовались возможностью реализации Encrypted Media Extensions в открытых браузерах. Речь в частности шла о том, что злоумышленники смогут «пропатчить» программный код и сбрасывать контент на диск в обход системы защиты. Марк Уотсон (Mark Watson) из Netfix ответил, что в браузере с открытым кодом реализовать по-настоящему надёжную защиту невозможно, и предложил решить проблему на уровне аппаратного обеспечения, которое будут использовать все браузеры. Реакция Mozilla на подобное предложение была совершенно логичной: «Такой подход гипотетически возможен для мобильных и встраиваемых решений, но неясно, что он означает для настольных систем». Ещё один участник проекта Mozilla, Роберт O’Каллахан (Robert O’Callahan), опасается возникновения независимых союзов контент-провайдеров и разработчиков браузеров. Он предупреждает сообщество об опасности сегментации стандартов.
Мне кажется, что представитель Netfix глубоко заблуждается. Инициаторы идеи предлагают заменить «зоопарк» плагинов средствами HTML5, проприетарными модулями для авторизации/расшифровки и неким стандартным механизмом их подключения. Использовать такой подход можно и в открытых, и в закрытых браузерах с одинаковым успехом. Расшифрованный поток данных в любом случае воспроизводится штатным проигрывателем браузера (это главное отличие от существующих сегодня схем) и может быть сохранён на диск, и никакая аппаратная защита и закрытый код от этого не спасут. Бинарные «хаки» (а то и просто расширения для перехвата потока при использовании тегов audio/video) для браузеров напишут очень быстро в любом случае.
С другой стороны, использующиеся сегодня механизмы также не являются надёжными. Главная проблема DRM заложена на уровне архитектуры и в принципе нерешаема: шифрованный контент и средства его расшифровки находятся у потенциального злодея (потребителя). Для некоторых мобильных и встраиваемых платформ такой вариант подходит (тут представители Mozilla правы), но если говорить о десктопе — это в любом случае защита от честного человека. Единственный вариант — применить в настольных системах те же методы, которые используются в мобильных решениях, то есть разрешить запуск только подписанных приложений из благонадёжного источника. Это сильно ограничит пользователей свободного ПО и, боюсь, именно по этому пути пытаются направить развитие отрасли разработчики проприетарных программ и контент-провайдеры. Надеюсь, что у них ничего не выйдет. Тем более что «мобильный» подход тоже не даёт полной гарантии, а только делает процесс взлома более трудоёмким.