Остальные части
Давным-давно, на заре шифрования телеканалов ресиверы для абонентов изготавливались производителями для конкретных провайдеров, содержали всё необходимое в одном флаконе, детали реализации не разглашались, и все были счастливы. Кроме абонентов, которым выбирать приходилось из одной-двух моделей ресиверов, предлагаемых провайдером. Кстати, у некоторых провайдеров такая практика сохраняется до сих пор.
А потом в дело вступило антимонопольное законодательство, которое потребовало для абонентов возможности выбирать оборудование, а для производителей - производить его без дополнительных договоров с провайдерами. Но осталась одна проблема: системы условного доступа являются патентованными разработками, и производить их реализации без разрешения правообладателя нельзя. Поэтому приёмное оборудование разделили на две части - собственно принимающая и управляющая часть приёмника отдельно, а обработка условного доступа - отдельно. И придумали стандарты на взаимодействие этих двух частей.
Та часть оборудования, которая непосредственно осуществляет условный доступ, называется модулем условного доступа (Conditional Access Module, CAM), а интерфейс его взаимодействия с остальным DVB-приёмником - Common Interface, CI.
Таким образом, собственно ресиверы теперь может производить кто угодно (конечно, они должны быть сертифицированы DVB-консорциумом на предмет соответствия остальным стандартам DVB), а модули условного доступа - ограниченное число производителей, получивших лицензию от разработчика соответствующей системы условного доступа. Естественно, модули условного доступа также должны соответствовать стандартам DVB.
Стандарт CI описывает как параметры физического разъёма для подключения модулей условного доступа к приёмнику, так и программный интерфейс для обмена информацией между ними.
Модуль условного доступа является специализированным компьютером, в состав которого входят:
- центральный процессор (обычно с RISC-архитектурой);
- демультиплексор, позволяющий выделить из транспортного потока некоторые пакеты для программной обработки;
- аппаратный дескремблер;
- иногда дополнительные микросхемы, реализующие крипто-алгоритмы (DES, RSA и т.п.);
- постоянная память (обычно перепрограммируемая флэш-память), в которой хранится управляющая программа;
- оперативная память, в которой эта программа работает;
- иногда перезаписываемая память, в которой управляющая программа может сохранять изменяемые данные на время отключения питания.
По размерам, параметрам электрических сигналов и назначению части контактов разъём CI совместим с PCMCIA, что позволяет перепрограммировать некоторые модули условного доступа, включив их в обычный PCMCIA-разъём компьютера. Питание для работы модуля также подаётся через контакты в этом же разъёме.
С технической точки зрения модули условного доступа не слишком сильно защищены. Считать оттуда программу и понять, чтО она делает, - не очень трудная задача, поэтому в стандарте описана ещё одна составная часть - security processor. Стандарт, однако, не регламентирует никакие подробности реализации security processor'ов и взаимодействия их с основным модулем.
Через модуль условного доступа пропускается весь транспортный поток, принимаемый с транспондера. Обычно сам модуль условного доступа занимается выделением из общего потока ECM- и EMM-пакетов и дескремблированием аудио- и видеопотоков, а собственно обработка ECM и EMM, дешифрование CW, хранение ключей, подписок и другой чувствительной абонентской информации производятся отдельным, гораздо более защищённым от несанкционированного доступа устройством - security processor'ом. Он обычно реализуется в виде смарт-карты стандарта ISO 7818 - это такие пластиковые карточки размером с кредитку с электрическими контактами на одной стороне. Соответственно, у модулей условного доступа обычно есть разъём для подключения таких карт.
Хотя это не всегда так, в некоторых системах условного доступа все функции реализуются непосредственно в самом модуле условного доступа.
С программной точки зрения интерфейс CI позволяет приёмнику (в терминологии стандарта - host) узнать у модуля, какие системы условного доступа тот поддерживает, и сообщить параметры показываемой в данный момент программы. А модуль условного доступа может передать приёмнику данные для показа пользователю на экране и получить ответ, введённый пользователем с пульта. Именно таким образом у пользователя, в частности, может запрашиваться "родительский пароль" на просмотр передач для взрослых или спрашиваться согласие на просмотр pay-per-view программ. Полученные ответы модуль условного доступа передаёт в смарт-карту, которая в зависимости от них затем будет или не будет расшифровывать CW, необходимые для дешифрования (и просмотра) передачи.
Кроме того, интерфейс позволяет передавать текущую дату и время, данные EPG (электронного расписания передач), обмениваться данными, передаваемыми и получаемыми через имеющийся в некоторых ресиверах модем - таким образом осуществляется обратная связь между смарт-картой и провайдером,
С помощью демультиплексора модуль условного доступа извлекает из общего транспортного потока пакеты с нужными ему PID'ами (общую для всего потока CAT, EMM для своей системы условного доступа, PMT и потоки ECM от текущей программы), и обрабатывает эти пакеты, в частности, передавая ECM в security processor, получая из него дешифрованные CW и передавая их дескремблеру. Получив CW, дескремблер расшифровывает ими аудио- и видеопотоки текущей программы.
Дескремблер в составе модуля условного доступа обычно только один, и хотя он и может одновременно дескремблировать одновременно несколько элементарных потоков (то есть, пакетов с несколькими разными PID'ами), но ключ (CW) при этом может быть только один. Именно этим объясняется, что все шифрованные элементарные потоки от одной программы шифруются в каждый момент времени одинаковым CW.
Поскольку после дескремблирования у транспортных пакетов сбрасывается флажок скремблированности, эти пакеты будут в дальнейшем пропускаться через другие дескремблеры без изменений. Это позволяет иметь в составе одного приёмника несколько дескремблеров в нескольких модулях условного доступа, через которые последовательно пропускается весь транспортный поток. Такая организация дешифрования программ, позволяющая в одном приёмнике использовать разные системы условного доступа, называется Multicrypt.
Разъёмов для подключения внешних модулей условного доступа у бытовых ресиверов обычно бывает один или два (если они вообще есть). Кроме того, у некоторых ресиверов функции модуля условного доступа (обычно только для одной системы) реализованы в составе общей управляющей программы, а снаружи подключаются только смарт-карты. Встречаются и комбинированные варианты, когда у ресивера есть и разъём для смарт-карты для встроенной системы условного доступа, и разъём для подключения дополнительного внешнего модуля.
Кроме дескремблирования программ, модуль условного доступа может выполнять и некоторые другие, не вполне очевидные функции. Например, осуществлять транскодирование видеопотоков из MPEG4 в MPEG2. Это позволяет смотреть на ресиверах с MPEG2-декодерами программы, транслируемые в MPEG4. Конечно, качества такое дополнительное перекодирование не добавляет, но зато этот подход гораздо дешевле, чем полная замена ресивера.
Ну и напоследок небольшое отступление.
Модули условного доступа, изготовленные официальными производителями, практически всегда поддерживают только одну систему. Связано это в первую очередь с жёсткой конкуренцией на рынке систем условного доступа, и соответственно, разработчики выдают лицензии только лояльным производителям. Ну и, понятно, приятно содрать с пользователя немножечко денюжек отдельно за каждый модуль условного доступа.
Однако в самом стандарте CI нет никаких ограничений на одновременную поддержку одним модулем нескольких систем условного доступа. И как выяснилось, некоторые официальные модули изначально это умели.
Кроме того, в последние годы широкое распространение получили так называемые "неофициальные" модули, производители которых не получали лицензий от разработчиков систем условного доступа. Из юридических соображений такие модули часто продаются чистыми, но с объяснением, каким образом можно залить туда найденную в интернете прошивку. Обычно такие прошивки поддерживают сразу несколько систем условного доступа, но есть и оборотная сторона: их разработчики не имеют полных спецификаций на системы условного доступа, поэтому у таких модулей могут быть проблемы при использовании провайдерами малоизвестных функций системы.
Модифицированные прошивки для некоторых официальных модулей существовали и раньше, но прорыв в этой области несколько лет назад осуществила немецкая компания Dream Multimedia, ныне широко известная своими ресиверами DreamBox под управлением Linux. Именно она впервые выпустила на массовый рынок MagicModule вместе с программатором, библиотекой для доступа к аппаратным ресурсам модуля и примерами компиляции прошивок. Официально он позиционировался как инструмент для разработчиков смарт-карт, но почему-то одновременно с началом продаж этих модулей в интернете появились прошивки для него, работающие сначала с тремя, потом с четырьмя, пятью и более системами условного доступа. Dream Multimedia вскоре в судебном порядке вынудили прекратить производство этих модулей, но идея пошла в массы, и теперь аналогичных неофициальных модулей очень много.
Литература для дополнительного изучения:
EN 50221: Common Interface Specification for Conditional Access and other Digital Video Broadcasting Decoder Applications
ETSI TS 101 699: DVB; Extensions to the Common Interface Specification
Давным-давно, на заре шифрования телеканалов ресиверы для абонентов изготавливались производителями для конкретных провайдеров, содержали всё необходимое в одном флаконе, детали реализации не разглашались, и все были счастливы. Кроме абонентов, которым выбирать приходилось из одной-двух моделей ресиверов, предлагаемых провайдером. Кстати, у некоторых провайдеров такая практика сохраняется до сих пор.
А потом в дело вступило антимонопольное законодательство, которое потребовало для абонентов возможности выбирать оборудование, а для производителей - производить его без дополнительных договоров с провайдерами. Но осталась одна проблема: системы условного доступа являются патентованными разработками, и производить их реализации без разрешения правообладателя нельзя. Поэтому приёмное оборудование разделили на две части - собственно принимающая и управляющая часть приёмника отдельно, а обработка условного доступа - отдельно. И придумали стандарты на взаимодействие этих двух частей.
Та часть оборудования, которая непосредственно осуществляет условный доступ, называется модулем условного доступа (Conditional Access Module, CAM), а интерфейс его взаимодействия с остальным DVB-приёмником - Common Interface, CI.
Таким образом, собственно ресиверы теперь может производить кто угодно (конечно, они должны быть сертифицированы DVB-консорциумом на предмет соответствия остальным стандартам DVB), а модули условного доступа - ограниченное число производителей, получивших лицензию от разработчика соответствующей системы условного доступа. Естественно, модули условного доступа также должны соответствовать стандартам DVB.
Стандарт CI описывает как параметры физического разъёма для подключения модулей условного доступа к приёмнику, так и программный интерфейс для обмена информацией между ними.
Модуль условного доступа является специализированным компьютером, в состав которого входят:
- центральный процессор (обычно с RISC-архитектурой);
- демультиплексор, позволяющий выделить из транспортного потока некоторые пакеты для программной обработки;
- аппаратный дескремблер;
- иногда дополнительные микросхемы, реализующие крипто-алгоритмы (DES, RSA и т.п.);
- постоянная память (обычно перепрограммируемая флэш-память), в которой хранится управляющая программа;
- оперативная память, в которой эта программа работает;
- иногда перезаписываемая память, в которой управляющая программа может сохранять изменяемые данные на время отключения питания.
По размерам, параметрам электрических сигналов и назначению части контактов разъём CI совместим с PCMCIA, что позволяет перепрограммировать некоторые модули условного доступа, включив их в обычный PCMCIA-разъём компьютера. Питание для работы модуля также подаётся через контакты в этом же разъёме.
С технической точки зрения модули условного доступа не слишком сильно защищены. Считать оттуда программу и понять, чтО она делает, - не очень трудная задача, поэтому в стандарте описана ещё одна составная часть - security processor. Стандарт, однако, не регламентирует никакие подробности реализации security processor'ов и взаимодействия их с основным модулем.
Через модуль условного доступа пропускается весь транспортный поток, принимаемый с транспондера. Обычно сам модуль условного доступа занимается выделением из общего потока ECM- и EMM-пакетов и дескремблированием аудио- и видеопотоков, а собственно обработка ECM и EMM, дешифрование CW, хранение ключей, подписок и другой чувствительной абонентской информации производятся отдельным, гораздо более защищённым от несанкционированного доступа устройством - security processor'ом. Он обычно реализуется в виде смарт-карты стандарта ISO 7818 - это такие пластиковые карточки размером с кредитку с электрическими контактами на одной стороне. Соответственно, у модулей условного доступа обычно есть разъём для подключения таких карт.
Хотя это не всегда так, в некоторых системах условного доступа все функции реализуются непосредственно в самом модуле условного доступа.
С программной точки зрения интерфейс CI позволяет приёмнику (в терминологии стандарта - host) узнать у модуля, какие системы условного доступа тот поддерживает, и сообщить параметры показываемой в данный момент программы. А модуль условного доступа может передать приёмнику данные для показа пользователю на экране и получить ответ, введённый пользователем с пульта. Именно таким образом у пользователя, в частности, может запрашиваться "родительский пароль" на просмотр передач для взрослых или спрашиваться согласие на просмотр pay-per-view программ. Полученные ответы модуль условного доступа передаёт в смарт-карту, которая в зависимости от них затем будет или не будет расшифровывать CW, необходимые для дешифрования (и просмотра) передачи.
Кроме того, интерфейс позволяет передавать текущую дату и время, данные EPG (электронного расписания передач), обмениваться данными, передаваемыми и получаемыми через имеющийся в некоторых ресиверах модем - таким образом осуществляется обратная связь между смарт-картой и провайдером,
С помощью демультиплексора модуль условного доступа извлекает из общего транспортного потока пакеты с нужными ему PID'ами (общую для всего потока CAT, EMM для своей системы условного доступа, PMT и потоки ECM от текущей программы), и обрабатывает эти пакеты, в частности, передавая ECM в security processor, получая из него дешифрованные CW и передавая их дескремблеру. Получив CW, дескремблер расшифровывает ими аудио- и видеопотоки текущей программы.
Дескремблер в составе модуля условного доступа обычно только один, и хотя он и может одновременно дескремблировать одновременно несколько элементарных потоков (то есть, пакетов с несколькими разными PID'ами), но ключ (CW) при этом может быть только один. Именно этим объясняется, что все шифрованные элементарные потоки от одной программы шифруются в каждый момент времени одинаковым CW.
Поскольку после дескремблирования у транспортных пакетов сбрасывается флажок скремблированности, эти пакеты будут в дальнейшем пропускаться через другие дескремблеры без изменений. Это позволяет иметь в составе одного приёмника несколько дескремблеров в нескольких модулях условного доступа, через которые последовательно пропускается весь транспортный поток. Такая организация дешифрования программ, позволяющая в одном приёмнике использовать разные системы условного доступа, называется Multicrypt.
Разъёмов для подключения внешних модулей условного доступа у бытовых ресиверов обычно бывает один или два (если они вообще есть). Кроме того, у некоторых ресиверов функции модуля условного доступа (обычно только для одной системы) реализованы в составе общей управляющей программы, а снаружи подключаются только смарт-карты. Встречаются и комбинированные варианты, когда у ресивера есть и разъём для смарт-карты для встроенной системы условного доступа, и разъём для подключения дополнительного внешнего модуля.
Кроме дескремблирования программ, модуль условного доступа может выполнять и некоторые другие, не вполне очевидные функции. Например, осуществлять транскодирование видеопотоков из MPEG4 в MPEG2. Это позволяет смотреть на ресиверах с MPEG2-декодерами программы, транслируемые в MPEG4. Конечно, качества такое дополнительное перекодирование не добавляет, но зато этот подход гораздо дешевле, чем полная замена ресивера.
Ну и напоследок небольшое отступление.
Модули условного доступа, изготовленные официальными производителями, практически всегда поддерживают только одну систему. Связано это в первую очередь с жёсткой конкуренцией на рынке систем условного доступа, и соответственно, разработчики выдают лицензии только лояльным производителям. Ну и, понятно, приятно содрать с пользователя немножечко денюжек отдельно за каждый модуль условного доступа.
Однако в самом стандарте CI нет никаких ограничений на одновременную поддержку одним модулем нескольких систем условного доступа. И как выяснилось, некоторые официальные модули изначально это умели.
Кроме того, в последние годы широкое распространение получили так называемые "неофициальные" модули, производители которых не получали лицензий от разработчиков систем условного доступа. Из юридических соображений такие модули часто продаются чистыми, но с объяснением, каким образом можно залить туда найденную в интернете прошивку. Обычно такие прошивки поддерживают сразу несколько систем условного доступа, но есть и оборотная сторона: их разработчики не имеют полных спецификаций на системы условного доступа, поэтому у таких модулей могут быть проблемы при использовании провайдерами малоизвестных функций системы.
Модифицированные прошивки для некоторых официальных модулей существовали и раньше, но прорыв в этой области несколько лет назад осуществила немецкая компания Dream Multimedia, ныне широко известная своими ресиверами DreamBox под управлением Linux. Именно она впервые выпустила на массовый рынок MagicModule вместе с программатором, библиотекой для доступа к аппаратным ресурсам модуля и примерами компиляции прошивок. Официально он позиционировался как инструмент для разработчиков смарт-карт, но почему-то одновременно с началом продаж этих модулей в интернете появились прошивки для него, работающие сначала с тремя, потом с четырьмя, пятью и более системами условного доступа. Dream Multimedia вскоре в судебном порядке вынудили прекратить производство этих модулей, но идея пошла в массы, и теперь аналогичных неофициальных модулей очень много.
Литература для дополнительного изучения:
EN 50221: Common Interface Specification for Conditional Access and other Digital Video Broadcasting Decoder Applications
ETSI TS 101 699: DVB; Extensions to the Common Interface Specification
Tags:
no subject
конкретно descriptor_tag 0xB1. первые два байта - неизвестно что (счетчик?), затем пачки по 9 байт со следующей семантикой:
16 бит - SID,
8 бит - тип канала, 0x01 - теле, 2 - радио, 0x86 - HD теле (?), 0x05 - other
16 бит - channel ID
16 бит - sky ID (тот самый номер, показываемый ресивером)
16 бит - ?
no subject
no subject
no subject
no subject
no subject