ES2265466T3 - Descarga de datos. - Google Patents

Descarga de datos. Download PDF

Info

Publication number
ES2265466T3
ES2265466T3 ES02013520T ES02013520T ES2265466T3 ES 2265466 T3 ES2265466 T3 ES 2265466T3 ES 02013520 T ES02013520 T ES 02013520T ES 02013520 T ES02013520 T ES 02013520T ES 2265466 T3 ES2265466 T3 ES 2265466T3
Authority
ES
Spain
Prior art keywords
directory
signature
mpeg
data
decoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES02013520T
Other languages
English (en)
Inventor
Jean-Claude Sarfati
Jerome Meric
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Application granted granted Critical
Publication of ES2265466T3 publication Critical patent/ES2265466T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/20Adaptations for transmission via a GHz frequency band, e.g. via satellite
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/0014Coin-freed apparatus for hiring articles; Coin-freed facilities or services for vending, access and use of specific services not covered anywhere else in G07F17/00
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18523Satellite systems for providing broadcast service to terrestrial stations, i.e. broadcast satellite service
    • H04B7/18526Arrangements for data linking, networking or transporting, or for controlling an end to end session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/004Diagnosis, testing or measuring for television systems or their details for digital television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2351Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • H04N21/8402Generation or processing of descriptive data, e.g. content descriptors involving a version number, e.g. version number of EPG data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/44Receiver circuitry for the reception of television signals according to analogue transmission standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Astronomy & Astrophysics (AREA)
  • Discrete Mathematics (AREA)
  • Computing Systems (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Quality & Reliability (AREA)
  • Computer Graphics (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Stored Programmes (AREA)
  • Superconductors And Manufacturing Methods Therefor (AREA)
  • Photoreceptors In Electrophotography (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

Método para descargar una pluralidad de módulos de datos a un receptor/ decodificador MPEG (2020), que comprende las etapas de: generar una firma de módulo (52) para cada módulo (24) de datos a descargar; formatear los módulos de datos como respectivas tablas MPEG de módulos (24); generar un directorio (40) incluyendo una identificación de cada tabla MPEG de módulos (24) y la firma correspondiente; generar una firma de directorio (46) para el directorio; cifrar la firma de directorio en un bloque de datos (66) que incluye otros datos, con un desplazamiento seleccionado de entre el comienzo del bloque de datos y el comienzo de la firma, utilizando una clave privada; formatear el directorio y la firma de directorio cifrada como una tabla MPEG de directorio; transmitir las tablas MPEG de módulos y de directorio; y en el receptor/ decodificador: recibir las tablas MPEG de módulos y de directorio; descifrar el bloque de datos cifrado con la firma de directorio de la tabla MPEG de directorio recibida utilizando una clave pública (82) que corresponde a la clave privada; buscar al menos un desplazamiento almacenado en un área protegida de la memoria (68) del receptor/ decodificador; extraer la firma de directorio del bloque de datos descifrado utilizando dicho desplazamiento buscado a partir del comienzo del bloque de datos descifrado; generar una firma de directorio para el directorio contenido en la tabla MPEG de directorio recibida; comparar la firma de directorio extraída y la firma de directorio generada en el receptor/ decodificador; generar una firma de módulo respectiva para cada módulo de las tablas MPEG de módulos recibidas; y comparar cada firma de módulo de la tabla MPEG de directorio recibida con la firma de módulo respectiva generada en el receptor/ decodificador.

Description

Descarga de datos.
Esta invención se refiere a:
-
un método para descargar datos a un receptor/decodificador MPEG;
-
un receptor/decodificador MPEG en sí; y
-
un sistema de transmisión MPEG.
La llegada de los sistemas de transmisión digital destinados principalmente a la difusión de señales de televisión, en particular pero no exclusivamente, sistemas de televisión por satélite, ha abierto la posibilidad de utilizar tales sistemas para otros propósitos. Uno de estos es proporcionar interactividad con el usuario final.
Un modo de hacer esto es ejecutar una aplicación en el receptor/decodificador mediante la cual se recibe la señal de televisión. El código para la aplicación podría encontrarse almacenado permanentemente en el receptor/decodificador. Sin embargo, esto sería bastante limitante. Preferiblemente, el receptor/decodificador debe ser capaz de descargar el código para una aplicación requerida. De este modo, puede proporcionarse más variedad, y las aplicaciones pueden actualizarse tanto como se requiera sin ninguna acción por parte del usuario.
En un sistema MPEG, el código de aplicación puede ser descargado en tablas MPEG. No obstante, existe un límite en el tamaño de un fragmento de código que puede ser descargado por medio de una sola tabla MPEG. Además, si se requiere que una aplicación completa sea descargada antes de ejecutarla, esto puede provocar un retraso que resulte inaceptable para el usuario. Por lo tanto, hay un deseo de ser capaz de descargar una aplicación como una pluralidad de módulos. Sin embargo, esto puede crear posteriormente el problema de ser capaz de identificar y extraer del tren de bits MPEG los módulos requeridos para una aplicación en particular.
WO 95/33338 enseña la programación dinámica de un terminal e entretenimiento digital, que puede ser programado, según se necesite, para cada servicio diferente ofertado por uno o más proveedores de servicios de información. El procesador de control recibe entradas del usuario y operaciones de control del terminal y él envío y la recepción de señales de control a través de un canal de control de dos vías. La memoria del programa almacena los datos recibidos a través de un canal de banda ancha digital como software ejecutable por el procesador de control. El procesador de control ejecuta el software recibido y lo almacena en la memoria para controlar operaciones posteriores del terminal, incluyendo al menos algunas de las operaciones del procesador de audio/vídeo y, al menos, algunas de las respuestas para las entradas del usuario.
EP-0690400 proporciona un método para generar un tren de datos de componente interactivo, representando un programa de aplicación, para una señal compuesta interactiva audio vídeo (AVI). Se generan archivos de programa que representan el programa de aplicación. Luego, se generan los datos de flujo que definen la estructura de datos del componente interactivo. Finalmente se genera el tren de datos insertando selectivamente archivos de programa en el tren de datos en respuesta a los datos de flujo. El aparato para generar tal tren de datos de componente interactivo comprende una fuente de archivos de programa que representan el programa de aplicación y una fuente de datos de flujo que definen la estructura de datos del componente interactivo. Un constructor de flujo (10) inserta selectivamente (30) archivos procedentes de la fuente de archivos en el componente interactivo en respuesta a los datos procedentes de la fuente de datos de flujo.
Estos dos métodos no proporcionan ninguna seguridad o autentificación en particular para la descarga de aplicaciones, lo que hace al sistema vulnerable, particularmente en un sistema con varios proveedores de servicios.
EP-0752786 describe un método para autentificar aplicaciones transmitidas en un sistema de información interactivo. Un programa interactivo ejecutable se divide en módulos, de modo similar a los archivos de ordenador, y se crea un módulo de directorio que enlaza los módulos de programa. La seguridad para la aplicación ejecutable se proporciona adjuntando al módulo de directorio un certificado firmado, y la integridad de los módulos se supervisa mediante el troceo de los módulos e incluyendo los valores de troceo en el módulo de directorio. Se genera un valor de troceo del módulo de directorio, se cifra y se adjunta al módulo de directorio. En el receptor, se decodifica el certificado y se verifica su autenticidad. Si el certificado es genuino, el programa puede ejecutarse, pero sólo si los valores de troceo generados por el receptor son idénticos a los del módulo de directorio.
Mientras este método proporciona una protección bastante buena para el software descargado, es un hecho conocido que los piratas informáticos a menudo intentan "piratear" cualquier sistema disponible. Por todo lo que sabemos, la seguridad de este método puede ser suficiente, pero aún serán apreciadas más mejoras, al menos una de las proporcionadas por la presente invención.
De acuerdo con un primer aspecto de la presente invención, se proporciona un método para descargar, al menos, parte de una aplicación a un receptor/decodificador MPEG, comprendiendo las etapas de: dividir la aplicación en una pluralidad de módulos; formatear cada uno de los módulos como una tabla MPEG correspondiente, teniendo las tablas la misma identificación de tabla ("TID") y siendo diferentes de una extensión-TID predeterminada, las respectivas extensiones de identificación de tabla ("extensiones TID"); generar una tabla MPEG de directorio para los módulos que poseen la misma mencionada TID y una tabla para los módulos con la misma TID mencionada y la extensión-TID predeterminada mencionada, conteniendo el directorio, para cada uno de los módulos, un nombre de ese módulo y la correspondiente extensión-TID; y medios para transmitir cíclicamente la tabla MPEG de directorio y las tablas MPEG de módulos en una tren de bits MPEG.
Preferiblemente, el sistema comprende además medios para generar una identificación de versión para la tabla MPEG de directorio; y en donde los medios que generan la tabla MPEG de directorio son operativos para incluir en la tabla MPEG de directorio la identificación de versión generada para ésta.
Los medios de formateo de módulos puede ser operativos para formatear, al menos, una de las tablas MPEG de módulos como una pluralidad de secciones MPEG que contiene cada una, en una porción predeterminada para ello, una identificación de esa sección MPEG en esa tabla MPEG y una indicación del número de secciones MPEG en esa tabla MPEG.
Deseablemente, el receptor/decodificador debe estar protegido frente a la descarga de aplicaciones no autorizadas que podrían contener, por ejemplo, un virus. De acuerdo con ello, pueden contemplarse los conceptos de firma y cifrado de, al menos, una parte del código de aplicación.
De acuerdo con un cuarto aspecto de la presente invención, se proporciona un método para descargar datos a un receptor/decodificador MPEG, comprendiendo las etapas de: - generar una firma para los datos a descargar; cifrar la firma utilizando una clave privada; formatear los datos a descargar, la firma cifrada y una identificación para la clave privada como una tabla MPEG; transmitir la tabla MPEG; y en el receptor/decodificador: - recibir la tabla MPEG; seleccionar una entre una pluralidad de claves públicas de acuerdo con la identificación de clave de la tabla MPEG recibida; descifrar la firma cifrada en la tabla MPEG recibida utilizando la clave pública seleccionada para proporcionar una firma descifrada; generar una firma para los datos de la tabla MPEG recibida; y comparar, para los datos recibidos, la firma descifrada y la firma generada en el receptor/decodificador.
De acuerdo con ello, el receptor/decodificador puede utilizarse para descargar aplicaciones que poseen firmas cifradas procedentes de más de una fuente, sin que las fuentes precisen conocer las claves privadas de las otras.
El método puede comprender además las etapas de descargar al receptor/decodificador una aplicación que posea una firma cifrada utilizando una clave privada con una identificación de clave predeterminada; ejecutar la aplicación en el receptor/decodificador para provocar que el receptor/decodificador reciba una clave adicional; almacenar la clave adicional en un área de la memoria volátil del receptor/decodificador. En este caso, durante la etapa de ejecutar la aplicación, la clave adicional puede suministrarse localmente al receptor/decodificador, por ejemplo a través de un puerto paralelo, un puerto serie o un lector de tarjetas inteligentes del receptor/decodificador. Si el receptor/decodificador tiene una conexión de módem, el receptor/decodificador, preferiblemente, está dispuesto para evitar que dicha clave adicional sea suministrada a través del módem.
Estas características permiten a un fabricante que desee probar un receptor/decodificador descargar una clave al receptor/decodificador.
En el receptor/decodificador, el método puede incluir además las etapas de buscar, en un área protegida de la memoria del receptor/decodificador, una señal de validación para la clave pública seleccionada, e inhibir o abortar la descarga de los datos si no se establece la señal buscada.
De acuerdo con ello, si bien una pluralidad de claves públicas pueden ser suministradas permanentemente en la memoria del receptor/decodificador, cualquiera de ellas puede ser invalidada selectivamente, lo que puede ser necesario, por ejemplo, en el caso de que sea quebrantada la privacidad de una clave privada asociada con una clave pública en particular, o cuando dos operadores que han estado utilizando las mismas claves deciden utilizar claves separadas.
En el caso en el que el receptor/decodificador está dispuesto para descargar una aplicación que posee una firma cifrada utilizando una clave privada con una identificación de clave predeterminada, como se dijo anteriormente, en el área protegida de la memoria del receptor/decodificador la clave privada, con la identificación de clave predeterminada, puede tener una señal de validación que ser puede modificada por dicha aplicación y, dependiendo del estado de esa señal de validación, se determina la capacidad para recibir dicha clave adicional.
Estas últimas características de señales de validación para las claves públicas pueden ser proporcionadas independientemente del cuarto aspecto de la invención. De acuerdo con ello, un quinto aspecto de la presente invención proporciona un método para descargar datos a un receptor/decodificador MPEG, comprendiendo las etapas de: - generar una firma para los datos a descargar; cifrar la firma utilizando una clave privada; formatear los datos a descargar, la firma cifrada y una identificación para la clave privada como una tabla MPEG; transmitir la tabla MPEG; y en el receptor/decodificador: - recibir la tabla MPEG; buscar, en un área protegida de la memoria del receptor/ decodificador, una señal de validación para una clave pública que se corresponda con la clave privada identificada en la tabla MPEG recibida; y si se establece la señal buscada: - descifrar la firma cifrada en la tabla MPEG recibida utilizando la clave pública que se corresponda con la clave privada identificada en la tabla MPEG recibida para proporcionar una firma descifrada; generar una firma para los datos de la tabla MPEG recibida; y comparar, para los datos recibidos, la firma descifrada y la firma generada en el receptor/decodificador.
Preferiblemente, los métodos del cuarto y quinto aspecto de la invención incluyen además las etapas de: - generar un código de validación para los datos a descargar, siendo cifrado el código de validación con la firma en la etapa de cifrado y siendo descifrado con la firma en la etapa de descifrado; buscar un código de validación almacenado en un área protegida de la memoria del receptor/decodificador; y comparar el código de validación buscado y el código de validación descifrado.
De acuerdo con ello, el receptor/decodificador puede configurarse para recibir sólo ciertas aplicaciones o tipos de aplicaciones.
Estas características pueden proporcionarse independientemente de los aspectos cuarto y quinto de la invención. De acuerdo con ello, un sexto aspecto de la presente invención proporciona un método para descargar datos a un receptor/decodificador MPEG, comprendiendo las etapas de: - generar un código de validación para los datos a descargar; generar una firma para los datos a descargar o para una parte de ellos; cifrar el código de validación y la firma utilizando una clave privada; formatear los datos a descargar, la firma y el código de validación cifrados como, al menos, una tabla MPEG; transmitir la/cada tabla MPEG; y en el receptor/decodificador: - recibir la/cada tabla MPEG; descifrar el código de validación y la firma cifrados en la(s) tabla(s) MPEG recibida(s) utilizando una clave pública correspondiente a la clave privada; buscar un código de validación almacenado en un área protegida de la memoria del receptor/decodificador; comparar el código de validación buscado y el código de validación descifrado; generar una firma para los datos de la(s) tabla(s) MPEG recibida(s) o para las mencionadas partes de ellos; y comparar, para los datos recibidos, la firma descifrada y la firma generada en el receptor/decodificador.
Preferiblemente, el método comprende además la etapa de inhibir o abortar la descarga de los datos si, en la etapa de comparar el código de validación, el código de validación buscado y el código de validación descifrado no coinciden entre sí.
En los aspectos cuarto al sexto de la invención, puede proporcionarse que la firma de los datos a descargar se encuentre cifrada en un bloque de datos que incluya otros datos, con un desplazamiento seleccionado de entre el comienzo del bloque de datos y el comienzo de la firma, y el bloque de datos cifrado se descifre en la etapa de descifrado en el receptor/decodificador, y que además incluya, en el receptor/decodificador, las etapas de buscar, al menos, un desplazamiento almacenado en un área protegida de la memoria del receptor/decodificador, y extraer la firma del bloque de datos descifrado utilizando dicho desplazamiento buscado a partir del comienzo del bloque de datos descifrado.
De acuerdo con ello, la firma puede distinguirse entre otros datos ficticios, haciendo más difícil acertar la localización de la firma. De forma alternativa, o adicionalmente, esta característica permite que los datos estén disponibles sólo para uno o más grupos en particular de receptores/decodificadores.
Estas características pueden proporcionarse independientemente de los aspectos, cuarto a sexto de la invención. De acuerdo con ello, un séptimo aspecto de la presente invención proporciona un método para descargar datos a un receptor/decodificador MPEG, comprendiendo las etapas de: - generar una firma para los datos a descargar; incluir la firma y otros datos en un bloque de datos con un desplazamiento seleccionado de entre el comienzo del bloque de datos y el comienzo de la firma; cifrar el bloque de datos utilizando una clave privada; formatear los datos a descargar y el bloque de datos cifrado como una tabla MPEG; transmitir la tabla MPEG; y en el receptor/decodificador: - recibir la tabla MPEG; descifrar el bloque de datos cifrado en la tabla MPEG recibida utilizando una clave pública correspondiente a la clave privada; buscar, al menos, un desplazamiento almacenado en un área protegida de la memoria del receptor/decodificador; extraer la firma del bloque de datos descifrado utilizando el mencionado desplazamiento buscado a partir del comienzo del bloque de datos descifrado; generar una firma para los datos de la tabla MPEG recibida; y comparar, para los datos recibidos, la firma extraída del bloque de datos descifrado con la firma generada en el receptor/decodificador.
En el caso en el que dicho área protegida de la memoria tenga, al menos, dos de tales desplazamientos almacenados, si en la etapa de comparación la firma extraída y la firma generada no coinciden, preferiblemente, el método incluye las etapas de repetir las etapas de búsqueda, extracción y comparación utilizando otro de los desplazamientos almacenados.
Al menos, algunos de dichos otros datos del bloque de datos pueden ser datos arbitrarios o ficticios pero, si lo son, preferiblemente, ninguna sección de los datos ficticios repite la firma.
En los aspectos cuarto a séptimo de la invención, los datos pueden descargarse como una pluralidad de módulos de datos, y el método puede incluir las etapas de: - generar una firma de módulo para cada módulo de datos a descargar; formatear los módulos de datos como las correspondientes tablas MPEG de módulos; generar un directorio incluyendo una identificación de cada tabla MPEG de módulo y la correspondiente firma, siendo el directorio el sujeto de la etapa de generación de firma; y en el receptor/decodificador: - generar una firma de módulo correspondiente para cada uno de los módulos de las tablas MPEG de módulos recibidas; y comparar cada firma de módulo de la tabla MPEG de directorio recibida con la correspondiente firma de módulo generada en el receptor/decodificador.
De acuerdo con ello, si bien los datos a descargar están compuestos por una pluralidad de módulos, sólo se requiere un único proceso de cifrado para cifrar los módulos, y sólo se requiere un único proceso de descifrado para permitir que las firmas sean verificadas.
Estas características pueden proporcionarse independientemente de los aspectos, cuarto a séptimo de la invención. De acuerdo con ello, un octavo aspecto de la presente invención proporciona un método para descargar una pluralidad de módulos de datos a un receptor/decodificador MPEG, comprendiendo las etapas de: - generar una firma de módulo para cada módulo de datos a descargar; formatear los módulos de datos como las correspondientes tablas MPEG de módulos; generar un directorio incluyendo una identificación de cada tabla MPEG de módulo y la correspondiente firma; generar una firma de directorio para el directorio; cifrar la firma de directorio utilizando una clave privada; formatear el directorio y la firma de directorio cifrada como una tabla MPEG de directorio; transmitir las tablas MPEG de módulos y de directorio; y en el receptor/decodificador: - recibir las tablas MPEG de módulos y de directorio; descifrar la firma de directorio cifrada en la tabla MPEG de directorio recibida utilizando una clave pública correspondiente a la clave privada; generar una firma de directorio para el directorio de la tabla MPEG de directorio recibida; comparar la firma de directorio descifrada y la firma de directorio generada en el receptor/decodificador; generar una firma de módulo correspondiente para cada uno de los módulos de las tablas MPEG de módulo recibidas; y comparar cada firma de módulo en la tabla de directorio MPEG recibida con la correspondiente firma de módulo generada en el receptor/decodificador.
Preferiblemente, el método comprende además la etapa de inhibir o abortar la descarga de un módulo de datos si, en la etapa de comparar la firma de módulo, la firma de módulo en la tabla MPEG de directorio recibida y la correspondiente firma de módulo generada en el receptor/decodificador para ese módulo no coinciden entre
sí.
Los métodos descritos anteriormente incluyen además, preferiblemente, la etapa de inhibir o abortar la descarga de los datos si, en la(s) etapa(s) de comparación, la/cada firma descifrada y la firma generada no coinciden entre
sí.
De acuerdo con un noveno aspecto de la presente invención, se proporciona un receptor/decodificador MPEG para utilizar en el desarrollo de parte del método del cuarto aspecto de la invención, comprendiendo: medios para recibir tales tablas MPEG; medios para almacenar una pluralidad de claves públicas y una identificación para cada una de las claves públicas; y medios de procesamiento que están programados para seleccionar una de las claves públicas almacenadas de acuerdo con la identificación de clave en la tabla MPEG recibida; descifrar la firma cifrada en la tabla MPEG recibida utilizando la clave pública seleccionada para proporcionar una firma descifrada; generar una firma para los datos de la tabla MPEG recibida; y comparar, para los datos recibidos, la firma descifrada y la firma generada en el receptor/decodificador.
Los medios de almacenamiento de claves se proporcionan preferiblemente mediante la ROM, y la autentificación para cada una de las claves públicas puede proporcionarse mediante la localización de almacenaje de esa clave pública en el medio de almacenaje de claves.
El receptor/decodificador puede incluir además un área de memoria volátil, y los medios de procesamiento pueden ser funcionales para descargar una aplicación que posea una firma cifrada utilizando una clave privada con una identificación de clave predeterminada, ejecutar la aplicación para provocar que el receptor/decodificador reciba una clave adicional, y hacer que la clave adicional se almacene en el área de la memoria volátil.
El receptor/decodificador puede incluir además medios para recibir dicha clave adicional, la cual es suministrada localmente al receptor/decodificador, tales como un puerto paralelo, un puerto serie y/o un lector de tarjetas inteligentes del receptor/decodificador. La memoria volátil es provista preferiblemente por la RAM. De nuevo, si el receptor/decodificador tiene una conexión de módem, el receptor/decodificador está dispuesto preferiblemente para evitar que tal clave adicional sea suministrada a través del módem.
El receptor/decodificador además puede incluir un área protegida de la memoria para almacenar una señal de validación para cada una de, al menos, algunas de las claves públicas, y los medios de procesamiento pueden estar programados para buscar, en el área protegida de la memoria, la señal de validación para dicha clave pública seleccionada, e inhibir o abortar la descarga de datos si no se establece la señal buscada.
El receptor/decodificador puede incluir también un área protegida de la memoria para almacenar una señal de validación para la clave privada que tenga la identificación de clave predeterminada, y los medios de procesamiento pueden ser funcionales cuando se ejecuta dicha aplicación para cambiar esa señal de validación y son funcionales para permitir que la clave adicional sea almacenada dependiendo del estado de esa señal.
Esta última característica puede ser proporcionada independientemente del noveno aspecto de la invención. De acuerdo con ello, un décimo aspecto de la presente invención proporciona un receptor/decodificador MPEG, comprendiendo: medios para recibir tales tablas MPEG; medios para almacenar una clave pública y una identificación para la clave pública; y un área protegida de la memoria para almacenar una señal de validación para la clave pública; y medios de procesamiento que están programados para buscar, en el área protegida de la memoria del receptor/decodificador, una señal de validación para la clave pública que se corresponda a la clave privada identificada en la tabla MPEG recibida; y, si se establece la señal buscada, descifrar la firma cifrada en la tabla MPEG recibida utilizando la clave pública que se corresponda con la clave privada identificada en la tabla MPEG recibida para proporcionar una firma descifrada; generar una firma para los datos de la tabla MPEG recibida; y comparar, para los datos recibidos, la firma descifrada y la firma generada por el receptor/decodificador.
La memoria para almacenar la(s) señal(es) de validación de clave es proporcionada preferiblemente mediante memoria de escritura no volátil.
En el caso de que se encuentren almacenadas una pluralidad de tales claves públicas, la memoria para almacenar la(s) señal(es) de validación está dispuesta preferiblemente como un mapa de bits.
El receptor/decodificador de los aspectos noveno o décimo de la invención puede incluir además un área protegida de la memoria para almacenar un código de validación, y los medios de procesamiento pueden estar programados para descifrar el código de validación en dicha tabla MPEG recibida, buscar el código de validación almacenado, y comparar el código de validación buscado y el código de validación descifrado.
Esta última característica puede ser proporcionada independientemente de los aspectos noveno o décimo de la invención. De acuerdo con ello, un undécimo aspecto de la presente invención proporciona un receptor/decodificador MPEG, comprendiendo: medios para recibir tales tablas MPEG; medios para almacenar un clave pública y una identificación para la clave pública; un área protegida de la memoria para almacenar un código de validación; y medios de procesamiento que están programados para descifrar la firma y el código de validación cifrados en tales tablas MPEG recibidas utilizando la clave pública almacenada correspondiente a la clave privada; buscar el código de validación almacenado en el área protegida de la memoria; comparar el código de validación buscado y el código de validación descifrado; generar una firma para los datos de la tabla MPEG recibida o para dicha parte de ellos; y comparar, para los datos recibidos, la firma descifrada y la firma generada por el receptor/decodificador.
Los medios de procesamiento, preferiblemente, están programados para inhibir o abortar la descarga de los datos si el código de validación buscado y el código de validación descifrado no coinciden entre sí.
La memoria para almacenar el código de validación es proporcionada, preferiblemente, mediante memoria de escritura no volátil, y puede estar dispuesta como un mapa de bits.
El receptor/decodificador de los aspectos noveno a undécimo de la invención puede incluir además un área protegida de la memoria para almacenar, al menos, un desplazamiento, y los medios de procesamiento pueden estar programados para descifrar el bloque de datos cifrado en dicha tabla MPEG recibida, buscar dicho desplazamiento almacenado en el área protegida de la memoria, y extraer la firma del bloque de datos descifrado utilizando el desplazamiento buscado a partir del comienzo del bloque de datos descifrado.
Esta última característica puede ser proporcionada independientemente de los aspectos, noveno a undécimo de la invención. De acuerdo con ello, un duodécimo aspecto de la presente invención proporciona un receptor/decodificador MPEG, comprendiendo: medios para recibir tales tablas MPEG; medios para almacenar una clave pública y una identificación para la clave pública; un área protegida de la memoria para almacenar, al menos, un desplazamiento; y medios de procesamiento que están programados para descifrar el bloque de datos cifrado en dicha tabla MPEG recibida utilizando la clave pública almacenada correspondiente a la clave privada; buscar dicho desplazamiento almacenado en el área protegida de la memoria; extraer la firma del bloque de datos descifrado utilizando el desplazamiento buscado a partir del comienzo del bloque de datos descifrado; generar una firma para los datos de la tabla MPEG recibida; y comparar, para los datos recibidos, la firma extraída del bloque de datos descifrado y la firma generada en el receptor/decodificador.
La memoria para almacenar el desplazamiento es proporcionada preferiblemente mediante memoria de escritura no volátil.
En el receptor/decodificador de los aspectos noveno a duodécimo de la invención, los medios de procesamiento pueden estar programados para generar una firma de módulo correspondiente para cada uno de los módulos de las tablas MPEG de módulos recibidas, y comparar cada firma de módulo de la tabla MPEG de directorio recibida con la correspondiente firma de módulo generada por el receptor/decodificador.
Esta última característica puede ser proporcionada independientemente de los aspectos, noveno a duodécimo de la invención. De acuerdo con ello, un aspecto decimotercero de la invención proporciona un receptor/decodificador MPEG, comprendiendo: medios para recibir tales tablas MPEG de módulos y de directorio; medios para almacenar una clave pública y una identificación para la clave pública; y medios de procesamiento que están programados para descifrar la firma de directorio cifrada en la tabla MPEG de directorio recibida utilizando la clave pública almacenada correspondiente a la clave privada; generar una firma de directorio para el directorio de la tabla MPEG de directorio recibida; comparar la firma de directorio descifrada y la firma de directorio generada por el receptor/decodificador; generar una firma de módulo correspondiente para cada uno de los módulos de la tabla MPEG de módulos recibida; y comparar cada firma de módulo de la tabla MPEG de directorio recibida con correspondiente la firma de módulo generada por el receptor/decodificador.
Los medios de procesamiento, preferiblemente, están programados para inhibir o abortar la descarga de tales módulos de datos si la firma de módulo de la tabla MPEG de directorio recibida y correspondiente la firma de módulo generada en el receptor/decodificador para ese módulo no coinciden entre sí.
En el receptor/decodificador de cualquiera de los aspectos noveno a decimotercero de la invención, los medios de procesamiento, preferiblemente, están programados para inhibir o abortar la descarga de los datos si la/cada firma descifrada y la firma generada no coinciden entre sí.
Ahora serán descritas características preferidas de la invención, puramente a modo de ejemplo, con referencia a los dibujos adjuntos, en los que:
La figura 1 muestra la arquitectura global de un sistema de televisión digital;
La figura 2 muestra la arquitectura de un sistema interactivo del sistema de televisión digital de la figura 1;
La figura 3 es un diagrama esquemático de las interfaces de un receptor/decodificador que forma parte del sistema de las figuras 1 y 2;
La figura 4 es un diagrama esquemático de un control remoto utilizado en el sistema de televisión digital;
La figura 5 muestra la disposición de archivos dentro de un módulo descargado en la memoria de un receptor/decodificador interactivo;
La figura 6 ilustra una relación entre un número de componentes de como tren MPEG;
La figura 7 ilustra como una aplicación puede estar compuesta de módulos/tablas, que a su vez pueden estar compuestos de secciones;
La figura 8 ilustra el contenido de un módulo de directorio;
La figura 9 ilustra en más detalle parte del contenido de un módulo de directorio; y
La figura 10 ilustra varias áreas de memoria en un receptor/decodificador del sistema de televisión.
En la figura 1 se muestra una visión general de un sistema de televisión digital 1000 de acuerdo con la presente invención. La invención incluye un sistema de televisión digital principalmente convencional 2000 que utiliza el sistema de compresión MPEG-2 conocido para transmitir señales digitales comprimidas. En más detalle, el compresor MPEG-2 2002 en un centro emisor recibe un tren de señales digitales (normalmente un tren de señales de vídeo). El compresor 2002 está conectado a un multiplexor y cifrador 2004 mediante el enlace 2006. El multiplexor 2004 recibe una pluralidad de señales de entrada adicionales, ensambla uno o más trenes de transporte y transmite señales digitales comprimidas a un transmisor 2008 del centro emisor a través del enlace 2010, el cual puede, por supuesto, tomar una variedad de formas incluyendo enlaces de telecomunicaciones. El transmisor 2008 transmite señales electromagnéticas a través del enlace ascendente 2012 hacia un repetidor por satélite 2014, donde son procesadas electrónicamente y emitidas a través del hipotético enlace descendente 2016 al receptor de tierra 2018, convencionalmente en la forma de una antena parabólica que pertenece a o es alquilada por el usuario final. Las señales recibidas por el receptor 2018 se transmiten a un receptor/decodificador 2020 integrado que pertenece a o es alquilado por el usuario final y conectado al aparato de televisión 2022 del usuario final. El receptor/decodificador 2020 decodifica la señal MPEG-2 comprimida en una señal de televisión para el aparato de televisión 2022.
Un sistema de acceso condicional 3000 se encuentra conectado al multiplexor 2004 y al receptor/decodificador 2020, y está localizado parcialmente en el centro emisor y parcialmente en el decodificador. Permite al usuario final acceder a las emisiones de televisión digital procedentes de uno o más proveedores de emisiones. Puede insertarse en el receptor/decodificador 2020 una tarjeta inteligente, capaz de descifrar mensajes relacionados con las ofertas comerciales (esto es, uno o varios programas de televisión vendidos por el proveedor de emisiones). Utilizando el decodificador 2020 y la tarjeta inteligente, el usuario final puede comprar ofertas comerciales en un modo de suscripción o en un modo de pago por visión.
Un sistema interactivo 4000 también conectado al multiplexor 2004 y al receptor/decodificador 2020 y de nuevo localizado parcialmente en el centro emisor y parcialmente en el decodificador, permite el usuario final interactuar con varias aplicaciones a través de un canal de retorno por módem 4002.
La figura 2 muestra la arquitectura general del sistema de televisión interactiva 4000 del sistema de televisión digital 1000 de la presente invención.
Por ejemplo, el sistema interactivo 4000 permite a un usuario final comprar elementos de catálogos en pantalla, consultar a demanda noticias locales y mapas del tiempo y jugar juegos a través de su aparato de televisión.
En visión de conjunto, el sistema interactivo 4000 comprende cuatro elementos principales:
-
herramienta de autorización 4004 en el centro emisor o en cualquier otro lugar, para permitir a un proveedor de emisiones crear, desarrollar, depurar y probar aplicaciones;
-
servidor de datos y aplicaciones 4006, en el centro emisor, conectado a la herramienta de autorización 4004 para permitir al proveedor de emisiones preparar, autentificar y formatear aplicaciones y datos para enviarlos al multiplexor y cifrador 2004 para la inserción en el tren de transporte MPEG-2 (normalmente la sección privada de éste) para ser emitida al usuario final;
-
máquina virtual destinada a un motor de ejecución (RTE) 4008, que es un código ejecutable instalado en el receptor/decodificador 2020 propiedad o alquilado por el usuario final para permitir a un usuario final recibir, autentificar, descomprimir, y cargar aplicaciones en una memoria de trabajo del decodificador 2020 para su ejecución. El motor 4008 también ejecuta aplicaciones residentes, de propósito general. El motor 4008 es independiente del hardware y del sistema operativo; y
-
canal de retorno por módem 4002 entre el receptor/decodificador 2020 y el servidor de datos y aplicaciones 4006 para permitir señales que instruyan al servidor 4006 para insertar datos y aplicaciones en el tren de transporte MPEG-2 a petición del usuario final.
El sistema de televisión interactiva funciona utilizando "aplicaciones" que controlan las funciones del receptor/decodificador y de los diversos dispositivos contenidos en él. Las aplicaciones se representan en el motor 4008 como "archivos de recursos". Un "módulo" es un conjunto de archivos de recursos y datos. Un "volumen de memoria" del receptor/decodificador es un espacio de almacenamiento para módulos. Los módulos pueden descargarse en el receptor/decodificador 2020 desde el tren de transporte MPEG-2.
Los interfaces físicos del receptor/decodificador 2020 se utilizan para descargar datos. Con referencia a la figura 3, el decodificador 2020 contiene, por ejemplo, seis dispositivos de descarga: sintonizador de flujo MPEG 4028, interfaz serie 4030, interfaz paralelo 4032, módem 4034 y dos lectores de tarjetas 4036.
Para los propósitos de esta especificación, una aplicación es un fragmento de código de ordenador para controlar funciones de alto nivel, preferiblemente, del receptor/decodificador 2020. Por ejemplo, cuando el usuario final posiciona el foco de un controlador remoto 2026 (como se muestra en mayor detalle en la figura 4) en un objeto de pulsador visto en la pantalla del aparato de televisión 2022 y presiona la tecla de validación, se ejecuta la secuencia de instrucciones asociada con el botón.
Una aplicación interactiva propone menús y ejecuta comandos a petición del usuario final y proporciona datos relacionados con el propósito de la aplicación. Las aplicaciones pueden ser aplicaciones residentes, esto es, almacenadas en la ROM (o FLASH u otra memoria no volátil) del receptor/decodificador 2020, o emitidas y descargadas en la RAM (o FLASH) del decodificador 2020.
Ejemplos de aplicaciones son:
-
Aplicación de Iniciación. El receptor/decodificador 2020 está equipado con una aplicación de iniciación residente que es una colección adaptable de módulos (siendo definido en mayor detalle este término más adelante) que permite al receptor/decodificador 2020 encontrarse inmediatamente operativo en el ambiente MPEG-2. La aplicación proporciona características principales que pueden ser modificadas por el proveedor de emisiones si se requiere. También proporciona un interfaz entre las aplicaciones residentes y las aplicaciones descargadas.
-
Aplicación de Arranque. La aplicación de arranque permite a cualquier aplicación, descargada o residente, ejecutarse en el receptor/decodificador 2020. Esta aplicación actúa como un proceso de iniciación ejecutado a la llegada de un servicio con el fin de iniciar la aplicación. El arranque es descargado en la RAM y, por lo tanto, puede actualizarse fácilmente. Puede configurarse de modo que las aplicaciones interactivas disponibles en cada canal puedan seleccionarse y ejecutarse, bien inmediatamente después de la descarga o tras una precarga. En el caso de la precarga, la aplicación se carga en la memoria 2024 y se activa mediante el arranque cuando se requiere.
-
Guía de Programa. La Guía de Programa es una aplicación interactiva que da información completa acerca de la programación. Por ejemplo, puede dar información acerca de, digamos, los programas de televisión de una semana proporcionados en cada canal de una oferta de televisión digital. Presionando una tecla en el control remoto 2026, el usuario final accede a una pantalla complementaria, sobrepuesta en el evento mostrado en la pantalla del aparato de televisión 2022. Esta pantalla complementaria es un navegador que da información de los eventos actuales y próximos de cada canal de la oferta de TV digital. Presionando otra tecla del control remoto 2026, el usuario final accede a una aplicación que muestra una lista de información de los eventos durante una semana. El usuario final también puede buscar y clasificar los eventos con criterios sencillos y personalizados. El usuario final también puede acceder directamente a un canal seleccionado.
\newpage
-
Aplicación de Pago Por Visión. La Aplicación de Pago Por Visión es un servicio interactivo disponible en cada canal PPV de la oferta de TV digital junto con el sistema de acceso condicional 3000. El usuario final puede acceder a la aplicación utilizando una guía de TV o un navegador de canales. Adicionalmente, la aplicación se inicia automáticamente tan pronto como se detecta un evento de PPV en el canal PPV. El usuario final es entonces capaz de comprar el evento actual bien a través de su tarjeta inteligente hija 3020 o a través del servidor de comunicación 3022 (utilizando un módem, un teléfono y códigos DTMF, MINITEL o similares). La aplicación puede ser residente en la ROM del receptor/decodificador 2020 o se puede descargar en la RAM del receptor/decodificador 2020.
-
Aplicación de descarga de PC. A requerimiento, un usuario final puede descargar software de ordenador utilizando la aplicación de descarga de PC.
-
Aplicación de Navegador de Revistas. La aplicación de navegador de revistas comprende una emisión de vídeo cíclica de imágenes con navegación para el usuario final a través de pulsadores en pantalla.
-
Aplicación de Concurso. La aplicación de concurso está sincronizada, preferiblemente, con un programa de concurso emitido. Como ejemplo, se muestran en la pantalla de la televisión 2022 preguntas de respuesta múltiple, y el usuario final puede seleccionar una respuesta utilizando el control remoto 2026. La aplicación de concurso puede informar al usuario de si la respuesta es o no correcta, y puede mantener una cuenta de la puntuación del usuario.
-
Aplicación de Telecompra. En un ejemplo de aplicación de telecompra, se transmiten al receptor/decodifi-cador 2020 ofertas de productos para la venta y se muestran en la televisión 2022. Utilizando el control remoto, el usuario final puede seleccionar un elemento concreto para comprarlo. El pedido para el elemento se envía través del canal de retorno por módem 4002 al servidor de datos y aplicaciones 4006 o al número de teléfono de un sistema de ventas separado, el cual ha sido descargado al receptor/decodificador, posiblemente con una orden de débito a la cuenta para una tarjeta de crédito que se ha insertado en uno de los lectores de tarjetas 4036 del receptor/decodificador 2020.
-
Aplicación de Telebanco. En un ejemplo de la aplicación de telebanco, el usuario inserta una tarjeta bancaria en uno de los lectores de tarjetas 4036 del receptor/decodificador 2020. El receptor/decodificador 2020 llama al banco del usuario, utilizando un número de teléfono almacenado en la tarjeta bancaria o almacenado en el receptor/decodificador, y luego la aplicación proporciona un número de servicios que pueden seleccionarse utilizando el control remoto 2026, por ejemplo, para descargar a través de la línea telefónica un estado de cuenta, transferir fondos entre cuentas, solicitar un talonario, etc.
-
Aplicación de Navegador de Internet. Un ejemplo de la aplicación de navegador de Internet, instrucciones procedentes del usuario, tales como una solicitud para ver una página web con una URL en particular, se introducen utilizando el control remoto 2026, y éstas se envían a través del canal de retorno por módem 4002 hasta el servidor de datos y aplicaciones 4006. La página web apropiada se incluye entonces en las transmisiones procedentes de centro emisor, recibido por receptor/decodificador 2020 a través del enlace ascendente 2012, repetidor 2014 y enlace descendente 2016, y mostrado en la televisión 2022.
Las aplicaciones se almacenan en localizaciones de la memoria en el receptor/decodificador 2020 y se representan como archivos de recursos. Los archivos de recursos comprenden archivos de unidades de descripción de objetos gráficos, archivos de unidades de bloques variables, archivos de secuencias de instrucciones, archivos de aplicaciones y archivos de datos.
Los archivos de unidades de descripción de objetos gráficos describen las pantallas, el interfaz hombre-máquina de la aplicación. Los archivos de unidades de bloques variables describen las estructuras de datos manejadas por la aplicación. Los archivos de secuencias de instrucciones describen las operaciones de procesado de las aplicaciones. Los archivos de aplicaciones proporcionan los puntos de entrada para las aplicaciones.
Las aplicaciones constituidas de este modo pueden utilizar archivos de datos, tales como archivos de librería de iconos, archivos de imágenes, archivos de fuentes de caracteres, archivos de tablas de color y archivos de texto ASCII. Una aplicación interactiva también puede obtener datos en línea llevando a cabo entradas y/o salidas.
El motor 4008 sólo carga en su memoria estos recursos si en un momento dado los necesita. Éstos archivos de recursos son leídos desde archivos de unidades de descripción de objetos gráficos, archivos de secuencias de instrucciones y archivos de aplicaciones; los archivos de unidades de bloques variables se almacenan en la memoria tras una llamada a un procedimiento para cargar módulos y permanecen bloqueados allí hasta que se realiza una llamada específica a un procedimiento para descargar módulos.
Con referencia a la figura 3, un módulo 4010, tal como un módulo de telecompra, es un conjunto de archivos de recursos y datos comprendiendo los siguientes:
un solo archivo de aplicación 4012;
un número indeterminado de archivos de unidades de descripción de objetos gráficos 4014;
un número indeterminado de archivos de unidades de bloques variables 4016;
un número indeterminado de archivos de secuencias de instrucciones 4018; y
donde sea adecuado, archivos de datos 4020 tales como archivos de librería de iconos, archivos de imágenes, archivos de fuentes de caracteres, archivos de tablas de color y archivos de texto ASCII.
Con referencia a la figura 5, un módulo 4010, tal como un módulo de telecompra, es un conjunto de archivos de recursos y datos comprendiendo los siguientes:
un solo archivo de aplicación 4012;
un número indeterminado de archivos de unidades de descripción de objetos gráficos 4014;
un número indeterminado de archivos de unidades de bloques variables 4016;
un número indeterminado de archivos de secuencias de instrucciones 4018; y
donde sea adecuado, archivos de datos 4020 tales como archivos de librería de iconos, archivos de imágenes, archivos de fuentes de caracteres, archivos de tablas de color y archivos de texto ASCII.
El concepto de módulos 4010 junto con el concepto de descargar pequeños fragmentos de código permite la evolución fácil de las aplicaciones. Pueden descargarse en la memoria FLASH permanente del decodificador 2020 como software residente o emitido con el fin de descargarlas en la RAM del decodificador 2020 sólo cuando sean necesitadas por el usuario final.
Para descargar un módulo 4010 desde una señal portadora, se descarga primero un directorio accesible en la señal portadora. Este directorio simplemente lista los nombres de los módulos 4010 que pueden ser descargadas desde la señal portadora. Una vez que este directorio se ha descargado, la aplicación puede descargar uno o más módulos 4010. En el caso de flujo MPEG, el directorio se transporta en una sola tabla MPEG. Además, un módulo 4010 es transportado en una sola tabla MPEG. En el caso de módulos transmitidos al sintonizador MPEG 4028, se utiliza el formato MPEG-2 largo, con una cabecera larga y un código CRC. Éste también es el caso de los otros cinco interfaces (interfaz serie 4030, interfaz paralelo 4032, módem 4034 y dos lectores de tarjetas 4036), excepto que se utiliza el formato MPEG-2 "corto" con una cabecera más corta y sin CRC.
Con referencia en particular a la figura 6, como es sabido, el tren de bits MPEG-2 incluye una tabla de acceso de programa ("PAT") 10 que tiene un paquete de identificación ("PID") de O. La PAT contiene referencias a los PIDs de las tablas de mapas de programa ("PMTs") 12 de un número de programas. Cada PMT contiene una referencia a los PIDs de los trenes de las tablas MPEG de audio 14 y de las tablas MPEG de vídeo 16 para ese programa. Un paquete que tiene un PID de cero, esto es la tabla de acceso de programa 10, proporciona el punto de entrada para todos los accesos MPEG.
Con el fin de descargar datos y aplicaciones para ellos, se definen dos nuevos tipos de trenes, y la PMT relevante contiene también referencias a los PIDs de los trenes de tablas MPEG de aplicaciones 18 (o secciones de ellas) y tablas MPEG de datos 20 (o secciones de ellas).
Con referencia a la figura 7, con el fin de descargar una aplicación 22, la aplicación se divide en módulos 24, cada uno formado por una tabla MPEG, algunas de las cuales están compuestas por una sola sección 18, y otras que pueden estar compuestas por una pluralidad de secciones 18. Una sección típica 18 tiene una cabecera 26, que incluye una identificación de tabla de un bit ("TID") 28, el número de sección 30 de esa sección en la tabla, el número total 32 de secciones en esa tabla y una extensión TID de dos bits 34. Cada sección también incluye una parte de datos 36 y un CRC 38. Para una tabla/módulo en particular 24, todas las secciones 18 que componen esa tabla 24 tienen la misma TID 28 y la misma extensión TID 34. Para una aplicación en particular 22, todas las tablas 24 que componen esa aplicación 22 tienen la misma TID 28, pero diferentes extensiones TID respectivas.
Para cada aplicación 22, hay una sola tabla MPEG 24 que se utiliza como un directorio, y que se muestra en mayor detalle en la figura 8. La tabla de directorio 40 incluye una cabecera 26, una porción de directorio 42, una identificación de clave 44, una firma cifrada 46 y un CRC 38. De lo anterior, se apreciará que la tabla de directorio 40 tiene, en su cabecera 26, la misma TID 28 que los otros módulos/tablas 24 que componen la aplicación. No obstante, la tabla de directorio tiene una extensión TID 34 predeterminada de cero, y todos los demás módulos 24 tienen extensiones TID diferentes de cero. La cabecera también incluye un número de versión 48 para la tabla de directorio 40. La porción de directorio 42 incluye, para cada uno de los módulos/tablas 24 que componen la aplicación 22, el nombre 50 de ese módulo, la extensión TID 34 para ese módulo, y una firma 52 de ese módulo. La porción de directorio 42 también puede incluir, para cada uno de los módulos/tablas 24, la longitud de ese módulo y el número de versión del
módulo.
Con referencia de nuevo a la figura 6, en operación, la PAT 10, los PMTs 12 y los componentes del tren de datos y aplicaciones 18, 20 se transmiten cíclicamente, siendo actualizados cuando es necesario. Cada aplicación que se transmite tiene una TID respectiva predeterminada 28. Para descargar una aplicación, la tabla MPEG que tiene la TID apropiada y una extensión TID de cero se descarga al receptor/decodificador 2020. Por lo tanto, esta es la tabla de directorio 40 para la aplicación requerida. Los datos en el directorio son procesados entonces por el receptor/decodificador 2020 para determinar las extensiones TID 34 de las tablas de módulos que componen la aplicación requerida, y entonces puede descargarse desde el directorio cualquier tabla de módulos requerida con la misma TID que la tabla de directorio y una extensión TID determinada.
El receptor/decodificador 2020 está dispuesto para verificar en la tabla de directorio cualquier actualización de la misma. Esto puede hacerse descargando la tabla de directorio periódicamente de nuevo, por ejemplo cada 30 segundos, o uno o cinco minutos, y comparando el número de versión de la tabla de directorio descargada recientemente con el número de versión de la tabla de directorio descargada previamente. Si el número de la versión descargada recientemente es posterior, entonces los módulos asociados con la tabla de directorio previa, o cualquier de los módulos para los que hay números de versión posteriores, son desmontados, y los módulos posteriores son descargados y montados. En una disposición alternativa, el tren de bits entrante se filtra utilizando una máscara correspondiente a la TID, la extensión TID y el número de versión, con valores establecidos para la TID de la aplicación, una extensión TID de cero y un número de versión uno mayor que el número de versión del directorio descargado actualmente. De acuerdo con ello, puede detectarse un aumento del número de versión, y una vez detectado el directorio se descarga y la aplicación se actualiza, como se describió anteriormente. Una descripción de tal filtrado está incluida en la aplicación también pendiente (referencia de representante núm. PDC/ASB/19716). Si una aplicación va a finalizarse, se transmite un directorio vacío con el siguiente número de versión, pero sin los módulos listados en el directorio. En respuesta a la recepción de tal directorio vacío, el receptor/decodificador 2020 se programa para desmontar la
aplicación.
Ahora se describirá en detalle el uso de firmas y cifrado para las tablas de aplicaciones.
Como se describió anteriormente, la entrada para cada módulo en la tabla de directorio 40 incluye la firma de módulo. La firma de módulo se genera utilizando un proceso generador de firmas MD5 conocido en los datos de la respectiva tabla de módulos.
Además, la tabla de directorio 40 incluye una firma cifrada 46, que se genera del modo que ahora será descrito con referencia a la figura 9. Se produce un bloque 54 de 64 bits de datos. El primer bit 56 es cero. Los siguientes tres bits 58 pueden incluir datos arbitrarios o ficticios. Los siguientes 8 bits 60 proporcionan un mapa de bits de validación de aplicación, que será descrito adicionalmente. Los últimos 4 bits 62 se reservan. Los restantes 32 bits contienen una firma de 16 bits 64 que comienza en un desplazamiento de entre 0 y 31 bits después del primer bit que sigue al mapa de bits de validación de aplicación 60. Los datos ficticios 66 se insertan entre el mapa de bits de validación de aplicación 60 y la firma 64 y/o entre la firma 64 y los bits reservados 62. La firma 64 se produce utilizando el proceso generador de firmas MD5 conocido en las entradas de directorio 42 de la tabla de directorio 40. Luego, el bloque 54 es cifrado utilizando un proceso de cifrado conocido y una clave privada en particular para producir la firma cifrada y el mapa de bits de validación de aplicación 46. Este bloque de datos 46 se incluye en la tabla de directorio 40 y, en la tabla de directorio 40, se incluye una identificación de 1 bit de la clave privada, que fue utilizada para cifrar el bloque, como la clave de identificación 44.
Para resumir la generación de una aplicación y su transmisión, están implicadas las siguientes etapas:
-
generar la aplicación como una pluralidad de módulos;
-
mencionar la TID determinada 28 para la aplicación;
-
asignar nombres y extensiones TID distintas de cero 34 a los módulos;
-
formatear cada módulo como una tabla MPEG 24 o secciones 18 de una tabla MPEG;
-
generar una firma MD5 52 para cada módulo;
-
generar el directorio 42;
-
generar una firma MD5 64 para el directorio;
-
seleccionar un bit de validación de aplicación 60;
-
seleccionar un desplazamiento;
-
generar el bloque 54;
-
cifrar el bloque 54 utilizando la cifrado con una clave privada seleccionada;
-
generar la tabla MPEG de directorio 40 con la TID asignada 28, una extensión TID de cero, el directorio 42, una identificación 44 de la clave privada, y la firma cifrada 46;
-
transmitir la tabla de directorio 40 y las tablas de módulos 24 o secciones 18.
Ahora se describirá el funcionamiento del receptor/decodificador 2020 al tratar con firmas y descifrado durante la descarga de una aplicación. Con referencia a la figura 10, el receptor/decodificador 2020 incluye EEPROM 68, ROM 70 y RAM 72. La EEPROM 68 incluye una región protegida 74 que es utilizada por la máquina virtual, y en la que sólo puede escribir la máquina virtual (y no una aplicación normal). La región protegida 74 incluye una mapa de bits de validación de clave 76 de 16 o 256 bits, un mapa de bits de validación de aplicación 78 de 64 bits, y un mapa de bits de desplazamiento 80 de 32 bits. La ROM 70 incluye, en una realización, dieciséis claves públicas 82, en cuyo caso se emplea un mapa de bits de validación de clave de 16 bits, y 256 claves públicas en otra realización, en cuyo caso se emplea un mapa de bits de validación de clave de 256 bits. Las claves públicas Se identifican por sus localizaciones físicas en la ROM 70, o pueden incluirse alternativamente en una tabla de búsqueda, donde una identificación de clave particular produce la correspondiente clave pública. La RAM 72 puede utilizarse para almacenar una clave temporal 84.
Como se mencionó anteriormente, cuando una aplicación va a ser descargada, en primer lugar se descarga la tabla de directorio que tiene la TID predeterminada para esa aplicación y la extensión TID de cero. La identificación de clave 44 se extrae entonces de la tabla de directorio y se realiza una verificación del mapa de bits de validación de clave 76 en la memoria protegida 74 de que está establecido el bit correspondiente a la identificación de clave 44 extraída. Si no lo está, entonces se aborta la descarga adicional de la aplicación. No obstante, si se establece la clave apropiada, entonces se selecciona de la ROM 70 una clave pública 82 que se corresponde a la identificación de clave extraída 44. La clave pública seleccionada y un proceso de descifrado conocido se utilizan entonces para descifrar el bloque cifrado 46 en la tabla de directorio 40 para producir un bloque 54. Luego se extrae el mapa de bits de validación de aplicación 60 del bloque descifrado 54 y se somete a una operación Y con el mapa de bits de validación de aplicación 78 almacenado en la memoria protegida 74. Si el resultado de la operación Y es cero, entonces se abortan descargas adicionales de la aplicación. No obstante, si el resultado de la operación Y no es cero, se busca el desplazamiento contenido en el mapa de bits de desplazamiento 80 en la memoria protegida 74, o, si se establece más de un bit de desplazamiento, cada bit de desplazamiento es a su vez buscado, y se extraen dieciséis bits de datos del bloque descifrado 54 comenzando con el desplazamiento buscado a partir del primer bit después del mapa de bits de validación de aplicación 60. Para el/cada desplazamiento buscado, los 16 bits son tratados como la firma transmitida con la tabla de directorio 40. La firma de las entradas en el directorio 42 de la tabla de directorio 40 se calcula utilizando el proceso MD5 conocido, y esta firma calculada se compara con la firma extraída del bloque 54. Si las dos firmas para el/cada desplazamiento buscado no coinciden, entonces se aborta la descarga adicional de la aplicación. Sin embargo, si una de las firmas coincide, entonces se puede realizar la descarga de los módulos especificados en el directorio 42. Como se mencionó anteriormente, con el fin de descargar un módulo en particular, la extensión TID para ese módulo se obtiene del directorio 42, y se descarga la tabla MPEG 24 o las secciones 18 con la misma extensión TID que la tabla de directorio y con la extensión TID obtenida. Una vez que la tabla MPEG de módulos ha sido descargada, el receptor/decodificador 2020 calcula la firma de la tabla descargada utilizando el proceso MD5 conocido y luego compara la firma calculada con la firma contenida en la entrada de directorio. Si las firmas coinciden, entonces se acepta el módulo, pero si no coinciden, entonces el módulo se rechaza.
Así todos los módulos de la aplicación pueden ser descargados del modo especificado anteriormente, y el receptor/decodificador 2020 puede ejecutar la aplicación.
Habiendo descrito las características de la operación de descarga que son utilizadas normalmente, ahora se hará una descripción de algunas características utilizadas para configurar el receptor/decodificador 2020 y para cambiar sus valores.
El receptor/decodificador 2020 está programado de modo que el área de memoria protegida 74 puede cambiarse, pero sólo mediante una aplicación que ha sido descargada utilizando una de las identificaciones de claves en particular, por ejemplo la clave 15, y con un desplazamiento en particular, por ejemplo un desplazamiento de cero bits a partir del primer bit después del mapa de bits de validación de aplicación 60. Puede necesitarse cambiar la memoria protegida 74, por ejemplo, si dos operadores que han estado utilizando la misma clave pública deciden que desean utilizar diferentes claves públicas, o si el contenido de una clave privada fuera descubierto, en cuyo caso la correspondiente clave publica puede ser marcada como inválida en el mapa de bits de validación de claves 76.
El receptor/decodificador 2020 puede estar dispuesto de modo que una de las claves, por ejemplo, la clave 15, se encuentre siempre disponible, en cuyo caso esa clave no requiere un bit en el mapa de bit de validación de claves 76. De acuerdo con ello, ese bit puede ser utilizado con otro propósito. En particular, una aplicación que ha sido autentificada utilizando la clave 15 puede encontrarse dispuesta para establecer ese bit en particular a 1, en cuyo caso el receptor/decodificador 2020 está programado para permitir que una clave temporal 84 sea cargada en la RAM 72, pero sólo si es a través del interfaz serie 4030, interfaz paralelo 4032 o uno de los dos lectores de tarjetas 4036. Esta habilidad puede ser utilizada, por ejemplo, por un fabricante del receptor/decodificador 2020, que puede permitir que una clave temporal sea cargada en el receptor/decodificador 2020 de modo que pueda ser probada para una aplicación a utilizar.
La disposición de firma y cifrado descrita anteriormente proporciona un número de características importantes. En particular:
-
una aplicación sólo puede ser descargada si el receptor/decodificador 2020 posee la clave pública apropiada almacenada en su memoria, correspondiendo a la identificación de clave 44 de la tabla de directorio descargada;
-
para todas las claves excepto una, una aplicación sólo puede descargarse utilizando una clave en particular si el mapa de bits de validación de claves 76 en la memoria del receptor/decodificador 2020 esta configurado para permitir que la clave sea utilizada;
-
una aplicación sólo puede ser descargada si un conjunto de bits en el mapa de bits de desplazamiento 80 almacenado en la memoria del receptor/decodificador 2020 se corresponde con el desplazamiento utilizado para generar la tabla de directorio;
-
una aplicación sólo puede ser descargada si el mapa de bits de validación de aplicación 78 en la memoria del receptor/decodificador 2020 se encuentra adecuadamente configurado para permitir que la aplicación sea descargada;
-
una aplicación sólo puede ser descargada si la tabla de directorio no ha sido corrompida después de que su firma fuera generada originalmente;
-
cada módulo de una aplicación sólo puede ser descargado si la respectiva tabla de módulo no ha sido corrompida después de que su firma fuera generada originalmente;
-
sólo se requiere una operación de cifrado para preparar una aplicación para descargar a pesar de que la aplicación esté compuesta por varias tablas MPEG, y sólo se requiere una operación de descifrado en el receptor/decodificador 2020 para descargar la aplicación completa;
-
pueden utilizarse múltiples claves, de modo que diferentes proveedores de servicios puedan tener diferentes claves privadas;
-
puede utilizarse una clave temporal, por ejemplo por un fabricante, con propósitos de prueba.
Se entenderá que la presente invención se ha descrito con anterioridad puramente a modo de ejemplo, y que pueden realizarse modificaciones de detalle dentro del alcance de la invención.
En las realizaciones preferidas mencionadas anteriormente, se han implementado ciertas características de la presente invención utilizando software de ordenador. No obstante, por supuesto, resultará obvio para una persona versada que cualquiera de estas características puede llevarse a cabo utilizando hardware. Además, se entenderá fácilmente que las funciones realizadas por el hardware, el software de ordenador, y similares se realizan con o utilizan señales eléctricas y similares.
Se realiza una referencia cruzada a nuestras solicitudes también pendientes, pertenecientes todas a la misma fecha de presentación, y tituladas Generación de Señal y Radiodifusión (Referencia de representante núm. PC/ASB/19707), Tarjeta inteligente para uso con un Receptor de Señales de Difusión Cifradas, y Receptor (Referencia de representante núm. PC/ASB/19708), Sistema de Recepción y Difusión y Sistema de Control de Acceso para éste (Referencia de representante núm. PC/ASB/19710), Descargar un Archivo de Ordenador a un Ordenador desde un Transmisor a través de un Receptor/Decodificador (Referencia de representante núm. PC/ASB/19711), Transmisión y Recepción de Programas de Televisión y Otros Datos (Referencia de representante núm. PC/ASB/19712), Descargar Datos (Referencia de Representante núm. PC/ASB/19713), Organización de la Memoria del Ordenador (Referencia de Representante núm. PC/ASB/19714), Desarrollo de Sistemas de Control de Radio o Televisión (Referencia de Representante núm. PC/ASB/19715), Extraer Secciones de Datos de un Tren de Datos Transmitido (Referencia de Representante núm. PC/ASB/19716), Sistema de Control de Acceso (Referencia de Representante núm. PC/ASB/19717), Sistema de Procesado de Datos (Referencia de Representante núm. PC/ASB/19718), y Sistema de Emisión y Recepción, y Receptor/Decodificador y Controlador Remoto para éste (Referencia de Representante núm. PC/ASB/19720). La lista de solicitudes incluye la presente solicitud.

Claims (10)

1. Método para descargar una pluralidad de módulos de datos a un receptor/decodificador MPEG (2020), que comprende las etapas de:
generar una firma de módulo (52) para cada módulo (24) de datos a descargar;
formatear los módulos de datos como respectivas tablas MPEG de módulos (24);
generar un directorio (40) incluyendo una identificación de cada tabla MPEG de módulos (24) y la firma correspondiente;
generar una firma de directorio (46) para el directorio;
cifrar la firma de directorio en un bloque de datos (66) que incluye otros datos, con un desplazamiento seleccionado de entre el comienzo del bloque de datos y el comienzo de la firma, utilizando una clave privada;
formatear el directorio y la firma de directorio cifrada como una tabla MPEG de directorio;
transmitir las tablas MPEG de módulos y de directorio; y en el receptor/decodificador:
recibir las tablas MPEG de módulos y de directorio;
descifrar el bloque de datos cifrado con la firma de directorio de la tabla MPEG de directorio recibida utilizando una clave pública (82) que corresponde a la clave privada;
buscar al menos un desplazamiento almacenado en un área protegida de la memoria (68) del receptor/decodificador;
extraer la firma de directorio del bloque de datos descifrado utilizando dicho desplazamiento buscado a partir del comienzo del bloque de datos descifrado;
generar una firma de directorio para el directorio contenido en la tabla MPEG de directorio recibida;
comparar la firma de directorio extraída y la firma de directorio generada en el receptor/decodificador;
generar una firma de módulo respectiva para cada módulo de las tablas MPEG de módulos recibidas; y
comparar cada firma de módulo de la tabla MPEG de directorio recibida con la firma de módulo respectiva generada en el receptor/decodificador.
2. Método según la reivindicación 1, donde dicha área protegida de memoria posee al menos dos desplazamientos almacenados, y, sí en la etapa de comparación la firma extraída no coincide con la firma generada, incluye además las etapas de repetir las etapas de buscar, extraer y comparar utilizando el otro de los desplazamientos almacenados.
3. Método según cualquiera de las reivindicaciones 1 a 2, donde al menos algunos de los otros datos mencionados en el bloque de datos son datos arbitrarios o ficticios.
4. Método según la reivindicación 1, incluyendo además la etapa de inhibir o abortar la descarga de dicho módulo de datos cuando, en la etapa de comparación de la firma de módulo, la firma de módulo de la tabla MPEG de directorio recibida y la correspondiente firma de módulo generada en el receptor/decodificador para ese módulo no coinciden entre sí.
5. Método según cualquiera de las reivindicaciones 1 a 4, incluyendo además la etapa de inhibir o abortar la descarga cuando, en la etapa de comparación, la firma de directorio descifrada y la firma de directorio generada no coinciden entre sí.
6. Receptor/decodificador MPEG (2020) para descargar una pluralidad de módulos (24) de datos, que comprende:
medios para recibir las tablas MPEG de módulos y de directorio;
medios para almacenar una clave pública (82) y una identificación para la clave pública;
medios de procesamiento para:
descifrar un bloque de datos con una firma de directorio (46), cifrado con una clave privada, en la tabla MPEG de directorio recibida utilizando la clave pública correspondiente a la clave privada;
extraer la firma (64) del bloque de datos descifrado;
generar una firma de directorio para el directorio de la tabla MPEG de directorio recibida;
comparar la firma de directorio descifrada y la firma de directorio generada en el receptor/decodificador;
generar una firma de módulo correspondiente para cada uno de los módulos de las tablas MPEG de módulos recibidas; y
comparar cada firma de módulo de la tabla MPEG de directorio recibida, con las respectivas firmas de módulo (52) generadas en el receptor/decodificador;
estando caracterizado además el receptor/decodificador por que comprende un área protegida de memoria para almacenar, al menos, un desplazamiento (80); y por que los medios de procesamiento sirven además para buscar, al menos, un desplazamiento almacenado en el área protegida de la memoria y, utilizando dicho desplazamiento buscado a partir del comienzo del bloque de datos descifrado, extraer la firma del bloque de datos descifrado.
7. Receptor/decodificador según la reivindicación 6, donde los medios de procesamiento están programados para inhibir o abortar la descarga de un módulo de datos cuando la firma de módulo de la tabla MPEG de directorio recibida y la correspondiente firma de módulo generada en el receptor/decodificador para ese módulo no coinciden entre sí.
8. Receptor/decodificador como el reivindicado cualquiera de las reivindicaciones 6 a 7, donde los medios de procesamiento están programados para inhibir o abortar la descarga de los datos cuando la firma de directorio descifrada y la firma de directorio generada no coinciden entre sí.
9. Método para transmitir una pluralidad de módulos de datos a un receptor/decodificador MPEG (2020), comprendiendo las etapas de:
generar una firma de módulo (52) para cada módulo (24) de datos a descargar;
formatear los módulos de datos como respectivas tablas MPEG de módulos (24);
generar un directorio (40) incluyendo una identificación de cada tabla MPEG de módulos (24) y la respectiva firma;
generar una firma de directorio (46) para el directorio;
cifrar la firma de directorio en un bloque de datos (66) incluyendo otros datos, con un desplazamiento seleccionado de entre el comienzo del bloque de datos y el comienzo de la firma, utilizando una clave privada;
formatear el directorio y la firma de directorio cifrada como una tabla MPEG de directorio; y
transmitir las tablas MPEG de módulos y de directorio.
10. Centro emisor para la transmisión de una pluralidad de módulos de datos a un receptor/decodificador MPEG (2020), comprendiendo:
medios para generar una firma de módulo (52) para cada módulo (24) de datos a descargar;
medios para formatear los módulos de datos como respectivas tablas MPEG de módulos (24);
medios para generar un directorio (40) incluyendo una identificación de cada tabla MPEG de módulos (24) y la firma respectiva;
medios para generar una firma de directorio (46) para el directorio;
medios para cifrar la firma de directorio en un bloque de datos (66) incluyendo otros datos, con un desplazamiento seleccionado de entre el comienzo del bloque de datos y el comienzo de la firma, utilizando una clave privada;
medios para formatear el directorio y la firma de directorio cifrada como una tabla MPEG de directorio; y
medios para transmitir las tablas MPEG de módulos y de directorio.
ES02013520T 1997-03-21 1997-04-25 Descarga de datos. Expired - Lifetime ES2265466T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97400650 1997-03-21
EP97400650 1997-03-21
PCT/EP1997/002111 WO1998043431A1 (en) 1997-03-21 1997-04-25 Method of downloading of data to an mpeg receiver/decoder and mpeg transmission system for implementing the same

Publications (1)

Publication Number Publication Date
ES2265466T3 true ES2265466T3 (es) 2007-02-16

Family

ID=26070206

Family Applications (2)

Application Number Title Priority Date Filing Date
ES02013520T Expired - Lifetime ES2265466T3 (es) 1997-03-21 1997-04-25 Descarga de datos.
ES97921752T Expired - Lifetime ES2187773T3 (es) 1997-03-21 1997-04-25 Metodo para descargar datos a un receptor/decodificador mpeg.

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES97921752T Expired - Lifetime ES2187773T3 (es) 1997-03-21 1997-04-25 Metodo para descargar datos a un receptor/decodificador mpeg.

Country Status (21)

Country Link
US (1) US6938166B1 (es)
EP (2) EP0974230B1 (es)
JP (1) JP4062367B2 (es)
KR (1) KR100486865B1 (es)
CN (1) CN1178504C (es)
AT (2) ATE228747T1 (es)
AU (1) AU746178B2 (es)
BR (1) BR9714592A (es)
CA (1) CA2284153C (es)
DE (2) DE69717505T2 (es)
ES (2) ES2265466T3 (es)
HK (1) HK1025450A1 (es)
HU (1) HU229536B1 (es)
IL (1) IL131939A (es)
NO (1) NO323021B1 (es)
NZ (1) NZ500201A (es)
PL (1) PL335754A1 (es)
RU (1) RU2195086C2 (es)
TR (2) TR200000842T2 (es)
WO (1) WO1998043431A1 (es)
ZA (1) ZA973608B (es)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6600908B1 (en) 1999-02-04 2003-07-29 Hark C. Chan Method and system for broadcasting and receiving audio information and associated audio indexes
US7245707B1 (en) * 1999-03-26 2007-07-17 Chan Hark C Data network based telephone messaging system
US6804786B1 (en) * 1999-09-10 2004-10-12 Canon Kabushiki Kaisha User customizable secure access token and multiple level portable interface
FR2797548A1 (fr) * 2000-01-24 2001-02-16 Thomson Multimedia Sa Procede de transmission de donnees sur un canal de diffusion
US7010125B2 (en) * 2001-01-26 2006-03-07 Interntional Business Machines Corporation Method for tracing traitor receivers in a broadcast encryption system
WO2003098895A1 (en) * 2002-05-22 2003-11-27 Thomson Licensing S.A. Signing and authentication devices and processes and corresponding products, notably for dvb/mpeg mhp digital streams
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
FR2825209A1 (fr) 2001-05-23 2002-11-29 Thomson Licensing Sa Dispositifs et procede de securisation et d'identification de messages
EP1267579A3 (en) 2001-06-11 2003-03-19 Canal+ Technologies Société Anonyme MPEG table structure
US20030126139A1 (en) * 2001-12-28 2003-07-03 Lee Timothy A. System and method for loading commercial web sites
US7242773B2 (en) * 2002-09-09 2007-07-10 Sony Corporation Multiple partial encryption using retuning
ATE459203T1 (de) * 2002-06-28 2010-03-15 Nagravision Sa Sicherheitsschlüsselaktualisierungsmethode für fernsehdekoder
CA2496664C (en) * 2002-08-23 2015-02-17 Exit-Cube, Inc. Encrypting operating system
FR2844939A1 (fr) * 2002-09-23 2004-03-26 France Telecom Procede de transmission de donnees via un reseau maille offrant une vitesse de reception accrue
PL376310A1 (en) * 2002-10-18 2005-12-27 Koninklijke Philips Electronics N.V. Method and system for metadata protection in tv-anytime
US7440571B2 (en) * 2002-12-03 2008-10-21 Nagravision S.A. Method for securing software updates
FR2851112B1 (fr) * 2003-02-07 2005-06-03 Medialive Dispositif securise pour la diffusion, l'enregistrement et la visualisation a la demande des oeuvres audiovisuelles au format de type mpeg-2ts
US8261062B2 (en) 2003-03-27 2012-09-04 Microsoft Corporation Non-cryptographic addressing
US7925013B1 (en) 2003-06-30 2011-04-12 Conexant Systems, Inc. System for data encryption and decryption of digital data entering and leaving memory
EP1665715B1 (en) 2003-09-11 2019-05-22 Bae Systems Plc Real-time network monitoring and security
US8165297B2 (en) * 2003-11-21 2012-04-24 Finisar Corporation Transceiver with controller for authentication
US20050177715A1 (en) * 2004-02-09 2005-08-11 Microsoft Corporation Method and system for managing identities in a peer-to-peer networking environment
US7603716B2 (en) * 2004-02-13 2009-10-13 Microsoft Corporation Distributed network security service
US7716726B2 (en) * 2004-02-13 2010-05-11 Microsoft Corporation System and method for protecting a computing device from computer exploits delivered over a networked environment in a secured communication
US7814543B2 (en) * 2004-02-13 2010-10-12 Microsoft Corporation System and method for securing a computer system connected to a network from attacks
EP1607821A1 (fr) 2004-06-17 2005-12-21 Nagracard S.A. Méthode de mise à jour sécurisée de logiciel dans un mobile de sécurité
US7929689B2 (en) 2004-06-30 2011-04-19 Microsoft Corporation Call signs
US7716727B2 (en) * 2004-10-29 2010-05-11 Microsoft Corporation Network security device and method for protecting a computing device in a networked environment
DE102005009852B3 (de) * 2005-03-03 2006-06-29 Siemens Ag Einrichtung zur Aufnahme und Verwaltung medizinischer Bilddaten sowie zugehöriges Verfahren
US8219823B2 (en) * 2005-03-04 2012-07-10 Carter Ernst B System for and method of managing access to a system using combinations of user information
EP1785902B1 (en) * 2005-10-28 2010-05-05 Emma Mixed Signal C.V. Decryption key table access control on ASIC or ASSP
US7926075B2 (en) 2005-11-03 2011-04-12 Nds Limited Application blocking system
US8086842B2 (en) 2006-04-21 2011-12-27 Microsoft Corporation Peer-to-peer contact exchange
CN1983924A (zh) * 2006-05-30 2007-06-20 华为技术有限公司 一种解密密码切换方法、解密装置及终端设备
EP1916598A1 (fr) * 2006-10-23 2008-04-30 Nagravision S.A. Méthode de chargement et de gestion d'une application dans un équipement mobile
KR100864524B1 (ko) * 2007-02-14 2008-10-21 주식회사 드리머 디지털 방송 데이터 어플리케이션 실행 방법 및 이를실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한기록 매체
CN101031062B (zh) * 2007-03-21 2010-05-26 中兴通讯股份有限公司 一种移动多媒体广播电子业务指南的传输方法
US8762714B2 (en) * 2007-04-24 2014-06-24 Finisar Corporation Protecting against counterfeit electronics devices
GB0710211D0 (en) * 2007-05-29 2007-07-11 Intrasonics Ltd AMR Spectrography
US8590028B2 (en) 2007-07-09 2013-11-19 Infosys Limited Content licensing and conditional access using a mobile device
CN100591020C (zh) * 2007-08-22 2010-02-17 华为技术有限公司 一种多媒体业务的实现系统、方法和相关设备
KR101418591B1 (ko) * 2007-10-05 2014-07-10 삼성전자주식회사 휴대 방송 시스템에서의 서비스 가이드 제공 방법 및 장치
US9148286B2 (en) * 2007-10-15 2015-09-29 Finisar Corporation Protecting against counterfeit electronic devices
US20090106156A1 (en) * 2007-10-23 2009-04-23 Alcatel Lucent Network-based DRM enforcement
US20090158299A1 (en) * 2007-10-31 2009-06-18 Carter Ernst B System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed
WO2009059331A2 (en) * 2007-11-02 2009-05-07 Finisar Corporation Anticounterfeiting means for optical communication components
KR100925327B1 (ko) * 2007-11-26 2009-11-04 한국전자통신연구원 다운로더블 제한 수신 시스템에서 호스트의 망 이동 여부감지 방법 및 그 장치
US8819423B2 (en) * 2007-11-27 2014-08-26 Finisar Corporation Optical transceiver with vendor authentication
KR20090076765A (ko) * 2008-01-09 2009-07-13 삼성전자주식회사 방송 모바일 통합 서비스 시스템에서의 전자 서비스 가이드발견 방법 및 장치
US8248910B2 (en) * 2008-01-29 2012-08-21 Nokia Corporation Physical layer and data link layer signalling in digital video broadcast preamble symbols
KR20090088771A (ko) * 2008-02-15 2009-08-20 삼성전자주식회사 디지털 비디오 방송 시스템에서 통신채널로 통지메시지를전송하는 장치 및 방법
KR101481824B1 (ko) * 2008-03-06 2015-01-16 삼성전자주식회사 디지털 방송 시스템에서 전자 서비스 가이드 선택 장치 및방법
US7519164B1 (en) 2008-04-01 2009-04-14 International Business Machines Corporation System and method for sending information between users with a teleponic device while a call is in progress
CN101783925B (zh) * 2010-03-30 2012-07-04 南京邮电大学 一种用于对等计算机顶盒的视频数据安全保护方法
CN102075808A (zh) * 2011-01-25 2011-05-25 四川长虹电器股份有限公司 一种机顶盒多ca共存的实现方法
TWI528749B (zh) * 2011-09-06 2016-04-01 Sony Corp A signal receiving device, a signal receiving method, an information processing program and an information processing system
FR2983597B1 (fr) * 2011-12-01 2014-01-24 Viaccess Sa Procede de detection d'une erreur de lecture d'une donnee
EP2605532A1 (en) * 2011-12-16 2013-06-19 Thomson Licensing Apparatus and method for signature verification
US10169251B1 (en) * 2015-12-10 2019-01-01 Massachusetts Institute Of Technology Limted execution of software on a processor

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742677A (en) * 1995-04-03 1998-04-21 Scientific-Atlanta, Inc. Information terminal having reconfigurable memory
US5231665A (en) 1991-11-20 1993-07-27 Zenith Electronics Corporation Cable television system having dynamic market code shuffling
US5748763A (en) * 1993-11-18 1998-05-05 Digimarc Corporation Image steganography system featuring perceptually adaptive and globally scalable signal embedding
US5583562A (en) * 1993-12-03 1996-12-10 Scientific-Atlanta, Inc. System and method for transmitting a plurality of digital services including imaging services
US5420866A (en) * 1994-03-29 1995-05-30 Scientific-Atlanta, Inc. Methods for providing conditional access information to decoders in a packet-based multiplexed communications system
US5635979A (en) * 1994-05-27 1997-06-03 Bell Atlantic Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations
US5581706A (en) * 1994-06-30 1996-12-03 Rca Thomson Licensing Corporation Method forming an audio/video interactive data signal
US5717760A (en) * 1994-11-09 1998-02-10 Channel One Communications, Inc. Message protection system and method
US5646997A (en) * 1994-12-14 1997-07-08 Barton; James M. Method and apparatus for embedding authentication information within digital data
DE69619977T2 (de) * 1995-05-24 2002-11-07 Bellsouth Corp Asymmetrisches datenkommunikationssystem
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
EP0760565B1 (en) * 1995-08-28 1998-07-08 Ofra Feldbau Apparatus and method for authenticating the dispatch and contents of documents
US5737599A (en) * 1995-09-25 1998-04-07 Rowe; Edward R. Method and apparatus for downloading multi-page electronic documents with hint information
EP0766468B1 (en) * 1995-09-28 2006-05-03 Nec Corporation Method and system for inserting a spread spectrum watermark into multimedia data
US5835035A (en) * 1995-12-28 1998-11-10 Philips Electronics North America Corporation High performance variable length decoder with two-word bit stream segmentation and related method
JP3305183B2 (ja) * 1996-01-12 2002-07-22 株式会社東芝 ディジタル放送受信端末装置
KR100466722B1 (ko) * 1996-01-24 2005-04-14 선 마이크로시스템즈 인코퍼레이티드 어레이경계검사방법및장치와,이를포함하는컴퓨터시스템
US5949885A (en) * 1996-03-12 1999-09-07 Leighton; F. Thomson Method for protecting content using watermarking
US5808570A (en) * 1996-06-28 1998-09-15 Philips Electronics North America Corp. Device and method for pair-match Huffman transcoding and high-performance variable length decoder with two-word bit stream segmentation which utilizes the same
US6166730A (en) * 1997-12-03 2000-12-26 Diva Systems Corporation System for interactively distributing information services
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
US6148387A (en) * 1997-10-09 2000-11-14 Phoenix Technologies, Ltd. System and method for securely utilizing basic input and output system (BIOS) services
US6438140B1 (en) * 1998-11-19 2002-08-20 Diva Systems Corporation Data structure, method and apparatus providing efficient retrieval of data from a segmented information stream

Also Published As

Publication number Publication date
NO994535L (no) 1999-11-22
ATE228747T1 (de) 2002-12-15
AU746178B2 (en) 2002-04-18
IL131939A0 (en) 2001-03-19
AU2770597A (en) 1998-10-20
PL335754A1 (en) 2000-05-22
KR20000076402A (ko) 2000-12-26
NO323021B1 (no) 2006-12-27
DE69717505T2 (de) 2003-10-02
BR9714592A (pt) 2005-04-12
EP0974230A1 (en) 2000-01-26
IL131939A (en) 2004-06-20
CA2284153A1 (en) 1998-10-01
EP0974230B1 (en) 2002-11-27
HUP0001411A3 (en) 2002-09-30
WO1998043431A1 (en) 1998-10-01
EP1251688B1 (en) 2006-06-14
DE69736138T2 (de) 2007-04-19
DE69736138D1 (de) 2006-07-27
CN1178504C (zh) 2004-12-01
RU2195086C2 (ru) 2002-12-20
HU229536B1 (en) 2014-01-28
HUP0001411A2 (hu) 2000-08-28
HK1025450A1 (en) 2000-11-10
US6938166B1 (en) 2005-08-30
TR199902265T2 (xx) 2000-01-21
ATE330420T1 (de) 2006-07-15
CA2284153C (en) 2005-08-30
JP2001516532A (ja) 2001-09-25
ZA973608B (en) 1998-03-23
DE69717505D1 (de) 2003-01-09
JP4062367B2 (ja) 2008-03-19
ES2187773T3 (es) 2003-06-16
EP1251688A1 (en) 2002-10-23
KR100486865B1 (ko) 2005-05-03
TR200000842T2 (tr) 2000-07-21
NO994535D0 (no) 1999-09-17
CN1254475A (zh) 2000-05-24
NZ500201A (en) 2002-09-27

Similar Documents

Publication Publication Date Title
ES2265466T3 (es) Descarga de datos.
NO331878B1 (no) Fremgangsmate ved overforing og nedlasting av en erstatningsversjon av resident programvare, og tilsvarende mottager/dekoder
ES2251102T3 (es) Telecarga de aplicaciones con un descodificador digital.
KR100917487B1 (ko) 암호화된 데이터를 처리하기 위한 장치 및 방법
KR100686967B1 (ko) 다중서비스 디지털 전송 시스템을 위한 애플리케이션데이터 테이블
JP2009077451A (ja) 伝送データ・ストリームからデータ・セクションを抽出する方法
CN1879415B (zh) 有条件访问的方法和设备
CN101981927B (zh) 用于音频/视频数据处理单元的安全模块
CA2284011A1 (en) Data processing system
ES2205212T3 (es) Desarrollo de un sistema de control para television o radio para mpeg.
ES2213349T3 (es) Metodo y dispositivo de configuracion.
MXPA99008549A (es) Metodo para descargar datos a un receptor/descodificador mpeg y sistema de transmision mpeg para implementar el mismo
CZ331399A3 (cs) Způsob zavádění dat do MPEG přijímače/dekodéru a MPEG vysílací systém pro jeho realizaci