Было много споров вокруг идеи, что W3C собирался создать стандарт, который, казалось, вводит DRM в HTML. По большей части это было связано с желательностью DRM и такими проблемами, как свобода Интернета, но как насчет технологии?
Моральные, экономические и политические аргументы за и против W3C, очевидно, создавшего стандарт DRM в сети, были интересными, но в основном довольно бессмысленными. Дело в том, что независимо от того, какую позицию занимают такие организации, как FSF или «известные» люди, такие как Ричард Столлман, крупные компании собираются создавать механизмы, обеспечивающие соблюдение DRM, и единственный реальный вопрос заключается в том, следует ли его стандартизировать. . W3C может быть осужден как предатель этики «свободной сети», но ее задача — обеспечить стандартизацию сети, а не обеспечивать ее свободу.
Проще говоря, если бы не было веб-стандарта для DRM, тогда не только были бы проприетарные веб-решения, но и мы бы создавали приложения, которые выполняли бы ту же работу, и это удалило бы целый класс трафика из Интернета.
С точки зрения программиста, гораздо лучше иметь стандарт DRM, чем беспорядок проприетарных схем.
Проект предложения W3C Encrypted Media Extensions (EME) теперь доступен для чтения и комментариев. Интересно то, что он указывает только API JavaScript для подключения к модулям расшифровки контента (CDM), которые выполняют фактическую работу по расшифровке. Основная идея состоит в том, чтобы включить дополнительные функции в стандартные теги Audio и Video, которые позволяют обнаруживать зашифрованные потоки и запрашивать ключи, чтобы CDM мог выполнять дешифрование.
Если вы читаете спецификацию, не дайте себя обмануть, думая, что схема «ясного ключа» предлагается в качестве реального протокола обмена ключами — она предназначена только для отладки и удовлетворения потребности в открытой спецификации. Обмен ключами в открытом виде упростит взлом любой DRM или криптосистемы.
Стандарт определяет взаимодействие с CDM; не то, что делает или как работает CDM. В этом отношении CDM очень похож на проприетарный плагин, хотя и со стандартным интерфейсом для HTML-страницы. В самом прямом смысле CDM — это просто подключаемый модуль под другим именем и другим интерфейсом.
Даже не указано, что именно CDM делает со своими расшифрованными данными. Он может вернуть на страницу дешифрованный носитель или обработать его самостоятельно, используя средства хост-системы. Возврат данных на веб-страницу не является особенно безопасным, поскольку было бы довольно легко захватить данные и создать копию носителя без DRM. Рендеринг напрямую на оборудование кажется наиболее безопасным, поскольку любой захват должен выполняться на системном уровне. Это, конечно, долгосрочная проблема любого DRM. Если он позволяет вам получить доступ к средствам массовой информации, то то, к чему вы можете получить доступ, можно скопировать — это характерно для цифровой системы.
Кроме того, CDM может выполнять любые проверки, о которых он заботится, перед расшифровкой носителя. Например, он может настаивать на использовании определенного браузера, операционной системы и даже оборудования, не говоря уже об аутентификации пользователя. Это означает, что систему можно использовать для ограничения воспроизведения мультимедиа. Маловероятно, что вы или я сможем создать веб-страницу, которая воспроизводит контент DRM, даже если у пользователя есть учетные данные для доступа к указанному контенту. Также вероятно, что игроки с открытым исходным кодом и даже операционные системы будут заблокированы от доставки мультимедиа из-за небезопасности, которую они привносят в игру. И если вам нужно было создать надстройку, которая сделала бы что-либо для обхода DRM, вы можете быть уверены, что следующая версия CDM обнаружит это и откажется от воспроизведения.
В результате EME не представляет особого интереса для большинства программистов и в лучшем случае просто позволяет интегрировать проприетарные механизмы доставки в то, что выглядит как Интернет. Пользователь сможет переходить к мультимедийному контенту DRM через Интернет, но весьма вероятно, что расшифрованный носитель будет доставлен CDM.
Google уже включил EME в Chrome и Chrome OS. Netflix в настоящее время создает альтернативу Silverlight на основе EME и Web Crypto API.