ES2364137T3 - Sistema de distribución de contenido. - Google Patents
Sistema de distribución de contenido. Download PDFInfo
- Publication number
- ES2364137T3 ES2364137T3 ES03798478T ES03798478T ES2364137T3 ES 2364137 T3 ES2364137 T3 ES 2364137T3 ES 03798478 T ES03798478 T ES 03798478T ES 03798478 T ES03798478 T ES 03798478T ES 2364137 T3 ES2364137 T3 ES 2364137T3
- Authority
- ES
- Spain
- Prior art keywords
- unit
- content
- packet
- terminal
- lifetime
- 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
Links
- 238000004891 communication Methods 0.000 claims abstract description 193
- 230000005540 biological transmission Effects 0.000 claims abstract description 59
- 238000000034 method Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 74
- 238000012790 confirmation Methods 0.000 description 41
- 238000010586 diagram Methods 0.000 description 13
- 239000000945 filler Substances 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 102000036364 Cullin Ring E3 Ligases Human genes 0.000 description 1
- 108091007045 Cullin Ring E3 Ligases Proteins 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Un dispositivo de comunicaciones para realizar transmisión y recepción de un contenido con otro dispositivo de comunicaciones (30) que pone un tiempo de vida de un paquete IP para transmitir a un valor predeterminado, incluyendo el dispositivo de comunicaciones (20): una unidad de adquisición operable para adquirir el tiempo de vida de un paquete IP recibido del otro dispositivo de comunicaciones (30); una unidad de determinación (106) operable para determinar si el tiempo de vida adquirido es menor o igual al valor predeterminado, determinándose el valor predeterminado con anterioridad entre el servidor de contenido (20) y el terminal (30); y una unidad de comunicaciones (101) operable para realizar transmisión/recepción de contenido con el otro dispositivo de comunicaciones (30) solamente cuando dicha unidad de determinación (106) ha determinado que el tiempo de vida adquirido es menor o igual al valor predeterminado, y para no realizar transmisión/recepción de contenido con el otro dispositivo de comunicaciones (30) cuando dicha unidad de determinación (106) ha determinado que el tiempo de vida adquirido es más grande que el valor predeterminado.
Description
En los últimos años se está creando un número creciente de redes domésticas para compartir contenido entre terminales conectados por una red en un entorno doméstico.
Una configuración posible de esta red doméstica implica proporcionar un solo router en un entorno doméstico, y conectar un servidor de contenido para almacenar contenido y varios terminales, tal como grabadoras DVD, reproductores vídeo, etc, debajo del router. El router es el único dispositivo en el entorno doméstico conectado a una red externa. El servidor de contenido guarda contenido adquirido de la red externa mediante el router, y terminales individuales piden al servidor de contenido un contenido que el servidor de contenido distribuye posteriormente en respuesta a las peticiones.
Sin embargo, la distribución de contenido sin restricciones no es permisible en vista de la protección de derechos de autor. Las restricciones son por ello necesarias para evitar que el contenido cuyo uso solamente está permitido para terminales domésticos sea distribuido a terminales fuera del entorno doméstico.
La publicación de la solicitud de patente japonesa JP 2003 090475 describe tecnología para realizar autenticación e intercambio de claves antes de que el contenido sea transmitido/recibido cuando los dispositivos de repetición y recepción tengan la misma dirección de red secundaria.
WO 02/067499 A describe un aparato y método para comunicar datos electrónicos mediante una infraestructura de red que tiene tanto una capacidad de mecanismo de dirección unidifusión como una capacidad de mecanismo de dirección multidifusión. El aparato incluye un servidor que es capaz de usar tanto mecanismos de dirección unidifusión como multidifusión para comunicar datos electrónicos a uno o más clientes. El aparato incluye medios adaptados para hacer una decisión, teniendo en cuenta un conjunto predeterminado de parámetros, si el servidor usa un mecanismo de dirección unidifusión o un mecanismo de dirección multidifusión para comunicar los datos electrónicos a los clientes y el servidor está dispuesto para comunicar los datos electrónicos a los clientes según la decisión.
WO 01/57696 A especifica un método para un host servidor de web para determinar la dirección de red de un router u otro dispositivo de soporte de red que está conectado muy directamente a un dispositivo computacional conectado a red, tal como un ordenador personal. En una realización preferida, el host es capaz de determinar la posición geográfica del router, y por lo tanto la posición geográfica aproximada del ordenador personal. El host puede transmitir entonces información geográficamente relevante al ordenador personal tal como anuncios de artículos y servicios localmente disponibles.
Según esta tecnología, el contenido solamente puede ser transferido entre terminales que tienen la misma dirección de red secundaria. No obstante, se demanda que la tecnología suprima la transferencia de contenido en situaciones en las que, por ejemplo, hay un alto riesgo de que el contenido sea robado por una tercera parte, incluso durante la comunicación entre terminales que tengan la misma dirección de red secundaria.
En vista de las demandas de dicha tecnología, la presente invención tiene la finalidad de proporcionar un sistema de distribución de contenido en el que se suprime la transmisión/recepción de contenido cuando hay un riesgo alto de que el contenido sea robado por una tercera parte durante la comunicación.
El objeto de la presente invención se logra con un dispositivo de comunicaciones que incluye: una unidad de adquisición operable para adquirir una distancia de comunicación que indica lo lejos que el dispositivo de comunicaciones está de otro dispositivo de comunicaciones en comunicación de datos; una unidad de determinación de distancia operable para determinar si la distancia de comunicación adquirida es menor o igual a un valor predeterminado; y una unidad de comunicaciones operable, cuando se considere afirmativo, para realizar transmisión/recepción de contenido con el otro dispositivo de comunicaciones.
Según esta estructura, es posible transmitir/recibir contenido o suprimir la transmisión/recepción de contenido, en base a lo lejos que el dispositivo de comunicaciones esté del otro dispositivo de comunicaciones en términos de comunicación de datos.
Aquí, la unidad de comunicaciones puede realizar comunicación de datos con el otro dispositivo de comunicaciones antes de realizar la transmisión/recepción de contenido, y la distancia de comunicación puede indicar cuántos datos de dispositivos de repetición transmitidos por el otro dispositivo de comunicaciones pasaron antes de llegar al dispositivo de comunicaciones.
Según esta estructura, es posible transmitir/recibir contenido o suprimir la transmisión/recepción de contenido, en base al número de dispositivos de repetición por los que pasan los datos procedentes del otro dispositivo de comunicaciones.
Aquí, la distancia de comunicación puede indicar por cuántos routers, como los dispositivos de repetición, pasaron los datos desde el otro dispositivo de comunicaciones al dispositivo de comunicaciones.
Según esta estructura, es posible transmitir/recibir contenido o suprimir la transmisión/recepción de contenido, en base al número de routers por los que pasaron datos procedentes del otro dispositivo de comunicaciones.
Aquí, la unidad de comunicaciones puede realizar la comunicación de datos en un formato de paquete que incluye un tiempo de vida cuyo valor disminuye en “1” por cada router por el que pasa, y la unidad de adquisición puede usar el tiempo de vida al adquirir la distancia de comunicación.
Según esta estructura, la presente invención puede ser implementada usando un protocolo de comunicación existente, usando un tiempo de vida (TTL) establecido en un campo TTL de un paquete de protocolo de Internet (IP) para adquirir el número de routers por los que pasan datos.
Aquí, el dispositivo de comunicaciones puede incluir además: una unidad de compartición de claves operable para compartir información de clave con el otro dispositivo de comunicaciones; y una unidad de encriptado operable, usando la información de clave compartida, para encriptar contenido y desencriptar contenido encriptado, y la unidad de comunicaciones puede transmitir/recibir contenido encriptado.
Según esta estructura, la transmisión/recepción de contenido entre dispositivos de comunicación puede ser realizada con seguridad usando información de clave compartida entre los dispositivos de comunicación.
Aquí, cada paquete recibido del otro dispositivo de comunicaciones puede incluir primera información de identificación que identifica de forma única un router con el que el otro dispositivo de comunicaciones está conectado, y el dispositivo de comunicaciones puede incluir además: una unidad de adquisición de información de router operable para adquirir segunda información de identificación que identifica de forma única un router con el que el dispositivo de comunicaciones está conectado; una unidad de determinación de ID operable para determinar si la primera información de identificación corresponde a la segunda información de identificación; y una unidad de supresión operable, si se considera negativo, para suprimir la transmisión/recepción de contenido por la unidad de comunicaciones.
Según esta estructura, es posible transmitir contenido entre dispositivos de comunicación que están conectados al mismo dispositivo de repetición y suprimir la circulación de contenido a otros dispositivos, en base a información de identificación que identifica dispositivos de repetición a los que los dispositivos de comunicación están conectados.
Aquí, un tamaño de datos de cada paquete transmitido/recibido por la unidad de comunicaciones puede ser igual a una unidad de transmisión máxima de una red a la que la unidad de comunicaciones está conectada, y puede estar prohibida la transmisión/recepción de paquetes parciales.
Según esta estructura, cuando el otro dispositivo de comunicaciones desea enviar un paquete IP al que se ha adjuntado una nueva cabecera IP con el fin de establecer un valor TTL diferente al valor TTL realmente especificado en el paquete, el paquete, que es ya del mismo tamaño que la MTU (unidad de transmisión máxima), se tiene que descomponer para transmisión. Sin embargo, dado que la transmisión de paquetes parciales está prohibida con esta estructura, tales paquetes no terminan llegando al dispositivo de comunicaciones.
Aquí, el tiempo de vida incluido en cada paquete recibido del otro dispositivo de comunicaciones se puede establecer a un valor predeterminado al tiempo de transmisión, y la unidad de adquisición puede leer un valor del tiempo de vida del paquete recibido, y adquirir la distancia de comunicación en base a la diferencia entre el valor leído y el valor predeterminado del tiempo de vida.
Según esta estructura, se da notificación previa de un TTL predeterminado al otro dispositivo de comunicaciones, permitiendo así que el número de routers por los que pasan datos sea obtenido fácilmente leyendo la TTL incluida en los paquetes recibidos.
Aquí, el valor predeterminado del tiempo de vida puede ser “1”.
Dado que un paquete que tiene un TTL puesto a “1” es transmitido según esta estructura, el dispositivo de comunicaciones conoce, a la recepción del paquete, que el paquete no ha pasado a través de ningún router en otras redes.
Aquí, al menos parte de cada paquete recibido/transmitido por la unidad de comunicaciones puede ser encriptado, y la unidad de encriptado puede enviar cada paquete recibido a la unidad de adquisición después de desencriptar la parte encriptada del paquete, y enviar cada paquete para transmisión a la unidad de comunicaciones después de encriptar al menos parte del paquete.
Dado que al menos una parte de cada paquete conteniendo datos usado en el juicio está encriptada, es posible, según esta estructura, transmitir/recibir datos con seguridad.
La invención se define por las reivindicaciones anexas.
La figura 1 representa una estructura de un sistema de distribución de contenido 1.
La figura 2 es un diagrama de bloques funcionales que representa una estructura funcional de un servidor de
contenido 20.
La figura 3 es un diagrama de bloques funcionales que representa una estructura funcional de un terminal 30.
La figura 4A representa una estructura de datos de un paquete de búsqueda de servidor 301.
La figura 4B representa una estructura de datos de un paquete de confirmación 302.
La figura 4C representa una estructura de datos de un paquete de petición de compartición de clave 303.
La figura 5 es un diagrama de flujo que representa las operaciones generales realizadas en el sistema de
distribución de contenido 1.
La figura 6 es un diagrama de flujo de procesado de determinación AD realizado en el sistema de distribución de
contenido 1 (continúa en la figura 7).
La figura 7 es un diagrama de flujo de procesado de determinación AD realizado en el sistema de distribución de
contenido 1 (continuación de la figura 6).
La figura 8 es un diagrama de flujo de procesado de compartición de clave realizado en el sistema de distribución de
contenido 1.
La figura 9A es un diagrama de flujo de procesado de transmisión de contenido realizado en el sistema de
distribución de contenido 1.
La figura 9B es un diagrama de flujo de procesado de recepción de contenido realizado en el sistema de distribución
de contenido 1.
La figura 10 representa una estructura de un sistema de distribución de contenido 1a.
La figura 11 es un diagrama de bloques funcionales que representa una estructura funcional de un terminal 30b.
La figura 12 representa una estructura de datos de un paquete de búsqueda TTL 304.
La figura 13 es un diagrama de flujo que representa las operaciones generales realizadas en el sistema de
distribución de contenido 1a.
La figura 14 es un diagrama de flujo de procesado de búsqueda TTL realizado en el sistema de distribución de
contenido 1a.
La figura 15 es un diagrama de flujo de procesado de determinación AD realizado en el sistema de distribución de
contenido 1a (continúa en la figura 16).
La figura 16 es un diagrama de flujo de procesado de determinación AD realizado en el sistema de distribución de
contenido 1a (continuación de la figura 15).
La figura 17 representa una estructura de un sistema de distribución de contenido 1b.
La figura 18 es un diagrama de bloques funcionales que representa una estructura funcional de un servidor de
contenido 20b.
La figura 19 es un diagrama de bloques funcionales que representa una estructura funcional de un terminal 30c.
La figura 20A representa una estructura de datos de un paquete de clave pública 305.
La figura 20B representa una estructura de datos de un paquete de clave pública 306.
La figura 21 es un diagrama de flujo que representa las operaciones generales realizadas en el sistema de
distribución de contenido 1b.
La figura 22 es un diagrama de flujo de procesado de compartición de clave realizado en el sistema de distribución de contenido 1b.
La figura 23 representa una estructura de un sistema de distribución de contenido 2.
La figura 24 es un diagrama de bloques funcionales que representa una estructura funcional de un servidor de
contenido 20a.
La figura 25 representa una estructura de datos de una tabla de grupos 350.
La figura 26A es un diagrama de flujo que representa las operaciones generales realizadas en el sistema de
distribución de contenido 2.
Y la figura 26B es un diagrama de flujo de procesado de petición de contenido realizado en el sistema de distribución
de contenido 2.
A continuación se describen en detalle realizaciones de la presente invención.
Realización 1
Un sistema de distribución de contenido 1 se describirá ahora como una realización 1 de la presente invención, con referencia a los dibujos. En el sistema de distribución de contenido 1 (a continuación “sistema 1”), el contenido es transferido entre dispositivos dentro de un rango permitido de uso de contenido. Este rango se denomina a continuación un dominio autorizado (“AD”). Aquí se contempla, en particular, que el dominio autorizado sea una red doméstica en la que dispositivos en un entorno doméstico están conectados uno a otro.
La figura 1 representa una estructura del sistema 1. Como se representa en la figura 1, el sistema 1 está constituido por routers 10, 11 y 12, un servidor de contenido 20, y terminales 30, 40 y 50.
Los routers 11 y 12 están conectados al router 10, que, a su vez, está conectado a Internet 60. El router 11 es un dispositivo de repetición dentro del dominio autorizado (es decir un dispositivo de repetición “en AD”), mientras que el router 12 es un dispositivo de repetición externo al dominio autorizado (es decir un dispositivo de repetición “fuera de AD”). El servidor de contenido 20 y el terminal 30 están conectados al router 11, mientras que los terminales 40 y 50 están conectados al router 12.
En el sistema 1, los terminales en AD están conectados a un solo router, y los dispositivos comunican usando protocolo de Internet versión 4 (IPv4) como un protocolo de comunicación.
El servidor de contenido 20 recibe peticiones de otros dispositivos, y determina si los dispositivos son dispositivos en AD o fuera de AD. Si se determina que un dispositivo está en AD, el servidor de contenido 20 realiza compartición de clave con el dispositivo, y transmite contenido encriptado usando una clave compartida al dispositivo.
A continuación, los terminales que se considera que son dispositivos en AD se denominan “terminales en grupo” o “elementos de grupo”.
La figura 2 es un diagrama de bloques funcionales que representa una estructura funcional del servidor de contenido
20. El servidor de contenido 20 está constituido por una unidad de comunicaciones 101, una unidad de encriptado 102, una unidad de gestión de ID 103, una unidad de adquisición de información 104, una unidad de descubrimiento de unidad de transmisión máxima (MTU) 105, una unidad de determinación AD 106, una unidad de generación de confirmación-información 107, una unidad de generación de clave 108, y una unidad de almacenamiento de contenido 109.
El servidor de contenido 20 es específicamente un sistema informático constituido por un microprocesador, una ROM, una RAM, una unidad de disco duro, una unidad de conexión de red, una unidad de visualización, un controlador remoto, y análogos. Aquí, se supone que el servidor de contenido 20 es una grabadora de unidad de disco duro (HDD).
Un programa de ordenador está almacenado en la RAM o en la unidad de disco duro, y el servidor de contenido 20 lleva a cabo funciones como resultado de que el microprocesador opera según el programa de ordenador.
La unidad de comunicaciones 101 es una interface de comunicación que comunica con otros dispositivos transmitiendo/recibiendo paquetes de protocolo de Internet (IP) mediante el router 11.
La unidad de comunicaciones 101 recibe secuencialmente paquetes de transmisión cuyas cargas IP han sido encriptadas por la unidad de encriptado 102, y envía los paquetes al router 11. El paquete de confirmación 302 representado en la figura 4B es un paquete de transmisión ejemplar. La unidad 101 también recibe información de transmisión que ha sido encriptada por la unidad 102, fragmenta la información de transmisión para generar paquetes de transmisión, y envía los paquetes generados secuencialmente al router 11. La información de transmisión incluye, por ejemplo, contenido encriptado y la clave pública del servidor de contenido 20. Al generar paquetes de información de transmisión, la unidad 101 rellena los paquetes con el fin de hacer cada paquete de igual tamaño a una unidad de transmisión máxima (MTU). Aquí, la MTU es información recibida de la unidad de descubrimiento MTU 105.
Además, la unidad de comunicaciones 101 recibe paquetes que tienen cargas IP encriptadas secuencialmente del router 11, y envía secuencialmente los paquetes a la unidad de encriptado 102. El paquete de búsqueda de servidor 301 y el paquete de petición de compartición de clave 303 representados respectivamente en las figuras 4A y 4C son paquetes ejemplares recibidos por la unidad de comunicaciones 101. La unidad 101 también acumula paquetes que tienen cargas IP encriptadas recibidas del router 11, genera información de recepción de los paquetes recibidos, y envía la información de recepción generada a la unidad 102. La información de recepción ejemplar incluye las claves públicas de los terminales.
Las estructuras de datos del paquete de búsqueda de servidor 301, el paquete de confirmación 302 y el paquete de petición de compartición de clave 303 se describen en detalle en una sección posterior.
La unidad de encriptado 102 recibe paquetes de confirmación secuencialmente de la unidad de generación de confirmación-información 107, y envía los paquetes recibidos a la unidad de comunicaciones 101 después de encriptar las cargas IP. La unidad 102 también recibe una clave pública relativa al servidor de contenido 20 de la unidad de generación de clave 108, encripta la clave pública, y envía la clave pública encriptada a la unidad de comunicaciones 101.
Además, la unidad de encriptado 102 recibe paquetes de búsqueda de servidor secuencialmente de la unidad de comunicaciones 101, y envía los paquetes recibidos a la unidad de determinación AD 106 después de desencriptar las cargas IP. La unidad 102 también recibe paquetes de petición de compartición de clave secuencialmente de la unidad de comunicaciones 101, y envía los paquetes recibidos a la unidad de determinación AD 106 después de desencriptar las cargas IP.
Los algoritmos de encriptado y desencriptado usados por la unidad de encriptado 102 son, por ejemplo, algoritmos de la norma de encriptado avanzado (AES). Aquí, la información de clave es compartida con anterioridad entre dispositivos que han de comunicar, y almacenada en una zona antimanipulación. Dado que AES la ha definido la Norma Federal de Procesado de Información (FIPS) 197, aquí se omite la descripción.
Además, la unidad de encriptado 102 recibe contenido de la unidad de almacenamiento de contenido 109, y lee claves compartidas almacenadas por la unidad de generación de clave 108. La unidad 102 encripta el contenido recibido usando claves compartidas para generar contenido encriptado, y envía el contenido encriptado a la unidad de comunicaciones 101. El algoritmo de encriptado usado por la unidad 102 es, por ejemplo, un algoritmo AES.
La unidad de gestión de ID 103 guarda una ID de dispositivo “ID_A” usada para identificar de forma única el servidor de contenido 20. La ID de dispositivo “ID_A” son específicamente datos de 8 bytes únicos del servidor de contenido
20.
La unidad de adquisición de información 104 adquiere la dirección de control de acceso al medio (MAC) del router al que está conectado el servidor de contenido 20, y guarda la dirección adquirida en una zona de almacenamiento interna. La unidad 104 puede estar estructurada para realizar este procesado cuando el servidor de contenido 20 se conecta por vez primera al router, o para adquirir la dirección MAC periódicamente y sobreescribir la dirección MAC almacenada con la dirección MAC adquirida.
Un método de adquirir la dirección MAC es usar un protocolo conocido como el protocolo de resolución de dirección (ARP). Dado que el ARP se describe en la Petición de Comentario (RFC) 825, aquí se omite la descripción.
La unidad de descubrimiento MTU 105 adquiere la MTU de la red a la que el servidor de contenido 20 está conectado, y guarda la MTU adquirida en una zona de almacenamiento interna. La unidad 105 puede estar estructurada para realizar el procesado anterior solamente una vez cuando el servidor de contenido 20 se conecta por vez primera a la red, o para adquirir la MTU de la red periódicamente y sobreescribir la MTU almacenada con la MTU adquirida.
Aquí, la MTU es adquirida usando la técnica para descubrir las MTUs de ruta descritas en RFC 1191.
La unidad de determinación AD 106 recibe peticiones de contenido de otros dispositivos, y determina si los otros dispositivos son dispositivos en AD.
La unidad de determinación AD 106 recibe y guarda una lista de revocación de certificación (CRL) de una autoridad de certificación mediante Internet 60 cuando el servidor de contenido 20 se conecta por vez primera a la red. Una CRL es una lista de las IDs de dispositivo de los dispositivos invalidados, que son dispositivos, por ejemplo, cuya clave secreta ha sido revelada. La unidad 106 recibe las CRLs últimas de la autoridad de certificación cuando están disponibles, y sobreescribe la CRL almacenada con la CRL nuevamente recibida.
La unidad de determinación AD 106 realiza las tres operaciones de procesado siguientes (determinaciones 1-3) cuando un paquete de búsqueda de servidor o un paquete de petición de compartición de clave es recibido de la unidad de encriptado 102.
Determinación 1: la unidad de determinación AD 106 lee la ID de dispositivo del paquete recibido (es decir, el paquete de búsqueda de servidor o el paquete de petición de compartición de clave), y determina si la ID de dispositivo leída está enumerada en la CRL almacenada; es decir, si el originador (es decir, el terminal de fuente de transmisión) ha sido invalidado.
Determinación 2: la unidad de determinación AD 106 lee entonces un tiempo de vida (TTL) del paquete recibido, y determina si la TTL leída es “1”.
Determinación 3: la unidad de determinación AD 106 lee entonces la información única de dispositivo de repetición del paquete recibido, lee la información única de dispositivo de repetición almacenada en la unidad de adquisición de información 104, y determina si los dos elementos de información única de dispositivo de repetición concuerdan.
Si las tres determinaciones anteriores son afirmativas en el caso de que el paquete recibido sea un paquete de búsqueda de servidor, la unidad de determinación AD 106 envía una instrucción a la unidad de generación de confirmación-información 107 para generar un paquete de confirmación para transmisión al originador del paquete de búsqueda de servidor.
Si las tres determinaciones anteriores son afirmativas en el caso de que el paquete recibido sea un paquete de petición de compartición de clave, la unidad de determinación AD 106 envía una instrucción a la unidad de generación de clave 108 para generar una clave compartida para compartición con el originador del paquete de petición de compartición de clave.
Aquí, un TTL es un valor que representa cuánto puede permanecer activo un paquete en una red. Los TTLs se facilitan con el fin de evitar que los paquetes permanezcan activos en una red en el caso, por ejemplo, de que un error de configuración de router haga que un paquete itere sinfín. Más específicamente, los TTLs se cuentan usando “recuentos de salto”. El originador pone un TTL predeterminado en el campo TTL de la cabecera IP al enviar un paquete. Se resta un recuento de la TTL cada vez que el paquete pasa de un router (es decir, un dispositivo de repetición) al siguiente. Cuando la TTL llega a cero, el router que detecta el recuento cero, desecha el paquete (es decir, el paquete ya no se transfiere más).
La unidad de generación de confirmación-información 107 genera paquetes de confirmación como se describe más adelante cuando lo ordena la unidad de determinación AD 106. Un paquete de confirmación está constituido por una cabecera IP y una carga IP. La descripción siguiente se refiere a un paquete de confirmación ejemplar 302 representado en la figura 4B.
La cabecera IP incluye un bit de no fragmentar (DF), un TTL, y una dirección destino. El bit DF se pone a “activado”
o “desactivado”. La fragmentación del paquete para transmisión está prohibida cuando el bit DF está puesto a “activado” y permitida cuando está puesto a “desactivado”. Como se representa en la figura 4B, la unidad de generación de confirmación-información 107 pone el bit DF a “activado” (es decir, fragmentación prohibida), evitando así que el paquete sea encapsulado. La unidad 107 pone la TTL a “1”, evitando así que el paquete sea transmitido más allá del router 11 a otra red. La unidad 107 pone la dirección IP del originador del paquete de búsqueda de servidor en la dirección destino. La dirección IP del originador puede ser almacenada por la unidad 107 en correspondencia con la ID de dispositivo del originador o incluida en el paquete enviado por el originador y extraída del paquete por la unidad 107.
La carga IP incluye el tipo de paquete, la dirección de servidor, información única de dispositivo de repetición y datos de relleno. La unidad de generación de confirmación-información 107 escribe “confirmación” como el tipo de paquete con el fin de mostrar que el paquete es un paquete de confirmación. La unidad 107 escribe la dirección IP del servidor de contenido 20 como la dirección de servidor. La unidad 107 lee la dirección MAC de router de la unidad de adquisición de información 104, y escribe la dirección MAC leída como la información única de dispositivo de repetición. La unidad 107 escribe datos de relleno en la carga IP con el fin de hacer el paquete de confirmación 302 del mismo tamaño de datos que la MTU. En el ejemplo dado los datos de relleno tienen un valor cero.
La unidad de generación de confirmación-información 107 envía el paquete de confirmación resultante 302 secuencialmente a la unidad de encriptado 102.
Un centro de gestión externo proporciona con anterioridad a la unidad de generación de clave 108 una curva elíptica
E: y2 = x3 + ax + b y un origen G.
La unidad de generación de clave 108 realiza procesado de generación de clave compartida como se describe más adelante cuando lo ordena la unidad de determinación AD 106 para generar una clave compartida con el originador de un paquete de petición de compartición de clave.
La unidad de generación de clave 108 pone una clave secreta xA y calcula una clave pública YA usando la expresión siguiente:
YA = xA * G
La unidad de generación de clave 108 envía la clave pública YA al originador, y recibe la clave pública de originador YB del originador.
Usando la clave pública de originador YB y la clave secreta xA del servidor de contenido 20, la unidad de generación de clave 108 calcula xA * YB para generar una clave compartida, y guarda la clave compartida internamente.
Una vez que la clave compartida ha sido generada y almacenada, la unidad de generación de clave 108 ordena a la unidad de almacenamiento de contenido 109 que lea un contenido.
La unidad de almacenamiento de contenido 109 es específicamente una unidad de disco duro que guarda contenido internamente. Cuando lo ordena la unidad de generación de clave 108, la unidad 109 envía el contenido leído a la unidad de encriptado 102.
El terminal 30 es un dispositivo en AD conectado al router 11. El terminal 30 realiza procesado de compartición de clave con el servidor de contenido 20, y transmite/recibe contenido usando una clave compartida.
La figura 3 es un diagrama de bloques funcionales que representa una estructura funcional del terminal 30. Como se representa en la figura 3, el terminal 30 está constituido por una unidad de comunicaciones 201, una unidad de encriptado 202, una unidad de gestión de ID 203, una unidad de adquisición de información 204, una unidad de descubrimiento MTU 205, una unidad de generación de búsqueda de información 206, una unidad de generación de petición de información 207, una unidad de generación de clave 208, y una unidad de almacenamiento 209.
El terminal 30 está constituido específicamente por un microprocesador, una ROM, una RAM, una unidad de disco duro, una unidad de conexión de red, una unidad de visualización, un controlador remoto, y análogos. Más específicamente, el terminal 30 es un dispositivo audiovisual, electrodoméstico o análogos que se puede conectar a una red. Un programa de ordenador está almacenado en la RAM o en la unidad de disco duro, y el terminal 30 lleva a cabo funciones como resultado de que el microprocesador opera según el programa de ordenador.
La unidad de comunicaciones 201 es una interface de comunicación que comunica con otros dispositivos transmitiendo/recibiendo paquetes de protocolo de Internet (IP) mediante el router 11.
La unidad de comunicaciones 201 recibe secuencialmente paquetes de transmisión cuyas cargas IP han sido encriptadas por la unidad de encriptado 202, y envía los paquetes recibidos al router 11. El paquete de búsqueda de servidor 301 y el paquete de compartición de clave 303 representados respectivamente en las figuras 4A y 4C son paquetes de transmisión ejemplares. La unidad 201 también recibe información de transmisión que ha sido encriptada por la unidad 202, fragmenta la información de transmisión para generar paquetes de transmisión, y envía secuencialmente los paquetes generados al router 11. La información de transmisión ejemplar incluye la clave pública de terminal 30. Al generar paquetes de información de transmisión, la unidad 201 rellena los paquetes con el fin de hacer cada paquete de igual tamaño a la MTU. Aquí, la MTU es recibida de la unidad de descubrimiento MTU
205.
Además, la unidad de comunicaciones 201 recibe secuencialmente del router 11 paquetes que tienen cargas IP encriptadas, y envía secuencialmente los paquetes a la unidad de encriptado 202. El paquete de confirmación 302 representado en la figura 4B es un paquete ejemplar recibido por la unidad 201. La unidad 201 también acumula paquetes que tienen cargas IP encriptadas recibidas del router 11, genera información de recepción de los paquetes recibidos, y envía la información de recepción a la unidad 202. La información de recepción incluye, por ejemplo, contenido encriptado.
La unidad de encriptado 202 tiene la misma estructura y función que la unidad de encriptado 102 en el servidor de contenido 20.
La unidad de encriptado 202 recibe secuencialmente paquetes de búsqueda de servidor de la unidad de generación de búsqueda de información 206, y envía los paquetes recibidos a la unidad de comunicaciones 201 después de encriptar las cargas IP. Igualmente, la unidad 202 recibe secuencialmente paquetes de petición de compartición de clave de la unidad de generación de petición de información 207, y envía los paquetes recibidos a la unidad de comunicaciones 201 después de encriptar las cargas IP. La unidad 202 también recibe una clave pública relativa al terminal 30 de la unidad de generación de clave 208, encripta la clave pública, y envía la clave pública encriptada a la unidad de comunicaciones 201.
Además, la unidad de encriptado 202 recibe secuencialmente paquetes de confirmación de la unidad de comunicaciones 201, y envía los paquetes recibidos a la unidad de generación de petición de información 207 después de desencriptar la carga IP.
Los algoritmos de encriptado y desencriptado usados por la unidad de encriptado 202 son, por ejemplo, algoritmos de la norma de encriptado avanzado (AES). Aquí, la información de clave es compartida con anterioridad con el servidor de contenido 20, y almacenada en una zona antimanipulación.
Además, la unidad de encriptado 202 recibe contenido encriptado de la unidad de comunicaciones 201, y lee la clave compartida almacenada por la unidad de generación de clave 208. La unidad 202 desencripta el contenido encriptado usando la clave compartida leída para generar el contenido. La unidad 202 guarda el contenido generado en la unidad de almacenamiento 209.
La unidad de gestión de ID 203 guarda una ID de dispositivo “ID_B” usada para identificar de forma única el terminal
30. La ID de dispositivo “ID_B” son específicamente datos de 8 bytes únicos del terminal 30.
La unidad de adquisición de información 204 adquiere la dirección de control de acceso al medio (MAC) del router al que está conectado el terminal 30, y guarda la dirección adquirida en una zona de almacenamiento interna. La unidad 204 puede estar estructurada para realizar este procesado cuando el terminal 30 se conecta por vez primera al router, o para adquirir periódicamente la dirección MAC y sobreescribir la dirección MAC almacenada con la dirección MAC adquirida. Un método de adquirir la dirección MAC es usar el ARP.
La unidad de descubrimiento MTU 205 adquiere la MTU de la red a la que está conectado el terminal 30, y guarda la MTU adquirida en una zona de almacenamiento interna. La unidad 205 puede estar estructurada para realizar el procesado anterior solamente una vez cuando el terminal 30 se conecte por vez primera a la red, o para adquirir periódicamente la MTU de la red y sobreescribir la MTU almacenada con la MTU adquirida.
Aquí, la MTU es adquirida usando la técnica para descubrir MTUs de ruta descritas en RFC 1191.
La unidad de generación de búsqueda de información 206 genera un paquete de búsqueda de servidor como se describe más adelante cuando envía una petición. Un paquete de búsqueda de servidor está constituido por una cabecera IP y una carga IP. La descripción siguiente se refiere a un paquete de búsqueda de servidor ejemplar 301 representado en la figura 4A.
La cabecera IP incluye un bit DF, un TTL, y una dirección destino. La unidad de generación de búsqueda de información 206 pone el bit DF a “encendido” para prohibir la fragmentación, pone la TTL a “1”, y pone una dirección multidifusión en la dirección destino. Aquí, el servidor de contenido 20 notifica al terminal 30 con anterioridad la TTL puesto por la unidad 206.
La carga IP incluye el tipo de paquete, la ID de dispositivo, información única de dispositivo de repetición y datos de relleno. La unidad de generación de búsqueda de información 206 escribe “búsqueda de servidor” como el tipo de paquete con el fin de mostrar que el paquete es un paquete de búsqueda de servidor. La unidad 206 lee “ID_B” de la unidad de gestión de ID 203, y escribe la “ID_B” leída como la ID de dispositivo. La unidad 206 lee la dirección MAC de router de la unidad de adquisición de información 204, y escribe la dirección MAC leída como la información única de dispositivo de repetición. La unidad 206 escribe datos de relleno en la carga IP con el fin de hacer el paquete de búsqueda de servidor 301 del mismo tamaño de datos que la MTU. Los datos de relleno en el ejemplo dado tienen un valor cero.
La unidad de generación de búsqueda de información 206 envía secuencialmente el paquete de búsqueda de servidor resultante 301 a la unidad de encriptado 202.
La unidad de generación de petición de información 207 genera un paquete de petición de compartición de clave como se describe más adelante cuando se recibe un paquete de confirmación de la unidad de encriptado 202. Un paquete de petición de compartición de clave está constituido por una cabecera IP y una carga IP. En el ejemplo siguiente, el paquete de petición de compartición de clave 303 (figura 4C) es generado a la recepción de un paquete de confirmación 302 (figura 4B) de la unidad 202.
La cabecera IP incluye un bit DF, un TTL, y una dirección destino. La unidad de generación de petición de información 207 pone el bit DF a “activado”, y pone la TTL a “1”. La unidad 207 lee la dirección IP del servidor de contenido 20 de la carga IP del paquete de confirmación 302, y escribe la dirección IP leída como la dirección destino. Aquí, el servidor de contenido 20 notifica con anterioridad al terminal 30 la TTL puesta por la unidad 207.
La carga IP incluye el tipo de paquete, la ID de dispositivo, información única de dispositivo de repetición y datos de relleno. La unidad de generación de petición de información 207 escribe “petición de compartición de clave” como el tipo de paquete con el fin de mostrar que el paquete es un paquete de petición de compartición de clave. La unidad 207 lee “ID_B” de la unidad de gestión de ID 203, y escribe la “ID_B” leída como la ID de dispositivo. La unidad 207 lee la dirección MAC de router de la unidad de adquisición de información 204, y escribe la dirección MAC leída como la información única del dispositivo de repetición. La unidad 207 escribe datos de relleno en la carga IP con el fin de hacer el paquete de búsqueda de servidor 301 del mismo tamaño de datos que la MTU. Los datos de relleno en el ejemplo dado tienen un valor cero.
La unidad de generación de petición de información 207 envía secuencialmente el paquete de petición de compartición de clave resultante 303 a la unidad de encriptado 202.
El centro de gestión externo proporciona con anterioridad a la unidad de generación de clave 208 la curva elíptica E y el origen G.
La unidad de generación de clave 208 realiza procesado de generación de clave compartida como se describe más adelante cuando un paquete de petición de compartición de clave generado por la unidad de generación de petición de información 207 es transmitido al servidor de contenido 20.
La unidad de generación de clave 208 pone una clave secreta xB y calcula una clave pública YB usando la expresión siguiente:
YB = xB * G
La unidad de generación de clave 208 envía la clave pública YB al servidor de contenido 20, y recibe la clave pública YA de servidor de contenido 20 del servidor de contenido 20.
Usando la clave pública YA recibida y la clave secreta xB del terminal 30, la unidad de generación de clave 208 calcula xB * YA para generar una clave compartida, y guarda internamente la clave compartida.
Aquí, la clave compartida xA * YB calculada por la unidad de generación de clave 108 en el servidor de contenido 20 puede ser transformada de la siguiente manera:
XA * YB = (xA X xB) * G
Por otra parte, la clave compartida xB * YA calculada por la unidad de generación de clave 208 puede ser transformada de la siguiente manera:
XB * YA = (xB X xA) * G = (xA X xB) * G
Esto muestra que la clave compartida xA * YB calculada por la unidad 108 es la misma que la clave compartida xB * YA calculada por la unidad 208.
La unidad de almacenamiento de contenido 209 es específicamente una unidad de disco duro que recibe contenido encriptado de la unidad de encriptado 202, y guarda el contenido recibido.
Como se representa en la figura 1, los terminales 40 y 50 están conectados al router 12. Estos terminales están constituidos por una unidad de comunicaciones, una unidad de encriptado, una unidad de gestión de ID, una unidad de adquisición de información, una unidad de descubrimiento MTU, una unidad de generación de búsqueda de información, una unidad de generación de petición de información, una unidad de generación de clave, y una unidad de almacenamiento.
Las estructuras de los terminales 40 y 50 son las mismas que las del terminal 30, así como las funciones de los respectivos componentes. Por ello se han omitido aquí los diagramas de bloques funcionales que representan los terminales 40 y 50 y las descripciones de los varios componentes.
El router 12 desecha paquetes de búsqueda de servidor transmitidos por el terminal 40 o 50 cuyo TTL se ha puesto a “1”, no llegando estos paquetes al servidor de contenido 20.
Si el terminal 40 o 50 envía un paquete de búsqueda de servidor que tiene un valor TTL “4”, por ejemplo, este paquete llegará al servidor de contenido 20. Sin embargo, dado que el servidor de contenido 20 devuelve un paquete de confirmación que tiene un valor TTL “1” a la recepción de un paquete de búsqueda de servidor, el paquete de confirmación no llegará al originador (es decir, el terminal 40 o 50) del paquete de búsqueda de servidor, evitando así que el originador adquiera la dirección IP del servidor de contenido 20. Como tal, el originador es incapaz de realizar procesado de compartición de clave con el servidor de contenido 20.
Las operaciones del sistema de distribución de contenido 1 se describen más adelante usando los diagramas de flujo representados en las figuras 5 a 9.
En primer lugar, las operaciones generales del sistema 1 se describen usando el diagrama de flujo representado en la figura 5.
Cuando se emite una petición en el terminal 30 (paso S1), se realiza procesado de determinación AD entre el servidor de contenido 20 y el terminal 30 (paso S2), seguido por procesado de compartición de clave (paso S3). El servidor de contenido 20 realiza entonces procesado de transmisión de contenido (paso S4), y el terminal 30 realiza procesado de recepción de contenido (paso S5).
Dado que las operaciones de los terminales 40 y 50 son las mismas que las del terminal 30, el diagrama de flujo de la figura 5 representa solamente las operaciones del servidor de contenido 20 y el terminal 30 con el fin de simplificar la descripción.
El procesado de determinación AD se describe más adelante usando los diagramas de flujo representados en las figuras 6 y 7. El procesado aquí descrito se amplía en el paso S2 en la figura 5.
La unidad de adquisición de información 204 en el terminal 30 adquiere la dirección MAC del router al que está conectado el terminal 30 (paso S11). La unidad de generación de búsqueda de información 206 genera un paquete de búsqueda de servidor de tamaño MTU en el que la TTL se ha puesto a “1” y la dirección MAC adquirida en el paso S11 se escribe como la información única de dispositivo de repetición (paso S12). La unidad 206 envía secuencialmente el paquete generado a la unidad de encriptado 202, y la unidad 202 recibe el paquete de búsqueda de servidor y envía el paquete a la unidad de comunicaciones 201 después de encriptar la carga IP (paso S13). La unidad 201 transmite en multidifusión el paquete de búsqueda de servidor (paso S14).
El servidor de contenido 20 recibe el paquete de búsqueda de servidor transmitido por el terminal 30 (paso S14), y desencripta la carga encriptada usando la unidad de encriptado 102 (paso S15). La unidad de determinación AD 106 lee la ID de dispositivo del originador (terminal 30) incluida en la carga IP del paquete de búsqueda de servidor (paso S16), se refiere al CRL almacenado internamente, y determina si la ID de dispositivo de terminal 30 se enumera enel CRL (paso S17). Si se enumera (paso S17=SÍ), el servidor de contenido 20 termina el procesado.
Si se determina que la ID de dispositivo no se enumera en el CRL (paso S17=NO), la unidad de determinación AD 106 lee la TTL incluida en la cabecera IP (paso S18). Si la TTL no es “1” (paso S19=NO), el servidor de contenido 20 termina el procesado.
Si se determina que la TTL es “1” (paso S19=SÍ), la unidad de determinación AD 106 adquiere la información única de dispositivo de repetición incluida en la carga IP y la información única de dispositivo de repetición almacenada por la unidad de adquisición de información 104 (paso S20), y determina si los elementos de información adquiridos concuerdan (paso S21). Si no concuerdan (paso S21=NO), el servidor de contenido 20 termina el procesado.
Si se determina que los elementos de información adquiridos concuerdan (paso S21=SÍ), la unidad de determinación AD 106 ordena a la unidad de generación de confirmación-información 107 que genere un paquete de confirmación, y la unidad 107 genera un paquete de confirmación en el que la TTL se ha puesto a “1” y se incluye la dirección IP de servidor de contenido 20 (paso S22). La unidad 107 envía el paquete generado a la unidad de encriptado 102, y la unidad 102 envía el paquete de confirmación a la unidad de comunicaciones 101 después de encriptar la carga IP (paso S23). La unidad de comunicaciones 101 transmite el paquete de confirmación al terminal 30, que recibe el paquete de confirmación (paso S24).
La unidad de encriptado 202 en el terminal 30 envía el paquete de confirmación a la unidad de generación de petición de información 207 después de desencriptar la carga IP (paso S25). La unidad 207 genera un paquete de petición de compartición de clave de tamaño MTU en el que la dirección IP de servidor de contenido 20 incluida en la carga IP del paquete de confirmación se pone como la dirección destino, la TTL se pone a “1”, y la dirección MAC adquirida en el paso S11 se pone como la información única de dispositivo de repetición (paso S26).
La unidad de generación de petición de información 207 envía el paquete generado a la unidad de encriptado 202, y la unidad 202 envía el paquete de petición de compartición de clave a la unidad de comunicaciones 201 después de encriptar la carga IP (paso S27). La unidad de comunicaciones 201 transmite el paquete de petición de compartición de clave al servidor de contenido 20, que recibe el paquete de petición de compartición de clave (paso S28).
La unidad de encriptado 102 en el servidor de contenido 20 envía el paquete de petición de compartición de clave a la unidad de determinación AD 106 después de desencriptar la carga IP (paso S29). La unidad 106 lee la ID de dispositivo de terminal 30 incluida en la cabecera IP del paquete de petición de compartición de clave (paso S30), se refiere al CRL almacenado internamente, y determina si la ID de dispositivo se enumera en el CRL (paso S31). Si se enumera (paso S31=SÍ), el servidor de contenido 20 termina el procesado.
Si se determina que la ID de dispositivo no se enumera en el CRL (paso S31=NO), la unidad de determinación AD 106 lee la TTL incluida en la cabecera IP (paso S32). Si la TTL no es “1” (paso S33=NO), el servidor de contenido 20 termina el procesado.
Si la TTL es “1” (paso S33=SÍ), la unidad de determinación AD 106 adquiere la información única de dispositivo de repetición incluida en la carga IP y la información única de dispositivo de repetición almacenada en la unidad de adquisición de información 204 (paso S34), y determina si los dos elementos de información concuerdan (paso S35). Si no concuerdan (paso S35=NO), el servidor de contenido 20 termina el procesado. Si concuerdan (paso S35=SÍ), el servidor de contenido 20 y el terminal 30 prosiguen al procesado del paso S3 en la figura 5.
El procesado de compartición de clave se describe más adelante usando el diagrama de flujo representado en la figura 8. Este procesado, que se amplía en el paso S3 en la figura 5, es realizado por la unidad de generación de clave 108 en el servidor de contenido 20 y la unidad de generación de clave 208 en el terminal 30.
El servidor de contenido 20 pone la clave secreta xA (paso S41), y el terminal 30 pone la clave secreta xB (paso
S42).
El servidor de contenido 20 y el terminal 30 adquieren la curva elíptica E: y2 = x3 + ax + b y el origen G del centro de
gestión (pasos S43, S44).
El servidor de contenido 20 calcula la clave pública YA = xA” G (paso S45) y transmite la clave pública calculada al
terminal 30, que recibe la clave pública transmitida (paso S47).
El terminal 30, por otra parte, calcula la clave pública YB xB * G (paso S46) y transmite la clave pública calculada al
servidor de contenido 20, que recibe la clave pública transmitida (paso S48).
El servidor de contenido 20 calcula la clave compartida xA * YB (paso S49), y el terminal 30 calcula la clave
compartida xB * YA (paso S50).
Aquí, la clave compartida calculada por el servidor de contenido 20 puede ser transformada de la siguiente manera:
XA * YB = (xA X xB) * G
Por otra parte, la clave compartida calculada por el terminal 30 puede ser transformada de la siguiente manera:
XB * YA = (xB X xA) * G
= (xA X xB) * G
Esto muestra que las claves compartidas calculadas por el servidor de contenido 20 y el terminal 30 son las mismas. La unidad de generación de clave 108 en el servidor de contenido 20 y la unidad de generación de clave 208 en el terminal 30 almacenan internamente sus respectivas claves compartidas. A continuación, el servidor de contenido 20 y el terminal 30 pasan respectivamente a procesado de los pasos S4 y S5 en la figura 5.
El procesado de transmisión de contenido se describe más adelante usando el diagrama de flujo representado en la figura 9A. Esta operación se amplía en el paso S4 en la figura 5.
La unidad de almacenamiento de contenido 109 lee un contenido almacenado cuando lo ordena la unidad de generación de clave 108 (paso S61), y envía el contenido leído a la unidad de encriptado 102. A la recepción del contenido, la unidad 102 lee la clave compartida xA * YB de la unidad de generación de clave 108 (paso S62).
La unidad de encriptado 102 encripta el contenido usando la clave compartida xA * YB para generar un contenido encriptado (paso S63).
La unidad de comunicaciones 101 transmite el contenido encriptado al terminal 30 (paso S64), y vuelve al diagrama de flujo de la figura 5.
El procesado de recepción de contenido se describe más adelante usando el diagrama de flujo representado en la figura 9B. Esta operación se amplía en el paso S5 en la figura 5.
La unidad de comunicaciones 201 en el terminal 30 recibe un contenido encriptado del servidor de contenido 20 (paso S71), y envía el contenido encriptado a la unidad de encriptado 202.
La unidad de encriptado 202, a la recepción del contenido encriptado, lee la clave compartida xB * YA almacenada en la unidad de generación de clave 208 (paso S72).
La unidad de encriptado 202 desencripta el contenido encriptado usando la clave compartida xB * YA como una clave de desencriptado, para generar un contenido (paso S73). La unidad 202 guarda el contenido generado en la unidad de almacenamiento 209 (paso S74), y vuelve al diagrama de flujo de la figura 5.
Variación 1
Un sistema de distribución de contenido 1a (a continuación “sistema 1a”) descrito más adelante es una variación del sistema de distribución de contenido 1. En comparación con el sistema 1, que incluye un solo router por dominio autorizado, estando todos los dispositivos en AD conectados a este router, el sistema 1a incluye una pluralidad de routers por dominio autorizado, estando los dispositivos en AD conectados al servidor de contenido 20 mediante estos routers.
El sistema 1a se describirá ahora en detalle con referencia a los dibujos.
La figura 10 representa una estructura del sistema 1a. Como se representa en la figura 10, el sistema 1a incluye routers 10, 11, 11a, 11b y 12, un servidor de contenido 20, y terminales 30a y 30b. Los routers 11 y 12 están conectados al router 10, que, a su vez, está conectado a Internet 60. Los routers 10, 11, 11a y 11b son dispositivos de repetición en AD, y el router 12 es un dispositivo de repetición fuera de AD.
El servidor de contenido 10 y el router 11a están conectados al router 11, el terminal 30a y el router 11b están conectados al router 11a, y el terminal 30b está conectado al router 11b. Uno o más terminales están conectados al router 12, aunque aquí se omite la ilustración y la descripción de estos terminales.
Los dispositivos en el sistema 1a comunican usando IPv4 como un protocolo de comunicación.
Dado que el servidor de contenido 20 en el sistema 1a tiene la misma estructura y función que el servidor de contenido 20 en el sistema 1, aquí se omite la descripción.
La figura 11 es un diagrama de bloques funcionales que representa una estructura funcional del terminal 30b. Como se representa en la figura 11, el terminal 30b está constituido por una unidad de comunicaciones 201, una unidad de encriptado 202, una unidad de gestión de ID 203, una unidad de descubrimiento MTU 205, una unidad de búsqueda TTL 206b, una unidad de generación de petición de información 207, una unidad de generación de clave 208, y una unidad de almacenamiento 209. Los componentes del terminal 30b que tienen la misma función que los componentes del terminal 30 (figura 3) se representan usando los mismos signos de referencia. Aquí se omite la descripción de estos componentes.
El terminal 30b difiere del terminal 30 en que se omiten la unidad de adquisición de información 204 y la unidad de generación de búsqueda de información 206 y se incluye la unidad de búsqueda TTL 206b. Dado que el terminal 30b tiene que conocer qué TTL poner con el fin de comunicar con el servidor de contenido 20, la unidad de búsqueda TTL 206b funciona para buscar la TTL correcta.
La unidad de búsqueda TTL 206b genera el paquete de búsqueda TTL 304 representado en la figura 12. Como se representa en la figura 12, el paquete de búsqueda TTL 304 está constituido por una cabecera IP y una carga IP. La cabecera IP incluye un bit DF “activado”, un TTL “n” y una dirección destino “dirección multidifusión”. La carga IP incluye un paquete del tipo de “búsqueda TTL”, una ID de dispositivo “ID_C”, y “0” datos de relleno. Aquí, “n” es un entero tal que 1 % n < 255. La ID de dispositivo “ID_C”, que identifica de forma única el terminal 30b,
son específicamente datos de 6 bits únicos para el terminal 30b que se almacenan en la unidad de gestión de ID
203. Aquí se omite la descripción del terminal 30a, que tiene la misma estructura y función que el terminal 30b.
La figura 13 es un diagrama de flujo que representa las operaciones generales realizadas en el sistema 1a.
Cuando aparece una petición en el terminal 30b (paso S81), el terminal 30b realiza procesado de búsqueda TTL (paso S82) para buscar un TTL a poner con el fin de comunicar con el servidor de contenido 20. Cuando se determina la TTL, se realiza procesado de determinación AD entre el servidor de contenido 20 y el terminal 30b (paso S83), seguido del procesado de compartición de clave (paso S84). El servidor de contenido 20 realiza entonces procesado de transmisión de contenido (paso S85), y el terminal 30b realiza procesado de recepción de contenido (paso S86).
Se deberá indicar que, dado que el terminal 30a realiza las mismas operaciones que el terminal 30b, el diagrama de flujo de la figura 13 ilustra solamente las operaciones del servidor de contenido 20 y el terminal 30b para facilitar la descripción.
Las operaciones realizadas para buscar un TTL que permita al terminal 30b comunicar con el servidor de contenido 20 se describen más adelante usando el diagrama de flujo representado en la figura 14. Estas operaciones se amplían en el paso S82 del diagrama de flujo de la figura 13.
La unidad de búsqueda TTL 206b pone en primer lugar n a “1” (paso S91). La unidad 206b genera entonces un paquete de búsqueda TTL en el que la TTL se pone a “n”. La unidad de comunicaciones 201 transmite en multidifusión el paquete de búsqueda TTL después de que la unidad de encriptado 202 haya encriptado la carga IP (paso S92).
Cuando un paquete de confirmación es recibido del servidor de contenido 20 (paso S93=SÍ), la unidad de búsqueda TTL 206b determina que n sea la TTL usada en comunicación con el servidor de contenido 20 (paso S94), y termina el procesado.
Cuando no se recibe un paquete de confirmación del servidor de contenido 20 (paso S93=NO), la unidad de búsqueda TTL 206b determina si n es un número menor que 255. Si n es mayor o igual a 255 (paso S95=NO), la unidad 206b determina que la búsqueda ha fallado, y termina el procesado.
Si n es menor que 255 (paso S95=SÍ), la unidad de búsqueda TTL 206b pone n a n+1, y vuelve al paso S92 para continuar el procesado.
El terminal 30b continúa generando y transmitiendo multidifusión paquetes de búsqueda TTL en los que la TTL se incrementa de 1 a 255, hasta que se recibe una respuesta del servidor de contenido 20.
El procesado de determinación AD se describe más adelante usando los diagramas de flujo representados en las figuras 15 y 16. El procesado aquí descrito se amplía en el paso S83 en el diagrama de flujo de la figura 13 e incluye el procesado representado en el diagrama de flujo de la figura 14.
La unidad de búsqueda TTL 206 en el terminal 30b genera un paquete de búsqueda TTL (paso S101), y la unidad de encriptado 202 encripta la carga IP del paquete generado (paso S102). La unidad de comunicaciones 201 transmite en multidifusión el paquete de búsqueda TTL, y la unidad de comunicaciones 101 en el servidor de contenido 20 recibe el paquete de búsqueda TTL (paso S103).
La unidad de encriptado 102 desencripta la carga IP encriptada (paso S104). La unidad de determinación AD 106 lee la ID de dispositivo del originador (terminal 30b) incluida en la carga IP del paquete de búsqueda TTL (paso S105), se refiere al CRL almacenado internamente, y determina si la ID de dispositivo de terminal 30b se enumeraen el CRL (paso S106). Si se enumera (paso S106=SÍ), el servidor de contenido 20 termina el procesado.
Si se determina que la ID de dispositivo no se enumera en el CRL (paso S106=NO), la unidad de determinación AD 106 ordena que la unidad de generación de confirmación-información 107 genere un paquete de confirmación. La unidad 107 genera un paquete de confirmación cuyo TTL se pone a la TTL incluida en el paquete de búsqueda TTL y que incluye la dirección IP de servidor de contenido 20 (paso S109), y envía el paquete generado a la unidad de encriptado 102. La unidad 102 encripta la carga IP del paquete de confirmación (paso S110). La unidad de comunicaciones 101 transmite entonces el paquete de confirmación al terminal 30b, que recibe el paquete de confirmación (paso S111).
La unidad de encriptado 202 en el terminal 30b desencripta la carga IP encriptada del paquete de confirmación recibido (paso, S112), y envía entonces el paquete de confirmación a la unidad de generación de petición de información 207. La unidad 207 genera un paquete de petición de clave en el que la dirección destino se pone a la dirección IP de servidor de contenido 20 incluida en la carga IP del paquete de confirmación, la TTL se pone a n determinado en el paso S94, y el tamaño de datos del paquete se pone a la MTU (paso S113).
La unidad de generación de petición de información 207 envía el paquete de petición de clave generado a la unidad de encriptado 202, y la unidad 202 encripta la carga IP del paquete de petición de clave (paso S114). La unidad de comunicaciones 201 transmite entonces el paquete de petición de clave al servidor de contenido 20, que recibe el paquete de petición de clave (paso S115).
La unidad de encriptado 102 en el servidor de contenido 20 desencripta la carga IP encriptada del paquete de petición de clave recibido (paso S116), y entonces envía el paquete de petición de clave a la unidad de determinación AD 106. La unidad 106 lee la ID de dispositivo de terminal 30b de la carga IP del paquete de petición de clave (paso S117), se refiere a la CRL almacenada, y determina si la ID de dispositivo de terminal 30b seenumera en el CRL (paso S118). Si se enumera (paso S118=SÍ), el servidor de contenido 20 termina el procesado.
Si la ID de dispositivo de terminal 30b no se enumera en el CRL (paso S118=NO), el servidor de contenido 20 y el terminal 30b pasan al procesado del paso S84 en la figura 13.
Dado que las operaciones de procesado detalladas de los pasos S84, S85 y S86 de la figura 13 son las mismas que las representadas en las figuras 8, 9a y 9b, aquí se omite la descripción.
Variación 2
Un sistema de distribución de contenido 1b (a continuación “sistema 1b”) descrito más adelante es una variación del sistema de distribución de contenido 1.
En el sistema 1b, el procesado de determinación AD y el procesado de compartición de clave son realizados al mismo tiempo más bien que consecutivamente, haciendo que los dispositivos transmitan/reciban paquetes cuyo TTL se haya puesto a “1”. El sistema 1b se describe más adelante en detalle con referencia a los dibujos.
La figura 17 representa una estructura del sistema 1b. El sistema 1b está constituido por routers 10, 11 y 12, un servidor de contenido 20b, y terminales 30c, 40 y 50. Dado que los routers 10, 11 y 12, y los terminales 40 y 50 tienen la misma estructura y función que los componentes del sistema 1 (figura 1) marcados con los mismos signos de referencia, aquí se omite la descripción. La descripción siguiente se refiere al servidor de contenido 20b y el terminal 30c, que tienen diferentes estructuras y funciones de los componentes del sistema 1.
La figura 18 es un diagrama de bloques funcionales que representa una estructura funcional del servidor de contenido 20b. Como se representa en la figura 18, el servidor de contenido 20b está constituido por una unidad de comunicaciones 101, una unidad de encriptado 102, una unidad de gestión de ID 103, una unidad de descubrimiento de unidad de transmisión máxima (MTU) 105, una unidad de determinación AD 106b, una unidad de generación de clave 108b, y una unidad de almacenamiento de contenido 109. Los componentes de los servidores de contenidos 20 (figura 2) y 20b (figura 18) que tienen las mismas funciones se denotan usando los mismos signos de referencia. Aquí se omite la descripción de estos componentes.
La unidad de determinación AD 106b lee la TTL incluida en paquetes de clave pública recibidos del terminal 30c, y determina los paquetes que habrán sido enviados desde un terminal en AD si la TTL leída es “1”. Los paquetes de clave pública recibidos del terminal 30c se describen en detalle en una sección posterior.
Como con la unidad de generación de clave 108 en el servidor de contenido 20, un centro de gestión externo proporciona con anterioridad a la unidad de generación de clave 108b la curva elíptica E: y2 = x3 + ax + b y el origen
G. La unidad 108b pone la clave secreta xA, y calcula la clave pública YA = xA * G. La unidad 108b divide la clave pública YA para generar paquetes de clave pública, y transmite secuencialmente los paquetes generados al terminal 30c mediante la unidad de encriptado 102 y la unidad de comunicaciones 101.
La figura 20A representa la estructura de datos de un paquete de clave pública 305, que es un paquete de clave pública ejemplar generado por el servidor de contenido 20b. Como se representa en la figura 20A, el paquete de clave pública 305 está constituido por una cabecera IP y una carga IP. La cabecera IP incluye un bit DF “activado”, un TTL “1”, y una dirección destino de “terminal 30c”. La carga IP incluye un tipo de paquete de “clave pública”, una ID de dispositivo “ID_A”, una clave pública “YA”, y datos de relleno “0”.
La unidad de generación de clave 108b evita la encapsulación poniendo el bit DF a “activado”, y evita que el paquete de clave pública 305 sea transmitido más allá del router 11 (es decir, fuera del dominio autorizado) poniendo la TTL a “1”. Aquí, se supone que el servidor de contenido 20b conoce la dirección IP del terminal 30c puesta en la dirección destino por la unidad 108b.
Como se representa en la figura 20A, el tamaño de datos de paquete de clave pública 305 es el mismo que el de la MTU. Para generar el paquete 305, la unidad de generación de clave 108b adquiere la MTU de la unidad de descubrimiento MTU 105 y rellena el paquete para hacer el tamaño de datos igual a la MTU adquirida. El paquete de clave pública 305 es transmitido entonces al terminal 30c después de que la unidad de encriptado 102 ha encriptado la carga IP.
La unidad de generación de clave 108b recibe paquetes de clave pública del terminal 30c mediante la unidad de comunicaciones 101 y la unidad de encriptado 102, acumula los paquetes de clave pública recibidos, y genera la clave pública YB usando los paquetes de clave pública acumulados. La unidad 108b genera la clave compartida xA * YB calculando xA * YB a partir de la clave secreta xA del servidor de contenido 20b y la clave pública generada YB del terminal 30c. La unidad 108b guarda entonces internamente la clave compartida xA * YB.
Después de almacenar la clave compartida xA * YB, la unidad de generación de clave 108b ordena que la unidad de contenido 109 lea un contenido.
La figura 19 es un diagrama de bloques funcionales que representa una estructura del terminal 30c. Como se representa en la figura 19, el terminal 30c está constituido por una unidad de comunicaciones 201, una unidad de encriptado 202, una unidad de gestión de ID 203, una unidad de descubrimiento MTU 205, una unidad de generación de clave 208c, y una unidad de almacenamiento 209.
Se usan los mismos signos de referencia para designar componentes comunes a ambos terminales 30 (figura 3) y 30c (figura 19). Aquí se omite la descripción de estos componentes. El terminal 30c difiere del terminal 30 en que no incluye una unidad de adquisición de información 204, una unidad de generación de búsqueda de información 206, o una unidad de generación de petición de información 207.
Como con la unidad de generación de clave 208 en el terminal 30, el centro de gestión externo proporciona con anterioridad a la unidad de generación de clave 208c la curva elíptica E: y2 = x3 + ax + b y el origen G.
La unidad de generación de clave 208c pone la clave secreta xB, y calcula la clave pública YB = xB * G. La unidad 208c divide entonces la clave pública generada YB para generar paquetes de clave pública, y transmite secuencialmente los paquetes generados al servidor de contenido 20b mediante la unidad de encriptado 202 y la unidad de comunicaciones 201.
La figura 20B representa la estructura de datos de un paquete de clave pública 306, que es un paquete de clave pública ejemplar generado por el terminal 30c. Como se representa en la figura 20B, el paquete de clave pública 306 está constituido por una cabecera IP y una carga IP. La cabecera IP incluye un bit DF “activado”, un TTL “1”, y una dirección destino “dirección IP de servidor”. La carga IP incluye un paquete del tipo de “clave pública”, UNA ID de dispositivo “ID_M”, una clave pública “YB”, y datos de relleno “0”. Aquí, “ID_M” son datos de 8 bytes usados para identificar de forma única el terminal 30c.
La unidad de generación de clave 208c evita la encapsulación poniendo el bit DF a “activado”, y evita que el paquete de clave pública 306 sea transmitido más allá del router 11 (es decir, fuera del dominio autorizado) poniendo la TTL a “1”. Aquí, se supone que el terminal 30c conoce la dirección IP del servidor de contenido 20b puesta en la dirección destino por la unidad 208c.
Como se representa en la figura 20B, el tamaño de datos de paquete de clave pública 306 es el mismo que la MTU. Para generar el paquete 306, la unidad de generación de clave 208c adquiere la MTU de la unidad de descubrimiento MTU 205 y rellena el paquete para hacer el tamaño de datos igual a la MTU adquirida. El paquete de clave pública 306 es transmitido entonces al servidor de contenido 20b después de que la unidad de encriptado 202 haya encriptado la carga IP.
La unidad de generación de clave 208c recibe paquetes de clave pública del servidor de contenido 20b mediante la unidad de comunicaciones 201 y la unidad de encriptado 202, acumula los paquetes de clave pública recibidos, y genera la clave pública YA usando los paquetes de clave pública acumulados.
La unidad 208c genera la clave compartida xB * YA calculando xB * YA a partir de la clave secreta xB del terminal 30c y la clave pública generada YA del servidor de contenido 20b. La unidad 208c guarda entonces internamente la clave compartida xB * YA.
Las operaciones de sistema 1b se describen más adelante usando los diagramas de flujo representados en las figuras 21 y 22.
La figura 21 es un diagrama de flujo que representa las operaciones generales del sistema 1b. Cuando aparece una petición en el terminal 30c (paso S201), se realiza procesado de compartición de clave entre el servidor de contenido 20b y el terminal 30c (paso S202). A continuación, el servidor de contenido 20b realiza procesado de transmisión de contenido (paso S203), y el terminal 30c realiza procesado de recepción de contenido (paso S204).
La figura 22 es un diagrama de flujo del procesado de compartición de clave. Las operaciones representadas en la figura 22 se amplían en el paso S202 en el diagrama de flujo de la figura 21.
El servidor de contenido 20b pone la clave secreta xA (paso S211), y el terminal 30c pone la clave secreta xB (paso S212).
El servidor de contenido 20b y el terminal 30c adquieren la curva elíptica E: y2 = x3 + ax + b y el origen G del centro de gestión (pasos S213, S214).
El servidor de contenido 20b calcula la clave pública YA = xA * G (paso S215), y divide la clave pública calculada YA para generar paquetes de clave pública tal como el paquete 305 representado en la figura 20A, en el que la TTL en la cabecera IP se ha puesto a “1” (paso S217). El servidor de contenido 20b transmite entonces secuencialmente los paquetes de clave pública generados al terminal 30c, que recibe los paquetes de clave pública (paso S219).
El terminal 30c calcula la clave pública YB = xB * G (paso S216), y divide la clave pública calculada YB para generar paquetes de clave pública tal como el paquete 306 representado en la figura 20B, en el que la TTL en la cabecera IP se ha puesto a “1” (paso S218). El terminal 30c transmite entonces secuencialmente los paquetes de clave pública generados al servidor de contenido 20b, que recibe los paquetes de clave pública (paso S220).
El servidor de contenido 20b comprueba la TTL incluida en los paquetes de clave pública recibidos (paso S221), y sila TTL es “1” (paso S223=SÍ), calcula la clave compartida xA * YB de la clave secreta xA puesta en el paso S211 y la clave pública YB recibida (paso S225). Si la TTL no es “1” (paso S223=NO), el servidor de contenido 20b termina el procesado.
El terminal 30c comprueba la TTL incluida en los paquetes de clave pública recibidos (paso S222), y si la TTL es “1”(paso S224=SÍ), calcula la clave compartida xB * YA a partir de la clave secreta xA puesta en el paso S212 y la clave pública YA recibida (paso S226). Si la TTL no es “1” (paso S224=NO), el terminal 30c termina el procesado.
La clave compartida calculada por el servidor de contenido 20 puede ser transformada de la siguiente manera:
XA * YB = (xA X. XB) * G
Por otra parte, la clave compartida calculada por el terminal 30c puede ser transformada de la siguiente manera:
XB * YA = (xB X xA) * G
= (xA X xB) * G
Esto muestra que las claves compartidas calculadas por el servidor de contenido 20b y el terminal 30c son las mismas.
La unidad de generación de clave 108b en el servidor de contenido 20b y la unidad de generación de clave 208c en el terminal 30c almacenan internamente respectivas claves compartidas. El servidor de contenido 20b y el terminal 30c realizan entonces respectivamente el procesado de S203 y S204 en el diagrama de flujo de la figura 21.
Dado que el procesado de transmisión de contenido en el paso S203 y el procesado de recepción de contenido en el paso S204 son los mismos que los realizados en el sistema 1 (es decir, las figuras 9A y 9B, respectivamente), aquí se omite la descripción.
Para resumir lo anterior, en la realización 1, el servidor de contenido 20 determina si los terminales son terminales en AD o fuera de AD, usando TTLs puestos en paquetes recibidos de los terminales como distancias de comunicación que representan lo lejos que están los terminales en términos de comunicación de datos.
En el sistema 1, los terminales transmiten en multidifusión paquetes de búsqueda de servidor que tienen un TTL “1”. Los paquetes de búsqueda de servidor no serán transmitidos a otras redes secundarias más allá del router al que los terminales están conectados. Así, el servidor de contenido 20 solamente recibe paquetes de búsqueda de servidor transmitidos desde el terminal 30 conectado al mismo router que el servidor de contenido 20.
El servidor de contenido 20, a la recepción de un paquete de búsqueda de servidor, devuelve un paquete de confirmación que tiene un TTL “1”. El paquete de confirmación no será transmitido a otras redes secundarias más allá del router al que el servidor de contenido 20 está conectado. Así, el terminal 30 conectado al mismo router que el servidor de contenido 20 es el único terminal capaz de recibir el paquete de confirmación (es decir, los terminales 40 o 50 no pueden recibir el paquete de confirmación).
Además, el servidor de contenido 20 y el terminal 30, transmitiendo/recibiendo paquetes que tienen un bit DF “activado” y un tamaño de datos igual a la MTU como resultado de relleno, evitan que se envíen paquetes IP a terminales ilegítimos con información redundante adjuntada por otros terminales, en particular terminales ilegítimos, a lo largo de la ruta de transmisión.
Además, dado que el terminal 30 transmite paquetes cuya carga IP contiene la dirección MAC del router al que el terminal 30 está conectado, el servidor de contenido 20 es capaz de confirmar que el terminal 30 está conectado al mismo router.
En la variación anterior 1, el servidor de contenido 20a y el terminal 30 están conectados uno a otro mediante una pluralidad de dispositivos de repetición. El terminal 30 transmite en multidifusión paquetes de búsqueda TTL cuyo TTL se incrementa en “1” por paquete de un valor mínimo de “1”, hasta que se recibe una respuesta del servidor de contenido 20a. Cuando un paquete de confirmación es recibido del servidor de contenido 20a después de transmitir en multidifusión un paquete de búsqueda TTL que tiene un TTL “n”, el terminal 30 determina que “n” es la TTL mínima requerida para comunicar con el servidor de contenido 20a. El servidor de contenido 20a y el terminal 30 realizan entonces compartición de clave y transmisión/recepción de contenido usando paquetes en los que la TTL se ha puesto a “n”.
En la variación anterior 2, cuando el servidor de contenido 20b y el terminal 30 conocen la dirección IP de los demás, el sistema 1b permite realizar el procesado de determinación AD al mismo tiempo que las claves públicas son intercambiadas, omitiendo al mismo tiempo el procesado de búsqueda de servidor del sistema 1, usando paquetes de clave pública que tienen un TTL “1” en la clave que comparten.
Se deberá indicar que en la variación 2 la TTL puesta en un paquete de clave pública no tiene que ser “1”. Por ejemplo, la TTL entre el servidor de contenido 20b y el terminal 30c se puede poner a un valor arbitrario “n”, y la determinación AD realizada confirmando que la TTL en los paquetes recibidos es menor o igual a “n”.
Además, el procesado de los pasos S222 y S224 de la figura 22 no es absolutamente necesario. Por ejemplo, se puede disponer una estructura en la que solamente el servidor de contenido 20b confirme que la TTL de paquetes recibidos es “1”.
Además, en la variación 2, la unidad de determinación AD 106b en el servidor de contenido 20b puede estar estructurada para almacenar internamente una CRL, leer la ID de dispositivo de terminal 30c incluida en paquetes de clave pública recibidos del terminal 30c, y determinar si la ID leída se enumera en el CRL. Si se determina que la ID de dispositivo se enumera en el CRL, el servidor de contenido 20b puede suprimir la transmisión de un paquete de clave pública al terminal 30c.
Realización 2
Un sistema de distribución de contenido 2 se describe más adelante como una realización 2 de la presente invención, con referencia a los dibujos. Como con el sistema 1, el sistema de distribución de contenido 2 (a continuación “sistema 2”) usa la TTL en paquetes transmitidos desde terminales para determinar si los terminales son terminales en AD. Sin embargo, en comparación con el sistema 1, en el que el servidor y los terminales en AD comparten claves, el sistema 2 está estructurado de tal manera que el servidor se registre en terminales AD en un grupo.
Los dispositivos del sistema 2 comunican usando IPv4 como un protocolo de comunicación.
La figura 23 representa una estructura del sistema 2. El sistema 2 está constituido por routers 10, 11 y 12, un servidor de contenido 20a, y terminales 30, 40 y 50. Dado que los routers y los terminales en el sistema 2 tienen la misma estructura y función que los del sistema 1 (figura 1) marcados por los mismos signos de referencia, aquí se omite la descripción. La descripción siguiente se refiere al servidor de contenido 20a, cuya función difiere del sistema
1.
La figura 24 es un diagrama de bloques que representa una estructura de servidor de contenido 20a. Como se representa en la figura 24, el servidor de contenido 20a está constituido por una unidad de comunicaciones 101, una unidad de encriptado 102, una unidad de gestión de ID 103, una unidad de adquisición de información 104, una unidad de descubrimiento de unidad de transmisión máxima (MTU) 105, una unidad de determinación AD 106, una unidad de generación de confirmación-información 107, una unidad de gestión de grupo 108a, y una unidad de almacenamiento de contenido 109. Los componentes que tienen la misma función que los del servidor de contenido 20 (figura 2) se denotan usando los mismos signos de referencia. Aquí se omite la descripción de estos componentes.
La unidad de gestión de grupo 108a gestiona información relativa a terminales que la unidad de determinación AD 106 considera que son terminales en AD (a continuación, “terminales en grupo”). Más específicamente, la unidad 108a genera peticiones de IDs cuando lo ordena la unidad de determinación AD 106, y transmite las IDs pedidas generadas a terminales en grupo. La unidad 108a también registra terminales en grupo en una tabla de grupos 350 representada en la figura 25, correspondiendo las IDs pedidas con las IDs de dispositivo de los terminales en grupo en la tabla 350.
La tabla de grupos 350 está constituida de tal manera que las IDs pedidas correspondan a IDs de dispositivo para todos los terminales que la unidad de determinación AD 106 considere que son terminales en AD. Por ejemplo, “CID_0001” es la ID pedida correspondiente a la ID de dispositivo “ID_E”. Igualmente, “CID_0002” es la ID pedida correspondiente a la ID de dispositivo “ID_F”.
Además, cuando se recibe una petición de transmisión que incluye la ID de dispositivo y la ID pedida del terminal que hace la petición, la unidad de gestión de grupo 108a determina si las IDs de dispositivo y pedidas recibidas están registradas en la tabla de grupos 350.
Cuando se considera que las IDs de dispositivo y pedidas recibidas están registradas, la unidad de gestión de grupo 108a lee un contenido de unidad de almacenamiento de contenido 109, y transmite el contenido leído al terminal solicitante mediante la unidad de comunicaciones 101.
Las operaciones del sistema 2 se describen más adelante usando los diagramas de flujo representados en las figuras 26A y 26B. Se deberá indicar que, aunque los diagramas de flujo de las figuras 26A y 26B ilustran solamente las operaciones del servidor de contenido 20a y el terminal 30, las operaciones de los terminales 40 y 50 son las mismas que las del terminal 30.
El diagrama de flujo de la figura 26A representa procesado de registro en grupo realizado en el sistema 2.
En primer lugar, cuando aparece una petición en el terminal 30 (paso S131), se realiza procesado de determinación AD entre el servidor de contenido 20a y el terminal 30 (paso S132).
A continuación, el servidor de contenido 20a genera UNA ID pedida (paso S133) y transmite la ID generada al terminal 30, que recibe la ID pedida (paso S134).
Gestión de grupo 108a en el servidor de contenido 20a registra el terminal 30 en la tabla de grupos 350 correspondiendo la ID pedida generada en el paso S133 con la ID de dispositivo de terminal 30 (paso S135). El terminal 30 guarda la ID pedida recibida en el paso S134 en la unidad de gestión de ID 203 (paso S136).
El diagrama de flujo de la figura 26B representa operaciones de procesado de petición de contenido realizadas en el sistema 2.
En primer lugar, cuando aparece una petición en el terminal 30 (paso S141), la unidad de gestión de ID 203 lee LA ID de dispositivo y la ID pedida almacenadas (paso S143) y transmite las IDs leídas al servidor de contenido 20a mediante la unidad de comunicaciones 201, que recibe las IDs (paso S143).
Gestión de grupo 108a en el servidor de contenido 20a lee la tabla de grupos almacenada 350 (paso S144), y determina si las IDs de dispositivo y pedidas recibidas del terminal 30 están registradas en la tabla leída (paso S145).
Si se considera que las IDs recibidas están registradas en la tabla de grupos 350 (paso S145=SÍ), gestión de grupo 108a lee un contenido de la unidad de almacenamiento de contenido 109 (paso S146) y transmite el contenido leído al terminal 30 mediante la unidad de comunicaciones 101, y el terminal 30 recibe el contenido (paso S147). El terminal 30 reproduce el contenido recibido o lo guarda en la unidad de almacenamiento 209 (paso S148).
Cuando se determina que LA ID de dispositivo e ID pedida recibidas no están registradas (paso S145=NO), el servidor de contenido 20a termina el procesado.
Para resumir la realización 2, el dispositivo de comunicaciones incluye: una unidad de adquisición operable para adquirir una distancia de comunicación que indica lo lejos que el dispositivo de comunicaciones está de otro dispositivo de comunicaciones en comunicación de datos; una unidad de determinación de distancia operable para determinar si la distancia de comunicación adquirida es menor o igual a un valor predeterminado; y una unidad de registro operable, cuando se considere afirmativo, para registrar el otro dispositivo de comunicaciones en un grupo.
El dispositivo de comunicaciones realiza comunicación de datos con el otro dispositivo de comunicaciones, y la distancia de comunicación indica cuántos datos transmitidos de dispositivos de repetición por el otro dispositivo de comunicaciones pasaron a través antes de llegar al dispositivo de comunicaciones.
La distancia de comunicación indica por cuántos routers, como los dispositivos de repetición, pasaron los datos desde el otro dispositivo de comunicaciones al dispositivo de comunicaciones.
El dispositivo de comunicaciones realiza la comunicación de datos en un formato de paquete que incluye un TTL cuyo valor disminuye “1” para cada router pasado, y la unidad de adquisición usa la TTL al adquirir la distancia de comunicación.
Cada paquete recibido del otro dispositivo de comunicaciones incluye primera información de identificación que identifica de forma única un router al que el otro dispositivo de comunicaciones está conectado. Además, el dispositivo de comunicaciones incluye además: una unidad de adquisición de información de router operable para adquirir segunda información de identificación que identifica de forma única un router con el que el dispositivo de comunicaciones está conectado; una unidad de determinación de ID operable para determinar si la primera información de identificación corresponde a la segunda información de identificación; y una unidad de supresión operable, si se considera negativo, para suprimir la transmisión/recepción de contenido por el dispositivo de comunicaciones.
Un tamaño de datos de cada paquete transmitido/recibido por el dispositivo de comunicaciones es igual a una MTU de una red a la que el dispositivo de comunicaciones está conectado, y la transmisión/recepción de paquetes parciales está prohibida.
La TTL incluida en cada paquete recibido del otro dispositivo de comunicaciones se pone a un valor predeterminado al tiempo de transmisión, y la unidad de adquisición lee un valor de la TTL del paquete recibido, y adquiere la distancia de comunicación en base a la diferencia entre el valor leído y el valor predeterminado de la TTL. Aquí, el valor predeterminado de la TTL es “1”.
El dispositivo de comunicaciones incluye además una unidad de transmisión operable para transmitir un contenido al otro dispositivo de comunicaciones registrado en el grupo por la unidad de registro.
Además, un sistema de registro de grupo en la realización 2 está constituido por un primer y un segundo dispositivo de comunicaciones que están conectados mediante uno o más dispositivos de repetición. El segundo dispositivo de comunicaciones transmite una petición de registro al primer dispositivo de comunicaciones. El primer dispositivo de comunicaciones incluye una unidad de adquisición operable, a la recepción de la petición de registro del segundo dispositivo de comunicaciones, para adquirir una distancia de comunicación que indica lo lejos que los dispositivos de comunicación primero y segundo están en comunicación de datos; una unidad de determinación de distancia operable para determinar si la distancia de comunicación adquirida es menor o igual a un valor predeterminado; y una unidad de registro operable, cuando se considere afirmativo, para registrar el segundo dispositivo de comunicaciones en un grupo.
Aunque se ha descrito anteriormente en base a las realizaciones 1 y 2 así como sus variaciones, los casos siguientes también quedan incluidos en las realizaciones de la presente invención.
- (1)
- En las realizaciones anteriores, el servidor de contenido usa la TTL incluida en paquetes recibidos de terminales para determinar si los terminales son terminales en AD o fuera de AD, aunque la determinación AD no se limita a este método. Por ejemplo, el servidor de contenido puede medir la distancia a un terminal, y realizar la determinación AD en base a la distancia medida. Alternativamente, el servidor de contenido puede medir el período de tiempo requerido para comunicación con un terminal, y realizar la determinación AD en base al período de tiempo medido. Se deberá indicar que no se imponen limitaciones a estos métodos.
- (2)
- En las realizaciones anteriores, los dispositivos incluidos en el sistema están estructurados con el fin de comunicar usando el protocolo IPv4, aunque el protocolo de comunicación aplicado en la presente invención no se limita naturalmente a IPv4. Por ejemplo, las estructuras que implican comunicación con el protocolo IPv6 también quedan incluidas en la presente invención. En este caso, se puede usar un campo de límite de salto IPv6 en el procesado de determinación AD en lugar del campo TTL IPv4.
- (3)
- En la realización 1, los dispositivos están constituidos para transmitir/recibir paquetes que tienen un TTL “1”, aunque la presente invención no se limita naturalmente a un TTL “1” puesto en el campo TTL.
En la realización 1, por ejemplo, un valor TTL predeterminado (por ejemplo “10”) puede ser determinado de antemano entre un servidor de contenido y un terminal. El terminal transmite en multidifusión un paquete de búsqueda de servidor que tiene un TTL “10”. El servidor de contenido, a la recepción del paquete de búsqueda de servidor, confirma que la TTL incluida en el campo TTL no ha cambiado con respecto al valor predeterminado y realiza compartición de clave con el terminal si se confirma que la TTL es “10”.
- (4)
- En las realizaciones anteriores, el terminal 30 está conectado directamente al router 11, aunque la presente invención no se limita a esta estructura. Por ejemplo, el terminal 30 puede estar conectado al router 11 mediante un conmutador, un hub, o análogos.
- (5)
- En las realizaciones anteriores, se determina que un terminal está en AD si la TTL en un paquete IP no se reduce entre la transmisión y recepción del paquete. Sin embargo, determinando que los terminales están en AD cuando la TTL en un paquete IP se reduce a menos o igual a un valor predeterminado, es posible expandir arbitrariamente el dominio autorizado. Por ejemplo, se puede determinar que los terminales cuyo TTL se reduce “2” o menos son terminales en AD.
- (6)
- En la realización 1 y variaciones relacionadas, un terminal que recibe un contenido encriptado del servidor de contenido, desencripta y después guarda el contenido en una unidad de almacenamiento. Sin embargo, el terminal puede reproducir el contenido desencriptado.
- (7)
- En las realizaciones anteriores, una clave encriptada usada por una unidad de encriptado para encriptar/desencriptar la carga IP de paquetes IP es una clave secreta global, aunque la presente invención no se limita necesariamente a esta estructura. Se puede aplicar un método en el que, antes de cualquier comunicación, se realice un establecimiento de comunicación del tipo de respuesta a reto usando prueba de conocimiento cero para compartir una clave de sesión.
- (8)
- En las realizaciones anteriores, los dispositivos están estructurados para transmitir/recibir paquetes cuyo tamaño de datos corresponde a la MTU, aunque esto no es absolutamente necesario. Los dispositivos pueden transmitir/recibir paquetes cuyo tamaño de datos difiera de la MTU.
- (9)
- En las realizaciones anteriores, los dispositivos están estructurados para transmitir/recibir paquetes cuyo bit DF esté puesto a “activado”, aunque esto no es absolutamente necesario. Los dispositivos pueden transmitir/recibir paquetes cuyo bit DF esté puesto a “desactivado”.
- (10)
- En las realizaciones anteriores, los dispositivos adquieren información única de dispositivo de repetición que identifica un dispositivo de repetición al que los dispositivos están conectados, y transmiten/reciben paquetes que incluyen la información única de dispositivo de repetición adquirida, aunque esto no es absolutamente necesario. Los dispositivos pueden transmitir/recibir paquetes que no incluyen información única de dispositivo de repetición.
- (11)
- En la realización 2, las IDs de dispositivo de dispositivos están registradas en una tabla de grupos, aunque la presente invención no se limita a esta estructura. Por ejemplo, una ID de una tarjeta de memoria o medio de registro similar montado para uso en un terminal puede estar registrada en una tabla de grupos.
- (12)
- Además, un ejemplo de la presente invención puede ser un sistema LSI (integración a gran escala) constituido por una unidad central de proceso (CPU) y un procesador de señal digital (DSP) y el sistema LSI puede ejecutar un programa de ordenador de distribución de contenido, que es un programa DSP.
- (13)
- Además, el método puede ser un programa de ordenador realizado por un ordenador, o una señal digital formada a partir del programa.
Además, la presente invención puede ser un disco floppy, un disco duro, un CD-ROM, un MO, un DVD-ROM, una DVDRAM, un BD (disco blu-ray), una memoria de semiconductores o medio de registro similar legible por ordenador que almacene el programa o la señal digital. Además, la presente invención puede ser el programa o señal digital registrada en dicho medio de registro.
Además, el programa o la señal digital registrada en dicho medio de registro puede ser transmitido mediante una red
o análogos, cuyos ejemplos representativos incluyen un circuito de telecomunicación, un circuito de comunicación por radio o cable, e Internet.
En las industrias que manejan obras de derechos de autor digitalizados como películas y música mediante difusión, redes y análogos, un sistema de distribución de contenido como el descrito anteriormente permite el uso libre de contenido dentro de un entorno doméstico y evita que estos contenidos salgan del entorno doméstico.
Claims (10)
- REIVINDICACIONES1. Un dispositivo de comunicaciones para realizar transmisión y recepción de un contenido con otro dispositivo de comunicaciones (30) que pone un tiempo de vida de un paquete IP para transmitir a un valor predeterminado, incluyendo el dispositivo de comunicaciones (20):una unidad de adquisición operable para adquirir el tiempo de vida de un paquete IP recibido del otro dispositivo de comunicaciones (30);una unidad de determinación (106) operable para determinar si el tiempo de vida adquirido es menor o igual al valor predeterminado, determinándose el valor predeterminado con anterioridad entre el servidor de contenido (20) y el terminal (30); yuna unidad de comunicaciones (101) operable para realizar transmisión/recepción de contenido con el otro dispositivo de comunicaciones (30) solamente cuando dicha unidad de determinación (106) ha determinado que el tiempo de vida adquirido es menor o igual al valor predeterminado, y para no realizar transmisión/recepción de contenido con el otro dispositivo de comunicaciones (30) cuando dicha unidad de determinación (106) ha determinado que el tiempo de vida adquirido es más grande que el valor predeterminado.
-
- 2.
- El dispositivo de comunicaciones de la reivindicación 1, incluyendo además:
una unidad de establecimiento (107) operable para poner un tiempo de vida de un paquete IP para transmitir al otro dispositivo de comunicaciones (30) a un valor predeterminado. -
- 3.
- El dispositivo de comunicaciones de la reivindicación 2, incluyendo además: una unidad de compartición de claves
(108) operable para compartir información de clave con el otro dispositivo de comunicaciones (30). -
- 4.
- El dispositivo de comunicaciones de la reivindicación 3, incluyendo además:
una unidad de encriptado (102) operable, usando la información de clave compartida, para encriptar contenido y desencriptar contenido encriptado, donde la unidad de comunicaciones (101) transmite/recibe contenido encriptado. -
- 5.
- El dispositivo de comunicaciones de la reivindicación 1, incluyendo además:
una unidad de adquisición de información de invalidación (106) operable para adquirir, mediante una red, información de invalidación que identifica un dispositivo de comunicaciones invalidado (40, 50); yuna unidad de almacenamiento (109) operable para almacenar información de invalidación adquirida por la unidad de adquisición de información de invalidación (106). - 6. El dispositivo de comunicaciones de la reivindicación 5, incluyendo además:una unidad de determinación de similitud (106) operable para determinar si la información de invalidación adquirida corresponde a información de invalidación almacenada por la unidad de almacenamiento (109); yuna unidad de actualización (106) operable, cuando la evaluación es negativa, para sustituir la información de invalidación almacenada con la información de invalidación adquirida.
-
- 7.
- El dispositivo de comunicaciones de la reivindicación 4, donde la unidad de encriptado (102) realiza encriptado en base a la norma de encriptado avanzado.
-
- 8.
- Un sistema de distribución de contenido para realizar transmisión y recepción de un contenido con un primer dispositivo de comunicaciones (30) y un segundo dispositivo de comunicaciones (20), incluyendo el primer dispositivo de comunicaciones (30):
una unidad de establecimiento (207) operable para poner un tiempo de vida de un paquete IP para transmitir al segundo dispositivo de comunicaciones (20) a un valor predeterminado, eincluyendo el segundo dispositivo de comunicaciones (20):una unidad de adquisición operable para adquirir el tiempo de vida del paquete IP recibido del primer dispositivo de comunicaciones (30);una unidad de determinación (106) operable para determinar si el tiempo de vida adquirido es menor o igual a un valor predeterminado, habiéndose determinado el valor predeterminado con anterioridad entre el servidor de contenido (20) y el terminal (30); yuna unidad de transmisión (101) operable para realizar transmisión/recepción de contenido con el primer dispositivo de comunicaciones (30) solamente cuando dicha unidad de determinación ha determinado que el tiempo de vida adquirido es menor o igual al valor predeterminado, y para no realizar transmisión/recepción de contenido con el primer dispositivo de comunicaciones (30) cuando dicha unidad de determinación ha determinado que el tiempo de vida adquirido es mayor que el valor predeterminado. - 9. Un método de distribución de contenido usado por un dispositivo de comunicaciones (20) para realizar transmisión y recepción de un contenido con otro dispositivo de comunicaciones (30) que tiene una unidad de establecimiento(207) que pone un tiempo de vida de un paquete IP para transmitir a un valor predeterminado, incluyendo el método de distribución de comunicación los pasos de:adquirir el valor predeterminado, habiéndose determinado el valor predeterminado con anterioridad entre el servidor de contenido (20) y el terminal (30);adquirir el tiempo de vida de un paquete IP recibido del otro dispositivo de comunicaciones (30);determinar si el tiempo de vida adquirido es menor o igual al valor predeterminado; yrealizar transmisión/recepción de contenido con el otro dispositivo de comunicaciones (30) solamente cuando dicha unidad de determinación ha determinado que el tiempo de vida adquirido es menor o igual al valor predeterminado, y no realizar transmisión/recepción de contenido con el primer dispositivo de comunicaciones (20) cuando dicha unidad de determinación ha determinado que el tiempo de vida adquirido es más grande que el valor predeterminado.
- 10. Un programa de ordenador de distribución de contenido usado por un dispositivo de comunicaciones (20) para realizar transmisión y recepción de un contenido con otro dispositivo de comunicaciones (30) que pone un tiempo de vida de un paquete IP para transmitir a un valor predeterminado, incluyendo el programa de distribución de comunicación los pasos de:el servidor de contenido (20) notifica con anterioridad al terminal (30) el tiempo de vida establecido;adquirir el tiempo de vida de un paquete IP recibido del otro dispositivo de comunicaciones (30);determinar si el tiempo de vida adquirido es menor o igual al valor predeterminado; yrealizar transmisión/recepción de contenido con el otro dispositivo de comunicaciones (30) solamente cuando dicha unidad de determinación ha determinado que el tiempo de vida adquirido es menor o igual al valor predeterminado, y no realizar transmisión/recepción de contenido con el dispositivo de comunicaciones (20) cuando dicha unidad de determinación ha determinado que el tiempo de vida adquirido es más grande que el valor predeterminado.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002-282626 | 2002-09-27 | ||
| JP2002282626 | 2002-09-27 | ||
| JP2002-297289 | 2002-10-10 | ||
| JP2002-344022 | 2002-11-27 | ||
| JP2003-78693 | 2003-03-20 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2364137T3 true ES2364137T3 (es) | 2011-08-25 |
Family
ID=44359161
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES03798478T Expired - Lifetime ES2364137T3 (es) | 2002-09-27 | 2003-09-25 | Sistema de distribución de contenido. |
Country Status (1)
| Country | Link |
|---|---|
| ES (1) | ES2364137T3 (es) |
-
2003
- 2003-09-25 ES ES03798478T patent/ES2364137T3/es not_active Expired - Lifetime
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN100566285C (zh) | 内容分发系统 | |
| JP4553947B2 (ja) | 解析装置、解析方法、コンピュータプログラム、及び記録媒体 | |
| USRE39360E1 (en) | System for signatureless transmission and reception of data packets between computer networks | |
| US8098823B2 (en) | Multi-key cryptographically generated address | |
| KR100593768B1 (ko) | 콘텐츠 송신 장치, 콘텐츠 수신 장치 및 콘텐츠 전송 방법 | |
| EP1370023A1 (en) | Content delivery system | |
| KR100787292B1 (ko) | 콘텐츠 송신 장치, 콘텐츠 수신 장치 및 콘텐츠 전송 방법 | |
| EP1560396A2 (en) | Method and apparatus for handling authentication on IPv6 network | |
| US20030037235A1 (en) | System for signatureless transmission and reception of data packets between computer networks | |
| US7243368B2 (en) | Access control system and method for a networked computer system | |
| EP1383327A2 (en) | Content distributing system and data-communication controlling device | |
| JP4283699B2 (ja) | コンテンツ転送制御装置、コンテンツ配信装置およびコンテンツ受信装置 | |
| JP7704192B2 (ja) | 車載中継装置、管理装置、車載システムおよび通信管理方法 | |
| JP4113462B2 (ja) | コンテンツ通信履歴解析システム及びデータ通信制御装置 | |
| JP4181951B2 (ja) | コンテンツ配信システム | |
| ES2364137T3 (es) | Sistema de distribución de contenido. | |
| US7610485B1 (en) | System for providing secure multi-cast broadcasts over a network | |
| JP4426215B2 (ja) | コンテンツ配送システム及びデータ通信制御装置 | |
| ES2358111T3 (es) | Direccionamiento indirecto seguro. | |
| CN100583732C (zh) | 信息处理设备,信息处理方法和信息处理程序 | |
| ES2380684T3 (es) | Método de detección de proximadad mejorado | |
| JP2004151778A (ja) | コンテンツ送信装置、コンテンツ受信装置及びコンテンツ送受信システム | |
| JP2004312216A (ja) | データ伝送装置、データ伝送装置の識別情報管理装置、データ伝送装置の管理システム、及びデータ伝送装置の管理方法 | |
| JP2025031070A (ja) | 情報処理装置、情報処理方法およびプログラム | |
| JP2008178097A (ja) | コンテンツの無欠性を確認するためのコンテンツ提供装置及び方法、及びコンテンツ使用装置及び方法、並びにコンテンツ使用装置を廃止するコンテンツ提供装置及び方法 |