SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
http://www.splitcc.net/Documents/decss.html




                                    CSS y DeCSS




          split@splitcc.net




          1.Introducción


          Las posibilidades multimedia que han surgido en los últimos años eran
          impensables hace tan solo unos años. Los formatos de compresión tanto de video


1 de 12                                                                                  10/11/09 17:41
http://www.splitcc.net/Documents/decss.html


          como de audio, permiten ver y escuchar vídeos de muy buena calidad y ocupando
          un tamaño relativamente pequeño. Si a esto añadimos la apareción de tecnologías
          de almacenamiento de datos como los DVDs (Digital Video Disk)que permiten
          guardar hasta 15 GB (en los grabados a doble cara y a doble cara) y por lo tanto
          permitiendo muchisimas posibilidades que otros formatos no pueden ofrecer.
          La "tecnología DVD" propiamente dicha, no es dueña de ninguna compañía. La
          especificación oficial fue desarrollado por un consorcio de 10 compañías: Hitachi,
          JVC, Matsushita, Mitsubishi, Philips, Pioneer, Sony,Thomson, Time Warner, y
          Toshiba.


          Se ve últimamente cómo todos estos nuevos formatos se están introducioendo en
          el mercado, complementandose por ejemplo con los videos en formato VHS. Pero
          a parte de las ventajas que esto supone para las distribuidoras y el negocio del cine,
          los DVDs se pueden reproducir en los ordenadores, por lo que pueden ser copiables
          fácilmente. Con el fin de querer evitar esto, apareció el sistema CSS (Content
          Scrambling System) un sistema de cifrado y protección de los datos del DVD, para
          que no fuese posible la distribución y copia de los conteidos de éste.




           2. CSS (Content Scrambling System)




          Para poder explicar el sistema CSS debemos pararnos a ver cuales son los
          elementos que intervienen en el sistema de reproducción de los DVDs.
          Por un lado tenemos el propio DVD, donde los datos están cifrados y con ellos, el
          sistema de descifrado de dichos datos para que sea posible la reproducción del
          video.


          Dicho sistema, solo puede ser leído por los reproductores que pasen un proceso de

2 de 12                                                                                     10/11/09 17:41
http://www.splitcc.net/Documents/decss.html


          autentificación. Las licencias para la reproducción y la manipulación de los DVDs,
          son suministradas a las empresas que desarrollen este tipo de software/hardware
          por la llamada 'DVD Copy Control Association'.


          Por otra parte disponemos de dicho reproductor, creado por una empresa con la
          licencia (ya veremos más adelante que esto no es del todo cierto), que dispone de
          una serie de claves para descifrar la clave de disco o Disk Key, un código de zona
          que indica en qué zonas puede ser utilizado el reproductor y otra clave, es ta vez
          para autentificarse con la máquina (clave de sesión).


          Los estudios cinematográficos y productoras, quieren controlar los lanzamientos
          locales en diferentes países ya que en el cine, los estrenos no son simultáneos; por
          ejemplo, una película que todavía está proyectandose en el cine en Europa, podría
          salir en vídeo en Estados Unidos). Incluso, los estudios venden los derechos de
          distribución a diferentes distribuidores extranjeros y les gustaría garantizar un
          mercado exclusivo. Por lo tanto, las empresas del mundo del cine, han requerido
          que el estándar DVD incluya códigos que se puedan usar para prevenir la
          reproducción de ciertos discos en ciertas zonas geográficas. Cada lector tiene un
          código de la zona en la que es vendido. El lector se negará a leer discos que no son
          permitidos en esa región. Esto quiere decir que los discos comprados en un país
          podrían no leerse en lectores comprados en otro país.
          Se han definido 8 regiones o también llamadas "zonas". Los lectores y los discos
          se identifican con el numero de la región sobreimpresionado en un plano del
          mundo. Si un disco se lee en más de una región tendrá mas de un numero en
          el mapa.


          Zona 1 - USA, Canada, territorios USA
          Zona 2 - Japón, Europa, Sur África, Medio Este (incluyendo Egipto)
          Zona 3 - Sureste de Asia y Este de Asia (incluye Hong Kong)
          Zona 4 - Australia, Nueva Zelanda, Islas de Pacifico, América Central,


3 de 12                                                                                     10/11/09 17:41
http://www.splitcc.net/Documents/decss.html


          Sudamérica,
          Caribe
          Zona 5 - Europa del Este (Unión Soviética), subcontinente Indio, África, Corea del
          Norte, Mongolia
          Zona 6 - China
          Zona 7 - Reservado
          Zona 8 - Especial para usos internacionales (aviones, cruceros, etc...)




          Y por último la máquina donde se ejecute el reproductor, que deberá contener una
          clave privada para poder autentificar el reproductor.


          Las claves y códigos usandos para el cifrado de los datos del DVD, son los
          siguientes:

                   Clave de región: esta clave es comparada con la clave de región del
                   reproductor para poder averiguar si el DVD es legalmente reproducible en
                   dicha zona.
                   Clave de sesión: para el cifrado de las claves de título y disco.
                   Clave de reproductor: es la encargada de asegurar la legalidad del
                   reproductor y es otorgada por la 'DVD Copy Control Association'. Se usa
                   para descifrar la clave de disco.
                   Clave de disco: utlizada para cifrar la clave de título. Es almacenada en
                   un sector oculto del DVD a lo largo de una tabla que contiene la clave
                   cifrada con una de las 409 posibles claves del reproductor. Así mismo,
                   esta clave se guarda cifrada consigo misma.
                   Clave de sector: cada sector del disco, tiene una cabecera de 128 bytes.

4 de 12                                                                                      10/11/09 17:41
http://www.splitcc.net/Documents/decss.html


                   Dicha clave se encuentra en los bytes del 80 al 84 y permite volver a
                   cifrar los datos del sector de forma independiente del resto del disco y
                   sectores.
                   Clave de título: utilizada para cifrar mediante la operación XOR todo el
                   disco, sector a sector.


          El proceso de lectura del contenido de un DVD para su reproducción, consta de 6
          fases principales que se describen a continuación:


                              1. Autentificación mútua: el ordenador donde se ha
                                 introducido el DVD y el reproductor usan un sistema de
                                 pregunta-respuesta con el fin de poder establecer la
                                 confiabilidad de la transmisión, estableciendo entre ellos
                                 dos una clave de sesión.
                              2. Decodificación de los datos del disco: a continuación, el
                                 reproductor prueba la serie de claves que dispone para
                                 intentar descifrar la Clave de Disco. Esto se realiza
                                 descifrando la entrada apropiada en la tabla de claves del
                                 dvd y después lo verifica descifrando la clave de disco.
                              3. Transmisión de claves: el reproductor manda las claves de
                                 disco y título al ordenador cifrados con la clave de sesión
                                 para evitar posibles recogidas de información de programas
                                 externos.
                              4. El DVD manda el sector al ordenador.

                              5. El ordenador descifra la Clave de Título usando la Clave de
                                 Disco
                              6. Y por último, se descifra el sector usando la Clave de
                                 Título y la de Sector que aparecerá en la cabecera de éste,
                                 como hemos indicado antes.



5 de 12                                                                                     10/11/09 17:41
http://www.splitcc.net/Documents/decss.html


          Vamos a continuación a explicar más detalladamente cómo está implementando el
          algoritmo CSS. Técnicamente hablando, hace uso de dos LFSRs.


          La técnica LFSRs (Linear FeedBack Shift Registers) es una de las más populares
          para generar flujos pseudo-aleatorios de bits. Mediante LFSRs, no podemos
          generar verdaderas secuencias aleatorias, por lo que es importante la configuración
          ya que de ello depende en gran medida el período de generación cíclica (tiempo
          que se tardará en repetir la secuencia generada).


          Para intentar ganar un grado más de complejidad, se suele combinar esta técnica
          con sumadores, multiplexores o puertas Lógicas y con ello producir flujos de bits
          menos predecibles.


          Podemos decir por lo tanto, que un LFSR es un registro de un número determinado
          de bits al que se da un cierto valor inicial denominado semilla (este paso también
          es conocido con el nombre de "configuración del LFSR"). A partir de entonces, por
          cada ciclo de reloj, una serie de bits determinados del registro se utilizan para
          evaluar una función de retroalimentación que devuelverá un bit. Este bit es
          colocado en el la posición más significativa del registro y el resto de bits son
          desplazados hacia la derecha. El bit que sobra por la izquierda es lo que se
          denomina "salida del registro".
          Como hemos dicho entonces, CSS hace uso de dos LFSRs. El primero es de 17
          bits e inicialmente contiene una semilla de 2 bytes con un "1" insertado en el bit
          14. Este bit es insertado para prevenir un posible "null cycling" (fenómeno de
          generar continuamente secuencias de 0s). El segundo LFSR opera de la misma
          forma excepto que esta formado por 25 bits.
          Otro aspecto común es la función de retroalimentación, esta es la operación XOR
          de los bits de entrada. En el LFSR de 17 bits se utilizan los bits 1 y 15 y en el
          LFSR de 25 se utilizan los bits 1,4,5 y 15.
          A diferencia de los métodos típicos de cifrado en flujo basados en LFSRs, CSS
          toma como valor de "salida" del LFSR, el valor devuelto por la función de


6 de 12                                                                                     10/11/09 17:41
http://www.splitcc.net/Documents/decss.html


          retroalimentación (que también se usa para la entrada para el registro, como hemos
          visto antes).
          CSS usa claves de 40 bits (5 bytes) de ahí la longitud de los LFSR: uno es
          configurado inicialmente con los 2 primeros bytes de la clave y el otro con los 3
          bytes restantes.
          La salida de los 2 LFSRs comentados, es combinada usando una suma de 8 bits.
          Después de que cada LFSR recopile 8 bits de salida, se efectúa la operación suma
          con la recopilación de salidas del otro LFSR; el acarreo de esta suma es utilizado
          posteriormente para las próximas sumas.
          Llegado a este punto, nos encontramos que CSS tiene cuatro modos diferentes.
          Dependiendo del modo, la salida de uno o de ambos LFSRs se invierte antes de la
          operación de suma. Las inversiones se dan en el LFSR-17 para la Autentificación y
          para Datos y en el LFSR-25 para la Clave de título.
          Para cifrar y descifrar los datos, se genera un flujo de bits mediante la técnica que
          hemos descrito anteriormente y se utiliza la operación XOR con cada uno de los
          bits del flujo MPEG-2 original, es decir, el vídeo del DVD. Como semilla de los
          LFSRs se utiliza una combinación de la clave de título y la clave de sector. Cada
          vez que se lee un sector del DVD, se toma la cabecera y con ella la clave de sector
          y se utiliza, una vez más, la operación XOR con la clave de título. El resultado de
          esta operación es el que se toma para inicializar los LFSRs.
          A partir de este punto, se van generando los bytes (correspondientes a la salidas
          acumuladas y sumadas de los LFSRs) y se toman para ir cifrando o descifrando el
          flujo MPEG2 de video. Es utilizado además un sistema de dispersión mediante
          una "S-box" (basada en tablas) en los bytes del flujo MPEG2 antes de utilizar la
          XOR.
          Antes de que el reproductor (o dispositivo) de DVD empiece a enviar datos a
          través del bus del sistema hacia el propio PC, se efectúa un proceso de
          autentificación mutua entre ellos. En este proceso, el reproductor negocia la clave
          que se usará en el cifrado de datos que se transmitirán por el bus. Este cifrado es
          necesario porque porque de otra forma sería posible obtener un volcado de los
          datos en texto claro simplemente leyendo el bus con algún software especial.
          Como decíamos en anteriores ocasiones, esta clave negociada es llamada clave de


7 de 12                                                                                     10/11/09 17:41
http://www.splitcc.net/Documents/decss.html


          Sesión o también llamada clave de bus.



          La negociación comienza cuando el PC o dispositivo, pide el AGID
          (Autentication Grant ID) del dispositivo. Este ID puede ser un ID de Sesión o un
          ID de Thread lo importante es que dará un nombre a la negociación.
          El siguiente punto importante es que el host o PC genera una flujo arbitrario de
          bytes denominado "Nonce" o "Challenge" y se lo manda al dispositivo. El
          dispositivo encripta este flujo de bytes y se lo manda de vuelta al host. Acto
          seguido, el host descifra el flujo de bytes y se asegura que es correcto. De esta
          forma el host consigue saber si el dispostivo es auténtico puesto que sabe el
          algoritmo y el "secreto" para cicfrar el "Nonce".
          El reproductor, por su parte, realiza el mismo proceso que hemos descrito
          generando un "Nonce" y mandándolo al PC para que este lo cifre. Una vez
          terminado este proceso, ambas partes están seguras de la veracidad del otro
          participante. A lo que llamamos "secreto" es una serie de información almacenada
          en el firmware de cada reproductor o dispositivo de DVD. Finalmente, la clave de
          sesión se forma combinando los dos "Nonces" generados.

          3. DeCSS
                1.

          Hace poco ha salido en diversos medios informativos que el chico noruego Jon
          Johansen, de 15 años de edad, era absuelto del juicio que le imputaba la
          responsabilidad del desarrollo y de la publicación del software DeCSS. Lo que
          hacía este programa, es descifrar los códigos de cifrado del DVD pudiendo así leer
          y reproducir el contenido de éste.
          El trabajo fue realizado por varias personas trabajando en paralelo, como Derek
          Fawcus que descubrió y analizó todo el tema de autentificación, Frank Stevenson,
          grupos como MoRE("Masters of Reverse Engineering") o DoD ("Drink or Die")
          que escribieron el software y un cracker alemán que fue quien realmente realizó el
          crack propiamente dicho, aunque fue Jon Johansen quien se llevó todo el mérito
          final y la "fama". Pero realmente, lo único que hizo fue copiar y hacer unas
          modificaciones violando la licencia GPL por la cual se distribuía todo el trabajo
          hecho hasta entonces, ya que posteriormente se negaba a distribuir el código fuente

8 de 12                                                                                     10/11/09 17:41
http://www.splitcc.net/Documents/decss.html


          de su aplicación (para windows, y no para sistemas Linux como también se ha
          dicho). Derek Fawcus, en un descuido de Johansen pudo hacerse con su código
          fuente, el cuál lo comparó con el suyo y mandó este mail a la lista de
          desarrolladores de DeCSS:

            From: Derek Fawcus <derek@spider.com>
            Subject: Re: [Livid-dev] DeCSS 1.1b has been released
            Date: Wed, 6 Oct 1999 19:49:25 +0100

            I've just read through the source to DeCSS,  compare CSSauth.cpp to
            css-auth.c in my authentication package.

            The authors have taken it almost verbatim - all they did was remove
            my copyright header,  one block comment, and rename the functions.
            I don't mind them using the code - it's out there, but they could have
            left my name on it.

            Interesting this - I only released that file under GPL!

          El código que rompía el criptograma de CSS, fue publicado de forma anónima el
          25 de Octubre de 1999 en la lista de correo de Livid("Linux Video and DVD
          Project") , donde se reunían todos los interesados por el tema y desarrolladores de
          reproductores de DVD en sistemas GNU/Linux. También, Frank Stevenson ya
          había publicado un programa escrito en C que realizaba un pequeño ataque al
          sistema de cifrado.
          Todos estos programas, aprovechan las vulnerabilidades o flaquezas de CSS. Por
          ejemplo, cada disco DVD está cifrado mediante una clave única de 40 bits (por
          temas de leyes norteamericanas que no permiten exportar software cifrado con una
          clave superior a dicha cantidad de bits). Ello supone un grave riesgo en sí mismo,
          ya que 40 bits es un valor lo bastante pequeño como para que sea factible un ataque
          por fuerza bruta. Pero, por si ello no fuera suficiente, el algoritmo de cifrado (que
          fue diseñado de forma privada) tiene graves defectos criptográficos que hacen que
          la clave efectiva sea de apenas 25 bits, prácticamente atacable por cualquier
          programador con un par de horas libres.
          El primer problema, pues, es doble: por un lado, el limitar la clave de cifrado a 40
          bits y, por otro, el haber diseñado un algoritmo privado cuya seguridad, como se ha

9 de 12                                                                                     10/11/09 17:41
http://www.splitcc.net/Documents/decss.html


       comprobado, deja mucho que desear (clave efectiva de 25 bits).
       Pero los problemas no acaban ahí. Como ya se ha dicho, cada DVD se cifra con
       una clave aleatoria de 40 bits. Esa clave de sesión se cifra con la clave de apertura
       de cada fabricante de hardware o software reproductor. En la práctica eso implica
       que la clave de sesión aparece grabada en el DVD unas 400 veces, una vez por cada
       fabricante reconocido. Cuando un reproductor (ya sea hardware o software) va a
       leer un disco DVD, lee la clave de sesión cifrada con su clave de apertura, la
       descifra (usando su clave de apertura) y luego la utiliza para reproducir la película.
       Obviamente si fuese posible obtener la clave de apertura de algún reproductor
       "legal" de DVD, podría leerse cualquier película, sin necesidad de atacar por
       "fuerza bruta" su clave de sesión (aunque ya hemos explicado que esto es bastante
       sencillo y rápido también). Los reproductores hardware son un objetivo
       complicado pero para el sistema operativo Microsoft Windows existen un buen
       número de reproductores DVD por software. Son programas. Y, como tales,
       pueden ser estudiados y analizados hasta en sus más íntimos detalles.
       Por seguridad, la mayoría de los reproductores software protegen su clave de
       apertura mediante operaciones complejas, pero se ha visto que existe al menos uno
       que apenas protege su clave de apertura. Por ejemplo, el reproductor XingDVD.
       Por ingeniería inversa, se obtuvo la clave de este programa.
       Una vez obtenida su clave de apertura, se tiene acceso a cualquier DVD. Es más,
       con esa clave de apertura es posible obtener el resto de claves de apertura mediante
       un ataque por "fuerza bruta" de bajo coste: sencillamente se toma un DVD
       cualquiera y se obtiene su clave de sesión mediante la clave de apertura del
       XingDVD. Seguidamente se toman el resto de claves cifradas y se intentan
       descifrar mediante claves aleatorias hasta obtener de nuevo la clave de sesión.
       Utilizando esta técnica, los autores del DeCSS han encontrado unas 170 claves, de
       las 400 que existen en un DVD actual, en apenas unas pocas horas de cálculo.
       A partir de estas técnicas fue por las que se sacó el algoritmo de descifrado de CSS,
       que nos permite ver DVDs en el ordenador sin tener que depender de compañías o
       empresas, que quieran o no desarrollar el reproductor para el sistema operativo que
       estemos usando.



10 de 12                                                                                 10/11/09 17:41
http://www.splitcc.net/Documents/decss.html


       Ultimamente, han aparecido variaciones del DeCSS original, como un par de
       programas escritos en Perl o en C que en tan solo 7 líneas, rompen con todo el
       sistema de cifrado de DVD. Uno de ellos, es el creado por Charles H. Hannum que
       mostramos a continuación:
       /*     efdtt.c     Author:  Charles M. Hannum <root@ihack.net>             */
       /*                                                                         */
       /*     Thanks to Phil Carmody <fatphil@asdf.org> for additional tweaks.    */
       /*                                                                         */
       /*     Length:  434 bytes (excluding unnecessary newlines)                 */
       /*                                                                         */
       /*     Usage is:  cat title-key scrambled.vob | efdtt >clear.vob           */

       #define m(i)(x[i]^s[i+84])<<
       unsigned char x[5],y,s[2048];main(n){for(read(0,x,5);read(0,s,n=2048);write(1,s
       ,n))if(s[y=s[13]%8+20]/16%4==1){int i=m(1)17^256+m(0)8,k=m(2)0,j=m(4)17^m(3)9^k
       *2-k%8^8,a=0,c=26;for(s[y]-=16;--c;j*=2)a=a*2^i&1,i=i/2^j&1<<24;for(j=127;++j<n
       ;c=c>y)c+=y=i^i/8^i>>4^i>>12,i=i>>8^y<<17,a^=a>>14,y=a^a*8^a<<6,a=a>>8^y<<9,k=s
       [j],k="7Wo~'G_216"[k&7]+2^"cr3sfw6v;*k+>/n."[k>>4]*2^k*257/8,s[j]=k^(k&k*2&34)
       *6^c+~y;}}

           4. Conclusión




       Ya se ha conseguido lo que se quería, poder ver DVDs en cualquier ordenador y
       con cualquier sistema operativo, con independecia de que algún organismo
       "oficial" quiera o no desarrollarlo, ya que de esta forma siempre habría sistemas
       sin poder reproducir DVDs.
       Una vez más se ha vuelto a reafirmar el dicho de "hecha la ley, hecha la trampa",
       ya que a pesar de la prohibición que existe sobre el código fuente del algoritomo
       DeCSS, se idearon muchas formas de hacerlo público, como técnicas de
       esteganografía, grabar la lectura por alguien del código y distribuirlo en mp3...
       Por desgracia, todo esto también aumenta el pirateo de películas debido a la
       facilidad con la que se puede "rippear" un DVD y dejarlo copiado en el disco duro
       descifrado en apenas unas horas.



11 de 12                                                                                         10/11/09 17:41
http://www.splitcc.net/Documents/decss.html


       La MPAA (Motion Picture Association of America) lo va a tener ciertamente
       difícil para paliar todo esto ya que ya son millones los reproductores y DVDs
       distribuidos y vendidos, por lo que costaría mucho más una vuelta atrás en la
       especificación técnica y actualización de todos los equipos que dejar que se sigan
       copiando DVDs ilegalmente. Solo el tiempo nos dará la soluciones.



           5. Links:

           HYPERLINK "http://www.lemuria.org/DeCSS/decss.html"HYPERLINK "http://www.lemuria.org/DeCSS
           /decss.html"

           http://www.lemuria.org/DeCSS/decss.html

       http://www.gnu.org/directory/security/crypt/libdvdcss.html
       http://www.linuxvideo.org/
       http://www-2.cs.cmu.edu/~dst/DeCSS/Gallery/




                        Alvaro Marin, 2004. Algunos derechos reservados.
                        http://creativecommons.org/licenses/by-nc-sa/2.0/




12 de 12                                                                                         10/11/09 17:41

Mais conteúdo relacionado

Mais procurados

disco duro grupo 7
 disco duro grupo 7 disco duro grupo 7
disco duro grupo 7Olga Parra
 
Grupo 7 diapositivos de informatica del disco duro
Grupo 7 diapositivos de informatica del disco duroGrupo 7 diapositivos de informatica del disco duro
Grupo 7 diapositivos de informatica del disco duroGabriela Loaiza
 
Exposición particiones y disco duros
Exposición particiones y disco durosExposición particiones y disco duros
Exposición particiones y disco durosJeremmy_Under
 
INSTALACION WINDOWS 7
INSTALACION WINDOWS 7INSTALACION WINDOWS 7
INSTALACION WINDOWS 7Khelly Torres
 
el nuevo disco duro (yuli)
el nuevo disco duro (yuli)el nuevo disco duro (yuli)
el nuevo disco duro (yuli)yulissa123
 

Mais procurados (7)

disco duro grupo 7
 disco duro grupo 7 disco duro grupo 7
disco duro grupo 7
 
Diapositivas de informatica del disco duro grupo 7
Diapositivas de informatica del disco duro grupo 7Diapositivas de informatica del disco duro grupo 7
Diapositivas de informatica del disco duro grupo 7
 
Grupo 7 diapositivos de informatica del disco duro
Grupo 7 diapositivos de informatica del disco duroGrupo 7 diapositivos de informatica del disco duro
Grupo 7 diapositivos de informatica del disco duro
 
Analyy
AnalyyAnalyy
Analyy
 
Exposición particiones y disco duros
Exposición particiones y disco durosExposición particiones y disco duros
Exposición particiones y disco duros
 
INSTALACION WINDOWS 7
INSTALACION WINDOWS 7INSTALACION WINDOWS 7
INSTALACION WINDOWS 7
 
el nuevo disco duro (yuli)
el nuevo disco duro (yuli)el nuevo disco duro (yuli)
el nuevo disco duro (yuli)
 

Destaque

Seguridad en sistemas de correo electrónico
Seguridad en sistemas de correo electrónicoSeguridad en sistemas de correo electrónico
Seguridad en sistemas de correo electrónicoAlvaro Marin
 
Resumen MAAWG 2004
Resumen MAAWG 2004Resumen MAAWG 2004
Resumen MAAWG 2004Alvaro Marin
 
SPF - Sender Policy Framework
SPF - Sender Policy FrameworkSPF - Sender Policy Framework
SPF - Sender Policy FrameworkAlvaro Marin
 
Seguridad en sistemas de correo electrónico
Seguridad en sistemas de correo electrónicoSeguridad en sistemas de correo electrónico
Seguridad en sistemas de correo electrónicoAlvaro Marin
 
Seguridad en sistemas de correo electrónico
Seguridad en sistemas de correo electrónicoSeguridad en sistemas de correo electrónico
Seguridad en sistemas de correo electrónicoAlvaro Marin
 
Servicios de Red e Internet
Servicios de Red e InternetServicios de Red e Internet
Servicios de Red e InternetSergio Santos
 
Protocolo SMTP (Simple Mail Transfer Protocol)
Protocolo  SMTP (Simple Mail Transfer Protocol)Protocolo  SMTP (Simple Mail Transfer Protocol)
Protocolo SMTP (Simple Mail Transfer Protocol)Luis Alfredo Sanchez
 
易観国際中国Itマンスリーニュース2013年2月号
易観国際中国Itマンスリーニュース2013年2月号易観国際中国Itマンスリーニュース2013年2月号
易観国際中国Itマンスリーニュース2013年2月号CLARA ONLINE, Inc.
 
1ª división provincial alevín
1ª división provincial alevín1ª división provincial alevín
1ª división provincial alevínpepelumila
 
PresentacióN1guhcopada!
PresentacióN1guhcopada!PresentacióN1guhcopada!
PresentacióN1guhcopada!Eugenia
 
2- Guia sobre la fractura de maluc de la SCGiG. Dr. José Manuel Cancio
2- Guia sobre la fractura de maluc de la SCGiG. Dr. José Manuel Cancio2- Guia sobre la fractura de maluc de la SCGiG. Dr. José Manuel Cancio
2- Guia sobre la fractura de maluc de la SCGiG. Dr. José Manuel CancioBadalona Serveis Assistencials
 
Memoria abstracta feudos y comercio
Memoria abstracta feudos y comercioMemoria abstracta feudos y comercio
Memoria abstracta feudos y comercioLizeth Gonzalez
 

Destaque (20)

Seguridad en sistemas de correo electrónico
Seguridad en sistemas de correo electrónicoSeguridad en sistemas de correo electrónico
Seguridad en sistemas de correo electrónico
 
OpenSSH
OpenSSHOpenSSH
OpenSSH
 
Mysql
MysqlMysql
Mysql
 
Resumen MAAWG 2004
Resumen MAAWG 2004Resumen MAAWG 2004
Resumen MAAWG 2004
 
SPF - Sender Policy Framework
SPF - Sender Policy FrameworkSPF - Sender Policy Framework
SPF - Sender Policy Framework
 
Seguridad en sistemas de correo electrónico
Seguridad en sistemas de correo electrónicoSeguridad en sistemas de correo electrónico
Seguridad en sistemas de correo electrónico
 
Seguridad en sistemas de correo electrónico
Seguridad en sistemas de correo electrónicoSeguridad en sistemas de correo electrónico
Seguridad en sistemas de correo electrónico
 
Smtp
SmtpSmtp
Smtp
 
Servicios de Red e Internet
Servicios de Red e InternetServicios de Red e Internet
Servicios de Red e Internet
 
Protocolo SMTP (Simple Mail Transfer Protocol)
Protocolo  SMTP (Simple Mail Transfer Protocol)Protocolo  SMTP (Simple Mail Transfer Protocol)
Protocolo SMTP (Simple Mail Transfer Protocol)
 
Els insectes
Els insectesEls insectes
Els insectes
 
Dia del idioma
Dia del idiomaDia del idioma
Dia del idioma
 
易観国際中国Itマンスリーニュース2013年2月号
易観国際中国Itマンスリーニュース2013年2月号易観国際中国Itマンスリーニュース2013年2月号
易観国際中国Itマンスリーニュース2013年2月号
 
Tbc (tuberculosis)
Tbc (tuberculosis)Tbc (tuberculosis)
Tbc (tuberculosis)
 
1ª división provincial alevín
1ª división provincial alevín1ª división provincial alevín
1ª división provincial alevín
 
Competencias para la vida
Competencias para la vidaCompetencias para la vida
Competencias para la vida
 
PresentacióN1guhcopada!
PresentacióN1guhcopada!PresentacióN1guhcopada!
PresentacióN1guhcopada!
 
2- Guia sobre la fractura de maluc de la SCGiG. Dr. José Manuel Cancio
2- Guia sobre la fractura de maluc de la SCGiG. Dr. José Manuel Cancio2- Guia sobre la fractura de maluc de la SCGiG. Dr. José Manuel Cancio
2- Guia sobre la fractura de maluc de la SCGiG. Dr. José Manuel Cancio
 
3. relieve terrestre
3. relieve terrestre3. relieve terrestre
3. relieve terrestre
 
Memoria abstracta feudos y comercio
Memoria abstracta feudos y comercioMemoria abstracta feudos y comercio
Memoria abstracta feudos y comercio
 

Semelhante a DeCSS (20)

Sistemas operativos multimedia paty
Sistemas operativos multimedia patySistemas operativos multimedia paty
Sistemas operativos multimedia paty
 
Sistemas operativos multimedia
Sistemas operativos multimediaSistemas operativos multimedia
Sistemas operativos multimedia
 
Elvis rodríguez
Elvis rodríguezElvis rodríguez
Elvis rodríguez
 
Tarjet madre compo
Tarjet madre compoTarjet madre compo
Tarjet madre compo
 
Historia de las commputadoras cepemm
Historia de las commputadoras cepemmHistoria de las commputadoras cepemm
Historia de las commputadoras cepemm
 
Actualizacion del disco duro
Actualizacion del disco duroActualizacion del disco duro
Actualizacion del disco duro
 
Todo lo relacionado con el computador
Todo lo relacionado con el computadorTodo lo relacionado con el computador
Todo lo relacionado con el computador
 
Partes de la computadora
Partes de la computadoraPartes de la computadora
Partes de la computadora
 
Placa Madre
Placa MadrePlaca Madre
Placa Madre
 
Informes
InformesInformes
Informes
 
Compumakia
CompumakiaCompumakia
Compumakia
 
Partes de la computadora
Partes de la computadoraPartes de la computadora
Partes de la computadora
 
Grupo 2 (1)
Grupo 2 (1)Grupo 2 (1)
Grupo 2 (1)
 
Grupo 2 (1)
Grupo 2 (1)Grupo 2 (1)
Grupo 2 (1)
 
Grupo 2
Grupo 2Grupo 2
Grupo 2
 
Grupo 2
Grupo 2 Grupo 2
Grupo 2
 
Grupo 2 memoria ram y rom
Grupo 2 memoria ram y romGrupo 2 memoria ram y rom
Grupo 2 memoria ram y rom
 
Memoria RAM y ROM - Medidas de almacenamiento - Tarjetas de Expansión
Memoria RAM y ROM - Medidas de almacenamiento - Tarjetas de ExpansiónMemoria RAM y ROM - Medidas de almacenamiento - Tarjetas de Expansión
Memoria RAM y ROM - Medidas de almacenamiento - Tarjetas de Expansión
 
Grupo 2
Grupo 2Grupo 2
Grupo 2
 
Grupo 2
Grupo 2Grupo 2
Grupo 2
 

Último

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Último (10)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

DeCSS

  • 1. http://www.splitcc.net/Documents/decss.html CSS y DeCSS split@splitcc.net 1.Introducción Las posibilidades multimedia que han surgido en los últimos años eran impensables hace tan solo unos años. Los formatos de compresión tanto de video 1 de 12 10/11/09 17:41
  • 2. http://www.splitcc.net/Documents/decss.html como de audio, permiten ver y escuchar vídeos de muy buena calidad y ocupando un tamaño relativamente pequeño. Si a esto añadimos la apareción de tecnologías de almacenamiento de datos como los DVDs (Digital Video Disk)que permiten guardar hasta 15 GB (en los grabados a doble cara y a doble cara) y por lo tanto permitiendo muchisimas posibilidades que otros formatos no pueden ofrecer. La "tecnología DVD" propiamente dicha, no es dueña de ninguna compañía. La especificación oficial fue desarrollado por un consorcio de 10 compañías: Hitachi, JVC, Matsushita, Mitsubishi, Philips, Pioneer, Sony,Thomson, Time Warner, y Toshiba. Se ve últimamente cómo todos estos nuevos formatos se están introducioendo en el mercado, complementandose por ejemplo con los videos en formato VHS. Pero a parte de las ventajas que esto supone para las distribuidoras y el negocio del cine, los DVDs se pueden reproducir en los ordenadores, por lo que pueden ser copiables fácilmente. Con el fin de querer evitar esto, apareció el sistema CSS (Content Scrambling System) un sistema de cifrado y protección de los datos del DVD, para que no fuese posible la distribución y copia de los conteidos de éste. 2. CSS (Content Scrambling System) Para poder explicar el sistema CSS debemos pararnos a ver cuales son los elementos que intervienen en el sistema de reproducción de los DVDs. Por un lado tenemos el propio DVD, donde los datos están cifrados y con ellos, el sistema de descifrado de dichos datos para que sea posible la reproducción del video. Dicho sistema, solo puede ser leído por los reproductores que pasen un proceso de 2 de 12 10/11/09 17:41
  • 3. http://www.splitcc.net/Documents/decss.html autentificación. Las licencias para la reproducción y la manipulación de los DVDs, son suministradas a las empresas que desarrollen este tipo de software/hardware por la llamada 'DVD Copy Control Association'. Por otra parte disponemos de dicho reproductor, creado por una empresa con la licencia (ya veremos más adelante que esto no es del todo cierto), que dispone de una serie de claves para descifrar la clave de disco o Disk Key, un código de zona que indica en qué zonas puede ser utilizado el reproductor y otra clave, es ta vez para autentificarse con la máquina (clave de sesión). Los estudios cinematográficos y productoras, quieren controlar los lanzamientos locales en diferentes países ya que en el cine, los estrenos no son simultáneos; por ejemplo, una película que todavía está proyectandose en el cine en Europa, podría salir en vídeo en Estados Unidos). Incluso, los estudios venden los derechos de distribución a diferentes distribuidores extranjeros y les gustaría garantizar un mercado exclusivo. Por lo tanto, las empresas del mundo del cine, han requerido que el estándar DVD incluya códigos que se puedan usar para prevenir la reproducción de ciertos discos en ciertas zonas geográficas. Cada lector tiene un código de la zona en la que es vendido. El lector se negará a leer discos que no son permitidos en esa región. Esto quiere decir que los discos comprados en un país podrían no leerse en lectores comprados en otro país. Se han definido 8 regiones o también llamadas "zonas". Los lectores y los discos se identifican con el numero de la región sobreimpresionado en un plano del mundo. Si un disco se lee en más de una región tendrá mas de un numero en el mapa. Zona 1 - USA, Canada, territorios USA Zona 2 - Japón, Europa, Sur África, Medio Este (incluyendo Egipto) Zona 3 - Sureste de Asia y Este de Asia (incluye Hong Kong) Zona 4 - Australia, Nueva Zelanda, Islas de Pacifico, América Central, 3 de 12 10/11/09 17:41
  • 4. http://www.splitcc.net/Documents/decss.html Sudamérica, Caribe Zona 5 - Europa del Este (Unión Soviética), subcontinente Indio, África, Corea del Norte, Mongolia Zona 6 - China Zona 7 - Reservado Zona 8 - Especial para usos internacionales (aviones, cruceros, etc...) Y por último la máquina donde se ejecute el reproductor, que deberá contener una clave privada para poder autentificar el reproductor. Las claves y códigos usandos para el cifrado de los datos del DVD, son los siguientes: Clave de región: esta clave es comparada con la clave de región del reproductor para poder averiguar si el DVD es legalmente reproducible en dicha zona. Clave de sesión: para el cifrado de las claves de título y disco. Clave de reproductor: es la encargada de asegurar la legalidad del reproductor y es otorgada por la 'DVD Copy Control Association'. Se usa para descifrar la clave de disco. Clave de disco: utlizada para cifrar la clave de título. Es almacenada en un sector oculto del DVD a lo largo de una tabla que contiene la clave cifrada con una de las 409 posibles claves del reproductor. Así mismo, esta clave se guarda cifrada consigo misma. Clave de sector: cada sector del disco, tiene una cabecera de 128 bytes. 4 de 12 10/11/09 17:41
  • 5. http://www.splitcc.net/Documents/decss.html Dicha clave se encuentra en los bytes del 80 al 84 y permite volver a cifrar los datos del sector de forma independiente del resto del disco y sectores. Clave de título: utilizada para cifrar mediante la operación XOR todo el disco, sector a sector. El proceso de lectura del contenido de un DVD para su reproducción, consta de 6 fases principales que se describen a continuación: 1. Autentificación mútua: el ordenador donde se ha introducido el DVD y el reproductor usan un sistema de pregunta-respuesta con el fin de poder establecer la confiabilidad de la transmisión, estableciendo entre ellos dos una clave de sesión. 2. Decodificación de los datos del disco: a continuación, el reproductor prueba la serie de claves que dispone para intentar descifrar la Clave de Disco. Esto se realiza descifrando la entrada apropiada en la tabla de claves del dvd y después lo verifica descifrando la clave de disco. 3. Transmisión de claves: el reproductor manda las claves de disco y título al ordenador cifrados con la clave de sesión para evitar posibles recogidas de información de programas externos. 4. El DVD manda el sector al ordenador. 5. El ordenador descifra la Clave de Título usando la Clave de Disco 6. Y por último, se descifra el sector usando la Clave de Título y la de Sector que aparecerá en la cabecera de éste, como hemos indicado antes. 5 de 12 10/11/09 17:41
  • 6. http://www.splitcc.net/Documents/decss.html Vamos a continuación a explicar más detalladamente cómo está implementando el algoritmo CSS. Técnicamente hablando, hace uso de dos LFSRs. La técnica LFSRs (Linear FeedBack Shift Registers) es una de las más populares para generar flujos pseudo-aleatorios de bits. Mediante LFSRs, no podemos generar verdaderas secuencias aleatorias, por lo que es importante la configuración ya que de ello depende en gran medida el período de generación cíclica (tiempo que se tardará en repetir la secuencia generada). Para intentar ganar un grado más de complejidad, se suele combinar esta técnica con sumadores, multiplexores o puertas Lógicas y con ello producir flujos de bits menos predecibles. Podemos decir por lo tanto, que un LFSR es un registro de un número determinado de bits al que se da un cierto valor inicial denominado semilla (este paso también es conocido con el nombre de "configuración del LFSR"). A partir de entonces, por cada ciclo de reloj, una serie de bits determinados del registro se utilizan para evaluar una función de retroalimentación que devuelverá un bit. Este bit es colocado en el la posición más significativa del registro y el resto de bits son desplazados hacia la derecha. El bit que sobra por la izquierda es lo que se denomina "salida del registro". Como hemos dicho entonces, CSS hace uso de dos LFSRs. El primero es de 17 bits e inicialmente contiene una semilla de 2 bytes con un "1" insertado en el bit 14. Este bit es insertado para prevenir un posible "null cycling" (fenómeno de generar continuamente secuencias de 0s). El segundo LFSR opera de la misma forma excepto que esta formado por 25 bits. Otro aspecto común es la función de retroalimentación, esta es la operación XOR de los bits de entrada. En el LFSR de 17 bits se utilizan los bits 1 y 15 y en el LFSR de 25 se utilizan los bits 1,4,5 y 15. A diferencia de los métodos típicos de cifrado en flujo basados en LFSRs, CSS toma como valor de "salida" del LFSR, el valor devuelto por la función de 6 de 12 10/11/09 17:41
  • 7. http://www.splitcc.net/Documents/decss.html retroalimentación (que también se usa para la entrada para el registro, como hemos visto antes). CSS usa claves de 40 bits (5 bytes) de ahí la longitud de los LFSR: uno es configurado inicialmente con los 2 primeros bytes de la clave y el otro con los 3 bytes restantes. La salida de los 2 LFSRs comentados, es combinada usando una suma de 8 bits. Después de que cada LFSR recopile 8 bits de salida, se efectúa la operación suma con la recopilación de salidas del otro LFSR; el acarreo de esta suma es utilizado posteriormente para las próximas sumas. Llegado a este punto, nos encontramos que CSS tiene cuatro modos diferentes. Dependiendo del modo, la salida de uno o de ambos LFSRs se invierte antes de la operación de suma. Las inversiones se dan en el LFSR-17 para la Autentificación y para Datos y en el LFSR-25 para la Clave de título. Para cifrar y descifrar los datos, se genera un flujo de bits mediante la técnica que hemos descrito anteriormente y se utiliza la operación XOR con cada uno de los bits del flujo MPEG-2 original, es decir, el vídeo del DVD. Como semilla de los LFSRs se utiliza una combinación de la clave de título y la clave de sector. Cada vez que se lee un sector del DVD, se toma la cabecera y con ella la clave de sector y se utiliza, una vez más, la operación XOR con la clave de título. El resultado de esta operación es el que se toma para inicializar los LFSRs. A partir de este punto, se van generando los bytes (correspondientes a la salidas acumuladas y sumadas de los LFSRs) y se toman para ir cifrando o descifrando el flujo MPEG2 de video. Es utilizado además un sistema de dispersión mediante una "S-box" (basada en tablas) en los bytes del flujo MPEG2 antes de utilizar la XOR. Antes de que el reproductor (o dispositivo) de DVD empiece a enviar datos a través del bus del sistema hacia el propio PC, se efectúa un proceso de autentificación mutua entre ellos. En este proceso, el reproductor negocia la clave que se usará en el cifrado de datos que se transmitirán por el bus. Este cifrado es necesario porque porque de otra forma sería posible obtener un volcado de los datos en texto claro simplemente leyendo el bus con algún software especial. Como decíamos en anteriores ocasiones, esta clave negociada es llamada clave de 7 de 12 10/11/09 17:41
  • 8. http://www.splitcc.net/Documents/decss.html Sesión o también llamada clave de bus. La negociación comienza cuando el PC o dispositivo, pide el AGID (Autentication Grant ID) del dispositivo. Este ID puede ser un ID de Sesión o un ID de Thread lo importante es que dará un nombre a la negociación. El siguiente punto importante es que el host o PC genera una flujo arbitrario de bytes denominado "Nonce" o "Challenge" y se lo manda al dispositivo. El dispositivo encripta este flujo de bytes y se lo manda de vuelta al host. Acto seguido, el host descifra el flujo de bytes y se asegura que es correcto. De esta forma el host consigue saber si el dispostivo es auténtico puesto que sabe el algoritmo y el "secreto" para cicfrar el "Nonce". El reproductor, por su parte, realiza el mismo proceso que hemos descrito generando un "Nonce" y mandándolo al PC para que este lo cifre. Una vez terminado este proceso, ambas partes están seguras de la veracidad del otro participante. A lo que llamamos "secreto" es una serie de información almacenada en el firmware de cada reproductor o dispositivo de DVD. Finalmente, la clave de sesión se forma combinando los dos "Nonces" generados. 3. DeCSS 1. Hace poco ha salido en diversos medios informativos que el chico noruego Jon Johansen, de 15 años de edad, era absuelto del juicio que le imputaba la responsabilidad del desarrollo y de la publicación del software DeCSS. Lo que hacía este programa, es descifrar los códigos de cifrado del DVD pudiendo así leer y reproducir el contenido de éste. El trabajo fue realizado por varias personas trabajando en paralelo, como Derek Fawcus que descubrió y analizó todo el tema de autentificación, Frank Stevenson, grupos como MoRE("Masters of Reverse Engineering") o DoD ("Drink or Die") que escribieron el software y un cracker alemán que fue quien realmente realizó el crack propiamente dicho, aunque fue Jon Johansen quien se llevó todo el mérito final y la "fama". Pero realmente, lo único que hizo fue copiar y hacer unas modificaciones violando la licencia GPL por la cual se distribuía todo el trabajo hecho hasta entonces, ya que posteriormente se negaba a distribuir el código fuente 8 de 12 10/11/09 17:41
  • 9. http://www.splitcc.net/Documents/decss.html de su aplicación (para windows, y no para sistemas Linux como también se ha dicho). Derek Fawcus, en un descuido de Johansen pudo hacerse con su código fuente, el cuál lo comparó con el suyo y mandó este mail a la lista de desarrolladores de DeCSS: From: Derek Fawcus <derek@spider.com> Subject: Re: [Livid-dev] DeCSS 1.1b has been released Date: Wed, 6 Oct 1999 19:49:25 +0100 I've just read through the source to DeCSS,  compare CSSauth.cpp to css-auth.c in my authentication package. The authors have taken it almost verbatim - all they did was remove my copyright header,  one block comment, and rename the functions. I don't mind them using the code - it's out there, but they could have left my name on it. Interesting this - I only released that file under GPL! El código que rompía el criptograma de CSS, fue publicado de forma anónima el 25 de Octubre de 1999 en la lista de correo de Livid("Linux Video and DVD Project") , donde se reunían todos los interesados por el tema y desarrolladores de reproductores de DVD en sistemas GNU/Linux. También, Frank Stevenson ya había publicado un programa escrito en C que realizaba un pequeño ataque al sistema de cifrado. Todos estos programas, aprovechan las vulnerabilidades o flaquezas de CSS. Por ejemplo, cada disco DVD está cifrado mediante una clave única de 40 bits (por temas de leyes norteamericanas que no permiten exportar software cifrado con una clave superior a dicha cantidad de bits). Ello supone un grave riesgo en sí mismo, ya que 40 bits es un valor lo bastante pequeño como para que sea factible un ataque por fuerza bruta. Pero, por si ello no fuera suficiente, el algoritmo de cifrado (que fue diseñado de forma privada) tiene graves defectos criptográficos que hacen que la clave efectiva sea de apenas 25 bits, prácticamente atacable por cualquier programador con un par de horas libres. El primer problema, pues, es doble: por un lado, el limitar la clave de cifrado a 40 bits y, por otro, el haber diseñado un algoritmo privado cuya seguridad, como se ha 9 de 12 10/11/09 17:41
  • 10. http://www.splitcc.net/Documents/decss.html comprobado, deja mucho que desear (clave efectiva de 25 bits). Pero los problemas no acaban ahí. Como ya se ha dicho, cada DVD se cifra con una clave aleatoria de 40 bits. Esa clave de sesión se cifra con la clave de apertura de cada fabricante de hardware o software reproductor. En la práctica eso implica que la clave de sesión aparece grabada en el DVD unas 400 veces, una vez por cada fabricante reconocido. Cuando un reproductor (ya sea hardware o software) va a leer un disco DVD, lee la clave de sesión cifrada con su clave de apertura, la descifra (usando su clave de apertura) y luego la utiliza para reproducir la película. Obviamente si fuese posible obtener la clave de apertura de algún reproductor "legal" de DVD, podría leerse cualquier película, sin necesidad de atacar por "fuerza bruta" su clave de sesión (aunque ya hemos explicado que esto es bastante sencillo y rápido también). Los reproductores hardware son un objetivo complicado pero para el sistema operativo Microsoft Windows existen un buen número de reproductores DVD por software. Son programas. Y, como tales, pueden ser estudiados y analizados hasta en sus más íntimos detalles. Por seguridad, la mayoría de los reproductores software protegen su clave de apertura mediante operaciones complejas, pero se ha visto que existe al menos uno que apenas protege su clave de apertura. Por ejemplo, el reproductor XingDVD. Por ingeniería inversa, se obtuvo la clave de este programa. Una vez obtenida su clave de apertura, se tiene acceso a cualquier DVD. Es más, con esa clave de apertura es posible obtener el resto de claves de apertura mediante un ataque por "fuerza bruta" de bajo coste: sencillamente se toma un DVD cualquiera y se obtiene su clave de sesión mediante la clave de apertura del XingDVD. Seguidamente se toman el resto de claves cifradas y se intentan descifrar mediante claves aleatorias hasta obtener de nuevo la clave de sesión. Utilizando esta técnica, los autores del DeCSS han encontrado unas 170 claves, de las 400 que existen en un DVD actual, en apenas unas pocas horas de cálculo. A partir de estas técnicas fue por las que se sacó el algoritmo de descifrado de CSS, que nos permite ver DVDs en el ordenador sin tener que depender de compañías o empresas, que quieran o no desarrollar el reproductor para el sistema operativo que estemos usando. 10 de 12 10/11/09 17:41
  • 11. http://www.splitcc.net/Documents/decss.html Ultimamente, han aparecido variaciones del DeCSS original, como un par de programas escritos en Perl o en C que en tan solo 7 líneas, rompen con todo el sistema de cifrado de DVD. Uno de ellos, es el creado por Charles H. Hannum que mostramos a continuación: /*     efdtt.c     Author:  Charles M. Hannum <root@ihack.net>             */ /*                                                                         */ /*     Thanks to Phil Carmody <fatphil@asdf.org> for additional tweaks.    */ /*                                                                         */ /*     Length:  434 bytes (excluding unnecessary newlines)                 */ /*                                                                         */ /*     Usage is:  cat title-key scrambled.vob | efdtt >clear.vob           */ #define m(i)(x[i]^s[i+84])<< unsigned char x[5],y,s[2048];main(n){for(read(0,x,5);read(0,s,n=2048);write(1,s ,n))if(s[y=s[13]%8+20]/16%4==1){int i=m(1)17^256+m(0)8,k=m(2)0,j=m(4)17^m(3)9^k *2-k%8^8,a=0,c=26;for(s[y]-=16;--c;j*=2)a=a*2^i&1,i=i/2^j&1<<24;for(j=127;++j<n ;c=c>y)c+=y=i^i/8^i>>4^i>>12,i=i>>8^y<<17,a^=a>>14,y=a^a*8^a<<6,a=a>>8^y<<9,k=s [j],k="7Wo~'G_216"[k&7]+2^"cr3sfw6v;*k+>/n."[k>>4]*2^k*257/8,s[j]=k^(k&k*2&34) *6^c+~y;}} 4. Conclusión Ya se ha conseguido lo que se quería, poder ver DVDs en cualquier ordenador y con cualquier sistema operativo, con independecia de que algún organismo "oficial" quiera o no desarrollarlo, ya que de esta forma siempre habría sistemas sin poder reproducir DVDs. Una vez más se ha vuelto a reafirmar el dicho de "hecha la ley, hecha la trampa", ya que a pesar de la prohibición que existe sobre el código fuente del algoritomo DeCSS, se idearon muchas formas de hacerlo público, como técnicas de esteganografía, grabar la lectura por alguien del código y distribuirlo en mp3... Por desgracia, todo esto también aumenta el pirateo de películas debido a la facilidad con la que se puede "rippear" un DVD y dejarlo copiado en el disco duro descifrado en apenas unas horas. 11 de 12 10/11/09 17:41
  • 12. http://www.splitcc.net/Documents/decss.html La MPAA (Motion Picture Association of America) lo va a tener ciertamente difícil para paliar todo esto ya que ya son millones los reproductores y DVDs distribuidos y vendidos, por lo que costaría mucho más una vuelta atrás en la especificación técnica y actualización de todos los equipos que dejar que se sigan copiando DVDs ilegalmente. Solo el tiempo nos dará la soluciones. 5. Links: HYPERLINK "http://www.lemuria.org/DeCSS/decss.html"HYPERLINK "http://www.lemuria.org/DeCSS /decss.html" http://www.lemuria.org/DeCSS/decss.html http://www.gnu.org/directory/security/crypt/libdvdcss.html http://www.linuxvideo.org/ http://www-2.cs.cmu.edu/~dst/DeCSS/Gallery/ Alvaro Marin, 2004. Algunos derechos reservados. http://creativecommons.org/licenses/by-nc-sa/2.0/ 12 de 12 10/11/09 17:41