ES2287871T3 - Autenticacion de datos en un sistema de transmision digital. - Google Patents
Autenticacion de datos en un sistema de transmision digital. Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2351—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/23614—Multiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/26606—Channel 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/26613—Channel 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/418—External card to be used in combination with the client device, e.g. for conditional access
- H04N21/4181—External card to be used in combination with the client device, e.g. for conditional access for conditional access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N21/4353—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving decryption of additional data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4405—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/458—Scheduling 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/4586—Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/462—Content 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/4627—Rights management associated to the content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/818—OS software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
- H04N7/163—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/167—Systems rendering the television signal unintelligible and subsequently intelligible
- H04N7/1675—Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/601—Broadcast encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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.
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.
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)
| 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)
| 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 |
-
1998
- 1998-03-25 EP EP98400686A patent/EP0946019A1/en not_active Withdrawn
-
1999
- 1999-03-25 IL IL13843899A patent/IL138438A/xx not_active IP Right Cessation
- 1999-03-25 EP EP05110150.9A patent/EP1619824B1/en not_active Expired - Lifetime
- 1999-03-25 ES ES05110160T patent/ES2287871T3/es not_active Expired - Lifetime
- 1999-03-25 CN CNB998062065A patent/CN1227860C/zh not_active Expired - Lifetime
- 1999-03-25 AT AT99909166T patent/ATE308839T1/de active
- 1999-03-25 DE DE69928089T patent/DE69928089T2/de not_active Expired - Lifetime
- 1999-03-25 TR TR2001/01213T patent/TR200101213T2/xx unknown
- 1999-03-25 HU HU0101641A patent/HU226343B1/hu unknown
- 1999-03-25 AT AT05110156T patent/ATE455410T1/de active
- 1999-03-25 DE DE69936157T patent/DE69936157T2/de not_active Expired - Lifetime
- 1999-03-25 EP EP05110160A patent/EP1646178B1/en not_active Expired - Lifetime
- 1999-03-25 CN CN2006101011992A patent/CN1881880B/zh not_active Expired - Lifetime
- 1999-03-25 WO PCT/IB1999/000621 patent/WO1999049614A1/en not_active Ceased
- 1999-03-25 EP EP05110156A patent/EP1619825B1/en not_active Expired - Lifetime
- 1999-03-25 AT AT05110162T patent/ATE363167T1/de active
- 1999-03-25 EP EP99909166A patent/EP1064754B1/en not_active Expired - Lifetime
- 1999-03-25 JP JP2000538465A patent/JP4199925B2/ja not_active Expired - Lifetime
- 1999-03-25 KR KR1020007010583A patent/KR100610277B1/ko not_active Expired - Lifetime
- 1999-03-25 TR TR2000/02732T patent/TR200002732T2/xx unknown
- 1999-03-25 ID IDW20002151A patent/ID27501A/id unknown
- 1999-03-25 CN CN2004100431070A patent/CN1783779B/zh not_active Expired - Lifetime
- 1999-03-25 PL PL99343076A patent/PL343076A1/xx not_active IP Right Cessation
- 1999-03-25 DK DK05110156.6T patent/DK1619825T3/da active
- 1999-03-25 PT PT05110162T patent/PT1619826E/pt unknown
- 1999-03-25 AU AU28510/99A patent/AU753937B2/en not_active Expired
- 1999-03-25 BR BR9909073-2A patent/BR9909073A/pt not_active IP Right Cessation
- 1999-03-25 CN CNB2004100431047A patent/CN100452702C/zh not_active Expired - Lifetime
- 1999-03-25 DK DK05110162T patent/DK1619826T3/da active
- 1999-03-25 HR HR20000598A patent/HRP20000598A2/hr not_active Application Discontinuation
- 1999-03-25 CN CNB2005101040524A patent/CN100438619C/zh not_active Expired - Lifetime
- 1999-03-25 CA CA2324156A patent/CA2324156C/en not_active Expired - Lifetime
- 1999-03-25 AT AT05110160T patent/ATE363168T1/de not_active IP Right Cessation
- 1999-03-25 CN CN2006101012001A patent/CN1901451B/zh not_active Expired - Lifetime
- 1999-03-25 ES ES99909166T patent/ES2252934T3/es not_active Expired - Lifetime
- 1999-03-25 DE DE69936156T patent/DE69936156T2/de not_active Expired - Lifetime
- 1999-03-25 DK DK99909166T patent/DK1064754T3/da active
- 1999-03-25 RU RU2000126765/09A patent/RU2227376C2/ru active
- 1999-03-25 ES ES05110162T patent/ES2287872T3/es not_active Expired - Lifetime
- 1999-03-25 EP EP05110162A patent/EP1619826B1/en not_active Expired - Lifetime
- 1999-03-25 ES ES05110156T patent/ES2337369T3/es not_active Expired - Lifetime
- 1999-03-25 DE DE69941935T patent/DE69941935D1/de not_active Expired - Lifetime
- 1999-03-25 US US09/646,845 patent/US7231525B1/en not_active Expired - Lifetime
- 1999-03-25 PT PT05110156T patent/PT1619825E/pt unknown
- 1999-03-25 EP EP06119319A patent/EP1758295A3/en not_active Withdrawn
-
2000
- 2000-09-22 NO NO20004765A patent/NO332071B1/no not_active IP Right Cessation
- 2000-10-25 ZA ZA200006016A patent/ZA200006016B/xx unknown
-
2004
- 2004-09-29 US US10/953,823 patent/US7760986B2/en not_active Expired - Lifetime
-
2006
- 2006-02-01 CY CY20061100135T patent/CY1105677T1/el unknown
-
2007
- 2007-01-26 US US11/698,460 patent/US7856557B2/en not_active Expired - Fee Related
-
2010
- 2010-03-08 CY CY20101100213T patent/CY1109887T1/el unknown
-
2011
- 2011-04-06 NO NO20110539A patent/NO334994B1/no not_active IP Right Cessation
Also Published As
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 |