DeCSS — бесплатная компьютерная программа, способная расшифровать содержимое дисков DVD-Video, зашифрованных с использованием системы Content Scramble System (CSS). Существует менее известный аналог DeCSS, выпущенный практически в то же самое время — DoD Speed Ripper. Программы были некоммерческими, с открытым исходным кодом.
Самая главная разница между «первым поколением» DVD взломщиков и такими программами, как DeCSS и DoD Speed Ripper, заключается в том, что старые взломщики не дешифруют DVD. Вместо этого они позволяют DVD-проигрывателю делать расшифровку самостоятельно, а затем «цепляются» к видео или другим подходящим драйверам и копируют уже расшифрованный поток данных. «Второе поколение» выполняет фактическую дешифровку.
Авторство DeCSS приписывается трём людям, имена двух из которых остались неизвестными. Единственным известным автором программы являлся норвежский подросток Йон Йохансен (норв. Jon Johansen), в отношении которого было заведено уголовное дело по статье 145 норвежского уголовного кодекса (незаконный доступ к информации)[1]. Позднее, в 2003 году, Йохансен был оправдан по всем предъявляемым обвинениям. 22 января 2004 года DVD Copy Control Association отозвала иск против Йона Йохансена[2].
DeCSS (под версией 1.1b) впервые был опубликован в почтовой рассылке LiViD (Linux Video and DVD) 6 октября 1999 года как программа с закрытым исходным кодом для Windows-платформы, служащая для копирования DVD-дисков[3]. До этого группой Drink or Die была выпущена программа DoD DVD Speed Ripper[4], также без исходного кода и работавшая не со всеми DVD-плеерами. Члены Drink or Die дизассемблировали код плеера Xing и получили его ключ в открытом виде. Авторы DeCSS, включая Йохансена, называясь группой Masters of Reverse Engineering (MoRE), могли получить нужную информацию от Drink or Die[4].
DeCSS была проектом нескольких людей, участие Йона заключалось в написании графического интерфейса программы. Согласно заявлению Апелляционного суда Боргартинга, программа состояла из графического интерфейса, написанного Йохансеном, подпрограммы аутентификации, написанной Дереком Фаукусом в рамках проекта LiViD (причём код был взят участниками MoRE с нарушением лицензии GPL) и подпрограммы дешифрации, написанной анонимным программистом под ником «the nomad» и переданной Йохансену другим анонимом под ником «mdx». «mdx» упомянул в беседе в IRC, что «the nomad» получил алгоритм дешифровки дисков и ключ шифрования, воспользовавшись обратной разработкой DVD-плеера Xing[5]. Позднее проблема релицензирования кода Дерека Фаукуса была решена в почтовой рассылке[6].
Формат DVD позволяет записывать на диск гораздо больший объём информации за счет использования лазера с меньшей длиной волны. Однако, для ограничения распространения нелицензионного софта и устройств для чтения DVD, формат, в котором записывались фильмы (так как изначально формат DVD разрабатывался как замена видеокассетам), защищался специальной шифровальной системой Content Scrambling System (CSS).
Все DVD помечены зональным кодом (Regional Protection Code), соответствующим одной из семи зон, для которой эти DVD предназначены. Алгоритм CSS нужен для того, чтобы ограничить возможность чтения дисков в посторонних зонах.
Изначально программа DeCSS задумывалась как средство, которое позволит смотреть DVD на альтернативных ОС, например Linux или BSD. В то время программные DVD-проигрыватели существовали только для таких операционных систем, как Windows и Mac OS. Детали реализации CSS были доступны лицензиатам, оплачивавшим доступ на регулярной основе. Лицензия,[7] связанная с соглашением о неразглашении, напрямую запрещала разработку открытого ПО для воспроизведения DVD.
Создатели DeCSS пошли путём обратной разработки плеера Xing для получения ключа дешифрирования и алгоритма работы, что было признано незаконным[5].
Внимание к юридической проблеме использования DeCSS привело к тому, что в алгоритме CSS были обнаружены многочисленные уязвимости, позволяющие существенно сократить подбор правильного ключа для расшифровки данных на диске. Даже при стандартном переборе с использованием уязвимостей домашний компьютер 1999 года справлялся с задачей в течение суток, а современные компьютеры способны подобрать правильный вариант в течение считанных секунд[8]. Эти исследования положили старт многочисленным проектам для использования в проигрывателях с открытым исходным кодом. Один из таких проектов, libdvdcss, использует готовый набор ключей проигрывателя, сгенерированный заранее. Если ни один из них не работает (в случае усиленного кодирования DVD-привода на регион), то выполняется попытка использовать полный перебор, и региональная защита игнорируется.
Основной юридической проблемой использования программ, подобных DeCSS, было то, что с помощью них можно было создавать идентичные копии дисков с незашифрованными данными, которые можно было бесконтрольно копировать и распространять.
В США был возбужден ряд судебных исков, истцами которых выступали члены Американской ассоциации кинокомпаний (MPAA), а также DVD Copy Control Association[9], а ответчиками — владельцы сайтов, размещавших программу DeCSS, алгоритм её работы, исходный код или ключи расшифровки, в числе которых был известный хакер Эрик Корлей (псевдоним Emmanuel Goldstein, редактор журнала 2600)[10]. В ответ в Интернете развернулась кампания по публикации материалов по алгоритму CSS во всевозможных формах: на футболках, в качестве MIDI-файлов, в виде хайку[11][12] и даже в виде так называемого незаконного простого числа[13].
Специально для отвлечения сыщиков MPAA была создана программа DeCSS, занимающаяся удалением CSS из HTML-страниц[14].