ES2442630T3 - Procedimiento de actualización de un procesador de seguridad, sistema, programa de ordenador y procesador de seguridad correspondientes - Google Patents
Procedimiento de actualización de un procesador de seguridad, sistema, programa de ordenador y procesador de seguridad correspondientes Download PDFInfo
- Publication number
- ES2442630T3 ES2442630T3 ES10812872.9T ES10812872T ES2442630T3 ES 2442630 T3 ES2442630 T3 ES 2442630T3 ES 10812872 T ES10812872 T ES 10812872T ES 2442630 T3 ES2442630 T3 ES 2442630T3
- Authority
- ES
- Spain
- Prior art keywords
- module
- blocks
- security processor
- messages
- code
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/86—Arrangements characterised by the broadcast information itself
- H04H20/91—Arrangements characterised by the broadcast information itself broadcasting computer programmes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/09—Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
- H04H60/14—Arrangements for conditional access to broadcast information or to broadcast-related services
- H04H60/15—Arrangements for conditional access to broadcast information or to broadcast-related services on receiving information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/09—Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
- H04H60/14—Arrangements for conditional access to broadcast information or to broadcast-related services
- H04H60/23—Arrangements for conditional access to broadcast information or to broadcast-related services using cryptography, e.g. encryption, authentication, key distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26291—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/418—External card to be used in combination with the client device, e.g. for conditional access
- H04N21/4181—External card to be used in combination with the client device, e.g. for conditional access for conditional access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
- H04N21/4586—Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management e.g. creating a master electronic programme guide from data received from the Internet and a Head-end or controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4623—Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/654—Transmission by server directed to the client
- H04N21/6543—Transmission by server directed to the client for forcing some client operations, e.g. recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Procedimiento de actualización de un procesador de seguridad (16) para un decodificador (14) apropiado pararecibir y desaleatorizar una señal multimedia aleatorizada, siendo dicha señal multimedia difundida por una cabecerade red (6) y comprendiendo dicho procesador (16) una memoria (18) que contiene un código de una aplicación que,cuando es ejecutado o interpretado por un microprocesador, permite ejecutar un conjunto de operaciones necesariaspara la desaleatorización de la señal multimedia aleatorizada, comprendiendo dicho procedimiento una etapa dedescarga de por lo menos un módulo del código a partir de la cabecera de red (6), caracterizado porque la etapa dedescarga del módulo comprende las subetapas de: - cifrado (32), por parte de la cabecera de red (6), del módulo con la ayuda de una clave y de un algoritmo decifrado apropiados para dicho módulo; - segmentación (34, 64), por parte de la cabecera de red (6), del módulo en una pluralidad de bloques detamaño apropiado para dicho módulo, extraído de un conjunto memorizado de propiedades (66) propias dedicho módulo; - integración (34, 64), por parte de la cabecera de red (6), de cada uno de los bloques del módulo en unmensaje específico; - difusión (36), por parte de la cabecera de red (6) hacia el decodificador (14), de cada uno de estos mensajes; - recepción (38, 70) de estos mensajes por el decodificador (14); - extracción (42, 72), por parte del procesador de seguridad (16) del decodificador (14), de los bloques delmódulo a partir de estos mensajes; - descifrado (42, 82), por parte del procesador de seguridad (16), de los bloques del módulo; - almacenamiento (44, 82), por parte del procesador de seguridad (16), de los bloques del módulo en unespacio de la memoria (18) dedicado a dicho módulo; y - obtención, a partir de estos bloques, de un módulo de código actualizado.
Description
Procedimiento de actualización de un procesador de seguridad, sistema, programa de ordenador y procesador de seguridad correspondientes.
La presente invención se refiere a un procedimiento de actualización de un procesador de seguridad.
Se refiere asimismo a un sistema de actualización, a un programa de ordenador y a un procesador de seguridad correspondientes.
La invención se aplica en particular a la actualización de un procesador de seguridad para un decodificador apropiado para recibir y desaleatorizar una señal multimedia aleatorizada, siendo difundida dicha señal multimedia por una cabecera de red y comprendiendo dicho procesador una memoria que contiene un código de una aplicación que, cuando es ejecutado o interpretado por un microprocesador, permite ejecutar un conjunto de operaciones necesarias para la desaleatorización de la señal multimedia aleatorizada, comprendiendo dicho procedimiento una etapa de descarga de por lo menos un módulo del código a partir de la cabecera de red.
Un decodificador del tipo citado previamente forma parte de un sistema de acceso condicional tal como el dado a conocer en el documento “Functional model of a conditional access system”, EBU Project Group B/CA, Winter 1995.
La invención se aplica en particular al campo de la televisión de pago. En este contexto, el decodificador dotado del procesador de seguridad constituido, a título de ejemplo, por una tarjeta chip, se encuentra en la vivienda de los clientes y su vida útil sobre el terreno supera generalmente los cinco años.
Ante las necesidades de corrección y/o de evolución, es necesario disponer de un procedimiento de actualización del procesador de seguridad en la vivienda del cliente sin intervención alguna por parte de este último, descargando en el procesador de seguridad las partes del código que requieren una actualización.
Los procedimientos convencionales de descarga de código de microprocesador son de dos tipos.
El primer tipo de descarga condicional consiste en efectuar la descarga gracias a un mecanismo dentro de la aplicación del procesador de seguridad, que permite descargar un código suplementario y reencaminar ciertas funciones del código existente hacia el código descargado.
Este primer tipo de descarga plantea problemas de seguridad. En efecto, es posible reencaminar la totalidad de las funciones del código existente hacia un código sustitutivo nuevo y descargar un código nuevo que permite volcar al contenido de las memorias. Además, si el mecanismo de descarga presenta un error informático o un fallo de seguridad, el conjunto del código del procesador de seguridad queda expuesto a ataques.
El segundo tipo de descarga convencional consiste en utilizar un mecanismo dentro del sistema operativo del procesador de seguridad para sustituir la totalidad del código existente por un código sustitutivo nuevo. También en esta circunstancia, en caso de error informático o de fallo de seguridad del mecanismo, el conjunto del código del procesador de seguridad queda expuesto a ataques.
El documento WO 2004/051983 describe un procedimiento de protección de las actualizaciones del código de un procesador de seguridad del tipo citado previamente al descargar por lo menos un módulo del código cifrado con la ayuda de una clave pública que se invalida después de la actualización.
Este procedimiento presenta el inconveniente, durante el agotamiento de las claves públicas almacenadas, de necesitar una actualización de por lo menos una nueva clave pública de cifrado, lo cual introduce así un potencial fallo de seguridad a nivel de la descarga de esta clave.
El objetivo de la invención es por lo tanto resolver estos problemas.
Con este fin, la invención tiene por objeto, un procedimiento de actualización de un procesador de seguridad para un decodificador apropiado para recibir y desaleatorizar una señal multimedia aleatorizada, siendo difundida dicha señal multimedia por una cabecera de red y comprendiendo dicho procesador una memoria que contiene un código de una aplicación que, cuando es ejecutado o interpretado por un microprocesador, permite ejecutar un conjunto de operaciones necesarias para la desaleatorización de la señal multimedia aleatorizada, comprendiendo dicho procedimiento una etapa de descarga de por lo menos un módulo del código a partir de la cabecera de red, caracterizado porque la etapa de descarga del módulo comprende las subetapas de:
- -
- cifrado, por parte de la cabecera de red, del módulo con la ayuda de una clave y de un algoritmo de cifrado apropiados para dicho módulo;
- -
- segmentación, por parte de la cabecera de red, del módulo en una pluralidad de bloques de tamaño apropiado para dicho módulo;
- -
- integración, por parte de la cabecera de red, de cada uno de los bloques del módulo en un mensaje
específico;
5
- -
- difusión, por parte de la cabecera de red hacia el decodificador, de cada uno de estos mensajes;
- -
- recepción de estos mensajes por el decodificador;
10 - extracción, por parte del procesador de seguridad del decodificador, de los bloques del módulo a partir de estos mensajes;
- -
- descifrado, por parte del procesador de seguridad, de los bloques del módulo;
15 - almacenamiento, por parte del procesador de seguridad, de los bloques del módulo en un espacio de la memoria dedicado a dicho módulo; y
- -
- obtención a partir de estos bloques de un módulo de código actualizado.
20 Según modos particulares de realización, el procedimiento comprende una o varias de las siguientes características, considerada(s) de forma aislada o según todas las combinaciones técnicamente posibles:
- -
- la etapa de descarga de módulo comprende además las subetapas de:
25 - cifrado, por parte de la cabecera de red, de los mensajes que contienen los bloques del módulo con la ayuda de claves de transporte apropiadas para el módulo; y
- -
- descifrado, por parte del procesador de seguridad, de los mensajes que contienen los bloques del
módulo. 30
- -
- los mensajes que contienen los bloques del módulo se seleccionan de tipo ECM (“Entitlement Control Message”) y/o EMM (“Entitlement Management Message”) según una elección apropiada para el módulo.
- -
- comprende además una etapa de activación, por parte del procesador de seguridad, del módulo descargado 35 almacenado en la memoria.
- -
- la etapa de activación del módulo descargado es activada por el procesador de seguridad automáticamente o como consecuencia de la recepción de una orden de activación emitida desde el decodificador o desde la cabecera de red.
- -
- el módulo se desarrolla y compila en un lenguaje y con la ayuda de un compilador apropiados para el módulo.
La invención tiene también por objeto un sistema de actualización de un procesador de seguridad para un decodificador apropiado para recibir y desaleatorizar una señal multimedia aleatorizada, siendo difundida dicha señal
45 multimedia por una cabecera de red y comprendiendo dicho procesador una memoria que contiene un código de una aplicación que, cuando es ejecutado o interpretado por un microprocesador, permite ejecutar un conjunto de operaciones necesarias para la desaleatorización de la señal multimedia aleatorizada, comprendiendo dicho sistema unos medios de descarga de por lo menos un módulo del código a partir de la cabecera de red, caracterizado porque los medios de descarga del módulo comprenden:
50 a nivel de la cabecera de red:
- -
- unos medios de cifrado del módulo con la ayuda de una clave y de un algoritmo de cifrado apropiados para
dicho módulo; 55
- -
- unos medios de segmentación del módulo en una pluralidad de bloques de tamaño apropiado para dicho módulo;
- -
- unos medios de integración de cada uno de los bloques del módulo en un mensajes específico; y 60
- -
- unos medios de difusión hacia el decodificador de cada uno de estos mensajes
- -
- unos medios de extracción de los bloques del módulo a partir de estos mensajes;
- -
- unos medios de descifrado de los bloques del módulo;
a nivel del decodificador, unos medios de recepción de estos mensajes; y
65 a nivel del procesador de seguridad:
5 -unos medios de almacenamiento de los bloques del módulo en un espacio de la memoria dedicado a dicho módulo; y
- -
- unos medios de obtención, a partir de estos bloques, de un módulo de código actualizado.
10 La invención tiene todavía por objeto un programa de ordenador que comprende instrucciones de código, que, cuando este programa es ejecutado en un ordenador, permiten poner en práctica el procedimiento de actualización de un procesador de seguridad.
Según modos particulares de realización, el programa de ordenador comprende una o varias de las siguientes 15 características considerada(s) de forma aislada o según todas las combinaciones técnicamente posibles:
- -
- comprende un subprograma ejecutado por una cabecera de red para permitir poner en práctica las subetapas de la etapa de descarga del módulo que consisten en:
20 -cifrar el módulo con la ayuda de una clave y de un algoritmo de cifrado apropiados para dicho módulo;
- -
- segmentar el módulo en una pluralidad de bloques de tamaño apropiado para dicho módulo;
- -
- integrar cada uno de los bloques del módulo en un mensaje específico; y 25
- -
- difundir hacia el decodificador cada uno de estos mensajes.
- -
- comprende un subprograma ejecutado o interpretado por un procesador de seguridad para permitir poner en
práctica las subetapas de la etapa de descarga del módulo que consisten en: 30
- -
- extraer los bloques del módulo a partir de estos mensajes;
- -
- descifrar los bloques del módulo; 35 -almacenar los bloques del módulo en un espacio de la memoria dedicado a dicho módulo; y -obtener, a partir de estos bloques, un módulo de código actualizado. La invención tiene también por objeto un procesador de seguridad, caracterizado porque es apto para ejecutar o
40 para interpretar el código de un subprograma con el fin de permitir poner en práctica las subetapas de la etapa de descarga del módulo que consisten en:
- -
- extraer los bloques del módulo a partir de estos mensajes; 45 -descifrar los bloques del módulo;
- -
- almacenar los bloques del módulo en un espacio de la memoria dedicado a dicho módulo; y
- -
- obtener, a partir de estos bloques, un módulo de código actualizado.
50 Así, la invención permite remediar los inconvenientes antes citados de los procedimientos del estado de la técnica al proponer un mecanismo de descarga del código de un procesador de seguridad que dispone de elementos diferenciadores predefinidos para cada etapa de la descarga en función del módulo de código a descargar.
55 La invención se comprenderá mejor al leer la descripción que se ofrece seguidamente, proporcionada únicamente a título de ejemplo y realizada en referencia a los dibujos adjuntos en los cuales:
- -
- la figura 1 es un esquema sinóptico que ilustra la estructura de un sistema de acceso condicional
convencional en el cual se pone en práctica la invención; 60
- -
- la figura 2 es un organigrama que ilustra el funcionamiento del procedimiento de actualización de un procesador de seguridad según la invención;
- -
- la figura 3 es un organigrama que ilustra las etapas del procedimiento de actualización referentes a la 65 generación de los mensajes de actualización del código del procesador de seguridad; y
- -
- la figura 4 es un organigrama que ilustra las etapas del procedimiento de actualización puestas en práctica por el procesador de seguridad del decodificador del sistema de acceso condicional.
La figura 1 representa la estructura de un sistema de acceso condicional 2 que permite la transmisión de señales multimedia aleatorizadas. Estas señales multimedia son, por ejemplo, señales audiovisuales que se corresponden con programas audiovisuales de cadenas de televisión generados por lo menos por un operador 4.
El sistema 2 comprende una cabecera de red 6 que comprende unos medios de multiplexado y de aleatorización 8 adaptados para aleatorizar las señales multimedia 4 que a continuación son transmitidas por la cabecera de red 6 hacia un número elevado de receptores por medio de una red 10 de transmisión de datos, por ejemplo una red inalámbrica o una red por cable.
Para simplificar la figura 1, se representa solamente un receptor 12.
El receptor 12 comprende un decodificador 14 apropiado para recibir y desaleatorizar las señales multimedia aleatorizadas, transmitidas desde la cabecera de red 6.
El decodificador 14 comprende un procesador de seguridad 16, por ejemplo una tarjeta chip, que comprende una memoria 18 que contiene un código de una aplicación que permite ejecutar un conjunto de operaciones necesarias para la desaleatorización de la señal multimedia aleatorizada. El código de esta aplicación comprende típicamente varios módulos de código que se corresponden con agrupamientos de subprogramas o funciones diferentes. Estos subprogramas o funciones pueden tener una naturaleza diversa, y son por ejemplo algoritmos de cifrado o de verificación de autenticación, analizadores léxicos de mensajes a procesar, y módulos de registro de títulos de acceso. La segmentación de la aplicación de módulos de códigos predefinidos se realiza según el arbitraje del arquitecto del software durante la fase de diseño.
Además, el sistema 2 de acceso condicional comprende unos medios de generación de mensajes de acceso condicional 20 de tipo ECM (“Entitlement Control Message”) y EMM (“Entitlement Management Message”).
Los medios de multiplexado y de aleatorización 8 de la cabecera de red 6 permiten multiplexar estos mensajes de acceso condicional con las señales multimedia aleatorizadas en un mismo paquete de datos.
La figura 2 ilustra el funcionamiento del procedimiento de actualización del procesador de seguridad 16 del decodificador 14 según la invención.
El procedimiento de actualización comienza con una etapa 30 de identificación del módulo o de los módulos de código que se deben descargar como sustitutivos de un módulo o de módulos existentes con el fin de efectuar la actualización del procesador de seguridad. Esta etapa 30 permite activar las etapas siguientes de descarga del módulo o de los módulos identificados.
En 32, la cabecera de red 6 lleva a cabo un formateo del módulo o de los módulos a descargar según un formato apropiado (por ejemplo, valores hexadecimales del código binario codificado en ASCII, balizas que marcan el inicio o el final del bloque de código, número de líneas, presencia de retorno de línea...) para cada módulo. En el transcurso de esta etapa 32, la cabecera de red 6 cifra el módulo o los módulos con la ayuda de una clave y de un algoritmo de cifrado apropiados para cada módulo. Así, al final de la etapa 32, los módulos a descargar quedan protegidos en cuanto a integridad y/o en cuanto a confidencialidad.
En 34, la cabecera de red 6 segmenta cada uno de los módulos a descargar en bloques de tamaño apropiado para dicho módulo e integra cada uno de los bloques en un mensaje específico de tipo EMM o ECM, pudiendo aceptar cada módulo un tipo de mensaje y no pudiendo aceptar el otro o bien pudiendo aceptar los dos tipos de mensajes.
Así, gracias a la asociación de un tamaño de bloque apropiado para cada módulo, un bloque de un módulo dado no es utilizable para otro módulo.
También en 34, la cabecera de red 6 codifica los encabezamientos de todos los mensajes que comprenden los bloques de datos de un módulo dado según una codificación apropiada para dicho módulo. Esta codificación permite indicar la acción a realizar por el procesador de seguridad 16.
Según un modo de realización preferido de la invención, la cabecera de red 6 cifra los mensajes que contienen los bloques de cada módulo con la ayuda de claves de transporte apropiadas para el módulo.
En 36, la cabecera de red 6 difunde, a través de la red 10, los mensajes que contienen los bloques de los módulos a descargar en un flujo de transporte de tipo MPEG 2 (MPEG2-TS) por ejemplo. Para ello, la cabecera de red 6 envía los mensajes de cada módulo a descargar a todos los abonados o a un grupo de abonados determinados o a un solo abonado según reglas de direccionamiento apropiadas para cada módulo. Por ejemplo, un módulo poco sensible puede tener una difusión global mientras que un módulo crítico puede tener una difusión muy dirigida.
En 38, el decodificador 14 recibe el flujo de transporte MPEG 2 que comprende las señales multimedia y los mensajes EMM y/o ECM aleatorizados.
En 40 extrae los mensajes que contienen los bloques de los módulos a descargar. Se prevén dos modos de tratamiento de estos mensajes por parte del decodificador 14. Según el primer modo, el decodificador 14 almacena todos los mensajes que contienen todos los bloques de los módulos a descargar, y los transmite a continuación de una sola vez al procesador de seguridad 16. De acuerdo con el segundo modo, el decodificador 14 transmite al procesador de seguridad 16 los mensajes en cuanto se produzca la recepción. Según la invención, cada módulo de código está asociado a un tratamiento específico, de entre los dos tratamientos, por parte del decodificador 14.
En 42, el procesador de seguridad 16 verifica y descifra los mensajes que contienen los bloques de cada módulo con la ayuda de las propiedades asociadas a dicho módulo. Extrae los bloques del módulo a partir de estos mensajes. A continuación, descifra y verifica la integridad de todos los bloques.
En 44, el procesador de seguridad 16 almacena los bloques de cada uno de los módulos descargados en espacios de la memoria 18 apropiados para cada módulo. Durante el almacenamiento, cada módulo puede disponer además de su propio formato de almacenamiento.
Preferentemente, la integridad de los módulos almacenados está protegida con el fin de garantizar que los mismos no se corromperán durante su ejecución.
Según un modo de realización de la invención, cada módulo dispone de su propia clave y de su propio algoritmo de integridad y procede a verificaciones de integridad en momentos diferentes, por ejemplo, durante un acceso, durante una lectura, durante una ejecución, durante un control, durante una reinicialización, etc.
Además, cada módulo almacenado está protegido preferentemente en cuanto al acceso con el fin de que ningún otro módulo pueda llegar a ejecutarlo sin autorización. Según la invención, cada módulo dispone preferentemente de sus propias reglas de acceso utilizando técnicas de protección convencionales de tipo cortafuegos (“firewall”) o de una protección por medio de MPU/MMU (“Memory Protection Unit/Memory Management Unit”).
En 46, el procesador de seguridad 16 activa los módulos de código descargados, almacenados en la memoria 18, automáticamente o como consecuencia de la recepción de una orden de activación emitida desde el decodificador 14 o desde la cabecera de red 6. Según la invención, cada módulo dispone preferentemente de sus propias reglas de activación.
La figura 3 detalla las etapas que permiten generar los mensajes de actualización del código del procesador de seguridad 16. El código del procesador de seguridad 16 se segmenta en un número determinado N de módulos, constituyendo los N módulos la totalidad del código. En 50, se toma una decisión de actualizar el código del procesador de seguridad 16 con el fin de hacerlo evolucionar o de aportarle correcciones.
En 52, el módulo o los módulos a modificar se identifican a partir de una lista 54 de los N módulos de código.
En 55, los módulos a modificar son desarrollados y compilados. Cada módulo posee un mecanismo de actualización, un lenguaje (por ejemplo, el lenguaje C) y un compilador (por ejemplo, un compilador estándar ANSI) que están dedicados al mismo y que se agrupan en 56.
A título de ejemplos de mecanismos de actualización, se puede considerar:
- -
- una actualización parcial por tablas de direccionamiento indirecto, es decir, que la dirección de una función sea sustituida por una nueva dirección almacenada en la tabla de direccionamiento indirecto; o
- -
- una actualización parcial por sustitución de bloques de código existentes; o incluso,
- -
- una actualización completa del módulo.
La etapa 55 de desarrollo y de compilación da como resultado un código nativo binario 58 de los módulos a modificar.
En 60, la cabecera de red 6 define un identificador de la actualización según un formato apropiado para cada módulo en cuestión y protege el código binario 58 en cuanto a integridad y confidencialidad según propiedades 62 propias de cada módulo.
A título de ejemplos de formato de identificador de la actualización, se puede considerar un identificador sobre 10 caracteres ASCII = MOD1_1.6.9 o un identificador sobre 7 caracteres ASCII = 230MOD2. También es posible no prever ningún identificador de la actualización para ciertos módulos.
A título de ejemplos del algoritmo y de la clave de la protección de confidencialidad, se puede considerar un algoritmo AES CBC con una clave dedicada almacenada de forma no flexible en el código inicial del procesador de seguridad 16 o un algoritmo 3DES CBC. También es posible no prever ninguna protección de confidencialidad del módulo.
A título de ejemplos del algoritmo y de la clave de integridad, se puede considerar una integridad AES-MAC con una clave dedicada o almacenada de forma no flexible en el código inicial del procesador de seguridad 16 o una integridad 3DES MAC con claves comunes para todos los procesadores de seguridad de todos los decodificadores de los abonados. También es posible no prever ninguna protección de integridad del módulo.
El resultado de la etapa 60 es un código 63 de módulos a modificar identificado y cifrado (es decir, protegido en cuanto a confidencialidad e integridad).
En 64, la cabecera de red 6 construye los mensajes de difusión de bloques de los módulos a modificar segmentando el código binario identificado y cifrado 63 en bloques, integrando estos bloques en mensajes EMM y/o ECM y cifrando estos mensajes.
La etapa 64 utiliza propiedades 66 propias de cada módulo. Las propiedades 66 se refieren al tipo de mensajes utilizado (EMM o ECM), a las reglas de direccionamiento (a un solo abonado, a un grupo de abonados o a todos los abonados), a las claves de transporte utilizadas para cifrar los mensajes (por ejemplo, claves específicas poseídas por la sociedad depositaria o bien las mismas claves que las utilizadas para transportar derechos del abonado o bien las claves de explotación), al tamaño de los bloques (por ejemplo, tamaño fijo de 128 o de 200 octetos o tamaño variable) y al formato de encabezamiento de los mensajes (por ejemplo, formato “TLV” que se corresponde con una codificación “Tipo, Longitud, Valor” con T = ’56 y L = ’80, o T= ’57 o T = ‘AO).
La etapa 64 da como resultado una pluralidad de mensajes 68 preparados para ser difundidos por la cabecera de red 6.
La figura 4 detalla las etapas del procedimiento según la invención llevadas a la práctica por el procesador de seguridad 16.
En 70, el procesador de seguridad 16 determina, al producirse la recepción de un mensaje EMM o ECM, si un mensaje de ese tipo contiene bloques de actualización de un módulo de código en función de los tipos de direccionamiento de los diferentes módulos.
En 72, el procesador de seguridad 16 identifica el módulo en cuestión con la ayuda de los parámetros recibidos asociados a este módulo.
Las etapas 70 y 72 utilizan así la lista 54 de los N módulos, y las propiedades 56, 62 y 66 de cada módulo.
El resultado de estas etapas es un conjunto de módulos identificados 74.
En 76, el procesador de seguridad 16 decide a partir de propiedades 78 de recepción y de procesado de cada módulo, si debe procesar el bloque recibido del módulo inmediatamente o si el procesado de los bloques del módulo debe comenzar después de haber recibido la totalidad de los bloques.
La etapa 76 da como resultado un conjunto de bloques de código 80 que pueden ser procesados por el procesador de seguridad 16.
En 82, el procesador de seguridad descifra y almacena los bloques de código del conjunto 80 en espacios dedicados a los diferentes módulos dentro de la memoria 18. Esta etapa 82 utiliza propiedades de almacenamiento 84 de cada módulo.
Las propiedades de almacenamiento 84 se refieren al espacio de memoria dedicado (por ejemplo, una zona de tamaño fijo o variable por reasignación dinámica, o bien ninguna zona dedicada), al formato de almacenamiento (por ejemplo, almacenamiento de los bloques de manera contigua y ordenada o almacenamiento de los bloques en FIFO), a la protección eventual en cuanto a confidencialidad y/o integridad de los bloques del módulo (por ejemplo, utilizando algoritmos de protección de confidencialidad AES CBC o 3DES CBC y de integridad AES MAC o 3DES MAC), a la protección eventual en cuanto a acceso de lectura o lectura/escritura de los bloques del módulo (por ejemplo, por medio de un microprocesador de procesador de seguridad 16 con un acceso limitado al módulo en escritura).
En 86, el procesador de seguridad activa cada uno de los módulos actualizados almacenados en la memoria 18 utilizando propiedades de activación 88 propias de cada módulo. A título de ejemplos, se puede considerar una activación inmediata como consecuencia de la recepción de todos los bloques del módulo o una activación como consecuencia de la recepción de una orden de activación emitida desde la cabecera de red 6 y contenida en un mensaje EMM o ECM, o bien emitida desde el decodificador 14.
Así, el procedimiento según la invención proporciona una solución de descarga de código de un procesador de 5 seguridad al disponer de elementos diferenciadores para cada etapa definida en función del módulo de código a descargar.
La solución de la invención permite así disponer de un proceso único y centralizado de alto nivel cuya robustez se valida de una vez por todas para una mejor seguridad del procesador de seguridad.
10 Esta solución también permite mejorar la seguridad al compartimentar el riesgo de un fallo de seguridad. Así, un fallo en una etapa del mecanismo de seguridad puede estar abierto a vulnerabilidades en un módulo de código aunque puede estar cerrado a las mismas en los otros módulos.
15 La solución de la invención permite además mejorar la seguridad global del procesador de seguridad en el caso de una ingeniería inversa, de uno de los mecanismos diferenciados propuestos. La ingeniería inversa de un mecanismo de seguridad no permite así llevar a cabo la ingeniería inversa de los otros mecanismos.
El procedimiento de la invención comprende los programas de ordenador correspondientes y se aplica
20 ventajosamente en el contexto de la televisión de pago (“Pay TV”) con el fin de mejorar la seguridad y la corrección de los fallos de seguridad de los mecanismos de seguridad llevados a la práctica en el procesador de seguridad (generalmente una tarjeta chip).
Evidentemente, son todavía posibles otros modos de realización y aplicaciones. 25
Claims (8)
- REIVINDICACIONES1. Procedimiento de actualización de un procesador de seguridad (16) para un decodificador (14) apropiado para recibir y desaleatorizar una señal multimedia aleatorizada, siendo dicha señal multimedia difundida por una cabecera5 de red (6) y comprendiendo dicho procesador (16) una memoria (18) que contiene un código de una aplicación que, cuando es ejecutado o interpretado por un microprocesador, permite ejecutar un conjunto de operaciones necesarias para la desaleatorización de la señal multimedia aleatorizada, comprendiendo dicho procedimiento una etapa de descarga de por lo menos un módulo del código a partir de la cabecera de red (6), caracterizado porque la etapa de descarga del módulo comprende las subetapas de:
- -
- cifrado (32), por parte de la cabecera de red (6), del módulo con la ayuda de una clave y de un algoritmo de cifrado apropiados para dicho módulo;
- -
- segmentación (34, 64), por parte de la cabecera de red (6), del módulo en una pluralidad de bloques de
15 tamaño apropiado para dicho módulo, extraído de un conjunto memorizado de propiedades (66) propias de dicho módulo;- -
- integración (34, 64), por parte de la cabecera de red (6), de cada uno de los bloques del módulo en un
mensaje específico; 20- -
- difusión (36), por parte de la cabecera de red (6) hacia el decodificador (14), de cada uno de estos mensajes;
- -
- recepción (38, 70) de estos mensajes por el decodificador (14);
25 - extracción (42, 72), por parte del procesador de seguridad (16) del decodificador (14), de los bloques del módulo a partir de estos mensajes;- -
- descifrado (42, 82), por parte del procesador de seguridad (16), de los bloques del módulo;
30 - almacenamiento (44, 82), por parte del procesador de seguridad (16), de los bloques del módulo en un espacio de la memoria (18) dedicado a dicho módulo; y- -
- obtención, a partir de estos bloques, de un módulo de código actualizado.
35 2. Procedimiento de actualización según la reivindicación 1, caracterizado porque la etapa de descarga del módulo comprende además las subetapas de:- -
- cifrado (34), por parte de la cabecera de red (6), de los mensajes que contienen los bloques del módulo con
la ayuda de claves de transporte apropiadas para el módulo; y 40- -
- descifrado (42), por parte del procesador de seguridad (16), de los mensajes que contienen los bloques del módulo.
- 3. Procedimiento de actualización según la reivindicación 1 o 2, caracterizado porque los mensajes que contienen45 los bloques del módulo se seleccionan de tipo ECM (“Entitlement Control Message”) y/o EMM (“Entitlement Management Message”) según una elección apropiada para el módulo.
- 4. Procedimiento de actualización según cualquiera de las reivindicaciones anteriores, caracterizado porquecomprende además una etapa de activación (46), por parte del procesador de seguridad (16), del módulo 50 descargado almacenado en la memoria (18).
- 5. Procedimiento de actualización según la reivindicación 4, caracterizado porque la etapa de activación (46) del módulo descargado es activada por el procesador de seguridad (16) automáticamente o como consecuencia de la recepción de una orden de activación emitida desde el decodificador (14) o desde la cabecera de red (6).
- 6. Procedimiento de actualización según cualquiera de las reivindicaciones anteriores, caracterizado porque el módulo se desarrolla y se compila en un lenguaje y con la ayuda de un compilador apropiados para el módulo.
- 7. Sistema de actualización de un procesador de seguridad (16) para un decodificador (14) apropiado para recibir y 60 desaleatorizar una señal multimedia aleatorizada, siendo dicha señal multimedia difundida por una cabecera de red(6) y comprendiendo dicho procesador (16) una memoria (18) que contiene un código de una aplicación que, cuando es ejecutado o interpretado por un microprocesador, permite ejecutar un conjunto de operaciones necesarias para la desaleatorización de la señal multimedia aleatorizada, comprendiendo dicho sistema unos medios de descarga de por lo menos un módulo del código a partir de la cabecera de red (6), caracterizado porque los medios de descarga65 del módulo comprenden: a nivel de la cabecera de red (6):
- -
- unos medios de cifrado del módulo con la ayuda de una clave y de un algoritmo de cifrado apropiados para
dicho módulo; 5- -
- unos medios de segmentación del módulo en una pluralidad de bloques de tamaño apropiado para dicho módulo, extraído de un conjunto memorizado de propiedades (66) propias de dicho módulo;
- -
- unos medios de integración de cada uno de los bloques del módulo en un mensaje específico; y 10
- -
- unos medios de difusión hacia el decodificador (14) de cada uno de estos mensajes
a nivel del decodificador (14), unos medios de recepción de estos mensajes; y 15 a nivel del procesador de seguridad (16):- -
- unos medios de extracción de los bloques del módulo a partir de estos mensajes;
- -
- unos medios de descifrado de los bloques del módulo; 20
- unos medios de almacenamiento de los bloques del módulo en un espacio de la memoria (18) dedicado a dicho módulo; y- -
- unos medios de obtención, a partir de estos bloques, de un módulo de código actualizado. 25
- 8. Programa de ordenador que comprende instrucciones de código, que, cuando este programa es ejecutado en un ordenador, permiten realizar el procedimiento de actualización de un procesador de seguridad (16) según cualquiera de las reivindicaciones 1 a 6.30 9. Programa de ordenador según la reivindicación 8, caracterizado porque comprende un subprograma ejecutado por una cabecera de red (6) para permitir realizar las subetapas de la etapa de descarga del módulo que consisten en:
- -
- cifrar el módulo con la ayuda de una clave y de un algoritmo de cifrado apropiados para dicho módulo; 35
- -
- segmentar el módulo en una pluralidad de bloques de tamaño apropiado para dicho módulo;
- -
- integrar cada uno de los bloques del módulo en un mensaje específico; y 40 -difundir hacia el decodificador (14) cada uno de estos mensajes.
- 10. Programa de ordenador según la reivindicación 8 o 9, caracterizado porque comprende un subprograma ejecutado o interpretado por un procesador de seguridad (16) para permitir realizar las subetapas de la etapa de descarga del módulo que consisten en:
- -
- extraer los bloques del módulo a partir de estos mensajes, utilizando un tamaño de bloques apropiado para dicho módulo, extraído de un conjunto memorizado de propiedades (66) propias de dicho módulo;
- -
- descifrar los bloques del módulo; 50
- -
- almacenar los bloques del módulo en un espacio de la memoria (18) dedicado a dicho módulo; y
- -
- obtener, a partir de estos bloques, un módulo de código actualizado.
55 11. Procesador de seguridad (16), caracterizado porque es apto para ejecutar o para interpretar el código de un subprograma con el fin de permitir la realización de las subetapas de la etapa de descarga del módulo de acuerdo con la reivindicación 10.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0959511 | 2009-12-23 | ||
| FR0959511A FR2954651B1 (fr) | 2009-12-23 | 2009-12-23 | Procede de mise a jour d'un processeur de securite, systeme, programme d'ordinateur et processeur de securite correspondants |
| PCT/FR2010/052845 WO2011086286A1 (fr) | 2009-12-23 | 2010-12-21 | Procédé de mise à jour d'un processeur de sécurité, système, programme d'ordinateur et processeur de sécurité correspondants |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2442630T3 true ES2442630T3 (es) | 2014-02-12 |
Family
ID=42312103
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES10812872.9T Active ES2442630T3 (es) | 2009-12-23 | 2010-12-21 | Procedimiento de actualización de un procesador de seguridad, sistema, programa de ordenador y procesador de seguridad correspondientes |
Country Status (6)
| Country | Link |
|---|---|
| EP (1) | EP2517452B1 (es) |
| ES (1) | ES2442630T3 (es) |
| FR (1) | FR2954651B1 (es) |
| PL (1) | PL2517452T3 (es) |
| TW (1) | TW201141196A (es) |
| WO (1) | WO2011086286A1 (es) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6904611B1 (en) * | 1999-09-03 | 2005-06-07 | General Instrument Corporation | Method and system for directing the download of software and firmware objects over a network such as a cable television system |
| FR2797548A1 (fr) * | 2000-01-24 | 2001-02-16 | Thomson Multimedia Sa | Procede de transmission de donnees sur un canal de diffusion |
| US7440571B2 (en) | 2002-12-03 | 2008-10-21 | Nagravision S.A. | Method for securing software updates |
| EP2015561A1 (fr) * | 2007-07-10 | 2009-01-14 | Nagracard S.A. | Procédé d'envoi d'un code exécutable à un dispositif de réception et procédé d'exécution de ce code |
-
2009
- 2009-12-23 FR FR0959511A patent/FR2954651B1/fr not_active Expired - Fee Related
-
2010
- 2010-12-21 PL PL10812872T patent/PL2517452T3/pl unknown
- 2010-12-21 WO PCT/FR2010/052845 patent/WO2011086286A1/fr not_active Ceased
- 2010-12-21 ES ES10812872.9T patent/ES2442630T3/es active Active
- 2010-12-21 EP EP10812872.9A patent/EP2517452B1/fr active Active
- 2010-12-22 TW TW099145237A patent/TW201141196A/zh unknown
Also Published As
| Publication number | Publication date |
|---|---|
| FR2954651A1 (fr) | 2011-06-24 |
| EP2517452A1 (fr) | 2012-10-31 |
| TW201141196A (en) | 2011-11-16 |
| EP2517452B1 (fr) | 2013-11-06 |
| FR2954651B1 (fr) | 2012-03-16 |
| PL2517452T3 (pl) | 2014-03-31 |
| WO2011086286A1 (fr) | 2011-07-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9479825B2 (en) | Terminal based on conditional access technology | |
| EP3308551B1 (en) | Method and apparatus for enabling content protection over broadcast channels | |
| JP2006079611A (ja) | ソフトウェア用のパッチを供給する方法 | |
| US9288046B2 (en) | Device for generating an encrypted key and method for providing an encrypted key to a receiver | |
| US10411900B2 (en) | Control word protection method for conditional access system | |
| JP2006295916A (ja) | プログラマブルロジックデバイス | |
| ES2621785T3 (es) | Método de seguridad para prevenir el uso no autorizado de contenido multimedia | |
| BRPI0807731A2 (pt) | Sistema de acesso condicional | |
| JP5551023B2 (ja) | 受信器における信頼性があり改竄不可能なデータストリームの処理 | |
| DE60004140D1 (de) | Datenbankerzeugungssystem für verschlüsseltes Programm-Material | |
| WO2006057222A1 (ja) | 送信装置、及び受信装置 | |
| ES2693064T3 (es) | Procedimiento de transmisión y de recepción de un contenido multimedia | |
| US20160352711A1 (en) | Reception device and reception method | |
| ES2442630T3 (es) | Procedimiento de actualización de un procesador de seguridad, sistema, programa de ordenador y procesador de seguridad correspondientes | |
| ES2627735T3 (es) | Método para acceso seguro a un contenido audio/vídeo en una unidad de descodificación | |
| BRPI1102971A2 (pt) | Método e aparelho para decriptografar conteúdo criptografado | |
| US20170270308A1 (en) | Security device and control method | |
| ES2514467T3 (es) | Procedimiento de emparejamiento de un terminal receptor con una pluralidad de tarjetas de control de acceso | |
| ES2271693T3 (es) | Procedimiento y sistema para garantizar la integridad de por lo menos un programa transmitido a un modulo de cifrado/descifrado y soportes de registro para realizar dicho procedimiento. | |
| US20050283777A1 (en) | Secure method to update software in a security module | |
| JP2006050625A (ja) | 端末における動作強制 | |
| KR102190886B1 (ko) | 조건부 액세스 시스템의 컨트롤 워드 보호 | |
| ES2906474T3 (es) | Método de recepción y de descifrado de un criptograma de una palabra de control | |
| JP2016063538A (ja) | 送信装置および受信装置 | |
| JP5887399B2 (ja) | デジタル放送送信装置およびデジタル放送受信装置 |