Перейти к содержимому
Калькуляторы

Шифрование IPTV Своими силами

Кто-нибудь реализовывал шифрование IPTV мультикаста и открытие его на STB и PCPlayer сам?

Зашифровать с помощью CSA не проблема и сервер ключей сделать тоже. Вопросы есть на клиентской стороне.

 

В STB можно написать плагин, который будет устанавливать нужные ключи. На MAG250 я такой тестовый плагин со статическими ключами написал. Теперь вопрос в том, как получать их с сервера ключей периодически. Производитель на вопросы о том что можно использовать в плагине молчит, методом проб и ошибок - долго. Может у кого-нибудь уже есть наработки на эту тему?

 

vlc с прописанными ключами тоже все открывает. Но опять же ключи нужно периодически получать с сервера. Поэтому PCPlayer видимо придется писать на основе vlc и webkit на Qt. Имеются ли у сообщества наработки на эту тему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если в ECM отправлять зашифрованные CW то ключи для их открытия тоже нужно как-то получать.

А слать CW в открытую или закрытые постоянным алгоритмом/ключем не есть хорошо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эмм...

В принципе, у меня написано. Плагин, мукс со скремблером и сервер, раздающий ключи.

Но пока непригодно к выкладыванию...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не знаком.

Это тот, который виндовый клиент Verimatrix-а?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Плагин для VLC?

Ну, напишу когда-нибудь, если время будет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А почему-бы не использовать для получения ключей тот-же curl+ssl (у клиента), можно обойтись и без CURL'а если HTTP-не нужен. А раздавать - каким-нибудь питоновским скриптом. При этом каждому клиенту генерим свой сертификат, которым он и будет авторизоваться на сервере. Я что-то подобное сделал для DIB-120 (но с использованием EMM/ECM). Для начала можно почитать вот это или это.

Изменено пользователем tipok

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как бы, так и написано, только сервер всё-таки на сях.

HTTP совершенно не нужен, только мешает. Лишние хендшейки по SSL будут грузить проц на сервере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А если не секрет, как именно вы реализовали дескремблирование?

 

Просто если по ssl отдавать CW-ключи, то можно сразу-же блочить "читеров", которые одновременно запускают один и тот-же софт на разных машинах, но при этом значительно выростет нагрузка на сервер ключей.

 

Если-же использовать связку ECM с зашифрованными CW, а ключи для их раскрытия - передавать по ssl (с бóльшим интервалом), то нагрузки - практически нет, но есть шанс, что запустив второй экземпляр клиентского ПО, показывать будут оба плеера. Ну а привязка к серийникам, макам, ид дисков, и т.п. - всё это обходится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Передаю ECM в потоке, зашифрованные ключами, которые передаются по SSL.

Ключи у меня меняются раз в день.

Причем есть возможность не перекодировать сам поток, а только перепаковывать ключи в новые ECM-ки.

 

Плейер для PC я не писал, а под MAG у меня закрытый ключ к сертификату зашифрован паролем, генерящимся из MAC адреса.

Одновременно в любом случае не будут -- два соединения с одним сертификатом не прокатят.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как на MAG вы периодически раз в сутки ключи обновляете по SSL? В каком callback'е?

Или при инициализации плагина запускаете свои threads, которые делают что надо когда нужно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, там запускается отдельный поток, и в нем уже происходит вся работа с сервером через OpenSSL.

Плагину всё равно, как часто обновляются ключи, ему в ECM приходит его ID, если его нет в кеше, он запрашивается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

под MAG у меня закрытый ключ к сертификату зашифрован паролем, генерящимся из MAC адреса.

Одновременно в любом случае не будут -- два соединения с одним сертификатом не прокатят.

 

Если ключ меняется раз в сутки, то получил его на одну STB, отключился, получил на другую, прикинувшись первой, и смотри в течении суток. MAC адрес известен, т.е. если узнать алгоритм генерации из него пароля то можно смотреть везде?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

получил на другую, прикинувшись первой, и смотри в течении суток

Ага, и так каждый день.

Меняйте ключ чаще.

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

 

т.е. если узнать алгоритм генерации из него пароля то можно смотреть везде?

А если ещё и дизассемблировать модуль, можно вообще без приставки смотреть.

Есть идеи -- предлагайте...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

С PC player в этом плане сложнее, т.к. расковырять значительно проще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну, самый надежный вариант -- USB ключ :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.