Наверное всё, что нужно знать про DRM, защиту контента и продвинутые водяные знаки.
Часть I, про DRM
Главная проблема для Netflix'а и других стримингов — слив контента на торренты, в общий доступ. Ну и последующее снижение количества подписчиков сервиса.
Чтобы избежать плачевной ситуации онлайн-кинотеатры защищают контент всеми силами, используя DRM и водяные знаки по указке правообладателей. Сначала расскажу про DRM.
▍ Что такое DRM?
Digital Rights Management или же технические средства защиты авторских прав. Этот термин применим ко всем технологиям, которые используют владельцы авторских прав, чтобы ограничивать использование их цифровых материалов. Вот так вот.
У DRM три основные функции:
- шифрование,
- расшифровка контента и
- управление ключами этого шифрования.
Итак, когда видео приходит в браузер пользователя, оно упаковано с помощью DRM. Без ключа для расшифровки невозможно начать просмотр.
Например, в приложениях Netflix'а есть функция, которая позволяет сохранить сериал или фильм и посмотреть позже. Но, даже если эти файлы достать из кэша приложения, не получится их посмотреть в стороннем плеере.
Только те, у кого есть подписка, получают ключ шифрования. Отдельно от контента. Это главный принцип «управления лицензией» DRM.
▍ Поддержка DRM браузерами
Подписчики могут смотреть сколько угодно, когда угодно, где угодно — на любом устройстве с интернетом
Netflix
«Нетфликс любом экране» — главная идея сервиса и разработчики сделали возможным просмотр на огромном количестве устройств без ущерба для компании. Но среди всех платформ для просмотра, браузер самый важный.
Но с ним не все так просто. Поэтому разработали кучу технологий для просмотра DRM-защищенного контента в браузерах. Давайте пробежимся по истории и заглянем в будущее сервисов видео-стриминга, DRM и веб-стандартов.
▍ В прошлом — проприетарные DRM, требующие установки плагинов
С запуска онлайн-сервиса Нетфликса в 2000-х и в течении всего десятилетия большинство контентных сервисов использовали для защиты проприетарные DRM.
Их тогда было большое количество: Microsoft PlayReady, Google Widevine Classic, Adobe Access, Intertrust Marlin и INKA Entworks Netsync. Это разнообразие и стало большой проблемой, проблемой плагинов.
Предупреждение об опасности плагина ActiveX
ActiveX-плагины знакомы многим — их использовали в те времена многие компании для защиты любого контента в вебе. Эти традиционные проприетарные DRM принуждали пользователей устанавливать отдельные плагины в их браузеры, такие как Flash, чтобы видео и аудио оставалось в безопасности, но проигрывалось в браузере.
Во всяком случае, из-за проблем безопасности и прожорливости этих решений браузеры просто отказались от их поддержки.
▍ Сейчас — Мульти-DRM без плагинов
Итак, для решения проблем с плагинами в HTML5 создали несколько стандартов.
Например, стандарт расширений для зашифрованного контента (Encrypted Media Extension — EME) предоставляет API для веб-приложений, которое позволяет им взаимодействовать с DRM.
А с помощью стандарта EME и расширений источника медиа (Media Source Extension — MSE) браузеры обзавелись поддержкой проигрывания защищенного контента, что называется, из коробки.
К слову, почему Мульти-DRM? Все-таки разные браузеры все равно поддерживают разные DRM, а не одно общее решение. Поэтому все DRM объединяют одним словосочетанием.
Например, умирающий Internet Explorer и Edge поддерживали только PlayReady — DRM своих создателей Microsoft.
Точно также, Google Chrome поддерживает только модульную Google Widevine, а Эппловский Safari — только FairPlay. Но Firefox использует Google Widevine, также как и Хром.
Следовательно, чтобы предоставлять сервис пользователям с разными браузерами и ОС, нужно интегрировать сразу три DRM.
А ещё разные DRM используют разные технологии потоковой передачи данных: PlayReady и Widevine используют MPEG-DASH, тогда как FairPlay DRM — HLS (HTTP Live Streaming).
Естественно Мульти-DRM используют не только в браузерах, но и на смартфонах или смарт-тв.
Мульти-DRM работают на большинстве устройств современных юзеров. Но если надо поддерживать и старые устройства, на которых нет поддержки Мульти-DRM, придется использовать устаревшие форматы, как и делает Нетфликс.
▍ В будущем — единый контент с CMAF
Мульти-DRM позволяет браузерам работать с DRM без плагинов, но всё равно требуют упаковку в два формата потоковой передачи данных. Это уже что-то, но не достаточно.
Поэтому в новой спецификации MPEG-CENC Common Encryption, и защита PlayReady и защита Widevine DRM может применяться к контенту в формате DASH, но вот PlayFair от Apple требует HLS.
Чтобы разрешить проблему необходимости DASH и HLS вместе была создана Common Media Application Format (CMAF).
Картинка из блога Unified Streaming
Цель CMAF — это поддержка сразу всех браузеров и платформ использую одну технологию, формат и не требующую перекодирования. Но это требует обновления каждой спецификации, каждой DRM.
Большинство проблем уже разрешили Microsoft, Apple, Google и другие сочувствующие компании, объединившись.
Однако, из-за обилия разных девайсов у юзеров (например, старых андроид-смартфонов), которые всё еще не могут в CMAF нужно еще подождать, пока эту технологию станут использовать сервисы видеостриминга (OTT-services).
Помимо унификации форматов DRM, главное преимущество CMAF — супер-низкая задержка с помощью технологии Chunked Transfer Encoding (фрагментированная передача зашифрованного контента).
Низкая задержка — это очень важный фактор для стриминга видео в реальном времени. Таких как футбольные матчи, например. Недавно технология низкой задержки CMAF стала обсуждаемой темой у разработчиков из индустрии.
Больше прочитать про унификацию DRM можно в отдельной статье.
▍ Мульти-DRM — удобно, но сложно
Мульти-DRM сразу поддерживает все платформы, где можно что-либо смотреть и не требует установки — она намного более удобна для конечных юзеров технология, чем старые DRM.
Однако для провайдерам контента, которые используют DRM трудно интегрировать разные DRM и форматы потоковой передачи.
Для легкого внедрения Multi-DRM рекомендую использовать комплексные решения, которые объединяют в себе сразу несколько технологий защиты контента и предоставляют единый API с готовыми интеграции с энкодерами и видеоплеерами.
▍ А что делает Кинопоиск?
Я написал в поддержку Кинопоиска HD и узнал, что они используют Google Widevine. Это мне написали в поддержке, но, думаю, для Apple-юзеров FairPlay тоже есть.
Часть II, про криминалистику и невидимые водяные знаки
В первой части мы узнали про Мульти-DRM, которые используют сервисы видеостриминга, такие Netflix, для защиты контента от пиратов.
Так как DRM-защищенный контент распространяется зашифрованным — любой, у кого нет лицензии DRM (права на проигрывание) не может просмотреть видео. Это уже какая-то защита.
Но её не достаточно.
Так, приложение человека с купленной подпиской должно преобразовать защифрованный контент в проигрываемый, обычный. И во время проигрывания уже расшифрованного видео есть некоторые очевидные и не очень технические ограничения, которые делают возможным утечку.
Следовательно, добавлять водяные знаки нужно, чтобы понять, у кого всё-таки получилось слить видео на торренты и предотвратить дальнейшее распространение…
▍ Что такое эти невидимые водяные знаки?
В оригинале — Forensic Watermarking — криминалистические водяные знаки. Но я перевёл по смыслу.
Это такие же водяные знаки, как на фотостоках, только более продвинутые.
В то время как обычные цифровые водяные знаки предназначены для подтверждения авторских прав с помощью встраивания информации о владельце прямо в контент, невидимые водяные знаки содержать в себе информацию о самих потребителях контента для отслеживания утечек.
Когда правообладатель или стриминговый сервис находит незаконно распространенный контент, он найдет водяной знак и определит по нему, кто слил контент. А потом отключит подписку юзера и передаст дело в руки правоохранительных органов.
▍ Зачем нужны невидимые водяные знаки?
У вас могут оставаться вопросы по поводу реальной необходимости невидимых водяных знаков. На самом деле, даже когда контент защищен DRM, трудно полностью предотвратить утечку.
Да, содержимое передается клиенту по защищенному каналу, в зашифрованном виде. Клиентскому приложению в любом случае придется расшифровать контент для проигрывания.
На этой расшифрованной стадии контент всё-таки можно защитить, применив DRM аппаратного уровня (Hardware-level DRM), доверенное окружение воспроизведения (Trusted Execution Environment — TEE) и высоко-пропускную защиту цифрового контента (High-bandwidth Digital Content Protection — HDCP).
Но все равно, эти технологии уязвимы.
▍ Пираты используют внешние камеры
Традиционный способ слива кино — CamRip или же экранки.
По простому, когда смартфон или отдельную камеру просто записывают экран, поставив перед ним на штатив.
Аналогово-цифровое преобразование (Analog-to-Digital — A2D) aka один из видов пиратства, от которого защищают водяные знаки
Благодаря новым компактным камерам с высоким разрешением теперь можно записывать видео с тем же качеством, что и оригинал — в 4k. Уже не только 720p!
Вообще, для стриминговых сервисов экранки — намного бо́льшая проблема, чем для кинотеатров, где можно просто запретить записывать видео и звук. К слову, в кинотеатрах есть, в добавок к видеонаблюдению, определяющее блики камеры оборудование. И водяные знаки у каждого кинотеатра тоже свои.
▍ Пираты записывают с помощью программ
Итак, возможность проигрывания DRM-защищенного контента в браузерах — одна из главных для подписчиков и, следовательно, самих стриминговых сервисов.
Однако, поскольку некоторые браузеры используют программное DRM, можно легко сохранить видео DRM в виде обычного видео формата MOV или MP4 с помощью простых программ для записи экрана.
Но в случае PlayReady DRM в браузерах IE11 (Win 8.1) и Edge (Win 10) невозможно сделать скриншот или записать экран из-за запрета на это со стороны операционки. В Mac OS FairPlay Streaming DRM тоже не дает записать экран в Safari.
А вот Chrome и Firefox, несмотря на поддержку программной WIdevine DRM не защищают контент от записи экрана…
▍ Требование Голливуда
В 2007 году самые крупные студии Голливуда, включая Disney, Sony, Warner Bros., Universal и Paramount создали некоммерческую организацию, которую назвали Motion Picture Laboratories (MovieLabs), чтобы изучать технологии распространения и защиты от пиратства фильмов.
Motion Picture Laboratories, Inc.
Чтобы предотвратить нарушение авторских прав, спецификации MovieLabs требуют применения DRM на уровне железа и невидимых водяных знаков для особо-ценного контента. Например, фильмов в 4k UHD.
▍ Азы невидимых водяных знаков
Два главных условия для успешного применения таких водяных знаков — это, собственно, невидимость и стойкость.
- Невидимость. Различие между изначальным изображением и защищенным водяным знаком не должно быть видно.
- Стойкость. Водяной знак должен пережить атаки (перекодирование, обрезание, фильтрацию) и быть после распознаваемым.
Обычные видимые водяные знаки, очевидно, не подходят для этих целей. Голливуду же не нужно ухудшение картинки.
Чтобы обеспечить невидимость, водяные знаки вставляют так, что разница не заметна, создавая небольшой шум.
Слева — нетронутая Лена из плейбоя, справа — защищенная водяными знаками
Замечательный пример выше демонстрирует, что защищенное изображение должно быть совсем неотличимо от оригинала.
Слишком сильная устойчивость к атакам сделает невидимые водяные знаки видимыми. Применение максимальной защиты и при этом соответствующей требованиям — главная задача баланса в деле с невидимыми водяными знаками.
Следующее требование — уникальность водяных знаков, чтобы знать, кто пират. Для этого технология на основе сеанса кодирует информацию о пользователе водяными знаками и вставляет в контент.
Технологии, вставляющие водяные знаки на основе сессий можно поделить на серверные и клиентские.
- Клиентский вотермаркинг: водяные знаки вставляют приложения на устройстве пользователя. Для этого требуется минимум изменений на сервере, но есть недостаток в том, что для каждой платформы нужно программировать эту функциональность. Да и не особо надежно это.
- Серверный вотермаркинг: бэкенд видеосервиса вставляет водяные знаки. Преимущество здесь в том, что видеоплеер на клиенте никак не нужно программировать.
▍ Где обитают невидимые водяные знаки
Невидимый вотермаркинг используется на различных стадиях показа фильмов, сериалов и тому подобного контента. А проще говоря, почти всегда.
- На предпоказе: когда некоторым заинтересованным лицам дат посмотреть раньше всех. Иногда билеты на такие показы разыгрывают. Утечка будет очень не кстати в этом случае, поэтому превентивно вставляют защиту.
- В кинотеатре: как я заметил в кинотеатрах тоже не зевают. В фильм вставляют и время сеанса и информацию про сам кинотеатр.
- На стриминговом сервисе: тут водяные знаки с зашитыми данными о потребителе вставляют «в режиме реального времени», прямо в премиум-контент.
▍ Мульти-DRM и криминалистический вотермаркинг
Резюмирую. В то время, как DRM — технология для предотвращения халявного доступа к просмотру, вотермаркинг служит для отслеживания сливов уже заплатившими пользователями.
DRM и вотермаркинг дополняют друг друга и их нужно принимать вместе. Что и делают большинство онлайн-кинотеатров.
▍ Как Okko ловит пиратов
В подкасте Запуск Завтра, выпуск про то, как устроены онлайн-кинотеатры, там гости рассказали, как в Окко используют водяные знаки для отлова пиратов. Довольно простое объяснение (около 29 минуты), как именно кодируется информация «водяными знаками»:
Нужно некоторые зоны экрана, условно, квадратики пикселей сделать чуть менее интенсивными. Глаз это не увидит, но алгоритм, который будет анализировать видео, на 10 минутах заметит, что вот эти пиксели чуть-менее яркие, чем соседние.
Спасибо за прочтение!
Оригинал статьи был написан в 2019 году и, может быть что-то изменилось за эти несколько лет, но суть осталась прежней. А если вы знаете ещё что-то интересное про защиту контента, прошу в комментарии.
В любом случае, эти технологии нас окружают ежедневно и когда знаешь, хотя бы поверхностно, как они устроены, отпадают вопросы, почему так быстро разряжается батарея при просмотре в браузере на ноутбуке.
Надеюсь, вам было интересно. Изучайте, делитесь, комментируйте!
Автор: Никита Никонов