Sunday, June 22nd, 2008

DVB. Часть 19, последняя. Физическая реализация условного доступа

Остальные части

Давным-давно, на заре шифрования телеканалов ресиверы для абонентов изготавливались производителями для конкретных провайдеров, содержали всё необходимое в одном флаконе, детали реализации не разглашались, и все были счастливы. Кроме абонентов, которым выбирать приходилось из одной-двух моделей ресиверов, предлагаемых провайдером. Кстати, у некоторых провайдеров такая практика сохраняется до сих пор.

А потом в дело вступило антимонопольное законодательство, которое потребовало для абонентов возможности выбирать оборудование, а для производителей - производить его без дополнительных договоров с провайдерами. Но осталась одна проблема: системы условного доступа являются патентованными разработками, и производить их реализации без разрешения правообладателя нельзя. Поэтому приёмное оборудование разделили на две части - собственно принимающая и управляющая часть приёмника отдельно, а обработка условного доступа - отдельно. И придумали стандарты на взаимодействие этих двух частей.

Та часть оборудования, которая непосредственно осуществляет условный доступ, называется модулем условного доступа (Conditional Access Module, CAM), а интерфейс его взаимодействия с остальным DVB-приёмником - Common Interface, CI.

Таким образом, собственно ресиверы теперь может производить кто угодно (конечно, они должны быть сертифицированы DVB-консорциумом на предмет соответствия стандартам), а модули условного доступа - ограниченное число производителей, получивших лицензию от разработчика соответствующей системы условного доступа. Естественно, модули условного доступа также должны соответствовать стандартам DVB.

дальше )

Вот, собственно, и всё. Если у кого остались ещё вопросы по теме - задавайте.
(2 comments | Leave a comment)

Friday, June 6th, 2008

DVB. Часть 18. Системы условного доступа

Остальные части

В прошлом выпуске было показано, что для дескремблирования аудио- и видеопотоков нужны ключи (CW). Откуда же приёмник их получает?

Вариантов, вообще говоря, всего два:
1) ключи передаются в том же транспортном потоке, что и зашифрованная программа, посредством системы условного доступа
2) ключи попадают в приёмник из других источников

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

Тем не менее, этот вариант применяется, когда контент не представляет особой ценности. Например, для не очень сложного шифрования при перегоне сырых журналистских материалов через спутник (так называемые фиды, feeds).

Первый вариант обладает более гибкими возможностями и используется чаще всего, поэтому мы сосредоточимся на нём. Тем более, что в DVB для бытовых целей используется именно он.
дальше )
(8 comments | Leave a comment)

Monday, June 2nd, 2008

DVB. Часть 17. Шифрование

Остальные части

Ну вот мы и подошли к главному вопросу современности.

Краткий ответ: нет, нельзя :)

Подробный ответ: общего способа расшифровать и посмотреть произвольную зашифрованную DVB-программу не существует.

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

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

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

переходим к техническим подробностям )
(10 comments | Leave a comment)

Friday, May 23rd, 2008

DVB. Часть 16. Примеры таблиц. И другие...

Остальные части
В сегодняшнем выпуске несколько несложных таблиц: TDT (Time Date Table), TOT (Time Offset Table), CAT (Conditional Access Table).
На этом примеры таблиц заканчиваются. Есть ещё другие второстепенные таблицы, но для общего понимания достаточно уже приведённых.

Time Date Table содержит текущую дату и время и используется для установки часов в ресивере. Передаётся она далеко не во всех мультиплексированных потоках, а иногда вместо времени в UTC содержит местное время вещателя, что сбивает с толку ресивер и его пользователя, и не позволяет вовремя включить запись передачи.

Time Offset Table содержит информацию о том, когда часы надо будет переводить на летнее и зимнее время, и каково при этом будет смещение (offset) относительно UTC. Эта таблица также не является обязательной.

Conditional Access Table содержит данные о системах условного доступа, используемых в потоке, и PID'ы, с которыми передаётся некоторая информация этих систем. В одном мультиплексированном потоке может использоваться одновременно несколько разных систем условного доступа. CAT не является обязательной даже при использовании условного доступа в программах потока.

Примеры таблиц )
(Leave a comment)

Thursday, May 22nd, 2008

DVB. Часть 15. Примеры таблиц. EIT

Остальные части

EIT (Event Information Table) содержит информацию о передачах (в англоязычной терминологии DVB передача называется "event" - "событие").

Существует две разновидности EIT: краткая, содержащая информацию только о текущей и следующей передаче программы, и более полная - обычно на 1-2 дня вперёд. EIT может относиться к передачам программ из текущего потока или из других потоков той же сети.
Всего получается четыре возможных разновидности, которые передаются с разными идентификаторами таблиц:
0x4E - текущий поток, текущая и следующая передача
0x4F - другой поток, текущая и следующая передача
0x50-0x5F - текущий поток, расписание
0x60-0x6F - другой поток, расписание

В стандарте EN 300 468 для EIT предусмотрен фиксированный PID 0x0012.

кому всё ещё интересно )
(Leave a comment)

Wednesday, May 21st, 2008

DVB. Часть 14. Примеры таблиц. PMT

Остальные части

В Program Map Table (PMT) содержатся номера PID'ов, с которыми передаются аудио- и видеопотоки программ, типы этих потоков, а также PID'ы потоков условного доступа. Эти данные необходимы для показа программы.

Для каждой программы в текущем мультиплексированном потоке есть отдельная PMT, и передаётся она с отдельным PIDом. PIDы для PMT каждой программы указаны в PAT. PMT программ передаются только в том же мультиплексированном потоке, что и сами программы, в отличие от, скажем NIT или SDT, которые могут передаваться и в других потоках той же сети.

кому всё ещё интересно )
(Leave a comment)

DVB. Часть 13. Примеры таблиц. SDT

Остальные части

SDT (Service Description Table) содержит (сюрприз!) описания сервисов, они же программы. Точнее говоря, названия программ, названия провайдеров, которые их передают, и некоторые флаги.

Названия программ нужны для удобства их выбора пользователем. Названия провайдеров дают приёмнику ещё один признак для сортировки (обычно программы сортируются по алфавиту или просто в порядке обнаружения).

кому всё ещё интересно )
(Leave a comment)

Saturday, May 17th, 2008

DVB. Часть 12. Примеры таблиц. NIT

Остальные части

Более детальное (чем в ISO 13818) описание служебных таблиц (service information, SI) содержится в другом стандарте - EN 300 468, утверждённом Европейским Вещательным Союзом (European Broadcasting Union). Стандарт этот, очевидно, распространяется только на Европу. По всей видимости, в других регионах должны существовать аналогичные стандарты, но мне о них ничего не известно.

Network Information Table, как следует из её названия, содержит информацию о сети (network), то есть, группе мультиплексированных потоков, относящихся к одной системе доставки сигнала (delivery system). Это может быть, например, конкретная кабельная или эфирная система или группа транспондеров на спутнике.
кому всё ещё интересно )
(Leave a comment)

Thursday, May 15th, 2008

DVB. Часть 11. Примеры таблиц. PAT

Остальные части

В этом и нескольких следующих выпусках будут живые примеры служебных таблиц с комментариями. Те, кто понял всё, что было написано в предыдущем выпуске, и кого не интересуют сугубо технические подробности, могут их пропустить без особого ущерба.

Таблицы приводятся целиком, без разбивки на отдельные TS-пакеты, в которых они передавались.

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

кому всё ещё интересно )
(Leave a comment)

Wednesday, May 14th, 2008

DVB. Часть 10. Потоки, служебные таблицы, PID, PSI

Остальные части

В телевещании программой (program) или сервисом (service) называется набор логически связанных элементарных потоков данных: аудио-, видео-, телетекст, субтитры, а также дополнительная информация типа расписания передач, названия программы, названия вещателя (провайдера), языков аудиосопровождения, данные для условного доступа к программам и т.п.

дальше )
(Leave a comment)

Wednesday, May 7th, 2008

DVB. Часть 9. Как устроен приёмник

Остальные части

DVB-приёмник может быть платой для компьютера (PCI, USB), а может - отдельной коробочкой. В английской терминологии она называется STB (set-top box), а в русской - ресивер (от английского receiver).
Я буду употреблять термин "приёмник" применительно к обоим вариантам, а различия буду указывать явно.

По-английски телевизор называется TV set, и название set-top box (буквально - "коробка, стоящая на телевизоре") восходит к тем временам, когда телевизоры были большие и с плоской верхней поверхностью, и ресивер (первоначально это был просто аналоговый конвертер для кабельного диапазона, потом туда добавился декодер для шифрованных каналов) ставился на телевизор сверху. Теперь, когда телевизоры стали тонкими и непрямоугольными, ресивер обычно ставится сбоку или вообще под телевизор, а название STB сохранилось.

Унутре у приёмника, как водится, неонка.

а снаружи )
(5 comments | Leave a comment)

Tuesday, May 6th, 2008

DVB. Часть 8. О спутниках

Остальные части

Этот выпуск будет не совсем о DVB, а о спутниках.

Все спутники, передающие DVB-сигналы для бытового приёма, являются геостационарными. Это умное слово означает, что с точки зрения земного наблюдателя спутник всегда находится в одной точке неба и никуда не двигается. В противоположность, например, спутникам GPS, которые постоянно двигаются по небу.

Если немножко подумать, то можно догадаться, что геостационарный спутник должен вращаться вокруг Земли с той же угловой скоростью, что и она сама вокруг своей оси. Если ещё немножко подумать, то можно сообразить, что единственное место, где это условие может выполняться - плоскость экватора.
Совсем не очевидно, но факт, что единственная подходящая для этого высота - приблизительно 35786 км над поверхностью Земли.

Соответственно, положение геостационарного спутника характеризуется единственной координатой - меридианом, над которым он "висит" (в кавычках - потому что неподвижно висит он только с точки зрения земного наблюдателя, а на самом деле, он довольно быстро летит - 11052 км/ч).

[просто ужас, сколько людей пишут меридиан неправильно].

Дальше )
(9 comments | Leave a comment)

Часть 7. Физические параметры цифрового телевещания

Остальные части

Как я уже говорил ранее, цифровое вещание имеет три основные разновидности:
- спутниковое (satellite, DVB-S),
- кабельное (cable, DVB-C)
- эфирное (оно же наземное - terrestrial, DVB-T).
Ну и плюс ещё DVB-H (handheld, для мобильных устройств), которое по большинству параметров совпадает с DVB-T.

Во всех случаях передача сигнала в сторону конечных потребителей осуществляется так называемыми транспондерами (transponder) - устройствами, принимающими относительно слабый сигнал от передающей станции, усиливающими его и ретранслирующими в сторону конечных получателей [на другой частоте].

Составной частью DVB-приёмника является тюнер (tuner) - радиоприёмный блок, который умеет настраиваться на определённый транспондер, принимать оттуда сигнал, выделять из него полезную информацию, обнаруживать и при необходимости корректировать ошибки, и выдавать для дальнейшей обработки последовательность пакетов данных в формате TS.

Фактически приёмники для разных видов DVB отличаются только этим самым тюнером. Дальнейшая обработка TS-пакетов осуществляется практически одинаково. Это позволяет некоторым производителям выпускать модели приёмников для разных видов DVB, которые легко превращаются друг в друга путём замены одного модуля. Ну и софт, конечно, нужен немножко другой. Впрочем, софт вообще можно сделать универсальный, который будет сам обнаруживать, какой именно тюнер присутствует в данный момент, и самостоятельно подстраиваться для работы с ним.

Встречаются также ресиверы с двумя тюнерами, причём, вполне возможно, для разных видов DVB, например, кабельным и спутниковым. И это логично - зачем дублировать ту часть оборудования, которой достаточно в одном экземпляре.

Какие же параметры необходимо указать тюнеру для приёма сигнала? )
(9 comments | Leave a comment)

Sunday, May 4th, 2008

DVB. Часть 6. Кодирование потоков в MPEG2

Остальные части

Как я уже говорил раньше, после кодирования звук и изображение нарезаются на части (пакеты) [переменной длины], к каждому из которых добавляется заголовок.

дальше )
(4 comments | Leave a comment)

Wednesday, January 30th, 2008

DVB. Часть 5. Аудио

Остальные части

Непосредственно в стандарте MPEG2 определены следующие варианты аудио:

сегодня не очень много букв )
(13 comments | Leave a comment)

Sunday, January 20th, 2008

DVB. Часть 4. Кодирование видео в MPEG2

Часть 1
Часть 2
Часть 3

Процесс кодирования видео в MPEG2 состоит из нескольких этапов, общей целью которых (как и любого сжатия вообще) является устранение избыточности информации. Применительно к видео избыточность бывает двух видов: пространственная (дублирование информации в пределах одного кадра) и временнАя (дублирование в последовательно расположенных кадрах).

Warning! очень много букв )
(3 comments | Leave a comment)

Thursday, January 17th, 2008

DVB. Часть 3. MPEG2 Video - параметры кадров

Остальные части

Когда говорят о MPEG2, в первую очередь подразумевают видео, которым мы сейчас и займёмся. В общих чертах, конечно.

На самом деле, стандарт MPEG2 включает в себя много всего другого, в частности, кодирование аудио, разбивку данных на пакеты, объединение пакетов в потоки, мультиплексирование потоков, служебную информацию, и прочая, и прочая. Всё это подробно, с картинками и формулами, описано в группе документов под общим названием ISO/IEC 13818.

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

Read more... )
(12 comments | Leave a comment)

Wednesday, January 16th, 2008

DVB. Часть 2. Немного про кодирование

Остальные части

Начнём с совсем глупого вопроса: а зачем вообще нужно кодирование?
А затем же, зачем вообще вся стандартизация придумана - чтобы оборудование друг друга понимало. В частности, чтобы приёмное оборудование могло понять, чтО это в него вообще такое передали, что с ним делать и как его показывать.

Более умный вопрос: какое кодирование применяется для аудио и видео в DVB? Краткий ответ: MPEG2 (обратно совместимый с MPEG1) и/или MPEG4.

Read more... )
(Leave a comment)

Tuesday, January 15th, 2008

DVB. Часть 1. Вообще

Остальные части

Disclaimer: всё, написанное далее, следует считать псевдотехническим бредом и не воспринимать всерьёз. Некоторые малозначительные тонкости, не влияющие на общую картину я сознательно буду опускать, поэтому подлавливать меня на незнании этих тонкостей смысла не имеет. А некоторых я могу и вовсе не знать, Однако ж, если будут замечены существенные ошибки, то о них мне сообщать следует.

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

Да, ну и естественно, я не несу никакой ответственности за последствия применения этого бреда кем угодно и где угодно.

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

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

Ну, поехали )
(15 comments | Leave a comment)