ES2334109T3 - Metodo para la codificacion de transmisiones. - Google Patents

Metodo para la codificacion de transmisiones. Download PDF

Info

Publication number
ES2334109T3
ES2334109T3 ES02710108T ES02710108T ES2334109T3 ES 2334109 T3 ES2334109 T3 ES 2334109T3 ES 02710108 T ES02710108 T ES 02710108T ES 02710108 T ES02710108 T ES 02710108T ES 2334109 T3 ES2334109 T3 ES 2334109T3
Authority
ES
Spain
Prior art keywords
subset
tree
keys
node
subsets
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.)
Expired - Lifetime
Application number
ES02710108T
Other languages
English (en)
Other versions
ES2334109T5 (es
Inventor
Jeffrey Bruce Lotspiech
Dalit Naor
Simeon Naor
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25089976&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2334109(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of ES2334109T3 publication Critical patent/ES2334109T3/es
Publication of ES2334109T5 publication Critical patent/ES2334109T5/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • 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]
    • H04L9/0833Key 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] involving conference or group key
    • H04L9/0836Key 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] involving conference or group key using tree structure or hierarchical structure
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • 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/605Copy protection
    • 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/606Traitor tracing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Un método para cifrado o codificado de transmisión, que comprende: asignar a cada usuario en un grupo de usuarios información privada respectiva Iu; seleccionar al menos una clave de cifrado de sesión K; dividir a los usuarios que no están en un conjunto revocado R en subconjuntos disjuntos Si1,...Sim que tienen claves de subconjuntos asociadas Li1,...Lim; y cifrar la clave de sesión K con las claves de subconjuntos Li1,...Lim para hacer m versiones cifradas de la clave de sesión K.

Description

Método para la codificación de transmisiones.
Antecedentes del invento 1. Campo del invento
El invento se refiere en general al cifrado o codificación de datos de transmisión que usa claves de cifrado.
2. Descripción de la técnica relacionada
La patente norteamericana nº 6.118.873 describe un sistema para cifrar música, vídeos y otros contenidos transmitidos. Como se ha descrito en ella, solamente reproductores-grabadores autorizados pueden reproducir y/o copiar el contenido y solamente de acuerdo con reglas establecidas por el vendedor del contenido. De este modo, pueden ser impedidas las copias de contenido pirateadas, que comúnmente cuestan a los proveedores de contenidos billones de dólares cada año.
En el método de cifrado descrito en la patente a que antes se ha hecho referencia, los reproductores-grabadores autorizados son provistos de claves para el dispositivo con software implantado desde una matriz de claves del dispositivo. Las claves pueden ser emitidas simultáneamente una con otra o en el trascurso del tiempo, pero en cualquier caso, ningún reproductor-grabador se supone que tiene más de una clave de dispositivo por columna de la matriz. Aunque dos dispositivos podrían compartir la misma clave desde la misma columna, las posibilidades de que cualesquiera dos dispositivos compartan exactamente las mismas claves de conjunto de todas las columnas de la matriz son muy pequeñas cuando las claves son asignadas aleatoriamente. Las claves son usadas para descifrar el contenido.
En el caso de que un dispositivo (y sus claves) resulte comprometido, deliberadamente o por error, es necesario revocar las claves de ese dispositivo. Revocar un conjunto de claves efectivamente convierte al dispositivo comprometido (y cualesquiera clones del mismo) en inoperante para reproducir el contenido que es producido después de la revocación. En la patente antes descrita, para cada revocación se requieren aproximadamente 320 bytes de mensaje. Aunque esto es efectivo, es deseable reducir la longitud del mensaje de revocación incluso más, por eficiencia.
Aunque el sistema descrito en la patente a que antes se ha hecho referencia es efectivo, debido a limitaciones de tamaño del área de encabezamiento del mensaje (denominado como "bloque de clave de medios" en la patente), solamente un número relativamente limitado (10.000 para un encabezamiento de 3M tal como DVD-Audio) de revocaciones puede ser hecho durante la vida del sistema. Este número puede ser incrementado aumentando el tamaño del encabezamiento, pero las revocaciones añadidas serían aplicables sólo a dispositivos hechos de nuevo, y no a dispositivos que hubieran sido hechos antes del aumento de tamaño del encabezamiento. Es deseable ser capaz de ejecutar un gran número de revocaciones tanto de dispositivos "viejos" como "nuevos", es decir para tener en cuenta receptores sin estado. También, como más de un dispositivo puede compartir cualquier clave particular con el dispositivo comprometido en el invento patentado a que antes se ha hecho referencia, revocar un conjunto de claves de dispositivo podría dar como resultado revocar algunas claves contenidas por dispositivos inocentes. Es deseable reducir adicionalmente las posibilidades de revocar accidentalmente un dispositivo "bueno", preferiblemente a cero.
Además, el presente invento está dirigido al difícil escenario de los receptores "sin estado", es decir, receptores que no actualizan necesariamente su estado de cifrado entre transmisiones para aceptar contramedidas contra dispositivos comprometidos. Por ejemplo, una televisión que se suscribe a un canal de pago podría tener su codificador desactivado durante un período de tiempo durante el cual los datos cifrados actualizados podrían ser transmitidos sobre el sistema. Tal dispositivo se convertiría en "sin estado" si sucede que es incapaz de actualizarse por sí mismo después de haber sido vuelto a activar y así no poseería actualizaciones que serían necesarias para un futuro descifrado del contenido.
Además, hay una necesidad creciente de proteger el contenido de medios, tales como los CD y DVD, que son vendidos al público y para los que es deseable impedir una copia no autorizada. Los grabadores en tal sistema corrientemente no interactúan con lo reproductores, y ningún reproductor conseguirá cada posible pieza de actualizaciones de datos de cifrado, ya que ningún reproductor recibe cada disco vendido. Por consiguiente, como se ha comprendido aquí, la protección de contenidos de medios vendidos es un ejemplo del problema de cifrado de transmisión a receptores sin estado.
Además, la presencia de más de unos pocos fabricantes "malvados" (es decir fabricantes que legal o ilegalmente obtienen claves pero que en cualquier caso hacen que muchos dispositivos sin autorización tengan las claves) puede ser problemática. Es deseable tener en cuenta muchos fabricantes potencialmente "malvados".
Otros métodos para el cifrado de transmisión incluyen los descritos en Fiat y col., Cifrado de Transmisión, Crypto '93 LNCS vol. 839, págs. 257-270 (1994). Este método considera la retirada de cualquier número de receptores mientras como máximo "t" de ellos operen ilegalmente entre sí. Sin embargo, el método de Fiat y col., requiere longitudes de mensaje relativamente grandes, que un número de claves relativamente grandes sea almacenado en el receptor, y que cada receptor debe realizar más de una única operación de descifrado. Además, el método de Fiat y col., no considera el escenario de receptor sin estado. Hay una necesidad de evitar la suposición a priori de cuantos receptores podrían operar ilegalmente. También, que el tamaño del mensaje y el número de claves almacenadas sean minimizados, y que el número de operaciones de descifrado que deben ser realizadas por un receptor sea minimizado, para optimizar el rendimiento.
Otros sistemas de cifrado o codificado, como el sistema de Fiat y col., no proporcionan medios para el escenario de receptores sin estado, y así no pueden ser aplicados efectivamente en cuanto a la protección de contenido de medios grabados. Ejemplos de tales sistemas incluyen los sistemas de jerarquía de clave lógica a base de árboles descritos en Wallner y col., Gestión de claves para Multidifusión: Cuestiones y Arquitecturas, proyecto IETF de clave de Wallner 1997; Wong y col., Comunicación Segura de Grupo Utilizando Gráficos de Clave, SIGCOMM 1998; Canetti y col., Seguridad Multidifusión: Una Taxonomía y Algunas Construcciones Eficientes, Proc. de INFOCOM '99 vol. 2 págs. 708-716 (1999); Canetti y col., Intercambios de Comunicación-Almacenamiento para Cifrado Multidifusión, Eurocrypt 1999, págs. 459-474; y McGraw y col., Establecimiento de Claves en Grandes Grupos Dinámicos Usando Árboles de Función de Un Sentido, sometido a Transacciones de IEEE en Ingeniería de Software (1998).
Con más especificidad en relación a los métodos de Wallner y col., y Wong y col., las claves son asignadas por asignación de una etiqueta independiente a cada nodo en un árbol binario. Desgraciadamente, en los métodos referidos alguna de las etiquetas cambia en cada revocación. Claramente, como es, el método sería inapropiado para el escenario del receptor sin estado. Incluso si un lote de revocaciones que ha de ser asociado con una única etiqueta cambia para cada nodo, los métodos referenciados de Wallner y col., y Wong y col., requerirían al menos log N descifrados en el receptor y la transmisión de rlog N cifrados (donde r es el número de dispositivos que ha de ser revocado y N es el número total de receptores en el sistema), desgraciadamente un número relativamente elevado.
\vskip1.000000\baselineskip
Sumario del invento
El presente invento proporciona por consiguiente un método para el cifrado de transmisión, que comprende: asignar a cada usuario en un grupo de usuarios información privada respectiva I_{u}; seleccionar al menos una clave K de cifrado de sesión; dividir usuarios que no están en un conjunto revocado R en subconjuntos disjuntos S_{i1},...S_{im} que tienen claves de subconjuntos asociadas L_{i1},...L_{im}; y cifrar la clave K de sesión con las claves de subconjuntos L_{i1},...L_{im} para hacer m versiones cifradas de la clave K de sesión.
El método comprende preferiblemente además dividir a los usuarios en grupos S_{1},...S_{w} en los que "w" es un entero, y los grupos establecen subárboles en un árbol.
Preferiblemente, el árbol es un árbol binario completo.
El método comprende preferiblemente además usar la información privada I_{u} para descifrar la clave de sesión.
De modo adecuado, el acto de descifrado incluye utilizar información i_{j} de tal modo que un usuario pertenece a un subconjunto S_{ij}, y recuperar una clave L_{ij} de subconjunto usando la información privada del usuario.
Preferiblemente, cada subconjunto S_{i1},...S_{im} incluye todas las hojas de un subárbol con raíz en algún nodo v_{i}, estando asociado al menos cada nodo del subárbol con una clave de subconjunto respectiva.
Preferiblemente, el contenido es proporcionado a los usuarios en al menos un mensaje que define un encabezamiento, y el encabezamiento incluye como máximo r*log(N/r) claves de subconjuntos y cifrados, en los que r es el número de usuarios en el conjunto R revocado y N es el número total de usuarios.
De modo preferible, cada usuario debe almacenar log N claves, en las que N es el número total de usuarios.
Preferiblemente, el contenido es proporcionado a los usuarios en al menos un mensaje, y en el que cada usuario procesa el mensaje usando como máximo log log N operaciones más una única operación de descifrado, en el que N es el número total de usuarios.
Preferiblemente, el conjunto R revocado define un árbol de expansión, y subárboles que tienen raíces unidas a nodos del árbol de expansión definen los subconjuntos.
Preferiblemente, al árbol incluye una raíz y varios nodos, teniendo cada nodo al menos una etiqueta asociada, y en el que cada subconjunto incluye todas las hojas de un subárbol con raíces en algún nodo v_{i} que no está en el subárbol con raíz en algún otro nodo v_{i} que desciende de v_{i}.
Preferiblemente, el contenido es proporcionado a los usuarios en al menos un mensaje que define un encabezamiento, y el encabezamiento incluye como máximo 2r-1 claves del subconjunto y cifrados, donde r es el número de usuarios en el conjunto revocado R.
Preferiblemente, cada usuario debe almacenar 0,5log^{2}N + 0,5log N + 1 claves, en las que N es el número total de usuarios.
Preferiblemente, el contenido es proporcionado a los usuarios en al menos un mensaje, y en el que cada usuario procesa el mensaje usando como máximo log N operaciones más una única operación de descifrado, en la que N es el número total de usuarios.
Preferiblemente, el conjunto R revocado define un árbol de expansión, y el método incluye: inicializar un árbol T de cubierta como el árbol de expansión; eliminar iterativamente nodos del árbol de cubierta T y añadir nodos a una cubierta hasta que el árbol de cubierta T tenga como máximo un nodo.
Preferiblemente, cada nodo tiene al menos una etiqueta posiblemente inducida por al menos uno de sus antepasados, y en el que cada usuario tiene etiquetas asignadas de todos los nodos que cuelgan de un trayecto directo entre el usuario y la raíz pero no desde los nodos en el trayecto directo.
Preferiblemente, son asignadas etiquetas a subconjuntos usando un generador de secuencia seudoaleatorio, y el acto de descifrar incluye evaluar el generador de secuencia seudoaleatorio.
Preferiblemente, el contenido es proporcionado a los usuarios en al menos un mensaje que tiene un encabezamiento que incluye una función criptográfica E_{L}, y el método incluye prefijar-truncar la función criptográfica E_{L}.
Preferiblemente, el árbol incluye una raíz y varios nodos, teniendo cada nodo una clave asociada, y en el que cada usuario tiene asignadas claves desde todos los nodos en un trayecto directo entre una hoja que representa al usuario y la raíz.
Preferiblemente, el contenido es proporcionado a los usuarios en al menos un mensaje que define varias partes, y cada parte está cifrada con una clave de sesión respectiva.
El presente invento proporciona de modo adecuado un dispositivo de programa de ordenador, que comprende: un dispositivo de almacenamiento del programa de ordenador que incluye un programa de instrucciones utilizable por un ordenador, que comprende: medios lógicos para acceder a un árbol para identificar varias claves de subconjuntos; medios lógicos para cifrar un mensaje con una clave de sesión; medios lógicos para cifrar la clave de sesión al menos una vez con cada una de las claves de subconjuntos para hacer versiones cifradas de la clave de sesión; y medios lógicos
para enviar las versiones cifradas de la clave de sesión en un encabezamiento del mensaje a varios receptores sin estado.
El dispositivo del programa de ordenador comprende preferiblemente además medios lógicos para dividir receptores que no están en un conjunto revocado R en subconjuntos disjuntos S_{i1},...S_{im} que tienen claves de subconjuntos asociadas L_{i1},...L_{im}.
El dispositivo de programa de ordenador comprende preferiblemente además medios lógicos para dividir a los usuarios en grupos S_{1},...S_{w} en los que "w" es un entero, y los grupos establecen subárboles en un árbol.
El dispositivo de programa de ordenador comprende preferiblemente además medios lógicos para usar información privada I_{u} para descifrar la clave de sesión.
Preferiblemente, los medios para descifrar incluyen medios lógicos para usar información i_{j} tal que un receptor pertenece a un subconjunto S_{ij}, y recuperar una clave L_{ij} de la información privada del receptor.
Preferiblemente, cada subconjunto S_{i1},...S_{im} incluye todas las hojas de un subárbol con raíz en algún nodo v_{i}, estando asociado al menos cada nodo de un subárbol con una clave de subconjunto respectiva.
Preferiblemente, los medios lógicos proporcionan contenido a los receptores en al menos un mensaje que define un encabezamiento, y el encabezamiento incluye como máximo r*log(N/r) claves de subconjuntos y cifrados, en los que r es el número de receptores en el conjunto R revocado y N es el número total de receptores.
Preferiblemente, cada receptor debe almacenar log N claves en las que N es el número total de receptores.
Preferiblemente, los medios lógicos proporcionan el contenido a los receptores en al menos un mensaje, y en el que cada receptor procesa el mensaje usando como máximo log log N operaciones más una única operación de cifrado, en la que N es el número total de receptores.
Preferiblemente, el conjunto R revocado define un árbol de expansión, y subárboles que tienen raíces unidas a nodos del árbol de expansión definen los subconjuntos.
Preferiblemente, el árbol incluye una raíz y varios nodos, teniendo cada nodo al menos una etiqueta asociada, y en el que cada subconjunto incluye todas las hojas de un subárbol con raíces en algún nodo v_{i} que no están en el subárbol con raíces en algún otro nodo v_{j}, que desciende de v_{i}.
Preferiblemente, los medios proporcionan el contenido a los receptores en al menos un mensaje que define un encabezamiento, y el encabezamiento incluye como máximo 2r-1 claves de subconjuntos y cifrados, en los que r es el número de receptores en el conjunto R revocado.
Preferiblemente cada receptor debe almacenar 0,5log^{2}N + 0,5logN + 1 claves en las que N es el número total de receptores.
Preferiblemente, los medios lógicos proporcionan el contenido a los receptores en al menos un mensaje, y en el que cada receptor procesa el mensaje usando como máximo log N operaciones más una única operación de descifrado, en la que N es el número total de receptores.
Preferiblemente, el conjunto R revocado define un árbol de expansión, y el dispositivo de programa de ordenador incluye: medios lógicos para inicializar un árbol de cubierta T como el árbol de expansión, y medios lógicos para eliminar iterativamente nodos del árbol de cubierta T y añadir nodos a una cubierta hasta que el árbol de cubierta T tiene como máximo un nodo.
Preferiblemente, unos medios lógicos asignan etiquetas a receptores usando un generador de secuencias seudoaleatorio, y las etiquetas inducen claves de subconjuntos.
Preferiblemente, los medios para descifrar incluyen evaluar el generador de secuencia seudoaleatorio.
Preferiblemente, los medios lógicos proporcionan contenido a los receptores en al menos un mensaje que tiene un encabezamiento que incluye una función criptográfica E_{L} y el dispositivo de programa de ordenador incluye medios lógicos para prefijar-truncar la función criptográfica E_{L}.
Preferiblemente, el árbol incluye una raíz y varios nodos, teniendo cada nodo una clave asociada, y en el que medios lógicos asignan a cada receptor claves desde todos los nodos en trayecto directo entre una hoja que representa al receptor y la raíz.
Preferiblemente, los medios lógicos proporcionan contenido a receptores en al menos un mensaje que define varias partes, y cada parte está cifrada con una clave de sesión respectiva.
El presente invento proporciona adecuadamente un ordenador programado con instrucciones para hacer que el ordenador ejecute actos del método que incluyen: cifrar el contenido de transmisión; y enviar el contenido de transmisión a varios receptores buenos sin estado y al menos a un receptor revocado de tal modo que cada receptor bueno sin estado puede descifrar el contenido y el receptor revocado no puede descifrar el contenido.
Preferiblemente, los actos del método comprenden además: asignar a cada receptor en un grupo de información privada I_{u} respectiva de receptores; seleccionar al menos una clave K de cifrado de sesión; dividir todos los receptores que no están en un conjunto revocado R en subconjuntos disjuntos S_{i1},...S_{im} que tienen claves de subconjuntos asociadas L_{i1},...L_{im}; y cifrar la clave de sesión K con las claves de subconjuntos L_{i1},...L_{im} para hacer m versiones cifradas de la clave de sesión K.
Preferiblemente, los actos del método realizados por el ordenador comprenden además dividir a los usuarios en grupos S_{1},...S_{w}, en los que "w" es un entero, y los grupos establecen subárboles en un árbol.
Preferiblemente, el árbol es un árbol binario completo.
Preferiblemente, los actos del método incluyen usar información I_{u} privada para descifrar la clave de sesión.
Preferiblemente, el acto de descifrado realizado por el ordenador incluye usar información i_{j} de tal modo que un receptor pertenece a un subconjunto S_{ij}, y recuperar una clave L_{ij} usando la información privada del receptor.
Preferiblemente, cada subconjunto S_{i1},...S_{im} incluye todas las hojas de un subárbol con raíces en algún nodo v_{i}, estando asociado al menos cada nuevo subárbol con una clave de subconjunto respectiva.
Preferiblemente, el contenido es proporcionado a los receptores en al menos un mensaje que define un encabezamiento, y el encabezamiento incluye como máximo r*log(N/r) claves de subconjuntos y cifrados, en los que r es el número de receptores en el conjunto revocado R y en el que N es el número total de receptores.
Preferiblemente, cada receptor almacena log N claves, en las que N es el número total de receptores.
Preferiblemente, el contenido es proporcionado a los receptores en al menos un mensaje, y en el que cada receptor procesa el mensaje usando como máximo log log N operaciones más una única operación de descifrado, en la que N es el número total de receptores.
Preferiblemente, el conjunto revocado R define un árbol de expansión, y subárboles que tienen raíces unidas a nodos del árbol de expansión definen los subconjuntos.
Preferiblemente, al árbol incluye una raíz y varios nodos, teniendo cada nodo al menos una etiqueta asociada, y en el que cada subconjunto incluye todas las hojas de un subárbol con raíces en algún nodo v_{i} que no están en el subárbol con raíz en algún otro nodo v_{j} que desciende de v_{i}.
Preferiblemente, el contenido es proporcionado a los receptores en al menos un mensaje que define un encabezamiento, y el encabezamiento incluye como máximo 2r-1 claves de subconjuntos y cifrados, donde r es el número de receptores en el conjunto revocado R.
Preferiblemente, cada receptor debe almacenar 0,5log^{2}N + 0,5log N + 1 claves, en las que N es el número total de receptores.
Preferiblemente, el contenido es proporcionado a los receptores en al menos un mensaje, y en el que cada receptor procesa el mensaje usando como máximo log N operaciones más una única operación de descifrado, en la que N es el número total de receptores.
Preferiblemente, el conjunto revocado R define un árbol de expansión, y en el que los actos del método realizados por el ordenador incluyen además: inicializar un árbol de cubierta T como el árbol de expansión; eliminar iterativamente nodos del árbol de cubierta T y añadir nodos a una cubierta hasta que el árbol de cubierta T tenga como máximo un nodo.
Preferiblemente, el ordenador asigna etiquetas a receptores desde el árbol usando un generador de secuencia seudoaleatorio.
Preferiblemente, el acto de descifrar realizado por el ordenador incluye evaluar el generador de secuencia seudoaleatorio.
Preferiblemente, el contenido es proporcionado a los receptores en al menos un mensaje que tiene un encabezamiento que incluye una función criptográfica E_{L}, y los actos del método realizados por el ordenador incluyen prefijar-truncar la función criptográfica E_{L}.
Preferiblemente, el contenido es proporcionado a los receptores en al menos un mensaje que define varias partes, y cada parte es cifrada por el ordenador con una clave de sesión respectiva.
Preferiblemente, cada nodo tiene varias etiquetas con cada antepasado del nodo induciendo una etiqueta respectiva, y en el que cada usuario tiene asignadas etiquetas desde todos los nodos que cuelgan desde un trayecto directo entre el usuario y la raíz pero no desde los nodos en el trayecto directo.
El presente invento comprende adecuadamente un método para el cifrado de transmisión, que comprende: asignar a cada usuario en un grupo de usuarios información privada respectiva I_{u}; seleccionar al menos una clave K de cifrado de sesión; dividir a todos los usuarios en grupos S_{1},...S_{w}, en los que "w" es un entero, y los grupos establecen subárboles en un árbol; dividir usuarios que no están en un conjunto revocado R en subconjuntos disjuntos S_{i1},...S_{im} que tienen claves de subconjuntos asociadas L_{i1},...L_{im}; y cifrar la clave K de sesión con las claves de subconjuntos L_{i1},...L_{im} para hacer m versiones cifradas de la clave de sesión K, en que el árbol incluye una raíz y varios nodos, teniendo cada nodo al menos una etiqueta asociada, y en el que cada subconjunto incluye todas las hojas de un subárbol con raíces en algún nodo v_{i} que no están en el subárbol con raíces en algún otro nodo v_{j} que desciende de v_{i}.
El presente invento comprende adecuadamente un receptor potencialmente sin estado en un sistema multidifusión, que comprende: al menos un dispositivo de almacenamiento de datos que almacena varias etiquetas de nodos que no están en un trayecto directo entre el receptor y una raíz de un árbol que tiene una hoja que representa al receptor, pero que cuelga del trayecto directo y que son inducidos por algún nodo v_{i}, representando un antepasado de la hoja el receptor, estableciendo las etiquetas de información privada I_{u} del receptor utilizable por el receptor para descifrar claves de subconjuntos derivadas de las etiquetas.
Preferiblemente, el receptor calcula las claves de subconjuntos de todos los conjuntos excepto un conjunto de trayecto directo que tienen raíces en el nodo v_{i} evaluando una función seudoaleatoria, pero no pueden calcular ninguna otra clave de subconjunto.
Preferiblemente, el receptor descifra una clave de sesión usando al menos una clave de subconjunto, siendo útil la clave de sesión para descifrar el contenido.
El presente invento comprende adecuadamente un receptor de contenido, que comprende: medios para almacenar información derivada respectiva I_{u}; medios para recibir al menos una clave K de cifrado de sesión cifrada con varias claves de subconjuntos, cifrando la clave de sesión el contenido; y medios para obtener al menos una clave de subconjunto usando la información privada de tal modo que la clave de sesión K puede ser descifrada para reproducir el contenido.
Preferiblemente, el receptor está dividido en uno de un conjunto de grupos S_{i},...S_{w}, en los que "w" es un entero, y los grupos establecen subárboles en un árbol definiendo nodos y hojas.
Preferiblemente, subconjuntos S_{i1},...S_{im} derivados del conjunto de grupos S_{i},...S_{w} definen una cubierta.
\newpage
Preferiblemente, el receptor recibe el contenido en al menos un mensaje que define un encabezamiento, y el encabezamiento incluye como máximo r*log(N/r) claves de subconjuntos y cifrados, en los que r es el número de receptores en un conjunto revocado R y N es el número total de receptores.
Preferiblemente, el receptor debe almacenar log N claves, en las que N es el número total de receptores.
Preferiblemente, el receptor recibe el contenido en al menos un mensaje que define un encabezamiento, y en el que el receptor procesa el mensaje usando como máximo log log N operaciones más una única operación de descifrado, en la que N es el número total de receptores.
Preferiblemente, un conjunto revocado R define un árbol de expansión, y subárboles que tienen raíces unidas a nodos del árbol de expansión definen los subconjuntos.
Preferiblemente, al árbol incluye una raíz y varios nodos, teniendo cada nodo al menos una etiqueta asociada, y en el que cada subconjunto incluye todas las hojas de un subárbol con raíces en algún nodo v_{i} que no están en el subárbol con raíces en algún otro nodo v_{j} que desciende de v_{i}.
Preferiblemente, el receptor recibe el contenido en un mensaje que tiene un encabezamiento que incluye como máximo 2r-1 claves de subconjuntos y cifrados, donde r es el número de receptores en el conjunto revocado R.
Preferiblemente, el receptor debe almacenar 0,5log^{2}N + 0,5log N + 1 claves, en las que N es el número total de receptores.
Preferiblemente, el contenido es proporcionado al receptor en al menos un mensaje, y en el que el receptor procesa el mensaje usando como máximo log N operaciones más una única operación de descifrado, en la que N es el número total de receptores.
Preferiblemente, el receptor descifra la clave de subconjunto evaluando un generador de secuencia seudoaleatorio.
De modo adecuado, el presente invento comprende un receptor de contenido, que comprende: un almacenamiento de datos que almacena información derivada respectiva I_{u}; un dispositivo de tratamiento que recibe al menos una clave K de cifrado de sesión cifrada con varias claves de subconjuntos, cifrando la clave de sesión el contenido; obteniendo el dispositivo de tratamiento al menos una clave de subconjunto usando la información privada de tal modo que la clave de sesión K puede ser descifrada para reproducir el contenido.
Preferiblemente, el receptor está dividido en uno de un conjunto de grupos S_{1},...S_{w}, en los que "w" es un entero, y los grupos establecen subárboles en un árbol.
Preferiblemente, subconjuntos S_{i1},...S_{im} derivados del conjunto de grupos S_{1},...S_{w} definen una cubierta.
Preferiblemente, el receptor recibe el contenido en al menos un mensaje que define un encabezamiento, y el encabezamiento incluye como máximo r*log(N/r) claves de subconjuntos y cifrados, en el que r es el número de receptores en un conjunto revocado R y N es el número total de receptores.
Preferiblemente, el receptor debe almacenar log N claves, en las que N es el número total de receptores.
Preferiblemente, el receptor recibe el contenido en al menos un mensaje que define un encabezamiento, y en el que el receptor procesa el mensaje usando como máximo log log N operaciones más una única operación de descifrado, en la que N es el número total de receptores.
Preferiblemente, un conjunto revocado R define un árbol de expansión, y subárboles que tienen raíces unidas a nodos del árbol de expansión definen los subconjuntos.
Preferiblemente, el árbol incluye una raíz y varios nodos, teniendo cada nodo al menos una etiqueta asociada, y en el que cada subconjunto incluye todas las hojas de un subárbol con raíces en algún nodo v_{i} que no están en el subárbol con raíces en algún otro nodo v_{j} que desciende de v_{i}.
Preferiblemente, el receptor recibe el contenido en un mensaje que tiene un encabezamiento que incluye como máximo 2r-1 claves de subconjuntos y cifrados, donde r es el número de receptores en el conjunto revocado R.
Preferiblemente, el receptor debe almacenar 0,5log^{2}N + 0,5log N + 1 claves, en las que N es el número total de receptores.
Preferiblemente, el contenido es proporcionado al receptor en al menos un mensaje, y en el que el receptor procesa el mensaje usando como máximo log N operaciones más una única operación de descifrado, en la que N es el número total de receptores.
Preferiblemente, el receptor descifra la clave de subconjunto evaluando un generador de secuencia seudoaleatorio.
El presente invento comprende de modo adecuado un medio que contiene un mensaje de contenido de la forma general
<[i_{1}, i_{2},...,i_{m}, E_{Li1}(K), E_{Li2}(K),...,E_{Lim}(K)], F_{E}(M)>,
en la que K es una clave de sesión, F_{K} es un primitivo cifrado, E_{K} es un primitivo cifrado, L_{i} son claves de subconjuntos asociadas con subconjuntos de receptores en un sistema de transmisión de cifrado, M es un cuerpo de mensaje, e i_{1}, i_{2},...,i_{m} son subconjuntos de nodo de árbol que definen una cubierta.
Preferiblemente, el primitivo cifrado F_{K} es puesto en práctica mediante la aplicación de XOR al cuerpo de mensaje con una cifra de corriente generada por la clave de sesión K.
Preferiblemente, E_{L} es una especificación de prefijado-truncado de una cifra de bloques, 1 representa una cadena aleatoria cuya longitud es igual a la longitud del bloque de E_{L}, y K es una clave corta para F_{K}, y el mensaje es de la forma
<[i_{1}, i_{2},...,i_{m}, U, [Prefix_{-K-}E_{Li1}(U)]/K,..., [Prefix_{-K-}E_{Lim}(U)]/K], F_{E}(M)>
\vskip1.000000\baselineskip
Preferiblemente, 1/i_{1} está cifrado y el mensaje es de la forma
<[i_{1}, i_{2},...,i_{m}, U, [Prefix_{-L-}E_{Li1}(U/i_{1})]/K,..., [Prefix_{-L-}E_{Lim}(U/i_{m})]/K], F_{E}(M)>
\vskip1.000000\baselineskip
Preferiblemente, las claves de subconjuntos son derivadas de un árbol que incluye una raíz y varios nodos, teniendo cada nodo al menos una etiqueta asociada, y en el que cada subconjunto incluye todas las hojas de un subárbol con raíces en algún nodo v_{i} que no están en un subárbol con raíces en algún otro nodo v_{j} que desciende de v_{i}.
Preferiblemente, las claves de subconjuntos son derivadas de un árbol que incluye una raíz y varios nodos, teniendo cada nodo al menos una etiqueta asociada, y en el que cada subconjunto incluye todas las hojas de un subárbol con raíces en algún nodo v_{i}, estando asociado al menos cada nodo del subárbol con una clave de subconjunto respectiva.
Preferiblemente, el acto de dividir es realizado por un ordenador del sistema en un sistema de receptores separado del ordenador del sistema.
Preferiblemente, el acto de dividir es realizado por un ordenador del receptor.
Preferiblemente, el receptor deriva los subconjuntos en la cubierta.
El invento incluye de modo adecuado un sistema de ordenador para realizar la lógica del invento aquí descrita. El invento puede también ser puesto en práctica en un producto de programa de ordenador que almacena la lógica actual y que puede ser accedido por un procesador para ejecutar la lógica. También el invento puede incluir de modo adecuado un método implantado en un ordenador que sigue la lógica descrita a continuación.
El invento incluye de modo adecuado un método para agrupar usuarios en subconjuntos de usuarios (posiblemente solapándolos), teniendo cada subconjunto una única clave de subconjunto preferiblemente de vida larga, y asignando a cada usuario una información privada respectiva I_{u}. El método incluye también de modo adecuado seleccionar al menos una clave K cifrado de sesión preferiblemente de vida corta, y dividir a los usuarios que no están en un conjunto revocado R en subconjuntos disjuntos S_{i1},...S_{im} que tienen claves de subconjuntos asociadas L_{i1},...L_{im}. La clave de sesión K es cifrada adecuadamente con las claves de subconjuntos L_{i1},...L_{im} para hacer m versiones cifradas de la clave de sesión K. En un aspecto, los usuarios pueden establecer hojas en un árbol tal como un árbol binario completo, y los subconjuntos S_{i1},...S_{im} son inducidos por el árbol.
En una realización preferida, los usuarios son inicialmente divididos en grupos S_{1},...S_{w} en los que "w" es un entero. Una transmisión dada selecciona adecuadamente m de tales grupos como una "cubierta" para usuarios no revocados, estando definida la cubierta por el conjunto de usuarios revocados. Los grupos de "cubierta" establecen adecuadamente subárboles (o bien subárboles completos o bien una diferencia entre dos subárboles) en un árbol. Una información privada de usuario I_{u} es encontrada preferiblemente como información i_{j} en un mensaje transmitido que indica que un usuario pertenece a un subconjunto S_{ij} de uno de los grupos S_{1},...S_{w}. Una clave de subconjunto L_{ij} puede entonces ser obtenida a partir de la información privada del usuario o derivada usando la misma.
En una primera realización, denominada aquí como el método de "subárbol completo", grupos respectivos corresponden a todos los subárboles posibles en el árbol completo. Cada usuario tiene asignadas claves desde todos los nulos que están en un trayecto directo entre una hoja que representar al usuario y la raíz del árbol. En otras palabras, cada subconjunto S_{i} incluye todas las hojas de un subárbol con raíces en algún nodo v_{i}, estando asociado al menos cada nodo del subárbol con una clave de subconjunto respectiva. En esta realización, el contenido es proporcionado a los usuarios en un mensaje que define un encabezamiento, y el encabezamiento incluye como máximo r*log(N/r) claves de subconjuntos y cifrados, en el que r es el número de usuarios en el conjunto revocado R y N es el número total de usuarios. Además, cada usuario debe almacenar log N claves, y cada usuario procesa el mensaje usando como máximo log log N operaciones más una única operación de descifrado.
En una segunda realización, denominada aquí como el método "diferencia de subconjuntos", grupos de usuarios respectivos corresponden a un universo de conjuntos S_{1},...S_{w} que puede ser descrito como "un primer subárbol A menos un segundo subárbol B que está totalmente contenido en A". Cada nodo de este árbol tiene un conjunto de etiquetas, una única al nudo y otras que son inducidas por nodos antepasados. Cada usuario tiene etiquetas asignadas desde todos los nodos que cuelgan desde nodos en un trayecto directo entre el receptor y la raíz (como máximo log N etiquetas para cada uno de tales nodos) pero no desde los nodos en el propio trayecto directo. En otras palabras, cada subconjunto incluye todas las hojas de un subárbol con raíces en algún nodo v_{i}, que no están en un subárbol con raíces en algún otro nodo v_{j} que desciende desde v_{i}. Una de las etiquetas de los nodos de diferencia de subconjuntos para un usuario particular es proporcionada al usuario en una transmisión como esa información privada del usuario. Usando las etiquetas, el usuario puede generar las claves de subconjuntos necesaria para el descifrado.
En esta realización, el encabezamiento del mensaje incluye como máximo 2r-1 (1,25r de promedio) claves de subconjuntos y cifrados, cada usuario debe almacenar 0,5log^{2}N + 0,5log N + 1 claves, y cada usuario procesa el mensaje usando como máximo log N operaciones (preferiblemente aplicaciones de un generador seudoaleatorio) más una única operación de descifrado.
Como se ha descrito adicionalmente a continuación con respecto al método de diferencia de subconjuntos, el conjunto revocado R define un árbol de expansión. Un árbol de cubierta T es inicializado como el árbol de expansión, y a continuación el método elimina iterativamente nodos del árbol de cubierta T y añade subárboles al árbol de cubierta T hasta que el árbol de cubierta tiene como máximo un nodo. El árbol de cubierta T es usado para identificar claves de subconjuntos que han de ser usadas en una transmisión particular, con usuarios evaluando el generador de secuencia seudoaleatorio para derivar claves de subconjuntos a partir de las etiquetas. Preferiblemente, para procesar revocaciones con eficiencia son tratados de izquierda a derecha de tal modo que solamente deben ser conservadas en memoria dos revocaciones al mismo tiempo.
En algunas puestas en práctica específicas, el encabezamiento del mensaje incluye una función criptográfica E_{L}, y el método incluye el prefijado-truncado de la función de prefijo criptográfica E_{L}. Si se desea, partes del mensaje pueden ser cifradas con claves de sesión respectivas.
En otro aspecto, un dispositivo de programa de ordenador incluye de modo adecuado un dispositivo de almacenamiento de programa de ordenador que a su vez incluye un programa de instrucciones que puede ser usado por un ordenador. El programa incluye medios lógicos para acceder a un árbol para obtener varias claves de subconjuntos, y medios lógicos para cifrar un mensaje con una clave de sesión. Hay también previstos medios lógicos para cifrar la clave de sesión al menos una vez con cada una de las claves de subconjuntos para hacer versiones cifradas de la clave de sesión. A continuación, medios lógicos envían las versiones cifradas de las claves de sesión en un encabezamiento del mensaje a varios receptores sin estado.
Aún en otro aspecto, un ordenador está adecuadamente programado con instrucciones para hacer que el ordenador cifre el contenido de transmisión, y envíe el contenido de transmisión a varios receptores buenos sin estado y al menos a un receptor revocado de tal modo que cada receptor bueno sin estado pueda descifrar el contenido y el receptor revocado no pueda descifrar el contenido.
En otro aspecto, un receptor potencialmente sin estado u en un sistema de cifrado de transmisión incluye de modo adecuado un almacenamiento de datos que almacena información privada respectiva I_{u}, y un dispositivo de tratamiento que recibe una clave de cifrado de sesión K que está cifrada con varias claves de subconjuntos. La clave en la sesión cifra el contenido, obteniendo el dispositivo de tratamiento al menos una clave de subconjunto usando la información privada de tal modo que la clave de sesión K puede ser descifrada para reproducir el contenido. En una realización preferida, el receptor está dividido en uno de un conjunto de grupos S_{1},...S_{w} en los que "w" es un entero, y los grupos establecen subárboles en un árbol. Subconjuntos S_{i1},...S_{im} derivados del conjunto de grupos S_{1},...S_{w} definen una cubierta que es calculada por el receptor o por un ordenador del sistema. Preferiblemente, el árbol incluye una raíz y varios nodos, teniendo cada nodo al menos una etiqueta asociada. Cada subconjunto incluye todas las hojas de un subárbol con raíces en algún nodo v_{i} que no están en él subárbol con raíces en algún otro nodo v_{j} que desciende de v_{i}.
En otro aspecto, un medio contiene adecuadamente un mensaje de contenido de la forma general <[i_{1}, i_{2},...,i_{m}, E_{Li1}(K), E_{Li2}(K),...,E_{Lim}(K)], F_{E}(M)>, en el que K es una clave de sesión, F_{K} es un primitivo cifrado, E_{K} es un primitivo cifrado, L_{i} son claves de subconjuntos asociadas con subconjuntos de receptores en un sistema de transmisión de cifrado, M es un cuerpo de mensaje, e i_{1}, i_{2},...,i_{m} son subconjuntos de nodo de árbol que definen una cubierta.
Breve descripción de los dibujos
A continuación se describirán realizaciones preferidas del presente invento, a modo de ejemplo solamente, con referencia a los dibujos adjuntos, en los que:
La fig. 1 es un diagrama de bloques del sistema actual;
La fig. 2 es un diagrama de flujo de la lógica de cifrado completa;
La fig. 3 es un diagrama de flujo de la lógica de descifrado completa;
La fig. 4 es un diagrama de flujo de la parte de asignación de claves del letrado de subárbol completo;
La fig. 5 es un diagrama de flujo de la parte de cifrado del método de subárbol completo;
La fig. 6 es un diagrama de flujo de la parte de descifrado del método de subárbol completo;
La fig. 7 es un diagrama esquemático de un subconjunto de un subárbol completo;
La fig. 8 es un diagrama esquemático de un subconjunto en el método de diferencia de subconjuntos; y
La fig. 9 es otra forma de un diagrama esquemático del subconjunto en el método de diferencia de subconjuntos;
La fig. 10 es un diagrama de flujo de la lógica para definir una cubierta en el método de diferencia de subconjuntos;
La fig. 11 es un diagrama esquemático de un subconjunto de un árbol en el método de diferencia de subconjuntos, que ilustra asignación de claves;
La fig. 12 es un diagrama de flujo de las partes de descifrado del método de diferencia de subconjuntos;
La fig. 13 es un diagrama de flujo de la lógica para asignar claves en el método de diferencia de subconjuntos; y
La fig. 14 es un diagrama esquemático de un subconjunto de un árbol en el método de diferencia de subconjuntos.
Descripción detallada de las realizaciones preferidas
Con referencia inicialmente a la fig. 1, se ha mostrado un sistema, generalmente designado con 10, para generar conjuntos de claves en un sistema de protección de contenido de transmisión, tal como el sistema descrito en la patente antes referenciada pero no limitado al mismo. Con el término "transmisión" quiere significarse la amplia diseminación de un programa desde un proveedor de contenidos a muchos usuarios simultáneamente sobre cables (desde una fuente de satélite), o hilo, o radiofrecuencia (incluyendo desde una fuente de satélite), o desde discos de contenido ampliamente comercializados.
Como se ha mostrado, el sistema 10 incluye un ordenador 12 de definición del conjunto de claves que accede a un módulo 14 de definición de conjunto de claves que funciona de acuerdo con la descripción siguiente. Los conjuntos de claves definidos por el ordenador 12 son usados por dispositivos 16 reproductores-grabadores potencialmente sin estado, también denominados aquí como "receptores" y "usuarios", que tienen procesadores dentro de ellos para descifrar el contenido. El contenido junto con ciertas claves descritas a continuación es proporcionado a los dispositivos respectivos mediante, por ejemplo fabricantes de dispositivos 16 sobre medios 17. Un dispositivo reproductor-grabador puede acceder a su conjunto de claves para descifrar el contenido en medios o transmisión o hacerlo a través de comunicación inalámbrica. Como se ha usado aquí el término "medios" puede incluir pero no está limitado a los DVD, CD, unidades de disco duro y dispositivos de memoria "flash". En una realización alternativa, cada receptor 16 podría ejecutar el módulo 14 para realizar la operación de calcular la "cubierta" más abajo descrita al dárseles el conjunto de receptores revocados y realizar la lógica descrita a continuación.
Ha de comprenderse que el procesador asociado con el módulo 14 accede a los módulos para emprender la lógica mostrada y descrita a continuación, que puede ser ejecutada por un procesador como una serie de instrucciones ejecutables por ordenador. Dos métodos - el método de subárbol completo, y el método de diferencia de subconjuntos - están descritos aquí para usar el sistema 10 para revocar selectivamente la capacidad de los receptores comprometidos 16 para descifrar el contenido de transmisión sin revocar la capacidad de cualquier receptor 16 no comprometido para descifrar el contenido de transmisión.
Las instrucciones pueden estar contenidas en un dispositivo de almacenamiento de datos con un medio legible por ordenador, tal como un disquete de ordenador que tiene un medio utilizable por ordenador con elementos de código legibles por ordenador almacenados en él. O, las instrucciones pueden estar almacenadas en una agrupación DASD, cinta magnética, unida de disco duro tradicional, memoria electrónica solo de lectura, dispositivo de almacenamiento óptico, u otro dispositivo de almacenamiento de datos apropiado. En una realización ilustrativa del invento, las instrucciones ejecutables por ordenador pueden ser líneas de código compatible C++ compilado.
Además, los diagramas de flujo ilustran aquí la estructura de la lógica de una realización preferida del presente invento como realizada en software de programa de ordenador. Los expertos en la técnica apreciarán que los diagrama de flujo ilustran las estructuras de elementos de código de programa de ordenador que incluyen circuitos lógicos en un circuito integrado, que funciona de acuerdo con este invento. De modo manifiesto, el invento es puesto en práctica en su realización esencial por un componente de máquina que convierte los elementos de código de programa en una forma que instruye a un aparato de tratamiento digital (es decir un ordenador) a realizar una secuencia de actos de función correspondientes a los mostrados.
La lógica completa de una realización preferida del presente invento como es llevada a cabo tanto por el método de diferencia de subconjuntos como por el método de subárbol completo puede ser vista en referencia a la fig. 2. Con propósitos de la presente exposición, se supone que existen N receptores 16 en el sistema 10, y que es deseable ser capaz de revocar la capacidad de r receptores en un subconjunto receptor revocado R para descifrar el contenido incluso si los receptores revocados actúan en una coalición (compartiendo conocimiento de cifrado), de tal modo que cualquier receptor pueda aún descifrar contenido. Comenzando en el bloque 19, el sistema es iniciado asignando claves de subconjuntos de vida larga L_{1},...L_{w} a subconjuntos correspondientes en un universo de subconjuntos S_{1},...S_{w} en los que los receptores son agrupados de acuerdo con la exposición siguiente, teniendo así cada subconjunto S_{j} una clave de subconjunto de larga vida L_{j} asociada con él. En el primer método ("subárbol completo"), los subconjuntos que cubren receptores que no están en un conjunto revocado son simplemente los subconjuntos que son generados por la exposición siguiente. En el segundo método ("diferencia de subconjuntos"), los subconjuntos que cubren los receptores que no están en un conjunto revocado son definidos por la diferencia entre un primer subárbol y un subárbol menor que está totalmente dentro del primer subárbol como se ha descrito adicionalmente a
continuación.
En el bloque 20, el sistema es además iniciado suministrando a cada receptor u con información privada L_{u} que es útil para descifrar el contenido. Detalles de la información privada I_{u} son descritos adicionalmente a continuación. Si I_{u} es la información secreta proporcionada al receptor u, entonces cada receptor u en S_{j} puede deducir L_{j} de su I_{u}. Como se ha descrito más completamente a continuación, dado el conjunto revocado R, los receptores no revocados son divididos en m subconjuntos disjuntos S_{i1},...S_{im} y una clave de sesión K de vida corta es cifrada m veces con las claves de subconjuntos de vida larga L_{i1},...L_{im} asociadas con subconjunto respectivos S_{i1},...S_{im}. Las claves de subconjuntos son claves de subconjuntos explícitas en el método de subárbol completo y son inducidas por etiquetas de subconjunto en el método de diferencia de subconjuntos.
Específicamente, en el bloque 22 al menos una clave de sesión K es seleccionada con la que cifrar el contenido que es transmitido en un mensaje M, bien mediante trayectos de comunicación inalámbricos o por cable o bien mediante medios de almacenamiento tales como CD y DVD. La clave de sesión K es una cadena aleatoria de bits que es seleccionada de nuevo para cada mensaje. Si se desea, pueden usarse varias claves de sesión para cifrar partes respectivas del mensaje M.
En ambos métodos descritos a continuación, los receptores no revocados son divididos en subconjuntos disjuntos S_{i1},...S_{im} en el bloque 24 usando un árbol. Los subconjuntos son a veces denominados aquí como "subárboles", considerando el primer método explícitamente subárboles y siendo en lo que se refiere al segundo método subárboles de la forma "un primer subárbol menos un segundo subárbol totalmente contenido en el primero". Cada subconjunto S_{i1},...S_{im} está asociado con una clave de subconjunto respectiva L_{i1},...L_{im}. Aunque se ha considerado aquí cualquier estructura a modo de árbol de datos, con propósito de exposición se ha supuesto que el árbol es un árbol binario completo.
Continuando al bloque 26, en general la clave de sesión K es cifrada m veces, una vez con cada clave de subconjunto L_{i1},...L_{im.} El texto cifrado resultante que es transmitido puede ser representado como sigue, representando las partes entre paréntesis el encabezamiento del mensaje M y representando i_{1}, i_{2},..., i_{m} índices de los subconjuntos disjuntos:
<[i_{1}, i_{2},...,i_{m}, E_{Li1}(K), E_{Li2}(K),...,E_{Lim}(K)], F_{E}(M)>
En una realización, el primitivo cifrado F_{K} es puesto en práctica por aplicación de XOR al mensaje M con una cifra de corriente generada por la clave de sesión K. El primitivo cifrado E_{L} es un método para entregar la clave de sesión a los receptores 16, usando las claves de subconjuntos de larga vida. Ha de comprenderse que todos los algoritmos de cifrado para F_{K}, E_{L} están dentro del marco de una realización preferida del presente invento. Una puesta en práctica preferida de E_{L} puede ser una especificación de Prefijado-Truncado de una cifra de bloque. Se supone que 1 representa una cadena aleatoria cuya longitud es igual a la longitud del bloque de E_{L}, y se supone que K es una clave corta para la cifra F_{K} cuya longitud es por ejemplo de 56 bits. A continuación, [Prefix_{-K-}E_{L}(1)/K] proporciona un cifrado fuerte. Por consiguiente, el encabezamiento de Prefijo-Truncado resulta:
<[i_{1}, i_{2},...,i_{m}, U, [Prefix_{-K-}E_{Li1}(U)]/K,..., [Prefix_{-K-}E_{Lim}(U)]/K], F_{E}(M)>
Esto reduce ventajosamente la longitud del encabezamiento a aproximadamente m-K- bits en vez de m-L-. En el caso en que la longitud de clave de E_{L} es mínima, puede usarse lo siguiente para eliminar el factor de ventaja m que un adversario tiene en un ataque con fuerza bruta lo que procede como resultado de cifrar la misma cadena 1 con m claves diferentes. La cadena 1/i_{j} está cifrada. Es decir:
<[i_{1}, i_{2},...,i_{m}, U, [Prefix_{-L-}E_{Li1}(U/i_{1})]/K,...,[Prefix_{-L-}E_{Lim}(U/i_{m})]/K], F_{E}(M)>
Habiendo descrito modos preferidos, no limitativos para poner en práctica los primitivos E y F de cifrado, la atención se dirige ahora a la fig. 3, que muestra la lógica de descifrado realizada por los receptores 16. Comenzando en el bloque 28, cada receptor u no revocado encuentra un identificador de subconjunto i_{j} en el texto cifrado de tal modo que pertenece al subconjunto S_{ij}. Como se ha descrito adicionalmente a continuación, si el receptor está en el conjunto revocado R, el resultado del bloque 28 será nulo. A continuación, en el bloque 30 el receptor extrae la clave de subconjunto L_{ij} correspondiente al subconjunto S_{ij} usando su información privada I_{u}. Usando la clave de subconjunto, la clave de sesión K es determinada en el bloque 32, y a continuación el mensaje es descifrado en el bloque 34 usando la clave de sección K.
A continuación se han descrito dos métodos preferidos para realizar la lógica completa antes descrita. En cada uno, la colección de subconjuntos es especificada, como lo es el modo en que las claves son asignadas a los subconjuntos y un método para cubrir receptores no revocados usando subconjuntos disjuntos de la colección. En cada uno, el conjunto de receptores en el sistema establece las hojas de un árbol, tal como un árbol binario completó pero no estando limitado al mismo.
El primer método que se va a describir es el método de subárbol completo mostrado en las figs. 4-7. Comenzando en el bloque 36 en la fig. 4, una clave de subconjunto independiente y aleatoria L_{i} es asignada a cada nodo v_{i} en el árbol. Esta clave de subconjunto L_{i} corresponde a un subconjunto que contiene todas las hojas con raíces en el nodo v_{i}. A continuación, en el bloque 38, cada receptor u es provisto con todas las claves de subconjuntos en el trayecto directo desde el receptor a la raíz. Como se ha ilustrado a modo de referencia en la fig. 7, los receptores u en el subconjunto S_{i} son proporcionados con la clave de subconjunto L_{i} asociada con el nodo v_{i}, así como con las claves asociadas con el nodo P, que se encuentra entre los receptores en S_{i} y la raíz del árbol.
Cuando se desea enviar un mensaje y revocar la capacidad de algunos receptores para descifrar el mensaje, la lógica de la fig. 5 es invocada para la división de receptores no revocados en subconjuntos disjuntos. Comenzando en el bloque 40, un árbol de expansión es descubierto que está definido por las hojas en R, el conjunto de receptores revocados. El árbol de expansión es el subárbol mínimo del árbol binario completo que conecta las hojas "revocadas", y puede ser un árbol de Steiner. Continuando al bloque 42, los subárboles que tienen raíces adyacentes a nodos de grado uno en el árbol (es decir nodos que son directamente adyacentes al árbol mínimo) están identificados. Estos subárboles definen una "cubierta" y establecen los subconjuntos S_{i1},...S_{im}. La cubierta abarca a todos los receptores no revocados. Por consiguiente, en el bloque 44 la clave de sesión K es cifrada usando las claves de subconjuntos definidas por la cubierta.
Para descifrar el mensaje, cada receptor invoca a la lógica de la fig 6. Comenzando en el bloque 46, se ha determinado si cualquier nodo antepasado del receptor está asociado con una clave de subconjunto de la cubierta determinando si cualquier nodo antepasado está entre el conjunto i_{1}, i_{2},..., i_{m} en el encabezamiento del mensaje. La información privada del receptor I_{u}, que en el método del subárbol completo consiste de su posición en el árbol y claves de subconjuntos asociadas a nodos antepasados, es usada para determinar este. Si se ha encontrado un antepasado en el encabezamiento de mensaje (indicando que el receptor es un receptor no revocado), la clave de sesión K es descifrada en el bloque 48 usan-
do la clave de subconjunto, y a continuación el mensaje es descifrado usando la clave de sesión K en el bloque 50.
En el método del subárbol completo, el encabezamiento incluye como máximo r*log(N/r) claves de subconjuntos y cifrados. Este es también el número de claves y cifrados promedio. Además, cada receptor debe almacenar log N claves, y cada receptor procesa el mensaje usando como máximo log log N operaciones más una única operación de descifrado.
Con referencia ahora a las figs. 8-13, puede ser visto el método de diferencia de subconjuntos para revocar receptores. En el método de diferencia de subconjuntos, cada receptor debe almacenar relativamente más claves (0,5log^{2} N + 0,5log N +1 claves)que en el método de subárbol completo, pero el encabezamiento del mensaje incluye sólo como máximo 2r-1 claves de subconjuntos y cifrados (1,25r de promedio), y éste es sustancialmente más corto que en el método de subárbol completo. También, en el método de diferencia de subconjuntos, el mensaje es procesado usando como máximo log N aplicaciones de un generador de números seudoaleatorio más una sola operación de descifrado.
Con referencia a las figs. 8 y 9, el método de diferencia de subconjuntos considera los subconjuntos como la diferencia entre un subconjunto A mayor y un subconjunto B menor que está totalmente contenido en A. Por consiguiente, como se ha mostrado un subárbol mayor tiene raíces en el nodo v_{i} y un subárbol menor tiene raíces en el nodo v_{j} que desciende desde v_{i}. El subconjunto resultante S_{ij} consiste de todas las hojas "sí" bajo v_{i} excepto para aquellas hojas etiquetadas "no" (y coloreadas más oscuras que las hojas etiquetadas "sí") bajo v_{j}. La fig. 9 ilustra esto, estando representado el subconjunto v_{i,j} por el área situada dentro del triángulo mayor y fuera del triángulo menor.
Cuando se ha deseado enviar un mensaje y revocar la capacidad de algunos receptores para descifrar el mensaje en el método de diferencia de subconjuntos, la estructura antes descrita es usada como se ha mostrado en la fig. 10. Comenzando en el bloque 52, se ha descubierto que un árbol de expansión está definido por las hojas en R, el conjunto de receptores revocados. El árbol de expansión es el subárbol mínimo del árbol binario completo que conecta las hojas "revocadas", y puede ser un árbol de Steiner. Continuando al bloque 54, un árbol de cubierta T es inicializado como el árbol de expansión. Un bucle iterativo comienza entonces en el que son retirados nodos del árbol de cubierta y son añadidos subárboles a la cubierta hasta que el árbol de cubierta T tiene como máximo un nodo. La salida define la cubierta para los receptores no revocados.
Más específicamente, moviéndose desde el bloque 54 al bloque 56, las hojas v_{i} y v_{j} son encontradas en el árbol de cubierta de tal modo que su antepasado menos común v no contiene otras hojas en T. En el diamante de decisión 57 se ha determinado si sólo existe una hoja en el árbol de cubierta T. Si existe más de una sola hoja, la lógica se mueve al bloque 58 para encontrar nodos v_{i}, v_{k} en v, de tal modo que v_{i} desciende desde v_{1} y v_{j} desciende desde v_{k} y de tal modo que v_{1}, v_{k} son hijos de v (es decir descendientes directos de v sin ningún nodo de intervención entre v y v_{1}, v_{k}). En contraste, cuando sólo existe una única hoja en T, la lógica se mueve desde el diamante de decisión 57 al bloque 60 para ajustar v_{i} = v_{j} = única hoja restante, colocar v en la raíz de T, y ajustar v_{1} = v_{k} = raíz.
Desde el bloque 58 o 60 la lógica se mueve al diamante de decisión 62. En el diamante de decisión 62, se ha determinado si v_{1} es igual a v_{i}. Si v_{1} no es igual a v_{i} la lógica se mueve al bloque 64 para añadir el subconjunto S_{1,i} a T, retirar de T todos los descendientes de v y hacer v una hoja. De modo similar, si v_{k} no es igual a v_{j} la lógica se mueve al bloque 64 para añadir el subconjunto S_{k,j} a T, retirar todos los descendientes de v, y hacer v una hoja. Desde el bloque 64 o desde el diamante de decisión 62 cuando no se ha determinado una desigualdad, la lógica forma un bucle de nuevo al bloque 56.
Con la anterior vista completa del método de asignación de claves por diferencia de subconjuntos en mente, se describe a continuación una puesta en práctica particularmente preferida. Mientras el número de subconjuntos total a los que pertenece un receptor es tan grande como N, estos subconjuntos pueden ser agrupados en log N grupos definidos por el primer subconjunto i (desde el que es sustraído otro subconjunto). Para cada 1<i<N correspondiente a un nodo interior en el árbol completo, es seleccionada una etiqueta independiente y aleatoria LABEL_{1}, que induce a las etiquetas para todos los subconjuntos legitimados de la forma S_{i,j}. A partir de las etiquetas, son derivadas las claves de subconjuntos. La fig. 11 ilustra el método de etiquetado preferido descrito a continuación. El nodo etiquetado L_{i} es la raíz del subárbol T, y sus descendientes son etiquetados de acuerdo con los principios actuales.
Si G es un generador de secuencia criptográfico seudoaleatorio que triplica la longitud de entrada, G_L(S) indica el tercero por la izquierda de la salida de G en la semilla S, G_R(S) indica el tercero por la derecha, y G_M(S) indica el tercero en el centro. Considerando el subárbol T_{i} del árbol de cubierta T con raíces en el nodo v_{i} con etiqueta LABEL_{i}. Si éste nodo está etiquetado S, sus dos hijos son etiquetados G_L(S) y G_R(S) respectivamente. La clave de subconjunto L_{i,j} asignada al conjunto S_{i,j} es la G_M de la etiqueta LABEL_{i,j}, de nodo v_{j} derivada del subárbol T_{i}. Obsérvese que cada etiqueta S induce tres partes, en particular, las etiquetas para los hijos izquierdo y derecho, y la clave del nodo. Por consiguiente, dada la etiqueta de un nodo es posible calcular las etiquetas y claves de todos sus descendientes. En una realización preferida, la función G es una función de cálculo de clave ("hash") criptográfica tal como el Algoritmo-1 de Cálculo de Clave Seguro (SHA-1), aunque pueden usarse otras funciones.
La fig. 12 muestra cómo los receptores descifran mensajes en el método de diferencia de subconjuntos. Comenzando en el bloque 66, el receptor encuentra el subconjunto S_{i,j} al que pertenece, junto con la etiqueta asociada (que es parte de la información privada del receptor que le permite derivar la LABEL_{i,j} y la clave de subconjuntos L_{i,j}). Usando la etiqueta, al receptor calcula la clave de subconjunto L_{i,j} evaluando la función G como máximo N veces en el bloque 68. A continuación, el receptor usa la clave de subconjuntos para descifrar la clave de sesión K en el bloque 70 para un subsiguiente descifrado de mensaje.
La fig. 13 muestra cómo las etiquetas y, por tanto las claves de subconjuntos, son asignadas a receptores en el método de diferencia de subconjuntos. El método de etiquetado descrito aquí es usado para minimizar el número de claves que cada receptor debe almacenar.
Comenzando en el bloque 72, cada receptor está provisto con etiquetas de nodos que no están en el trayecto directo entre el receptor y la raíz pero que "cuelgan" del trayecto directo y que son inducidas por alguno nodo v_{i}, un antepasado de u. Estas etiquetas establecen la información privada I_{u} del receptor en el bloque 74, siendo cifradas subsiguientes claves de sesión de mensajes con claves de subconjuntos derivadas de las etiquetas en el bloque 76.
Con referencia brevemente a la fig. 14, se ha ilustrado el principio anterior. Para cada v_{i} antepasado con etiqueta S de un receptor u, el receptor u recibe etiquetas en todos los nodos 71 que están colgando del trayecto directo desde el nodo v_{i} al receptor u. Como se ha descrito adicionalmente a continuación, estas etiquetas están derivadas todas preferiblemente desde S. En marcado contraste con el método de subárbol completo, en el método de diferencia de subconjuntos ilustrado en las figs. 8-14 el receptor u no recibe etiquetas desde ningún nodo 73 que está en el trayecto directo desde el receptor u al nodo v_{i}. Usando las etiquetas, el receptor u puede calcular las claves de subconjuntos de todos los conjuntos (excepto el conjunto de trayecto directo) que tienen raíces en el nodo v_{i} evaluando la función G antes descrita, pero no puede calcular ninguna otra clave de subconjunto.
Los sistemas multidifusión tradicionales carecen de secreto hacia atrás, es decir un receptor que escucha constantemente que ha sido revocado sin embargo puede grabar todos los contenidos cifrados, y luego alguna vez en el futuro ganar una clave nueva válida (por ejemplo, mediante un nuevo registro) que permite el descifrado del contenido pasado. Una realización preferida del presente invento puede ser usada en tales escenarios para curar la falta de secreto hacia atrás incluyendo, en el conjunto de receptores revocados todas las identidades de receptores que no han sido aún asignadas. Esto puede hacerse si todo los receptores están asignados a hojas en orden consecutivo. En este caso, la revocación de todas las identidades sin asignar da como resultado un aumento moderado en el tamaño del encabezamiento del mensaje, pero no proporcionalmente al número de tales identidades.
Una realización preferida del presente invento también reconoce que es deseable tener codificaciones concisas de los subconjuntos i_{j} en el encabezamiento de mensaje y proporcionar un modo rápido para que un receptor determine si pertenece a un subconjunto i_{j}. Se supone que un nodo está indicado por su trayecto a la raíz, con 0 indicando una rama izquierda y 1 indicando una rama derecha. El final del trayecto está indicado por un 1 seguido por cero o más bits 0. Así, la raíz es 1000...000b, el hijo más a la derecha de la raíz es 01000...000b, el hijo más a la izquierda es 11000...000b, y una hoja es xxxx...xxxx1b.
Como se ha reconocido aquí, el trayecto de una raíz de subárbol mayor es un subconjunto del trayecto de una raíz de subárbol menor, de modo que la diferencia de subconjuntos puede ser indicada por la raíz del menor subárbol más la longitud del trayecto a la raíz del mayor subárbol. Con esto en mente, un receptor puede determinar rápidamente si está en un subconjunto dado ejecutando el siguiente bucle del procesador Intel Pentium®.
Fuera del bucle, se ajustan los siguientes registros: ECX contiene el nodo de hoja del receptor, ESI apunta a la memoria tampón del mensaje (el primer byte es la longitud del trayecto a la raíz del mayor subárbol y los siguientes cuatro bytes son la raíz del árbol menor), y una tabla estática emite 32 bits cuando es indexada por la longitud del trayecto, siendo los primeros bits de longitud 1 y siendo los bits restantes 0.
bucle: MOV BYTE EBX, [ESI++]
MOV DWORD EAX, [ESI++]
XOR EAX, ECX
AND EAX, TABLE[EBX]
JNZ bucle
Si un receptor cae fuera del bucle, eso no significa necesariamente que pertenezca al subconjunto particular. Podría estar en el subárbol menor excluido, y si es así, debe volver al bucle. Sin embargo, como en la vasta mayoría de casos el receptor no está incluso ni en el subárbol mayor, casi no se gasta tiempo de tratamiento en el bucle.
En otra optimización del método de diferencia de subconjuntos, el servidor del sistema no tiene que recordar cada etiqueta y todas ellas, lo que podría convertirse en millones. En vez de ello la etiqueta del 1^{er} nodo puede ser una función secreta del nodo. La función secreta podría ser un cifrado triple DES que usa una clave secreta para hacer la etiqueta del 1 nodo cuando es aplicada al número i.

Claims (11)

1. Un método para cifrado o codificado de transmisión, que comprende: asignar a cada usuario en un grupo de usuarios información privada respectiva I_{u}; seleccionar al menos una clave de cifrado de sesión K; dividir a los usuarios que no están en un conjunto revocado R en subconjuntos disjuntos S_{i1},...S_{im} que tienen claves de subconjuntos asociadas L_{i1},...L_{im}; y cifrar la clave de sesión K con las claves de subconjuntos L_{i1},...L_{im} para hacer m versiones cifradas de la clave de sesión K.
2. El método según la reivindicación 1, que comprende además dividir a los usuarios en grupos S_{1},...S_{w}, en los que "w" es un entero, y los grupos establecen subárboles en un árbol.
3. El método según la reivindicación 2, en el que cada subconjunto S_{i1},...S_{im} incluye todas las hojas de un subárbol con raíces en algún nodo v_{i}, estando asociado al menos cada nodo en el subárbol con una clave de subconjunto respectiva.
4. El método según la reivindicación 3, en el que el contenido es proporcionado a los usuarios en al menos un mensaje que define un encabezamiento, y el encabezamiento incluye como máximo r*log(N/r) claves de subconjuntos y cifrados, en los que r es el número de usuarios en el conjunto revocado R y N es el número total de usuarios.
5. El método según la reivindicación 3, en el que el conjunto revocado R define un árbol de expansión, y los subconjuntos que tienen raíces unidas a nodos del árbol de expansión definen los subconjuntos.
6. El método según cualquiera de las reivindicaciones 2 a 5, en el que el árbol incluye una raíz y varios nodos, teniendo cada nodo al menos una etiqueta asociada, y en el que cada subconjunto incluye todas las hojas de un subárbol con raíz en algún nodo v_{i} que no está en él subárbol con raíces en algún otro nodo v_{j} que desciende desde v_{i}.
7. El método según la reivindicación 6, en el que el contenido es proporcionado a los usuarios en al menos un mensaje que define un encabezamiento, y el encabezamiento incluye como máximo 2r-1 claves de subconjuntos y cifrados, en la que r es el número de usuarios en el conjunto revocado R.
8. El método según cualquiera de las reivindicaciones 6 a 7, en el que el conjunto revocado R define un árbol de expansión, y en el que el método incluye: inicializar un árbol de cubierta T como el árbol de expansión; retirar iterativamente nodos desde el árbol de cubierta T y añadir nodos a una cubierta hasta que el árbol de cubierta T tiene como máximo un nodo.
9. El método según cualquiera de las reivindicaciones 6 a 8, en el que cada nodo tiene al menos una etiqueta inducida posiblemente por al menos uno de sus antepasados, y en el que cada usuario tiene asignadas etiquetas desde todos los nodos que cuelgan de un trayecto directo entre el usuario y la raíz pero no desde nodos en el trayecto directo.
10. Un programa de ordenador que comprende un código de programa de ordenador para, cuando es cargado en un sistema de ordenador y ejecutado, hace que dicho sistema de ordenador realice las operaciones de un método según se ha reivindicado en cualquiera de las reivindicaciones 1 a 9.
11. Un aparato para cifrado de transmisión, que comprende: medios para asignar a cada usuario en un grupo de usuarios de información privada I_{u} respectiva de usuarios; medios para seleccionar al menos una clave de cifrado de sesión K; medios para dividir a los usuarios que no están en un conjunto revocado R en subconjuntos disjuntos S_{i1},...S_{im} que tienen claves de subconjuntos asociadas L_{i1},...L_{im}; y medios para cifrar las claves de sesión K con las claves de subconjuntos L_{i1},...L_{im} para hacer m versiones cifradas de la clave de sesión K.
ES02710108T 2001-01-26 2002-01-23 Método para la codificación de transmisiones Expired - Lifetime ES2334109T5 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US770877 2001-01-26
US09/770,877 US7039803B2 (en) 2001-01-26 2001-01-26 Method for broadcast encryption and key revocation of stateless receivers
PCT/GB2002/000305 WO2002060116A2 (en) 2001-01-26 2002-01-23 Method for broadcast encryption

Publications (2)

Publication Number Publication Date
ES2334109T3 true ES2334109T3 (es) 2010-03-05
ES2334109T5 ES2334109T5 (es) 2013-05-03

Family

ID=25089976

Family Applications (1)

Application Number Title Priority Date Filing Date
ES02710108T Expired - Lifetime ES2334109T5 (es) 2001-01-26 2002-01-23 Método para la codificación de transmisiones

Country Status (11)

Country Link
US (4) US7039803B2 (es)
EP (1) EP1354443B2 (es)
JP (1) JP2004520743A (es)
KR (1) KR100543630B1 (es)
CN (2) CN1976277B (es)
AT (1) ATE445269T1 (es)
AU (1) AU2002228163A1 (es)
DE (1) DE60233929D1 (es)
ES (1) ES2334109T5 (es)
TW (1) TWI264208B (es)
WO (1) WO2002060116A2 (es)

Families Citing this family (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU779440B2 (en) * 2000-06-21 2005-01-27 Sony Corporation Information recording/reproducing apparatus and method
WO2002047388A2 (en) 2000-11-14 2002-06-13 Scientific-Atlanta, Inc. Networked subscriber television distribution
US8127326B2 (en) 2000-11-14 2012-02-28 Claussen Paul J Proximity detection using wireless connectivity in a communications system
JP4581246B2 (ja) * 2000-12-26 2010-11-17 ソニー株式会社 情報処理システム、および情報処理方法、並びにプログラム記録媒体
US7421082B2 (en) * 2000-12-28 2008-09-02 Sony Corporation Data delivery method and data delivery system using sets of passkeys generated by dividing an encryption key
JP4281252B2 (ja) * 2001-01-16 2009-06-17 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム記憶媒体
US9520993B2 (en) 2001-01-26 2016-12-13 International Business Machines Corporation Renewable traitor tracing
US7039803B2 (en) * 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
US7590247B1 (en) 2001-04-18 2009-09-15 Mcafee, Inc. System and method for reusable efficient key distribution
US7043024B1 (en) * 2001-04-18 2006-05-09 Mcafee, Inc. System and method for key distribution in a hierarchical tree
FR2824212A1 (fr) * 2001-04-25 2002-10-31 Thomson Licensing Sa Procede de gestion d'une cle symetrique dans un reseau de communication et dispositifs pour la mise en oeuvre
US7181620B1 (en) * 2001-11-09 2007-02-20 Cisco Technology, Inc. Method and apparatus providing secure initialization of network devices using a cryptographic key distribution approach
JP3917507B2 (ja) * 2002-01-28 2007-05-23 株式会社東芝 コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、不正ユーザ特定方法、暗号化装置、復号装置及びプログラム
US7340603B2 (en) * 2002-01-30 2008-03-04 Sony Corporation Efficient revocation of receivers
JP3818503B2 (ja) * 2002-04-15 2006-09-06 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7092527B2 (en) * 2002-04-18 2006-08-15 International Business Machines Corporation Method, system and program product for managing a size of a key management block during content distribution
US7400732B2 (en) * 2002-07-25 2008-07-15 Xerox Corporation Systems and methods for non-interactive session key distribution with revocation
US7516470B2 (en) 2002-08-02 2009-04-07 Cisco Technology, Inc. Locally-updated interactive program guide
US7908625B2 (en) 2002-10-02 2011-03-15 Robertson Neil C Networked multimedia system
US7545935B2 (en) * 2002-10-04 2009-06-09 Scientific-Atlanta, Inc. Networked multimedia overlay system
US7360235B2 (en) 2002-10-04 2008-04-15 Scientific-Atlanta, Inc. Systems and methods for operating a peripheral record/playback device in a networked multimedia system
US8046806B2 (en) 2002-10-04 2011-10-25 Wall William E Multiroom point of deployment module
GB2394803A (en) * 2002-10-31 2004-05-05 Hewlett Packard Co Management of security key distribution using an ancestral hierarchy
US7305711B2 (en) * 2002-12-10 2007-12-04 Intel Corporation Public key media key block
US7450722B2 (en) * 2002-12-13 2008-11-11 General Instrument Corporation Subset difference method for multi-cast rekeying
US20040128259A1 (en) * 2002-12-31 2004-07-01 Blakeley Douglas Burnette Method for ensuring privacy in electronic transactions with session key blocks
US7801820B2 (en) * 2003-01-13 2010-09-21 Sony Corporation Real-time delivery of license for previously stored encrypted content
US8094640B2 (en) 2003-01-15 2012-01-10 Robertson Neil C Full duplex wideband communications system for a local coaxial network
RU2369024C2 (ru) * 2003-01-15 2009-09-27 Панасоник Корпорэйшн Система защиты информационного содержания, устройство генерации данных ключей и устройство воспроизведения
JP2004220317A (ja) * 2003-01-15 2004-08-05 Sony Corp 相互認証方法、プログラム、記録媒体、信号処理システム、再生装置および情報処理装置
ES2352052T3 (es) * 2003-01-15 2011-02-15 Panasonic Corporation Sistema de protección de contenido, aparato terminal, método del aparato terminal y soporte de registro.
US7487532B2 (en) 2003-01-15 2009-02-03 Cisco Technology, Inc. Optimization of a full duplex wideband communications system
US8261063B2 (en) * 2003-02-03 2012-09-04 Hewlett-Packard Development Company, L.P. Method and apparatus for managing a hierarchy of nodes
JP3788438B2 (ja) * 2003-03-24 2006-06-21 ソニー株式会社 情報記録媒体、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
KR100974449B1 (ko) * 2003-04-24 2010-08-10 엘지전자 주식회사 광디스크의 복사 방지 정보 관리방법
KR20040092649A (ko) * 2003-04-24 2004-11-04 엘지전자 주식회사 광디스크의 복사 방지 정보 관리방법
KR100974448B1 (ko) * 2003-04-24 2010-08-10 엘지전자 주식회사 광디스크의 복사 방지 정보 관리방법
KR100972831B1 (ko) * 2003-04-24 2010-07-28 엘지전자 주식회사 엔크립트된 데이터의 보호방법 및 그 재생장치
WO2004107635A2 (en) * 2003-05-21 2004-12-09 Docomo Communications Laboratories Usa, Inc. Broadcast encryption using rsa
EP1629382A4 (en) * 2003-06-02 2011-12-21 Liquid Machines Inc MANAGING DATA OBJECTS IN DYNAMIC, DISTRIBUTED AND COLLABORATIVE CONTEXTS
CN1833400B (zh) * 2003-08-05 2011-12-28 松下电器产业株式会社 著作权保护系统
US7610485B1 (en) * 2003-08-06 2009-10-27 Cisco Technology, Inc. System for providing secure multi-cast broadcasts over a network
CN1849660A (zh) * 2003-09-10 2006-10-18 皇家飞利浦电子股份有限公司 内容保护方法和系统
US7813512B2 (en) * 2003-10-16 2010-10-12 Panasonic Corporation Encrypted communication system and communication device
KR20050078773A (ko) * 2004-02-02 2005-08-08 삼성전자주식회사 브로드캐스트 암호화 방법을 위한 사용자 키 할당 방법
US7499550B2 (en) * 2004-02-09 2009-03-03 International Business Machines Corporation System and method for protecting a title key in a secure distribution system for recordable media content
JP4635459B2 (ja) * 2004-03-15 2011-02-23 ソニー株式会社 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2005286959A (ja) * 2004-03-31 2005-10-13 Sony Corp 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
US8300824B1 (en) * 2004-04-08 2012-10-30 Cisco Technology, Inc. System and method for encrypting data using a cipher text in a communications environment
US8175278B2 (en) * 2004-05-12 2012-05-08 Telefonaktiebolaget L M Ericsson (Publ) Key management messages for secure broadcast
US8249258B2 (en) * 2004-06-07 2012-08-21 National Institute Of Information And Communications Technology Communication method and communication system using decentralized key management scheme
JP4162237B2 (ja) * 2004-06-24 2008-10-08 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム
EP1762080A1 (en) * 2004-06-24 2007-03-14 International Business Machines Corporation Access control over multicast
US7266548B2 (en) * 2004-06-30 2007-09-04 Microsoft Corporation Automated taxonomy generation
KR100579515B1 (ko) * 2004-10-08 2006-05-15 삼성전자주식회사 브로드캐스트 암호화를 위한 키 생성 장치 및 방법
US7516326B2 (en) * 2004-10-15 2009-04-07 Hewlett-Packard Development Company, L.P. Authentication system and method
US7454021B2 (en) * 2004-10-29 2008-11-18 Hewlett-Packard Development Company, L.P. Off-loading data re-encryption in encrypted data management systems
EP1813049A1 (en) 2004-11-16 2007-08-01 Telefonaktiebolaget LM Ericsson (publ) Improved key distribution in systems for selective access to information
TWI277870B (en) * 2004-11-22 2007-04-01 Toshiba Corp Copyright management method, information recording/reproducing method and device, and information recording medium and method of manufacturing the medium
US8090105B2 (en) * 2004-11-24 2012-01-03 International Business Machines Corporation Broadcast encryption with dual tree sizes
US20060126831A1 (en) * 2004-12-14 2006-06-15 Cerruti Julian A Systems, methods, and media for adding an additional level of indirection to title key encryption
KR100811046B1 (ko) * 2005-01-14 2008-03-06 엘지전자 주식회사 브로드캐스트/멀티캐스트 서비스에서 디지털 저작권관리방법
JP4599194B2 (ja) * 2005-03-08 2010-12-15 株式会社東芝 復号装置、復号方法、及びプログラム
KR100717005B1 (ko) * 2005-04-06 2007-05-10 삼성전자주식회사 폐기 키를 결정하는 방법 및 장치와 이것을 이용하여복호화하는 방법 및 장치
KR100970391B1 (ko) 2005-04-19 2010-07-15 삼성전자주식회사 브로드 캐스트 암호화 시스템에서의 태그 형성방법
WO2006112635A1 (en) 2005-04-19 2006-10-26 Samsung Electronics Co., Ltd Tag generation method in broadcast encryption system
KR100765750B1 (ko) * 2005-05-09 2007-10-15 삼성전자주식회사 브로드캐스트 암호화 방식에 따라 효율적으로암호화/복호화하는 방법 및 장치
US20060265338A1 (en) * 2005-05-17 2006-11-23 Rutkowski Matt F System and method for usage based key management rebinding using logical partitions
KR100708133B1 (ko) * 2005-05-25 2007-04-17 삼성전자주식회사 브로드캐스트 암호화 방식에 따라 효율적으로암호화/복호화하는 방법 및 장치
KR100708134B1 (ko) * 2005-05-25 2007-04-17 삼성전자주식회사 브로드캐스트 암호화 방식에 따라 효율적으로암호화/복호화하는 방법 및 장치
KR101152311B1 (ko) * 2005-06-09 2012-06-11 삼성전자주식회사 트리 토폴로지 네트워크 구조에서의 브로드 캐스트암호화를 위한 키 관리방법
US20090210701A1 (en) * 2005-06-23 2009-08-20 Junbiao Zhang Multi-Media Access Device Registration System and Method
US20070011735A1 (en) * 2005-07-06 2007-01-11 Cable Television Laboratories, Inc. Open standard conditional access system
US7876998B2 (en) 2005-10-05 2011-01-25 Wall William E DVD playback over multi-room by copying to HDD
US7523304B2 (en) * 2005-11-22 2009-04-21 Ntt Docomo, Inc. Generation of set coverings with free riders, and generation of ordered sets of meeting points, in systems which include, but are not limited to, systems for broadcast encryption and systems for certificate revocation
KR100803596B1 (ko) 2005-11-25 2008-02-19 삼성전자주식회사 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치
US8306026B2 (en) * 2005-12-15 2012-11-06 Toshiba America Research, Inc. Last hop topology sensitive multicasting key management
US8176568B2 (en) 2005-12-30 2012-05-08 International Business Machines Corporation Tracing traitor coalitions and preventing piracy of digital content in a broadcast encryption system
US7865612B2 (en) * 2006-01-31 2011-01-04 Genband Us Llc Method and apparatus for partitioning resources within a session-over-internet-protocol (SoIP) session controller
US7861003B2 (en) 2006-01-31 2010-12-28 Genband Us Llc Adaptive feedback for session over internet protocol
US7860990B2 (en) 2006-01-31 2010-12-28 Genband Us Llc Session data records and related alarming within a session over internet protocol (SOIP) network
KR100729139B1 (ko) * 2006-02-13 2007-06-18 고려대학교 산학협력단 브로드캐스트 암호화를 위한 모듈화 방법
FR2897736B1 (fr) * 2006-02-22 2008-04-11 Viaccess Sa Procede d'etablissement d'une cle cryptographique, tete de reseau et recepteur pour ce procede, et procede de transmission de signaux
FR2899748B1 (fr) * 2006-04-07 2008-11-28 Thales Sa Schema de diffusion hybride efficace, adapte a une faible bande passante
CN101060398A (zh) * 2006-04-20 2007-10-24 松下电器产业株式会社 新安全群组的安全凭证产生方法通信方法,及网络系统
US8676713B2 (en) * 2006-05-30 2014-03-18 Dell Products L.P. Dynamic constraints for content rights
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é
JP2007336059A (ja) * 2006-06-13 2007-12-27 Toshiba Corp 情報アクセス管理方法および装置
KR20070119335A (ko) * 2006-06-15 2007-12-20 삼성전자주식회사 브로드캐스트 암호화를 위한 사용자 키 할당 방법
JP5005277B2 (ja) * 2006-07-13 2012-08-22 日東電工株式会社 貼付剤および貼付製剤
BRPI0621945A2 (pt) * 2006-07-24 2011-10-18 Thomson Licensing método, aparelho e sistema para distribuição segura de conteúdo
JP4179563B2 (ja) * 2006-09-21 2008-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 暗号通信の暗号鍵を管理する技術
KR101377455B1 (ko) * 2006-10-09 2014-04-02 삼성전자주식회사 브로드캐스트 암호화를 위한 암호화 키 생성 방법 및 장치
JP2008113203A (ja) * 2006-10-30 2008-05-15 Sony Corp 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム
JP4984827B2 (ja) 2006-10-30 2012-07-25 ソニー株式会社 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム
US7986787B2 (en) * 2006-12-08 2011-07-26 International Business Machines Corporation System, method, and service for tracing traitors from content protection circumvention devices
US7978848B2 (en) * 2007-01-09 2011-07-12 Microsoft Corporation Content encryption schema for integrating digital rights management with encrypted multicast
KR20090000624A (ko) * 2007-03-09 2009-01-08 삼성전자주식회사 호스트 디바이스와의 상호 인증 방법 및 그 시스템
US7876895B2 (en) * 2007-05-09 2011-01-25 International Business Machines Corporation System, method, and service for performing unified broadcast encryption and traitor tracing for digital content
US7904717B2 (en) * 2007-06-19 2011-03-08 Oracle America, Inc. Method, apparatus, and manufacture for decryption of network traffic in a secure session
US8767965B2 (en) * 2007-07-19 2014-07-01 Telcordia Technologies, Inc. Method for a public-key infrastructure providing communication integrity and anonymity while detecting malicious communication
JP5150175B2 (ja) * 2007-09-05 2013-02-20 Kddi株式会社 Sd法におけるクライアント端末被覆方法およびプログラム
US7912062B2 (en) 2007-09-28 2011-03-22 Genband Us Llc Methods and apparatus for managing addresses related to virtual partitions of a session exchange device
US8824685B2 (en) * 2007-10-15 2014-09-02 Sony Corporation Method for detection of a hacked decoder
JP2009105853A (ja) * 2007-10-25 2009-05-14 Kddi Corp 任意の木構造に対応したsd法およびプログラム
EP2068490A1 (en) 2007-12-05 2009-06-10 Nagravision S.A. Method to generate a private key in a Boneh-Franklin scheme
EP2073431A1 (en) 2007-12-21 2009-06-24 Nagravision S.A. Method to trace traceable parts of original private keys in a public-key cryptosystem
US8306220B2 (en) * 2008-01-17 2012-11-06 Nagravision S.A. Method to generate a private key in a boneh-franklin scheme
US7936882B2 (en) * 2008-01-17 2011-05-03 Nagravision S.A. Method to trace traceable parts of original private keys in a public-key cryptosystem
CN101911583A (zh) * 2008-01-18 2010-12-08 皇家飞利浦电子股份有限公司 用于自动节点和密钥撤销的无线通信系统和方法
US8499149B2 (en) * 2008-02-20 2013-07-30 Hewlett-Packard Development Company, L.P. Revocation for direct anonymous attestation
US9729316B2 (en) 2008-02-27 2017-08-08 International Business Machines Corporation Unified broadcast encryption system
US8391493B2 (en) * 2008-02-29 2013-03-05 The Boeing Company Probabilistic mitigation of control channel jamming via random key distribution in wireless communications networks
EP2279630A4 (en) 2008-04-24 2015-03-11 Nokia Corp METHOD, DEVICE AND COMPUTER PROGRAM PRODUCT FOR PROVIDING INTERNET PROTOCOL MULTICAST TRANSPORT
KR20090115565A (ko) * 2008-05-02 2009-11-05 삼성전자주식회사 컨텐트 키 전송 방법 및 그 장치
US8122501B2 (en) * 2008-06-20 2012-02-21 International Business Machines Corporation Traitor detection for multilevel assignment
US8108928B2 (en) * 2008-06-20 2012-01-31 International Business Machines Corporation Adaptive traitor tracing
US8422684B2 (en) * 2008-08-15 2013-04-16 International Business Machines Corporation Security classes in a media key block
US20100054479A1 (en) * 2008-09-02 2010-03-04 Industrial Technology Research Institute Drm key management system using multi-dimensional grouping techniques
US8189789B2 (en) * 2008-11-03 2012-05-29 Telcordia Technologies, Inc. Intrusion-tolerant group management for mobile ad-hoc networks
US8347081B2 (en) 2008-12-10 2013-01-01 Silicon Image, Inc. Method, apparatus and system for employing a content protection system
WO2010074621A1 (en) * 2008-12-23 2010-07-01 Telefonaktiebolaget Lm Ericsson (Publ) A key management method
US8571209B2 (en) 2009-01-19 2013-10-29 International Business Machines Recording keys in a broadcast-encryption-based system
KR101603133B1 (ko) * 2009-09-21 2016-03-14 삼성전자주식회사 휴대용 단말기에서 채널 재생 지연을 줄이기 위한 장치 및 방법
US8254580B2 (en) * 2009-09-30 2012-08-28 Telefonaktiebolaget L M Ericsson (Publ) Key distribution in a hierarchy of nodes
US8386800B2 (en) * 2009-12-04 2013-02-26 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
EP2355503A1 (en) * 2010-02-04 2011-08-10 Nagravision S.A. Method to manage members of at least one group of decoders having access to audio/video data
EP2543158B1 (en) * 2010-03-03 2014-09-17 Nagravision S.A. Method to manage revocations in a group of terminals
CN102195775B (zh) * 2010-03-15 2016-03-02 中兴通讯股份有限公司 一种云计算密钥的加密和解密方法及装置
US8396896B2 (en) 2010-11-10 2013-03-12 International Business Machines Corporation Assigning resources to a binary tree structure
JP5676331B2 (ja) * 2011-03-24 2015-02-25 株式会社東芝 ルートノード及びプログラム
WO2013095521A1 (en) 2011-12-22 2013-06-27 Intel Corporation Instructions processors, methods, and systems to process blake secure hashing algorithm
ES2863678T3 (es) * 2012-05-29 2021-10-11 Fimer S P A Un método y sistema para transferir firmware o software a una pluralidad de dispositivos
US8782440B2 (en) 2012-08-15 2014-07-15 International Business Machines Corporation Extending the number of applications for accessing protected content in a media using media key blocks
US20150237400A1 (en) * 2013-01-05 2015-08-20 Benedict Ow Secured file distribution system and method
US9425967B2 (en) * 2013-03-20 2016-08-23 Industrial Technology Research Institute Method for certificate generation and revocation with privacy preservation
GB2528874A (en) * 2014-08-01 2016-02-10 Bae Systems Plc Improvements in and relating to secret communications
US9639687B2 (en) * 2014-11-18 2017-05-02 Cloudfare, Inc. Multiply-encrypting data requiring multiple keys for decryption
JP5845333B2 (ja) * 2014-12-24 2016-01-20 株式会社東芝 管理装置、システム、及び方法
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
JP6271808B2 (ja) * 2015-03-16 2018-01-31 株式会社東芝 管理装置、プログラム、システムおよび方法
US10333909B2 (en) 2016-02-09 2019-06-25 Conduent Business Services, Llc Methods and systems for broadcasting targeted advertisements to mobile device
CN106878002B (zh) * 2016-07-05 2020-04-24 阿里巴巴集团控股有限公司 一种权限撤销方法及装置
CA3068145A1 (en) * 2017-07-18 2019-01-24 Legic Identsystems Ag Method and devices for communicating securely between devices
EP3462571A1 (en) 2017-09-28 2019-04-03 Koninklijke Philips N.V. Authentication in a wireless power transfer system
JP2018038077A (ja) * 2017-11-02 2018-03-08 株式会社東芝 管理装置、プログラム、システムおよび方法
CN109067520B (zh) * 2018-07-26 2020-06-05 北京航空航天大学 可撤销的基于层级身份的广播加密方法及系统
US10841078B2 (en) * 2018-07-26 2020-11-17 International Business Machines Corporation Encryption key block generation with barrier descriptors
CN110858835B (zh) * 2018-08-24 2022-02-18 中国电信股份有限公司 通信方法、系统和相关设备以及计算机可读存储介质
US11876903B2 (en) 2020-12-09 2024-01-16 International Business Machines Corporation Decentralized broadcast encryption and key generation facility
US11997218B2 (en) 2021-03-02 2024-05-28 International Business Machines Corporation Decentralized, dynamic media key block for broadcast encryption
US11804949B2 (en) * 2021-03-19 2023-10-31 Raytheon Bbn Technologies Corp. Subscriber revocation in a publish-subscribe network using attribute-based encryption
US11558185B2 (en) 2021-03-19 2023-01-17 Raytheon Bbn Technologies Corp. Stream-based key management

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241597A (en) 1991-02-01 1993-08-31 Motorola, Inc. Method for recovering from encryption key variable loss
IL106796A (en) 1993-08-25 1997-11-20 Algorithmic Res Ltd Broadcast encryption
US6560340B1 (en) * 1995-04-03 2003-05-06 Scientific-Atlanta, Inc. Method and apparatus for geographically limiting service in a conditional access system
US5675649A (en) 1995-11-30 1997-10-07 Electronic Data Systems Corporation Process for cryptographic key generation and safekeeping
US5812670A (en) 1995-12-28 1998-09-22 Micali; Silvio Traceable anonymous transactions
US5748736A (en) * 1996-06-14 1998-05-05 Mittra; Suvo System and method for secure group communications via multicast or broadcast
FR2751817B1 (fr) 1996-07-29 1998-09-11 Thomson Multimedia Sa Systeme a acces conditionnel utilisant des messages a cles de chiffrement multiples
DE19649292A1 (de) * 1996-11-28 1998-06-04 Deutsche Telekom Ag Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems
US6285991B1 (en) * 1996-12-13 2001-09-04 Visa International Service Association Secure interactive electronic account statement delivery system
US5920861A (en) 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US6690795B1 (en) * 1997-03-04 2004-02-10 Lucent Technologies Inc. Multiple keys for decrypting data in restricted-access television system
JP3864401B2 (ja) * 1997-04-23 2006-12-27 ソニー株式会社 認証システム、電子機器、認証方法、および記録媒体
US6775382B1 (en) * 1997-06-30 2004-08-10 Sun Microsystems, Inc. Method and apparatus for recovering encryption session keys
US6397329B1 (en) * 1997-11-21 2002-05-28 Telcordia Technologies, Inc. Method for efficiently revoking digital identities
US6098056A (en) 1997-11-24 2000-08-01 International Business Machines Corporation System and method for controlling access rights to and security of digital content in a distributed information system, e.g., Internet
US6247127B1 (en) * 1997-12-19 2001-06-12 Entrust Technologies Ltd. Method and apparatus for providing off-line secure communications
JPH11187013A (ja) 1997-12-24 1999-07-09 Ibm Japan Ltd 暗号鍵配信システム
US6084969A (en) * 1997-12-31 2000-07-04 V-One Corporation Key encryption system and method, pager unit, and pager proxy for a two-way alphanumeric pager network
US6049878A (en) * 1998-01-20 2000-04-11 Sun Microsystems, Inc. Efficient, secure multicasting with global knowledge
US6118873A (en) * 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
JP4273535B2 (ja) * 1998-05-12 2009-06-03 ソニー株式会社 データ伝送制御方法、データ伝送システム、データ受信装置及びデータ送信装置
IL126472A0 (en) * 1998-10-07 1999-08-17 Nds Ltd Secure communications system
US6782475B1 (en) * 1999-01-15 2004-08-24 Terence E. Sumner Method and apparatus for conveying a private message to selected members
JP4214651B2 (ja) * 1999-03-31 2009-01-28 ソニー株式会社 データコミュニケーションシステム、データ管理方法
US6636968B1 (en) * 1999-03-25 2003-10-21 Koninklijke Philips Electronics N.V. Multi-node encryption and key delivery
US6263435B1 (en) * 1999-07-06 2001-07-17 Matsushita Electric Industrial Co., Ltd. Dual encryption protocol for scalable secure group communication
US6684331B1 (en) * 1999-12-22 2004-01-27 Cisco Technology, Inc. Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure
JP2001352321A (ja) 2000-04-06 2001-12-21 Sony Corp 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
US7200230B2 (en) * 2000-04-06 2007-04-03 Macrovision Corporation System and method for controlling and enforcing access rights to encrypted media
JP4023083B2 (ja) 2000-04-06 2007-12-19 ソニー株式会社 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
US6961858B2 (en) * 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US6839436B1 (en) * 2000-10-16 2005-01-04 Lucent Technologies Inc. Method for providing long-lived broadcast encrypton
EP1371205B1 (en) * 2000-10-26 2006-03-01 General Instrument Corporation Initial viewing period for authorization of multimedia content
JP2002281013A (ja) 2000-12-18 2002-09-27 Matsushita Electric Ind Co Ltd 著作権保護のための鍵管理装置、記録媒体、再生装置、記録装置、鍵管理方法、再生方法、鍵管理プログラム及び鍵管理プログラムを記録したコンピュータ読み取り可能な記録媒体
CN100499799C (zh) * 2000-12-22 2009-06-10 爱迪德艾恩德霍芬公司 提供对被传送数据的有条件访问的传输系统
US7039803B2 (en) * 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
JP2003050745A (ja) * 2001-08-07 2003-02-21 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20030200548A1 (en) * 2001-12-27 2003-10-23 Paul Baran Method and apparatus for viewer control of digital TV program start time

Also Published As

Publication number Publication date
TWI264208B (en) 2006-10-11
DE60233929D1 (de) 2009-11-19
EP1354443B1 (en) 2009-10-07
US7925025B2 (en) 2011-04-12
US20080192939A1 (en) 2008-08-14
WO2002060116A3 (en) 2002-09-26
WO2002060116A2 (en) 2002-08-01
CN1976277A (zh) 2007-06-06
US7698551B2 (en) 2010-04-13
AU2002228163A1 (en) 2002-08-06
US20050195980A1 (en) 2005-09-08
ES2334109T5 (es) 2013-05-03
US20020147906A1 (en) 2002-10-10
US20020104001A1 (en) 2002-08-01
ATE445269T1 (de) 2009-10-15
CN1976277B (zh) 2010-10-13
US7523307B2 (en) 2009-04-21
EP1354443A2 (en) 2003-10-22
JP2004520743A (ja) 2004-07-08
EP1354443B2 (en) 2013-01-02
US7039803B2 (en) 2006-05-02
KR20030085125A (ko) 2003-11-03
KR100543630B1 (ko) 2006-01-20
CN1303777C (zh) 2007-03-07
CN1489847A (zh) 2004-04-14

Similar Documents

Publication Publication Date Title
ES2334109T3 (es) Metodo para la codificacion de transmisiones.
US7010125B2 (en) Method for tracing traitor receivers in a broadcast encryption system
Naor et al. Revocation and tracing schemes for stateless receivers
KR20060129934A (ko) 정보 처리 방법, 복호 처리 방법 및 정보 처리 장치와컴퓨터 프로그램
JP4162237B2 (ja) 複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム
KR101086431B1 (ko) 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치
JP4561074B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2004229128A (ja) 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム
KR101094094B1 (ko) 복수 개의 노드로 구성된 그룹 간의 정보 교환 방법 및 공유키 생성 방법
JP2007020025A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2004320183A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
WO2009157050A1 (ja) 情報処理装置及びプログラム
KR20210117733A (ko) 폐기 메커니즘 상에서 외부 디바이스 또는 서비스를이용하는 복호화 방법 및 장치, 이를 위한 복호화 지원방법 및 장치
Obied Broadcas t Encryption
Chen A Survey on Traitor Tracing Schemes
JP2008294720A (ja) 不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体
Błaśkiewicz et al. Ghost Train for Anonymous Communication
JP2005252916A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
Jin Traitor Tracing for Multimedia Forensics