ES2897685T3 - Método y sistema de acceso condicional a un contenido digital, terminal y dispositivo de suscriptor asociados - Google Patents

Método y sistema de acceso condicional a un contenido digital, terminal y dispositivo de suscriptor asociados Download PDF

Info

Publication number
ES2897685T3
ES2897685T3 ES11802487T ES11802487T ES2897685T3 ES 2897685 T3 ES2897685 T3 ES 2897685T3 ES 11802487 T ES11802487 T ES 11802487T ES 11802487 T ES11802487 T ES 11802487T ES 2897685 T3 ES2897685 T3 ES 2897685T3
Authority
ES
Spain
Prior art keywords
control word
encrypted
server
unencrypted
processing
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
ES11802487T
Other languages
English (en)
Inventor
Cécile Delerablee
Aline Gouget
Pascal Paillier
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.)
CRYPTOEXPERTS Sas
Original Assignee
CRYPTOEXPERTS 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 CRYPTOEXPERTS Sas filed Critical CRYPTOEXPERTS Sas
Application granted granted Critical
Publication of ES2897685T3 publication Critical patent/ES2897685T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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

Abstract

Método seguro para transmitir una palabra de control entre un servidor (3) y entidades de procesamiento (Ea, Eb, Em, Ei) para producir y aprovechar respectivamente dicha palabra de control, dicho método que incluye: - una etapa de producción (310) por parte del servidor (3) de una palabra de control cifrada c cuyo texto sin cifrar k se destina a ser aprovechado por dichas entidades de procesamiento (Ea, Eb, Em, Ei); - una etapa de transmisión de la palabra de control cifrada c que se produce con destino a entidades de procesamiento (Ea, Eb, Em, Ei); - una etapa de recepción por dichas entidades de procesamiento (Ea, Eb, Em, Ei) de la palabra de control cifrada c; - una etapa de producción (110) de una palabra de control sin cifrar k por cada entidad de procesamiento (Ea, Eb, Em, Ei) a partir de la palabra de control cifrada c recibida; caracterizado porque: - la etapa de producción (310) por parte del servidor (3) de una palabra de control cifrada c consiste en producir esta última a partir: i. de un vector s de ds elementos, cada uno de los cuales que pertenece al conjunto**(Ver fórmula)** de números enteros distintos de cero módulos p, p que es un número primo, ds es un número entero estrictamente mayor que 1 y pequeño con respecto al número de entidades de procesamiento (Ea, Eb, Em, Ei); ii. de un valor secreto γ conocido del servidor y perteneciente al conjunto**(Ver fórmula)** distintos de cero módulos p; de números enteros iii. de dos generadores pertenecientes respectivamente a dos grupos cíclicos**(Ver fórmula)** y**(Ver fórmula)** de orden p, parámetros de un grupo bilineal **(Ver fórmula)** de orden p en donde e(.,.) es un acoplamiento tal que **(Ver fórmula)** es un tercer grupo cíclico de orden p; - la etapa de producción (110) de una palabra de control sin cifrar k por cada entidad de procesamiento (Ea, Eb, Em, Ei) consiste en producir esta última a partir de: i. la palabra de control cifrada c ; ii. una clave de descifrado DKi que se conoce de la iésima entidad de procesamiento y se produce previamente a partir: a) de un vector x(i) de dx elementos, cada uno de los cuales pertenece al conjunto**(Ver fórmula)** de números enteros distintos de cero módulo p, dx que es un número entero estrictamente mayor que 1 y pequeño con respecto al número de entidades de procesamiento (Ea, Eb, Em, Ei), el vector x(i) se dedica a la entidad de procesamiento en cuestión; b) del valor secreto γ ; c) de un generador perteneciente a uno de los grupos cíclicos del grupo bilineal β ; de manera que la clave de descifrado DKi que se produce comprende componentes como DKi= (x(i),Ai) en donde Ai es un componente de la forma**(Ver fórmula)** z que es un generador perteneciente a uno de los grupos cíclicos del grupo bilineal β y P es un polinomio en γ de grado dx que se produce a partir de x(i); - la producción de la clave de descifrado DKi, la etapa (310) de producción de la palabra de control cifrada c y la etapa (110) de producción de la palabra de control sin cifrar k se disponen mutuamente de manera que un método de rastreo de caja blanca, que aprovecha el valor secreto γ y una pluralidad de palabras de control sin cifrar k producidas por un método de descifrado que aprovecha conjuntamente una serie de claves de descifrado DKi comprometidas, este número es menor o igual a**(Ver fórmula)** que produce al menos un vector x(i) que se aprovecha para producir una de dichas claves de descifrado DKi, dicho vector x(i) producido de esta manera identifica una de dichas claves de descifrado DKi comprometidas.

Description

DESCRIPCIÓN
Método y sistema de acceso condicional a un contenido digital, terminal y dispositivo de suscriptor asociados La invención se refiere a un sistema y un método seguro para transmitir entre un servidor y una pluralidad de entidades, un cifrado cuyo texto sin cifrar es aprovechado por dichas entidades. La invención encuentra una aplicación privilegiada en el campo de los sistemas y métodos de acceso condicional a un contenido digital para evitar el uso fraudulento de una o varias claves de descifrado. La invención es particularmente eficaz y no penaliza a los operadores para prevenir la piratería en el caso en donde varios usuarios sin escrúpulos formen una coalición para generar datos de descifrado de los que sea difícil discriminar la (s) clave (s) de descifrado al tener que hacer posible producir dicho descifrado de datos. De esta manera, la invención permite luchar eficazmente contra la provisión fraudulenta de contenido multimedia que se protege al conservar las capacidades de cálculo necesarias para su implementación y el ancho de banda de las redes de distribución de contenido protegido.
La invención se refiere además a un método para desencadenar la revocación temporal o permanente de equipos electrónicos que se meten a disposición de un suscriptor o la posible rehabilitación de este último. De esta manera, la invención se refiere a las adaptaciones de dicho material - como terminales posiblemente que se acoplan a dispositivos electrónicos seguros - y servidores de distribución de contenido protegido para permitir la implementación de un método de acceso condicional robusto y eficiente.
Un operador de difusión de contenido digital generalmente opera un sistema de acceso condicional (Sistema de acceso condicional - CASO en idioma inglés) para poner contenido protegido a la disposición de un suscriptor o una pluralidad de suscriptores. Un sistema de este tipo se basa generalmente en dispositivos electrónicos seguros, como tarjetas inteligentes, para alojar las identidades y/o derechos de los suscriptores y para realizar operaciones de cifrado, descifrado o generación de números.
De acuerdo con los sistemas de acceso condicional que se conocen, para transmitir contenido multimedia protegido, palabras de control cifradas c y los contenidos codificados C se transmiten a través de una red de difusión, a intervalos regulares o criptoperíodos, al menos, que se conocen y controlan por el operador de difusión. Una palabra de control cifrada se obtiene normalmente mediante una función de cifrado mi como c=E (k), k al ser el valor de dicha palabra de control. Un contenido codificado C se obtiene mediante una función de codificación enc y dicha palabra de control k, tal que C=enc (k, M), M es el contenido multimedia no cifrado. Por ejemplo, la función de codificación puede ajustarse al estándar DVB-CSA (Difusión de video digital: algoritmo de codificación común, en inglés). Para poder ver o escuchar un contenido protegido, todos deben suscribirse. Un suscriptor percibe un dispositivo seguro y dedicado, generalmente en forma de tarjeta inteligente, que se acopla a un terminal, generalmente que se llama decodificador o "decodificador", constituye una entidad de procesamiento de suscriptor que permite a dicho suscriptor decodificar un contenido protegido. Las palabras de control cifradas c se descifran convencionalmente mediante el dispositivo seguro que entrega las palabras de control k en el terminal. Este último se encarga de realizar la decodificación de un contenido codificado VS y permite, mediante una interfaz hombremáquina que se adapta, por ejemplo, un televisor de sala de estar, para acceder al contenido sin cifrar M.
Aunque la robustez de los dispositivos del suscriptor se reconoce particularmente, el conocimiento de material criptográfico, algoritmos o secretos ha permitido a los piratas informáticos "romper" la seguridad de los dispositivos electrónicos seguros que se entregan a los suscriptores. Un pirata puede entonces "clonar" o emular dicho dispositivo y hacer que ciertas "reproducciones" estén disponibles para los suscriptores sin escrúpulos sin que sea necesario operar una red pirata para distribuir las palabras de control o contenido sin cifrar.
Para contrarrestar a los piratas informáticos, los operadores suelen conocer la existencia de dicha red de piratas informáticos o la implementación en el mercado de reproducciones de datos de descifrado. Al contratar los servicios de un pirata informático, un operador puede incluso tener un dispositivo "que se clona" o se emula y estudiarlo. Un operador o, más en general, cualquier entidad "rastreadora" que busque desenmascarar el (los) dispositivo (s) de suscriptor seguro cuya seguridad se ha probado se encuentra una cierta dificultad para rastrear el origen de la piratería. Es particularmente el caso cuando los datos de descifrado fraudulentos que tiene son el resultado de una colusión de varias claves de descifrado distintas. De hecho, de acuerdo con las técnicas que se conocen, las claves de descifrado son poco o no rastreables o detectables mediante el análisis de dichos datos de descifrado. La investigación es otro tanto más delicada que la colusión es extensa. En un intento por solucionar este problema, ciertos operadores o rastreadores aumentaron significativamente el tamaño de las claves de descifrado de la palabra de control, así como el de los cifrados de estas últimas. De acuerdo con las soluciones que se conocen, dichos tamaños directamente se vinculan y crecen linealmente con respecto al número total de suscriptores o un terminal fuera de este número. Ciertas técnicas que se conocen, como se describe, por ejemplo, en el documento US2008/0075287A1, consiga como máximo limitar estos tamaños al orden de la raíz cuadrada del número de suscriptores. Otras técnicas, como se describe en el documento WO2007/138204, requieren un tamaño de cifrados del mismo orden que el tamaño de una colusión admisible. La capacidad de un rastreador para discriminar una clave de descifrado fraudulenta se mejoró en detrimento del ancho de banda de las redes de distribución y de la capacidad de cálculo de los dispositivos seguros de suscriptores para generar palabras de control por cripto-período cuyo tamaño de cifrado es sustancial. Además, estas soluciones permanecen muy perjudiciales y casi inoperantes cuando el número de suscriptores es grande.
Por tanto, no existen métodos que se conozcan que permitan rastrear e identificar una o varias claves de descifrado que se distribuyan legalmente a partir de datos de descifrado resultante de la colusión mientras se preserva un ancho de banda y una capacidad de cálculo realista para operar un servicio distribución de contenido protegido. Entre las múltiples ventajas que aporta la invención, podemos mencionar que la invención permite luchar contra la distribución de información a usuarios ilegítimos al permitir un descifrado fraudulento de contenidos protegidos y que se difunden a la atención de usuarios que tengan, por ejemplo, que se suscriban a una suscripción de pago. De hecho, la invención de manera eficaz hace posible rastrear y discriminar una clave de descifrada secreta y que se dedica al tener que usarse para generar dicha información. De acuerdo con diferentes modalidades, la invención permite descorrelacionar el tamaño de las claves secretas del descifrado de palabras de control o sus cifrados, del número de suscriptores y/o de colusiones admisibles. Ofrece a los operadores un compromiso particularmente eficiente y posiblemente dinámico para dimensionar dichos tamaños para preservar el ancho de banda de la red de distribución y la capacidad de cálculo de las entidades de procesamiento de suscriptores al tolerar un gran número de posibles colusiones. La invención además permite revocar de forma remota una entidad de procesamiento de suscriptor cuya seguridad tendría que romperse, que se denomina "entidad traidora", mientras continúa la difusión de un contenido a través de la red de difusión. De esta manera, la invención ofrece a cualquier operador de difusión de contenidos una herramienta especialmente sencilla y eficaz para luchar contra la piratería.
Con este fin, se prevé en particular un método seguro para transmitir una palabra de control entre un servidor y una pluralidad de entidades de procesamiento para producir y aprovechar respectivamente dicha palabra de control. Un método de este tipo incluye una primera etapa para producir una palabra de control cifradac cuyo texto sin cifrar k se destina a ser operado por la entidad de procesamiento. También incluye una etapa para transmitir la palabra de control cifrada c que se produce para procesar entidades, así como una etapa para recibir la palabra de control cifrada mediante dichas entidades c y producir una palabra de control sin cifrar k de la palabra de control cifrada c que se recibe.
Para proporcionar un compromiso entre la eficiencia y la resistencia a la colusión de claves traicioneras, la invención establece que:
- el servidor produce el cifrado de una palabra de control a partir:
Z
- de un vector s de ds elementos pertenecientes cada uno al conjunto p de números enteros distintos de módulo cero p, p al ser un número primo, ds ser un número entero estrictamente mayor que 1 y pequeño con respecto al número de entidades de procesamiento;
de un valor secreto y que se conoce mediante el servidor y perteneciente al conjunto
Figure imgf000003_0001
de números enteros distintos de módulo cero p;
- de dos generadores pertenecientes respectivamente a dos grupos cíclicos G 1 y G 2 de orden p, parámetros de un grupo bilineal
Figure imgf000003_0002
de orden p en donde e (.,.) es un acoplamiento como
Figure imgf000003_0003
G , al ser un tercer grupo cíclico de orden p;
cada entidad de procesamiento produce una palabra de control k no cifrada a partir:
- de la palabra de control cifrada c;
- una clave de descifrado DK¡ que se conoce de la i entidad y que se produce antes a partir de:
„ *
Z
i. de un vector X® de dx elementos pertenecientes cada uno al conjunto p de números enteros distintos de módulo cero p, dx que es un número entero estrictamente mayor que 1 y pequeño con respecto al número de entidades de procesamiento, el vector X® al dedicarse a la entidad en cuestión; ii. del valor secreto y,
iii. de un generador perteneciente a uno de los grupos cíclicos del grupo bilineal ¡3.
De acuerdo con una modalidad preferida, dicho método puede comprender de antemano:
- una etapa para desarrollar una clave madre secreta MK que incluye el componente secreto y que se asocia a parámetros públicos en el grupo bilineal 3;
- una etapa para almacenar en memoria dicha clave MK y parámetros públicos dentro del servidor;
- una etapa para almacenar dichos parámetros públicos dentro de cada entidad de procesamiento;
- una etapa para generar, transmitir y registrar claves de descifrado DKi dedicadas y distintas respectivamente dentro de las entidades de procesamiento.
La invención prevé que cada clave de descifrado DK¡ que se produce puede incluir ventajosamente un componente 1
de la forma
Figure imgf000004_0001
' z al ser un generador perteneciente a uno de los grupos cíclicos del grupo bilineal 3 y P que es un polinomio en y.
De acuerdo con un modo de aplicación preferido, la invención se refiere además a un método para el acceso condicional a contenido digital que comprende:
- una etapa para codificar contenido digital M y producir contenido codificado C usar una función de codificación que se implementa mediante un servidor de difusión de contenido digital protegido;
- una etapa para producir, mediante dicho servidor de difusión de contenido digital protegido, una palabra de control cifrada c cuyo texto sin cifrar k se destina a ser usado por una pluralidad de entidades de procesamiento de suscriptor para decodificar dicho contenido codificado C;
- una etapa para transmitir, a través de una red de difusión y a las entidades de procesamiento del suscriptor, dicho contenido codificado C y palabra de control cifrada c;
- una etapa para recibir dicho contenido codificado mediante cada entidad de procesamiento del suscriptor C y palabra de control cifrada c;
- una etapa para producir el texto sin cifrar k de una palabra de control mediante cada entidad de procesamiento del suscriptor a partir del cifrado c;
- una etapa para decodificar por cada entidad de procesamiento del suscriptor el contenido codificado C y producir un contenido sin cifrar M a partir de una función de decodificación y del texto sin cifrar k;
- una etapa para restaurar dicho contenido sin cifrar M mediante una interfaz que se adapta a dicho contenido sin cifrar.
Las etapas para producir y transmitir una palabra de control cifrada mediante el servidor de difusión de contenido digital protegido, así como las etapas para recibir y producir el texto sin cifrar de una palabra de control mediante las entidades de procesamiento de suscriptores que son según el método seguro para transmitir una palabra de control entre un servidor y una pluralidad de entidades de procesamiento según la invención.
La invención se refiere además a un sistema de acceso condicional a un contenido digital que incluye un servidor que se vincula a una pluralidad de entidades de procesamiento del suscriptor para implementar un método de acceso condicional según la invención.
Otras características y ventajas surgirán más claramente a la lectura de la siguiente descripción y al examinar las figuras que la acompañan, entre las que:
- la Figura 1 muestra un sistema de acceso condicional según el estado de la técnica;
- la Figura 2 describe un sistema de acceso condicional según la invención;
- la Figura 3 describe una modalidad de un método de acceso condicional según la invención.
La Figura 1 permite presentar un sistema de acceso condicional a contenidos digitales de acuerdo con el estado de la técnica. Consiste en una red de difusión 4 que se implementa mediante un operador de difusión de contenido protegido. De esta manera, desde un servidor de contenido 3, las palabras de control se envían conjuntamente c y contenido C cifrados y codificados respectivamente. El servidor 3 codifica para este fin un contenido sin cifrar M mediante una función de codificación enc y una palabra de control k, al producirse este último mediante dicho servidor 3. Se obtiene de esta manera un contenido codificado C como C=enc (k, M). Un cifrado c de la palabra de control k también se transmite o "difunde" junto con el contenido codificado C. Para ello, el servidor cifra mediante una función de cifrado mi dicha palabra de control k para obtener c como c=E(k).
Las palabras de control cifrados c y los contenidos cifrados C se transmiten, a través de la red de difusión 4, a los terminales 2a a 2m. Estos últimos se encargan respectivamente de decodificar el contenido codificado en tiempo real C que se emite mediante el servidor 3. De esta manera, un terminal, como, por ejemplo, el decodificador 2a, implementa una función de decodificación dec y aplicarlo al contenido codificado C para obtener el contenido sin cifrar M. Este último puede verse al usar un televisor de salón 5 o cualquier otra interfaz que se adapte para reproducir el contenido sin cifrar. Para aplicar la función de decodificación dec, un terminal debe conocer el valor de la palabra de control k que se usó mediante el servidor 3 para codificar el contenido M. De acuerdo con el estado de la técnica y según la Figura 1, un terminal 2a a 2m recibe una palabra de control cifrada c como c = E(k) y lo transmite a un dispositivo electrónico seguro la a 1 m, generalmente dedicado a un suscriptor. El terminal 2a recibe, a través de la red 4, pares regulares (C, c) y transmite las palabras de control cifradas a un dispositivo c. El dispositivo puede descifrar una palabra de control cifrada c mediante una función de descifrado D para obtener la palabra de control k que se usa para codificar contenido M. De esta manera k=D(c). Lo mismo es cierto para cualquier otro terminal, como 2b a 2m, cada uno coopera respectivamente con un dispositivo de 1b a 1m. De acuerdo con una modalidad alternativa, el servidor 3 puede usar un secreto, por ejemplo, en forma de clave Kc para cifrar una contraseña k. De esta manera c = E (Kc, k). En este caso, un dispositivo, como el dispositivo la a 1 m, implementa una función recíproca de descifrado D, como k = D (Kd, vs) en donde Kd es una clave de descifrado que se conoce mediante el dispositivo. De acuerdo con funciones de cifrado E y descifrado D, las claves Kc y Kd pueden ser idénticas. Este es el caso del cifrado/descifrado simétrico. Como variante, de acuerdo con un diagrama que se conoce como " cifrado de difusión ", Kc es una clave pública o secreta dedicada al operador y Kd es una clave secreta dedicada al dispositivo (o como variante a un grupo de dispositivos) y que se conoce mediante el operador. De acuerdo con esta variante, existen de esta manera varias claves de descifrado individuales y cada uno de los dispositivos que se emiten y que se entregan legalmente a los suscriptores de dicho operador que dispone dicha clave de descifrado individual.
Para socavar dicho sistema de acceso condicional, los piratas informáticos desarrollaron su conocimiento del material criptográfico, algoritmos o secretos que se implementan en particular mediante los dispositivos de los suscriptores. Algunos saben - o podrían - "romper" la seguridad de dichos dispositivos electrónicos del suscriptor y logran leer el valor de una o varias claves de descifrado que se usan para producir palabras de control válidas para al final decodificar mensajes codificados. Entonces queda colocar de manera fraudulenta estas claves en un mercado paralelo, al que llamaremos "claves traicioneras" para que los usuarios sin escrúpulos puedan integrar una clave traicionera en un terminal pirata y de esta manera beneficiarse del acceso ilícito de contenidos protegidos. Este tipo de acto delictivo puede facilitarse en gran medida en el caso en donde un operador de difusión opere un sistema de acceso condicional para el cual las funciones de decodificación de contenido y descifrado de palabras de control cifradas se realizan mediante una única y misma entidad de procesamiento que se pone a disposición de un suscriptor. De esta manera, dicha entidad no incluye necesariamente las funciones de seguridad que permitan proteger los medios para almacenar las claves de descifrado y/o los algoritmos y métodos que se implementan para producir las palabras de control. Las fugas que surgen de la implementación insegura de dichos algoritmos revelan la clave de descifrado que se manipula, etc.
De esta manera, un pirata informático puede hacer que determinadas "reproducciones" de claves de descifrado estén disponibles para clientes sin escrúpulos sin tener que operar necesariamente una red de piratas informáticos para distribuir las palabras de control o el contenido sin cifrar.
Para tratar de contrarrestar este comportamiento, es útil poder rastrear o detectar la clave de descifrado "traicionera" o comprometido en el origen de la reproducción. Por tanto, dicha clave debe ser rastreable, es decir, incluir un marcador o un componente dedicado a un suscriptor. De esta manera, al contar con un terminal pirata o el software que se implementa mediante este último, existen métodos de análisis para que un rastreador pueda detectar datos secretos que se manipulan. La tarea del rastreador se complica cuando varias claves traicioneras se combinan mediante un hacker o una coalición de hackers.
La invención permite vencer estos diferentes escenarios de piratería.
La Figura 2 permite ilustrar un sistema de acceso condicional como ejemplo preferido de aplicación de la invención. En cuanto a un sistema que se conoce, la invención proporciona una red de difusión 4 que se implementa mediante un operador para transmitir contenido protegido - o más generalmente cualquier medio - para transmitir, desde un servidor de contenidos 3, contenidos codificados. C que se destina a una pluralidad de entidades de procesamiento del suscriptor, como las entidades Ea, Eb, ..., Em. La invención prevé además que el contenido codificado C se envían junto con cifrados de palabras de control c cuyos no cifrados permiten decodificar dicho contenido codificado mediante cada entidad de suscriptor. Para ello, el servidor 3 codifica un contenido sin cifrar M por medio de una función de codificación enc. Se obtiene de esta manera un contenido codificado C como C = enc(M).
La seguridad de tal sistema reside esencialmente en el hecho de que las palabras de control pueden producirse, intercambiarse y explotarse de manera segura mediante el servidor y la pluralidad de entidades de procesamiento del suscriptor. Dichas palabras de control podrían usarse con la misma facilidad en un contexto de aplicación diferente de un sistema de acceso condicional a los contenidos digital protegidos.
La invención se basa en la noción matemática de acoplamiento en grupos de orden primo, noción que se aprovecha en numerosas publicaciones, incluidos documentos US2008/0075287A1 Dónde WO2007/138204 que se menciona anteriormente. Dicho acoplamiento es una aplicación bilineal generalmente que se usa en criptografía en el campo de las curvas elípticas en particular.
Es decir, p, un grupo bilineal
Figure imgf000006_0001
de orden p primo tal como |p| = A, A que define el tamaño de los elementos como parámetro de seguridad. Gl Gn y G, 7’ son tres grupos cíclicos de orden p y
Figure imgf000006_0002
un acoplamiento. Un grupo cíclico es un conjunto algebraico como gp+1 es igual a g, p definir el orden del grupo cíclico y g un elemento del grupo que se llama "generador". A los efectos de la invención, una relación especial entre G j Gn
los grupos y 2 no se requiere. Los dos grupos pueden ser idénticos o, más generalmente, un isomorfismo G i
entre G
y 2 puede definirse. La invención prevé que se favorezca cualquier posible isomorfismo, así como cualquier acoplamiento calculable eficazmente.
De acuerdo con una modalidad preferida, una entidad de procesamiento Ei consta de un terminal 2i que se acopla a un dispositivo seguro 1i, por ejemplo, una tarjeta inteligente, para realizar respectivamente la decodificación de un contenido codificado y la producción de palabras de control necesarias para dicha decodificación. La Figura 2 muestra las entidades Ea, Eb y Em resultantes respectivamente de un terminal 2a, 2b, 2m que se acopla a un dispositivo de suscriptor seguro la, 1b, 1m.
Para los propósitos de la invención, tal entidad podría ser una sola pieza de equipo que abarcaría las dos funciones principales que se mencionan anteriormente.
Cada dispositivo de suscriptor (o entidad de suscriptor) conoce una clave de descifrado secreta y dedicada. De esta manera, de acuerdo con la Figura 2, el dispositivo la de la entidad Ea que se asocia al suscriptor a, conoce la clave de descifrado DKa. Esta clave es distinta de la clave DKb, en sí misma distinta de la clave DKm. Estas claves se conocen respectivamente sólo por las entidades Eb y Em (o más precisamente por los dispositivos seguros de los respectivos suscriptores 1b y 1m). Aunque dedicadas y distintas, las claves de descifrado de acuerdo con la invención son rastreables (es decir, identificables durante una acción de discriminación o rastreo, como se verá a continuación). Todos se producen a partir de una clave madre. MK que se conoce mediante el servidor 3, posiblemente dicha clave se asocia con parámetros públicos PP - incluido el grupo bilineal p, parámetros que se conocen mediante dicho servidor, pero también por las diversas entidades de procesamiento, más precisamente, de acuerdo con el ejemplo preferido que se describe en relación con la Figura 2, que se conoce mediante los dispositivos la a 1m.
Las claves de descifrado permiten a las entidades de procesamiento Ea a Em producir una palabra de control k cuyo texto sin cifrar permite decodificar los contenidos codificados. Este texto sin cifrar k se produce a partir de una palabra de control cifrada c que se emite junto con el contenido codificado C mediante el servidor 3. De acuerdo con el ejemplo preferido que se describe en relación con la Figura 2, los dispositivos de seguridad la a 1m son responsables de producir el texto sin cifrar k dentro de cada entidad de procesamiento Ea a Em. Para ello, los terminales 2a a 2m pueden recibir las palabras de control cifradas c y también pueden transmitir dichos cifrados al dispositivo seguro respectivo c. Las palabras de control sin cifrar que se producen mediante los dispositivos la a Am se transmiten de vuelta a los terminales respectivos para que puedan decodificar los contenidos codificados C y de esta manera producir a su vez un contenido sin cifrar M que se devuelve mediante una interfaz hombre-máquina que se adapta 5 a un suscriptor.
La Figura 3 permite describir un ejemplo de aplicación de la invención en forma de un método de acceso condicional a un contenido protegido que se implementa mediante un sistema como el que se describe en relación con la Figura 2. Para simplificar, la pluralidad de entidades de procesamiento se materializa mediante una entidad Ei en forma de un terminal 2i que se asocia con un dispositivo de suscriptor seguro 1i. Los contenidos codificados C se transmiten desde un servidor 3 a la entidad Ei a través de una red 4. Cualquier otro medio de difusión podría usarse para este fin. Los contenidos codificados se asocian con palabras de control cifradas c cuyo contenido sin cifrar permite la decodificación de los contenidos codificados. El terminal 2i está apto recibir el contenido codificado y las palabras de control cifradas. Estos se transmiten mediante el terminal al dispositivo de suscriptor que a la ayuda de clave secreta de descifrado. DKi y parámetros públicos PP produce el texto sin cifrar de las palabras de control y las transmite de vuelta al terminal 2i. Esto puede decodificar el contenido codificado C al usar palabras de control k y entregar los contenidos no cifrados M a la interfaz 5. Para poder conseguirlo, un proceso de acceso condicional de acuerdo con la invención consta de las etapas principales 31o, 110 y 210 correspondientes respectivamente a:
- 310: producir y emitir los contenidos codificados C que se asocia con palabras de control cifradas c en destino a las entidades de procesamientos;
- 110: producir a partir de las palabras de control cifradas c y la clave de descifrado DKi las palabras de control sin cifrar k;
- 210: decodificar contenido codificado a partir de palabras de control k.
Opcionalmente, estas etapas pueden estar precedidos mediante las etapas 300 y 100 que consisten en producir parámetros públicos. P y registrarlos en las entidades de procesamientos Ei, más precisamente los dispositivos seguros. La Figura 3 también describe las etapas preliminares 301 y 101 para producir las claves de descifrado DKi y registrarlos en las entidades de procesamiento Ei, más precisamente en los dispositivos 1i.
Más allá del ejemplo preferido que se aplica al método y sistema de acceso condicional, la invención se refiere en primer lugar a un método seguro para transmitir una palabra de control entre un servidor y una pluralidad de entidades de procesamiento para producir y aprovechar respectivamente dicha palabra de control.
Examinemos a través de dos modalidades cómo implementar dicho método, que se aplica al ejemplo de aplicación que se describe en relación con la Figura 3.
Es decir, ¡5, un grupo bilineal
Figure imgf000007_0001
de orden p primo tal como |p| = A, , A que define el tamaño de los elementos como parámetro de seguridad. G, y T son tres grupos cíclicos de orden p y
Figure imgf000007_0002
un acoplamiento.
Un método de acuerdo con la invención incluye:
- una etapa 310 para producir mediante el servidor una palabra de control cifrada c cuyo texto sin cifrar k se destina a ser aprovechado 210 por la entidad de procesamiento;
- una etapa para transmitir la palabra de control cifrada c que se produce en destino a entidades de procesamiento;
- una etapa para recibir la palabra de control cifrada mediante dichas entidades c;
- una etapa para producir 110 una palabra de control sin cifrar k mediante cada entidad de procesamiento a partir de la palabra de control cifrada c que se recibe.
Para mantener la trazabilidad de las claves de descifrado DKi mientras que permite una alta eficiencia (en términos de ancho de banda y capacidad de procesamiento), la etapa 310 para producir el cifrado de una palabra de control se realiza mediante un servidor 3 desde:
de un vector s de ds elementos pertenecientes cada uno al conjunto
Figure imgf000007_0003
de números enteros distintos de módulo cero p, p al ser un número primo, ds ser un número entero estrictamente mayor que 1 y pequeño con respecto al número de entidades de procesamiento;
de un valor secreto y que se conoce mediante el servidor 3 y perteneciente al conjunto
Figure imgf000007_0004
de números enteros distintos de módulo cero p;
de dos generadores pertenecientes respectivamente a los grupos cíclicos Gi 1 G
y 2, parámetros del grupo bilineal
Figure imgf000007_0005
Cada entidad de procesamiento Ei produce 110 una palabra de control k no cifrada a partir:
- de la palabra de control cifrada c;
- una clave de descifrado DK¡ que se conoce mediante la entidad Ei y que se produce previamente a partir de:
Z
- de un vector xw de dx elementos pertenecientes cada uno al conjunto de números enteros distintos de módulo cero p, dx siendo un número entero estrictamente mayor que 1 y pequeño con respecto al número de entidades de procesamiento, el vectorX(/) al dedicarse a la entidad en cuestión;
- del valor secreto y;
- de un generador perteneciente a uno de los grupos cíclicos del grupo bilineal f3.
La invención prevé que los valores enteros de dx y de Ds sean pequeñas en relación con una serie de entidades y, por tanto, al final con respecto al número de suscriptores o de hackers.
Estos dos números enteros son los parámetros de seguridad que permiten determinar y adaptar el compromiso entre eficiencia y resistencia a coaliciones poco delicadas. El parámetro dx permite dimensionar el tamaño de una clave de descifrado de acuerdo con la invención. El parámetro ds directamente le permite dimensionar el tamaño de las palabras de control cifradas.
ds, por tanto, tiene un impacto directo en el ancho de banda de la red de difusión de las palabras de control cifradas. dx (al igual que ds) tiene un impacto directo en las capacidades de procesamiento de la entidad (o del dispositivo seguro) que debe almacenar en memoria y manipular las claves de descifrado para producir el texto sin cifrar de las palabras de control a partir de sus cifrados.
A diferencia de las soluciones que se conocen para las que los tamaños de las claves y los cifrados crecen linealmente en el tamaño de las coaliciones o en la raíz cuadrada del número de suscriptores o grupos de suscriptores, la invención permite mantener tamaños particularmente ventajosos y sin ninguna medida con soluciones que se conocen. De esta manera, si consideramos que existe riesgo de t coaliciones, entonces un t = Qdx = {dx ds ~ l ) ! dx+ds~l dr \(ds - 1)! ' método de acuerdo con la invención permite definir dx y ds como v ' A modo de ejemplos, la invención permite obtener (de acuerdo con la modalidad) los siguientes compromisos:
- para t =120: dx = 3 y ds = 7;
- para t = 126: dx = 4 yds = 5;
- para t = 105: dx = 2 yds =13.
Estos resultados permiten subrayar el aporte particularmente significativo de la invención en lo que respecta al estado de la técnica.
Como se indica mediante la Figura 3, un método para transmitir de forma segura una palabra de control entre un servidor y una pluralidad de entidades de procesamiento según la invención puede incluir una etapa 300 para desarrollar y almacenar una clave madre secreta MK con el componente secreto y que se asocia con parámetros públicos, incluido el grupo bilineal f3. También puede incluir una etapa 100 para almacenar dichos parámetros públicos dentro de cada entidad de procesamiento - más precisamente y preferiblemente - dentro del dispositivo de suscriptor seguro de dicha entidad. Durante la contratación de una suscripción, por ejemplo, para poder entregar equipos a un suscriptor que se conoce la clave de descifrado secreta y dedicada DKi, dicho método también puede incluir una etapa para producir 301, transmitir y registrar 101 la clave de descifrado DKi dentro de la entidad de procesamiento - más precisamente y preferiblemente - dentro del dispositivo de suscriptor seguro de dicha entidad. Vamos a describir sucesivamente dos modalidades de dicho método. Estas dos modalidades tienen en particular en 1
ZW )
común que la clave de descifrado DK que se produce tiene un componente de la forma ' z al ser un generador perteneciente a uno de los grupos cíclicos del grupo bilineal f3 y P al ser un polinomio en y.
De acuerdo con una primera modalidad, para un grupo bilineal
Figure imgf000008_0001
y configuraciones de seguridad cfxy ds que se elige, la clave secreta madre MK consiste en y y g, tal que MK = {y, g).
y es un valor secreto perteneciente al conjunto
Figure imgf000009_0001
de números enteros distintos de cero módulos p primo, g es un generador del grupo G 1 El valor de g puede elegirse ventajosamente al azar. De la misma manera, se elige, posiblemente al azar, un generador h del grupo G , 2. Ventajosamente, puede calcularse v = e (g, h) y asociar el valor v a los componentes y y g de la clave MK.
Para constituir los parámetros públicos, se calcula gY, g*2, ...,
Figure imgf000009_0002
. , .... • otro /3 y h, todos estos valores constituyen los parámetros públicos.
El conjunto de estos cálculos o sorteos aleatorios pueden realizarse mediante el servidor 3 o realizarse y obtenerse a partir de un servidor distinto y dedicado a este fin.
De acuerdo con esta primera modalidad, la etapa para producir una clave de descifrado consiste en producir dicha
1
A: = - clave como resultado de dos componentes como DK¡ = (x®,Ai) en donde s p(r)
P { y ) = [ y + xíZ)) 'Í7 + j4 ^ V -- Í7 x^
con v v ' v x > De esta manera, durante la suscripción de un nuevo usuario o suscriptor i, la clave DK único y dedicado se produce y luego se transmite y registra, preferiblemente de manera segura, en la entidad de procesamiento Ei que aprovechará dicha clave para producir las palabras de control sin cifrar. Más precisamente, tal clave se registra en un dispositivo seguro 1i componente de la entidad Ei.
Para producir una palabra de control cifrada, el servidor 3 produce dicha palabra como resultado de dos
componentes tales como
Figure imgf000009_0003
con
Figure imgf000009_0004
(y+Sds), s es un vector de ds _*
P El vector s puede escribirse como s = (si,s2, ....,Sds).
Al recibir una palabra de control cifrada c, una entidad de procesamiento Ei implementa una etapa para producir el texto sin cifrar de dicha palabra de control. Esta etapa tiene como objetivo encontrar una palabra de control k cuyo
1
y+s
valor debería ser k = e(g,h)
Esta etapa consiste en producir k como
Figure imgf000009_0005
Los elementos de cálculo a, $ y Q son como:
Figure imgf000009_0006
al ser la notación para denotar la inversa del polinomio P módulo el polinomio Q, y
Figure imgf000009_0007
que denota término
de grado 0 del polinomio
Figure imgf000009_0008
Podemos notar que 0 es una constante calculable a partir de los coeficientes de P y Q, y que los valores ^ y a (que son polinomios en y) no son necesarios durante el cálculo para producir el texto sin cifrar de la palabra de control. De hecho, las sucesivas combinaciones de poder de gY y hY (contenidos en los parámetros públicos) permiten reconstituir los polinomios que se desean por exponente de g y h y de esta manera obtener ga y M, lo que permite producir el texto sin cifrar de la palabra de control.
Los elementos a, £ y Q también puede describirse de la siguiente manera:
Figure imgf000010_0001
con:
Figure imgf000010_0002
De acuerdo con esta primera modalidad, el tamaño de la clave de descifrado DK es lineal en dx. El tamaño del cifrado es en cuanto a ella lineal en ds.
De acuerdo con una variante de esta primera modalidad, es posible reducir el tamaño de los cifrados c y claves x ( -0 = = | X f r i (0 X r ('0
secretas de descifrado DK¡. De hecho, en primer lugar, el vector ^ J puede generarse, durante la producción de una clave DK mediante el servidor 3, de una semilla pi. Esta semilla constituye entonces un componente de la clave secreta como DK = (pi, Ai). Por el contrario, el vector x® puede encontrarse mediante la entidad de procesamiento a la ayuda de dicha semilla pi durante el descifrado de la palabra de control. Además, el vector s = (si, ...,Sds) puede generarse, durante la producción de un cifrado c mediante el servidor 3, de una semilla
r¡. Esta semilla constituye entonces un componente del cifrado como
Figure imgf000010_0003
Recíprocamente, el vector s puede encontrarse mediante la entidad de procesamiento a la ayuda n durante el descifrado de la palabra de control.
De acuerdo con esta variante, los tamaños de la clave de descifrado DK y del cifrado se vuelven constantes.
De acuerdo con una segunda modalidad, para un grupo bilineal
P - ( p ? G l3 G 2 , G r , e ( .5. ) )
y configuraciones de seguridad dx y s que se elige, la clave secreta madre MK consiste en y y g, tal que MK = (y, g).
*
Z
y es un valor secreto perteneciente al conjunto p de números enteros distintos de cero módulos p primo, g es un generador del grupo G 1. El valor de g puede elegirse ventajosamente al azar. De la misma manera, se elige, posiblemente al azar, un generador h del grupo G, 2 _ Ventajosamente, puede calcularse v = e(g, h) y asociar el valor v a los componentes y y g de la clave MK.
Los parámetros públicos consisten en f3.
El conjunto de estos cálculos o sorteos aleatorios pueden realizarse mediante el servidor 3 o realizarse y obtenerse a partir de un servidor distinto y dedicado a este fin.
De acuerdo con esta modalidad, la etapa para producir una clave de descifrado consiste en producir dicha clave
Figure imgf000011_0001
como resultado de dos componentes como DK = (Ai, B(i)) en donde y el vector B(i) de dx elementos como:
Figure imgf000011_0002
De esta manera, durante la suscripción de un nuevo usuario o suscriptor i, la clave DKi único y dedicado se produce y luego se transmite y registra, preferiblemente de manera segura, en la entidad de procesamiento Ei que aprovechará dicha clave para producir las palabras de control sin cifrar. Más precisamente, tal clave se registra en un dispositivo seguro 1i componente de la entidad Ei.
Para producir una palabra de control cifrada, el servidor 3 produce la palabra de control cifrada como resultado de cuatro componentes como c = (W-\, W2,s,U) con U = Uds) vector de ds valores. El vector U es como
Figure imgf000011_0004
Al recibir una palabra de control cifrada c, una entidad de procesamiento Ei implementa una etapa para producir el texto sin cifrar de dicha palabra de control. Esta etapa tiene como objetivo encontrar una palabra de control k cuyo
Figure imgf000011_0005
Figure imgf000011_0003
De acuerdo con esta segunda modalidad, el tamaño de la clave de descifrado DKi es lineal en dx. El tamaño del cifrado es en cuanto a ella lineal en Ds.
Una elección particularmente ventajosa puede consistir en determinar ds y dx como el número de colusiones t es exponencial en (dx + ds).
Ya sea en el contexto de la primera o la segunda modalidad, es especialmente ventajoso que el componente Ai de la clave DKi o que se registra por medios de almacenamiento seguro en cada unidad de procesamiento. Es particularmente el caso cuando una unidad de procesamiento incluye un dispositivo seguro. En este caso, para garantizar la robustez del sistema, es suficiente que dicho componente Ai y al menos registrarse o alternativamente la clave DKi completo. Almacenar solo el componente Ai permite reducir la capacidad de almacenamiento segura necesaria para la robustez del sistema.
A modo de ejemplo y para ilustrar la capacidad de un rastreador para discriminar una clave de descifrado, ahora presentamos un método de rastreo. Para describir este método, vamos a usar una notación de tipo (U, V) para describir un acoplamiento (o emparejamiento de acuerdo con la terminología anglosajona) equivalente a la notación e(U, V) que se usa anteriormente. Consideramos que el rastreador pudo recuperar un decodificador pirata. El análisis de este último le permite disponer del software pirata y de implementar un método de rastreo del tipo caja blanca.
De acuerdo con una primera etapa, el decodificador pirata se interpreta como una secuencia de instrucciones formales. Cada instrucción se compone de una operación de referencia, una o varias variables de entrada y una variable de salida. Convencionalmente, las llamadas operaciones de referencia se enumeran en un diccionario (el juego de instrucciones) y pueden ser de varios tipos: operaciones aritméticas o lógicas, saltos condicionales o no, llamadas a subrutinas, etc.
En esta fase de interpretación abstracta clásica, el decodificador se reescribe por tanto en forma de una serie de . . .
Figure imgf000012_0001
que se implementa mediante el método de cifrado de acuerdo con la invención:
- operaciones de multiplicación T=U U' dentro Gi x ,
- operaciones de multiplicación S=V V 'dentro G t
- las operaciones de exponenciación U=Ta dentro G, 1,
- las operaciones de exponenciación V=Sb dentro Gr 2, 1
- las operaciones de acoplamiento bilineal a=(U, V) (que se llaman emparejamiento) de
Figure imgf000012_0002
- las operaciones de multiplicación Y=a P dentro
Figure imgf000012_0003
- estas operaciones de exponenciación f3=cf dentro
Figure imgf000012_0004
Estas operaciones se llaman algebraicas, mientras que todas las demás se denominan operaciones secundarias. En esta misma fase de interpretación, las variables de entrada y salida de cada instrucción se colocan en el llamado SSA (Asignación Única Estática de acuerdo con la terminología anglosajona) para poder deducir fácilmente de esta representación del decodificador pirata, el gráfico de cálculo de cualquier variable que se manipula mediante éste durante su ejecución formal. Las variables de entradas de las instrucciones solo pueden ser de los siguientes cuatro tipos:
1. una variable constante que forma parte del programa de inicio,
2. una variable intermedia,
3. una variable de entrada del programa que representa parte del cifrado, o
4. una variable aleatoria proveniente de la llamada a una fuente aleatoria externa en el programa del decodificador.
La variable de salida del programa representa los datos con texto sin cifrar k y es proveniente de un gráfico de cálculo con un valor de salida en * .
En una segunda etapa denominada de especialización, el programa que se reescribe se modifica para que sea adecuado para la posterior identificación de traidores. Gracias a la reescritura del programa, podemos eliminar todas las instrucciones que no participan en el gráfico de cálculo de la variable de salida^ (instrucciones que no se relacionan con el gráfico). Luego se busca fijar todas las variables de entrada del programa (las de tipo 3 y 4) a valores constantes para los que el programa se logre descifrar correctamente.
Esta búsqueda de valores fijos puede llevarse a cabo de forma aleatoria y exhaustiva y, si el decodificador que se proporciona originalmente es suficientemente funcional (es decir, descifra en una fracción significativa de casos en promedio), esta etapa de búsqueda tendrá éxito rápidamente en unos pocos intentos.
Cuando los valores son correctos, se sustituyen en las variables correspondientes en el programa, de manera que el programa siempre se ejecutará de la misma forma. De esta manera, un ejemplo de ejecución exitosa se instancia mediante el nuevo programa que se compone solo por instrucciones que se llevan a cabo en constantes.
El método de seguimiento ahora incluye una etapa de simplificación del programa que se destina a obtener una única secuencia de instrucciones sin saltarse:
- se lleva a cabo una propagación de las constantes para eliminar todas las instrucciones anexas cuyas variables de entrada son todas constantes; esta transformación, por tanto, excluye incluso las operaciones algebraicas. - se elimina las instrucciones cuya ejecución es tautológica:
- los saltos condicionales se eliminan o se reemplazan mediante saltos incondicionales;
- las llamadas de funciones se reemplazan mediante una copia del cuerpo de la función que se llama;
- se elimina las instrucciones innecesarias o el código muerto.
Al final de esta fase, los saltos incondicionales se eliminan al yuxtaponer las secuencias lineales de instrucciones de un extremo a otro en el orden cronológico de ejecución. El programa se convierte entonces en una serie de instrucciones algebraicas secuenciales sin un flujo de control.
Ahora, se aplican varias transformaciones al programa que se obtiene de manera inductiva y concurrente. Se introduce para esto:
- una instrucción formal expo¡ (u, a) que representa el cálculo de ua dentro i con /e {1,2, 7};
- una instrucción formal de " emparejamiento" extendido (U, V;a) que representa el cálculo de (U, V)a.
Ahora se procede a las siguientes simplificaciones algebraicas, de forma inductiva y concurrente hasta que el programa se estabilice:
- cada instrucción de exponenciación ua se reemplaza mediante expoi (u, a) para el i e {1,2, T} apropiado; - cada variable u se reemplaza mediante expoI (u, 1) para el ie {1,2, T} apropiado;
- cada combinación de instrucciones tipo expoi (u v, a) se reemplaza mediante expoi (u, a) expoi (v, a);
- cada combinación de instrucciones tipo expoi (u, a) expoi (u, b) se reemplaza mediante expoi (u, a b mod p);
- cada combinación de instrucciones tipo expoi (exposición (u, a), b) se reemplaza mediante expoi (u, ab mod p);
- cada instrucción de " emparejamiento" (U, V) se reemplaza mediante (U, V; 1);
- cada combinación de instrucciones de tipo (U U ’, V; a) se reemplaza mediante (U, V; a)(U ’, V; a);
- cada combinación de instrucciones de tipo (U, V V; una) se reemplaza mediante (U, V; a)(U, V; a);
- cada combinación de instrucciones de tipo (expo-i(U, a), V; b) se reemplaza mediante (U, V; ab mod p); - cada combinación de instrucciones de tipo (U, expo2( V, a); B) se reemplaza mediante (U, V; ab mod p); - cada combinación de instrucciones de tipo (U, V; a)(U, V; b) se reemplaza mediante (U, V; a+b mod p ); - cada combinación de instrucciones tipo expoT ((U, V; a), B) se reemplaza mediante (U, V; ab mod p);
- se reemplaza expoi(u,0) mediante 1, (U, V;0) mediante 1 y 1u mediante u.
Al final de esta etapa de simplificación, puede representarse el cálculo de
k g Gj*
como el resultado de un producto k=krk2 en donde:
- k es un producto de n "emparejamientos» extendido cuyas entradas (Ui, Vi, al) para i = 1, ..., n constan de dos puntos Ui y Vi y un entero ai modulo p como (U, Vi) i (Uj, Vj) para i+j. Las variables Uj, Vi y ai son valores constantes debido a la etapa de especialización. Cada variable U, Vi es necesariamente una constante que se almacena en el programa o una variable de entrada que forma parte del cifrado que se da como entrada;
- k2 es un producto de m elementos de * es decir /<2=expoT(cu, £>i) ■■■■ expor(am, Bm) en donde cr, ta¡ por 1<yo í j<m. Cada variable ai es necesariamente una constante que se almacena en el programa o parte del cifrado.
En una tercera fase, se identifica el coeficiente correspondiente a cada elemento algebraico del cifrado c que se da como entrada.
Más precisamente, si el cifrado que se da como entrada contiene
U ^ , ... , U r E G 1 ,
y
Figure imgf000014_0001
- por todo u¡, ¡E [1, ri], se recopila todos los valores a, como Uj=U¡ y V/g {vi, vr2} no es un elemento del coef(wy') = [%>"■’
cifrado; de esta manera se forma un vector ^
- por todo ví,je [1, r2], recopilamos todos los valores como no es un elemento del cifrado;
coef(vy)-a\
Figure imgf000014_0002
de esta manera se forma un vector V *
- por todo wi,j£ [1, rT], recopilamos coef (wj) =bi como w¡=a¡;
- para cualquier paru, vi), (l, j) g [1, ri] x [1, r2], se recopila coef (ui, vj) =a¡ en donde (ui, vi) = (Ui, Vi).
En cada una de estas etapas de identificación, el coeficiente se establece en 0 de forma predeterminada cuando no puede encontrarse un índice i correspondiente.
Nos interesamos entonces en los valores de {coef (ui), coef (vj), coef (w£), coef (ui, vj)}. Las propiedades matemáticas de la invención aseguran que estos valores sean funciones que se conocen de antemano que involucran xx,...,xE e Z ^ sl ,...,sl E ’l p
elementos al marcar claves comprometidas y parámetros fijos que marca el cifrado c que se da como entrada.
Esto forma un sistema de ecuaciones multivariadas:
coe f(« i)
Figure imgf000014_0003
coef (M2) f 2 (xh ...,xs ,sh ...,s})
coef
Figure imgf000014_0004
= f ri(xh ...,xs ,sh ...,s¡)
coe ít f (vl) = gl{xh ...,Xs ,Sh ...,S¡)
coef(v2) = g 2 (xh ...,xe ,sh ...,s})
C° e f (Vr2 ) = gr2 (xh - i xs isb - ’ sl )
coef(w1) = hl (xl ,...,xs ,sh ...,sJ)
coe f(w2) = h2 (xh ...,xs ,sh ...,s})
coef íwr^ = hrT(xh ...,Xe,Sh ...,S})
coef (m^ Ví ) = ql¿(xl ,...,xs ,sl ,...,s¡)
coef(«r i ,vr2) = qV 2 (xh ...,x£,sh ...,si)
Al conocer los valores numéricos de estos coeficientes, los parámetros fijos Sj y funciones fi, g¡, he, qa, b, el sistema puede invertirse para encontrar al menos uno de los elementos x1, ..., x£ al componer una de las claves comprometidas y de esta manera identificar completamente esta clave. Esta fase puede requerir tener e < B (r1, r2, rr) en donde B (r1, r2, rr) es un terminal que depende de la modalidad de la invención. Las funciones fi, g¡, hk, qa, b también dependen de la modalidad de la invención.
A modo de ejemplo, si nos situamos en el marco de la segunda modalidad descrita anteriormente, cualquier programa de descifrado muestra el vector x® del usuario i, en forma enmascarada o sin cifrar. De esta manera, el trazador tiene acceso a x® que se distribuyen a uno o varios usuarios, que por tanto se identifican como traidores. La invención también prevé que es posible revocar una unidad de procesamiento, por ejemplo, si se identifica como traidora o por cualquier otro motivo, y de esta manera prohibir que dicha entidad produzca una palabra de control válida para permitir, por ejemplo, la decodificación de contenido codificado.
La invención prevé que pueda implementarse dos tipos de revocación: una revocación temporal o definitiva.
Una revocación temporal permite que una o varias entidades traidoras dejen de producir temporalmente palabras de control sin cifrar y válidas. Una revocación permanente inhibe tal producción.
Para ilustrar esta variante y a modo de ejemplo, vamos a describir las adaptaciones que se realizan a un método seguro según la invención de acuerdo con la segunda modalidad.
También podrían realizarse adaptaciones similares en otros métodos de acuerdo con la invención.
Para implementar una revocación permanente, la invención proporciona dos etapas adicionales a los métodos que se describen anteriormente. La primera etapa es generar datos de revocación ^ R que se transmiten al conjunto de las entidades de procesamiento. Estos datos permiten definir la exclusión de un conjunto 9Í una o varias entidades traidoras. La segunda etapa adicional es actualizar las claves de descifrado DK¡ entidades pertenecientes a para que puedan seguir al producir palabras de control válidas.
Figure imgf000015_0001
(y+x(l))...(r x M)
Rr - h para un valor de ye[1,cfx], por ejemplo j= 1. El valor del generador h se modifica entonces
Figure imgf000015_0003
.
La segunda etapa adicional ahora es modificar las claves de descifrado DK¡ entidades pertenecientes a para que puedan seguir al producir palabras de control válidas. La clave DK correspondiente al iésimo usuario o suscriptor
que se produce, de n '9? es como
Figure imgf000015_0002
El vector
Figure imgf000016_0004
, ,
ejemplo, w=1.
El cálculo del nuevo valor D u K puede implementarse mediante cada entidad de procesamiento de acuerdo con la invención. Alternativamente, este cálculo puede realizarse mediante una entidad de terceros. También puede aprovecharse cualquier otro modo de funcionamiento para actualizar dicha clave.
La invención prevé como variante que los datos de revocación puedan transmitirse a las entidades de procesamiento junto con las palabras de control cifradas. De esta manera, no es necesario transmitir de acuerdo con un modo dedicado a dichos datos. Estos últimos pueden, por ejemplo, ser una parte integral del cifrado como c = (Wh W 2,S,U,Dx)
de acuerdo con la segunda modalidad de un método para transmitir una palabra de control que se proporciona mediante la invención.
DK¡ DK¡ o;
Además, puede esperarse que la modificación de la clave de descifrado ’ o que se realiza mediante la entidad de procesamiento justo antes de la etapa para producir una palabra de control sin cifrar.
Podemos notar que, para implementar una revocación permanente, la etapa que se realiza mediante el servidor para producir la clave DKi, así como la que realizan las entidades para producir el texto sin cifrar de la palabra de control k no se modifican. En cuanto al generador h, este ya no se fija para producir el cifrado. De hecho, h depende del conjunto de entidades que se revocan. La clave de descifrado tampoco se fija más durante la producción del texto sin cifrar k.
La invención prevé además la adaptación de un método de acuerdo con la invención para implementar una revocación temporal. Como anteriormente, se usa el ejemplo de la segunda modalidad de un método según la invención para ilustrar esta funcionalidad. De la misma forma, se considera que las entidades traidoras son las entidades E1 a Er (o dispositivos seguros de suscriptores 11 a 1r) que se numeran del 1 al r.
Una primera etapa adicional es, al igual que para la revocación permanente, calcular los datos de revocación
como A n i “ ( v A - ’ A r ) ) con
Figure imgf000016_0001
por un valor de _/e[1,cfx] por ejemplo y=1. El valor del generador h se modifica entonces para tomar el valor de
Figure imgf000016_0002
El servidor produce la palabra de control cifrada como resultado de componentes como
c = íwh W2,s,U ,D ^xf,...,x '¡\
\ J J ' .Los primeros cuatro componentes l/l/j, W2, s y U se producen clásicamente (con la diferencia de que h se modifica antes como h <— Rr). U= {U-\, Uds) es un vector de ds valores como
Figure imgf000016_0003
m que es un número entero. El cifrado además incluye
X r fjl) ,...,A S r )
y para el valor dey que se elige.
Al recibir una palabra de control cifrada c, una entidad de procesamiento Ei implementa una etapa para producir el texto sin cifrar de dicha palabra de control.
Figure imgf000017_0001
Podemos notar que, para implementar una revocación temporal, la etapa para producir la clave DK permanece sin cambios. El generador h ya no se fija porque depende de todas las entidades que se revocan. La etapa para producir un cifrado simplemente se precede mediante la afección de dicho generador antes de producir un cifrado. La producción del texto sin cifrar de la palabra de control k en lo que a ella respecta, se adapta para implementar la revocación temporal.
La invención se describe en relación con el campo del acceso condicional a los contenidos protegidos como ejemplo de una aplicación preferida. La invención podría aplicarse a otros campos para los que es necesario transmitir un cifrado a una pluralidad de entidades de procesamiento cuyo texto sin cifrar es aprovechado por dichas entidades.

Claims (1)

  1. REIVINDICACIONES
    Método seguro para transmitir una palabra de control entre un servidor (3) y entidades de procesamiento (Ea, Eb, Em, Ei) para producir y aprovechar respectivamente dicha palabra de control, dicho método que incluye: - una etapa de producción (310) por parte del servidor (3) de una palabra de control cifrada c cuyo texto sin cifrar k se destina a ser aprovechado por dichas entidades de procesamiento (Ea, Eb, Em, Ei); - una etapa de transmisión de la palabra de control cifrada c que se produce con destino a entidades de procesamiento (Ea, Eb, Em, Ei);
    - una etapa de recepción por dichas entidades de procesamiento (Ea, Eb, Em, Ei) de la palabra de control cifrada c;
    - una etapa de producción (110) de una palabra de control sin cifrar k por cada entidad de procesamiento (Ea, Eb, Em, Ei) a partir de la palabra de control cifrada c recibida;
    caracterizado porque:
    - la etapa de producción (310) por parte del servidor (3) de una palabra de control cifrada c consiste en producir esta última a partir:
    Z i. de un vector s de ds elementos, cada uno de los cuales que pertenece al conjunto P de números enteros distintos de cero módulos p, p que es un número primo, ds es un número entero estrictamente mayor que 1 y pequeño con respecto al número de entidades de procesamiento (Ea, Eb, Em, Ei);
    Z
    ii. de un valor secreto y conocido del servidor y perteneciente al conjunto p de números enteros distintos de cero módulos p;
    iii. de dos generadores pertenecientes respectivamente a dos grupos cíclicos ^ 1 y ^ 2 de orden p, parámetros de un grupo bilineal
    Figure imgf000018_0001
    de orden p en donde e(.,.) es un acoplamiento tal que
    6 Gtj X & 2 —^ Gtj1 / Gryi
    Figure imgf000018_0002
    es un tercer grupo cíclico de orden p;
    - la etapa de producción (110) de una palabra de control sin cifrar k por cada entidad de procesamiento (Ea, Eb, Em, Ei) consiste en producir esta última a partir de:
    i. la palabra de control cifrada c ;
    ii. una clave de descifrado DK que se conoce de la iésima entidad de procesamiento y se produce previamente a partir:
    Z
    a) de un vector xw de dx elementos, cada uno de los cuales pertenece al conjunto p de números enteros distintos de cero módulo p, dx que es un número entero estrictamente mayor que 1 y pequeño con respecto al número de entidades de procesamiento (Ea, Eb, Em, Ei), el vector x(i) se dedica a la entidad de procesamiento en cuestión;
    b) del valor secreto y ;
    c) de un generador perteneciente a uno de los grupos cíclicos del grupo bilineal @ ; de manera que la clave de descifrado DK¡ que se produce comprende componentes como DK¡= (xw,A) en
    1
    zpir)
    donde A es un componente de la forma ^ z que es un generador perteneciente a uno de los grupos cíclicos del grupo bilineal @ y P es un polinomio en y de grado dx que se produce a partir de x»;
    - la producción de la clave de descifrado DK¡, la etapa (310) de producción de la palabra de control cifrada c y la etapa (110) de producción de la palabra de control sin cifrar k se disponen mutuamente de manera que un método de rastreo de caja blanca, que aprovecha el valor secreto y y una pluralidad de palabras de control sin cifrar k producidas por un método de descifrado que aprovecha conjuntamente una serie de claves de descifrado DK¡ comprometidas, este número es menor o igual
    Figure imgf000019_0001
    una de dichas claves de descifrado DKi, dicho vector x® producido de esta manera identifica una de dichas claves de descifrado DKi comprometidas.
    El método de acuerdo con la reivindicación anterior que comprende de antemano:
    - una etapa para desarrollar (300) una clave madre secreta MK que comprende el componente secreto Y asociado a los parámetros públicos que incluye el grupo bilineal $;
    - una etapa de almacenamiento en memoria de dicha clave MK y los parámetros públicos dentro del servidor;
    - una etapa de almacenamiento en memoria (100) de dichos parámetros públicos dentro de cada entidad de procesamiento;
    - una etapa de producción (301), transmisión y registro (101) de las claves de descifrado DKi dedicadas y distintas respectivamente dentro de las entidades de procesamiento.
    El método de acuerdo con la reivindicación 2, caracterizado porque :
    - dicho método comprende:
    i. una etapa de elección de g y h dos generadores pertenecientes respectivamente a los grupos cíclicos G, 1 y G- 2 ;
    ¡i. una etapa de producción como parámetros públicos, además de /3 y h, los componentes gY, gv2,
    Figure imgf000019_0002
    la clave secreta MK consiste en y y g;
    la etapa de producción (301) de una clave de descifrado DK¡ consiste en producir dicha clave como 1
    resultado de dos componentes tales como DK¡= (x®, A) en donde A ; = * s P{r) con P ( r ) = ( r 4 ,) } ( r 4 ) ] - - ( r 4 )x ) ;
    la etapa de producción (310) de la palabra de control cifrada consiste en producir dicha palabra como
    resultado de dos componentes tales como
    Figure imgf000019_0003
    con
    Q(Y)= (Y+S1)-(Y+S2)-"(Y+&fe);
    la etapa de producción (110) de la palabra de control sin cifrar k consiste en calcular k tal como
    Figure imgf000019_0004
    Figure imgf000020_0005
    El método de acuerdo con la reivindicación 2, caracterizado porque:
    - dicho método comprende una etapa para elegir g y h dos generadores pertenecientes
    respectivamente a los grupos G, 1 y G ¿ , ;
    - los parámetros públicos consisten en f3;
    - la clave secreta MK consiste en y y g;
    - la etapa de producción (301) de una clave de descifrado DK¡ consiste en producir dicha clave como
    Figure imgf000020_0001
    resultado de dos componentes tales como DK¡= (Ai, fíw) en donde y el vector B(i) de dx
    elementos tales como
    Figure imgf000020_0002
    - la etapa de producción (310) de la palabra de control cifrada consiste en producir dicha palabra como resultado de 4 componentes tales como c = (W-\, I/I/2, s, U) con U vector de ds valores tal como 1
    1 1 __ í_____
    Figure imgf000020_0003
    si)" {y+sdS)
    mes un número entero;
    - la eta a de roducción 110 de la alabra de control sin cifrar k consiste en calcular k tal como
    Figure imgf000020_0006
    El método de acuerdo con la reivindicación anterior, caracterizado porque comprende una etapa de 1 J X ( 1) producción de datos de revocación D u<.$a- tales como D ^ - ( R h ...,Rr ) Rl =h 1_____ ______ 1______
    ( r « » > H r « n
    R2 = h ¡ ... r R "rr
    Figure imgf000020_0004
    y porque el generador h toma el valor Rr antes de la implementación de la etapa de producción (310) de la palabra de control cifrada.
    El método de acuerdo con la reivindicación anterior, caracterizado porque comprende una etapa para modificar el valor de la clave de descifrado antes de la implementación de la etapa para producir (110) el d k iM
    Figure imgf000021_0001
    texto sin cifrar de una alabra de control, dicha clave toma un valor con
    Figure imgf000021_0002
    por un valor dado de w e [1,dx].
    El método de acuerdo con la reivindicación 5, caracterizado porque el cifrado también comprende y JD Y(r)
    J por un valor de j e [1 ,dx] elegido y porque la etapa de producción (110) A- se adapta para producir
    Figure imgf000021_0003
    El método de acceso condicional a contenidos digitales que comprende:
    - una etapa de codificación del contenido digital M y de producción del contenido codificado C con ayuda de una función de codificación implementada por un servidor (3);
    - una etapa de producción (310) por parte de dicho servidor (3) de una palabra de control cifrada c cuyo texto sin cifrar k se destina a ser usado por entidades de procesamiento de suscriptor para decodificar (210) dicho contenido codificado C;
    - una etapa de transmisión, a través de una red de distribución y con destino a las entidades de procesamiento de suscriptor, dicho contenido codificado C y palabra de control cifrada c;
    - una etapa de recepción por cada entidad de procesamiento de suscriptor de dicho contenido codificado C y palabra de control cifrada c;
    - una etapa de producción (110) del texto sin cifrar k de una palabra de control por cada entidad de procesamiento de suscriptor a partir del cifrado c;
    - una etapa de decodificación (210) por cada entidad de procesamiento de suscriptor el contenido codificado C y de producción de un contenido sin cifrar M a partir de una función de decodificación y del texto sin cifrar k;
    - una etapa de restitución de dicho contenido sin cifrar M por medio de una interfaz adaptada a dicho contenido sin cifrar;
    caracterizado porque:
    - las etapas de producción (310) y transmisión de una palabra de control cifrada por el servidor de difusión de contenido digital protegido, así como las etapas de recepción y producción (110) del texto sin cifrar de una palabra de control por las entidades de procesamiento de suscriptores, son los de un método seguro para transmitir una palabra de control entre un servidor (3) y las entidades de procesamiento (Ea, Eb, Em, Ei) según cualquiera de las reivindicaciones 1 a 7, de manera que dicho método seguro resista (dx d s - l ) !
    t = C d x
    dy. ~^~ds — 1 dx \(ds - \ ) \
    una colusión de tamaño s r ds y dx que son dos números enteros estrictamente mayores que 1 y que son aprovechados respectivamente por dichas etapas para producir el cifrado o el texto sin cifrar de dicha palabra de control.
    El método de acuerdo con la reivindicación anterior, cada entidad de procesamiento (Ea, Eb, Em, Ei) consiste en un terminal (2a, 2b, 2m, 2i) y un dispositivo de suscriptor seguro (1a, 1b, 1m, 1i), dicho terminal y dicho dispositivo de suscriptor seguro se acoplan e implementan respectivamente la decodificación de un contenido codificado y la producción del texto sin cifrar de una palabra de control cifrada, dicho método se caracteriza porque:
    - la etapa de recepción del contenido codificado C y una palabra de control cifrada c por una entidad de procesamiento que consiste en:
    i. recibir por parte del terminal el contenido codificado y la palabra de control cifrada; ii. transmitir la palabra de control cifrada c por el terminal al dispositivo de suscriptor seguro que coopera con dicho terminal;
    - la etapa de producción (110) del texto sin cifrar k de una palabra de control por parte de una entidad de procesamiento consiste en que esta sea producida por el dispositivo de suscriptor seguro que la entrega al terminal;
    - la etapa de decodificación (210) de un contenido codificado C consiste en la implementación por el terminal de la función de decodificación para producir un contenido sin cifrar M a partir del contenido codificado C y dicha palabra de control k.
    10. Servidor (3) de un sistema de acceso condicional a contenidos digitales, dicho sistema que comprende, además de dicho servidor (3), una pluralidad de entidades de procesamiento (Ea, Eb, Em, Ei) conectadas con este último, dicho servidor (3) se caracteriza, de manera que dicho sistema implementa un método de acceso condicional de acuerdo con las reivindicaciones 8 o 9, porque comprende:
    _*
    Z
    - medios para almacenar en memoria un valor secreto y perteneciente al conjunto ^de números enteros distintos de cero módulos p, p que es un número primo, un grupo bilineal
    Figure imgf000022_0001
    de orden p en donde e (.,.) es un acoplamiento tal como
    6 Gtj X ©2 —^ Gj* i
    IG, Gt Gt^
    1 z y / son grupos cíclicos de orden p y un vector s de ds elementos pertenecientes cada uno al Z
    conjunto P ' ds que es un número entero estrictamente mayor que 1 y pequeño con respecto al número de entidades de procesamiento;
    - medios de procesamiento adaptados para producir:
    i. un cifrado c de una palabra de control a partir del vector s, del valor secreto y y de dos generadores pertenecientes respectivamente a los grupos cíclicos G , 1 y G^ ¿ según la etapa (310) para producir tal cifrado c de un método seguro para transmitir una palabra de control entre un servidor (3) y entidades de procesamiento (Ea, Eb, Em, Ei) de acuerdo con cualquiera de las reivindicaciones 1 a 8, dicho método es resistente a la colusión de un tamaño t cuyo valor depende del número entero ds;
    ii. un contenido codificado C a partir de un contenido sin cifrar M;
    - medios para entregar dicho contenido codificado C y palabra de control cifrada c a la pluralidad de entidades de procesamiento del sistema de acceso condicional.
    11. Entidad de procesamiento (Ea, Eb, Em, Ei) de un sistema de acceso condicional, dicho sistema que comprende, además de dicha entidad de procesamiento (Ea, Eb, Em, Ei), un servidor (3) de acuerdo con la reivindicación anterior conectado a esta última, dicha entidad de procesamiento (Ea, Eb, Em, Ei) se caracteriza, de manera que dicho sistema implementa un método de acceso condicional de acuerdo con las reivindicaciones 8 o 9, porque comprende:
    - medios para almacenar en memoria parámetros públicos que comprenden un grupo bilineal
    Figure imgf000022_0002
    de orden p primo en donde e (.,.) es un acoplamiento tal como
    Figure imgf000023_0001
    que son grupos cíclicos de orden p, dicho grupo bilineal se conoce del servidor (3) de manera que dicho servidor (3) produce una palabra de control cifrada c a partir de un vector s de ds elementos cada uno de Z
    los cuales pertenece al conjunto p 'ds que es un número entero estrictamente mayor que 1, con un valor
    secreto y y dos generadores pertenecientes respectivamente a los grupos cíclicos G, 1 y G,
    - medios para almacenar en memoria una clave de descifrado dedicada DK previamente producida a partir:
    i. de un vector x(/) de dx valores cada uno de los cuales pertenece al conjunto -^de números enteros distintos de cero módulos p, dx que es un entero estrictamente mayor que 1, el vector x ° se dedica a dicha entidad de procesamiento (Ea, Eb, Em, Ei);
    ii. del valor secreto y conocido del servidor (3);
    iii. de un generador perteneciente a uno de los grupos cíclicos del grupo bilineal f3;
    - medios de recepción para recibir del servidor (3) un contenido codificado C y la palabra de control cifrada c;
    - medios de procesamiento (10) adaptados para producir una palabra de control sin cifrar k a partir de dichos datos y de la clave de descifrado DKi, según la etapa para producir una palabra de control sin cifrar k de un método seguro para transmitir una palabra de control entre un servidor (3) y entidades de procesamiento (Ea, Eb, Em, Ei) resistente a colusiones de acuerdo con cualquiera de las reivindicaciones r dx _ {dx d s ~ l ) ]- .
    -+Uc—1
    1 a 7, dicho método es resistente a colusiones de un tamaño dx \(ds - \ ) \
    - medios de procesamiento para producir (210) un contenido sin cifrar M a partir de dichos datos y la palabra de control k;
    - medios para entregar dicho contenido sin cifrar a una interfaz hombre-máquina adaptada (5) para restituir dicho contenido sin cifrar M.
    12. El sistema de acceso condicional a un contenido digital que comprende una pluralidad de entidades de procesamiento (Ea, Eb, Em, Ei) respectivamente dispuestas de acuerdo con la reivindicación 11, un servidor (3) dispuesto de acuerdo con la reivindicación 10, dicho servidor está además conectado con dicha pluralidad de entidades de procesamiento (Ea, Eb, Em, Ei) de manera que dicho sistema implementa un método de acceso condicional de acuerdo con las reivindicaciones 8 o 9.
    13. La entidad de procesamiento (Ea, Eb, Em, Ei) de acuerdo con la reivindicación 11, dicha entidad de procesamiento consiste en un terminal (2a, 2b, 2m, 2i) y un dispositivo de suscriptor seguro (1a, 1b, 1m, 1i) que coopera con este último, dicho terminal que incluye:
    - medios de recepción para recibir los datos desde el mundo exterior;
    - medios para transmitir al dispositivo de suscriptor seguro la palabra de control cifrada c y recibir a cambio la palabra de control sin cifrar k;
    - medios de procesamiento para producir (210) el contenido sin cifrar M;
    - medios para entregar dicho contenido sin cifrar a una interfaz hombre-máquina adaptada para restituir dicho contenido sin cifrar;
    dicho dispositivo electrónico de suscriptor (1a, 1b, 1m, 1i) que comprende:
    - medios de recepción para recibir la palabra de control cifrada c desde el terminal;
    - medios de almacenamiento para almacenar en memoria los parámetros públicos;
    - medios de almacenamiento en memoria para almacenar en memoria una clave de descifrado dedicada DKi;
    - medios de procesamiento para producir (110) la palabra de control k a partir de dicho cifrado c y de la clave DKi;
    - medios para entregar dicha palabra de control a dicho terminal.
ES11802487T 2010-11-22 2011-11-21 Método y sistema de acceso condicional a un contenido digital, terminal y dispositivo de suscriptor asociados Active ES2897685T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1059609A FR2967851B1 (fr) 2010-11-22 2010-11-22 Procede et systeme d'acces conditionnel a un contenu numerique, terminal et dispositif d'abonne associes
PCT/FR2011/052712 WO2012069747A1 (fr) 2010-11-22 2011-11-21 Procede et systeme d'acces conditionnel a un contenu numerique, terminal et dispositif d'abonne associes

Publications (1)

Publication Number Publication Date
ES2897685T3 true ES2897685T3 (es) 2022-03-02

Family

ID=44075686

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11802487T Active ES2897685T3 (es) 2010-11-22 2011-11-21 Método y sistema de acceso condicional a un contenido digital, terminal y dispositivo de suscriptor asociados

Country Status (10)

Country Link
US (1) US9749129B2 (es)
EP (1) EP2643943B1 (es)
JP (1) JP5602955B2 (es)
CN (1) CN103339896B (es)
BR (1) BR112013015281B1 (es)
ES (1) ES2897685T3 (es)
FR (1) FR2967851B1 (es)
MX (1) MX2013005741A (es)
PT (1) PT2643943T (es)
WO (1) WO2012069747A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2958103B1 (fr) * 2010-03-23 2012-08-17 Cryptoexperts Sas Procede pour identifier un dispositif mis en oeuvre par un terminal pirate et dispositif associe
JP6488221B2 (ja) 2015-03-30 2019-03-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 再生方法及び再生装置
US11251954B2 (en) 2017-05-10 2022-02-15 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University Method and system for performing broadcast encryption with revocation capability
WO2018207187A1 (en) * 2017-05-10 2018-11-15 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University Method and system for performing broadcast encryption with revocation capability
US11323255B2 (en) * 2019-08-01 2022-05-03 X-Logos, LLC Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes
US11764943B2 (en) 2020-08-10 2023-09-19 Algemetric, Inc. Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology
US11683151B2 (en) 2020-09-17 2023-06-20 Algemetric, Inc. Methods and systems for distributed computation within a fully homomorphic encryption scheme using p-adic numbers

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697489B1 (en) * 1999-03-30 2004-02-24 Sony Corporation Method and apparatus for securing control words
US7565546B2 (en) * 1999-03-30 2009-07-21 Sony Corporation System, method and apparatus for secure digital content transmission
US7602914B2 (en) * 2004-08-18 2009-10-13 Scientific-Atlanta, Inc. Utilization of encrypted hard drive content by one DVR set-top box when recorded by another
EP2022207B1 (fr) * 2006-05-31 2018-10-10 Orange Procédé cryptographique à chiffrement et révocation intégrés, système, dispositif et programmes pour la mise en oeuvre du procédé
US8385545B2 (en) * 2007-07-27 2013-02-26 Howard G. Pinder Secure content key distribution using multiple distinct methods
EP2068490A1 (en) * 2007-12-05 2009-06-10 Nagravision S.A. Method to generate a private key in a Boneh-Franklin scheme
JP5365072B2 (ja) * 2007-12-11 2013-12-11 ソニー株式会社 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法およびプログラム
JP2009171016A (ja) * 2008-01-11 2009-07-30 Nippon Hoso Kyokai <Nhk> 暗号化情報生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
US8396222B2 (en) * 2008-03-10 2013-03-12 Nds Limited Key distribution system
EP2207340A1 (en) * 2009-01-12 2010-07-14 Thomson Licensing Method and device for reception of control words, and device for transmission thereof
KR101246241B1 (ko) * 2009-04-24 2013-03-22 니뽄 덴신 덴와 가부시키가이샤 암호화 장치, 복호장치, 암호화 방법, 복호방법, 세큐러티 방법, 프로그램 및 기록매체
FR2969439B1 (fr) * 2010-12-17 2018-06-22 Cryptoexperts Sas Procede et systeme d'acces conditionnel a un contenu numerique, terminal et dispositif d'abonne associes

Also Published As

Publication number Publication date
BR112013015281B1 (pt) 2022-03-29
MX2013005741A (es) 2013-12-06
JP5602955B2 (ja) 2014-10-08
US9749129B2 (en) 2017-08-29
EP2643943B1 (fr) 2021-08-18
PT2643943T (pt) 2021-11-17
EP2643943A1 (fr) 2013-10-02
JP2014502102A (ja) 2014-01-23
CN103339896A (zh) 2013-10-02
FR2967851B1 (fr) 2018-05-18
BR112013015281A2 (pt) 2018-06-26
WO2012069747A1 (fr) 2012-05-31
CN103339896B (zh) 2017-06-23
US20130308776A1 (en) 2013-11-21
FR2967851A1 (fr) 2012-05-25

Similar Documents

Publication Publication Date Title
ES2897685T3 (es) Método y sistema de acceso condicional a un contenido digital, terminal y dispositivo de suscriptor asociados
US10824737B1 (en) Protecting data from brute force attack
RU2696334C1 (ru) Устройство и способ вычисления блочного шифра
KR20120079639A (ko) 화이트박스 암호 테이블을 이용한 콘텐츠 보호 장치, 콘텐츠 암호화 및 복호화 장치
CN103488915B (zh) 一种软硬件相结合的双重密钥加密的资源加密解密方法
EP2487828A1 (en) Method and device for generating control words
CN109039596A (zh) 利用加扰电路的白盒实施方案
CN109274644A (zh) 一种数据处理方法、终端和水印服务器
US8121289B2 (en) Cryptographic method with integrated encryption and revocation, system, device and programs for implementing this method
KR20170097509A (ko) 화이트 박스 암호화 기반의 연산 방법 및 그 방법을 수행하는 보안 단말
Guo et al. Non-transferable proxy re-encryption
Kroll et al. Secure protocols for accountable warrant execution
KR20080007678A (ko) Drm 권리 객체의 효율적인 암호화 및 복호화를 위한장치 및 방법
US20160148002A1 (en) Key storage apparatus, key storage method and program therefor
CN107317675A (zh) 一种可发送私人信息的广播加密方法
ES2683771T3 (es) Procedimiento y sistema de acceso condicional a un contenido digital, terminal y dispositivo de abonado asociados
CN101889412B (zh) 在Boneh-Franklin方案中生成私钥的方法
Sathik et al. Secret sharing scheme for data encryption based on polynomial coefficient
US8774408B2 (en) Traceable method and system for broadcasting digital data
Adelsbach et al. Fingercasting–joint fingerprinting and decryption of broadcast messages
CN117834121A (zh) 防止医疗数据随访中恶意攻击的叛逆者追踪方法及系统
Lee et al. ID-based key management scheme using threshold decryption for OPMD environment
BR112012025126B1 (pt) método para identificar um dispositivo usado por um terminal haqueado e dispositivo relacionado.
Prihandoko et al. Scenarios for securing content delivery in the DRM environment
Obied Broadcas t Encryption