Введение
Защита от цифрового копирования
Защита цифрового контента с высокой пропускной способностью (HDCP) — это форма защиты от цифрового копирования, разработанная корпорацией Intel для предотвращения копирования цифрового аудио- и видеоконтента при передаче по соединениям. Типы соединений включают DisplayPort (DP), Digital Visual Interface (DVI) и High Definition Multimedia Interface (HDMI), а также менее распространенные или устаревшие протоколы, такие как Gigabit Video Interface (GVIF) и Unified Display Interface (UDI). Система предназначена для предотвращения воспроизведения контента, зашифрованного по стандарту HDCP, на неавторизованных устройствах или устройствах, которые были модифицированы для копирования контента HDCP. Перед отправкой данных передающее устройство проверяет, имеет ли получатель право на его получение. Если да, передающее устройство шифрует данные для предотвращения перехвата при передаче получателю. Например, устройство не должно быть спроектировано для копирования; оно должно "препятствовать попыткам обойти требования к защите контента". Intel подтвердила, что взлом существует, и полагает, что мастер-ключ был получен путем обратной разработки, а не утечки. Intel пригрозила судебным иском любому производителю нелицензированных устройств.
Обход
HDCP-стрипперы расшифровывают поток HDCP и передают незашифрованный видеосигнал HDMI, позволяя использовать его на дисплеях, не поддерживающих HDCP. В настоящее время неясно, продолжат ли работать такие устройства, если организация, управляющая лицензированием HDCP, опубликует списки отзыва ключей, которые могут быть установлены через новые носители (например, новые Blu-ray диски), воспроизводимые другим устройством (например, Blu-ray проигрывателем), подключенным к этому устройству.
Выпуск мастер-ключа
14 сентября 2010 года Engadget сообщил о публикации возможного подлинного мастер-ключа HDCP, способного создавать ключи устройств, аутентифицирующихся с другими устройствами, совместимыми с HDCP, без получения действительных ключей от The Digital Content Protection LLC. Этот мастер-ключ нейтрализует функцию отзыва ключей HDCP, поскольку новые ключи могут быть созданы после отзыва старых. Intel пригрозила судебным преследованием любому, кто производит оборудование для обхода HDCP, возможно, в соответствии с Законом о цифровом авторском праве тысячелетия. Атака использовала тот факт, что в процессе сопряжения ключ Km передается, замаскированный операцией XOR. Это не позволяет шифровальщику (приемнику) определить, шифрует он ключ или расшифровывает его. Кроме того, входные параметры для XOR и AES, расположенного выше, фиксированы со стороны приемника, что позволяет передатчику повторить ту же операцию. Такая конфигурация позволяет злоумышленнику перехватывать протокол сопряжения, повторять его с небольшими изменениями и извлекать ключ Km. Небольшое изменение заключается в выборе "случайного" ключа, равного зашифрованному ключу из предыдущего обмена данными. Затем злоумышленник запускает протокол и в сообщении о сопряжении получает E(E(Km)). Поскольку E основан на XOR, он самообращается, тем самым раскрывая Km легитимного устройства. Версия V2.2 была выпущена для устранения этой уязвимости путем добавления случайности, генерируемой приемником. Однако передатчик в V2.2 не должен поддерживать приемники V2.1 или V2.0, чтобы избежать этой атаки. В связи с этим был выпущен новый бюллетень (erratum) для переопределения поля "Type", чтобы предотвратить обратную совместимость с версиями ниже 2.2. Флаг "Type" должен запрашиваться правилами использования контента (например, через DRM или CAS, которые открыли контент). В августе 2015 года появились слухи о взломе версии 2.2. Эпизод сериала AMC "Во все тяжкие" (Breaking Bad) был опубликован в интернете в формате UHD; его метаданные указывали на захват с HDMI (HDMI cap), то есть он был записан через интерфейс HDMI, который снял защиту HDCP 2.2. 4 ноября 2015 года китайская компания LegendSky Tech Co., уже известная своими другими устройствами для обхода HDCP (рипперами/сплиттерами) под брендом HDFury, выпустила HDFury Integral – устройство, способное удалять HDCP 2.2 с UHD-контента, защищенного HDCP. 31 декабря 2015 года Warner Bros и Digital Content Protection, LLC (DCP, владельцы HDCP) подали в суд на LegendSky. Однако иск был в конечном итоге отозван после того, как LegendSky заявила, что устройство не "удаляет" защиту контента HDCP, а лишь понижает ее до более старой версии, что явно разрешено в лицензионном соглашении DCP.
Проблемы
HDCP может вызывать проблемы у пользователей, желающих подключить несколько экранов к одному устройству; например, в баре с несколькими телевизорами, подключенными к одному спутниковому ресиверу, или когда пользователь работает с закрытым ноутбуком, используя внешний дисплей в качестве единственного монитора. Устройства HDCP могут генерировать несколько ключей, обеспечивая работу каждого экрана, но их количество варьируется в зависимости от устройства; например, спутниковые ресиверы Dish или Sky могут генерировать до 16 ключей. Технология иногда приводит к проблемам с установлением соединения (handshaking), особенно со старыми дисплеями высокого разрешения. Эдвард Фелтен писал, что "основным практическим следствием HDCP стало создание еще одного способа, которым ваша электроника может некорректно работать с телевизором", и после инцидента с главным ключом заключил, что HDCP – это "скорее инструмент для формирования рынка потребительской электроники, чем система безопасности". Дополнительные проблемы возникают при использовании интерактивного медиаконтента (например, видеоигр), где наблюдается задержка управления из-за необходимости дополнительной обработки для кодирования/декодирования. Также негативно сказываются различные повседневные сценарии использования, такие как прямые трансляции или запись игрового процесса. Существует также проблема, заключающаяся в том, что все ноутбуки Apple, предположительно для сокращения времени переключения, автоматически активируют шифрование HDCP через порты HDMI / Mini DisplayPort / USB-C при подключении к устройству, поддерживающему HDCP. Это создает неудобства, если пользователь планирует использовать функции записи или видеоконференций, поскольку эти устройства обычно не декодируют контент, защищенный HDCP (поскольку HDCP предназначен для предотвращения прямого копирования контента, что эти устройства потенциально могли бы сделать). Это относится даже к контенту, не требующему защиты HDCP, например, к презентации PowerPoint или интерфейсу устройства. Некоторые приемники (sink devices) имеют возможность полностью отключить отчетность о HDCP, что позволяет избежать блокировки контента для видеоконференций или записи. Однако, если эта функция отключена при подключенном приемнике, HDCP-контент может не воспроизводиться на многих источниках. При подключении источника HDCP 2.2 через совместимый распределитель к видеостене, состоящей из нескольких устаревших дисплеев, отображение изображения не может быть гарантировано.
Версии
HDCP revision Release Date Notes 1.0 17 февраля 2000 Поддерживает только DVI 1.1 9 июня 2003 Поддерживает DVI, HDMI 1.2 13 июня 2006 Поддерживает DVI, HDMI 1.3 21 декабря 2006 Поддерживает DVI, HDMI, DP, GVIF, UDI 1.4 8 июля 2009 2.0 IIA 23 октября 2008 Интерфейсная независимая адаптация, любой IP-интерфейс. Сжатое или несжатое видео (указано только для сжатого через PES). 2.1 IIA 18 июля 2011 Новый механизм управления контентом типа 1. Тип 1 – флаг, предотвращающий передачу контента на HDCP версий v1.x. Предполагается, что контент UHD потребует этого. Решает проблему добавления устройств в дерево HDMI без полной переаутентификации дерева, позволяя списку ReceiverID быть асинхронным. 2.2 IIA 16 октября 2012 Устраняет уязвимость, описанную выше, а также другие недостатки в проверке локальности. Тип 1 расширен для предотвращения передачи контента в версии v2.1, v2.0 и v1.x, поскольку все они имеют уязвимости. 2.2 для HDMI 13 февраля 2013 Эта спецификация не связана с обратной совместимостью с версиями v2.0 и v2.1, что делает ее чистой версией v2.2. 2.2 для MHL 11 сентября 2013 2.3 для HDMI 28 февраля 2018
Compressed or uncompressed video (only specified for compressed over PES though) 2.1 IIA 18 July 2011 New mechanism to manage Type 1 content. Type 1 is a flag preventing content from going to v1. x HDCP. It is assumed that UHD content will require that. Resolves addition of devices to the HDMI tree without a full tree re authentication by allowing ReceiverID List to be asynchronous 2.2 IIA 16 October 2012 Addresses a breach described above, as well as other flaws in Locality Check
Type 1 extended to preventing content from going to v2.1, 2.0 and v1. x as they all have weaknesses 2.2 for HDMI 13 February 2013 This spec is not bound to backward compatibility to v2.0 and v2.1 hence makes it a clean version of v2.2 2.2 for MHL 11 September 2013 2.3 for HDMI 28 February 2018
HDCP v2.x (всего лишь для HDCP)
Версия 2.x HDCP не является развитием HDCPv1, а представляет собой принципиально иную систему защиты соединения. Версия 2.x использует отраслевые стандартные алгоритмы шифрования, такие как 128-битный AES с 3072- или 1024-битным открытым ключом RSA и 256-битная хеш-функция HMAC SHA256. HDCP 2.x включает в себя новый протокол аутентификации и проверку близости, чтобы убедиться, что приемник находится на достаточно близком расстоянии (он должен ответить на проверку близости в течение 7 мс при нормальном DVI/HDMI-соединении). Версия 2.1 спецификации была подвергнута криптоанализу, в результате которого были выявлены несколько уязвимостей, включая возможность восстановления ключа сессии. Между HDCP v2 и v1 сохраняется некоторое сходство. Оба находятся под управлением DCP LLC. Они используют одно и то же лицензионное соглашение, правила соответствия и требования к надежности. Они используют одну и ту же систему отзыва и один и тот же формат идентификаторов устройств.