ES2479790T3 - Identificación oculta - Google Patents

Identificación oculta Download PDF

Info

Publication number
ES2479790T3
ES2479790T3 ES03004319.4T ES03004319T ES2479790T3 ES 2479790 T3 ES2479790 T3 ES 2479790T3 ES 03004319 T ES03004319 T ES 03004319T ES 2479790 T3 ES2479790 T3 ES 2479790T3
Authority
ES
Spain
Prior art keywords
memory component
access
protected
identification number
digital services
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
ES03004319.4T
Other languages
English (en)
Inventor
Ronald P. Cocchi
Christopher P. Curren
Raymond M. Kahn
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.)
DirecTV Group Inc
Original Assignee
DirecTV Group Inc
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 DirecTV Group Inc filed Critical DirecTV Group Inc
Application granted granted Critical
Publication of ES2479790T3 publication Critical patent/ES2479790T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4182External card to be used in combination with the client device, e.g. for conditional access for identification purposes, e.g. storing user identification data, preferences, personal settings or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/109Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • 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
    • H04N21/25808Management of client data
    • H04N21/2585Generation of a revocation list, e.g. of client devices involved in piracy acts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4181External card to be used in combination with the client device, e.g. for conditional access for conditional access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42684Client identification by a unique number or address, e.g. serial number, MAC address, socket ID
    • 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/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6143Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a satellite
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Astronomy & Astrophysics (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Technology Law (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Sistema para controlar el acceso a servicios digitales que comprende: (a) un centro de control (102) configurado para coordinar y proporcionar servicios digitales; (b) un centro de enlace ascendente (104) configurado para recibir los servicios digitales desde el centro de control (102) Y transmitir los servicios digitales a un satélite (108); (c) el satélite (108) configurado para: (i) recibir los servicios digitales desde el centro de enlace ascendente (104); (ii) procesar los servicios digitales; y (iii) transmitir los servicios digitales a una estación receptora de abonado (110); (d) la estación receptora de abonado (110) configurada para: (i) recibir los servicios digitales desde el satélite (108); (ii) controlar el acceso a los servicios digitales a través de un receptor/decodificador integrado (lRO) (126); (e) un módulo de acceso condicional (CAM) (512) acoplado en comunicación al IRO (126), en el que el CAM (512) comprende: (i) un componente de memoria no volátil protegido (606), caracterizado porque: (1) el componente de memoria no volátil protegido (606) está adaptado para contener información de estado para ejecutar una o más políticas de seguridad para acceder a los servicios digitales; y (2) el componente de memoria no volátil protegido (606) está protegido contra modificación de modo que el componente de memoria no volátil (606) es sólo de lectura; y (3) el acceso al componente de memoria no volátil protegido (606) está aislado; (ii) un componente de memoria no volátil de un microprocesador en el que el componente de memoria no volátil del microprocesador y el componente de memoria no volátil protegido usan intervalos de dirección física y lógica que son los mismos; (iii) un número de identificación oculto no modificable (614) incrustado en el componente de memoria no volátil protegido (606), en el que el número de identificación (614) identifica de manera unívoca el CAM (512), no pudiendo leerse el número de identificación oculto no modificable desde ninguno del microprocesador, un módulo de E/S de sistema, un bus de sistema y una unidad de control de acceso a la memoria del CAM; y en el que el acceso a dichos servicios digitales se basa en derechos de acceso asociados con el número de identificación oculto no modificable; y (iv) un bloque lógico personalizado de estado fijo (612), en el que el componente de memoria no volátil protegido (606) no es accesible mediante el bus de sistema (610) y el acceso al componente de memoria no volátil protegido (606) está limitado al bloque lógico personalizado (612), yen el que las líneas de datos y dirección del componente de memoria no volátil protegido están direccionadas sólo hacia el bloque lógico personalizado de estado fijo; estando adaptadO el bloque lógico personalizado para leer el número de identificación oculto no modificable para realizar una operación usando el número de identificación oculto no modificable, incluyendo dicha operación dicho acceso a dichos servicios digitales.

Description

DESCRIPCiÓN
Identificación oculta
Referencia cruzada a solicitudes relacionadas
5
Esta solicitud se refiere a las siguientes solicitudes de patente en tramitación junto con la presente y de titularidad compartida, solicitudes a las que se hace referencia en el presente documento:
solicitud de patente estadounidense con n.o de serie xx/xxx.xxx, titulada "MUL TIPLE NONVOLATILE MEMORIES", de Ronald Cocchi, et al., n.o de expediente del agente PD-200335, presentada en la misma fecha con el presente documento;
1O
solicitud de patente estadounidense con n.o de serie xx/xxx. xxx , titulada "DEDICATED NONVOLATILE MEMORY", de Ronald Cocchi, et al., n.o de expediente del agente PD-200337, presentada en la misma fecha con el presente documento; y
solicitud de patente estadounidense con n.o de serie xx/xxx. xxx , titulada "ASYNCHRONOUS CONFIGURATION", de Ronald Cocchi, et al., n.O de expediente del agente PD-201161, presentada en la misma fecha con el presente documento.
15
Antecedentes de la invención
1. Campo de la invención
La presente invención se refiere a sistemas y a métodos para impedir/limitar el acceso no autorizado a servicios digitales y en particular a un método y a un sistema para identificar de manera unívoca una memoria no volátil de modo que la identidad de la memoria esté oculta.
20
2. Descripción de la técnica relacionada
25
Los servicios digitales tales como programas de televisión e información concerniente a esos programas (por ejemplo, una guía de programas) se distribuyen a usuarios mediante una variedad de métodos de difusión. Tales servicios pueden ser propietarios y estar disponibles bajo un abono. Para impedir el acceso no autorizado a los servicios se utilizan una plétora de mecanismos de seguridad. Tales mecanismos pueden almacenar información en una memoria, usándose la información para validar a un usuario o proporcionar acceso. Sin embargo, las personas a menudo intentan obtener acceso no autorizado/ilegal a los servicios alterando o accediendo al contenido de la memoria. Lo que se necesita es la capacidad de impedir o aumentar la dificultad para obtener acceso ilegal a la información y servicios digitales. Estos problemas pueden entenderse mejor mediante una descripción de métodos de difusión actuales, mecanismos de seguridad y métodos para obtener acceso no autorizado a tales servicios.
30 35
Tal como se describió anteriormente, los programas de televisión y servicios digitales se distribuyen a espectadores mediante una variedad de métodos de difusión. Estos métodos incluyen la televisión de difusión analógica tradicional (norma del Comité Nacional de Sistemas de Televisión o "NTSC"), la televisión de difusión digital que se requerirá pronto (norma del Comité de Sistemas de Televisión Avanzados o "ATSC"), la televisión por cable (tanto analógica como digital), la difusión por satélite (tanto analógica como digital), así como otros métodos. Estos métodos permiten que se multiplexen canales de contenido de televisión y se transmitan por un medio de transmisión común.
40
Para ver la programación de televisión y tener acceso a los servicios digitales, los usuarios tienen comúnmente un set top box (STB) (también denominado receptor/decodificador integrado [IRD]). Dentro del sistema o STB puede utilizarse un microcircuito/componente de seguridad conocido como tarjeta inteligente para impedir el acceso no autorizado a los programas de televisión y servicios digitales. El microcircuito de tarjeta inteligente puede contener un microprocesador, componentes de memoria volátil, un componente de memoria no volátil y un módulo de entrada/salida de sistema.
45
La memoria no volátil se ha usado ampliamente en toda la industria electrónica. Por ejemplo, en el IRD, el microprocesador utiliza una memoria no volátil para contener información de estado (por ejemplo, información de estatus) usada para proporcionar la funcionalidad deseada y ejecutar políticas de seguridad previstas por los diseñadores. El microprocesador y/o una unidad de control de acceso a la memoria utilizada por el microprocesador restringen el acceso a los componentes de memoria.
50
Sin embargo ha habido numerosos intentos por parte de individuos o compañías (es decir, piratas informáticos o atacantes) de atacar, usar inapropiadamente o modificar la memoria no volátil a través de medios externos de reprogramación o alterando de otra manera el contenido de la memoria cuando el componente de memoria ha estado disponible para el procesador central o de otra manera en el bus de sistema. Por ejemplo, los ataques que usan métodos imprevistos o que subvierten defensas mal implementadas pueden usarse para lograr un acceso no autorizado al contenido de la memoria y/o hacer que se reprograme el contenido de la memoria. La reprogramación o el acceso no autorizado al contenido de la memoria puede hacer que se vean completamente comprometidas las características de seguridad previstas en el dispositivo.
La forma más simple y más prevalente de ataque contra los componentes de memoria usa medios externos no invasivos que usan un módulo de entrada/salida de un sistema debido al bajo coste del equipo requerido para implementar esta forma de ataque. La mayoria de los ataques se producen mediante la manipulación inapropiada de un microprocesador o una unidad de control de acceso a la memoria. Por ejemplo, se ha subvertido el contenido de la memoria cuando se ha visto comprometida una unidad de control de acceso a la memoria (que controla el acceso a un componente de memoria). Una vez que se ha vulnerado el componente de memoria individual, el atacante puede tener entonces la capacidad de acceder a todas las ubicaciones de dirección de memoria que residen en otros componentes de memoria.
Un ejemplo de acceso no autorizado a servicios digitales se produce cuando se clona una tarjeta inteligente o un componente de memoria. En un ataque de clonación de bajo coste de este tipo, la identidad de una tarjeta pirata se copia en una nueva tarjeta. Por consiguiente, las tarjetas inteligentes/componentes de memoria tienen una identidad/número de identificación. En la técnica anterior, el número de identificación puede establecerse como número de identificación implementado con lógica permanente en una memoria de sólo lectura (ROM). Sin embargo, el uso de una nueva máscara ROM con un número de identificación implementado con lógica permanente para cada chip producido es caro y requiere mucho tiempo. Además, los números de identificación en la técnica anterior son accesibles para el módulo de entrada/salida de sistema, el bus de sistema, el microprocesador o el entorno externo, permitiendo asi ataques al sistema.
El documento EP 1 176 826 A2 describe un sistema de distribución de vídeo por satélite y un receptor con procesos de cifrado/descifrado para garantizar que sólo usuarios autorizados puedan ver los datos de vídeo.
Shigeru Araki: "The Memory Stick", IEEE Micro, ISSN: 0272-1732, vol. 20 n.o 4 julio-agosto de 2000, páginas 40-46, XP002257044 describió un lápiz de memoria para almacenar datos como imágenes fijas, imágenes en movimiento, voz o música. El lápiz incluye una interfaz como controlador para la autenticación basada en una ID de unidad y la protección para material de derechos de autor.
Sumario de la invención
Los sistemas de servicios digitales contienen a menudo un módulo de servicio conocido como tarjeta inteligente para impedir el acceso no autorizado a los servicios. El microcircuito de tarjeta inteligente contiene un microprocesador, componentes de memoria volátil, componentes de memoria no volátil, un bloque lógico personalizado y un módulo de entrada/salida de sistema. El sistema de seguridad puede verse comprometido si se usan o atacan componentes de memoria de modos inesperados.
Una o más realizaciones de la invención proporcionan un método, un aparato y un artículo de fabricación para incorporar un número de identificación oculto en alguna forma de memoria no volátil. El número de identificación se oculta del microprocesador situando el número en una ubicación de memoria que no es accesible para el módulo de entrada/salida de sistema, el bus de sistema, el microprocesador o el entorno externo. La memoria no volátil es sólo de lectura a través de un bloque lógico personalizado. El número de identificación está protegido porque no es accesible para el microprocesador y, por tanto, no puede alterarse por medios externos. Además, el número de identificación identifica de manera unívoca el dispositivo que contiene la memoria no volátil y se asocia con y usa para determinar derechos/privilegios de acceso a servicios digitales.
Breve descripción de los dibujos
Ahora se hace referencia a los dibujos en los que números de referencia similares representan partes correspondientes por todo el documento:
la figura 1 es un diagrama que muestra una visión general de un sistema de distribución de vídeo;
la figura 2 es un diagrama de bloques que muestra una configuración de enlace ascendente típica que muestra cómo se transmite material de programa de vídeo en enlace ascendente a un satélite para su transmisión a abonados usando un transpondedor individual;
la figura 3 es un diagrama de bloques de una realización del subsistema de guía de programas;
la figura 4A es un diagrama de un flujo de datos representativo recibido desde un satélite;
la figura 48 es un diagrama que ilustra la estructura de un paquete de datos;
la figura 5 es un diagrama de bloques de una realización de un receptor/decodificador integrado;
las figuras 6A y 68 ilustran arquitecturas de un módulo de acceso condicional según una o más realizaciones de la invención; y
la figura 7 es un diagrama de flujo que ilustra el uso de un número de identificación oculto para limitar el acceso no autorizado a servicios digitales según una o más realizaciones de la invención
Descripción detallada de realizaciones preferidas
En la siguiente descripción se hace referencia a los dibujos adjuntos que forman parte del presente documento y que muestran, a modo de ilustración, diversas realizaciones de la presente invención. Debe entenderse que pueden utilizarse otras realizaciones y pueden hacerse cambios estructurales sin apartarse del alcance de la presente invención.
Visión general
Un número de identificación protegid%culto no modificable se incrusta en un componente de memoria no volátil. El número de identificación oculto no es accesible a través de un módulo de entrada/salida de sistema, un bus de sistema, un microprocesador o un entorno externo. La identificación oculta se programa tras la fabricación y hace que el componente de memoria no volátil (y, por tanto, el chip que contiene el componente de memoria) sea único.
Sistema de distribución de vídeo
La figura 1 es un diagrama que ilustra una vlslon general de un sistema de distribución de vídeo por satélite individual 100. El sistema de distribución de vídeo 100 comprende un centro de control 102 en comunicación con un centro de enlace ascendente 104 mediante un enlace de tierra u otro enlace 114 y con una estación receptora de abonado 110 mediante una red telefónica pública conmutada (PSTN) u otro enlace 120. El centro de control 102 proporciona material de programa (por ejemplo servicios digitales, programas de vídeo, programas de audio y datos) al centro de enlace ascendente 104 Y coordina con las estaciones receptoras de abonado 110 para ofrecer, por ejemplo, servicios de programa de pago -por visión (PPV), que incluyen la facturación y el descifrado asociado de programas de vídeo.
El centro de enlace ascendente 104 recibe material de programa e información de control de programa desde el centro de control 102 y, usando una antena de enlace ascendente 106 y un transmisor 105, transmite el material de programa y la información de control de programa al satélite 108 mediante un enlace ascendente 116. El satélite recibe y procesa esta información, y transmite los programas de vídeo y la información de control a la estación receptora de abonado 110 mediante un enlace descendente 118 usando un transmisor 107. La estación de recepción de abonado 110 recibe esta información usando la unidad exterior (ODU) 112, que incluye una antena de abonado y un convertidor de bloque de bajo ruido (LNB).
La estación de recepción de abonado 110 permite el uso/la visión de la información por parte de un abonado 122. Por ejemplo, la información puede usarse/verse en un televisor 124 u otro dispositivo de visualización. Para controlar el acceso a la información, la estación de recepción de abonado 110 incluye un receptor/decodificador integrado (lRD) 126. En realizaciones de la invención, el IRD 126 está acoplado en comunicación a un componente de seguridad conocido como módulo de acceso condicional o tarjeta inteligente que controla el acceso a la información/servicios digitales.
En una realización, la antena de estación de recepción de abonado es una antena de banda Ku ligeramente ovalada de 18 pulgadas. La forma ligeramente ovalada se debe a la alimentación excéntrica de 22,5 grados del LNB (convertidor de bloque de bajo ruido) que se usa para recibir señales reflejadas desde la antena de abonado. La alimentación excéntrica posiciona el LNB fuera del paso de manera que no bloquea ningún área de superficie de la antena minimizando la atenuación de la señal de microondas entrante.
El sistema de distribución de vídeo 100 puede comprender una pluralidad de satélites 108 para proporcionar una cobertura terrestre más amplia, para proporcionar canales adicionales o para proporcionar un ancho de banda adicional por canal. En una realización de la invención, cada satélite comprende 16 transpondedores para recibir y transmitir material de programa y otros datos de control desde el centro de enlace ascendente 104 Y proporcionarlos a las estaciones de recepción de abonado 110. Usando técnicas de compresión y multiplexación de datos para las capacidades de canal, dos satélites 108 que trabajan juntos pueden recibir y difundir más de 150 canales de audio y vídeo convencionales (no HDTV) mediante 32 transpondedores.
Aunque la invención dada a conocer en el presente documento se describirá con referencia a un sistema de distribución de vídeo por satélite 100, la presente invención también puede ejecutarse con transmisión terrestre de información de programa, ya sea mediante medios de difusión, cable u otros medios. Además, las diferentes funciones asignadas colectivamente entre el centro de control 102 y el centro de enlace ascendente 104 tal como se describió anteriormente pueden reasignarse tal como se desee sin apartarse del alcance previsto de la presente invención.
Aunque lo anterior se ha descrito con respecto a una realización en la que el material de programa emitido al abonado 122 es material de programa de vídeo (y audio) tal como una película, el método anterior también puede usarse para emitir material de programa que comprende puramente información de audio u otros datos.
Configuración de enlace ascendente
La figura 2 es un diagrama de bloques que muestra una configuración de enlace ascendente típica para un transpondedor de satélite 108 individual, que muestra cómo se transmite material de programa de vídeo en enlace ascendente al satélite 108 mediante el centro de control 102 Y el centro de enlace ascendente 104. La figura 2 muestra tres canales de vídeo (que pueden aumentarse respectivamente con uno o más canales de audio para música de alta fidelidad, información de banda sonora o un programa de audio secundario para transmitir lenguas extranjeras), un canal de datos desde un subsistema de guía de programas 206 e información de datos informáticos desde una fuente de datos informáticos 208.
Los canales de vídeo se proporcionan por una fuente de programa de material de vídeo 200A-200C (denominada colectivamente a continuación en el presente documento fuente(s) de vídeo 200). Los datos de cada fuente de programa de vídeo 200 se proporcionan a un codificador 202A-202C (denominado colectivamente a continuación en el presente documento codificador(es) 202). Cada uno de los codificadores admite un sello de fecha y hora de programa (PTS) desde el controlador 216. El PTS es un sello de fecha y hora binario de bucle cíclico que se usa para garantizar que la información de vídeo se sincroniza apropiadamente con la información de audio tras la codificación y la decodificación. Un sello de fecha y hora PTS se envía con cada trama I de los datos codificados por MPEG.
En una realización de la presente invención, cada codificador 202 es un codificador de grupo de expertos de imágenes en movimiento de segunda generación (MPEG-2), pero también pueden usarse otros decodificadores que implementan otras técnicas de codificación. El canal de datos puede someterse a un esquema de compresión similar mediante un codificador (no mostrado), pero tal compresión es habitualmente o bien innecesaria o bien se realiza por programas informáticos en la fuente de datos informáticos (por ejemplo, los datos fotográficos se comprimen normalmente en archivos *.TIF o archivos *.JPG antes de su transmisión). Tras la codificación mediante los codificadores 202, las señales se convierten en paquetes de datos por un paquetizador 204A-204F (denominado colectivamente a continuación en el presente documento paquetizador(es) 204) asociado con cada fuente 200.
Los paquetes de datos se ensamblan usando una referencia del reloj de sistema 214 (SCR), y del gestor de acceso condicional 210, que proporciona la SCID a los paquetizadores 204 para su uso en la generación de los paquetes de datos. Estos paquetes de datos se multiplexan entonces en datos en serie y se transmiten.
Subsistema de guía de programas
La figura 3 es un diagrama de bloques de una realización del subsistema de guía de programas 206. El sistema que transmite datos de guía de programas 206 incluye una base de datos de guía de programas 302, un compilador 304, subbases de datos 306A-306C (denominados colectivamente sub bases de datos 306) y cicladores 308A-308C (denominados colectivamente cicladores 308).
Alimentaciones de planificación 310 proporcionan información de planificación electrónica sobre el horario y el contenido de diversos canales de televisión, tales como los que se encuentran en las planificaciones de televisión contenidas en periódicos y guías de televisión. Las alimentaciones de planificación 310 incluyen preferiblemente información de una o más compañías que se especializan en proporcionar información de planificación, tales como TRIBUNE MEDIA SERVICESTM y T.v. DATATM. Los datos proporcionados por compañías tales como TRIBUNE MEDIA SERVICESTM y T.V. DATATM se transmiten normalmente por líneas de teléfono a una base de datos de guía de programas 302. Estas compañías proporcionan datos de planificación de televisión para todas las estaciones de televisión en la nación además de los canales nacionales, tales como SHOWTIMETM, HBOTM y DISNEY CHANNELTM. El formato específico de los datos proporcionados por estas compañías varía de compañía en compañía. La base de datos de guía de programas 302 incluye preferiblemente datos de planificación para canales de televisión por toda la nación que incluyen todos los canales nacionales y canales locales, independientemente de si los canales se transmiten mediante la estación de transmisión.
La base de datos de guía de programas 302 es un sistema informatizado que recibe datos de alimentaciones de planificación 310 y organiza los datos en un formato estándar. El compilador 304 lee los datos de formato estándar de la base de datos de guía de programas 302, identifica partes de planificación comunes, convierte los datos de guía de programas al formato apropiado para la transmisión a usuarios (específicamente, los datos de guía de programas se convierten en objetos tal como se discute a continuación) y emite los datos de guía de programas a una o más de sub bases de datos 306.
Los datos de guía de programas también pueden introducirse manualmente en una base de datos de guía de programas 302 a través de una estación de introducción de datos 312. La estación de introducción de datos 312 permite que un operador introduzca información de planificación adicional, así como combinar y organizar datos suministrados por las compañías de planificación. Tal como con los datos organizados por ordenador, los datos introducidos manualmente se convierten mediante el compilador en objetos separados y se envían a una o más subbases de datos 306.
Los objetos de guía de programas se almacenan temporalmente en subbases de datos 306 hasta que cicladores 308 solicitan la información. Cada uno de los cicladores 308 puede transmitir objetos a una tasa diferente de los otros cicladores 308. Por ejemplo, el ciclador 308A puede transmitir objetos cada segundo, mientras que los cicladores 308B y 308C pueden transmitir objetos cada 5 segundos y cada 10 segundos, respectivamente.
Puesto que los receptores del abonado pueden no estar siempre encendidos y recibiendo y guardando objetos, la información de guía de programas se retransmite continuamente. Los objetos de guía de programas para programas que se mostrarán en el siguiente par de horas se envían más frecuentemente que los objetos de guía de programas para programas que se mostrarán posteriormente. Por tanto, los objetos de guía de programas para los programas más actuales se envían a un ciclador 308 con una tasa de transmisión alta, mientras que los objetos de guía de programas para programas posteriores se envían a cicladores 308 con una tasa de transmisión menor. Una o más de las salidas de datos 314 de los cicladores 308 se reenvían al paquetizador de un transpondedor particular, tal como se representa en la figura 2.
Debe indicarse que la configuración de enlace ascendente representada en la figura 2 y el subsistema de guía de programas representado en la figura 3 pueden implementarse mediante uno o más módulos de hardware, uno o más módulos de software que definen instrucciones realizadas por un procesador, o una combinación de ambos.
Formato y protocolo de flujo de datos de difusión
La figura 4A es un diagrama de un flujo de datos representativo. El primer segmento de paquete 402 comprende información de un canal de vídeo 1 (datos procedentes de, por ejemplo, la primera fuente de programa de vídeo 200A). El siguiente segmento de paquete 404 comprende información de datos informáticos que se obtuvo, por ejemplo, de la fuente de datos informáticos 208. El siguiente segmento de paquete 406 comprende información de un canal de vídeo 5 (de una de las fuentes de programa de vídeo 200). El siguiente segmento de paquete 408 comprende información de guía de programas tal como la información proporcionada por el subsistema de guía de programas 206. Tal como se muestra en la figura 4A pueden insertarse paquetes nulos 410 creados por el módulo de paquete nulo 212 en el flujo de datos según se desee.
Por tanto, el flujo de datos comprende una serie de paquetes de una cualquiera de las fuentes de datos en un orden determinado por el controlador 216. El flujo de datos se cifra mediante el módulo de cifrado 218, se modula mediante el modulador 220 (usando normalmente un esquema de modulación QPSK) y se proporciona al transmisor 222, que difunde el flujo de datos modulado en un ancho de banda de frecuencia al satélite mediante la antena 106. El receptor 126 recibe estas señales y, usando la SCID, vuelve a ensamblar los paquetes para volver a generar el material de programa para cada uno de los canales.
La figura 4B es un diagrama de un paquete de datos. Cada paquete de datos (por ejemplo 402-416) tiene una longitud de 147 bytes y comprende varios segmentos de paquetes. El primer segmento de paquete 420 comprende dos bytes de información que contienen la SCID y banderas. La SCID es un único número de 12 bits que identifica de manera unívoca al canal de datos del paquete de datos. Las banderas incluyen 4 bits que se usan para controlar otras características. El segundo segmento de paquete 422 está constituido por un indicador de tipo de paquete de 4 bits y un contador de continuidad de 4 bits. El tipo de paquete identifica el paquete como uno de los cuatro tipos de datos (vídeo, audio, datos o nulo). Cuando se combina con la SCID, el tipo de paquete determina cómo se usará el paquete de datos. El contador de continuidad aumenta una vez para cada tipo de paquete y SCID. El siguiente segmento de paquete 424 comprende 127 bytes de datos de carga útil, que en los casos de paquetes 402 ó 406 es una parte del programa de vídeo proporcionado por la fuente de programa de vídeo 200. El segmento de paquete final 426 son datos requeridos para realizar una corrección de errores sin canal de retorno.
Receptor/decodificador integrado
La figura 5 es un diagrama de bloques de un receptor/decodificador integrado (IRD) 126 (también denominado a continuación en el presente documento alternativamente receptor 126 o STB). El receptor 126 comprende un sintonizador/demodulador 504 acoplado en comunicación a una ODU 112 que tiene uno o más LNB 502. El LNB 502 convierte la señal de enlace descendente 118 de 12,2 a 12,7 GHz de los satélites 108 en, por ejemplo, una señal de 950-1450 MHz requerida por el sintonizador/demodulador 504 del IRD 126. El LNB 502 puede proporcionar o bien una salida doble o bien una individual. El LNB de salida individual 502 tiene sólo un conector de RF, mientras que el LNB de salida doble 502 tiene dos conectores de salida de RF y pueden usarse para alimentar un segundo sintonizador 504, un segundo receptor 126 o alguna otra forma de sistema de distribución.
El sintonizador/demodulador 504 aísla un único transpondedor de 24 MHz modulado digitalmente y convierte los datos modulados en un flujo de datos digital. El flujo de datos digital se suministra entonces a un decodificador de corrección de errores sin canal de retorno (FEC) 506. Esto permite que el IRD 126 vuelva a ensamblar los datos transmitidos por el centro de enlace ascendente 104 (que aplicó la corrección de errores sin canal de retorno a la señal deseada antes de la transmisión a la estación de recepción de abonado 110) verificando que se recibió la señal de datos correcta y corrigiendo errores, si los hay. Los datos de error corregido pueden alimentarse desde el módulo decodificador de FEC 506 al módulo de transporte 508 mediante una interfaz paralela de 8 bits.
El módulo de transporte 508 realiza muchas de las funciones de procesamiento de datos realizadas por el IRD 126. El módulo de transporte 508 procesa datos recibidos desde el módulo decodificador de FEC 506 y proporciona los datos procesados al decodificador MPEG de vídeo 514 y al decodificador MPEG de audio 517. En una realización de la presente invención, el módulo de transporte, el decodificador MPEG de vídeo y el decodificador MPEG de audio están todos implementados en circuitos integrados. Este diseño promueve eficiencia tanto de espacio como energética, y aumenta la seguridad de las funciones realizadas dentro del módulo de transporte 508. El módulo de transporte 508 también proporciona un paso para comunicaciones entre el microcontrolador 510 Y los decodificadores MPEG de vídeo y de audio 514, 517. Tal como se expone de manera más completa a continuación en el presente documento, el módulo de transporte también trabaja con el módulo de acceso condicional (CAM) 512 para determinar si la estación de recepción de abonado 110 puede acceder a cierto material de programa. También pueden suministrarse datos desde el módulo de transporte a un módulo de comunicación externo 526.
El CAM 512 funciona en asociación con otros elementos para decodificar una señal cifrada del módulo de transporte
508. El CAM 512 también puede usarse para rastrear y facturar estos servicios. En una realización de la presente invención, el CAM 512 es una tarjeta inteligente, que tiene contactos que interaccionan de manera cooperativa con contactos en el IRO 126 para pasar información. Para implementar el procesamiento realizado en el CAM 512, el IRO 126 y específicamente el módulo de transporte 508 proporcionan una señal de reloj al CAM 512. A continuación se describen detalles de la arquitectura del CAM 512.
Los datos de vídeo se procesan mediante el decodificador de vídeo MPEG 514. Usando la memoria de acceso aleatorio (RAM) de vídeo 536, el decodificador de vídeo MPEG 514 decodifica los datos de vídeo comprimidos y los envía a un codificador o procesador de vídeo 516, que convierte la información de vídeo digital recibida desde el módulo MPEG de vídeo 514 en una señal de salida que puede usarse por una pantalla u otro dispositivo de salida. A modo de ejemplo, el procesador 516 puede comprender un codificador del Comité Nacional de Sistemas de Televisión (NTSC) o del Comité de Sistemas de Televisión Avanzados (ATSC). En una realización de la invención se proporcionan señales tanto de S-Video como de vídeo ordinario (NTSC o ATSC). También pueden utilizarse otras salidas y son ventajosas si se procesa programación de alta definición.
Los datos de audio se decodifican de la misma manera mediante el decodificador de audio MPEG 517. Los datos de audio decodificados pueden enviarse entonces a un convertidor digital-analógico (O/A) 518. En una realización de la presente invención, el convertidor O/A 518 es un convertidor O/A doble, uno para los canales derecho e izquierdo. Si se desea pueden añadirse canales adicionales puede para su uso en el procesamiento de sonido ambiente o programas de audio secundarios (SAP). En una realización de la invención, el propio convertidor O/A doble 518 separa la información de canal derecho e izquierdo, así como cualquier información de canal adicional. Pueden soportarse otros formatos de audio de manera similar. Por ejemplo pueden soportarse otros formatos de audio tales como OOLBY DIGITAL AC-3 multicanal.
Una descripción de los procesos realizados en la codificación y la decodificación de flujos de vídeo, particularmente con respecto a la codificación/decodificación MPEG y JPEG, puede encontrarse en el capítulo 8 de "Digital Television Fundamentals", de Michael Robin y Michel Poulin, McGraw-Hill, 1998, que se incorpora de esta manera al presente documento como referencia.
El microcontrolador 510 recibe y procesa señales de órdenes del control remoto 524, una interfaz de teclado de IRO 126 y/u otro dispositivo de entrada. El microcontrolador recibe órdenes para realizar sus operaciones desde una memoria de programación de procesador, que almacena de manera permanente tales instrucciones para realizar tales órdenes. La memoria de programación de procesador puede comprender una memoria de sólo lectura (ROM) 538, una memoria de sólo lectura programable y borrable eléctricamente (EEPROM) 522 o un dispositivo de memoria similar. El microcontrolador 510 también controla los otros dispositivos digitales deliRO 126 mediante líneas de dirección y datos (denominadas "A" y "O" respectivamente, en la figura 5).
El módem 540 se conecta a la línea de teléfono del cliente mediante el puerto PSTN 120. Éste llama, por ejemplo al proveedor de programa, y transmite la información de compra del cliente para fines de facturación, y/u otra información. El módem 540 se controla mediante el microprocesador 510. El módem 540 puede emitir datos a otros tipos de puerto de E/S incluyendo puertos de E/S informáticos en paralelo y en serie convencionales.
La presente invención también comprende una unidad de almacenamiento local tal como el dispositivo de almacenamiento de vídeo 532 para almacenar datos de vídeo y/o audio obtenidos del módulo de transporte 508. El dispositivo de almacenamiento de vídeo 532 puede ser un disco duro, un disco compacto de lectura/escritura de OVO, una RAM de estado sólido o cualquier otro medio de almacenamiento. En una realización de la presente invención, el dispositivo de almacenamiento de vídeo 532 es un disco duro con capacidad de lectura/escritura paralela especializada de manera que pueden leerse datos desde el dispositivo de almacenamiento de vídeo 532 y escribirse en el dispositivo 532 al mismo tiempo. Para efectuar esta tarea, puede usarse una memoria intermedia adicional accesible por el almacenamiento de vídeo 532 o su controlador. Opcionalmente puede usarse un procesador de almacenamiento de vídeo 530 para gestionar el almacenamiento y la recuperación de los datos de vídeo desde el dispositivo de almacenamiento de vídeo 532. El procesador de almacenamiento de vídeo 530 también puede comprender una memoria para almacenar de manera intermedia datos que entran en y salen del dispositivo de almacenamiento de vídeo 532. Alternativamente o en combinación con lo anterior pueden usarse una pluralidad de dispositivos de almacenamiento de vídeo 532. También alternativamente o en combinación con lo anterior, el microcontrolador 510 también puede realizar las operaciones requeridas para almacenar y/o recuperar datos de vídeo y otros en el dispositivo de almacenamiento de vídeo 532.
La entrada del módulo de procesamiento de vídeo 516 puede suministrarse directamente como salida de vídeo a un dispositivo de visualización tal como un monitor de vídeo u ordenador. Además, las salidas de vídeo y/o audio pueden suministrase a un modulador de RF 534 para producir una salida de RF y/o banda lateral residual (YS8)-8 adecuada como señal de entrada a un sintonizador de televisión convencional. Esto permite que el receptor 126 funcione con televisores sin una salida de vídeo.
Cada uno de los satélites 108 comprende un transpondedor, que admite información de programa del centro de enlace ascendente 104, Yretransmite esta información a la estación de recepción de abonado 110. Se usan técnicas de multiplexación conocidas de manera que pueden proporcionarse múltiples canales al usuario. Estas técnicas de multiplexación incluyen, a modo de ejemplo, diversas técnicas de multiplexación estadísticas o de otro dominio de tiempo y multiplexación por polarización. En una realización de la invención, un transpondedor individual que funciona en una banda de frecuencia individual porta una pluralidad de canales identificados por una identificación de canal de servicio (SCIO) respectiva.
Preferiblemente, el IRO 126 también recibe y almacena una guía de programas en una memoria disponible para el microcontrolador 510. Normalmente, la guía de programas se recibe en uno o más paquetes de datos en el flujo de datos procedente del satélite 108. Puede accederse a y realizarse búsquedas en la guía de programas mediante la ejecución de etapas de operación adecuadas implementadas por el microcontrolador 510 Y almacenadas en el procesador ROM 538. La guía de programas puede incluir datos para mapear números de canal de espectador con transpondedores de satélite e identificaciones de canal de servicio (SCIO), y también proporcionar información de listado de programas de televisión al abonado 122 que identifica eventos de programa.
La funcionalidad implementada en ellRO 126 representado en la figura 5 puede implementarse mediante uno o más módulos de hardware, uno o más módulos de software que definen instrucciones realizadas por un procesador, o una combinación de ambos.
Tarjeta de acceso
Un CAM 512 contiene a menudo un microprocesador, componentes de memoria (un componente volátil y un componente no volátil) y un módulo de entrada/salida (E/S) de sistema para comunicarse con el módulo de transporte 508. Los microprocesadores tradicionales dentro de un CAM 512 tienen una memoria no volátil para contener el estado que se usa para proporcionar la funcionalidad deseada y ejecutar políticas de seguridad previstas por los diseñadores. El microprocesador y/o una unidad de control de acceso a la memoria restringen el acceso a los componentes de memoria. Además, números de identificación pueden identificar un CAM 512. Sin embargo, en la técnica anterior no hay ningún intento de aislar el número de identificación del módulo de E/S de sistema, del bus de sistema, del microprocesador o del entorno externo.
Tal como se describió anteriormente, los ataques pueden usar métodos imprevistos o pueden subvertir defensas ,mal implementadas para lograr un acceso no autorizado al contenido de la memoria y/o hacer que se reprograme el contenido de la memoria. Por ejemplo, la mayoría de los ataques se producen mediante una manipulación inapropiada del microprocesador o de la unidad de control de acceso a la memoria. La reprogramación o el acceso no autorizado al contenido de la memoria puede hacer que se vean completamente comprometidas las características de seguridad previstas en el CAM 512. La forma más simple y más prevalente de ataque contra el componente de memoria usa medios externos que usan el módulo de E/S de sistema debido al bajo coste del equipo requerido para implementar esta forma de ataque. Por ejemplo, la identificación del CAM 512 puede obtenerse a través del módulo de E/S de sistema o del microprocesador y duplicarse para crear una tarjeta pirata.
La invención intenta específicamente asegurar el contenido de la memoria ocultándolo del entorno externo garantizando que no se sitúe en el bus de sistema y no esté disponible para el microprocesador o el módulo de E/S de sistema. Por consiguiente, para evitar los métodos de ataque descritos anteriormente, el acceso al número de identificación se oculta almacenando el número en un componente de memoria no volátil protegido conectado no directamente al módulo de E/S de sistema, al bus de sistema o al microprocesador. El bloque lógico personalizado se implementa en un hardware de estado sólido que implementa una máquina de estado simple y bien definida. Las funciones definidas en el bloque lógico personalizado especifican un puñado de operaciones bien definidas que pueden realizarse usando el número de identificación oculto. Al impedir que el módulo de E/S de sistema, el bus de sistema, el microprocesador o la unidad de control de acceso a la memoria acceda directamente al componente de memoria no volátil protegido (y, por tanto, al número de identificación y a la identidad del CAM 512) ya no son posibles ataques anteriormente exitosos.
Las figuras 6A y 68 ilustran dos arquitecturas de un CAM 512 según una o más realizaciones de la invención. El CAM 512 contiene un microprocesador 602, componentes de memoria volátiles 604 (por ejemplo, memoria de acceso aleatorio [RAM]), uno o más componentes de memoria no volátiles 606 (por ejemplo, memoria de sólo lectura programable y borrable eléctricamente [EEPROM], memoria de sólo lectura programable y borrable [EPROM]
o RAM con respaldo de batería), un módulo de entrada/salida de sistema 608, un bloque lógico personalizado 612 y un número de identificación oculto 614 (que está almacenado dentro de un componente de memoria no volátil separado 606). Los diversos componentes del CAM 512 pueden estar acoplados en comunicación a un bus de sistema 610.
Garantizar que el número de identificación 614 esté protegido contra modificación conserva la unicidad del dispositivo (es decir, CAM 512) que es importante para muchos modelos de seguridad. El número de identificación oculto 614 puede incrustarse en el CAM 512 tras la fabricación.
En la figura 6A, el número de identificación oculto 614 se programa por el microprocesador 602 (a lo largo del bus de sistema 610) usando una memoria programable una sola vez protegida por un fusible de hardware 616 que aísla el número de identificación 614 (y el componente de memoria no volátil 606 que contiene el número de identificación 614) del microprocesador 602 tras haberse escrito el número de identificación 614. En otras palabras, tras haberse escrito el número de identificación oculto 614, el fusible 616 se funde.
En la figura 68, el número de identificación oculto 614 se programa por el bloque lógico personalizado 612 usando una memoria programable una sola vez/conexión de una sola escritura 616. Por tanto, tras escribir el bloque lógico personalizado 612 el número de identificación oculto 614, la conexión 616 ya no existe (por ejemplo, se destruye). Tal como en la figura 6A, la conexión de una sola escritura 616 de la figura 68 puede ser un fusible de hardware que se funde tras haberse escrito el número oculto 614.
Por consiguiente, en la figura 6A y la figura 68, tras haberse escrito el número de identificación oculto 614, el número de identificación 614 está protegido porque no es accesible por el microprocesador 602 y, por tanto, no puede alterarse por medios externos. Una vez aislado, el número de identificación oculto 614 sólo puede leerse (y no modificarse) por el bloque lógico personalizado 612 a través de la conexión de sólo lectura 618. El bloque lógico personalizado 612 se implementa en un hardware de estado sólido que implementa una máquina de estado simple y bien definida. Las funciones definidas en el bloque lógico personalizado 612 especifican un puñado de operaciones bien definidas que pueden realizarse usando el número de identificación oculto 614.
Además de lo anterior, el componente de memoria no volátil 606 del microprocesador 602 y el componente de memoria no volátil que contiene el número oculto 614 pueden usar los mismos intervalos de dirección física y lógica porque se controlan y programan por entidades separadas. Alternativamente, los dos componentes de memoria 606 (y el componente 606 que contiene el número oculto 614) pueden usar intervalos de dirección separados según considere conveniente el diseñador del sistema. Esto ayuda a obstaculizar el uso de la memoria que contiene el número oculto 614 por parte de atacantes potenciales haciendo más difícil determinar el mapa de memoria y el uso de segmentos de código dentro del CAM 512.
Adicionalmente, los dos componentes de memoria no volátiles 606 pueden compartir bombas de carga de programación y un control de programación. Si se comparten las bombas y/o el control de programación debe tenerse cuidado de garantizar que las líneas de datos y dirección del componente de memoria no volátil 606 que contienen el número oculto 614 estén direccionadas sólo hacia el bloque lógico personalizado 612. Esto ahorra área de chip y reduce el coste de chip. Por consiguiente, el microprocesador 602 no puede proporcionar información de control que puede llevar a un ataque sucesivo al componente de memoria protegido/dedicado 606 (es decir, el componente que contiene el número oculto 614). Puede preferirse compartir las bombas de carga para aliviar los requisitos de temporización y alta tensión de todo el chip dentro del CAM 512.
Hay muchas ventajas por utilizar un número de identificación oculto 614. Por ejemplo, el número de identificación oculto 614 puede resistir ataques externos sustanciales sin modificar inapropiadamente el contenido del componente de memoria no volátil 606 que contiene el número de identificación. Además, al impedir que el módulo de E/S de sistema 608, el bus de sistema 610, el microprocesador 602 o la unidad de control de acceso a la memoria acceda directamente al número de identificación oculto 614 contenido en un componente de memoria no volátil aislado 606, ya no es posible comprometer la seguridad de manera tradicionalmente exitosa.
Además, la integridad de información se mejora significativamente a través del aislamiento de su componente de almacenamiento del módulo de E/S de sistema 608, del bus de sistema 610 y/o del microprocesador 602. Proteger la integridad del número oculto 614 es importante porque impide/limita los ataques de clonación de bajo coste en los que se copia la identidad de una tarjeta pirata a una nueva tarjeta. Este ataque se limita a través del número de identificación oculto 614.
Puesto que el número de identificación oculto 614 sólo puede leerse por un bloque lógico personalizado 612 y no puede reprogramarse por el microprocesador 602, la identidad del CAM 512 no puede transferirse a un segundo CAM 512, impidiendo así un ataque de clonación exitoso de bajo coste. Por tanto, la identidad del dispositivo (es decir, el CAM 512) está protegida para su uso en operaciones con el CAM 512, el IRO 126 y la cabecera. Por ejemplo, el CAM 512 proporciona una unicidad no modificable (es decir, se almacena en una memoria protegida 614) que puede usarse para impedir la clonación del CAM 512 para obtener acceso no autorizado. Además, el CAM 512 puede proporcionar un IRO 126 para un emparejamiento y una lista negra no modificables, y puede proporcionar una cabecera que controla derechos de acceso y la lista negra. Un lista negra se utiliza para impedir que se usen/clonen CAM 512 con una identificación particular. Con una lista negra, la cabecera puede proporcionar una lista de tarjetas en lista negra/no autorizadas a un IRO 126. El IRO 126 se niega entonces a conceder derechos de acceso si el CAM 512 que se utiliza está en la lista negra. Por consiguiente pueden utilizarse CAM 512 identificados de manera unívoca con una identificación única que es sólo accesible a través de un bloque lógico personalizado 612 para impedir el acceso no autorizado y la clonación.
Impedir ataques de bajo coste obliga a que los atacantes usen ataques invasivos caros que no están disponibles para la vasta mayoría de piratas. Inhibir esta forma simple de ataque impide que intrusos usen ataques que requieren sólo un ordenador personal y un lector de tarjeta de 10$. En cambio se obliga a que los piratas utilicen ataques invasivos sofisticados, costosos y que requieren mucho tiempo en los que se modifica el hardware real. Adicionalmente, comprometer adicionalmente un dispositivo a través de un ataque invasivo interno no lleva a un ataque exitoso a través de un ataque externo de bajo coste.
La figura 7 es un diagrama de flujo que ilustra el uso del número de identificación oculto 614 para limitar el acceso no autorizado a servicios digitales según una o más realizaciones de la invención. En la etapa 700, el número de identificación oculto no modificable 614 se incrusta (por ejemplo, por un microprocesador 602 o un bloque lógico personalizado 612) en un componente de memoria no volátil 606. El número 614 identifica de manera unívoca un dispositivo (por ejemplo, CAM 512) que contiene el componente de memoria no volátil 606 (que contiene el número 614). Tal incrustación se produce tras fabricar el CAM 512. Tal como se describió anteriormente, el componente de memoria no volátil 606 se usa para contener información de estado para proporcionar la funcionalidad deseada y ejecutar una o más políticas de seguridad para acceder a servicios digitales.
En la etapa 702, el acceso al componente de memoria no volátil 606 está aislado de modo que el número de identificación 614 (y el componente de memoria no volátil que contiene el número oculto 614) está protegido contra modificación de modo que se lee sólo el componente de memoria no volátil 606. El componente de memoria 606 puede aislarse impidiendo que un módulo de E/S de sistema 608, un bus de sistema 610, un microprocesador 602 o un entorno externo acceda directamente al número de identificación 614. Por ejemplo, tal como se describió anteriormente, el número de identificación 614 puede incrustarse usando una memoria programable una sola vez que está protegida por un fusible de hardware que aísla el número de identificación 614 y el componente 606 del microprocesador 602 tras haberse escrito el número de identificación 614.
En la etapa 704, el número de identificación 614 se lee por un bloque lógico personalizado 612. El número de identificación 614 puede leerse para su uso en una función definida en el bloque lógico personalizado 612, en el que la función especifica una operación que va a realizarse usando el número de identificación 614. Por ejemplo, para activar o garantizar que un usuario está autorizado para recibir/usar servicios digitales de difusión, el número de identificación 614 puede leerse por el bloque lógico personalizado 612 conforme a una política de seguridad ejecutada por la memoria no volátil 606 dentro del CAM 512. Por tanto, el acceso a los servicios digitales se basa en derechos de acceso asociados con el número de identificación oculto no modificable 614. Por ejemplo, si el número oculto 614 existe en una lista negra (es decir, una lista de números no autorizados 614 tal como se describió anteriormente) puede rechazarse el acceso a los servicios digitales.
Por tanto, tal como se describe, el número de identificación 614 se incrusta en una memoria no volátil 606 (en la etapa 700) y la memoria no volátil 606 se aísla (ocultando así el acceso a y la modificación del número de identificación 614) (en la etapa 702). Una vez que el número de identificación 614 se ha incrustado en la memoria 606, la ta~eta mantiene una identidad no modificable que puede usarse entonces para ejecutar una política de seguridad (por ejemplo, leyendo la identificación 614 en la etapa 704) basándose en esa identidad única.
El uso de un número de identificación 614 de esta manera mejora significativamente la integridad de información a través del aislamiento del componente de almacenamiento de la información (por ejemplo, memoria no volátil 606) del módulo de E/S de sistema 608, del bus de sistema 610 y/o del microprocesador 602. También se reduce la manipulación de contenido almacenado a través de la conexión directa de una máquina de bloque lógico personalizado de estado fijo de sólo lectura 612. Por tanto puede escribirse información (por ejemplo, el número de identificación 614 u otra información) una vez y ocultarse del módulo de E/S de sistema 608, del bus de sistema 610, y/o del microprocesador 602. Además puede usarse el bloque lógico personalizado 612 para ocultar información de estos otros componentes.
Conclusión
Esto concluye la descripción de una o más realizaciones de la presente invención. Se ha presentado la descripción anterior de la invención para fines de ilustración y descripción. No se pretende que sea exhaustiva o que limite la invención a la forma precisa dada a conocer. Son posibles muchas modificaciones y variaciones a la luz de la enseñanza anterior. Por consiguiente, aunque la invención puede proteger la recepción de servicios de vídeo, audio, banda ancha y datos usando un microcircuito que reside en una tarjeta inteligente y un STB, la invención no se limita a aplicaciones de tarjeta inteligente o a un sistema de servicio digital particular.

Claims (3)

  1. REIVINDICACIONES
    1. Sistema para controlar el acceso a servicios digitales que comprende:
    (a) un centro de control (102) configurado para coordinar y proporcionar servicios digitales;
    (b) un centro de enlace ascendente (104) configurado para recibir los servicios digitales desde el centro de 5 control (102) Y transmitir los servicios digitales a un satélite (108);
    (c) el satélite (108) configurado para:
    (i)
    recibir los servicios digitales desde el centro de enlace ascendente (104);
    (ii)
    procesar los servicios digitales; y
    (iii) transmitir los servicios digitales a una estación receptora de abonado (110);
    10 (d) la estación receptora de abonado (110) configurada para:
    (i)
    recibir los servicios digitales desde el satélite (108);
    (ii)
    controlar el acceso a los servicios digitales a través de un receptor/decodificador integrado (lRO) (126);
    (e) un módulo de acceso condicional (CAM) (512) acoplado en comunicación al IRO (126), en el que el 15 CAM (512) comprende:
    (i) un componente de memoria no volátil protegido (606), caracterizado porque:
    (1) el componente de memoria no volátil protegido (606) está adaptado para contener información de estado para ejecutar una o más políticas de seguridad para acceder a los servicios digitales; y
    20 (2) el componente de memoria no volátil protegido (606) está protegido contra modificación de modo que el componente de memoria no volátil (606) es sólo de lectura; y
    (3) el acceso al componente de memoria no volátil protegido (606) está aislado;
    (ii) un componente de memoria no volátil de un microprocesador en el que el componente de memoria
    no volátil del microprocesador y el componente de memoria no volátil protegido usan intervalos de 25 dirección física y lógica que son los mismos;
    (iii) un número de identificación oculto no modificable (614) incrustado en el componente de memoria no volátil protegido (606), en el que el número de identificación (614) identifica de manera unívoca el CAM (512), no pudiendo leerse el número de identificación oculto no modificable desde ninguno del microprocesador, un módulo de E/S de sistema, un bus de sistema y una unidad de control de acceso
    30 a la memoria del CAM; y en el que el acceso a dichos servicios digitales se basa en derechos de acceso asociados con el número de identificación oculto no modificable; y
    (iv) un bloque lógico personalizado de estado fijo (612), en el que el componente de memoria no volátil protegido (606) no es accesible mediante el bus de sistema (610) y el acceso al componente de memoria no volátil protegido (606) está limitado al bloque lógico personalizado (612), yen el que las
    35 líneas de datos y dirección del componente de memoria no volátil protegido están direccionadas sólo hacia el bloque lógico personalizado de estado fijo; estando adaptadO el bloque lógico personalizado para leer el número de identificación oculto no modificable para realizar una operación usando el número de identificación oculto no modificable, incluyendo dicha operación dicho acceso a dichos servicios digitales.
    40 2. Sistema según la reivindicación 1, en el que el componente de memoria no volátil (606) está aislado de modo que se impide que un módulo de entrada/salida de sistema (608), un microprocesador (602) o un entorno externo acceda directamente al número de identificación (614).
  2. 3. Sistema según la reivindicación 1, en el que se permite al bloque lógico personalizado (612) leer el número de identificación (614).
    45 4. Sistema según la reivindicación 1, que comprende además una memoria programable una sola vez protegida por un fusible de hardware que aísla el número de identificación (614) del microprocesador (602) tras haberse escrito el número de identificación (614).
  3. 5. Método para limitar el acceso no autorizado a servicios digitales que comprende:
    11
    (a) incrustar un número de identificación oculto no modificable (614) en un componente de memoria no volátil protegido (606), en el que:
    (i) el componente de memoria no volátil protegido (606) se usa para contener información de estado para ejecutar una o más políticas de seguridad para acceder a los servicios digitales;
    5 (ii) el número de identificación oculto no modificable (614) identifica de manera unívoca un dispositivo que contiene el componente de memoria no volátil protegido (606), no pudiendo leerse el número de identificación oculto no modificable desde ninguno del microprocesador, un módulo de E/S de sistema, un bus de sistema y una unidad de control de acceso a la memoria del CAM; y en el que el acceso a dichos servicios digitales se basa en derechos de acceso asociados con el número de identificación
    10 oculto no modificable; y
    (b) aislar el acceso al componente de memoria no volátil protegido (606), en el que:
    (i) el acceso al componente de memoria no volátil protegido (606) está limitado a un bloque lógico personalizado de estado fijo (612), estando adaptado el bloque lógico personalizado para leer el número de identificación oculto no modificable para realizar una operación usando el número de
    15 identificación oculto no modificable, incluyendo dicha operación dicho acceso a dichos servicios digitales;
    (ii) el componente de memoria no volátil protegido (606) está protegido de modo que el componente de memoria no volátil (606) es sólo de lectura;
    (iii) el componente de memoria no volátil protegido (606) no es accesible mediante el bus de sistema;
    20 (iv) las líneas de datos y dirección del componente de memoria no volátil protegido están direccionadas sólo hacia el bloque lógico personalizado de estado fijo; y
    (v) el componente de memoria no volátil de un microprocesador y el componente de memoria no volátil protegido usan intervalos de dirección física y lógica que son los mismos.
    12
ES03004319.4T 2002-02-28 2003-02-27 Identificación oculta Expired - Lifetime ES2479790T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/085,346 US7457967B2 (en) 2002-02-28 2002-02-28 Hidden identification
US85346 2002-02-28

Publications (1)

Publication Number Publication Date
ES2479790T3 true ES2479790T3 (es) 2014-07-24

Family

ID=27753608

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03004319.4T Expired - Lifetime ES2479790T3 (es) 2002-02-28 2003-02-27 Identificación oculta

Country Status (4)

Country Link
US (2) US7457967B2 (es)
EP (1) EP1345436B1 (es)
ES (1) ES2479790T3 (es)
IL (1) IL154656A (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373666B2 (en) * 2002-07-01 2008-05-13 Microsoft Corporation Distributed threat management
US8087058B2 (en) 2004-01-19 2011-12-27 Comcast Cable Holdings, Llc HDTV subscriber verification
FR2866772B1 (fr) * 2004-02-20 2006-04-28 Viaccess Sa Procede d'appariement d'un terminal recepteur avec une pluralite de cartes de controle d'acces
US8761394B2 (en) * 2006-12-28 2014-06-24 Echostar Technologies L.L.C. System and method for secure broadcast communication
US8677144B2 (en) * 2008-02-25 2014-03-18 Cavium, Inc. Secure software and hardware association technique
US8484486B2 (en) * 2008-08-06 2013-07-09 Silver Spring Networks, Inc. Integrated cryptographic security module for a network node
US9414031B2 (en) * 2008-11-26 2016-08-09 Echostar Technologies L.L.C. Account-specific encryption key
US8321926B1 (en) * 2008-12-02 2012-11-27 Lockheed Martin Corporation System and method of protecting a system that includes unprotected computer devices
WO2011097482A1 (en) * 2010-02-05 2011-08-11 Maxlinear, Inc. Conditional access integration in a soc for mobile tv applications
WO2011100559A1 (en) * 2010-02-11 2011-08-18 Maxlinear, Inc. Ram based security element for embedded applications
US9177152B2 (en) 2010-03-26 2015-11-03 Maxlinear, Inc. Firmware authentication and deciphering for secure TV receiver
US8935520B2 (en) 2010-03-30 2015-01-13 Maxlinear, Inc. Control word obfuscation in secure TV receiver
US8892855B2 (en) 2010-08-10 2014-11-18 Maxlinear, Inc. Encryption keys distribution for conditional access software in TV receiver SOC
KR101305639B1 (ko) * 2010-09-10 2013-09-16 삼성전자주식회사 복제 방지를 위한 비휘발성 저장 장치 및 그 저장 장치의 인증 방법
US9355426B2 (en) 2011-01-26 2016-05-31 Dennis R. Flaharty Hardware-enforced, always-on insertion of a watermark in a video processing path
US8843764B2 (en) 2011-07-15 2014-09-23 Cavium, Inc. Secure software and hardware association technique
US9171178B1 (en) * 2012-05-14 2015-10-27 Symantec Corporation Systems and methods for optimizing security controls for virtual data centers
CN103701339B (zh) * 2012-09-27 2016-05-25 鸿富锦精密工业(深圳)有限公司 电源控制装置及控制方法
US9053419B2 (en) * 2013-03-14 2015-06-09 The Directv Group, Inc. Method and system for recording recommended content using clustering
US10148375B2 (en) 2013-03-14 2018-12-04 The Directv Group, Inc. Method and system for displaying recommended content such as movies associated with a cluster
FR3006845B1 (fr) * 2013-06-10 2015-07-03 Viaccess Sa Procede d'identification de terminal dans un systeme de fourniture de contenus multimedia
US9680798B2 (en) 2014-04-11 2017-06-13 Nant Holdings Ip, Llc Fabric-based anonymity management, systems and methods
US10917250B2 (en) * 2017-05-16 2021-02-09 Mercury Systems, Inc. Challenge/response system
US11716426B2 (en) * 2020-06-21 2023-08-01 Apple Inc. Techniques for implementing phone number-based user accounts with permissions to access varying levels of services utilizing visible and hidden contact addresses

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4580161A (en) 1982-11-22 1986-04-01 Pico Products, Inc. Cable television subscriber control system including addressable filters having a variable pole
JPS59121537A (ja) * 1982-12-28 1984-07-13 Nec Corp ビツトパタ−ン照合回路
US4890319A (en) 1984-09-21 1989-12-26 Scientific-Atlantic, Inc. Method for controlling copying of protected information transmitted over a communications link
US4908834A (en) 1984-10-12 1990-03-13 Wiedemer John D High security pay television system
US4748668A (en) * 1986-07-09 1988-05-31 Yeda Research And Development Company Limited Method, apparatus and article for identification and signature
US4792972A (en) 1986-08-19 1988-12-20 Scientific-Atlanta, Inc. Remote programming of CATV channel authorization unit
US5282249A (en) * 1989-11-14 1994-01-25 Michael Cohen System for controlling access to broadcast transmissions
US5237610A (en) 1990-02-01 1993-08-17 Scientific-Atlanta, Inc. Independent external security module for a digitally upgradeable television signal decoder
US5331412A (en) 1990-11-27 1994-07-19 Scientific-Atlanta, Inc. Tamper resistant apparatus for a CATV system
TW231343B (es) 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US5222141A (en) 1992-03-25 1993-06-22 Motorola, Inc. Apparatus and method for encoding data
US5349193A (en) * 1993-05-20 1994-09-20 Princeton Gamma Tech, Inc. Highly sensitive nuclear spectrometer apparatus and method
US6157719A (en) 1995-04-03 2000-12-05 Scientific-Atlanta, Inc. Conditional access system
US6035037A (en) 1995-08-04 2000-03-07 Thomson Electronic Consumers, Inc. System for processing a video signal via series-connected high speed signal processing smart cards
US5781226A (en) 1995-11-13 1998-07-14 General Instrument Corporation Of Delaware Network virtual memory for a cable television settop terminal
HRP970160A2 (en) * 1996-04-03 1998-02-28 Digco B V Method for providing a secure communication between two devices and application of this method
FR2750554B1 (fr) 1996-06-28 1998-08-14 Thomson Multimedia Sa Systeme a acces conditionnel et carte a puce permettant un tel acces
US5867644A (en) 1996-09-10 1999-02-02 Hewlett Packard Company System and method for on-chip debug support and performance monitoring in a microprocessor
US5911778A (en) 1996-12-31 1999-06-15 Sun Microsystems, Inc. Processing system security
JPH1165936A (ja) * 1997-06-12 1999-03-09 Oki Micro Design Miyazaki:Kk メモリ装置
US5886730A (en) 1997-08-14 1999-03-23 Tsosie; Harold Security system for disabling an electronic device
DE19753933A1 (de) 1997-12-05 1999-06-10 Cit Alcatel Zugangskontrolleinrichtung für ein Service-on-demand System
US6069647A (en) 1998-01-29 2000-05-30 Intel Corporation Conditional access and content security method
US6154819A (en) 1998-05-11 2000-11-28 Intel Corporation Apparatus and method using volatile lock and lock-down registers and for protecting memory blocks
JP4079507B2 (ja) 1998-05-12 2008-04-23 富士通株式会社 メモリ制御システムおよびメモリ制御方法
EP0971361B1 (en) 1998-06-23 2003-12-10 SanDisk Corporation High data rate write process for non-volatile flash memories
EP0984403A1 (en) 1998-09-01 2000-03-08 Mindport B.V. Security system
US6853385B1 (en) 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US6618789B1 (en) 1999-04-07 2003-09-09 Sony Corporation Security memory card compatible with secure and non-secure data processing systems
US6577229B1 (en) 1999-06-10 2003-06-10 Cubic Corporation Multiple protocol smart card communication device
KR100721078B1 (ko) * 1999-07-06 2007-05-22 소니 가부시끼 가이샤 데이터 처리 장치, 데이터 제공 시스템, 및 데이터 제공 방법
JP4423711B2 (ja) 1999-08-05 2010-03-03 ソニー株式会社 半導体記憶装置及び半導体記憶装置の動作設定方法
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
JP4348790B2 (ja) 1999-09-20 2009-10-21 ソニー株式会社 半導体記憶装置及び半導体記憶装置の動作設定方法
US6278633B1 (en) * 1999-11-05 2001-08-21 Multi Level Memory Technology High bandwidth flash memory that selects programming parameters according to measurements of previous programming operations
US7444368B1 (en) * 2000-02-29 2008-10-28 Microsoft Corporation Methods and systems for selecting methodology for authenticating computer systems on a per computer system or per user basis
US20030158960A1 (en) * 2000-05-22 2003-08-21 Engberg Stephan J. System and method for establishing a privacy communication path
JP2001357377A (ja) * 2000-06-15 2001-12-26 Hitachi Ltd シート状媒体,真贋判定方法,真贋判定装置及び証明書発行機
IL137296A (en) 2000-07-13 2009-09-01 Nds Ltd Configurable hardware system
US7203311B1 (en) 2000-07-21 2007-04-10 The Directv Group, Inc. Super encrypted storage and retrieval of media programs in a hard-paired receiver and storage device
US20020073428A1 (en) 2000-09-06 2002-06-13 Leonid Gurevich Downloading and transfer of audio or video data from video broadcasts
US6608792B2 (en) * 2000-11-09 2003-08-19 Texas Instruments Incorporated Method and apparatus for storing data in an integrated circuit
US20030023512A1 (en) * 2001-04-06 2003-01-30 Phil Festa Interactive on-line catalog
FR2824648B1 (fr) 2001-05-14 2003-08-08 Gemplus Card Int Procede de protection d'un circuit logique contre des attaques exterieures, et unite logique contenant un circuit logique a proteger contre des attaques exterieures
US7139398B2 (en) 2001-06-06 2006-11-21 Sony Corporation Time division partial encryption
US20030046200A1 (en) * 2001-08-31 2003-03-06 Vora Poorvi L. Anonymous recommendation technique with variable degrees of privacy and accuracy
US7840806B2 (en) * 2002-10-16 2010-11-23 Enterprise Information Management, Inc. System and method of non-centralized zero knowledge authentication for a computer network
US20050066355A1 (en) * 2003-09-19 2005-03-24 International Business Machines Corporation System and method for satellite broadcasting and receiving encrypted television data signals
US7644424B2 (en) * 2004-06-15 2010-01-05 Sony Corporation Location detector for digital cable television appliances
US8406426B2 (en) * 2005-12-22 2013-03-26 General Instrument Corporation Method and apparatus for storing and retrieving encrypted programming content such that it is accessible to authorized users from multiple set top boxes

Also Published As

Publication number Publication date
EP1345436A2 (en) 2003-09-17
US7457967B2 (en) 2008-11-25
US20080016349A1 (en) 2008-01-17
EP1345436A3 (en) 2004-01-02
IL154656A0 (en) 2003-09-17
IL154656A (en) 2012-10-31
US20030163706A1 (en) 2003-08-28
US8583922B2 (en) 2013-11-12
EP1345436B1 (en) 2014-06-25

Similar Documents

Publication Publication Date Title
ES2479790T3 (es) Identificación oculta
US7275163B2 (en) Asynchronous configuration
US10277935B2 (en) Method and apparatus for hardware-enforced, always-on insertion of a watermark in a video processing path
US8800059B2 (en) System and method for processing and protecting content
ES2251102T3 (es) Telecarga de aplicaciones con un descodificador digital.
ES2439230T3 (es) Unidad de tratamiento de datos de audio/vídeo digitales y método de control de acceso a dichos datos
US7797552B2 (en) Method and apparatus for controlling paired operation of a conditional access module and an integrated receiver and decoder
US7548624B2 (en) Distribution of broadcast content for remote decryption and viewing
US9479825B2 (en) Terminal based on conditional access technology
US7835522B2 (en) Embedded blacklisting for digital broadcast system security
JP2009089430A (ja) 条件付きアクセスシステム
US20050152545A1 (en) Conditional access control
ES2250526T3 (es) Devolucion de llamada de proveedor de servicios de internet para sistemas de satelite.
US8918612B1 (en) Method and apparatus for verifying memory contents
US7530108B1 (en) Multiprocessor conditional access module and method for using the same
ES2234693T3 (es) Metodo y sistema para añadir un sistema de acceso condicional.
US7437571B1 (en) Dedicated nonvolatile memory
US7475259B1 (en) Multiple nonvolatile memories