для чего нужен hdcp
Что такое HDCP и как это мешает смотреть пиратские фильмы
Аббревиатура HDCP часто встречается в контексте защиты от копирования. Что такое HDCP и как функционирует технология, мы расскажем вам в этой статье.
Что такое HDCP? Расшифровка аббревиатуры
HDCP является аббревиатурой и расшифровывается как «High-bandwith Digital Content Protection». С английского это переводится как «Защита широкополосного цифрового контента».
HDCP: обязательно для HD-устройств
Как функционирует HDCP? Объясняем по-простому
Возьмем для примера 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
Вступление
Хоть аналоговый аудио и видеоконтент имеют свои плюсы, цифровое аудио и видео (далее ЦАВ) набрал большую популярность, связанную с постоянным совершенствованием качества, развитием потребительских устройств, воспроизводящих такой контент и т.д. Но как легко воспроизводить ЦАВ, также легко и копировать, и незаконно его распространять. У индустрии развлечений возникает потребность в защите от цифрового копирования. Для решения этой проблемы производители разработали схемы и компоненты защиты от цифрового копирования, распространения. Примером таких технологий является HDCP, разработанная компанией Intel. HDCP (с английского High-bandwidth Digital Content Protection — «защита широкополосного цифрового содержимого») — технология защиты медиаконтента, предназначенная для предотвращения копирования высококачественного видеосигнала, передаваемого через интерфейсы DVI (для этого интерфейса HDCP не является обязательным), DisplayPort (для этого интерфейса HDCP является обязательным), HDMI, GVIF или UDI. Защищённый видеосигнал может быть воспроизведён только на оборудовании, поддерживающем HDCP. Система шифрования HDCP версий 1.x была окончательно взломана в 2010 году (был восстановлен мастер-ключ системы).
HDCP используется для защиты передачи содержимого ЦАВ от источника видеосигнала, такого как компьютер, приставка спутникового телевидения или DVD-плеера, до приемника, такого как дисплей. Эта система шифрования предназначена для предотвращения воспроизведения зашифрованного HDCP контента на устройствах, которые не поддерживают HDCP или которые были взломаны для копирования такого контента. Перед отправкой данных передающее устройство проверяет, имеет ли получатель право на их получение. Если это так, то передатчик шифрует данные, чтобы предотвратить «подслушивание» во время передачи цифровых данных на приемник. Для подключения источника к конечному устройству можно использовать несколько различных интерфейсов, совместимых с HDCP.
В этой статье описываются устройство HDCP. В одном из вариантов осуществления устройство HDCP включает в себя: (1) передатчик сконфигурированный для доставки ЦАВ контента по каналу связи до авторизированного HDCP приемника, (2) устройство подтверждения, настроенное для определения того, является ли аутентифицированный приемник HDCP также доверенным устройством и разрешает ли только доставку или он может пересылать контент еще кому – то. А также, раскроется способ доставки ЦАВ, а также его шифрование. Он включает в себя: (1) получение ключа шифрования от потенциального приемника ЦАВ, (2) идентификация потенциальных приемников совместимых с HDCP, (3) в дополнение к аутентификации проверка потенциальных приемников устройством для приема ЦАВ контента.
Способ доставки ЦАВ и вариант осуществления устройства HDCP про которые я хочу рассказать далее, уже усилены дополнительной «раскрытой схемой защиты». Опишу, что это такое.
Дополнительная «раскрытая схема защиты»
Одного только HDCP не всегда достаточно для зашиты от цифрового копирования, поскольку существуют устройства, которые будут декодировать HDCP и выводить его в аналоговом виде. В аналоговой форме содержимое может быть легко скопировано, даже несмотря на небольшие ухудшения качества копии из – за цифрового преобразования. Таким образом, хотя HDCP может быть достаточным для предотвращения случайного копирования контента потребителем, он не всегда достаточен для защиты от цифрового копирования по всех приложениях, включая профессиональные. В таких случаях используются «усиления» защиты, например стандарт DCI (Digital Cinema Initiatives). Он обеспечивает стандарт для использования цифровых технологий для распространения или проецирования кинофильмов, которые имеют более высокое качество, чем HDCP. С помощью этой системы зашифрованное содержимое разблокируется с помощью доставки ключа сообщением KDM (Key Delivery Message), которое доставляется отдельно от содержимого ЦАВ и надежно переносит ключи шифрования до источника. Данная дополнительная защита может быть непомерно высокой для некоторых решений.
Рассматривая системы HDCP, в одном из вариантов осуществления, защита, обеспечиваемая схемами защиты HDCP, может быть усилена только за счет разрешения доставки выходных данных на приемники HDCP, которые аутентифицированы и дополнительно подтверждены в специальном списке доверенных устройств. Таким образом, в дополнение к тому, чтобы быть аутентифицированным приемником HDCP, приемники также должны быть проверены как доверенное устройство, прежде чем контент ЦАВ будет передан ему. Далее эту систему дополнительной защиты будем называть, как: раскрытая схема защиты. Аутентификация – это установленная процедура HDCP, которая проверяет, что передатчики (отправители) и приемники корректно поддерживают HDCP (сюда же относится поддержка версий). Если же эта проверка не прошла, то доставляемый контент ЦАВ блокируется.
Схема устройства доставки ЦАВ
На рис.1 показан вариант реализации системы HDCP, в которой используется раскрытая схема защиты. Эта система включает в себя источник (10), ретранслятор (20), дисплей (30) и проектор (40).
Источник (10) – это хост ЦАВ контента. Он может быть, например персональным компьютером, телеприставкой, цифровым киносервисом и т.д. Он включает в себя передатчик (12), хранилище ключей (14). Он так же может содержать дополнительные системы защиты.
Таким образом, источник (10) также включает в себя устройство подтверждения (16), соединенное с передатчиком (12) и хранилищем ключей (14). В данном случае устройство подтверждения (16) – является раскрытой схемой защиты. Он сконфигурирован так, чтобы определять, является ли ретранслятор (20) доверенным устройством, и разрешать передатчику (12) доставлять контент. Устройство подтверждения (16) сконфигурировано для определения доверенного устройства путем сравнения уникального идентификатора (BKSV) ретранслятора (20) со списком доверенных устройств. Этот список включает в себя заранее определенный список приемников HDCP, которые были идентифицированы как доверенные устройства. Хранится этот список в памяти (17), которая может быть частью устройства подтверждения (16). Он получает этот ключ – вектор от хранилища ключей (22) ретранслятора (20). Иногда, список доверенных устройств может храниться в других запоминающих устройствах источника (10), включая память (14). Этот список чаще всего загружается в память при производстве источника (10) и может быть обновлен через ЦАВ контент, на пример с DVD-диска (Есть разновидность: список не хранится в памяти, а только может быть получен с ЦАВ контентом). Таким образом, исходный список доверенных устройств может быть расширен или уменьшен. Также возможны варианты с цифровыми подписями, подтверждающими, что приемник – доверенное устройство.
По какому бы принципу не работало устройство подтверждения (16), оно начинает проверку заново, при каждом изменении канала связи (добавление новых устройств, пропадание старых и т.д.).
Хранилище ключей (14) сконфигурирован для хранения различных ключей, таких как KSV и DPK для аутентификации. Это резервуар зачастую является просто памятью.
Передатчик (12) сконфигурирован для передачи ЦАВ контента по каналу связи (13) до ретранслятора (20). Последний может быт просто ретранслятором или же хостом HDCP.
Ретранслятор (20) представляет собой HDCP устройство, которое сконфигурировано для приема содержимого ЦАВ контента из восходящего источника и передачи в нисходящий источник. Ретранслятор (20) включает в себя приемник (21), который принимает контент от передатчика (12). Ретранслятор также содержит два передатчика (23) и (25) предназначенные для доставки контента дальше (например, до дисплея (30) или проектора (40)). Репитер (20) также влияет в себя первое хранилище ключей (22), второй (24) и третий (26). Они хранят различные ключи, используемые для аутентификации и шифрования. Имеем устройство подтверждения (28), которое является аналогичным для устройства (16). Оно настроено для определения того, является ли приемник HDCP доверенным устройством. Возможны случаи, в которых ретранслятора просто нет, а контент передается напрямую из хоста (10). Бывают варианты осуществления ретранслятора (20), в котором он может быть устройством HDCP, которое сконфигурировано для передачи списка BKSV или идентификаторов приемника (например, в версии 2.2) от нисходящего потока обратно к передатчику хоста (12). Т.е. передатчик (12) может непосредственно проверять все подключенные приемники по своему списку доверенных устройств.
Дисплей (30) включает приемник (32) и хранилище ключей (34). Проектор (40) также включает приемник (42) и хранилище ключей (44). Дисплей (30) может быть, например, телевизором, поддерживающим HDCP, а проектор (40), соответственно проекторов поддерживающим HDCP.
Рисунок 2 иллюстрирует вариант осуществления доставки контента в соответствии с раскрытой схемой защиты информации. Этот метод выполняется либо на источнике ЦАВ контента (хосте (10)) или же на ретрансляторе (20). В начале ключе шифрования принимается от потенциального получателя содержимого ЦАВ контента. Ключ шифрования может быть, например, BKSV приемника совместимого с HDCP. Потенциальный приемник аутентифицируется как совместимое устройство. На следующем шаге проверяется список доверенных устройств. В одном варианте осуществления он проверяется путем подтверждения того, что он не был скомпрометирован. Тут могут участвовать цифровые подписи. Как было описано выше, предустановленный список может быть получен во время производства устройства, а также изменен и обновлен содержимым ЦАВ контента. Далее, потенциальный приемник проверяется как доверенное устройство. Таким образом, в дополнение у аутентификации определяется, является ли потенциальный получатель доверенным устройством. Следующим шагом, содержимое ЦАВ контента доставляется потенциальному приемнику, если он определен как доверенное устройство.
По меньшей мере, части или куски вышеописанных устройств или алгоритмов, способов могут быть воплощены, обеспечены или выполнены различными обычными цифровыми процессорами обработки данных, микропроцессорами или вычислительными устройствами. Эти устройства могут быть запрограммированы или хранить исполняемые последовательности инструкций для выполнения одного или нескольких этапов метода. Программные инструкции таких программ могут быть закодированы в машинно-исполняемом виде на обычных цифровых носителях информации, например на оптических дисках, оперативной памяти, флэш-памяти и т.д.
Аутентификация
Каждому устройству HDCP назначается набор из сорока 56 – битных ключей, известных как Device Private Keys (DPK), которые каждое устройство должно хранить в секрете. Каждому устройству также присваивается 40 – битный вектор выбора ключа (называемый KSV), который математически связан с DPK и уникален для каждого устройства. KSV приемника – BKSV, KSV передатчика – AKSV (P.S. В 2010 году в некоторых СМИ появилось новость, что через соцсети распространяется мастер-ключ HDCP. Другими словами, HDCP был взломан и ключи DPK можно создавать без помощи со стороны оператора ключей инфраструктуры HDCP). Передатчик и приемник будут обмениваться этими векторами на начальном этапе аутентификации HDCP, затем использовать его аналог для вычисления общего секрета. Если приемник имеет допустимый набор закрытых ключей (DPK), то сумма, которую он вычисляет, будет соответствовать сумме, вычисленной передатчиком в результате математических зависимостей между закрытыми ключами (DPK) и KSV.
Вычисление общего секрета можно описать так: из набора ключей DPK суммируются ключи в соответствии с вектором KSV. При условии, что бит равен 1, соответствующий ключ будет использован. Сложение происходит по модулю без переполнения. Затем сумма используется в качестве значения инициализации для шифров HDCP на любом устройстве на последующих этапах аутентификации и шифрования.
Если же, принимающая сторона является ретранслятором, то необходим дополнительный шаг аутентификации. Для проверки является ли получатель – ретранслятором, существует дополнительный бит “REPEATER”. Эта часть протокола, составит список всех KSV подключенных HDCP устройств ниже по уровню, чем ретранслятор. Общая длина этого списка будет равна 5 байт (столько занимает каждый KSV), умноженный на число активных HDCP устройств в системе (присоединенных). То есть сам ретранслятор и все неактивные устройства не повлияют на этот список. Существует некоторый «сторожевой» таймер, обозначаемый, как “watchdog”. Он выставляется хостом для ретранслятора. За это время, ретранслятор должен успеть составить таблицу, описанную выше и отправить статус “READY” (о готовности). Вводятся 2 дополнительных термина: глубина – максимальное количество связей по 1 ветке с нижестоящими получателями, количество устройств – количество всех активных получателей (в том числе ретрансляторов) вниз от устройства.
Как только передатчик получает сообщение о готовности ретранслятора, он считает таблицу, проверить ее целостность и определит, не превышено ли количество устройств или глубина.
В аутентификацию иногда выносят третий шаг, отвечающий за: корректность зашифровки/расшифровки контента, проверки способности получателя корректно выводить контент, а также для проверки синхронности вывода. Этот шаг работает в течение вертикального интервала, предшествующего кадру. И отправитель, и получатель вычисляют новые значения (инициирующие числа) покадрово. Их три: Ki (56 бит) – инициализирует HDCP шифр, Mi (64 бита) – новое инициализирующее значение для HDCP шифра, Ri (16 бит) – используется для проверки целостности соединения. Последнее начинает считаться с 128 кадра (работает не покадрово, а раз в 128 кадров).
Кроме того, раскрытая схема защиты дополнительно проверяет, что аутентифицированное устройство HDCP также является доверенным устройством. Доверенное устройство – это устройство HDCP, которое было идентифицировано как отвечающее определенным бизнес-критериям, таким как: неспособность преобразовать полученный контент ЦАВ в аналоговый контент.
Шифрование данных в HDCP
Внутри передатчика есть своего рода блок TMDS шифратора. Именно на нем и происходит шифрование, а расшифрование на приемнике на выходе из TMDS шифратора. Весь процесс шифрование можно описать так: поток данные побитого складывается (XOR) с псевдослучайной последовательностью, генерируемой HDCP – шифром. Во время вертикального интервала подготавливается шифр для каждого пикселя из потока 24 – битной псевдослучайной последовательности, которая зависит от ключа. Для усложнения взлома шифра, во время строчного интервала гашения шифр переназначает ключ для каждых 56 бит.
HDCP: с чем это надо есть?
Михаил Таусон
Независимый обозреватель
Специально для журнала «EQUAL AV»
ЗАЧЕМ НАМ ЭТО НУЖНО
Долгая история вопроса
Вы сидите уютно? Хорошо. Тогда начнём с тех незапамятных времен, когда технологии были юны и верно служили людям. Создатель технологии и потребитель её продукта частенько объединялись в одном лице (скажем, изготовитель высокотехнологичного кремнёвого наконечника стрелы потом лично пулял ею в съедобную дичь). По мере усложнения окружающего мира владельцы технологий, производители продукта и потребители последнего все дальше разъезжались по социальным ступенькам. Технология теперь стала служить потребителю в последнюю очередь — перед тем она служила обогащению одних, политическим амбициям других, обиранию третьих. Пройдя по рукам, технология порой сильно и не в пользу простого народа деградировала, переиначивалась, а иным остроумным технологиям и вовсе головы поднять не давали лишь на том основании, что они-де не вписывались в финансово-политические запросы заинтересованных лиц. Вот вы сейчас скажете: ну ты, брат, по части цинизма-то вряд ли нас за пояс заткнёшь, мы ещё и не такого сказать можем. Верно, да вот только перед развитием основной темы не грех и напомнить себе, что обольщаться надо с осторожностью и осмотрительно, а то, пожалуй, и в грех можно впасть, и деньги профукать, а иногда и под горячую руку закона подвернуться (о чём речь ещё пойдёт впереди).
Заметим, что технологиям свойственно, как и людям, дружить и бороться друг с другом. Кто-то изобретает способы снимать замечательное кино, кто-то использует технологию для сохранения такого кино в высоком разрешении и качестве, ещё кто-то придумывает носители для этого кино — скажем, BluRay-диски. Далее вступают в дело технологии массового производства и продаж конечным пользователям, а потом — технологии показа этого великолепия на огромных, но недорогих телевизорах. Эти технологии работают на нас. На нас же работают и технологии копирования дисков, рождённые в компьютерном стане. Но вот эти последние приходят в противоречие с технологиями продаж — ведь клонирование дисков на дешёвые болванки позволяет не покупать дорогие диски, и вопрос сразу становится серьёзным — денежным.
Тут и появляются промежуточные, конечному потребителю не нужные технологии, вводимые ради примирения остальных. Платить за них придётся все равно нам, добровольно-принудительно, и платить не только деньгами, но и силами, нервами и лишними сущностями, которые придётся изучать. Боюсь, что сегодня мы будем говорить как раз о таком случае.
Как спасали мир или зачем телевизорам зрители
Мир кинематографа содрогнулся, когда массово внедрилось телевидение. У кино всегда были свои преимущества (цвет, большой экран, громкий звук, хорошая картинка), но с годами они все больше терялись да размывались — и вот уже цветные, широкоэкранные, качественные телевизоры стоят в домах у вполне обычных людей, а звук из многоканальной акустики намного забористей, чем в ином кинотеатре. Кинематограф частично сдался (хотя и выжил, за счёт опять же новых технологий), но его нишу тут же заполонили технологии домашних развлечений — и заинтересованные лица-таки получили свои кровные. Не билетами в кино, так хоть сначала видеокассетами, а потом и дисками, но затраты окупались.
И все же окупались не так хорошо, как эти лица рассчитывали. Видеокассеты копировали — и против этого работало только низкое качество перезаписи да легко победимая технология Macrovision. Диски CD тоже копировали — и поэтому с учётом печального опыта для проигрывателей DVD была сразу внедрена система защиты Analog Protection System от Macrovision (и CGMS-A или CGMS-D), не дающая записывать их сигнал на видеомагнитофон или рекордер, а сами диски было решено шифровать по системе CSS, и к тому же снабжать региональными кодами, как бы улучшающими объём продаж. Только с такими технологиями заинтересованные лица позволили жить коммерческим дискам DVD. Для людей честных и наивных эти вещи иногда создавали непредвиденные проблемы, ну а люди иного толка немедленно обошли все разновидности вышеуказанных защитных технологий, тем более что развитие компьютерной техники позволяет это сделать на раз. В результате уровень пиратства вовсе не снизился, а вырос многократно, пропорционально падению объёма продаж легального контента.
Мир видеодисков (и аудиодисков тоже) содрогнулся не хуже мира кинематографа. Хотя многие отмечают, что этому миру давно пора меняться, как меняются и кинотеатры — например, переходить к маркетингу через Интернет — все же крупнейшие кино- и видеостудии с этим не торопятся. Когда на смену одним домашним технологиям приходят другие, скажем, внедряются цифровые видеоинтерфейсы и носители большой ёмкости вроде BluRay-дисков, с потенциальным пиратством пытаются вновь бороться старыми, уже проверенными и дискредитировавшими себя методами. И результаты получаются похожими — по крайней мере, честным и наивным людям вроде нас с вами эти технологии порой приносят проблемы, и ничего кроме проблем.
Кто стучится в дверь ко мне?
Итак, в потребительскую аппаратуру постучались цифровые интерфейсы — сначала компьютерный DVI, а потом и HDMI, специально созданный для широкой публики. Видимо, скоро постучится и DisplayPort, да и различные варианты IP-сетей, адаптированных под трансляцию AV-потоков. Стучатся они практически одновременно с приходом эры телевидения высокой чёткости — и контента, записываемого на новые диски BluRay или передаваемого на спутниковые HD-ресиверы. Сами диски защищены своей технологией, более современной AACS (подробности взлома которой можно найти в Интернете), а вот защита от перезаписи по видеоинтерфейсу теперь поручена новой криптографической системе HDCP (High-bandwidth Digital Content Protection). Именно о ней и о проблемах, с ней связанных, мы и поговорим.
ЧТО ЗА ЗВЕРЬ
Чем ещё прославилась компания Intel
Вы считаете, что Intel Corp. выпускает только микропроцессоры? Тогда пора расширять свой кругозор. Корпорация ведет и массу других разработок — в том числе программных, в области компьютерной безопасности и криптографии. Именно поэтому, среди других серьёзных альтернатив, для шифрования «на ходу» несжатого потока видеоданных и была выбрана разработка этой знаменитой корпорации. После появления (в 1999 году) на рынке DVI, первой «ласточки» массовых видеоинтерфейсов, в начале 2000 года Intel опубликовала начальную версию стандарта HDCP, разработанного ею с участием компании Silicon Image (прародителя DVI и HDMI). Сегодня лицензированием этой технологии, публикацией новых версий, тестированием оборудования на совместимость занимается дочернее предприятие Intel — Digital Content Protection, LLC (DCP, http://www.digital-cp.com). Недавно стандарт обновлен до версии 2.0 и получил дополнительные расширения.
Каждая компания, желающая использовать HDCP в своих разработках, должна подписать лицензионное соглашение, выполнять требования по защите сопутствующих секретов, которые будет получать от DCP, выплачивать ей годовые отчисления и выкупать у неё нужное количество шифровальных ключей — по числу выпускаемых экземпляров продукции (например, проигрывателей или дисплеев). Затраты эти при массовом производстве невелики, но, разумеется, прямо или косвенно всё равно ложатся в конце концов на плечи рядовых потребителей. Но вот отказаться от этого уже нельзя — иначе вы лишаете себя доступа к современной видеоаппаратуре и к массе современного контента, охраняемого законами об авторских правах: в распространенной терминологии — premium content (ценный контент).
Надо сказать, что точного определения premium content нет, и обычно имеется в виду то, за что надо платить цену (так что контент действительно «ценный»), а применительно к HDCP это обычно означает программы телевидения высокой чёткости (ТВЧ, HDTV) — включающие в себя как видеопрограммы, так и звуковые дорожки.
К чему всё это
Во-первых — для чего вообще нужна HDCP? Система HDCP — это система защиты от копирования. Она защищает передачу ценного контента по цифровым видеоинтерфейсам (DVI, HDMI, DP, GVIF, UDI), которые соединяют компоненты вашей видеосистемы, от несанкционированного копирования этого контента. Она ни в коем случае не защищает, скажем, диски BluRay или телепередачи в формате DVB (для этого служат иные технологии). HDCP не является системой DRM (Digital Rights Management, цифровые средства защиты авторских прав) — такие системы нужны для того, чтобы не дать вам посмотреть видео, если за него не заплачено. Система HDCP не может запретить смотреть видео (на HDCP-совместимом дисплее), она только препятствует пирату записывать его (или копировать).
В настоящий момент система HDCP используется с интерфейсами DVI, HDMI и DisplayPort (а также малоизвестными GVIF и UDI). В последней версии также проработан вопрос о накладывании HDCP на контент, передаваемый по IP-сетям (проводным и беспроводным). Технология HDCP работает принципиально только с цифровыми интерфейсами.
Основными источниками сигнала, от которых можно ожидать поддержки системы HDCP, являются BluRay-проигрыватели и HD-ресиверы кабельного или спутникового телевидения, а также компьютеры с приводами BluRay и продвинутыми видеокартами. DVD-проигрыватели, оснащённые выходами HDMI (и, реже, DVI) также могут иметь на выходе сигнал, обработанный системой HDCP.
Сигнал от таких источников можно просматривать исключительно на дисплеях (проекторах, телевизорах и т.д.), имеющих входной интерфейс с поддержкой технологии HDCP. Легальным образом нельзя посмотреть (и тем более записать) такой сигнал на дисплеях без поддержки HDCP (собственно, для того система и предназначена). Надо сказать, что записывать сигнал, зашифрованный по HDCP, нельзя ни под каким видом.
Использование HDCP постепенно внедряется в законодательном порядке — в Америке через федеральную комиссию (FCC) и конгресс, в Европе через соответствующую комиссию EICTA (аппаратура с маркировкой «HD Ready» обязана иметь защищенный по HDCP интерфейс).
С нами надо построже, построже надо с нами
Как видно, практически все источники легальных ТВЧ-программ так или иначе работают по одному из защищённых HDCP интерфейсов (нелегальные источники не рассматриваем). Поэтому для начала очень важно понять степень строгости законов.
Отмечаем первое: лицензионное соглашение подписывает, и все его требования выполняет ПРОИЗВОДИТЕЛЬ аппаратуры (источников программ, дисплеев), а вовсе не потребитель, конечный пользователь (т.е. мы с вами). Поэтому мы не несём никакой ответственности перед компанией Intel, и ни за какое использование купленной на рынке аппаратуры нас засудить нельзя (по крайней мере, если мы не нарушаем требования инструкции по эксплуатации).
Всем известно, что на рынке предлагаются (некими безымянными производителями, видимо, не боящимися возмездия со стороны закона) некие «HDCP Strippers» — приборы, либо удаляющие кодирование HDCP из цифрового потока, либо переделывающие сигнал в аналоговый формат (допустим, компонентный). Создание таких приборов прямо противоречит лицензионному соглашению, а вот их покупку и использование никто пока не запрещал. Между тем, подобные приборы могут снять массу головной боли при создании инсталляций даже с дисплеями последних поколений, не говоря уже о старых дисплеях, которые в принципе HDCP не поддерживали.
Второе: ценный контент, в котором установлена специальная метка или используется DRM-кодирование (Broadcast flag для телевидения, кодирование AACS для BluRay или CSS для DVD), должен выдаваться с полным разрешением (вроде 1080р) только через цифровые интерфейсы с включённой системой HDCP. Для аналоговых интерфейсов этого ограничения нет, хотя для BluRay-дисков предусмотрена специальная метка ICT — если она есть, на аналоговых выходах разрешение может быть максимум 960х540. На реальных дисках пока такая метка встречается редко. Сами аналоговые выходы допустимы только на источнике сигнала, а на дальнейших (промежуточных) приборах или на дисплее таких выходов быть не должно.
Кстати, наличие и даже поведение аналоговых выходов вообще во многом на совести производителя аппаратуры. Обычно в характеристиках, скажем, BluRay-проигрывателя трудно найти эти сведения — а между тем, аппарат может давать полноценный сигнал на компонентном видеовыходе (если нет метки ICT), может давать сигнал пониженного качества (скажем, класса PAL), а может вообще ничего не давать на выходе при воспроизведении диска с системой AACS. Проверить это зачастую удаётся только опытным путём (о пользе опытного пути мы ещё не раз поговорим).
Третье: запомним, что ценный контент, вышедший из недр воспроизводящей аппаратуры с шифрованием HDCP, должен обязательно оставаться зашифрованным до тех пор, пока не будет показан на дисплее. Все линии связи, кабели, промежуточные приборы вроде коммутаторов должны поддерживать HDCP и никогда не давать на своих выходах незашифрованный сигнал. Это логичное и важное требование создаёт на деле массу проблем при создании сложных AV-систем.
Наконец, четвёртое: все вышесказанное относится к любому аудиовизуальному контенту, в том числе к видео, к звуку, к графике, к текстам и т.д. Однако для звука имеются некоторые послабления (без которых, видимо, создавать практические инсталляции на современной аппаратуре было бы почти нереально). Например, аудио, полученное в зашифрованном виде через интерфейс HDMI, можно расшифровывать и выдавать на выход оборудования (для дальнейшей передачи на усилитель, например) в открытом виде. Правда, для цифровых интерфейсов (S/PDIF, Toslink) качество должно быть не выше 48 кГц/16 бит (т.е. CD-качество, для аналоговых выходов качество не оговаривается). В таком цифровом потоке также должен присутствовать флажок (Copy-never), запрещающий запись материала на цифровые рекордеры.
Концептуально сложно? Запутанно? Строго? Выберите любое качество — и оно подойдёт к системе HDCP. Мне тут же возразят: «Так ведь для домашнего-то пользователя всё равно — купил-воткнул-работает. Ему ничего знать не надо». Правильно (и то не всегда)! Но профессионалам приходится дружить со сложными системами — и вот тут-то незнание от ответственности не спасает…
Глубины математических технологий
Попробуем немного разобраться в сути метода. Для начала, в HDCP вся аппаратура делится на три класса:
Источник сигнала (source) — это ресивер, проигрыватель, компьютер и т.д. Источник обладает тремя вещами: набором секретных криптоключей (device private keys), несекретным идентификатором KSV и списком аннулирования (revocation list). Что всё это значит, мы обсудим позже.
Потребитель сигнала (sink) — тот или иной дисплей (телевизор, проектор, монитор и т.д.). Потребителю нужны две вещи: набор секретных криптоключей и несекретный KSV.
Репитер (repeater) — любое промежуточное устройство (не кабель), например активный повторитель, коммутатор, матрица, распределитель, масштабатор и т.д. Репитер сначала раскодирует сигнал, далее обрабатывает его (если надо), после чего вновь зашифровывает и выдаёт на свой выход. Для работы репитеру нужно как минимум два набора криптоключей и два индентификатора KSV (один для входа, другой для выхода), а если в репитере два выхода или больше — то ещё криптоключи и KSV для каждого дополнительного выхода.
Конечный пользователь ничего не подозревает о каких-то криптоключах и KSV, они касаются только производителя аппаратуры — и нас с вами, если уж мы хотим разобраться.
Производитель же аппаратуры обязан закупать у Intel (точнее, у DCP) наборы криптоключей и KSV (эти вещи жёстко привязаны друг к другу). В каждый экземпляр выпускаемой продукции прошивается такой уникальный набор. Наборы никогда не повторяются (и это важно запомнить).
Итак, что нужно, чтобы эти компоненты работали друг с другом? Никогда этого не случится, пока не завершится успешно процесс аутентификации. Процесс заключается в том, что источник сигнала (или выход репитера) «обнюхивает» приёмник сигнала и принимает решение с ним работать, после чего договаривается с ним — какими криптоключами будет шифроваться контент в данном сеансе работы. Источник сигнала здесь главный, он собственно отвечает за прохождение всей процедуры и отвечает за большую часть возникающих при этом проблем.
Весь обмен производится по специальному служебному каналу связи, в интерфейсах DVI и HDMI — это канал DDC. Именно поэтому все компоненты системы должны быть связаны между собой полноценными кабелями, канал DDC должен нормально работать (и никакие «эмуляторы DDC», по крайней мере легальные, не заставят работать систему HDCP).
Есть два радикально разных случая для процедуры аутентификации: простой и сложный. Простой случай — это когда к источнику сигнала прямым кабелем подключён потребитель (дисплей). Тогда источник 1) удостоверяется, что дисплей поддерживает HDCP; 2) считывает его KSV и по своему списку аннулирования (помните такой?) проверяет, что такого KSV там нет (если есть — всё, аутентификация не удалась); 3) договаривается с дисплеем об общем ключе шифрования (он получается длиной 56 бит, если кому интересно); 4) начинает передачу AV-контента, используя ключ для поточного его шифрования. Дисплей, со своей стороны, расшифровывает тем же ключом получаемый поток и показывает его на экране (и воспроизводит в громкоговорителях). Любые ошибки в процессе приводят к тому, что картинки вы не увидите. Аппаратура будет пытаться вновь провести аутентификацию не реже раза в 2 секунды, пока это ей не удастся. Кстати, даже когда картинка уже будет выводиться, с той же периодичностью система будет проверять, что с дисплеем всё в порядке, и если что не так — аутентификация будет повторена. Заметим, что пока идет этот процесс, картинки и звука вы, скорее всего, не получите.
В более сложном случае к источнику сигнала подключён не сам дисплей, а репитер (например, распределитель сигнала) — или, того хуже, целое дерево из репитеров и дисплеев. Знакомая картина? Вспомним мультирумную систему, или хотя бы витрину из множества мониторов в торговом центре, или систему Digital Signage. Пусть заказчик всего-то хочет поставить у себя два дисплея — плазму и проектор — и вот уже мы получили сложный случай, с распределителем 1:2. Для этого случая источник сигнала проводит еще одну фазу аутентификации — после вышеописанной первой (и до начала выдачи зашифрованного контента). В этой дополнительной фазе он 1) считывает из репитера таблицу KSV подключённых к нему дисплеев (или следующих репитеров) и KSV самого репитера; 2) проверяет эти KSV на предмет отсутствия в списке аннулирования; 3) проверяет максимальный уровень вложенности (всего каскадом можно включить до 7 репитеров, более длинные цепочки не допускаются); 4) проверяет общее количество KSV — как репитеров, так и конечных дисплеев (в сумме их может быть до 128, системы большего размера не допускаются). Только после этого он может начать выдавать зашифрованный ценный контент.
Как мы видим, HDCP накладывает жесткие ограничения на объём системы: до 7 каскадов, до 128 узлов (включая репитеры). В реальной жизни уже встречались комплексы, в которых приходилось «упираться» в эти ограничения (и преодолевать их легче всего, убирая HDCP нелегальным прибором-стриппером). Кроме того, важную роль, оказывается, играет список аннулирования. Что же это такое? В памяти источника сигнала, согласно стандарту, должен храниться список на примерно 1000 идентификаторов KSV. Этот список может периодически обновляться — на новых релизах BluRay-дисков прописываются соответствующие таблицы, такие таблицы посылаются и через эфир или по кабелю на DVB-ресиверы. Аппарат должен обновить у себя таблицу, если она более «свежая», чем та, что у него уже есть. Теоретически в таблице хранятся KSV «плохих» репитеров и дисплеев — видимо, пиратских. Как только источник сигнала обнаруживает, что среди его потребителей оказывается такой «пират», он тут же отказывается выдавать на выход ценный контент (и, по усмотрению производителя, звонит в полицию — шутка). Этот бесценный механизм борьбы с пиратством пока практически не использовался (слишком много при этом возникает правовых и денежных вопросов), и даже HDCP-стрипперы в нём пока не значатся. Однако он обязан быть реализован в каждом приборе — и тоже осложняет нашу практическую жизнь.
Выше мы в максимально упрощённой форме погрузились в глубины технологий — на самом деле изучать все перипетии процесса лучше по самому тексту стандарта HDCP — благо он в открытом доступе. Главное — это сложный процесс, требующий тщательного согласования работы всех компонентов системы, безошибочной реализации замысловатых алгоритмов. Между тем, даже самую дорогую аппаратуру разрабатывают живые люди на основе инженерных компромиссов (куда же без них?). В результате реальные приборы иногда ведут себя немного не так, плохо «понимают» друг друга, слишком долго «думают». Микропрограммы устройств содержат ошибки, а иногда целые ветви алгоритмов попросту недостаточно проработаны. Например, источник сигнала может хорошо проходить первую фазу аутентификации (для «простого» случая), и неправильно реализовывать вторую (для «сложного» случая). Тогда дисплей, подключённый к источнику напрямую, будет показывать контент, а при подключении через репитер — не будет. Порой очень трудно понять, какой из приборов «виноват» — но источник сигнала, как более сложный прибор, обычно виноват чаще (а дисплеи, как концептуально менее сложные, и виноваты обычно реже всех).
Чем аналоговое телевидение было лучше цифрового
Все вышеописанное звучит диковато для человека, привыкшего к аналоговой технике. Да, там были свои трудности — но трудности хорошо изученные и преодолимые. Аналоговая аппаратура понятна, в кабелях идут «человеческие» сигналы, поведение системы обычно предсказуемо.
Система на основе HDMI (например) и HDCP оказывается концептуально на порядки сложнее, хотя с виду этого и не скажешь (и уж точно не поймёшь из рекламных буклетов). В результате даже при всех усилиях разработчиков современной аппаратуры избежать многочисленных нестыковок и глюков не удаётся. К сожалению, такие системы вдобавок очень трудно поддаются диагностике — ничего в интерфейсах ни тестером, ни осциллографом не разглядишь, а запуск практической системы приходится осуществлять попросту методом тыка. Иногда, зайдя в тупик, попросту не знаешь, за что ещё хвататься…
ИНКАРНАЦИИ И ОБРЯДЫ
Итак, с чего всё начиналось и чем всё может закончиться.
Детство и версия 1.0
Как мы уже говорили, первая версия HDCP относится к 2000 году. В ней система рассматривается применительно только к одному актуальному на тот момент, недавно появившемуся интерфейсу DVI-D (Digital Visual Interface, digital-only). Соответственно и речь пока идёт только о шифровании видеоданных — ничего иного DVI передавать не умеет.
С другой стороны, уже в детстве все компоненты системы — аутентификация, списки аннулирования, шифрование — имели абсолютно современные очертания. В результате в стандарте любой версии чётко прописано требование совместимости — как сверху-вниз, так и снизу-вверх — между любой аппаратурой, отвечающей требованиям HDCP. Приборы с HDCP новых версий должны автоматически переходить на младший режим при работе с более старыми партнёрами (это, увы, не касается версии 2.0 и выше).
Заметим, что в те времена аппаратура с поддержкой HDCP встречалась крайне редко — интерфейс DVI и сейчас используется в основном в околокомпьютерной технике, где шифровать ценный контент по требованию правообладателей чаще всего просто не надо.
Отрочество и версии 1.1 и 1.2
Поскольку потребительский интерфейс HDMI (High Definition Multimedia Interface, прямой наследник DVI) набирал обороты и становился неизбежностью для массовой аппаратуры, система HDCP была адаптирована для него. Собственно адаптация заключалась, в основном, в поддержке встроенного в HDMI аудио. Как известно, звук в HDMI передаётся в одном потоке вместе с видео, поэтому к нему применяется тот же самый метод шифрования. Разница только в учёте специальных защитных интервалов, которые были добавлены в протокол передачи по HDMI специально ради аудио (и, возможно, иных данных, если они понадобятся в будущем).
Дополнительно была чуть изменена процедура аутентификации, но это не должно вызывать затруднений у правильно спроектированной аппаратуры (буде таковая случится в реальной жизни).
Юность и важные вехи версии 1.3 и 1.4
В юности система обросла (как и положено юношам) дополнительной поддержкой малоупотребительных интерфейсов Unified Display Interface (UDI, изобретено Intel и Samsung, но ныне заброшено) и Gigabit Video Interface (GVIF, изобретено Sony в основном для использования в автомобилях), а также гораздо более актуального интерфейса DisplayPort (DP).
Интерфейс DP предложен ассоциацией VESA в 2006 году, а под HDCP адаптирована его текущая версия 1.1. Этот стандарт, в отличие от HDMI, не требует лицензионных отчислений (а как вы думали? Платить только за HDCP? За HDMI тоже надо платить, отдельно!). Он имеет некоторые технические преимущества (теоретически большую скорость передачи при более длинных кабелях, куда более удобный разъём с фиксатором, способность передавать любые данные, возможность транслировать в обе стороны разную ценную информацию вроде звука или USB, работу в качестве магистрали внутри приборов), но при этом технически несовместим с DVI/HDMI. Впрочем, совместимость достигается с помощью несложных приборов-преобразователей, да и прямая поддержка этого интерфейса в компьютерах и мониторах, похоже, идёт нарастающими темпами. Кстати, в DisplayPort может, кроме HDCP, использоваться и другая система криптографии — DPCP (DisplayPort Content Protection, разработка Philips).
Зрелость и мудрость версии 2.0
Наконец, осенью 2008 года мы доросли до версии 2.0. Зрелость проявилась в том, что теперь стандарт не ограничен лишь перечисленными ранее интерфейсами, а распространён на любые соединения (проводные и беспроводные), по которым передаётся аудиовизуальный ценный контент. Но, главное — радикально изменились методы аутентификации и шифрования. Теперь используется более длинный ключ шифрования, но главное для нас — совместимость с версиями 1.х отсутствует!
Единственное, что осталось прежним — это идентификатор KSV (теперь переименованный в Receiver ID). И список аннулирования — тоже. Поскольку всё остальное поменялось, то для стыковки с аппаратурой, спроектированной в расчёте на стандарт HDCP версий 1.х, предлагается использовать конвертеры — дополнительные приборы-репитеры, имеющие на одном «конце» версию 2, а на другом — версию 1. Нравится? Бесплатно эти приборы явно раздавать не будут.
Для чего всё это было сделано? Кажется, для того, чтобы «вживить» HDCP в любые интерфейсы, в том числе и на основе IP-протокола, а также и для того, чтобы повысить стойкость шифрования за счёт использования более мощного алгоритма RSA с длинным ключом. Кроме того, добавлен, например, «locality check» — проверка того, что приёмник сигнала находится где-то рядом, а не на другом конце света (измеряется скорость прохождения сообщения до него, на всё про всё даётся всего 7 миллисекунд).
Мне кажется, почти все поставленные перед второй версией цели никак не отвечают интересам конечных пользователей (нам, в общем, нужна картинка, а не повышенная длина ключа), а вот создать ожидаемые и дополнительные непредвиденные трудности — очень даже может. Остаётся только надеяться, что промышленность не так скоро будет вынуждена повсеместно перейти на эту вторую версию. Мудро?
КАК С ЭТИМ ЖИТЬ
Как жили без этого
Обычно принято ругать аналоговую технику и хвалить цифровую, новой формации. И впрямь — повсеместное внедрение цифры как раз и совпало (было причиной?) со значительным повышением качества как звука, так и видео — и программ, и устройств их воспроизведения. Ко всему прочему «цифра» внедрилась одновременно и с Сетью — в результате доступность контента в хорошем качестве повысилась на порядки. Действительно — залезть в Интернет, скачать файл mp3 и послушать его может любой. Качество однозначно лучше, чем на компакт-кассете (а большинству и кассет вполне хватало). С видео история примерно такая же. Всё не просто, а страшно просто. Страшно для индустрии развлечений, которая теряет на пиратстве огромные деньги — и защищается как может. В первую очередь внедрением средств DRM (Digital Rights Management), защиты от копирования (вроде HDCP) и судебными преследованиями.
Так что раньше, при аналоговой технике, жили бедно, но свободно. Да, качество было не ахти (мы берём среднюю бытовую аппаратуру). Да, при перезаписи и со временем оно терялось. Да, громоздкие и неудобные грампластинки и видеокассеты. Да, чтобы списать кассету, надо было брать подмышку магнитофон и ехать к другу на другой конец города — это вам не обмен торрентами по Сети. Зато всё концептуально просто, и ни о каких громких судебных процессах я как-то не слышал.
И, разумеется, построение сложных систем на основе аналоговой техники (или даже цифровой, но без HDCP) тоже отработано и вылизано поколениями инженеров. Строите ли вы конференц-зал, или систему рекламы на телевизионных панелях, или мультирумный проект — результаты почти предсказуемы, почти всё можно просчитать, почти любую систему можно заставить работать. (Я говорю — почти, потому что всегда есть вероятность того, что всё пойдёт не так — см. законы Мэрфи). Поэтому раньше мы жили почти счастливо, и наивно надеялись, что дальнейший прогресс лишь углубит наше счастье.
Будущее наступило, и цифровая техника демонстрирует нам то, что было немыслимо в недалёком прошлом: она «глючит», «подвисает», любит перепрошивку, требует от нас нетривиальных действий, сложна в освоении, несовместима сама с собой, хочет «кодеков» и «драйверов», отказывается играть некоторые диски, следит за нами и проверяет нас на легальность и т.д. (дополните сами). И ещё она требует от нас другого подхода к проектированию систем, с учётом новых концепций.
Подводный сад камней
Итак, какие грабли теперь стоит учитывать: