ES2341037T3 - Proceso de cifrado y de descifrado de un contenido de acceso condicional. - Google Patents

Proceso de cifrado y de descifrado de un contenido de acceso condicional. Download PDF

Info

Publication number
ES2341037T3
ES2341037T3 ES06830594T ES06830594T ES2341037T3 ES 2341037 T3 ES2341037 T3 ES 2341037T3 ES 06830594 T ES06830594 T ES 06830594T ES 06830594 T ES06830594 T ES 06830594T ES 2341037 T3 ES2341037 T3 ES 2341037T3
Authority
ES
Spain
Prior art keywords
block
encrypted
encryption
key
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES06830594T
Other languages
English (en)
Inventor
Thierry Lelegard
Pascal Junod
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nagra France SAS
Original Assignee
Nagra France SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nagra France SAS filed Critical Nagra France SAS
Application granted granted Critical
Publication of ES2341037T3 publication Critical patent/ES2341037T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • H04N21/43853Multiplex stream processing, e.g. multiplex stream decrypting involving multiplex stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23895Multiplex stream processing, e.g. multiplex stream encrypting involving multiplex stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/601Broadcast encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Proceso de cifrado y de descifrado de un contenido de acceso condicional, en el cual dicho contenido se difunde en forma de paquetes de datos (DP), los paquetes precedentes siendo cifrados por una primera clave (K1) asociada a un primer valor de relleno (PAD1) y a un primer elemento de relleno cifrado (PADK1) y los paquetes sucesivos siendo cifrados por una segunda clave (K2) asociada a un segundo valor de relleno (PAD2) y a un segundo elemento de relleno cifrado (PADK2), en el cual al menos dicha primera clave (K1) y dicho primer valor de relleno (PAD1) forman un primer conjunto de parámetros de cifrado y en el cual al menos dicha segunda clave (K2) y dicho segundo valor de relleno forman un segundo conjunto de parámetros de cifrado, este proceso comprendiendo las etapas siguientes de: a) extracción a partir de un paquete de datos (DP), de un marcador (Mc); b) creación de un primer bloque de marcado comprendiendo por una parte dicho marcador (Mc) y por otra parte el segundo valor de relleno (PAD2); c) cifrado de dicho primer bloque de marcado con la segunda clave de cifrado (K2); d) extracción de un segundo valor de marcado cifrado (MK2) de dicho primer bloque de marcado cifrado; e) creación de un bloque de marcado mixto comprendiendo por una parte dicho segundo valor de marcado cifrado (MK2) y por otra parte dicho primer elemento de relleno cifrado (PADK1); f) descifrado de dicho bloque de marcado mixto por medio de la primera clave de cifrado (K1), de manera a obtener un bloque de marcado mixto descifrado; g) extracción de una parte predeterminada del bloque de marcado mixto descifrado h) comparación de esta parte extraída con un dato de referencia (Me; PDV2); i) si la comparación produce una identidad, determinación de un nuevo conjunto de parámetros de cifrado diferente del primer conjunto de parámetros de cifrado y reiteración de las etapas b) a h) en las cuales dicho segundo conjunto de parámetros de cifrado se reemplaza por dicho nuevo segundo conjunto de parámetros de cifrado.

Description

Proceso de cifrado y de descifrado de un contenido de acceso condicional.
Campo técnico
La presente invención se refiere a un proceso de cifrado y de descifrado de un contenido de acceso condicional en el cual este contenido es enviado en forma de paquetes de datos.
Este proceso se aplica particularmente a la televisión de pago, pero también a otras configuraciones en las cuales se envían datos en forma cifrada. Estos datos pueden referirse particularmente a transacciones financieras, programas, juegos o a un contenido musical por ejemplo o a informaciones tales como informaciones bursátiles, previsiones meteorológicas o similares.
Técnica anterior
En cierto número de aplicaciones, en particular en el ámbito de la televisión de pago, unos datos que forman un contenido se envían en forma de paquetes de datos. Estos paquetes en particular pueden tener una longitud fija predeterminada. Estos paquetes son difundidos generalmente de forma cifrada con destino a un conjunto de receptores tales como descodificadores.
En paralelo a los paquetes de datos, se difunden también informaciones de descifrado. Estas informaciones contienen en particular claves de descifrado o datos que permiten determinar las claves necesarias. Con el fin de garantizar cierta seguridad de los sistemas de datos de acceso condicional, es imperativo cambiar las claves después de cierto tiempo de utilización o de validez. En la práctica, en el caso particular de la televisión de pago, se puede usar una clave para acceder a algunos segundos, incluso a algunos minutos de un contenido televisivo. Una de las restricciones ligadas al cambio de clave es la necesidad de asociar la clave de descifrado adecuada con cada paquete de datos, sin la cual no se puede acceder a estos datos. Es sin embargo prácticamente imposible sincronizar los datos con las informaciones de descifrado, en particular debido al funcionamiento interno de los sistemas.
Por esta razón, es necesario disponer de un mecanismo que permita asociar cada paquete de datos con la clave de descifrado correspondiente, sin poder sincronizar estos dos elementos.
Según una forma de realización conocida, los paquetes de datos contienen generalmente un marcador de valor conocido que permite al receptor/descodificador, localizar el inicio de un paquete y tratar este paquete en consecuencia.
Según las normas utilizadas para el formateo de estos paquetes, la longitud de un paquete es fija y no es posible añadir informaciones suplementarias a las que existen ya. Eso significa en particular que cuando se modifica la clave de cifrado de un paquete, no es posible indicar este cambio de clave en el paquete, por ejemplo al medio de informaciones de cambio de clave. Se debe señalar que el cambio de claves no se sincroniza con los paquetes, de modo que una clave puede servir a cifrar y a descifrar varios paquetes.
En la práctica, cuando se recibe un paquete, éste se descifra con la clave habitual. Se verifica después que el resultado del descifrado es utilizable, es decir si contiene el marcador. Si no es el caso, se descifra el mismo paquete con la clave siguiente. Si se puede utilizar el resultado de este descifrado y que éste contiene así el marcador, se utiliza la nueva clave para el descifrado. Si el resultado de este descifrado no contiene el marcador, se genera un mensaje de error.
Este modo de realización presenta un inconveniente importante. De hecho, puede que el descifrado de un paquete con la clave corriente produzca un resultado que contenga efectivamente el marcador, mientras que se ha cifrado este paquete con otra clave que la clave corriente. Este resultado debido al azar se produce según una frecuencia importante e impide que un usuario acceda al contenido aunque tenga los derechos para ello.
La presente invención se propone paliar este inconveniente realizando un proceso en el cual el descifrado por una clave, de un paquete cifrado por otra clave diferente no contiene nunca el marcador. De este modo, no se puede confundir dos claves de cifrado y así se asegura siempre el acceso al contenido.
Informe de la invención
El objetivo de la invención es alcanzado por un proceso de cifrado y de descifrado de un contenido de acceso condicional, donde dicho contenido se difunde en forma de paquetes de datos, los paquetes precedentes siendo cifrados por una primera clave asociada a un primer valor de relleno y a un primer elemento de relleno cifrado y los paquetes sucesivos siendo cifrados por una segunda clave asociada a un segundo valor de relleno y a un segundo elemento de relleno cifrado, en el cual al menos dicha primera clave y dicho primer valor de relleno forman un primer conjunto de parámetros de cifrado, este proceso comprendiendo las etapas siguientes de:
a)
extracción a partir de un paquete de datos, de un marcador;
b)
creación de un primer bloque de marcado comprendiendo, por una parte dicho marcador y por otra parte el segundo valor de relleno;
c)
cifrado de dicho primer bloque de marcado con la segunda clave de cifrado;
d)
extracción de un segundo valor de marcado cifrado de dicho primer bloque de marcado cifrado;
e)
creación de un bloque de marcado mixto comprendiendo por una parte dicho segundo valor de marcado cifrado y por otra parte dicho primer elemento de relleno cifrado;
f)
descifrado de dicho bloque de marcado mixto por la primera clave de cifrado, de manera a obtener un bloque de marcado mixto descifrado;
g)
extracción de una parte predeterminada del bloque de marcado mixto descifrado
h)
comparación de esta parte extraída con un valor de referencia;
i)
si la comparación llega a una identidad, determinación de un nuevo conjunto de parámetros de cifrado diferente al primer conjunto de parámetros de cifrado y reiteración de las etapas b) a h) en las cuales dicho segundo conjunto de parámetros de cifrado se reemplaza por dicho nuevo segundo conjunto de parámetros de cifrado.
\vskip1.000000\baselineskip
En un sistema de televisión de pago en el que se utiliza el proceso de la invención, los paquetes de datos pueden ser difundidos con destino a un grupo de receptores, enviados en forma de punto por punto o ser almacenados en un soporte físico tal como un disco duro por ejemplo. Las informaciones de descifrado también pueden ser difundidas, enviadas punto por punto o almacenadas. Generalmente, el dispositivo de descifrado al interior del receptor o del descodificador dispone simultáneamente de dos informaciones de descifrado. En caso de memorizar estas informaciones en una memoria del descodificador, éstas se transmiten al dispositivo de descifrado de tal modo que éste dispone también de sólo dos informaciones a la vez, las otras siendo memorizadas para un uso posterior. Si estas informaciones son las claves de descifrado, dispone en general de la clave actual y de la clave siguiente es decir la clave que ha servido a cifrar el paquete que se está visualizando y la clave que ha servido a cifrar el próximo paquete mediante el uso de una clave diferente a la clave actual.
A pesar de que el paquete de datos, por su estructura y las restricciones ligadas a la norma utilizada no permite incluir informaciones de cambio de clave, el proceso de la invención permite determinar el paquete para el cual se debe usar la clave siguiente.
De hecho, en la invención, cuando se accede a un paquete de datos, el paquete siguiente se descifra con la clave corriente. En este paquete descifrado, se determina si contiene un marcador. Si no es el caso, se utiliza la clave siguiente para descifrar el paquete de datos. Si esta clave siguiente ha sido utilizada para cifrar este paquete, se utiliza entonces dicha clave, que se convierte en la nueva clave corriente. Otra clave siguiente es entonces cargada.
Si después del descifrado del paquete con la clave corriente, se recupera el marcador, se puede suponer que la clave corriente es la que ha servido para cifrar el paquete en cuestión. Sin embargo, para evitar que este marcador esté presente al azar cuando la clave siguiente se ha utilizado para cifrar el paquete considerado, durante el cifrado, se efectúa una prueba. Esta prueba tiene como objetivo de asegurar que es imposible recuperar el marcador después del descifrado por cierta clave, de un paquete que se ha cifrado por otra clave "temporalmente adyacente", es decir siguiente o precedente.
Esto no puede ser garantizado por los procesos del estado de técnica anterior. De hecho, como se ha indicado anteriormente, un paquete de datos contiene particularmente un marcador y una parte útil, el marcador siendo fijo y la parte útil siendo variable. Como esta parte útil es variable, nunca se puede garantizar que, si se cifra el paquete con una clave, y se descifra después este paquete con otra clave, el paquete obtenido no contenga el marcador.
En esta invención, gracias a la prueba, se puede asegurar que si se recupera el marcador en el paquete descifrado, es que el descifrado se ha efectuado con la clave correcta.
Breve descripción de los dibujos
La presente invención y sus ventajas se entenderán mejor en referencia a las figuras anexadas y a la descripción detallada de un modo de realización particular, en las cuales:
- las figuras 1a a 1g ilustran esquemáticamente el cifrado de un paquete de datos según el proceso de la invención;
- la figura 2 ilustra un primer modo de realización de la verificación de parámetros utilizados para el cifrado;
- la figura 3 ilustra un segundo modo de realización de la verificación de parámetros utilizados para el cifrado;
- las figuras 4a a 4g representan el descifrado de un bloque de datos por medio de la clave correcta; y
- las figuras 5a a 5d ilustran el rompimiento de un bloque por medio de una clave falsa.
Mejor forma de realizar la invención
En referencia a las figuras 1a a 1g, el contenido difundido se transmite en forma de paquetes de datos DP. Cada paquete de datos está formado por un membrete H no cifrado, un marcador Mc y una parte útil PL. El membrete H contiene informaciones de servicio así como un indicador de inicio de paquete. Según un modo de realización concreto, éste está formado por 4 octetos y se mantiene siempre en forma no cifrada. El marcador Mc es constante en todos los paquetes. En la práctica, en general éste está formado por tres octetos de los cuales los dos primeros tienen el valor 0 y el tercero el valor 1. En las figuras, la parte útil PL lleva la referencia 1 para el primer paquete. La cual está formada por datos de acceso condicional propiamente dichos, es decir datos audio o vídeo por ejemplo en caso de difusión de contenidos de televisión de pago o de música. El tamaño del paquete de datos DP completo es fijo y no debe ser modificado. En la práctica, por ejemplo puede ser de 188 octetos.
Mediante la aplicación del proceso de la invención, en primer lugar, se extrae el marcador Mc del primer paquete de datos DP. Se forma después un bloque, llamado primer bloque de marcado BM. Este bloque de marcado comprende por una parte el marcador Mc y por otra parte un primer valor de relleno PAD1. Este valor de relleno puede ser elegido de manera aleatoria, en una lista predeterminada o ser constante. La importancia de este valor de relleno se describe en detalles más abajo.
En el proceso de la invención, se usa generalmente un algoritmo de cifrado por bloques. En este tipo de algoritmos, el tamaño de los bloques utilizados es fijo y puede ser por ejemplo de 8 o 16 octetos, aunque otros valores sean posibles. Este tamaño es llamado tamaño de cifrado en el texto a continuación. El tamaño del primer valor de relleno PAD1 es tal que el tamaño del bloque de marcado BM es igual al tamaño de cifrado.
El bloque de marcado BM es cifrado después con la primera clave de cifrado K1 de manera a obtener un bloque de marcado cifrado BMC. Éste es truncado en dos partes, donde una de las partes tiene el tamaño del marcador Mc y la otra parte tiene el tamaño restante. La parte con el tamaño del marcador tiene como referencia MK1 en la figura 1d y es denominada valor de marcado cifrado. La otra parte tiene como referencia PADK1 y es denominada elemento de relleno cifrado. El lugar donde el bloque de marcado cifrado es truncado depende del tamaño del marcador y de su emplazamiento. De este modo, si el marcador tiene un tamaño de tres octetos y se coloca al principio del bloque de marcado, el valor de marcado cifrado tendrá también un tamaño de tres octetos y será extraído al inicio del bloque de marcado cifrado. Sin embargo, está claro que normalmente, el valor de marcado cifrado MK1 no corresponde al marcador Mc al cual se aplica la primera clave de cifrado K1. De manera similar, el elemento de relleno cifrado PADK1 no corresponde al primer valor de relleno PAD a la que se aplica la primera clave de cifrado K1.
La parte útil PL1 contenida en el primer paquete de datos se cifra por medio de la primera clave de cifrado K1, por ejemplo mediante el uso también del proceso de cifrado por bloques, de manera a obtener la parte útil cifrada PL1 K1.
El marcador Mc del paquete DP de origen se reemplaza por el valor de marcado cifrado MK1 obtenido en la etapa precedente. De la misma manera, la parte útil PL1 se reemplaza por la parte útil cifrada PL1K1. Este nuevo bloque tiene necesariamente el tamaño del bloque de origen. Este se denomina bloque de datos masivos cifrado DBC. Es evidente que el bloque de datos cifrado normalmente no corresponde al paquete de datos DP al cual se hubiera aplicado la primera clave de cifrado K1.
Se forma también otro bloque, denominado bloque de descifrado DB, comprendiendo al menos la primera clave K1 y el elemento de relleno cifrado PADK1.
El bloque de datos cifrado DBC y el bloque de descifrado DB son tratados de manera convencional en vista a su difusión, es decir que el bloque de descifrado es cifrado generalmente por una clave de transmisión TK y formateados para ser enviados en un mensaje de control ECM con destino a los receptores correspondientes. El bloque de datos cifrado también se difunde con destino a estos receptores.
Como se ha indicado anteriormente, el proceso de la invención permite garantizar que nunca se podrá confundir una clave que haya servido al cifrado de paquetes de datos con otra clave que haya servido para otro paquete de datos.
Las figuras 2 y 3 ilustran dos maneras de asegurarse de que no pueda haber una confusión de las claves.
En referencia a la figura 2, imaginemos que los paquetes de datos precedentes se cifran por medio de una primera clave de cifrado K1 y los paquetes sucesivos se cifran por medio de la clave K2.
Como indicado en referencia a las figuras 1a a 1g y en particular a la figura 1b, durante la preparación de los datos para su difusión, se escoge un valor de relleno PAD1 para formar un bloque de marcado BM comprendiendo el marcador Mc y el valor de relleno PAD1.
Se cifra después el bloque de marcado con la primera clave de cifrado K1. Se obtiene un bloque de marcado cifrado BMC. Éste es después separado en dos bloques, uno de ellos conteniendo el valor de marcado cifrado MK1. y el otro, el elemento de relleno cifrado PADK1, como se ilustra en la figura 1d. Este elemento de relleno cifrado PADK1 se memoriza de modo que, durante la etapa de verificación, éste no se recalcula, sino simplemente se extrae de la memoria.
Durante esta etapa de verificación, se extrae el marcador Mc de un paquete de datos, luego se añade un segundo valor de relleno PAD2 a este marcador de manera a formar un bloque de marcado que tenga el tamaño del paquete de datos. Este bloque de marcado se cifra con la segunda clave de cifrado K2 y forma un bloque de marcado cifrado. Éste es truncado de manera a formar un segundo valor de marcado cifrado MK2 y un segundo elemento de relleno cifrado PADK2. El segundo valor de marcado cifrado MK2 tiene el tamaño del marcador y el segundo elemento de relleno cifrado PADK2 representa el saldo del bloque.
Se forma después un nuevo bloque, denominado bloque de marcado mixto cifrado BMXC, a partir del segundo valor de marcado cifrado MK2 y del primer elemento de relleno cifrado PADK1. Como indicado anteriormente, ya se conoce este primer elemento de relleno cifrado, ya que se ha formado en una etapa anterior.
Este bloque de marcado mixto cifrado se descifra con la clave utilizada anteriormente, a saber la primera clave de cifrado K1. El bloque obtenido es truncado de manera a formar una primera parte MK* que tiene la longitud del marcador y una segunda parte PADK* que representa el saldo del bloque. Esta primera parte se compara al marcador Me. Si la comparación indica que estos valores son diferentes, el proceso continua como se explica en referencia a las figuras 1a 1g.
Si al contrario, la comparación indica que los valores MK*; Mc son idénticos, lo cual puede ocurrir al azar y supone problemas durante la utilización del sistema, es necesario cambiar al menos un parámetro que haya servido al cifrado.
Durante la utilización de un algoritmo de cifrado por bloques en un proceso tal como descrito más arriba, los parámetros utilizados son el segundo valor de relleno PAD2, la segunda clave de cifrado K2 así como eventualmente un vector de inicialización. Este vector de inicialización es muy conocido en sí y no se describe en detalle a continuación. Su función se explica particularmente en "Cryptographie appliquée" de Bruce Schneier, 2a edición, \NAK9.3.
En caso de que el parámetro modificado sea el valor de relleno, este segundo valor de relleno PAD2 será reemplazado por un nuevo segundo valor de relleno referido PAD2*. Si los valores de relleno son determinados de manera aleatoria, esto no implica problemas. Si éstos son elegidos en una lista, es suficiente tomar otro elemento de la lista. Si este valor de relleno es fijo, es necesario para estos casos particulares tomar otro valor de relleno que este valor fijo. Para ello, es necesario por consiguiente prever los mecanismos que permiten cambiar de valor de relleno, aunque estos valores sean fijos generalmente.
Cuando un nuevo segundo valor de relleno ha sido determinado, éste se prueba de nuevo hasta llegar a una configuración en la cual el valor de marcado descifrado MK* es diferente al marcador Me.
Según una variante, también se puede guardar el mismo valor de relleno y cambiar la clave. De hecho, es necesario cambiar al menos uno de los valores de los parámetros citados más arriba. También se puede cambiar todos los valores, por ejemplo extrayendo al azar un nuevo conjunto de parámetros utilizados, a saber un segundo valor de relleno, una segunda clave y un vector de inicialización.
Según una variante, ilustrada por la figura 3, no se prueba el marcador Me, sino otro valor de referencia. En vez de usar el segundo valor de relleno PAD2 tal como definido en esta figura 2, se utiliza además un segundo valor fijo F2 tal como el marcador Me, el valor de relleno PAD2 y el valor fijo F2 tienen una longitud igual al tamaño de cifrado.
El proceso de verificación se desarrolla tal como indicado en el modo de realización anterior hasta obtener el bloque de marcado mixto descifrado por la primera clave de cifrado K1. Este bloque de marcado mixto descifrado se trunca en tres partes, a saber una primera parte MK* del tamaño del marcador, una parte intermedia PADK* y una tercera parte FK* del tamaño del valor fijo F2. Si se conoce el primer valor de relleno PAD1, el primer valor fijo F1 y la primera clave de cifrado K1, se puede determinar el valor que se debe obtener para la tercera parte FK* del bloque de marcado mixto descifrado, este valor siendo denominado valor previsible de referencia PDV2. En esta variante, si la tercera parte FK* es igual al valor previsible de referencia PDV2, se cambia el segundo valor fijo F2 o la clave o un vector de inicialización, hasta que la comparación indique una diferencia de valores.
Este modo de realización indica que no es necesario efectuar la comparación con un valor idéntico para todos los paquetes de datos. En efecto, sólo se debe aplicar este método a valores conocidos no cifrados cuyo tratamiento provee un resultado previsible.
Las figuras 4a a 4g describen el descifrado de un paquete de datos DP por medio de la clave K1 que ha servido a cifrar este paquete.
Como indicado en referencia a las figuras 1f y 1g, el receptor/descodificador recibe por una parte el bloque de datos cifrado DBC y por otra parte el bloque de descifrado DB, este último bloque siendo cifrado por la clave de transmisión TK.
En primer lugar, el descodificador utiliza la clave de transmisión TK para extraer el bloque de descifrado. A partir del valor de marcado cifrado MK1 y del elemento de relleno cifrado PADK1, se reconstituye el bloque de marcado cifrado BMC. Gracias al conocimiento de la primera clave K1, procedente del bloque de descifrado, es posible descifrar el bloque de marcado cifrado y obtener el bloque de marcado.
Este bloque de marcado es truncado después para obtener un bloque que tiene la longitud del marcador Me. Este bloque se prueba para verificar si es igual al marcador Mc o no:
Puesto que nos basamos en la hipótesis de que la primera clave K1 para el cifrado también es la que se utiliza para el descifrado, el bloque obtenido anteriormente contendrá efectivamente el marcador Mc. Esta característica precisamente permite asegurarse de que la clave de descifrado sigue válida para el paquete de datos tratado actualmente.
Gracias a este marcador Me, se puede reconstituir el paquete de origen reemplazando el valor de marcado cifrado MK1 en el bloque de datos cifrado por el marcador Mc. Se obtiene así el paquete de datos DP de origen en el que se extrae la parte útil PL1K1 cifrada. Ésta es después descifrada por medio de la primera clave K1 para obtener la parte útil PL1 que se trata después de manera convencional para acceder al contenido requerido.
A continuación la descripción se refiere al caso en el que la clave de cifrado utilizada es una segunda clave de cifrado K2 y donde se utiliza la primera clave de cifrado K1 para intentar acceder a los datos. Este caso se trata más abajo en referencia a las figuras 5a a 5d.
Como indicado anteriormente, el descodificador recibe un bloque de datos cifrado DBC y un bloque de descifrado DB, este bloque de descifrado siendo él mismo cifrado por la clave de transmisión TK. Este bloque es descifrado primero gracias a la clave de transmisión conocida por el descodificador. El descodificador puede formar después, como en la figura 4b, un bloque de marcado cifrado comprendiendo el valor de marcado cifrado MK2 y el elemento de relleno cifrado PADK1.
Este descodificador descifra después este bloque con su clave actual, a saber la primera clave de cifrado K1. El resultado es truncado en la longitud del marcador Mc, comparado después con este marcador. Como la clave K2 utilizada para el cifrado es diferente de la primera clave K1 utilizada para el descifrado, la parte truncada MK2 del bloque será diferente al marcador Mc.
Además, como se ha indicado en referencia a la figura 2, el valor de relleno PAD1 se elige y se verifica de tal modo que es imposible que la parte truncada del bloque sea igual al marcador.
De esta manera, el cambio de clave será detectado inevitablemente por el descodificador. Como la utilización de la primera clave K1 no provee el resultado esperado, es decir el marcador Me, éste utilizará la clave siguiente, es decir la segunda clave de cifrado K2. De esta manera, estamos en el caso ilustrado por las figuras 4a a 4g, reemplazando la primera clave de cifrado K1 por la segunda clave de cifrado K2, lo que permitirá recuperar el marcador Mc y acceder así a la parte útil PL. Se debe señalar que, generalmente, si la utilización de esta nueva clave tampoco produce el resultado esperado, es decir el marcador, se generará un mensaje de error.
En la descripción más arriba, se ha indicado que el dispositivo de decodificación propiamente dicho contiene dos claves, es decir la clave corriente y la clave siguiente. Según una variante, también puede contener más, por ejemplo 5, inscritas en un registro de desfase. En este caso, cuando ya no se puede utilizar la primera clave, ésta es eliminada y la segunda clave ocupa su sitio. La 5ª clave toma la 4ª ubicación y una nueva clave se introduce en la 5ª posición.
Las claves utilizadas en la presente invención pueden ser de tipo simétrico o asimétrico. En el caso de una clave simétrica, se utiliza la misma clave para cifrar como para descifrar. En el caso de una clave asimétrica, la clave utilizada para cifrar los datos es diferente de la clave que permite descifrarlos. De este modo, en la descripción susodicha, cuando se ha indicado que el descifrado ha sido efectuado con la primera clave K1 por ejemplo, hay que entender que en caso de utilización de claves asimétricas, este descifrado se efectúa con la clave del par de claves que no se ha utilizado para el cifrado.
Aunque no se haya representado explícitamente en las figuras, cuando se utiliza un vector de inicialización en el marco del cifrado por bloques, este vector es también transmitido al descodificador en el bloque de descifrado de tal forma que este vector sea disponible también durante el descifrado.
\newpage
Referencias citadas en la descripción
Esta lista de referencias citada por el solicitante ha sido recopilada exclusivamente para la información del lector. No forma parte del documento de patente europea. La misma ha sido confeccionada con la mayor diligencia; la OEP sin embargo no asume responsabilidad alguna por eventuales errores u omisiones.
Documentos de patente citados en la descripción
- Bruce Schneier. Cryptographie appliquée [0036].

Claims (16)

1. Proceso de cifrado y de descifrado de un contenido de acceso condicional, en el cual dicho contenido se difunde en forma de paquetes de datos (DP), los paquetes precedentes siendo cifrados por una primera clave (K1) asociada a un primer valor de relleno (PAD1) y a un primer elemento de relleno cifrado (PADK1) y los paquetes sucesivos siendo cifrados por una segunda clave (K2) asociada a un segundo valor de relleno (PAD2) y a un segundo elemento de relleno cifrado (PADK2), en el cual al menos dicha primera clave (K1) y dicho primer valor de relleno (PAD1) forman un primer conjunto de parámetros de cifrado y en el cual al menos dicha segunda clave (K2) y dicho segundo valor de relleno forman un segundo conjunto de parámetros de cifrado, este proceso comprendiendo las etapas siguientes de:
a)
extracción a partir de un paquete de datos (DP), de un marcador (Mc);
b)
creación de un primer bloque de marcado comprendiendo por una parte dicho marcador (Mc) y por otra parte el segundo valor de relleno (PAD2);
c)
cifrado de dicho primer bloque de marcado con la segunda clave de cifrado (K2);
d)
extracción de un segundo valor de marcado cifrado (MK2) de dicho primer bloque de marcado cifrado;
e)
creación de un bloque de marcado mixto comprendiendo por una parte dicho segundo valor de marcado cifrado (MK2) y por otra parte dicho primer elemento de relleno cifrado (PADK1);
f)
descifrado de dicho bloque de marcado mixto por medio de la primera clave de cifrado (K1), de manera a obtener un bloque de marcado mixto descifrado;
g)
extracción de una parte predeterminada del bloque de marcado mixto descifrado
h)
comparación de esta parte extraída con un dato de referencia (Me; PDV2);
i)
si la comparación produce una identidad, determinación de un nuevo conjunto de parámetros de cifrado diferente del primer conjunto de parámetros de cifrado y reiteración de las etapas b) a h) en las cuales dicho segundo conjunto de parámetros de cifrado se reemplaza por dicho nuevo segundo conjunto de parámetros de cifrado.
\vskip1.000000\baselineskip
2. Proceso según la reivindicación 1, caracterizado por el hecho de que el conjunto de parámetros de cifrado incluye también un vector de inicialización.
3. Proceso según la reivindicación 1 o 2, caracterizado por el hecho de que dicho nuevo conjunto de parámetros de cifrado difiere de dicho primer conjunto de parámetros de cifrado en al menos uno de dichos parámetros.
4. Proceso según la reivindicación 1, caracterizado por el hecho de que durante la etapa h), la comparación de la parte extraída se realiza con respecto al marcador (Mc).
5. Proceso según la reivindicación 1, caracterizado por el hecho de que durante la etapa h), la comparación de la parte extraída se realiza con respecto a un valor conocido igual a una parte extraída del segundo valor de relleno (PAD2).
6. Proceso según la reivindicación 1, caracterizado por el hecho de que el tamaño del bloque de marcado formado del marcador (Mc) y de dicho primer o segundo valor de relleno (PAD1; PAD2) es igual a un tamaño compatible con un algoritmo de cifrado por bloques utilizados en este proceso.
7. Proceso según la reivindicación 1, caracterizado por el hecho de que dicha parte (MK1) del bloque de marcado mixto descifrado extraída de este bloque tiene un tamaño igual al tamaño del marcador (Mc).
8. Proceso según la reivindicación 1, caracterizado por el hecho que incluye también las etapas siguientes:
-
creación de un primer bloque de marcado comprendiendo por una parte dicho marcador (Mc) y por otra parte un primer valor de relleno (PAD1);
-
cifrado de dicho bloque de marcado con la primera clave (K1);
-
extracción de un primer valor de marcado cifrado (MK1) de dicho bloque de marcado cifrado;
-
reemplazo, en el paquete de datos (DP) del marcador (Mc) por dicha parte (MK1) del bloque de marcado cifrado extraída de este bloque; esta parte siendo denominada valor de marcado cifrado, el resultado de este reemplazo siendo denominado bloque de datos cifrado;
-
creación de un bloque de descifrado formado al menos por una parte por dicha primera clave de cifrado (K1) y por otra parte por dicho elemento de relleno cifrado. (PADK1), este elemento de relleno cifrado siendo formado por dicho bloque de marcado cifrado al cual se ha retirado el valor de marcado cifrado (MK1);
\vskip1.000000\baselineskip
9. Proceso según la reivindicación 8, caracterizado por el hecho de que dicho bloque de datos cifrado y dicho bloque de descifrado se transmiten con al menos un receptor, dicho bloque de descifrado siendo cifrado también por una clave de transmisión (TK).
10. Proceso de descifrado según la reivindicación 9, caracterizado por el hecho de que incluye las etapas siguientes de:
a)
recepción de dicho bloque de datos cifrado y de dicho bloque de descifrado y descifrado del bloque de descifrado por la clave de transmisión (TK);
b)
creación del bloque de marcado cifrado por extracción del valor de marcado cifrado (MK1) procedente del bloque de datos cifrado y por extracción del elemento de relleno cifrado (PADK1) procedente del bloque de descifrado;
c)
descifrado del bloque de marcado cifrado a través de una clave corriente (K1);
d)
extracción de una parte predeterminada del bloque de marcado obtenido durante dicho descifrado del bloque de marcado cifrado;
e)
comparación de esta parte predeterminada del bloque de marcado con un dato de referencia (Mc; PDV2);
f)
en caso de identidad, reemplazo del valor de marcado cifrado (MK1) del bloque de datos cifrado por dicho marcador (Mc);
g)
extracción, descifrado y utilización de la parte útil (PL);
h)
en caso de no-identidad durante dicha comparación, descifrado del bloque de marcado cifrado por medio de una clave siguiente (K2);
i)
extracción de una parte predeterminada del bloque de marcado obtenido durante dicho descifrado del bloque de marcado con esta nueva clave (K2);
j)
comparación de esta parte del bloque de marcado con dicho dato de referencia (Mc; PDV2);
k)
en caso de identidad, reemplazo del valor de marcado cifrado (MK1) del bloque de datos masivos cifrado por dicho marcador (Mc);
l)
extracción, descifrado y utilización de la parte útil (PL).
\vskip1.000000\baselineskip
11. Proceso según la reivindicación 10, caracterizado por el hecho de que, en caso de no-identidad después del descifrado con dicha clave siguiente (K2), se genera un mensaje de error.
12. Proceso según la reivindicación 10, caracterizado por el hecho de que la comparación de la parte predeterminada extraída se realiza con respecto al marcador (Mc).
13. Proceso según la reivindicación 10, caracterizado por el hecho de que la comparación de la parte predeterminada extraída se realiza con respecto a un valor conocido igual a una parte extraída del primer valor de relleno (PAD1).
14. Proceso según la reivindicación 11, caracterizado por el hecho de que el tamaño del bloque extraído del bloque de marcado cifrado es igual al tamaño del marcador (Mc).
15. Proceso según la reivindicación 1, caracterizado por el hecho de que dos claves son memorizadas, una con la función de clave actual y la otra con la función de clave siguiente.
16. Proceso según la reivindicación 1, caracterizado por el hecho de que varias claves son memorizadas y asociadas con un orden de utilización.
ES06830594T 2005-12-15 2006-12-13 Proceso de cifrado y de descifrado de un contenido de acceso condicional. Active ES2341037T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05292701 2005-12-15
EP05292701A EP1798975A1 (fr) 2005-12-15 2005-12-15 Procede de chiffrement et de dechiffrement d'un contenu a access conditionnel

Publications (1)

Publication Number Publication Date
ES2341037T3 true ES2341037T3 (es) 2010-06-14

Family

ID=36764068

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06830594T Active ES2341037T3 (es) 2005-12-15 2006-12-13 Proceso de cifrado y de descifrado de un contenido de acceso condicional.

Country Status (12)

Country Link
US (1) US7882350B2 (es)
EP (2) EP1798975A1 (es)
JP (1) JP2009519649A (es)
KR (1) KR101330959B1 (es)
CN (1) CN101331769B (es)
AT (1) ATE459206T1 (es)
BR (1) BRPI0620700A2 (es)
CA (1) CA2633116C (es)
DE (1) DE602006012541D1 (es)
ES (1) ES2341037T3 (es)
HK (1) HK1115967A1 (es)
WO (1) WO2007068720A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7506176B1 (en) 2008-03-10 2009-03-17 International Business Machines Corporation Encryption mechanism on multi-core processor
US8416983B1 (en) 2010-04-23 2013-04-09 The Directv Group, Inc. Method and apparatus for establishing an accurate low bit time stamp in a remotely created watermark
US8611531B2 (en) * 2010-04-23 2013-12-17 The Directv Group, Inc. Method and apparatus for remotely inserting watermark into encrypted compressed video bitstream
CN103037246B (zh) * 2011-10-10 2015-11-25 华为技术有限公司 一种加密内容分发方法、条件访问装置及***
US9066117B2 (en) * 2012-02-08 2015-06-23 Vixs Systems, Inc Container agnostic encryption device and methods for use therewith
ITMI20131824A1 (it) * 2013-11-04 2015-05-05 St Microelectronics Srl Metodo di identificare un messaggio conforme allo standard ota (over the air) ed affetto da errore
CN115297118B (zh) * 2022-10-09 2023-01-31 北京航空航天大学杭州创新研究院 一种基于区块链的数据共享方法及数据共享***

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2751817B1 (fr) * 1996-07-29 1998-09-11 Thomson Multimedia Sa Systeme a acces conditionnel utilisant des messages a cles de chiffrement multiples
US6016348A (en) * 1996-11-27 2000-01-18 Thomson Consumer Electronics, Inc. Decoding system and data format for processing and storing encrypted broadcast, cable or satellite video data
JP4273535B2 (ja) * 1998-05-12 2009-06-03 ソニー株式会社 データ伝送制御方法、データ伝送システム、データ受信装置及びデータ送信装置
JP2000156678A (ja) * 1998-11-19 2000-06-06 Sony Corp 信号処理回路
ES2315219T3 (es) * 2000-04-07 2009-04-01 Irdeto Access B.V. Sistema de cifrado y descifrado de datos.
US6826684B1 (en) * 2000-08-28 2004-11-30 Verizon Corporate Services Group Inc. Sliding scale adaptive self-synchronized dynamic address translation
US6978384B1 (en) * 2000-09-19 2005-12-20 Verizon Corp. Services Group, Inc. Method and apparatus for sequence number checking
US20030051026A1 (en) * 2001-01-19 2003-03-13 Carter Ernst B. Network surveillance and security system
US20040111610A1 (en) * 2002-12-05 2004-06-10 Canon Kabushiki Kaisha Secure file format
JP4379031B2 (ja) * 2003-07-17 2009-12-09 日本ビクター株式会社 情報伝送方式及びそれに用いる情報送信装置及び情報受信装置
US7406595B1 (en) * 2004-05-05 2008-07-29 The United States Of America As Represented By The Director, National Security Agency Method of packet encryption that allows for pipelining
US7636439B2 (en) * 2004-09-10 2009-12-22 Hitachi Kokusai Electric, Inc. Encryption method, encryption apparatus, data storage distribution apparatus and data delivery system
US7751565B2 (en) * 2005-01-25 2010-07-06 Pak Kay Yuen Secure encryption system, device and method

Also Published As

Publication number Publication date
KR20080075850A (ko) 2008-08-19
CN101331769B (zh) 2012-08-29
JP2009519649A (ja) 2009-05-14
CN101331769A (zh) 2008-12-24
US20070180235A1 (en) 2007-08-02
DE602006012541D1 (de) 2010-04-08
HK1115967A1 (en) 2008-12-12
EP1798975A1 (fr) 2007-06-20
KR101330959B1 (ko) 2013-11-18
US7882350B2 (en) 2011-02-01
EP1961224B1 (fr) 2010-02-24
ATE459206T1 (de) 2010-03-15
EP1961224A1 (fr) 2008-08-27
BRPI0620700A2 (pt) 2011-12-06
CA2633116C (en) 2013-12-10
WO2007068720A1 (fr) 2007-06-21
CA2633116A1 (en) 2007-06-21

Similar Documents

Publication Publication Date Title
ES2341037T3 (es) Proceso de cifrado y de descifrado de un contenido de acceso condicional.
ES2368580T3 (es) Cifrado/descifrado de datos de programa pero no de datos psi.
ES2344122T3 (es) Metodo de verificacion de un dispositivo de destino conectado con un dispositivo principal.
ES2273005T3 (es) Metodo para el intercambio seguro de datos entre dos dispositivos.
ES2295105T3 (es) Sistema para la validacion de tiempo horario.
US9363578B2 (en) Communication system, communication device, communication method, and computer program
ES2362462T3 (es) Activación controlada de función.
US7721088B2 (en) Terminal device, server device, and content distribution system
ES2302947T3 (es) Proceso y modulo electronico de transmision segura de datos.
ES2325222T3 (es) Procedimiento de establecimiento de una clave de sesion y unidades para la puesta en practica del procedimiento.
ES2306675T3 (es) Metodos de acceso condicional a la television digital y aparato para manipular simultaneamente programas de television multiples.
BRPI0721588B1 (pt) aparelho de gerenciamento de chave de embaralhamento, aparelho de transmissão de informações de gerenciamento de chave de embaralhamento, método de gerenciamento de produção de chave de embaralhamento e meio de armazenamento
ES2331925T3 (es) Metodo de control de acceso a datos codificados.
RU2547228C1 (ru) Способ для защиты записанного мультимедийного содержания
ES2391555T3 (es) Método de gestión de derechos de un contenido cifrado y almacenado en una grabadora digital personal
ES2657798T3 (es) Método de suministro, a un terminal, de contenidos multimedia protegidos
JP2005527890A (ja) 個人用デジタルレコーダでの暗号化データの安全な格納方法
JP4314986B2 (ja) 記録再生装置、記録再生方法
ES2263850T3 (es) Sistema de acceso condicional y proteccion contra copias.
ES2309770T3 (es) Metodo de actualizacion protegida de software instalado en un modulo de seguridad.
ES2627735T3 (es) Método para acceso seguro a un contenido audio/vídeo en una unidad de descodificación
ES2398347T3 (es) Cifrado/descifrado de datos de programa pero no de datos PSI
ES2706976T3 (es) Procedimiento de difusión de un contenido multimedia protegido
ES2276273T3 (es) Sistema de television de pago, procedimiento de revocacion de derechos en un sistema de este tipo, descodificador y tarjeta inteligente asociados, y mensaje transmitido por un descodificador de este tipo.
US8352732B2 (en) Transmission method for conditional access content