DeCSS est un
Logiciel destiné à
Décrypter les contenus d'un
DVD chiffrés à l'aide du système de brouillage du contenu (CSS).
Origine et historique
Le programme
DeCSS a été conçu par trois personnes, dont deux restent anonymes. Le seul membre du trio connu est le programmeur
norvégien Jon Lech Johansen qui annonça la version 1.1b sur la liste de diffusion livid-dev, le
6 octobre 1999. A l'origine le code source n'était pas disponible mais il y eut une fuite avant la fin du mois d'octobre. La publication du programme fut précédée de quelques semaines par un programme appelé DoD DVD Speed Ripper, nommé d'après le groupe Drink or Die, qui n'incluait pas le code source et ne marchait apparemment pas avec tous les
DVDs. On suppose que Drink or Die avait désassemblé le code du logiciel Xing DVD Player afin d'obtenir une clef de déchiffrement. Le groupe qui a écrit DeCSS, y compris Johansen, se faisait appeler Masters of Reverse Engineering et pourrait avoir obtenu des informations de Drink or Die.
Suite à la publication du logiciel, le domicile de Jon Lech Johansen a été perquisitionné en 2000 par la police. Encore adolescent à l'époque, il fut jugé devant un tribunal norvégien et encourait une peine de deux ans de prison couplés à une importante amende, mais il fut blanchi de toutes les charges portées contre lui. Cependant, le 5 mars 2003, une cour d'appel décida qu'il devait être rejugé pour la violation de la section 145 du Code Criminel norvégien (la loi sur le Hacking). La cour d'appel estima que les arguments du procureur et de nouvelles preuves justifiaient un nouveau procès. Le 22 décembre 2003, la court confirma l'acquittement et le 5 janvier 2004 la Økokrim décida que le dossier était clos. Le 22 janvier 2004, la DVD CCA a retiré sa plainte contre Jon Johansen.
Le code source de déchiffrement de CSS utilisée dans DeCSS a été envoyée par email à Derek Fawcus avant que le logiciel ne soit publié. Quand le code source fut rendu public, Fawcus s'aperçut que DeCSS contenait son code css-auth et violait ansi la licence GPL. Quand Johansen en fut informé, il contacta Fawcus pour résoudre le problème et obtint une licence pour utiliser le code dans DeCSS sans qu'il soit obligé de respecter la GPL.
Technologie et logiciels dérivés
Suite à la publication du code source de DeCSS, on constata rapidement que l'algorithme CSS était vulnérable à une attaque par force brute très différente de la méthode employée par le programme. L'algorithme utilise une clef de 40 bits seulement et toutes les clefs ne sont pas utilisées. Ainsi, un PC haut de gamme de l'époque utilisant un code optimisé était capable de casser cette clé en 24 heures.
Des programmeurs du monde entier créèrent des centaines de programmes équivalents à DeCSS, certains uniquement pour démontrer la trivialité avec laquelle le système pouvait être contourné, d'autres pour ajouter la possibilité de lire des DVD avec des lecteurs vidéo open source. Les contraintes de la licence CSS rendaient la création d'une implémentation open source officielle impossible et l'absence de décodeurs propriétaires pour certains systèmes d'exploitation (comme Linux) rendait l'utilisation de DeCSS obligatoire pour permettre de regarder des DVD.
Une fois la source vidéo décryptée, elle peut être codée dans un autre format. Ainsi DeCSS a sûrement aidé au piratage par la diffusion de vidéos réencodées dans un format plus compressé (donc plus facile à échanger sur un réseau) que le format MPEG-2 original, souvent le format MPEG-4. Cependant, la copie de DVD sans décryptage était déjà possible et répandue avant l'avènement de DeCSS, particulièrement dans l'est de l'Asie, son arrivée n'a donc pas rendu le piratage possible, mais a probablement aidé la diffusion des vidéos sur Internet.
Aspects juridiques
En guise de protestation envers les lois qui interdisent la publication du code de DeCSS dans les pays qui ont transposé le WIPO Copyright Treaty (comme le Digital Millennium Copyright Act aux
États-Unis), certaines personnes ont développé des moyens détournés pour distribuer l'algorithme de DeCSS, par exemple en utilisant la
Stéganographie, en utilisant différents protocoles, sur des t-shirts, dans des fichiers MIDI, sous la forme de
haiku, et même sous la forme d'un Nombre premier « illégal ». Cependant, l'implémentation de CSS dans un langage de programmation demande plus de caractères que celle de l'algorithme
RC4 de RSA Data Security, l'une des plus courtes implémentations (appelée "efdtt") fait 434 octets. C'est pourquoi il n'a pas été distribué selon les méthodes les plus originales qui avaient été utilisées pour distribuer l'algorithme
RC4 au temps de l'ITAR. Il n'est pas adapté aux tatouages, signatures d'email, etc.
Notes