Опубликовано в журнале "Компьютерра" №4 от 31 января 2007 года
История вскрытия криптотехнологии AACS для видеодисков высокой четкости - как, впрочем, и любая другая история о вскрытии систем защиты - непременно несет в себе элементы эдакого хайтек-детектива. Во-первых (как давно заметили классики), по той причине, что все читатели и зрители очень любят детективные сюжеты. А во-вторых, процесс взлома всякой новой, потенциально сильной криптосхемы очень напоминает взлом хитроумного сейфа. Причем в случае с AACS имеются очень разные взгляды на то, кому же сокровища в этом "сейфе" принадлежат - продавцу или все же покупателю, отдавшему за диск с фильмом свои кровные. Иначе говоря, большой вопрос, кто тут в конечном счете "потерпевшая сторона", а кто "злоумышленник".
Как бы то ни было, голые факты таковы: в течение месяца международное сообщество энтузиастов-любителей DVD, кое-что смыслящих в программировании и компьютерной технике, совместными усилиями нашло пути для снятия криптозащиты AACS с видеофайлов обоих конкурирующих форматов, HD DVD и Blu-ray. Поскольку хронология вскрытия документально зафиксирована на страницах сетевого форума doom9.org, вполне определенно можно сказать, что сделали это не криминальные структуры или безответственные злодеи, жаждущие славы и легкого обогащения, а обычные люди, имеющие в распоряжении ПК с хорошим дисплеем, приличной видеокартой и приводом HD DVD или Blu-ray - но при этом не имеющие возможности смотреть HD-фильмы на своем компьютере из-за того, что придуманные Голливудом искусственные правила этого не дозволяют. А единственный разумный путь обойти столь глупые запреты - попытаться дешифровать содержимое диска самостоятельно, сохраняя результат на винчестере, а затем смотреть файл как обычное видео высокого разрешения. Что, собственно, и было сделано.
Для пояснения сути содеянного понадобится затронуть некоторые технические подробности весьма нетривиальной конструкции криптосхемы AACS, или "продвинутой системы контроля доступа" к контенту. В предельно упрощенном виде AACS аналогична печально известной системе CSS, защищающей контент в DVD и вскрытой поразительно легко. Как и там, в AACS каждое устройство воспроизведения (аппаратный или программный плеер) получает свой идентификатор DeviceID и соответствующие только ему ключи расшифрования. Когда изготовляется диск с очередным фильмом, то для фильма генерируется уникальный случайный ключ Title Key (длиной 16 байт), с помощью которого видеофайл шифруется для записи на диск. Этот Title Key тоже шифруется - особым способом, который задает, какие именно ключи каких устройств с DeviceID смогут расшифровать именно этот Title Key. Результат криптографической обработки записывается в поле заголовка на видеодиске… Когда плеер хочет считать диск, то сначала он использует свои собственные ключи расшифрования (которые, напомним, соответствуют конкретному DeviceID) для доступа к Title Key в заголовке диска, а затем - Title Key для расшифровки собственно фильма.
При взломе схемы CSS хакерам удалось найти и выделить незашифрованный ''ключ устройства" внутри кода программного плеера Xing. В случае с AACS этот опыт был разработчиками явно учтен, так что поиски ключа в коде программ воспроизведения успехом не увенчались. Тогда некто под псевдонимом Muslix64 решил поискать иной ключ - Title Key к конкретному фильму, и, естественно, совсем в ином месте - в оперативной памяти компьютера. Сделано это было весьма остроумно. Сначала Мюсликс выделил для анализа соответствующий дамп памяти размером 2 мегабайта, где находилось начало зашифрованного фильма и, вероятно, собственно ключ. А затем, зная общую структуру хранения блоков на диске и принятые в спецификациях стандарты их оформления, он предположил, как должны выглядеть первые байты расшифрованных блоков ("открытый текст"). Теперь задача приобрела почти классический вид отыскания ключа по известному фрагменту открытого текста. Специально написанная процедура для программы расшифрования стала по очереди перебирать в качестве ключа все 16-байтные последовательности, прочесывая весь дамп памяти. На каком-то шаге результат расшифрования блока совпал по структуре с (предположенным) открытым текстом. Проверка подтвердила, что это действительно Title Key.
Все эти подробности стали известны гораздо позже. Поначалу же Мюсликс, явно желая оставаться в рамках "правового поля", опубликовал в Сети лишь свою программу BackupHDDVD, которая просто реализует общедоступные спецификации алгоритма AACS и по известному Title Key расшифровывает файлы с HD-DVD для архивации на жестком диске. Однако ни одного из найденных Title Key сам Мюсликс не опубликовал, отметив лишь, что владельцы HD-оптодисков могут найти их сами в оперативной памяти компьютера.
Одни Мюсликсу не поверили, решив, что это розыгрыш. Другие же пустились в самостоятельные исследования - с хорошо известными ныне результатами. В настоящее время в Интернете опубликованы Title Keys примерно к полусотне уже фильмов на HD-DVD, то есть примерно трети всего каталога для данного формата. Что касается Blu-ray, то привода под диск этого стандарта у Мюсликса не было. Зато он был у другого человека с ником Janvitos, который применил аналогичную технику анализа структуры файлов и выделения дампа памяти. Затем к делу снова подключился Мюсликс - и в итоге в Сети появились Title Keys к фильмам на Blu-ray… Ну и как следствие, в файлообменных сетях начали циркулировать огромные, весом около 20 гигабайт фильмы HD-разрешения.
Теперь, естественно, ожидается реакция Голливуда в стиле "империя наносит ответный удар". Но только вряд ли это повлияет на общий ход процесса.