Mетоды защиты контента

Авторизация доступа к потоку по token вне зависимости от ПО стримера

Данный метод совместим с wowza token, nginx secure link.

Алгоритм работы wowza token

  • TMS вместе с ссылкой на поток передает устройству токен доступа

  • Устройство обращается к стримеру за потоком и передает токен

  • Стример по заведомо известному алгоритму проверяет токен и разрешает/запрещает доступ к потоку в зависимости от токена

Формат генерации токена

<expires><path><key><ip>
  • key - секретная строка

  • ip - ip адрес клиента

Ключ и время жизни токена устанавливается в конфигурационном файле gateway-tvip-tms-tvip-api.

Настройка в TMS wowza token

Включение опции защиты потоков с помощью Wowza определяется в рамках провайдера опцией Алгоритм защиты ссылки.

../../_images/wowza.png

AES-128 шифрование

TMS, совместно с сервером flussonic поддерживает AES-128 шифрование контента.

Алгоритм работы AES-128

  • Flussonic запрашивает ключи для шифрования у сервера tvip-cas и шифрует этим ключом сегменты, ротация ключей происходит каждые 10 минут.

  • В HLS плейлисте генерируется ссылка на ключи, клиент определив наличие ключей, пытается получить их по ссылке которая ведет на tvip-cas.

  • TVIP TMS и tvip-cas постоянно синхронизирует данные о том, какой контент доступен для конкретных устройств, основываясь на этих данных tvip-cas выдает или не выдает ключ клиенту.

Настройка AES-128 в TMS

В разделе TVIP Cas server setting добавить новый Cas server.

../../_images/cas_server.png

Авторизация в Flussonic через Middleware

Информация по авторизации в Flussonic через Middleware доступна в документации

Включить опцию Flussonic auth enabled в TMS в настройках провайдера.

../../_images/flussonic_auth.png

В настройках канала включить Flussonic auth enabled.

../../_images/channel_auth.png

Установить адрес получения токена от ТМС в Flussonic по адресу http://tms.example.com/api/drm/auth_token.

stream test {
  url udp://225.101.15.6:1234;
  on_play http://tms.example.com/api/drm/auth_token 12345=12345;
}

Обновить конфигурационный файл /opt/tvip-tms/gateway/gateway-tvip-tms-tvip-api/application-prod.yml.

flussonic:
   app:
       secret:
           key: 12345

Обновить конфигурационный файл /opt/tvip-tms/gateway/gateway-tvip-cas-api/application-prod.yml.

flussonic:
   app:
       secret:
           ttl: 86400
           key: 12345

Перезапустить gateway-tvip-tms-tvip-api и gateway-tvip-cas-api.