libdvdcss
libdvdcss — это библиотека с открытым исходным кодом, предназначенная для дешифрования содержимого DVD-дисков, защищённых системой Content Scramble System (CSS). Она относится к классу программных средств для обхода защиты авторских прав и используется в основном в составе медиаплееров и утилит для копирования видео.
История
Система CSS была разработана консорциумом DVD Copy Control Association (DVD CCA) в середине 1990-х годов как механизм шифрования, призванный предотвратить несанкционированное копирование DVD-видео. Алгоритм CSS был относительно слабым (использовал 40-битные ключи), но его взлом считался технически сложным.
В 1999 году норвежский программист Йон Лех Йохансен (Jon Lech Johansen), известный под псевдонимом «DVD Jon», совместно с группой единомышленников из проекта DeCSS разработал первую программу, способную расшифровывать CSS. Исходный код DeCSS был опубликован в интернете, что вызвало серию судебных исков со стороны DVD CCA и голливудских киностудий.
В 2001 году на основе кода DeCSS была создана библиотека libdvdcss, которая стала частью проекта VideoLAN (разработчик медиаплеера VLC media player). Основной целью было создание кроссплатформенного и стабильного решения для работы с CSS-защищёнными DVD в открытых медиаплеерах.
Правовой статус
Правовой статус libdvdcss различается в зависимости от юрисдикции. В большинстве стран мира, включая США и страны Европейского союза, использование и распространение libdvdcss может нарушать законы об обходе технических средств защиты авторских прав, такие как Digital Millennium Copyright Act (DMCA) в США или Директива ЕС об авторском праве.
В России использование libdvdcss не является прямо запрещённым, однако может подпадать под действие статьи 1299 Гражданского кодекса РФ («Технические средства защиты авторских прав»), которая запрещает обход таких средств без разрешения правообладателя. На практике преследования за использование libdvdcss в личных целях в России не зафиксированы.
В ряде стран (например, в Норвегии, где проживал создатель DeCSS) распространение libdvdcss было признано законным, если оно не преследует коммерческих целей и не нарушает авторские права.
Технические принципы работы
Алгоритм CSS
Content Scramble System (CSS) использует симметричное шифрование с ключом длиной 40 бит. Каждый DVD-диск содержит несколько ключей:
- Дисковый ключ (Disk Key) — общий для всего диска, зашифрован в области данных.
- Ключи титулов (Title Keys) — уникальные для каждого видеофайла (VOB), зашифрованы дисковым ключом.
- Ключи плееров (Player Keys) — секретные ключи, которые производители лицензированных DVD-плееров получают от DVD CCA.
Для расшифровки плеер должен:
- Считать с диска зашифрованный дисковый ключ.
- Расшифровать его с помощью одного из ключей плеера.
- Используя дисковый ключ, расшифровать ключи титулов.
- С помощью ключей титулов расшифровать видео- и аудиопотоки.
Методы libdvdcss
libdvdcss реализует два основных подхода к обходу CSS:
- Атака на ключи плеера (Player Key Attack) — библиотека содержит встроенный набор ключей плееров, извлечённых из легальных программных проигрывателей (например, WinDVD, PowerDVD). Если один из этих ключей подходит для расшифровки дискового ключа, процесс происходит легально (с точки зрения алгоритма).
- Атака на дисковый ключ (Disk Key Attack) — если ни один из известных ключей плеера не подходит, libdvdcss применяет криптоаналитическую атаку. Алгоритм CSS имеет уязвимость: для расшифровки дискового ключа достаточно перебрать всего 2^25 возможных комбинаций (а не 2^40). Это позволяет расшифровать диск за несколько секунд на современном оборудовании.
- Атака на ключ титула (Title Key Attack) — в некоторых случаях библиотека может напрямую расшифровать ключ титула, минуя дисковый ключ, используя слабости в структуре зашифрованных данных.
Применение
libdvdcss используется в основном в следующих целях:
- Воспроизведение DVD-видео — медиаплееры, такие как VLC media player, MPlayer, Kodi, используют libdvdcss для декодирования защищённых дисков. Без этой библиотеки эти плееры не могут воспроизводить коммерческие DVD.
- Копирование DVD — утилиты для риппинга (например, HandBrake, MakeMKV) используют libdvdcss для извлечения видеофайлов с диска.
- Архивация и резервное копирование — пользователи могут создавать копии своих DVD-дисков для личного использования.
- Исследования — библиотека используется в академических целях для изучения криптографических алгоритмов и уязвимостей.
Распространение и лицензирование
libdvdcss распространяется под лицензией GNU General Public License (GPL) версии 2 или более поздней. Это означает, что любой может свободно использовать, изменять и распространять библиотеку при условии сохранения лицензии.
Из-за правовых рисков libdvdcss не включается в официальные репозитории многих дистрибутивов Linux (например, Ubuntu, Debian, Fedora) в регионах, где действует DMCA. Пользователям приходится устанавливать её из сторонних репозиториев (например, VideoLAN Multimedia Codec Pack) или собирать из исходных кодов.
Критика и споры
Основные споры вокруг libdvdcss связаны с её правовым статусом. Противники (в основном правообладатели и киностудии) утверждают, что библиотека способствует пиратству и нарушает авторские права. Сторонники (в том числе Electronic Frontier Foundation) указывают, что libdvdcss используется для законных целей — воспроизведения дисков, которые пользователь уже приобрёл, и что она не нарушает авторские права сама по себе, а лишь обходит техническую защиту.
Также отмечается, что система CSS морально устарела и не обеспечивает реальной защиты, а libdvdcss лишь делает очевидным то, что уже было технически возможно. Кроме того, многие современные DVD-плееры и операционные системы (например, Windows с установленными кодеками) также содержат встроенные средства для дешифрования CSS, но они лицензированы, в отличие от libdvdcss.
Альтернативы
Существуют и другие программные решения для работы с CSS-защищёнными DVD:
- DeCSS — оригинальная программа, на основе которой создана libdvdcss.
- DVDDecrypter — утилита для Windows (закрыта после судебного иска).
- AnyDVD — коммерческая утилита, позволяющая обходить не только CSS, но и другие защиты (например, региональные коды).
- MakeMKV — коммерческая программа для риппинга, использующая собственные алгоритмы дешифрования.
Однако libdvdcss остаётся наиболее популярным и широко используемым решением с открытым исходным кодом.
Интересные факты
- Йон Лех Йохансен, создатель DeCSS, был оправдан норвежским судом в 2003 году по обвинению в нарушении закона об авторском праве. Суд постановил, что он не нарушал закон, поскольку не преследовал коммерческой выгоды.
- Исходный код DeCSS был опубликован в виде футболки, на которой был напечатан код на языке C. Это было сделано в знак протеста против запрета на распространение программы.
- libdvdcss входит в состав многих дистрибутивов медиаплеера VLC, который сам по себе является одним из самых популярных медиаплееров в мире.
Источники
- Йон Лех Йохансен. «DVD Jon: The Inside Story of the DeCSS Hack». — 2003.
- DVD Copy Control Association. «CSS Specification». — 1996.
- VideoLAN Project. «libdvdcss Documentation». — 2001–2025.
- Electronic Frontier Foundation. «DeCSS: The Legal History». — 2000.
- Гражданский кодекс РФ, статья 1299. «Технические средства защиты авторских прав».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →