Защита видеоконтента на платформе Apple

This post is also available in: Английский

Технология DRM компании Apple называется FairPlay. Ее внутренние принципы работы держатся в секрете и не могут быть лицензированы третьим лицам для использования в магазинах отличных от iTunes и на не Apple-устройствах. Обоснование данного решения можно найти в статье Стива Джобса:

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

По той же причине две наиболее востребованные технологии защиты контента Flash Access и Windows Media RMS не лицензируются.

У Apple имеется собственная реализациия технологии HTTP-стриминга, основанная на черновике стандарта IETF. Она не поддерживает DRM, о чем упоминается в документации Apple для разработчиков. Однако, медиа-файлы можно зашифровать и доступ к ключу для расшифровки может быть ограничен с использованием аутентификации HTTPS.

Медиа-файлы, содержащие сегменты потока могут быть зашифрованы по отдельности. Когда применяется шифрование, ссылки на соответствующие файлы ключей указываются в индексном файле, чтобы клиент мог получить эти ключи для расшифровки контента.

Если файл ключа указан в индексном файле, то он содержит ключ шифрования, который должен быть использован для расшифровки последующих медиа-файлов, указанных в индексном файле. В настоящее время HTTP Live Streaming поддерживает шифрование по алгоритму AES-128 с использование 16-байтных ключей. Подобный алгоритм шифрования поддерживает и Wowza.

Сегментировщик медиа-потока, который предлагает Apple, предоставляет возможность шифрования и поддерживает три варианта конфигурации шифрования.

Первый вариант позволяет указать путь к файлу ключей на диске. В этом режиме сегментировщик вставляет во все индексные файлы URL этого файла ключей и шифрует весь контент используя только этот ключ.

Во втором варианте сегментировщик генерирует случайным образом файл ключа, сохраняет его в указанном месте и ссылается на него в индексном файле. Весь контент шифруется одним этим случайно сгенерированным ключом.

Третий вариант указывает сегментировщику на то, что нужно генерировать новый файл ключей на каждые N файлов контента. Этот режим называется ротацией ключа. Каждая группа из N файлов шифруется с использованием другого ключа.

Файлы ключей можно отдавать по протоколу HTTP или HTTPS. Вы также можете защитить выдачу файлов ключей используя собственную схему аутентификации на основе сессий.