Программный ремонтЧто такое "КЛЮЧИ В ПРОШИВКЕ" телевизора и зачем они нужны?

Понимание о термине "КЛЮЧИ". Как правильно сохранить ключи при программном ремонте и на что влияет их отсутствие.

Модераторы: RTvB, SouthWind

Аватара пользователя

Автор темы
One TV
Site Admin
Сообщения: 699
Зарегистрирован: 29 авг 2020, 14:04
Ответы: 2
Страна: Россия
н.п.: Там где пахнет флюсом
Паяльное оборудование: Профессиональное оборудование
Программаторы: ENTT. UFPI.RT809H
Контактная информация:

Что такое "КЛЮЧИ В ПРОШИВКЕ" телевизора и зачем они нужны?

Сообщение One TV »

Данная статья написана для общего понимания о "КЛЮЧАХ". Подробно расскажем о нескольких вариантах их применения в программном обеспечении современных телевизорах. Почему так важно иметь знания и понимание о процессах шифрования, кодирования сигнала, привязки ID устройства к программному обеспечению и какие последствия могу быть при не грамотном программном ремонте.

Стандарт HDCP
HDCP (англ. High-bandwidth Digital Content Protection — «защита широкополосного цифрового содержимого») — технология защиты медиаконтента, разработанная корпорацией Intel и предназначенная для предотвращения незаконного копирования высококачественного видеосигнала, передаваемого через интерфейсы DVI (для этого интерфейса HDCP является необязательной опцией), DisplayPort (для этого интерфейса HDCP является необязательной опцией), HDMI, GVIF или UDI. Защищённый видеосигнал может быть воспроизведён только на оборудовании, поддерживающем HDCP.

Система шифрования HDCP версий 1.x была окончательно взломана в 2010 году (был восстановлен мастер-ключ системы).
HDCP создана для защиты передачи медиаконтента между HDCP-передатчиком и HDCP-приёмником. Технология также предусматривает использование HDCP-повторителей с защищёнными портами для нисходящего потока данных (от поставщика к заказчику услуги). В системе может быть до семи уровней HDCP-повторителей и до 128 HDCP-совместимых устройств.

Система защиты состоит из трёх основных компонентов:
  • Протокол аутентификации
  • Шифрование передаваемых данных
  • Защита от подслушивания «третьим лицом»
Протокол аутентификации используется между HDCP-передатчиком и HDCP-приёмником для подтверждения того, что последний является устройством, которому разрешено получать соответствующий контент. Подтверждение — знание секретного набора ключей. Каждое HDCP-устройство снабжается уникальным набором из сорока 56-битных секретных ключей, называемых DPK (англ. device private keys, секретные ключи устройства), получаемых от организации DCP LLC. Во время обмена информацией устройства создают общий секрет, который нельзя подслушать во время этого обмена, и этот секрет далее применяется как симметричный ключ для расшифровки HDCP-контента, предназначенного устройству, прошедшему аутентификацию.

Каждое HDCP-устройство хранит, помимо Device Private Keys, соответствующий 40-битный идентификатор — KSV[en] (англ. key selection vector, вектор выбора ключа), который, также как и DPK, получает от DCP LLC.

Протокол аутентификации можно разбить на три части:
  • Установление общего секрета
  • Сообщение HDCP-повторителя о векторах выбора ключа, присоединённых HDCP-получателях
  • Установление начального состояния шифра HDCP для кодирования содержимого кадра (третья часть происходит во время вертикального интервала, который предшествует каждому кадру, требующему шифрования)
Первая часть протокола аутентификации
image.png
На рисунке изображена первая часть работы протокола аутентификации. Первым шагом HDCP-передатчик (устройство А) посылает инициирующее сообщение HDCP-приёмнику (устройство B). Сообщение содержит KSV передатчика (Aksv) и 64-битное псевдослучайное число (An) (число генерируется функцией hdcpRngCipher).

Передатчик может начать процедуру проверки подлинности в любой момент, даже если предыдущая только что завершилась.

Вторым шагом HDCP-приёмник отвечает сообщением с KSV приёмника (Bksv) и битом REPEATER (повторитель), который указывает, является ли устройство B повторителем или нет. HDCP-передатчик проверяет, что Aksv содержит ровно 20 нулей и 20 единиц и не находится в чёрном списке.

На этом этапе в обоих устройствах вычисляется общий 56-битный секрет Km и Km’.

Вычисление производится следующим образом:

Из набора DPK суммируются ключи в соответствии с битовым представлением полученного KSV: если бит равен единице, то соответствующий ключ используется. Сложение ключей происходит по модулю
2
56
2^{{56}} без переполнения.


Пример:
Предположим, Bksv равно 0x5A3. В двоичном представлении — 10110100011.
Следовательно, Устройство А складывает свои секретные ключи, стоящие на позициях 0, 1, 5, 7, 8, 10 и рассчитывает общий секрет Km.

Устройство В проделывает аналогичные вычисления, используя собственный набор секретных ключей и вектор выбора, полученный от устройства A, чтобы посчитать Km’.

На третьем шаге применяется функция hdcpBlockCipher для вычисления Ks, M0, R0. Инициирующие величины для работы этой функции — Km (или Km’) и конкатенация бита REPEATER с An (бит REPEATER указывает на то, что HDCP-приёмник поддерживает дальнейшую передачу HDCP-данных, то есть является повторителем).

Ks — 56-битный сессионный ключ для работы HDCP шифра
M0 — 64-битная секретная величина, используемая во второй части протокола аутентификации, а также как вспомогательный инициирующий вектор HDCP шифра.
R0’ — 16-битный ответ, который видеоприёмник посылает HDCP-передатчику в подтверждение успеха обмена сообщениями аутентификации. HDCP-передатчик должен прочитать R0’ не позднее 100 миллисекунд после того как отправлено число Aksv видеоприёмнику, если прошло больше времени, то считывать R0’ нельзя.
Если аутентификация прошла успешно, то R0 = R0’, иначе в большинстве случаев неравны. Далее, при помощи Ri’, получаемых в течение работы третьей части протокола, можно будет обнаружить, что аутентификация прошла неудачно, в том случае, если величина R0 ошибочно указала успех аутентификации.


Вторая часть протокола аутентификации
image.png
Вторая часть протокола аутентификации требуется в том случае, если HDCP-приёмник является HDCP-повторителем. HDCP-передатчик выполняет вторую часть протокола только тогда, когда установлен бит REPEATER (повторитель), это значит, что HDCP-приёмник — HDCP-повторитель. Эта часть протокола составляет список всех KSV устройств, подключенных к HDCP-повторителю ниже по уровню: HDCP-защищённые порты HDCP-повторителей, HDCP-приёмники. Этот список представлен в виде непрерывного набора байтов, в котором каждый KSV занимает 5 байт, записанных в прямом порядке.

Общая длина KSV списка = 5 байт * число присоединенных активных HDCP устройств

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

Для того, чтобы добавить KSV-список, полученный от предыдущего HDCP-повторителя, требуется проверка целостности. HDCP-повторитель, запросивший список, вычисляет V и сравнивает его с полученным V’.

V = SHA-1 (список KSV || состояние B || M0)

Где:

список KSV — битовое представление KSV
состояние B — битовое представление состояния устройства B (см. таблицу)
M0 — некоторая секретная величина
Всё битовое представление располагается в прямом порядке.

Если V≠ V’, то проверка на целостность считается неудачной и HDCP-повторитель не должен принимать список. При этом истечет таймер watchdog (сторожевой таймер) и HDCP-передатчик сумеет обнаружить эту ошибку.

Кроме составления списка KSV производится распространение топологической информации (количество и глубина) вверх по дереву устройств до HDCP-передатчика. Количество устройств (англ. device count) рассчитывается как количество всех HDCP-повторителей и приёмников вниз от устройства, которое считает сумму. Глубина (англ. depth) для HDCP-повторителя равна максимальному значения глубины, полученному от нижестоящих в дереве устройств HDCP-повторителю, плюс один. Например, для HDCP-повторителя с четырьмя нижестоящими HDCP-получателями глубина равна единице, а число устройств — четырём.

Число устройств в одном дереве не может превышать 127, а число уровней (глубина) — семи.

Пример:
HDCP-передатчик, определив, что передан бит REPEATER, устанавливает 5-секундный сторожевой таймер (watchdog) и запрашивает статус READY (готовность) у HDCP-повторителя. Если бит состояния установлен на 1 (готов), то HDCP-передатчик считывает список KSV и проверяет, не превышает ли список устройств установленный спецификацией объём и глубину, затем проверяет список на целостность, вычисляя V. Если какое-либо из условий не выполнено или истекает время таймера, то аутентификация не производится.

Повторная попытка осуществляется передачей нового значения An и Aksv.


Битовое представление состояния устройства B
Название поляЗанимаемые битыОписание поля
Rsvd 15:14 Зарезервирован. Значение — 0.
HDMI_RESERVED_2 13 Зарезервирован.
HDMI_MODE 12 Режим HDMI. Когда бит установлен на единицу, HDCP-приёмник переходит из режима DVI в режим HDMI. Бит сбрасывается при включении устройства, его перезагрузке, подключении или отключении HDCP-передатчика или в том случае, когда HDCP-приёмник не получает данные в течение 30 кадров.
MAX_CASCADE_EXCEEDED 11 Отображает ошибки в топологии. Если установлен на единицу, то в дереве устройств находится более семи уровней повторителей.
DEPTH 10:8 Показывает число уровней в системе
MAX_DEVS_EXCEEDED 7 Отображает ошибки в топологии. Если установлен на единицу, то в дереве системы находится более 127 устройств.
DEVICE_COUNT 6:0 Полное число присоединенных устройств. Всегда равен нулю для HDCP-повторителей. Это число не включает сами HDCP-повторители, но устройства, к ним присоединенные.

Третья часть протокола аутентификации
image.png
Третья часть протокола работает в течение вертикального интервала (англ. vertical blanking interval), предшествующего кадру. Каждый из двух HDCP устройств вычисляет новые инициирующие числа Ki, Mi и Ri, где индекс i отображает номер кадра, начиная с единицы для первого кадра с шифрованием (после завершения первой части протокола аутентификации). Индекс увеличивается на единицу с каждым кадром или с каждым зашифрованным кадром в зависимости от того, включен ли режим ADVANCE_CIPHER. Счётчик кадров не увеличивается, если HDCP устройство находится в состоянии HDMI AVMUTE (режим, когда выключается звук, если происходят изменения, которые могут привести к шуму в аудиоканале[10]), и не увеличивается после выхода из этого состояния до первого шифрованного кадра.

Ki — 56-битный ключ, используемый для инициализации HDCP шифра, чтобы зашифровать или расшифровать HDCP контент.
Mi — новая 64-битная инициирующая величина для HDCP шифра.
Ri — 16-битное число, предназначенное для подтверждения целостности соединения (увеличивается каждые 128 кадров, начиная со 128).
HDCP-передатчик проверяет Ri’ по собственным вычислениям для того, чтобы подтвердить способность видеоприемника корректно расшифровывать информацию. Эта проверка делается как минимум каждые две секунды, также возможно синхронное чтение Ri во время очередного её изменения (каждые 128 кадров). При этом чтение Ri' должно завершиться в течение одной миллисекунды с того момента, как HDCP-передатчик инициирует это действие, если по каким-либо причинам операция не удалась, то HDCP-передатчик считает, что HDCP-приёмник не прошёл аутентификацию.

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

Режим ADVANCE_CIPHER — это дополнительный режим, в котором состояние шифра и счётчик кадров увеличиваются каждый кадр в режиме DVI или каждый кадр в режиме HDMI (если только он не находится в состоянии AVMUTE) вне зависимости от того, включено шифрование или нет.

Шифрование данных
image.png
HDCP-шифрование происходит на входе TMDS (англ. Transition Minimized Differential Signaling, дифференциальная передача сигналов с минимизацией перепадов уровней) шифратора, а расшифрование - на выходе TMDS-дешифратора. Процедура шифрования состоит из побитового сложения (XOR) потока данных с псевдослучайной последовательностью, генерируемой HDCP-шифром.
Во время вертикального интервала функция hdcpBlockCipher подготавливает HDCP-шифр к генерации для каждого пикселя входного потока 24-битной псевдослучайной последовательности, зависящей от ключа. Эти биты накладываются на TMDS-каналы, как показано в таблице на примере RGB-видеопотока.

Отображение шифрованного потока
Выход шифра Канал TMDS Биты видеопотока
23:16 2 Red [7:0]
15:8 1 Green [7:0]
7:0 0 Blue [7:0]
Во время строчного интервала гашения (англ. horizontal-blanking interval) HDCP-шифр переназначает ключ каждые 56 бит, что усложняет задачу построчного взлома шифра.

ПРОСТЫМ ЯЗЫКОМ:

Спойлер
HDCP является аббревиатурой и расшифровывается как «High-bandwith Digital Content Protection». С английского это переводится как «Защита широкополосного цифрового контента».

Киноиндустрия сделала HDCP обязательной технологией для всех HD-устройств. HDCP предотвращает копирование и запись в высоком разрешении через цифровые видео-интерфейсы.
Система была разработана в 2003 году компанией Intel.
Возьмем для примера Blu-ray: цифровой контент диска с AES128 защищен 128-битным ключом. Ключ считается безопасным, но он уже взломан. Часть диска с ключом называется «Media Key Block». Для того, чтобы проигрыватель мог расшифровать данные, другая часть ключа, которая называется «Device Key Block», сохранена на самом устройстве.

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

Что такое HDCP 2.2?
С 2015 года существует новая защита от копирования — HDCP 2.2.

Данное шифрование было оптимизировано для работы с 4К-контентом. И вот в чем проблема: HDCP 2.2 не имеет обратной совместимости со старым HDCP 1.x-шифрованием. Чтобы воспроизводить фильмы в 4К-формате, все используемые устройства должны иметь возможность обрабатывать этот стандарт шифрования.

Например, если вы хотите воспроизвести 4К-контент, в цепочке воспроизведения свою роль могут иметь различные компоненты. Это может быть Blu-Ray-плеер, спутниковый ресивер или ТВ-приставка, которые передают контент на телевизор. Точно так же речь может идти о мониторе, графической карте и игровой консоли.

Если хотя бы одна компонента из этой цепочки не поддерживает работу со стандартом HDCP 2.2, вы не сможете воспроизвести 4К-контент. В результате экран останется черным. Впрочем, таким «стопором» для сигнала может стать и саундбар, который вы подсоедините и через который будет проходить сигнал.

Если источник воспроизведения поддерживает HDCP 2.2, а ваш телевизор — только старый HDCP 1.x, вы можете обойти защиту от копирования с помощью двустороннего HDCP-конвертера.

Некачественный программный ремонт
Последствия некачественного и бездумного программного ремонта введет к потерей возможности использовать стандарт HDCP в устройстве. Невозможность просмотра шифрованного контента приводит к тому, что пользователь не сможет подключать игровые приставки Sony PlayStation и Microsoft Xbox Series, Blu-ray проигрыватели, просматривать лицензионный контент HD, 4K и получить устройство с обрезанным функционалом.
Аватара пользователя

Автор темы
One TV
Site Admin
Сообщения: 699
Зарегистрирован: 29 авг 2020, 14:04
Ответы: 2
Страна: Россия
н.п.: Там где пахнет флюсом
Паяльное оборудование: Профессиональное оборудование
Программаторы: ENTT. UFPI.RT809H
Контактная информация:

Re: Что такое "КЛЮЧИ В ПРОШИВКЕ" телевизора и зачем они нужны?

Сообщение One TV »

Отправлено спустя 22 минуты 20 секунд:
Common Interface
CI (англ. Common Interface, CI-модуль) — интерфейс подключения (слот расширения) для электронных модулей, имеющийся в конструкции современных телевизоров, ресиверов цифрового телевидения или специализированных плат расширения бытового компьютера, позволяющий, через применение (вставление) CAM-модулей с декодирующей картой, просматривать закрытые (закодированные) радио- и телеканалы. Используется в системах цифрового вещания, как часть оборудования защиты коммерческого медиаконтента.
image.png


Подключаемые устройства:

CAM-модуль — вставляемое в CI-слот стандартное переходное устройство для подключения карт декодирования закрытых каналов. Для каждого типа кодировки (Viaccess, Conax, Irdeto и пр.) существует соответствующий CAM-модуль.
декодирующая карта (карта декодирования, карта доступа) — электронная смарт-карта, вставляемая в CAM-модуль и хранящая в себе индивидуальные данные подписчика (список оплаченных каналов, сроки подписки и пр.).
В некоторых моделях CI-модулей может быть предусмотрена установка двух разных CAM, для разных карт декодирования.
image.png
image.png (353.91 КБ) 403 просмотра
image.png
image.png (353.91 КБ) 403 просмотра


В персональный компьютер CI-модуль вставляется в слот PCI (однако не имеет контактов с собственно шиной PCI, производя обмен информацией и получая питание по внутреннему кабелю), есть варианты исполнения в форм-факторе флоппи-дисковода 3.5″.

Все CI должны соответствовать стандарту EN 50221-1997 (спецификация Common Interface).

CI+

Предыдущая версия CI декодирует телевизионный сигнал и передаёт его для дальнейшей обработки в незашифрованном виде на ресивер или телевизор. Зашифрованные ранее сигналы теперь открыты и могут быть свободно записаны или скопированы.

Новая версия CI+ (CI Plus) работает с «Обратным шифрованием». Это означает, что данные остаются зашифрованными ещё даже до непосредственной передачи на экран. Новый стандарт соответствует требованиям владельцев данных. Таким образом что-то записать с аппарата, оснащенного такой версией CI, становится, на данный момент, невозможно. Поддерживаются только специальные проигрыватели, совместимые с данным форматом. Владелец контента может в таком случае запретить запись или разрешить просмотр только один раз или запретить перемотку рекламы или запретить запись на жёсткий диск[1].

Наличие той или иной версии CI обычно указывается в маркировке телевизора.
image.png
image.png (259.95 КБ) 403 просмотра
image.png
image.png (259.95 КБ) 403 просмотра


Система условного доступа (англ. Conditional Access System) — программно-аппаратный механизм для доступа к платным кодированным цифровым спутниковым, эфирным и кабельным телеканалам и радиостанциям (радиоканалам).

Роскрипт (Используется на территории РФ)
Разработчик: ФГУП НИИ Радио (Россия).

Криптографическая защита соответствует ГОСТ 28147-89.

Существуют две версии «Роскрипт-Про» и «Роскрипт-М 2.0»[2]. Позволяет осуществить защиту компонентов транспортного потока, кодированных в соответствии со стандартами MPEG-2, MPEG-4 при обычном (SD) и высоком (HD) разрешениях.

Совместима со стандартами вещания: DVB-T, DVB-T2 («Роскрипт-Про»), DVB-S, DVB-S2 («Роскрипт-М 2.0»).

Количество поддерживаемых абонентских устройств: более 20’000’000.
Количество сервисов, закрываемых одним скремблером: не менее 50.
Общее количество сервисов: 2048.
Количество сервисов, открываемых одним CAM модулем: не ограничено в любом сочетании.
Скорость транспортного потока: до 108 Мбит/с.
Стандарт алгоритм защиты информации: ГОСТ 28147-89.
Длина ключей: 256 бит.
Позволяет частичное или полное обновление через транспортный поток.
Возможность передачи таблиц управления за счет избыточности транспортного потока.
Очень взломоустойчива.
Используется для части каналов на спутниках Экспресс АМ6, Экспресс АМ7, Экспресс АМ33, Экспресс АМ5, а также на спутнике Ямал-401.
Поддержи наш проект! Адрес email:
Закрыто

Вернуться в «Программный ремонт»