ES2287871T3 - Autenticacion de datos en un sistema de transmision digital. - Google Patents

Autenticacion de datos en un sistema de transmision digital. Download PDF

Info

Publication number
ES2287871T3
ES2287871T3 ES05110160T ES05110160T ES2287871T3 ES 2287871 T3 ES2287871 T3 ES 2287871T3 ES 05110160 T ES05110160 T ES 05110160T ES 05110160 T ES05110160 T ES 05110160T ES 2287871 T3 ES2287871 T3 ES 2287871T3
Authority
ES
Spain
Prior art keywords
data
authentication
algorithm
file
subdirectory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES05110160T
Other languages
English (en)
Inventor
Jean-Bernard Beuque
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Application granted granted Critical
Publication of ES2287871T3 publication Critical patent/ES2287871T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2351Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26606Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4181External card to be used in combination with the client device, e.g. for conditional access for conditional access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4353Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management e.g. creating a master electronic programme guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/818OS software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/601Broadcast encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Dc Digital Transmission (AREA)
  • Burglar Alarm Systems (AREA)
  • Near-Field Transmission Systems (AREA)
  • Television Systems (AREA)

Abstract

Aparato (2) para autenticar datos enviados en un sistema de transmisión digital, comprendiendo dicho aparato: medios (6) para organizar los datos con anterioridad a su transmisión en una jerarquía formada, al menos, por una unidad de directorio raíz, una unidad de subdirectorio y una unidad de archivo; caracterizado dicho aparato porque comprende adicionalmente: medios (6) para actuar sobre los datos de un archivo mediante un primer algoritmo de autenticación, medios (6) para almacenar en el subdirectorio de referencia un valor de autenticación de archivo asociado, medios (6) para actuar, a su vez, sobre este valor de autenticación de archivo mediante un segundo algoritmo de autenticación, y medios (6) para almacenar en el directorio raíz de referencia un valor de autenticación de subdirectorio asociado.

Description

Autenticación de datos en un sistema de transmisión digital.
La presente invención se refiere a un método para autenticar los datos enviados en un sistema de transmisión digital.
La transmisión de datos digitales mediante radiodifusión es muy conocida en el ámbito de los sistemas de TV de pago, en los que se envía información audiovisual codificada, normalmente vía satélite o mediante un enlace vía satélite/cable, a diversos abonados y cada uno de los cuales posee un decodificador capaz de descodificar el programa transmitido para verlo posteriormente. También se conocen los sistemas de radiodifusión digital terrestre. Los sistemas más recientes también han utilizado el enlace de radiodifusión para transmitir otro tipo de datos, además de datos audiovisuales, como programas informáticos o aplicaciones interactivas, al decodificador o a un PC conectado a este.
Un problema específico de la transmisión de datos de aplicaciones radica en la necesidad de verificar la integridad y el origen de dichos datos. Dado que se pueden utilizar datos de este tipo para reconfigurar el decodificador, así como para ejecutar cualquier número de aplicaciones interactivas, es esencial que los datos recibidos sean completos y se les haya identificado como procedentes de una fuente conocida. De lo contrario, pueden surgir problemas operativos relacionados con la descarga de datos incompletos, además de darse el riesgo de que el decodificador quede abierto a ataques de terceros o similares.
Los intentos anteriores de autentificar dichos datos se han concentrado en la verificación a nivel de encapsulado o formateo de los datos en un flujo de paquetes. Por ejemplo, la solicitud de patente europea EP0752786 describe un sistema en el cual se encapsulan los datos en una serie de módulos o, utilizando la terminología asociada a la norma MPEG, a una serie de tablas o secciones, encapsulándose entonces las tablas o secciones en paquetes en un flujo de transporte MPEG.
Las operaciones de autenticación se llevan a cabo en relación con los datos tabulados, conteniendo por ejemplo una tabla de directorio, una lista de todas las tablas que contienen datos para dicha aplicación, junto con una lista de los valores flash asociados a cada tabla para permitir la posterior verificación de los datos de la tabla. La propia tabla de directorio puede ir firmada con anterioridad a la transmisión, de forma que la información de la tabla del directorio y de las tablas asociadas no pueda modificarse sin alterar los valores de troceo y de firma.
El problema con estos sistemas conocidos radica en su falta de idoneidad para la gestión de estructuras organizativas con unos datos más complejos. Concretamente, el uso de una sola tabla de directorio que contenga una lista completa de valores de troceo para cada tabla asociada significa que dichos sistemas no pueden adaptarse fácilmente para gestionar un gran número o un número variable de tablas.
El sistema también está deficientemente adaptado para permitir la autenticación del software facilitado por diversos operadores de radiodifusión, debido a que una sola tabla de directorio MPEG enlaza todas las tablas y debido a que las operaciones de autenticación se llevan a cabo durante la fase de formateo de los datos en tablas para la encapsulado y la radiodifusión de paquetes. Esta operación suele llevarse a cabo bajo el control de un solo operador.
De acuerdo con un primer aspecto de la presente invención, se propone un método de autenticación de datos enviados en un sistema de transmisión digital caracterizado por la organización de los datos con anterioridad a la transmisión en una jerarquía con al menos una unidad de directorio raíz, una unidad de subdirectorio y una unidad de archivo, actuándose sobre los datos de un archivo mediante un algoritmo de autenticación y un valor de autenticación del archivo asociado almacenado en el subdirectorio de referencia, actuándose a su vez sobre este valor de autenticación del archivo mediante un algoritmo de autenticación y un valor de autenticación del subdirectorio asociado almacenado en el directorio raíz de referencia.
A diferencia de los sistemas conocidos, cuando un directorio de una sola tabla hace referencia a todas las tablas asociadas, la utilización de una estructura de jerarquía múltiple junto con la aplicación de un algoritmo de autenticación en cada fase de la jerarquía proporciona una estructura de datos segura y modular. Dado que el valor de autenticación de un archivo en un subdirectorio es autenticado a su vez a un nivel superior mediante un valor correspondiente en el directorio raíz, no es posible cambiar un elemento situado en un nivel inferior sin modificar los valores de autenticación que se encuentran en un nivel superior (y viceversa).
Preferiblemente, la autenticación de los datos del archivo se lleva a cabo aplicando un algoritmo de troceo a una parte o a todos los datos del archivo, almacenándose el valor de troceo resultante como valor de autenticación del archivo en el subdirectorio de referencia. Igualmente, la autenticación de un subdirectorio puede llevarse a cabo aplicando un algoritmo de troceo al valor de autenticación del archivo (y a otros datos si así se desea), almacenándose el valor de troceo resultante como valor de autenticación del subdirectorio en el directorio raíz de referencia.
Pueden preverse otras realizaciones, por ejemplo cuando los datos del archivo se han cifrado de acuerdo con un algoritmo de codificación y la clave de codificación (o su número clave de identificación) utilizada como valor de autenticación se encuentra almacenada en el subdirectorio. Esta clave de archivo puede a su vez encriptarse y la clave de cifrado almacenarse en el directorio raíz como valor de autenticación, etc. Aunque posible, esta realización resulta bastante más complicada de poner en práctica debido a la mayor complejidad de las operaciones necesarias para la generación de los valores de la clave de cifrado.
Por el contrario, la utilización de un algoritmo de troceo para llevar a cabo la autenticación de cada módulo permite llevar a cabo una comprobación especialmente sencilla y rápida de la integridad de cada módulo. En una realización, puede utilizarse un sencillo algoritmo de troceo, como un cálculo de la suma de control. No obstante, esto no permitiría detectar una falsificación debido a que resulta relativamente sencillo determinar la forma en que cualquier cambio en un mensaje afecta al valor de troceo.
Preferiblemente, el algoritmo de troceo se corresponde con un algoritmo criptográficamente seguro que genera un valor flash 15 sustancialmente único a partir de un conjunto dado de datos. Entre los algoritmos de troceo adecuados que pueden utilizarse con este fin se encuentran por ejemplo el algoritmo Message Digest versión 5 (MD5) o el Algoritmo de troceo Seguro (SHA).
Ventajosamente, la autenticación de los datos del archivo para una pluralidad de archivos se lleva a cabo mediante la aplicación de un algoritmo de troceo a una acumulación de datos procedentes de una pluralidad de archivos para generar un único valor de troceo. Igualmente, la autenticación de varios subdirectorios puede llevarse a cabo aplicando un algoritmo de troceo a una serie de valores de autenticación de archivo procedentes de diversos subdirectorios (y otros datos, si se desea) para generar un valor de troceo único.
La utilización de un proceso de hash acumulativo que cubra diversos módulos de datos (archivos, subdirectorios, etc.) en una capa de nivel inferior simplifica aún más el sistema si se compara, por ejemplo, con sistemas que almacenan listas de valores de troceo individuales para cada módulo. Esto permite nuevamente que el sistema reduzca las fases de cálculo necesarias en cada nivel y reduce el tamaño de los datos de autenticación almacenados en un nivel superior.
En el caso de las realizaciones que utilizan un algoritmo de troceo para autentificar cada capa, el sistema estará "abierto", es decir todos los valores de troceo podrán leerse hasta el directorio raíz. Dado que los algoritmos de troceo están disponibles públicamente, en teoría un tercero podría cambiar los datos almacenados, por ejemplo a nivel de archivo, sin que se detecte si los valores de troceo correspondientes a nivel de subdirectorio y de directorio raíz se han cambiado también al mismo tiempo.
A fin de evitar esto, se actúa al menos sobre una parte de los datos almacenados en el directorio raíz mediante una clave secreta de un algoritmo de cifrado y el valor cifrado resultante se almacena en el directorio raíz. Preferiblemente, el valor cifrado corresponde a una firma digital. Entre los algoritmos de clave privada/pública adecuados para este propósito puede citarse, por ejemplo, el algoritmo RSA.
Ventajosamente, los datos cifrados mediante la clave secreta para generar una firma almacenada en el directorio raíz comprenden al menos uno o más valores de autenticación del subdirectorio. No obstante, es posible prever en el directorio raíz unos datos diferentes de los valores de autenticación del subdirectorio que se firman a fin de "cerrar" el sistema.
Como alternativa a la generación de una firma, puede simplemente cifrarse o codificarse la totalidad o una parte del directorio raíz si el receptor posee una clave equivalente para descifrar los datos cifrados del directorio raíz. En este caso, puede utilizarse un algoritmo de clave simétrica como DES.
Como se comprenderá, aunque el proceso de autenticación se ha descrito anteriormente haciendo referencia a dos niveles jerárquicos, pueden efectuarse fases similares de autenticación hasta el infinito para archivos, subdirectorios, directorios raíz, etc. adicionales de referencia.
Igualmente, aunque la estructura se ha definido como de directorio raíz/subdirectorio/archivo por motivos de claridad, no se asume ninguna característica específica de cada una de las unidades de una capa, salvo que hace referencia a una unidad de nivel inferior mediante dos unidades de nivel superior. Como se comprenderá, la estructura de datos puede ser igualmente directorio raíz/subdirectorio/segundo directorio raíz o cualquier otra combinación.
Las realizaciones que se describen a continuación se centran en una unidad situada en una capa inferior, es decir a la que se hace referencia mediante un directorio o subdirectorio. Como es evidente, aunque se hace referencia a ella desde una capa superior, esta unidad puede ser, no obstante, una unidad de directorio, una unidad de subdirectorio, etc.
En una realización, una unidad a la que se ha hecho referencia comprende un valor cifrado generado mediante una clave secreta, calculándose un valor de autenticación para esta unidad en función de los resultados de la aplicación de un algoritmo de autenticación al valor cifrado que se encuentra almacenado en la unidad a la que se hace referencia. Particularmente, como en la realización equivalente de directorio raíz que se ha descrito anteriormente, una unidad a la que se haga referencia puede ir firmada, calculándose el valor de autenticación correspondiente a dicha unidad como resultado de una función de troceo sobre dicha firma.
La unidad a la que se hace referencia puede corresponder, por ejemplo, a un archivo o subdirectorio. No obstante, esta realización resulta especialmente adecuada a la situación en la cual la unidad a la que se hace referencia es un directorio raíz para un conjunto adicional de datos, por ejemplo datos con un origen diferente y en el que la unidad raíz a la que se hace referencia también comprende una firma. En este caso, un primer operador puede reunir y firmar datos hasta el nivel del directorio raíz.
Posteriormente, un segundo operador puede hacer referencia a estos datos sin conocer la clave de cifrado, limitándose a autentificar cualquier enlace en la unidad de referencia mediante el valor de troceo de la firma que se encuentra en el directorio raíz al que se hace referencia. La autenticación de ambos conjuntos de datos tan sólo le será posible, por supuesto, a un receptor que posea las claves necesarias para verificar las firmas en ambos directorios raíz.
Como se ha descrito anteriormente, la presente invención puede aplicarse a cualquier conjunto de unidades de datos con múltiples jerarquías. Incluso puede aplicarse a la organización de tablas o paquetes en un flujo de transporte, si en un flujo de paquetes pueden proporcionarse múltiples niveles de directorio raíz, subdirectorio, archivo, etc. No obstante, esta invención resulta especialmente aplicable al caso en el que las unidades correspondientes a un conjunto de archivos de datos encapsulados en tablas o secciones de datos, encapsulándose posteriormente dichas tablas en paquetes de datos para generar un flujo de transporte.
A diferencia de la autenticación a nivel de paquete o tabla, esta realización permita una completa independencia entre el conjunto de datos autenticados y su encapsulado en un flujo de transporte y, una vez más, facilita el suministro de software procedente de diversas fuentes en el flujo de transporte controlado por un único emisor de radiodifusión. Los datos autenticados de acuerdo con esta realización pueden incluso transmitirse a través de diferentes rutas de transmisión (pro ejemplo, un enlace de telecomunicaciones bidireccional o un enlace vía satélite), utilizando formatos alternativos de encapsulado para transmitir los datos.
Como se ha mencionado anteriormente, la utilización de un proceso de autenticación aplicado con anterioridad a la preparación de los datos para la transmisión tiene como efecto que los datos pueden enviarse posteriormente a un receptor mediante cualquier número de canales, tal como un canal de radiodifusión o un canal de telecomunicaciones, sin cambiar el proceso de autenticación. Igualmente, una vez que un receptor o decodificador ha reconstituido los archivos de datos a partir del formato asociado a la ruta de transmisión, puede llevarse a cabo una verificación de estos datos, independientemente del modo de transmisión seleccionado.
Cualquiera o todas las características del primer aspecto de la invención y sus realizaciones preferidas pueden, por supuesto, combinarse con el segundo y tercer aspecto de la invención.
La presente invención se ha descrito anteriormente en relación con las etapas de generación de datos de autenticación con anterioridad a la transmisión. La invención, en sus realizaciones más amplias y preferidas, también se aplica a las fases inversas llevadas a cabo en un receptor para la verificación de estos datos.
En sus aspectos más amplios, la presente invención puede aplicarse a cualquier sistema de transmisión digital. No obstante, la invención se aplica preferiblemente a un sistema de televisión digital y, concretamente, a módulos de datos que transporten software de aplicaciones para su uso en un receptor/decodificador del sistema de televisión digital.
Tal y como se usa en el presente documento, el término "sistema de transmisión digital" comprende cualquier sistema de transmisión para la transmisión o radiodifusión, por ejemplo básicamente de datos digitales audiovisuales o multimedia. Aunque la presente invención resulta especialmente aplicable a un sistema de televisión digital por radiodifusión, la invención también puede aplicarse a una red fija de telecomunicaciones para aplicaciones de Internet multimedia, a un circuito cerrado de televisión, etc. Como se comprenderá, el término "sistema digital de televisión" comprende, por ejemplo, cualquier sistema vía satélite, terrestre, por cable y otros sistemas.
El término "receptor/decodificador" o "decodificador" utilizado en la presente solicitud puede referirse a un receptor para la recepción de señales codificadas o no codificadas, por ejemplo señales de televisión y/o radio que pueden ser emitidas o transmitidas por cualquier otro medio. El término también puede referirse a un decodificador para la decodificación de las señales recibidas. Entre las realizaciones de dichos receptores/decodificadores pueden incluirse un decodificador integrado con el receptor para la decodificación de las señales recibidas, por ejemplo en un "decodificador de sobremesa", tal como un decodificador que funcione en combinación con un receptor físicamente independiente o un decodificador que comprende funciones adicionales, como un navegador web y/o que se encuentre integrado con otros dispositivos como una grabadora de vídeo o una televisión.
El término MPEG se refiere a las normas de transmisión de datos desarrolladas por el grupo de trabajo "Motion Pictures Expert Group [grupo de expertos de imágenes en movimiento]" de la Organización Internacional de Normalización y en particular, pero no exclusivamente, a la norma MPEG-2 desarrollada para aplicaciones de televisión digital y recogida en los documentos ISO 13818-1, ISO 13818-2, ISO 13818-3 e ISO 13818-4. En el contexto de la presente solicitud de patente, el término MPEG comprende todas las variantes y modificaciones de los formatos MPEG aplicables al ámbito de la transmisión de datos digitales.
El término DSMCC hace referencia a las normas de formato de archivo de datos descritas en los documentos MPEG y en el actual documento ISO 13818-6.
A continuación se describirá, únicamente a modo de ejemplo, una realización preferida de la invención, haciendo referencia a las figuras adjuntas en las cuales:
La figura 1 muestra un diagrama esquemático de un sistema de televisión digital para ser utilizado con la presente invención.
La figura 2 muestra la estructura de un decodificador del sistema de la figura 1.
La figura 3 muestra la estructura de diversos componentes incluidos en el flujo de transporte de radiodifusión MPEG.
La figura 4 muestra la división de una aplicación de software en diversas tablas MPEG.
La figura 5 muestra la relación entre los archivos de datos DSMCC y las tablas MPEG finalmente generadas.
La figura 6 muestra la relación entre el cliente, el servidor y el gestor de la red, según se define en el contexto de DSMCC.
La figura 7 muestra el directorio autenticado, el subdirectorio y los objetos de archivo en esta realización de la invención.
En la figura 1 se muestra un resumen de un sistema de televisión digital 1. La realización comprende un sistema de televisión digital 2 completamente convencional que utiliza el conocido sistema de compresión MPEG-2 para transmitir señales digitales comprimidas. En más detalle, el compresor MPEG-2 3 situado en un centro de radiodifusión recibe un flujo de señales digitales (normalmente un flujo de señales de vídeo). El compresor 3 está conectado a un multiplexor y codificador 4 mediante una conexión 5.
El multiplexor 4 recibe una pluralidad de señales de entrada adicionales, ensambla el flujo de transporte y transmite las señales digitales comprimidas a un transmisor 6 del centro de radiodifusión a través de una conexión 7 que por supuesto puede adoptar diversas formas, comprendiendo enlaces de telecomunicaciones. El transmisor 6 transmite señales electromagnéticas a través de un enlace de subida 8 hacia un transpondedor (transmisor/receptor) de satélite 9 donde se procesan electrónicamente y se emiten a través de un enlace de bajada nacional 10 al receptor de tierra 12, que normalmente consiste en una antena parabólica propiedad de o alquilada por el usuario final. Las señales recibidas por el receptor 12 se transmiten a un receptor/decodificador integrado 13 comprado o alquilado por el usuario final y que se encuentra conectado al televisor 14 del usuario final. El receptor/decodificador 13 decodifica la señal comprimida MPEG-2 en una señal de televisión para el televisor 14.
Por supuesto son posibles otros canales de transporte para la transmisión de los datos, como la radiodifusión terrestre, la transmisión por cable, enlaces combinados satélite/cable, redes telefónicas, etc.
En un sistema de canales múltiples, el multiplexor 4 gestiona la información de audio y vídeo recibida desde diversas fuentes paralelas e interactúa con el transmisor 6 para transmitir la información a lo largo de un número similar de canales. Además de la información audiovisual, pueden introducirse mensajes o aplicaciones o cualquier otro tipo de datos digitales en algunos o en todos estos canales, entrelazados con la información de audio y vídeo digital transmitida. En este caso, un flujo de datos digitales, por ejemplo en forma de archivos de software y mensajes de acuerdo con el formato DSM-CC se comprimirá y empaquetará en el formato MPEG a través del compresor 3. La descarga de los módulos de software se describirá más adelante en mayor detalle.
Un sistema de acceso condicional 15 se encuentra conectado al multiplexor 4 y al receptor/decodificador 13, y se encuentra parcialmente situado en el centro emisor y en el decodificador. Permite al usuario final acceder a emisiones de televisión digital procedentes de uno o más proveedores de emisiones. Una tarjeta inteligente capaz de descifrar mensajes relativos a ofertas comerciales (es decir, uno o varios programas de televisión vendidos por el proveedor de emisiones) se inserta en el receptor/decodificador 13. Usando el decodificador 13 y la tarjeta inteligente, el usuario final puede adquirir ofertas comerciales mediante suscripción o pago por visión. En la práctica, el decodificador puede configurarse para gestionar sistemas de control de acceso múltiple, por ejemplo del tipo Simulcrypt o Multicrypt.
Como se ha mencionado anteriormente, los programas transmitidos por el sistema se codifican en el multiplexor 4, estando determinadas las condiciones y claves de cifrado aplicadas a una transmisión dada por el sistema de control de acceso 15. La transmisión de datos codificados de esta forma es bien conocida en el ámbito de los sistemas de TV de pago. Normalmente, los datos codificados se transmiten junto con una palabra de control para el descifrado de los datos, estando la propia palabra de control cifrada mediante la denominada clave de explotación, transmitiéndose en formato cifrado.
Los datos codificados y la palabra de control cifrada son recibidos entonces por el decodificador 13 que puede acceder a un equivalente de la clave de explotación almacenada en una tarjeta inteligente insertada en el decodificador para descifrar la palabra de control cifrada y descodificar posteriormente los datos transmitidos. Un abonado que se encuentre al corriente de sus pagos recibirá, por ejemplo, en un EMM (Mensaje de Gestión de Derechos) transmitido mensualmente la clave de explotación necesaria para descifrar la palabra de control cifrada y para permitir ver la transmisión. Además de su uso para descifrar programas audiovisuales de televisión, pueden generarse y transmitirse claves de explotación similares para ser utilizadas en la verificación de otros datos, como módulos de software según se describirá más adelante.
Un sistema interactivo 16, que también se encuentra conectado al multiplexor 4 y al receptor/de-
codificador 13, y que se encuentra una vez más situado parcialmente en el centro emisor y parcialmente en el decodificador permite que el usuario final interactúe con diversas aplicaciones a través de un canal de retorno de módem 17. El canal de retorno de módem también puede utilizarse para las comunicaciones usadas en el sistema de acceso condicional 15. Un sistema interactivo puede utilizarse, por ejemplo, para permitir que el espectador se comunique inmediatamente con el centro de transmisiones para solicitar la autorización para ver un evento concreto, descargar una aplicación etc.
Haciendo referencia a la figura 2, se describirán brevemente a continuación los elementos físicos del receptor/decodificador 13 o el decodificador de sobremesa adaptados para ser utilizados en la presente invención. Los elementos mostrados en esta figura se describirán en términos de bloques funcionales.
El decodificador 13 comprende un procesador central 20 que comprende elementos de memoria asociados y que está adaptado para recibir datos de entrada procedentes de un interfaz serie 21, un interfaz paralelo 22 y un módem 23 (conectado al canal de retorno de módem 17 de la figura 1).
El decodificador está adaptado adicionalmente para recibir entradas de un mando a distancia por infrarrojos 25 a través de una unidad de control 26 y de unos contactos 24 situados en el panel frontal del decodificador. El decodificador también posee dos lectoras de tarjeta inteligente 27, 28 adaptadas para leer tarjetas inteligentes bancarias o de abono 29, 30 respectivamente. Las entradas también pueden recibirse a través de un teclado por infrarrojos (no mostrado). El lector de tarjetas inteligentes de abono 28 se acopla con una tarjeta de abono insertada y con una unidad de acceso condicional 29 para suministrar la palabra de control necesaria a un demultiplexor/decodificador 30 para permitir la descodificación de la señal de transmisión cifrada. El decodificador también comprende un sintonizador convencional 31 y un demodulador 32 para recibir y demodular la transmisión vía satélite antes de ser filtrada y demultiplexada por la unidad 30.
El procesamiento de los datos en el decodificador suele estar gestionado por el procesador central 20. La arquitectura de software 15 del procesador central corresponde a una máquina virtual que interactúa con un sistema operativo de nivel inferior ejecutado en los componentes de hardware del decodificador.
A continuación se describirá, haciendo referencia a las figuras 3 y 4, la estructura de paquetes de los datos incluidos en el flujo de transporte MPEG transmitido que se ha enviado desde el transmisor al decodificador. Como puede apreciarse, aunque la descripción se centrará en el formato de tabulación utilizado en la norma MPEG, los mismos principios se aplican igualmente a otros formatos de flujo de datos por paquetes.
Haciendo referencia concretamente a la figura 3, un flujo de bits MPEG comprende una tabla de acceso al programa ("PAT") 40 con un identificador de paquete ("PID") de 0. La PAT contiene referencias a los PIDs de las tablas de mapa de programa ("PMTs") 41 de diversos programas. Cada PMT comprende una referencia a los PIDs de los flujos de las tablas MPEG de audio 42 y las tablas MPEG de vídeo 43 correspondientes a dicho programa. Un paquete que tenga un PID de cero, es decir la tabla de acceso al programa 40, facilita el punto de entrada para todo el acceso MPEG.
Para que se puedan descargar aplicaciones y datos para ellos, se definen dos nuevos tipos de flujo y la PMT correspondiente también contiene referencias a los PIDs de los flujos de tablas MPEG de aplicación 44 (o secciones de ellas) y de tablas MPEG de datos 45 (o secciones de ellas). De hecho, aunque en algunos casos puede ser conveniente definir tipos de flujo independientes para el software de aplicación ejecutable y datos para su procesamiento por dicho software, ello no es esencial. En otras realizaciones, los datos y el código ejecutable pueden ensamblarse en un solo flujo al que se accede a través de la PMT como ya se ha descrito.
Haciendo referencia a la figura 4, para poder descargar, por ejemplo, una aplicación incluida en un flujo 44, la aplicación 46 se divide en módulos 47, cada uno de ellos formado por una tabla MPEG. Algunas de estas tablas tienen una sola sección, mientras que otras pueden estar compuestas por una pluralidad de secciones 48. Una sección típica 48 tiene una cabecera que comprende una identificación de tabla de un octeto ("TID") 50, el número de sección 51 de dicha sección en la tabla, el número total 52 de secciones de dicha tabla y una referencia de extensión 54 de dos octetos 110. Cada sección comprende también un componente de datos 54 y un CRC 55. Para una tabla específica 47, todas las secciones 48 que constituyen dicha tabla 47 tienen la misma TID 50 y la misma extensión TID 53. Para una aplicación específica 46, todas las tablas 47 que constituyen dicha aplicación 46 tienen la misma TID 50, pero sus extensiones TID respectivas son diferentes.
Para cada aplicación 46, se utiliza una sola tabla MPEG como tabla de directorio 56. La tabla de directorio 56 tiene en su cabecera la misma TID que el resto de las tablas 47 que constituyen la aplicación. No obstante, la tabla de directorio tiene una extensión TID predeterminada de cero con fines de identificación y debido al hecho de que tan sólo se necesita una sola tabla para la información en el directorio. El resto de las tablas 47 tendrán normalmente extensiones TID distintas de cero y estarán compuestas por varias secciones asociadas 48. La cabecera de la tabla de directorio también comprende un número de versión de la aplicación a descargar.
Haciendo de nuevo referencia a la figura 3, las PMTs 40, las PMTs 41 y los componentes del flujo de aplicación y datos 44, 45 se transmiten cíclicamente. Cada una de las aplicaciones que se transmiten tiene un TID respectivo predeterminado. Para descargar una aplicación, la tabla MPEG con el TID adecuado y una extensión TID de cero se descarga al receptor/decodificador. Esta es la tabla de directorio correspondiente a la aplicación requerida. A continuación el decodificador procesa los datos del directorio para determinar la extensión TID de las tablas que constituyen la aplicación requerida. Posteriormente podrá descargarse cualquier tabla requerida que tenga el mismo TID que la tabla del directorio y una extensión TID determinada a partir del directorio.
El decodificador está configurado para comprobar cualquier actualización de la tabla del directorio. Esto puede llevarse a cabo descargando de nuevo periódicamente la tabla del directorio, por ejemplo cada 30 segundos, o cada minuto o cada cinco minutos, y comparando el número de versión de la tabla de directorio anteriormente descargada. Si el número de versión de la que se acaba de descargar corresponde a una versión posterior se borrarán las tablas asociadas al directorio anterior y se descargarán y ensamblarán las tablas asociadas a la nueva versión.
En una configuración alternativa, el flujo binario entrante se filtra utilizando una máscara correspondiente al TID, a la extensión TID y al número de versión, con unos valores fijados para el TID de la aplicación, una extensión TID de cero y un número de versión superior en una unidad al número de versión del directorio actualmente descargado. De este modo puede detectarse un aumento del número de versión y una vez detectado se descarga el directorio y se actualiza la aplicación como se ha descrito anteriormente. Si debe finalizarse una aplicación, se transmite un directorio vacío con el siguiente número de versión pero sin que ninguno de los módulos esté listado en el directorio. En respuesta a la recepción de dicho directorio vacío, el decodificador 2020 está programado para borrar la aplicación.
En la práctica, el software y los programas para la ejecución de aplicaciones en el decodificador pueden introducirse mediante cualquiera de los componentes del decodificador, concretamente en el flujo de datos recibido a través de la conexión vía satélite como se ha descrito anteriormente, pero también a través del puerto en serie, la conexión de la tarjeta inteligente, etc. Dicho software puede incluir aplicaciones de alto nivel utilizadas para ejecutar aplicaciones interactivas en el decodificador, tales como navegadores, aplicaciones de concursos, guías de programas, etc. También puede descargarse software para modificar la configuración de funcionamiento del software del decodificador, por ejemplo mediante parches o similares.
También pueden descargarse aplicaciones a través del decodificador y enviarse a un PC o similar conectado al decodificador. En dicho caso, el decodificador actúa como un dispositivo de encaminado (router) de comunicaciones para el software, que se ejecuta en el dispositivo conectado. Además de esta función de encaminado, el decodificador también puede funcionar convirtiendo los datos por paquetes MPEG antes de su envío al PC en software de archivos informáticos organizado, por ejemplo, de acuerdo con el protocolo DSMCC (véase más abajo).
Anteriormente, las medidas llevadas a cabo para verificar el origen y el grado de finalización de los datos de la aplicación se han centrado en la verificación de las tablas del flujo de paquetes MPEG. Concretamente, en sistemas convencionales se aplica una función de troceo a cada una de las secciones individuales 48 con anterioridad a la transmisión y el valor de comprobación resultante o firma correspondiente a cada sección se almacena en una lista en la tabla de directorio 56 enviada al decodificador. Mediante la comparación del valor de troceo posteriormente calculado por el decodificador con el valor de comprobación almacenado en el directorio para una sección recibida se puede verificar la integridad de la sección recibida. Los datos del directorio 40 pueden también estar sometidos a un proceso de troceo para generar un valor de comprobación adicional o firma para la tabla del directorio 40. Además, este valor de comprobación puede codificarse mediante una clave privada y almacenarse en la tabla del directorio. Tan sólo los decodificadores que posean la clave pública correspondiente podrá autentificar la firma.
En contraste con dichos sistemas convencionales, la presente realización se refiere a un medio para garantizar y verificar los datos de aplicación organizados en torno a una jerarquía múltiple de archivos u objetos de datos a nivel de la aplicación. Esto se comprenderá más claramente mediante la figura 5, que muestra la relación entre los datos organizados en un conjunto de archivos de datos DSMCC U-U 60, en una aplicación ensamblada 46 y encapsulados en una serie de tablas MPEG 47.
Con anterioridad a la transmisión, los archivos de datos se ensamblan en la aplicación 46 y posteriormente son formateados por un compresor MPEG obteniendo tablas MPEG o módulos 47 como se ha descrito anteriormente, comprendiendo una cabecera 49 específica para el flujo de paquetes MPEG y que incluya la ID de la tabla, el número de versión, etc. Posteriormente estas tablas son encapsuladas por el compresor MPEG en paquetes MPEG. Como se apreciará, puede no existir una relación fija entre los datos organizados en los archivos de datos 61 y las eventuales tablas MPEG 47. Tras la recepción y filtrado por parte del decodificador, se descartan las cabeceras de paquetes y se reconstituyen las series de tablas a partir de los datos útiles de los paquetes transmitidos. Más adelante, se descartan las cabeceras de tabla 49 y se reconstituye la aplicación 46 a partir de los datos útiles de las tablas 47.
El formato DSMCC para archivos de datos es una norma adaptada en particular para su uso en redes multimedia y que define una serie de formatos de mensaje y de comandos de sesión para la comunicación entre un usuario cliente 70, un usuario servidor 71 y un gestor de recursos de red 72. Véase la figura 6. El gestor de recursos de red 72 puede considerarse como una entidad lógica que actúa gestionando la atribución de recursos en el seno de una red. A pesar de haberse concebido inicialmente para su uso en el contexto de comunicaciones de red bidireccionales, las recientes puestas en práctica de la norma DSM-CC se han centrado en su uso con fines de radiodifusión unidireccional.
La comunicación entre un cliente y un servidor se configura mediante una serie de sesiones, intercambiándose una primera serie de mensajes entre un usuario (cliente 70 o servidor 71) y el gestor de la red 72 para configurar el cliente y/o el servidor para las comunicaciones. Dichos mensajes están formateados de acuerdo con el denominado protocolo DSMCC U-N (usuario a red). Se ha definido concretamente un subconjunto de este protocolo para la descarga de datos mediante radiodifusión.
Una vez establecido un enlace de comunicaciones, los mensajes son intercambiados posteriormente entre el cliente 70 y el servidor 71 de acuerdo con DSMCC U-U (protocolo usuario a usuario). Una secuencia de mensajes de este tipo corresponde a los archivos de datos 60 de la figura 5. En el caso de mensajes DSMCC U-U, los datos se organizan en una serie de mensajes 61 agrupados de acuerdo con el Protocolo BIOP o Broadcast InterOrb Protocol [protocolo interorb de difusión].
Cada mensaje u objeto 61 comprende una cabecera 62, una sub-cabecera 63 y unos datos útiles 64 que contienen los propios datos. De acuerdo con el protocolo BIOP, la cabecera 62 contiene, entre otras cosas, una indicación del tipo de mensaje y de la versión BIOP, mientras que la sub-cabecera indica el tipo de objeto y otras informaciones que han de ser definidas por el arquitecto del sistema.
Los objetos de datos 64 incluidos en los datos útiles de los archivos DSMCC U-U pueden generalmente definirse como pertenecientes a uno de los tres tipos siguientes: objetos de directorio, objetos de archivo y objetos de flujo. Los objetos de directorio definen directorios raíz o subdirectorios utilizados para referirse a una serie de objetos de archivo asociados que contienen los datos reales de la aplicación.
Los objetos de flujo pueden utilizarse para permitir establecer una relación temporal entre los datos contenidos en los archivos de datos y el propio flujo de paquetes MPEG. Esto se puede utilizar, por ejemplo, en el caso de aplicaciones interactivas incluidas en los archivos de datos y diseñadas para su sincronización con los flujos elementales de vídeo o audio recibidos y procesados por el decodificador. Como se ha mencionado anteriormente, en otros casos puede no existir una correlación directa entre los datos por paquetes MPEG y los archivos de datos.
A diferencia de las tablas MPEG, cuando un único directorio hace referencia a un conjunto de tablas con tan sólo un único nivel de jerarquía, los archivos de datos 60 pueden organizarse de una forma jerárquica bastante más compleja. Como en el caso de los archivos almacenados en un PC o servidor, un directorio principal o raíz puede hacer referencia a uno o más subdirectorios que, a su vez, hacen referencia a un segundo nivel de archivos de datos. Incluso puede hacerse referencia a un segundo directorio raíz asociado a otro conjunto de datos de aplicación.
Haciendo referencia a la figura 7, se muestra un ejemplo de la estructura de archivo para un conjunto de archivos de datos o unidades. Un directorio raíz DIR A0 indicado como 75 hace referencia a un grupo de subdirectorios A1 a A4 indicado como 76. Cada subdirectorio 76 hace referencia a uno o más conjuntos de archivos de objeto asociados 77. Con fines de aclaración, tan sólo se muestra un único grupo de archivos de objeto F1, F2, etc. asociado al subdirectorio A4. En la práctica, cada uno de los subdirectorios A1 a A4 puede hacer referencia a varios grupos de archivos de objeto.
Dentro de cada directorio y subdirectorio se introduce un conjunto de fases de autenticación para los archivos vinculados 20 a dicho directorio. Haciendo referencia al directorio raíz 75, la sub-cabecera 63 comprende un valor de troceo obtenido mediante la aplicación de un algoritmo de troceo a una parte o a la totalidad de los datos almacenados en los archivos de subdirectorio A1 a A4 indicados como 76. El algoritmo de troceo utilizado puede ser de cualquier tipo conocido, como por ejemplo el algoritmo Message Digest MD5.
En una realización, el algoritmo puede aplicarse individualmente a cada archivo o subdirectorio asociado, almacenándose una lista de los valores de troceo para cada subdirectorio 76 en el directorio raíz 75 con anterioridad a la transmisión. Sin embargo, aunque dicha solución permite un mayor nivel de resolución de comprobación en lo tocante a la verificación de cada subdirectorio, esta solución puede resultar bastante ineficaz en términos del tiempo de procesamiento necesario para que el decodificador calcule las correspondientes firmas.
Por ello, la sub-cabecera 63 del directorio 79 comprende preferiblemente un valor flash acumulativo 79, calculado mediante la aplicación del algoritmo de troceo MD5 a las secciones combinadas de sub-cabecera y datos útiles 63, 64 de los subdirectorios 76, es decir sin la cabecera 62. Concretamente, los valores flash 82 contenidos en los subdirectorios 76 y que hacen referencia a la capa de objetos de archivo 77 están incluidos en este cálculo de troceo.
En el caso del subdirectorio A4 mostrado en la figura 7, este subdirectorio hace referencia a una serie de archivos de objeto F1-Fn indicados como 77. En este caso, se genera un valor flash acumulativo 82 para los contenidos combinados de los archivos de objeto 77. Este valor se comprende en el proceso de troceo que da lugar al valor flash 79. Por lo tanto, no es posible cambiar ninguno de los archivos de objeto 77 sin cambiar el valor flash 82 del subdirectorio 76 que, a su vez, cambiará el valor flash 79 del directorio 75.
En el caso actual, se calcula un valor de troceo combinado para todos los subdirectorios A1-A4 a los que se hace referencia en el directorio. Este valor de troceo se almacena junto con un identificador del grupo de subdirectorios a partir del cual se han tomado los datos. En otras realizaciones, puede almacenarse una serie de valores de troceo combinados o individuales así como sus correspondientes identificadores en la sub-cabecera del directorio.
Por ejemplo, un segundo conjunto de subdirectorios asociado también al directorio raíz pero relativo a un conjunto de datos o código ejecutable diferente puede ser también agrupado conjuntamente, calculándose un valor de troceo acumulativo calculado para este subdirectorio y almacenándose en el directorio raíz de la sub-cabecera. Un único valor de troceo asociado a un único directorio puede también almacenarse de la sub-cabecera del directorio raíz.
La autorización de grupos o archivos de datos individuales no impide, por supuesto, que el directorio raíz (o 25, por supuesto, cualquier otro archivo) haga también referencia a archivos de datos no validados o sin troceo, pero deberá tenerse en cuenta la ausencia de validación de dicho archivo a la hora de efectuar cualquier operación con este archivo. A este respecto, podría no ser necesario, por ejemplo, autentificar los objetos de flujo.
La utilización en este caso de una función de troceo permite, en primer lugar, que el decodificador verifique la integridad o el grado de finalización de la descarga de los archivos de datos. En el caso, por ejemplo, de fallo o corte de la transmisión, la utilización de un algoritmo de troceo acumulativo con los archivos dependientes recibidos no dará el mismo resultado que el valor de troceo correspondiente a estos archivos almacenado en el directorio raíz. El decodificador será alertado entonces de la presencia de posibles errores en los datos descargados y volverá a cargar los archivos de datos defectuosos.
Como puede apreciarse, en el caso de un algoritmo de troceo, el cálculo del valor de troceo se lleva a cabo de acuerdo con una serie públicamente conocida de fases de cálculo y, como tal, cualquiera puede generar el valor de troceo correspondiente a un conjunto de archivos de datos determinado. Por lo tanto, normalmente, no es posible verificar el origen de dichos archivos de datos mediante una simple comprobación de los valores de troceo.
Para superar este problema, se calcula un valor de firma correspondiente al directorio raíz 75 utilizando un valor de clave secreta conocido únicamente por el operador. Esta clave puede corresponderse con una clave obtenida mediante un algoritmo de clave simétrica, como el algoritmo Data Encryption Standard (norma de cifrado de datos) o DES. No obstante, preferiblemente se utiliza un algoritmo de clave privada/pública como el algoritmo de Rivest, Shamir y Adelman o RSA, estando el operador responsable de generar los archivos de datos en posesión del valor de la clave privada y de los valores de clave pública de los decodificadores.
Como se muestra en la figura 7, el directorio raíz 75 comprende un identificador de clave o número mágico 80 que identificará para el decodificador la clave pública a utilizar en la fase de verificación junto con el valor de la firma calculado 81 generado mediante la utilización de la clave privada del operador. En este caso, el valor de la firma 81 se genera aplicando la clave privada del operador a una parte o a todos los datos del directorio 75, comprendiendo preferiblemente los datos útiles 64 y/o el valor o valores de troceo acumulativos 79. El decodificador puede entonces verificar este valor de firma 81 utilizando la clave pública correspondiente identificada por el número de clave 80.
En este ejemplo, los datos del directorio 75 están descifrados y la clave privada se utiliza simplemente para proporcionar un valor de firma que pueda ser verificado por la clave pública. En realizaciones alternativas pueden cifrarse mediante la clave privada una parte o la totalidad de los contenidos del directorio, descifrándose posteriormente mediante una clave correspondiente.
En cualquiera de los casos, la generación de un valor de firma o bloque de código cifrado mediante el uso de una clave secreta permite que un decodificador verifique la integridad del origen del directorio 75 y, por implicación, la integridad y el origen de los archivos a los que hace referencia este directorio raíz. Dado que los valores de troceo acumulativos para los archivos de referencia están incluidos en el cálculo de la firma 81, no es posible alterar estos valores sin detectarlo en la fase de verificación. Debido a que por lo general cada valor de troceo es único para un conjunto dado de datos, no sería por tanto posible modificar el contenido de cualquier archivo dependiente al que se le haya aplicado el troceo sin cambiar su valor de troceo característico y, por tanto, el valor de firma resultante de un directorio.
El directorio raíz 75, los subdirectorios 76 y los archivos de objetos 77 son generados por un operador de radiodifusión del sistema, indicado aquí como operador A. En este caso, estos archivos tendrán un origen común conocido y verificable.
No obstante, dependiendo de la aplicación a ejecutar, también puede hacerse referencia a una serie de archivos de datos asociados a un segundo operador B. En este caso, el subdirectorio 76 comprende una referencia al directorio raíz DIR B0 de un segundo conjunto de archivos de datos, indicado como 78. También es posible prever conexiones entre archivos de datos procedentes de distintas fuentes a otros niveles, por ejemplo una jerarquía de archivos en la que un primer subdirectorio en un conjunto de archivos hace referencia a un subdirectorio de un segundo conjunto de archivos de datos, etc.
Al igual que con el directorio raíz DIR A0 para el operador A, el directorio raíz DIR B0 indicado como 78 comprende uno o más valores de código flash acumulativo 84 asociados a sus subdirectorios asociados (no mostrados), identificando un número de clave 85 la clave pública del operador B que se va a utilizar durante la fase de verificación, generando la clave privada correspondiente del operador un valor de firma 86.
Se calcula un valor de troceo para este directorio utilizando el valor flash 84 y la firma 86 en la sub-cabecera del directorio, así como los datos útiles 64 del directorio 78. Este valor de troceo se almacena entonces en el subdirectorio A4, lo que permite verificar la integridad de los datos en la tabla de directorio a construir.
Debido al hecho de que la firma 86 y los valores de troceo 84 están incluidos en el cálculo del valor de troceo 83, también puede asumirse la integridad del resto de los archivos de datos a los que ha hecho referencia el directorio raíz 78, ya que ninguno de estos archivos dependientes puede modificarse sin modificar el valor de troceo 84 y, lo que es más importante, el valor de firma 86. Dado que el valor de firma 86 sólo puede ser calculado por una persona que posea la clave privada del operador, puede asumirse la integridad de todos los archivos a los que hace referencia el directorio 78, suponiendo que se calculen los valores de troceo correspondientes de los subdirectorios y archivos de objetos dependientes adicionales.
De este modo, los datos de aplicación relativos a programas ejecutables o similares generados por un segundo operador pueden estar vinculados a aplicaciones asociadas a un primer operador de una forma segura y fiable.
Como se observará, pueden darse diversas variaciones, especialmente para reducir la cantidad de datos sometidos a troceo o a firma en cada fase. Concretamente, en el caso de una firma o valor de troceo en un subdirectorio o subdirectorios utilizados para verificar un archivo de datos de nivel inferior, la firma o el valor de troceo del directorio pueden generarse utilizando solamente el valor de troceo de nivel inferior y no otros datos.
Por ejemplo, el valor de troceo combinado 79 del directorio A0 75 puede ser generado utilizando los valores de troceo combinados 82, 83 de cada uno de los subdirectorios A1-A4 indicados como 76. Dado que estos valores son únicos, al igual que los datos útiles del subdirectorio, el valor de troceo combinado 79 seguirá siendo único para los subdirectorios en cuestión. Además, puede seguir asumiéndose la integridad del nivel inferior de archivos de objeto y directorio 77, 78 dado que los valores de troceo 82 se utilizan todavía para el cálculo.
Igualmente, el valor de troceo 82 calculado para verificar el directorio B0 indicado como 78 puede calcularse simplemente utilizando el valor de firma 86. Dado que esto depende de, y está asociado únicamente a los valores de troceo 84, y siendo a su vez dichos valores de troceo dependientes del siguiente nivel de archivos, puede seguir asumiéndose la integridad de todos los conjuntos de archivos de datos a los que hace referencia el directorio 78.

Claims (9)

1. Aparato (2) para autenticar datos enviados en un sistema de transmisión digital, comprendiendo dicho aparato:
medios (6) para organizar los datos con anterioridad a su transmisión en una jerarquía formada, al menos, por una unidad de directorio raíz, una unidad de subdirectorio y una unidad de archivo;
caracterizado dicho aparato porque comprende adicionalmente:
medios (6) para actuar sobre los datos de un archivo mediante un primer algoritmo de autenticación,
medios (6) para almacenar en el subdirectorio de referencia un valor de autenticación de archivo asociado,
medios (6) para actuar, a su vez, sobre este valor de autenticación de archivo mediante un segundo algoritmo de autenticación, y
medios (6) para almacenar en el directorio raíz de referencia un valor de autenticación de subdirectorio asociado.
2. Aparato de acuerdo con la reivindicación 1, caracterizado adicionalmente porque el primer algoritmo de autenticación es un algoritmo RSA.
3. Aparato de acuerdo con la reivindicación 1, caracterizado adicionalmente porque el segundo algoritmo de autenticación es un algoritmo RSA.
4. Aparato de acuerdo con la reivindicación 1, caracterizado adicionalmente porque el primer algoritmo de autenticación comprende un algoritmo MD5 o SHA.
5. Aparato de acuerdo con la reivindicación 1, caracterizado adicionalmente porque el segundo algoritmo de autenticación comprende un algoritmo MD5 o SHA.
6. Aparato de acuerdo con cualquiera de las reivindicaciones precedentes en el que las unidades corresponden a un conjunto de archivos de datos, estando los archivos de datos encapsulados en tablas o secciones de datos, y estando adaptado adicionalmente el aparato para encapsular las tablas o secciones en paquetes de datos para generar un flujo de transporte.
7. Aparato de acuerdo con la reivindicación 6, en el que las unidades corresponden a objetos de datos formateados de acuerdo con la norma DSM-CC.
8. Aparato de acuerdo con la reivindicación 6 o 7, en el que las unidades están encapsuladas en tablas y paquetes de acuerdo con la norma MPEG.
9. Señal digital que comprende datos organizados en una jerarquía formada, al menos, por una unidad de directorio raíz (75), una unidad de subdirectorio (76) y una unidad de archivo (77) caracterizada porque dicha señal comprende un valor de autenticación de archivo (82, 87) resultante de la actuación de un primer algoritmo de autenticación sobre un archivo de datos, almacenándose el valor de autenticación de archivo en el subdirectorio de referencia, y un valor de autenticación de subdirectorio (63) resultante de la actuación de un segundo algoritmo sobre el valor de autenticación de archivo, almacenándose el valor de autenticación de subdirectorio en la unidad de directorio raíz de referencia.
ES05110160T 1998-03-25 1999-03-25 Autenticacion de datos en un sistema de transmision digital. Expired - Lifetime ES2287871T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP98400686 1998-03-25
EP98400686A EP0946019A1 (en) 1998-03-25 1998-03-25 Authentification of data in a digital transmission system

Publications (1)

Publication Number Publication Date
ES2287871T3 true ES2287871T3 (es) 2007-12-16

Family

ID=8235307

Family Applications (4)

Application Number Title Priority Date Filing Date
ES05110160T Expired - Lifetime ES2287871T3 (es) 1998-03-25 1999-03-25 Autenticacion de datos en un sistema de transmision digital.
ES99909166T Expired - Lifetime ES2252934T3 (es) 1998-03-25 1999-03-25 Autentificacion de datos en un sistema de transmision digital.
ES05110162T Expired - Lifetime ES2287872T3 (es) 1998-03-25 1999-03-25 Autenticacion de datos en un sistema de transmision digital.
ES05110156T Expired - Lifetime ES2337369T3 (es) 1998-03-25 1999-03-25 Autentificacion de datos en un sistema de transmision digital.

Family Applications After (3)

Application Number Title Priority Date Filing Date
ES99909166T Expired - Lifetime ES2252934T3 (es) 1998-03-25 1999-03-25 Autentificacion de datos en un sistema de transmision digital.
ES05110162T Expired - Lifetime ES2287872T3 (es) 1998-03-25 1999-03-25 Autenticacion de datos en un sistema de transmision digital.
ES05110156T Expired - Lifetime ES2337369T3 (es) 1998-03-25 1999-03-25 Autentificacion de datos en un sistema de transmision digital.

Country Status (24)

Country Link
US (3) US7231525B1 (es)
EP (7) EP0946019A1 (es)
JP (1) JP4199925B2 (es)
KR (1) KR100610277B1 (es)
CN (6) CN1227860C (es)
AT (4) ATE308839T1 (es)
AU (1) AU753937B2 (es)
BR (1) BR9909073A (es)
CA (1) CA2324156C (es)
CY (2) CY1105677T1 (es)
DE (4) DE69928089T2 (es)
DK (3) DK1619825T3 (es)
ES (4) ES2287871T3 (es)
HR (1) HRP20000598A2 (es)
HU (1) HU226343B1 (es)
ID (1) ID27501A (es)
IL (1) IL138438A (es)
NO (2) NO332071B1 (es)
PL (1) PL343076A1 (es)
PT (2) PT1619826E (es)
RU (1) RU2227376C2 (es)
TR (2) TR200101213T2 (es)
WO (1) WO1999049614A1 (es)
ZA (1) ZA200006016B (es)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0989743A1 (en) 1998-09-25 2000-03-29 CANAL+ Société Anonyme Application data table for a multiservice digital transmission system
US7409546B2 (en) * 1999-10-20 2008-08-05 Tivo Inc. Cryptographically signed filesystem
JP3630037B2 (ja) 1999-10-06 2005-03-16 日本電気株式会社 Dsm−ccカルーセル受信装置及びそれに用いる受信方法並びにその制御プログラムを記録した記録媒体
CA2386984A1 (en) * 1999-10-08 2001-04-19 General Instrument Corporation Object and resource security system
JP2003514464A (ja) * 1999-11-12 2003-04-15 ジェネラル・インスツルメント・コーポレーション オブジェクトセキュリティのインプレメンテーション
US6754908B1 (en) 1999-11-12 2004-06-22 General Instrument Corporation Intrusion detection for object security
US7412462B2 (en) * 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
EP1143658A1 (en) * 2000-04-03 2001-10-10 Canal+ Technologies Société Anonyme Authentication of data transmitted in a digital transmission system
US20020092015A1 (en) 2000-05-26 2002-07-11 Sprunk Eric J. Access control processor
US6862684B1 (en) * 2000-07-28 2005-03-01 Sun Microsystems, Inc. Method and apparatus for securely providing billable multicast data
US7627762B2 (en) 2001-05-23 2009-12-01 Thomson Licensing Signing and authentication devices and processes and corresponding products, notably for DVB/MPEG MHP digital streams
JP4251796B2 (ja) * 2001-08-27 2009-04-08 ソニー株式会社 情報提供システム、情報提供装置および方法、情報処理装置および方法、記録媒体、並びにプログラム
US7107608B2 (en) 2001-10-01 2006-09-12 Microsoft Corporation Remote task scheduling for a set top box
ATE352939T1 (de) * 2002-05-22 2007-02-15 Thomson Licensing Vorrichtungen, verfahren und produkte zur signierung und authentifizierung, insbesondere für digitale dvb/mpeg-mhp-datenströme
JP2006503367A (ja) * 2002-10-18 2006-01-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ TV−Anytimeにおけるメタデータ保護に対する方法、システム、装置、信号及びコンピュータプログラム
US7680833B1 (en) * 2002-11-22 2010-03-16 Bmc Software, Inc. System and method for database structure comparison
WO2005003936A1 (de) 2003-07-04 2005-01-13 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur authentifikation von insbesondere in ein steuergerät eines kraftfahrzeugs ladbaren softwarekomponenten
US20050060754A1 (en) * 2003-09-17 2005-03-17 Wegener Communications, Inc. Apparatus and method for distributed control of media dissemination
US7933950B1 (en) 2003-10-02 2011-04-26 Tivo Inc. Secure control of features of a digital device
ZA200602587B (en) * 2003-10-14 2007-06-27 Ericsson Telefon Ab L M Efficient management of cryptographic key generations
WO2005043882A2 (en) * 2003-10-21 2005-05-12 Prismvideo, Inc Video source coding with side information
MXPA06014020A (es) 2004-07-14 2007-02-08 Matsushita Electric Ind Co Ltd Metodo para autenticar y ejecutar un programa.
US7535909B2 (en) 2004-11-09 2009-05-19 Cisco Technology, Inc. Method and apparatus to process packets in a network
US8010685B2 (en) * 2004-11-09 2011-08-30 Cisco Technology, Inc. Method and apparatus for content classification
US7936682B2 (en) * 2004-11-09 2011-05-03 Cisco Technology, Inc. Detecting malicious attacks using network behavior and header analysis
US9275052B2 (en) 2005-01-19 2016-03-01 Amazon Technologies, Inc. Providing annotations of a digital work
KR100617867B1 (ko) * 2005-03-07 2006-08-28 엘지전자 주식회사 데이터 방송 응용 프로그램의 서명 인증 방법
US8527756B2 (en) * 2005-10-06 2013-09-03 Cisco Technology, Inc. Security device and building block functions
US20090285280A1 (en) * 2005-11-29 2009-11-19 Thomas Patrick Newberry Method and Apparatus for Securing Digital Content
US7788499B2 (en) * 2005-12-19 2010-08-31 Microsoft Corporation Security tokens including displayable claims
US8117459B2 (en) 2006-02-24 2012-02-14 Microsoft Corporation Personal identification information schemas
US8352449B1 (en) 2006-03-29 2013-01-08 Amazon Technologies, Inc. Reader device content indexing
RU2315349C1 (ru) * 2006-07-12 2008-01-20 Михаил ТОПР Способ репликации информации в распределенных базах данных и система для его осуществления
US8725565B1 (en) 2006-09-29 2014-05-13 Amazon Technologies, Inc. Expedited acquisition of a digital item following a sample presentation of the item
US9672533B1 (en) 2006-09-29 2017-06-06 Amazon Technologies, Inc. Acquisition of an item based on a catalog presentation of items
US8607335B1 (en) * 2006-12-09 2013-12-10 Gary Gang Liu Internet file safety information center
US7865817B2 (en) 2006-12-29 2011-01-04 Amazon Technologies, Inc. Invariant referencing in digital works
KR101356736B1 (ko) * 2007-01-19 2014-02-06 삼성전자주식회사 콘텐츠의 무결성을 확인하기 위한 콘텐츠 제공 장치 및방법 및 콘텐츠 사용 장치 및 방법, 및 콘텐츠 사용 장치를폐지하는 콘텐츠 제공 장치 및 방법
US8689296B2 (en) 2007-01-26 2014-04-01 Microsoft Corporation Remote access of digital identities
US9665529B1 (en) 2007-03-29 2017-05-30 Amazon Technologies, Inc. Relative progress and event indicators
US7716224B2 (en) 2007-03-29 2010-05-11 Amazon Technologies, Inc. Search and indexing on a user device
US7921309B1 (en) 2007-05-21 2011-04-05 Amazon Technologies Systems and methods for determining and managing the power remaining in a handheld electronic device
GB2460275B (en) 2008-05-23 2012-12-19 Exacttrak Ltd A Communications and Security Device
US9087032B1 (en) 2009-01-26 2015-07-21 Amazon Technologies, Inc. Aggregation of highlights
US8378979B2 (en) 2009-01-27 2013-02-19 Amazon Technologies, Inc. Electronic device with haptic feedback
US8832584B1 (en) 2009-03-31 2014-09-09 Amazon Technologies, Inc. Questions on highlighted passages
WO2011013303A1 (ja) * 2009-07-30 2011-02-03 パナソニック株式会社 受信データ認証方法及びデジタル放送受信機
US8692763B1 (en) 2009-09-28 2014-04-08 John T. Kim Last screen rendering for electronic book reader
WO2011097482A1 (en) * 2010-02-05 2011-08-11 Maxlinear, Inc. Conditional access integration in a soc for mobile tv applications
CN101924930B (zh) * 2010-02-09 2012-06-20 清华大学 一种利用dsm-cc协议传输数据的方法
US9495322B1 (en) 2010-09-21 2016-11-15 Amazon Technologies, Inc. Cover display
US9852143B2 (en) 2010-12-17 2017-12-26 Microsoft Technology Licensing, Llc Enabling random access within objects in zip archives
US9356993B1 (en) 2011-03-08 2016-05-31 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9292696B1 (en) 2011-03-08 2016-03-22 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9338220B1 (en) 2011-03-08 2016-05-10 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US8726398B1 (en) 2011-12-13 2014-05-13 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9300637B1 (en) * 2011-03-08 2016-03-29 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9413526B1 (en) 2011-03-08 2016-08-09 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9852311B1 (en) 2011-03-08 2017-12-26 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9432342B1 (en) 2011-03-08 2016-08-30 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US11228566B1 (en) 2011-03-08 2022-01-18 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US9667741B1 (en) 2011-03-08 2017-05-30 Ciphercloud, Inc. System and method to anonymize data transmitted to a destination computing device
US8584167B2 (en) 2011-05-31 2013-11-12 Echostar Technologies L.L.C. Electronic programming guides combining stored content information and content provider schedule information
FR2978835B1 (fr) 2011-08-05 2013-08-09 Thales Sa Charge utile de satellite pour systemes d'augmentation
US8959566B2 (en) 2011-08-23 2015-02-17 Echostar Technologies L.L.C. Storing and reading multiplexed content
US8447170B2 (en) 2011-08-23 2013-05-21 Echostar Technologies L.L.C. Automatically recording supplemental content
US9621946B2 (en) 2011-08-23 2017-04-11 Echostar Technologies L.L.C. Frequency content sort
US9357159B2 (en) 2011-08-23 2016-05-31 Echostar Technologies L.L.C. Grouping and presenting content
US8627349B2 (en) 2011-08-23 2014-01-07 Echostar Technologies L.L.C. User interface
US8660412B2 (en) 2011-08-23 2014-02-25 Echostar Technologies L.L.C. System and method for dynamically adjusting recording parameters
US8763027B2 (en) 2011-08-23 2014-06-24 Echostar Technologies L.L.C. Recording additional channels of a shared multi-channel transmitter
US9185331B2 (en) 2011-08-23 2015-11-10 Echostar Technologies L.L.C. Storing multiple instances of content
US8437622B2 (en) 2011-08-23 2013-05-07 Echostar Technologies L.L.C. Altering presentation of received content based on use of closed captioning elements as reference locations
US8839446B2 (en) * 2011-09-12 2014-09-16 Microsoft Corporation Protecting archive structure with directory verifiers
US8819361B2 (en) 2011-09-12 2014-08-26 Microsoft Corporation Retaining verifiability of extracted data from signed archives
US8972967B2 (en) 2011-09-12 2015-03-03 Microsoft Corporation Application packages using block maps
US9158741B1 (en) 2011-10-28 2015-10-13 Amazon Technologies, Inc. Indicators for navigating digital works
US8819722B2 (en) 2012-03-15 2014-08-26 Echostar Technologies L.L.C. Smartcard encryption cycling
US8989562B2 (en) 2012-03-15 2015-03-24 Echostar Technologies L.L.C. Facilitating concurrent recording of multiple television channels
US8959544B2 (en) 2012-03-15 2015-02-17 Echostar Technologies L.L.C. Descrambling of multiple television channels
US9489981B2 (en) 2012-03-15 2016-11-08 Echostar Technologies L.L.C. Successive initialization of television channel recording
US8793724B2 (en) 2012-11-08 2014-07-29 Eldon Technology Limited Image domain compliance
US9880983B2 (en) * 2013-06-04 2018-01-30 X1 Discovery, Inc. Methods and systems for uniquely identifying digital content for eDiscovery
WO2015024603A1 (en) * 2013-08-23 2015-02-26 Nec Europe Ltd. Method and system for authenticating a data stream
US9628838B2 (en) 2013-10-01 2017-04-18 Echostar Technologies L.L.C. Satellite-based content targeting
US9756378B2 (en) 2015-01-07 2017-09-05 Echostar Technologies L.L.C. Single file PVR per service ID
GB2534133A (en) * 2015-01-08 2016-07-20 Strategy & Tech Ltd Digital television broadcast data stream authentication
CN105727556B (zh) * 2016-01-29 2019-05-31 腾讯科技(深圳)有限公司 一种图像绘制的方法、相关设备及系统
DE102016106819A1 (de) * 2016-04-11 2017-10-26 Endress+Hauser Conducta Gmbh+Co. Kg Verfahren zur Aktualisierung einer Firmware-Komponente und Gerät der Mess- und Regeltechnik
US10481900B2 (en) 2016-04-11 2019-11-19 Endress+Hauser Conducta Gmbh+Co. Kg Method for updating a firmware component and device of measurement and control technology
GB2562796A (en) * 2017-05-26 2018-11-28 Sony Corp Audio and/or video receiving and transmitting apparatuses and methods
US10742612B2 (en) * 2017-10-16 2020-08-11 Cisco Technology, Inc. Determine payload integrity for traffic flowing across proxies
US11190827B2 (en) 2018-04-30 2021-11-30 Qualcomm Incorporated Method for broadcast service signaling
CN111726570B (zh) * 2020-01-01 2021-11-02 上海大参林医疗健康科技有限公司 基于数据解析的连续图像辨识系统
CN113672229A (zh) * 2020-05-14 2021-11-19 武汉斗鱼网络科技有限公司 一种目录注册方法、装置、设备及存储介质
EP3917103A1 (de) * 2020-05-29 2021-12-01 Siemens Aktiengesellschaft Verfahren, system, sender und empfänger zum authentifizieren eines senders

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4783823A (en) * 1985-09-16 1988-11-08 Omron Tateisi Electronics, Co. Card identifying method and apparatus
EP0647342B1 (en) * 1992-05-06 2002-03-27 Cias Inc. COUNTERFEIT DETECTION USING RANDOM NUMBER FIELD IDs
RU2040117C1 (ru) * 1992-12-07 1995-07-20 Центральный Научно-Исследовательский Институт Связи Способ передачи и приема с обеспечением подлинности и конфиденциальности сообщения
NZ329891A (en) 1994-01-13 2000-01-28 Certco Llc Method of upgrading firmware of trusted device using embedded key
US5768539A (en) * 1994-05-27 1998-06-16 Bell Atlantic Network Services, Inc. Downloading applications software through a broadcast channel
BR9509131A (pt) * 1994-10-28 1997-09-02 Surety Technologies Inc Processo de registro de primeiro documento digital para autentificação processo para autentificação de documento digital processo para denominação de primeiro documento digital represetação digital de autentificação de certificado de documento e processo de relógio-carimbo para primeiro documento digital para autentificação
JP2570635B2 (ja) * 1994-11-07 1997-01-08 日本電気株式会社 デジタル署名方式
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US5754659A (en) * 1995-12-22 1998-05-19 General Instrument Corporation Of Delaware Generation of cryptographic signatures using hash keys
US5850565A (en) * 1996-08-26 1998-12-15 Novell, Inc. Data compression method and apparatus
US6141002A (en) * 1996-11-12 2000-10-31 Opentv, Inc. System and method for downloading and rendering glyphs in a set top box
DE69720938T2 (de) * 1996-12-20 2004-03-04 Texas Instruments Inc., Dallas Verbesserungen in Bezug auf Sicherheitssysteme
US6526144B2 (en) * 1997-06-02 2003-02-25 Texas Instruments Incorporated Data protection system
EP0914001A1 (en) * 1997-10-28 1999-05-06 CANAL+ Société Anonyme Downloading of applications in a digital decoder

Also Published As

Publication number Publication date
HUP0101641A2 (hu) 2001-09-28
EP1646178A1 (en) 2006-04-12
EP1619825B1 (en) 2010-01-13
EP1758295A3 (en) 2010-07-21
CY1109887T1 (el) 2014-09-10
DE69936157T2 (de) 2008-01-24
NO20004765L (no) 2000-11-24
DK1619825T3 (da) 2010-05-03
KR20010034652A (ko) 2001-04-25
DE69936156D1 (de) 2007-07-05
DK1619826T3 (da) 2007-09-24
CA2324156A1 (en) 1999-09-30
DK1064754T3 (da) 2005-12-05
AU2851099A (en) 1999-10-18
PL343076A1 (en) 2001-07-30
EP1758295A2 (en) 2007-02-28
JP2002508624A (ja) 2002-03-19
CN1227860C (zh) 2005-11-16
ES2337369T3 (es) 2010-04-23
CY1105677T1 (el) 2010-12-22
US7760986B2 (en) 2010-07-20
CA2324156C (en) 2010-02-16
NO332071B1 (no) 2012-06-18
RU2227376C2 (ru) 2004-04-20
ATE363168T1 (de) 2007-06-15
WO1999049614A1 (en) 1999-09-30
CN1901451A (zh) 2007-01-24
IL138438A0 (en) 2001-10-31
HU226343B1 (en) 2008-09-29
DE69928089D1 (de) 2005-12-08
EP1064754B1 (en) 2005-11-02
HUP0101641A3 (en) 2003-05-28
DE69941935D1 (de) 2010-03-04
CN1612520A (zh) 2005-05-04
DE69928089T2 (de) 2006-06-01
US20050041955A1 (en) 2005-02-24
KR100610277B1 (ko) 2006-08-09
ATE308839T1 (de) 2005-11-15
EP1619824B1 (en) 2013-07-10
CN100438619C (zh) 2008-11-26
JP4199925B2 (ja) 2008-12-24
CN1783779B (zh) 2010-10-13
EP1064754A1 (en) 2001-01-03
EP1619824A3 (en) 2006-06-28
HK1101742A1 (en) 2007-10-26
ATE363167T1 (de) 2007-06-15
AU753937B2 (en) 2002-10-31
EP1619824A2 (en) 2006-01-25
IL138438A (en) 2005-08-31
ID27501A (id) 2001-04-12
CN1750641A (zh) 2006-03-22
CN100452702C (zh) 2009-01-14
EP1646178B1 (en) 2007-05-23
ZA200006016B (en) 2001-06-06
EP1619826B1 (en) 2007-05-23
HRP20000598A2 (en) 2001-06-30
EP0946019A1 (en) 1999-09-29
PT1619826E (pt) 2007-07-11
NO20110539L (no) 2000-11-24
ATE455410T1 (de) 2010-01-15
NO334994B1 (no) 2014-08-18
US7231525B1 (en) 2007-06-12
DE69936157D1 (de) 2007-07-05
US20070124594A1 (en) 2007-05-31
NO20004765D0 (no) 2000-09-22
CN1783779A (zh) 2006-06-07
CN1901451B (zh) 2011-07-13
CN1301442A (zh) 2001-06-27
EP1619825A2 (en) 2006-01-25
EP1619825A3 (en) 2006-02-22
ES2252934T3 (es) 2006-05-16
EP1619826A2 (en) 2006-01-25
EP1619826A3 (en) 2006-06-14
TR200002732T2 (tr) 2000-12-21
BR9909073A (pt) 2000-12-05
US7856557B2 (en) 2010-12-21
CN1881880A (zh) 2006-12-20
TR200101213T2 (tr) 2002-04-22
PT1619825E (pt) 2010-02-17
HK1101236A1 (en) 2007-10-12
CN1881880B (zh) 2010-12-29
ES2287872T3 (es) 2007-12-16
DE69936156T2 (de) 2008-01-24

Similar Documents

Publication Publication Date Title
ES2287871T3 (es) Autenticacion de datos en un sistema de transmision digital.
ES2250346T3 (es) Autentificacion de datos transmitidos en un sistema de transmision digital.
HK1101742B (en) Authentification of data in a digital transmission system
HK1101236B (en) Authentification of data in a digital transmission system
MXPA00009302A (es) Autentificacion de datos en un sistema de transmision digital
HK1102205A (en) Authentification of data in a digital transmission system
CZ20003537A3 (cs) Způsob ověřování dat