DRM пояснено: як Netflix запобігає завантаженню контенту

Цифрове управління правами (DRM) — це системний підхід для захисту цифрового контенту від несанкціонованого розповсюдження. Netflix використовує багатошарову стратегію DRM для забезпечення того, щоб відеоконтент залишався зашифрованим, контрольованим доступом і важким для незаконного завантаження. Нижче наведено технічний опис процесу та архітектури:

Покроковий робочий процес

Шифрування контенту

  • Попередня обробка: Перед завантаженням Netflix шифрує весь контент за допомогою шифрування AES-128/256. Кожне відео ділиться на невеликі частини (наприклад, 2–10 секунд) для адаптивного потоку (DASH/HLS).
  • Генерація ключів: Для кожного відео генерується унікальний Ключ шифрування контенту (CEK).
  • Зберігання: Зашифрований контент і метадані (наприклад, URL частин, ID ключів) зберігаються у CDN Netflix (наприклад, AWS, Open Connect).

Запит клієнта

  • Коли користувач відтворює відео, додаток Netflix отримує файл маніфесту (наприклад, MPD для DASH), що містить URL частин і метадані DRM (наприклад, keyId, license server URL).

Отримання ліцензії

  • Клієнт надсилає запит на ліцензію на сервер DRM Netflix, який включає:
    • keyId (ідентифікатор CEK)
    • Токен аутентифікації (наприклад, JWT з даними користувача/підписки)
    • Атестація пристрою клієнта (наприклад, заголовки Widevine/PlayReady/FairPlay).
  • Сервер перевіряє запит і повертає Ключ дешифрування контенту (CDK), прив'язаний до безпечного середовища пристрою.

Безпечне дешифрування

  • Зашифровані частини відео передаються через CDN.
  • Агент DRM клієнта (наприклад, Widevine CDM) дешифрує частини в середовищі Trusted Execution Environment (TEE), що забезпечує, щоб ключі та розшифровані дані ніколи не залишали безпечну пам'ять.

Відображення

  • Розшифровані кадри відео безпосередньо надсилаються на екран через захищений канал (наприклад, SurfaceView в Android), що запобігає зняттю екрану.

Архітектурні компоненти

Конвеєр шифрування

  • Пакувальник: Розбиває та шифрує відео, генерує маніфести.
  • Система керування ключами (KMS): Зберігає CEK і відображає їх на keyId.

Сервер ліцензій

  • Аутентифікує запити, перевіряє права (наприклад, рівень підписки, регіон) і видає CDK з обмеженим часом дії.
  • Інтегрується з провайдерами DRM (наприклад, Google Widevine, Microsoft PlayReady).

Модулі DRM на стороні клієнта

  • Специфічні для платформи клієнти DRM (наприклад, Widevine CDM у Chrome) обробляють дешифрування в TEE.
  • Перевірки безпеки: Виявлення кореневих прав/джейлбрейку, перевірка цілісності додатків.

Мережа безпечної доставки

  • Зашифровані частини доставляються через HTTPS з серверів CDN. CDN не має ключів для дешифрування.

pic

DRM пояснено: як Netflix запобігає завантаженню контенту

Чому завантаження не вдається

  • Зашифровані частини: Завантажені частини не можна використовувати без CDK.
  • Прив'язка ключа: CDK прив'язані до конкретного пристрою і втрачають дію після відтворення.
  • Безпечне середовище: Ключі недоступні для додатків/ОС; розшифровані кадри обходять пам'ять додатка.
  • Юридичне забезпечення: Порушення DRM веде до юридичних заходів проти інструментів для реверс-інженірингу.

Вразливості та методи їх усунення

  • Експлуатовані клієнти: Джейлбрейкнуті пристрої можуть обійти DRM.
    Зниження ризиків: Часті оновлення додатків, відкликання атестацій.
  • Аналоговий запис: Запис екрану.
    Зниження ризиків: Водяні знаки, HDCP для HDMI виходів.

DRM Netflix поєднує шифрування, безпечний обмін ключами та апаратну безпеку для створення надійної системи протидії піратству. Хоча вона не є непереборною, вона значно підвищує бар'єр для випадкових користувачів.

Перекладено з: DRM Explained: How Netflix Prevents Content Downloading

Leave a Reply

Your email address will not be published. Required fields are marked *