Эссе по курсу "Защита информации", кафедра радиотехники, Московский физико-технический институт (ГУ МФТИ), http://www. re. *****/infsec

High-bandwidth Digital Content Protection

Корчёмкин Борис 15 мая 2008г.

Введение.

HDCP (High-bandwidth Digital Content Protection) — технология защиты медиаконтента от копирования, разработанная корпорацией Intel.

Изначально разработана для защиты высококачественного сигнала в момент передачи от источника (т. е. плеера) к устройству воспроизведения (дисплею, проектору, аудиосистеме и пр) через порт DVI. Позднее добавлена поддержка протоколов HDMI, UDI, GVIF, DP. Является попыткой устранить основную уязвимость всех систем DRM (Digital rights management) — запись аналового сигнала и последующая его оцифровка (т. н. analog hole).

HDCP позволяет подключать к одному защищенному порту до 128 устройств-приемников (receivers) и 7 уровней ретрансляторов (repeaters). Пример топологии:

Состоит из трех частей:

— Процесс аутентификации защищает от получения данных нелицензированным устройством.

— Шифрование данных при работе по цифровым протоколам DisplayPort, DVI, HDMI, GVIF и UDI защищает от прослушивания третьим лицом.

— Система аннулирования ключей заносит скомпрометированные или клонированные устройства в черный список.

Аутентификация.

Каждое HDCP-совместимое устройство имеет массив из 40 уникальных 56-битных секретных ключей (U) и соответствующего им идентификатора(KSV). Ключи и идентификатор выдаются комитетом Digital Content Protection LLC. Идентификатор — это вектор выбора ключей (KSV, key selection vector), содержит 40 бит данных: 20 «единиц» и 20 «нулей».

НЕ нашли? Не то? Что вы ищете?

Аутентификация начинается с того, что устройства убмениваются своими KSV. Далее А вычисляет K=Ua*KSVb складывая (обычным сложением без переполнения) свои секретные ключи в соответствии с битами KSV от другого устройства. Если бит KSV равен единице, то соответствующий секретный ключ используется, если нулю, то не используется. Устройство B вычисляет K/=Ub*KSVa аналогичным способом. Алгоритм лицензирования выдает KSV и U таким образом, что K=K/. В HDCP-протоколе одно устройство всегда передатчик, а другое — приемник. Для проверки совпадения чисел K и K/ передатчик также отправляет псевдослучайное число An, используя которое, приемник посылает в ответ R/=h(K/, An), где h = необратимая функция шифрования. Если

R/ = R = h(K, An), и KSV приемника не значится черном листе, то приемник проходит проверку.

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

Шифрование.

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

Применение.

Используется в HD DVD и Blu-ray плеерах. Если устройство воспроизведение и, в случае использования компьютера, ПО не поддерживают HDCP, то сигнал не будет транслироваться на выход, либо будет, но в урезанном качестве (Image Constraint Token flag).

Одобрена 4 августа 2004г. Федеральной Комиссии по Коммуникациям (Federal Communications Commission, FCC) как «Технология защиты цифровых выходов (Digital Output Protection Technology).

Технология поддерживается ОС Windows Vista.

Уязвимости.

В 2001 году до внедрения технологие в коммерческие продукты была обнаружена основная уязвимость HDCP (Scott Crosby, Ian Goldberg, Robert Johnson, Dawn Song, "A Cryptanalysis of the High-bandwidth Digital Content Protection System”). Сосгласно авторам, эта уязвимость позволяет:

— Подслушивать любые данные

—  Клонировать любое устройство, зная его KSV

—  Обходить черные листы

—  Создавать новые KSV

—  Фактически, мы можем выполнять все функции комитета по лицензированию

Основной фундаментальной уязвимостью протокола является линейность вычисления K и K/. Поэтому для взлома нам требуется лишь 40 пар (U, KSV). Разберем это на примере:

U

KSV

А

(26, 19, 12, 7)

[1]+[2]

B

(13, 13, 22, 5)

[2]+[4]

C

(22, 16, 5, 19)

[1]+[3]

D

(10, 21, 11, ,14)

[2]+[3]

Допустим устройства А, B, C и D взломаны и хотят установить секретный вектор устройства Е. Его KSV [1]+[4], а вектор естественно неизвестен - (х1, х2, х3, х4). Пользователь с А начинает установку связи, отправляет свои правила и получает чужие, применяет их к своему вектору и на выходе имеет 26+7=33. Результаты должны быть всегда равны, следовательно:

х1 + х2 = 33

ользователи с устройств В, С и D делают то же самое и получают:

x2 + x4 = 18
x1 + x3 = 41
x2 + x3 = 24

Ясно, что у нас 4 уравнения для 4 неизвестных, «сложные» вычисления позволят нам установить истину:

х1=25
х2=8
х3=16
х4=10

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

Литература.

A Cryptanalysis of the High-bandwidth Digital Content Protection System High-Bandwith Content Protection Specification (revision 13) http://en. wikipedia. org/wiki/HDCP http://www. *****/post/31101/default. asp