ES2235895T3 - Metodo y dispositivo para controlar la integridad y la autenticidad de un conjunto de datos. - Google Patents

Metodo y dispositivo para controlar la integridad y la autenticidad de un conjunto de datos.

Info

Publication number
ES2235895T3
ES2235895T3 ES00938956T ES00938956T ES2235895T3 ES 2235895 T3 ES2235895 T3 ES 2235895T3 ES 00938956 T ES00938956 T ES 00938956T ES 00938956 T ES00938956 T ES 00938956T ES 2235895 T3 ES2235895 T3 ES 2235895T3
Authority
ES
Spain
Prior art keywords
data
result
unit
security
security unit
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
ES00938956T
Other languages
English (en)
Inventor
Michael John Hill
Christophe Nicolas
Marco Sasselli
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.)
Nagravision SARL
Original Assignee
Nagravision SA
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 Nagravision SA filed Critical Nagravision SA
Application granted granted Critical
Publication of ES2235895T3 publication Critical patent/ES2235895T3/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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4367Establishing a secure communication between the client and a peripheral device or smart card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Selective Calling Equipment (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Small-Scale Networks (AREA)

Abstract

Método para controlar la integridad y la autenticidad de un conjunto de datos recibidos (M1 a Mn) en una unidad de decodificación de televisión de pago compuesta por un descodificador (IRD) y una unidad de seguridad (SC) así como por medios de comunicación (NET, REC) con un centro de gestión, que incluye las etapas siguientes: - calcular una información de control (Hx) representativa del resultado de una función llamada unidireccional y sin colisión, aplicada a todos o a parte de los datos (M1 a Mn), caracterizado por el hecho de que consiste en: - transmitir la información de control (Hx) a la unidad de seguridad y encriptar dicha información de control (Hx) mediante una primera clave (k1), - mandar al centro de gestión la información de control k1 (Hx) encriptada, - desencriptar mediante el centro de gestión la información encriptada de control k1 (Hx) y compararla con un valor de referencia de la información de control (Hy), - transmitir unos datos de gestión (R) que incluyen el resultado de la comparación en una forma encriptada destinados a la unidad de seguridad (SC), - desencriptar mediante la unidad de seguridad (SC) el resultado encriptado de la comparación e informar la unidad de decodificación (IRD) de la validez de los datos (M1 a Mn).

Description

Método y dispositivo para controlar la integridad y la autenticidad de un conjunto de datos.
La presente invención se refiere al campo del control de integridad y de autenticidad de datos, en particular durante la telecarga de programas.
La invención se aplica a todos los aparatos que incluye al menos una unidad central comúnmente conocida y utilizada en informática, es decir un procesador que posee al menos, una parte de su programa en una memoria de escrituras múltiples.
Se sabe que una alteración o corrupción de datos, antes o después del tratamiento, deja huellas en algunas partes de las informaciones tratadas y almacenadas en una memoria. También se conoce la utilización de una técnica matemática sencilla como es el cálculo de la "checksum" con el fin de determinar si se han modificado los datos tomados en consideración después de la comprobación de la checksum de referencia.
No obstante, también se ha podido modificar el sistema de control y éste ya no puede verificar el contenido de su propia memoria. De esta manera, durante las operaciones matemáticas, existe la posibilidad de propagación de errores aleatorios que pueden ser compensados de manera a obtener un resultado idéntico al que se espera. En consecuencia, la verificación mediante los métodos conocidos será inoperante en ciertos casos.
Por lo tanto, hoy en día todavía queda por resolver el problema de cómo mejorar la fiabilidad y la seguridad proporcionada por las operaciones de verificación conocidas, en particular cuando la misma unidad se encarga de calcular su checksum y de comparar esta última con un valor de referencia.
Con el fin de averiguar todas las modificaciones de datos, se suele aplicar una operación unidireccional a estos datos, es decir, una operación fácil de realizar en un sentido pero casi imposible en el otro. Por ejemplo, se realiza fácilmente la operación xy pero la operación y\surdx resulta mucho más difícil.
Se entiende por operación sin colisión una operación según la cual ninguna combinación diferente de los datos de entrada produce un resultado similar.
En el marco de la invención, esta operación unidireccional es una aplicación matemática H de un conjunto fuente hacia un conjunto objeto, en la que cada elemento x del conjunto fuente corresponde a una imagen H(x). Estas funciones son particularmente útiles cuando se trata de funciones denominadas Hash, tal y como están definidas en la página 27 de la obra RSA Laboratories' Frequently Asked About Today's Cryptography, v4.0. El elemento x puede tener cualquier longitud pero H(x) consiste siempre en una sucesión de caracteres de longitud fija ("fixed-size string"). Esta función es difícil de invertir, es decir que el hecho de conocer H(x), en general no permite encontrar x. Además, esta aplicación es libre de colisión cuando es inyectiva, es decir, cuando H(y)=H(x) implica necesariamente que y=x, del mismo modo que H(y)\neqH(x) implica necesariamente que
y\neqx.
El documento EP-A-0689316 describe un módulo de recepción inalámbrico de datos que recibe del emisor una firma criptográfica de los datos recibidos.
El propio receptor realiza el control de la firma.
La invención se refiere a un método para controlar la integridad y la autenticidad de un conjunto de datos recibidos, según la reivindicación 1, y de un conjunto de datos memorizados, según la reivindicación 17.
El objetivo de la invención consiste en asegurar que las informaciones contenidas en un descodificador de televisión de pago son, por una parte las que el centro de gestión ha transmitido y posteriormente, por otra parte, que éstas no han sido alteradas.
Este objetivo es alcanzado mediante un método para controlar la integridad y la autenticidad de un conjunto de datos memorizados (M1 a Mn) en una unidad de decodificación de televisión de pago que está compuesta por un descodificador y una unidad de seguridad así como por medios de comunicación (NET, REC) con un centro de gestión. Este método consiste en:
-
transmitir las datos (M1 a Mn) a la unidad de seguridad,
-
calcular una información de control (Hx) representativa del resultado de una función determinada, unidireccional y sin colisión, aplicada sobre todos o parte de los datos (M1 a Mn),
-
encriptar la información de control (Hx) con una primera clave (k1)
-
establecer la conformidad de la información de control (Hx) para una comunicación con el centro de gestión a través de uno de los medios de comunicación.
De esta manera, la integridad de los datos ya no es controlada únicamente por la unidad de descodificación en la que están contenidos estos datos, sino por una entidad externa considerada inviolable, es decir, por la unidad de seguridad.
Según la invención, el mismo descodificador puede efectuar el cálculo y transmitir el resultado a la unidad de seguridad o transmitir los datos M1 a Mn a la unidad de seguridad que efectuará la operación de cálculo de la información Hash.
Las claves utilizadas para encriptar la comunicación con el centro de gestión son las claves presentes únicamente en el módulo de seguridad. El descodificador no tiene medios para desencriptar estos mensajes y por lo tanto para modificar los datos transmitidos por el centro de gestión incluso cuando estos mensajes transitan físicamente por el descodificador.
Estas unidades de seguridad se presentan en general en forma de tarjeta inteligente (Smart Card) y comprenden una memoria, un microprocesador y unos medios de comunicación.
Por medios de comunicación, se entiende, o bien un enlace bidireccional a través de una conexión por cable, o una salida por módem, o un enlace por vía hertziana. Esta expresión incluye también el sistema principal de transmisión de datos y en el que se envían mensajes cuyo destino es el módulo de seguridad.
Se puede realizar la operación de verificación de la conformidad de la información de control (Hx) de varias maneras.
El módulo de seguridad envía al centro de gestión la información de control encriptada; éste último se encarga de realizar la verificación. Al responder, el centro de gestión puede, o bien mandar un simple resultado de comparación OK/NOK o reenviar el valor de referencia. Por supuesto, todos estos mensajes son encriptados por una clave propia al módulo de seguridad.
El centro de gestión memoriza el resultado en referencia a cada unidad de abonado como prueba, o bien del buen funcionamiento de la operación de telecarga, o al contrario, de la alteración de los datos, por ejemplo con objeto de realizar una repetición.
Según una variante de la invención, el centro de gestión puede mandar previamente el valor de referencia destinado a los módulos de seguridad. De esta manera, no será necesario llamar al centro de gestión para verificar la conformidad de la información de control calculada Hx.
En otra forma de realización, y cuando se solicita una petición de verificación desde una unidad de seguridad, el centro de gestión vuelve a enviar al módulo de seguridad y en forma de resultado de la comparación, el valor de referencia (Hy) en una forma encriptada k2(Hy). De este modo, el centro de gestión no sólo informa la unidad de seguridad de si la comparación es correcta o no, sino que vuelve a enviar el valor de referencia a la unidad de seguridad. Esto se hará principalmente si se ha obtenido un resultado positivo con la comparación con el fin de que la unidad de seguridad pueda memorizar el valor de referencia Hy.
Se puede realizar este reenvío a través de las vías de comunicaciones auxiliares como el módem, o por la vía principal de datos.
En el caso en el que los datos M1 a Mn ya van acompañados de unos medios de verificación, como CRC, Checksum CS o Hash, la unidad de decodificación puede efectuar una primera prueba gracias a este medio conocido. Sin embargo, la fiabilidad de esta prueba es dudosa debido a que si una tercera persona ha modificado los datos, seguramente esta misma persona habrá modificado también los medios de verificación. Por este motivo, según el método de la invención, la unidad de seguridad puede informar la unidad de descodificación para que ésta no acepte el resultado de la prueba como garantía de la autenticidad de los datos y de manera a determinar dicha autenticidad según el método descrito anteriormente.
Esta variante es importante en el caso de la actualización de una base de descodificadores, de los que algunos pertenecen a la antigua generación que funcionan y por lo tanto, requieren la verificación mediante Checksum, mientras que otros ya han sido equipados mediante el sistema del método reivindicado.
Cuando se telecarga una actualización del programa, se suele mandar únicamente la parte que ha sufrido modificaciones. Las datos M1 a Mn no representan la totalidad del programa reactualizado. Por este motivo, y con el fin de conservar un medio de prueba fiable en el conjunto del programa, es importante disponer de un valor de referencia H'y representativo de una función Hash en el nuevo programa formado.
Existe un primer método que consiste en establecer la integridad del programa P0 inicial, es decir, antes de la actualización. Para ello, se dispone del resultado inicial H0 de la función Hash del programa P0 ya sea el que se ha inicializado en el momento de la instalación del programa P0, o bien el que proviene del método de la invención.
Cuando se ha comprobado la autenticidad de los datos de la actualización y que se han introducido estos últimos en la memoria programa, el módulo de seguridad puede ordenar inmediatamente la ejecución de la función Hash sobre la totalidad de un nuevo programa P1 y para obtener un resultado H1. Este resultado va a servir para los controles posteriores o en el caso de futuras actualizaciones.
Una variante de este método consiste en obtener del centro de gestión el nuevo valor H'y representativo del resultado de la función Hash sobre la totalidad del nuevo programa P1, representado aquí por M0 a Mm.
Las datos de gestión R reenviados por el centro de gestión pueden incluir un descriptor de datos D que indica a la unidad de decodificación (IRD) la forma de utilización de estos datos. Este descriptor puede estar en forma de tabla que contiene las direcciones de las destinaciones de datos. De esta manera, no se podrá utilizar estos datos sin este descriptor, y éste volverá a la unidad de descodificación (IRD) únicamente si la comparación es positiva.
Según una variante de la invención, el centro de gestión incluye en los datos de gestión R un certificado que permite una autentificación del emisor de datos.
Esta función de verificación no se refiere únicamente a la telecarga de datos nuevos en un descodificador sino que permite comprobar en cualquier momento la validez y la autenticidad de los datos. En este caso, la operación consiste en calcular periódicamente, o si se solicitan, los valores (Hx) representativos del resultado de una función denominada unidireccional y sin colisión efectuada sobre todos o parte de los datos (M0 a Mm) en la memoria operacional del descodificador y en transmitir esta información (H'x) a la unidad de seguridad para su comparación con un valor de referencia (H'y).
Para efectuar esta operación, existe un primer método que consiste en que el descodificador efectúa el cálculo y el resultado es transmitido a la unidad de seguridad. Según una variante de este método, una unidad de seguridad efectúa el cálculo, y los datos (MO a Mm) son transmitidos desde el descodificador a la unidad de seguridad (SC).
La solicitud de estas operaciones de verificación puede llegar del centro de gestión, de la unidad de seguridad, de una unidad de prueba o a través de uno de los medios de comunicación, incluso en cada puesta en tensión.
Cuando la unidad de seguridad compara el valor calculado H'x con la referencia H'y, esta última puede estar representada o bien por el valor calculado por el descodificador IRD después de la confirmación de su validez por el centro de gestión, o por el valor de referencia proporcionado por el centro de gestión.
Uno de los métodos utilizado por ciertas personas mal intencionadas para tratar de entender el funcionamiento de un sistema de televisión de pago consiste en observar las reacciones tras un intento de modificación de éste. Por este motivo la invención se extiende también a un método de transmisión del resultado de la comparación que se efectúa de manera diferida, por ejemplo cuando el abonado decide comprar un programa y que se envía un mensaje sobre su abono al centro de gestión.
Es fácil incluir en este mensaje la información sobre la alteración de los datos M1 a Mn. Por lo que será difícil establecer la relación entre la modificación de los datos y el bloqueo del descodificador que puede ocurrir mucho más tarde.
Según una variante, el valor del resultado del cálculo Hx es transmitido al centro de gestión. Con este fin, y para hacerlo de forma discreta, se fracciona el resultado y se incluye, parte por parte, en unos mensajes de administración usuales del sistema.
El centro de gestión va a reconstituir el valor Hx parte por parte y determinar si los datos han sido modificados una vez que el valor está completo.
Uno de los problemas que presentan muchos descodificadores durante las actualizaciones reside en el número de llamadas realizadas al centro de gestión para obtener la verificación.
Una solución propuesta en el marco de esta invención consiste en repartir de manera pseudoaleatoria las llamadas al centro de gestión.
Otra solución descrita anteriormente consiste en mandar el valor de referencia previamente. De esta manera, si se han recibido los datos correctamente, como en la mayoría de los casos, se puede realizar la actualización sin esperar la llamada al centro de gestión. Esta llamada se efectuará, sin embargo, para confirmar que se ha realizado la actualización de forma correcta.
En una forma particular de realización, el conjunto determinado comprende una parte de emisión, localizada en un centro de gestión, y una parte de recepción, que puede estar constituida por un número relativamente grande de unidades periféricas similares desde un punto de vista funcional. El objetivo consiste en garantizar que el programa enviado por la parte de emisión es recibido por cada una de las unidades periféricas de manera auténtica e íntegra. Por analogía con el vocabulario de la televisión de pago, que constituye una aplicación importante pero no exclusiva de la invención, en el texto a continuación dichas unidades periféricas se denominarán IRD, es decir, Integrated Receiver Decoder que incluyen una parte receptora, un descodificador para el tratamiento de la señal recibida por el descodificador, un procesador central o CPU que trabaja de preferencia con una memoria no volátil así como varios periféricos.
Una memoria no volátil es una memoria cuyo contenido se mantiene incluso en caso de corte en la alimentación principal, por ejemplo mediante una fuente de energía autónoma como una batería o una pila. Se puede utilizar otros tipos de memorias no volátiles como las memorias llamadas EEPROM, Flash EPROM o también FEPROM. Esta memoria no volátil es la que mantiene las datos protegidos en caso de interrupción del suministro eléctrico. Es esencial para el buen funcionamiento del procesador del IRD.
Las informaciones procedentes del centro de gestión son recibidas por el IRD en forma de flujo de datos que llegan al receptor de la unidad IRD. En el caso de la televisión codificada o más habitualmente, de la televisión interactiva, el flujo de datos incluye informaciones de vídeo, audio, datos, aplicaciones realizables como los "applets", y finalmente, informaciones de control de datos de distintos tipos.
En este caso se trata de asegurar que el IRD recibe e interpreta correctamente estas informaciones antes de almacenarlas en memoria operacional, en particular los datos que se van a ejecutar, es decir, el programa.
El receptor del IRD las transmite a un descodificador, el cual a su vez las pone en circulación en el IRD mediante un bus. A este bus van conectados un procesador especializado en multimedia, a su vez conectado con una pantalla de visualización y con uno o varios altavoces, la memoria no volátil mencionada anteriormente, y una o varias subunidades opcionales. El procesador del IRD (CPU) administra y controla el funcionamiento de éste, así como las distintas subunidades como un canal de prueba, una interfaz para tarjeta inteligente, una memoria auxiliar llamada de masa, otros procesadores, o incluso un módem. Además, el centro de gestión puede recibir las informaciones de vuelta, por ejemplo mediante el módem conectado a la red pública de telecomunicaciones.
Estas propias subunidades pueden constituir la fuente de errores que se tiene que detectar y corregir, esencialmente en el caso de la carga de una nueva versión del programa de funcionamiento del IRD y en particular de su CPU, o de ciertos programas realizables por el IRD o sus componentes.
Se pueden cargar el programa y los datos cuya autenticidad e integridad deben ser garantizados mediante distintos métodos. Uno de estos métodos consiste, como se ha mencionado ya, en utilizar el receptor citado anteriormente, mediante el envío de una actualización de memoria que comprende varios bloques de datos M1, M2, ... Mn así como un encabezamiento que permita identificar las datos M1 a Mn hacia este receptor con el flujo de datos, y en una identificación de manera reconocible por la unidad central.
Alternativamente o a modo de complemento, los bloques de datos pueden alcanzar el IRD mediante una de sus subunidades opcionales como, por ejemplo, el módem.
En el marco de la invención y en esta fase, no supone ningún problema mandar los bloques de datos M1, M2, ... Mn sin codificar, es decir sin encriptar.
De esta forma, el método según la invención consiste primero en aplicar, en la fase de la emisión, una función unidireccional o función "hash" a todos o a parte de los bloques de datos M1, M2, ...Mn para obtener un resultado Hx representativo del conjunto M1 a Mn. También se pueden tratar los bloques de datos M1 a Mn de forma separada y obtener el resultado Hx1 que corresponde a M1, Hx2 que corresponde a M2 ... y Hxn que corresponde a Mn. El centro de gestión memoriza este o estos resultados Hx para una verificación posterior.
Un ámbito particularmente crucial para la autentificación de los datos concierne los sistemas para los que se transmiten los datos a través de unas vías públicas como la vía hertziana, telefónica o por Internet. En este caso, un intruso puede substituirse a un centro de gestión y mandar datos para modificar el funcionamiento del sistema de entrega.
Normalmente se adjunta un criptograma durante la transmisión de los datos para comprobar la autenticidad de estos últimos. Sin embargo, este criptograma responde únicamente a la necesidad de identificar al autor de los datos pero no tiene ningún efecto sobre un descodificador que hubiera perdido el criterio de referencia.
La importancia del método reside, por una parte, en la calidad de la función unidireccional H y en la certificación de esta firma por una unidad de seguridad considerada inviolable. De esta manera, una simple checksum no puede detectar el intercambio de dos bloques de caracteres en los datos puesto que la suma posee las propiedades conmutativa y asociativa en matemáticas. Al contrario, un resultado de función "hash" Hx es una imagen muy realista de x, aunque x es mucho mas larga que Hx. Si se efectúan intercambios de caracteres en la serie de caracteres x, la función H(x) lo va a detectar inmediatamente, y debido a esta detección el sistema ya no podrá funcionar. Por lo que se consigue un incremento de la seguridad.
Un aspecto importante de la invención consiste en autorizar en todo momento la verificación de la validez de los datos memorizados en la unidad periférica. En efecto, la presencia en el módulo de seguridad de estas informaciones de control permite obtener una auto-verificación fiable efectuada por el descodificador. Dicha verificación proporciona un resultado sin comparación con la checksum que se aplica habitualmente a la memoria programa. Si esta verificación da un resultado diferente al de la referencia, la unidad dispone de medios (enlace por módem, enlace de canal por cable) para informar a una entidad exterior, por ejemplo, al centro de gestión, de la no conformidad del programa.
Si el medio preferente de la invención para la generación y la transmisión de las informaciones de control es el centro de gestión, la invención recupera una unidad periférica cuya totalidad o parte del programa es cargada inicialmente con las informaciones de control descritas anteriormente. Se puede efectuar esta operación en el lugar donde se fabrica o en el momento de la inicialización que precede la venta por medio del procesador, o por telecarga de estas informaciones de control por uno de los periféricos durante una etapa de inicialización.
La presente invención está ilustrada en un esquema bloque de un IRD.
En esta figura, se representa un IRD o Integrated Receiver Decoder que constituye la parte periférica del conjunto al que se aplica el método según la invención en el modo de realización descrito a continuación. Este IRD incluye un bus central DB sobre el que se van a conectar la totalidad de los distintos módulos. El módulo central del IRD está constituido por el procesador CPU cuya tarea consiste en llevar a cabo los diferentes tratamientos.
Un receptor REC recibe un flujo de datos que contiene informaciones de vídeo, audio, de datos y aplicaciones realizables a través de una variedad de soportes como por ejemplo, un cable, una antena hertziana, una antena de satélite, Internet u otras tecnologías conocidas. Este receptor REC está conectado a una interfaz DC, a su vez conectada al bus DB.
También están conectados a este bus DB:
-
un procesador multimedia MP especializado en el tratamiento de las informaciones de vídeo o audio, que dirige estas informaciones hacia una pantalla de visualización VD y hacia unos altavoces AD, respectivamente;
-
un canal de prueba TC, que puede estar conectado a un dispositivo de prueba TEST que sirve para los ajustes de fabrica y mantenimiento;
-
una memoria no volátil NVM, independiente de la alimentación principal gracias a su propia fuente de alimentación;
-
una interfaz INT para tarjeta inteligente, que recibe físicamente una tarjeta inteligente SC;
-
una memoria auxiliar o incluso memoria de masa TMEM;
-
un módem MD, conectado a la red pública NET, que adopta tecnologías y soportes conocidos;
-
otros procesadores OP, DP que asumen varias funciones según el usuario, en particular las del tratamiento de datos Data.
La CPU controla las actualizaciones de programa tal y como se va a describir en un ejemplo. Ésta las acepta o las rechaza en función del resultado de las pruebas realizadas según el método que constituye el objeto de la invención. Estas versiones de programa de la CPU del IRD pueden llegar hasta el IRD a través del receptor REC, el dispositivo de prueba TEST, la tarjeta inteligente SC, o incluso la red NET. A continuación se va a describir el caso en el que llegan al IRD a través del receptor REC con el flujo de informaciones de vídeo y audio.
Un conjunto de datos, que representa una nueva versión de programa que llega al IRD, está almacenado en la memoria temporal TMEM del IRD con las informaciones de servicio, después de que se haya comprobado su autenticidad y su integridad. Esto permite al centro de gestión cargar esta versión de programa en un gran número de IRD periféricos, y de iniciar su puesta en servicio sin error a través del conjunto de dichos IRD.
Una vez que el IRD que contiene las datos recibe el mensaje, se fragmentan estos datos y los distintos elementos son almacenados en la memoria temporal TMEM. El IRD aplica a los bloques de datos M1 a Mn el mismo tratamiento que en el momento de la emisión, pero en un orden inverso. Resulta evidente que, en caso de recibir el bloque de datos de forma cifrada, la primera operación consiste en desencriptar dichos datos mediante la clave pública PuK de manera a obtener las datos sin cifrar.
La fase siguiente consiste en aplicar la función unidireccional H a los bloques de datos M1 a Mn con los resultados de los valores Hy1 a Hyn. En caso de que ocurra un error en los bloques de memoria M1, M2, ... Mn durante la transmisión del mensaje, este error tiene efectos sobre Hy que en consecuencia es diferente del Hx contenido en el bloque de control y los datos M1 a Mn serán rechazados.
Estos resultados son transmitidos a la tarjeta inteligente SC que se encarga de su autentificación. Tal y como se ha descrito anteriormente, esta operación se realiza gracias a una conexión, de forma inmediata o bien diferida, con el centro de gestión.
Como ejemplos de funciones H, se conocen las funciones MD2, MD5 y SHA-1.
Según otra variante de la invención, la unidad que contiene los datos no dispone de vías de comunicación con un centro de gestión. Las datos son entregados a una unidad de almacenamiento con unas informaciones de control (R1) que incluyen el resultado de una función llamada unidireccional y sin colisión, conocida como función Hash, aplicada sobre todos o parte de los datos (M1 a Mn). La particularidad de estos datos de control (R1) es que por un lado, contienen el resultado de la función Hash para el conjunto de los datos determinados y, por otra parte, éstos son almacenados de forma encriptada k2 (Hy). La unidad de almacenamiento no puede ni entenderlos, ni modificarlos.
Durante la fase de verificación, la unidad de almacenamiento transmite a la unidad de seguridad estas informaciones de control en forma encriptada. La unidad de seguridad dispone de los medios necesarios para desencriptar estas informaciones, en particular para obtener el resultado de la función Hash (Hy).
Además, según una primera variante, la unidad de almacenamiento aplica la función Hash en los datos M1 a Mn, calcula la información de control Hx y la transmite a la unidad de seguridad para una comparación. A cambio de eso, la unidad de seguridad envía los datos de vuelta (R2) a la unidad de almacenamiento incluyendo el resultado de la comparación.
Posteriormente, en caso de que los datos no hayan sido autentificados, la unidad de almacenamiento se encarga de tomar las medidas necesarias.
Según una segunda variante, la unidad de seguridad efectúa el cálculo de la información de control Hx, y esta última recibe los datos M1 a Mn de parte de la unidad de almacenamiento.
En un variante que proporciona una mayor garantía en cuanto a la utilización de datos, se añade una clave k3 a los datos de control (R1) que sirve para desencriptar los datos M1 a Mn.
Estos datos son almacenados inicialmente de forma encriptada y la función Hash es aplicada a las datos encriptados. Cuando la unidad de seguridad ha realizado la verificación de la integridad de los datos y que el resultado es positivo, la unidad de seguridad devuelve a la unidad de almacenamiento, en los datos de retorno (R2), la clave k3 que le permite desencriptar los datos M1 a Mn.
Según una variante del método mencionado anteriormente, no es la unidad de seguridad la que devuelve la clave k3 sino la unidad de almacenamiento que envía los datos M1 a Mn encriptados a la unidad de seguridad SC para la desencriptación.
De la misma manera tal y como se ha mencionado anteriormente, este control puede ser efectuado en cualquier momento durante el funcionamiento de la unidad de almacenamiento.
Los datos de control (R1) comprenden un descriptor de datos D que informa la unidad de almacenamiento sobre el método de utilización de estos datos. Este descriptor puede estar presente en forma de tabla que contiene las direcciones de las destinaciones de los datos. Por lo tanto, no se pueden utilizar estos datos sin este descriptor, el cual vuelve a la unidad de almacenamiento únicamente si la comparación es positiva.
También se prevé la adición a los datos de control (R1) de una certificación de autenticidad del emisor de datos, de manera a conservar un rastro en la unidad de seguridad.

Claims (26)

1. Método para controlar la integridad y la autenticidad de un conjunto de datos recibidos (M1 a Mn) en una unidad de decodificación de televisión de pago compuesta por un descodificador (IRD) y una unidad de seguridad (SC) así como por medios de comunicación (NET, REC) con un centro de gestión, que incluye las etapas siguientes:
-
calcular una información de control (Hx) representativa del resultado de una función llamada unidireccional y sin colisión, aplicada a todos o a parte de los datos (M1 a Mn), caracterizado por el hecho de que consiste en:
-
transmitir la información de control (Hx) a la unidad de seguridad y encriptar dicha información de control (Hx) mediante una primera clave (k1),
-
mandar al centro de gestión la información de control k1 (Hx) encriptada,
-
desencriptar mediante el centro de gestión la información encriptada de control k1 (Hx) y compararla con un valor de referencia de la información de control (Hy),
-
transmitir unos datos de gestión (R) que incluyen el resultado de la comparación en una forma encriptada destinados a la unidad de seguridad (SC),
-
desencriptar mediante la unidad de seguridad (SC) el resultado encriptado de la comparación e informar la unidad de decodificación (IRD) de la validez de los datos (M1 a Mn).
2. Método según la reivindicación 1, caracterizado por el hecho de que el centro de gestión reenvía en los datos de gestión (R) el valor de referencia en una forma encriptada k2(Hy) al módulo de seguridad (SC).
3. Método según las reivindicaciones 1 a 2, caracterizado por el hecho de que el cálculo es realizado por el descodificador (IRD) y el resultado es transmitido a la unidad de seguridad (SC).
4. Método según las reivindicaciones 1 a 4, caracterizado por el hecho de que la unidad de seguridad (SC) realiza el cálculo y los datos (M1 a Mn) son transmitidos desde el descodificador (IRD) a la unidad de seguridad (SC).
5. Método según las reivindicaciones 1 a 4, caracterizado por el hecho de consistir en incluir en los datos de gestión (R) un descriptor de utilización (D) de los datos (M1 a Mn), en desencriptar los datos de gestión (R) y en transmitir el descriptor (D) al descodificador si el resultado de la comparación es positivo, en tratar los datos (M1 a Mn) mediante el descodificador (IRD) según las directivas contenidas en el descriptor (D).
6. Método según las reivindicaciones 1 a 5, caracterizado por el hecho de que los datos (M1 a Mn) están acompañados de una información de validez (CRC, CS, H) de dichos datos y de que el módulo de seguridad (SC) transmite al descodificador la información para utilizar o no dicha información de validez para controlar las datos (M1 a Mn).
7. Método según la reivindicación 6, caracterizado por el hecho de que la información de validez es del tipo CRC (cyclic redundancy code), CS (checksum) o Hash (función llamada unidireccional y sin colisión).
8. Método según las reivindicaciones 1 a 7, caracterizado por el hecho de que consiste en incluir en los datos de gestión (R) una información de control global (H'y) representativa del resultado de una función llamada unidireccional y sin colisión, aplicada sobre todos o parte de los datos globales (MO a Mn), y estos datos son iguales o contienen los datos recibidos (M1 a Mn).
9. Método según la reivindicación 8, caracterizado por el hecho de que los datos de gestión (R) incluyen una certificación que autentifica el emisor de los datos (M1 a Mn).
10. Método según la reivindicación 8, caracterizado por el hecho de que consiste en calcular periódicamente o si se solicitan, los valores (H'X) representativos del resultado de una función llamada unidireccional y sin colisión aplicada a todos o a parte de los datos globales (M0 a Mm) mientras que la unidad de seguridad (SC) compara este resultado (H' X) con el valor de referencia (H'y).
11. Método según la reivindicación 10, caracterizado por el hecho de que el descodificador (IRD) efectúa el cálculo y el resultado de este cálculo (H'X) es transmitido a la unidad de seguridad (SC).
12. Método según la reivindicación 10, caracterizado por el hecho de que la unidad de seguridad (SC) efectúa el cálculo y los datos (M0 a Mm) son transmitidos desde el descodificador (IRD) a la unidad de seguridad (SC).
13. Método según las reivindicaciones 10 a 12, caracterizado por el hecho de que el cálculo periódico es efectuado si lo solicita el centro de gestión, la unidad de seguridad, una unidad de prueba (TEST) o uno de los medios de comunicación (NET, REC).
14. Método según las reivindicaciones 10 a 13, caracterizado por el hecho de que el resultado de la comparación es transmitido en un mensaje de abono normal del funcionamiento del sistema.
15. Método según las reivindicaciones 10 a 13, caracterizado por el hecho de que el valor calculado (H'x) es transmitido al centro de gestión al interior de unos mensajes de abono habituales del funcionamiento del sistema, y cada mensaje conteniendo sólo una parte del valor calculado (H'x).
16. Método según una de las reivindicaciones precedentes, caracterizado por el hecho de que la transmisión al centro de gestión se realiza de manera diferida, según un horario definido de manera pseudo-aleatoria en unos límites predefinidos.
17. Método para controlar la integridad y la autenticidad de un conjunto de datos memorizados (M1 a Mn) en una unidad de almacenamiento de datos conectada a una unidad de seguridad (SC) que comprende las etapas siguientes:
-
transmitir desde la unidad de almacenamiento a la unidad de seguridad (SC) unos datos de control (R1) que incluyen una información de referencia encriptada k1 (Hy) representativa del resultado de una función llamada unidireccional y sin colisión, aplicada previamente a todos o a parte de los datos (M1 en Mn),
-
calcular una información de control (Hx) representativa del resultado de una función llamada unidireccional y sin colisión, aplicada a todos o a parte de los datos (M1 a Mn),
-
comparar el valor calculado (Hx) con el valor de referencia desencriptado (Hy) por la unidad de seguridad (SC) y transferir a la unidad de almacenamiento los datos de la gestión (R2) que incluyen el resultado de la comparación.
18. Método según la reivindicación 17, caracterizado por el hecho de que la unidad de almacenamiento efectúa el cálculo y el resultado del cálculo (Hx) es transmitido a la unidad de seguridad (SC).
19. Método según la reivindicación 17, caracterizado por el hecho de que la unidad de seguridad (SC) efectúa el cálculo y los datos (M1 a Mn) son transmitidos desde la unidad de almacenamiento a la unidad de seguridad (SC).
20. Método según las reivindicaciones 17 a 19, caracterizado por el hecho de que consiste en incluir en los datos de control (R1) un descriptor de utilización (D) de los datos (M1 a Mn), y cuando el resultado de la comparación es positivo, en devolver a la unidad de almacenamiento el descriptor (D) de forma desencriptada, y en tratar los datos (M1 a Mn) mediante la unidad de almacenamiento según las directivas contenidas en el descriptor (D).
21. Método según la reivindicación 20, caracterizado por el hecho de que los datos de control (R1) incluyen una certificación que autentifica el emisor de los datos (M1 a Mn).
22. Método según una de las reivindicaciones 17 a 21, caracterizado por el hecho de que consiste en calcular periódicamente o si se solicitan, los valores (Hx) representativos del resultado de una función llamada unidireccional y sin colisión aplicada a todos o a parte de los datos (M1 a Mn), y la unidad de seguridad (SC) compara este resultado (Hx) con un valor de referencia (Hy).
23. Método según una de las reivindicaciones 17 a 22, caracterizado por el hecho de que consiste en:
-
almacenar los datos (M1 a Mn) en forma encriptada.
-
transmitir una clave (k3) de desencriptación de los datos (M1 a Mn) a la unidad de seguridad (SC) en los datos de control (R1)
-
si el resultado de la comparación Hx=Hy es positivo, desencriptar los datos (M1 a Mn) mediante la clave (k3).
24. Método según la reivindicación 23, caracterizado por el hecho de que la unidad de almacenamiento efectúa la operación de desencriptación de los datos (M1 a Mn) y la clave de la desencriptación (k3) es transmitida por la unidad de seguridad (SC).
25. Método según la reivindicación 23, caracterizado por el hecho de que la unidad de seguridad (SC) efectúa la operación de desencriptación de los datos (M1 a Mn) y estos datos (M1 a Mn) son transmitidos desde la unidad de almacenamiento a la unidad de seguridad (SC).
26. Método según las reivindicaciones 17 a 25, caracterizado por el hecho de que consiste en incluir en los datos de control (R1) un descriptor de utilización (D) de los datos (M1 a Mn), en desencriptar los datos de gestión (R1) y en transmitir el descriptor (D) a la unidad de almacenamiento si el resultado de la comparación es positivo, en tratar los datos (M1 a Mn) mediante la unidad de almacenamiento según las directivas contenidas en el descriptor (D).
ES00938956T 1999-08-04 2000-06-23 Metodo y dispositivo para controlar la integridad y la autenticidad de un conjunto de datos. Expired - Lifetime ES2235895T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CH1438/99 1999-08-04
CH143899 1999-08-04

Publications (1)

Publication Number Publication Date
ES2235895T3 true ES2235895T3 (es) 2005-07-16

Family

ID=4210473

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00938956T Expired - Lifetime ES2235895T3 (es) 1999-08-04 2000-06-23 Metodo y dispositivo para controlar la integridad y la autenticidad de un conjunto de datos.

Country Status (39)

Country Link
US (2) US6961429B1 (es)
EP (1) EP1201057B1 (es)
JP (1) JP4671088B2 (es)
KR (1) KR100782230B1 (es)
CN (1) CN1160904C (es)
AP (1) AP1496A (es)
AR (1) AR025013A1 (es)
AT (1) ATE286637T1 (es)
AU (1) AU769218B2 (es)
BG (1) BG64432B1 (es)
BR (1) BR0012987A (es)
CA (2) CA2381089C (es)
CO (1) CO5300514A1 (es)
CZ (1) CZ301928B6 (es)
DE (1) DE60017261T2 (es)
DZ (1) DZ3211A1 (es)
EA (1) EA003710B1 (es)
EE (1) EE200200055A (es)
ES (1) ES2235895T3 (es)
GE (1) GEP20033125B (es)
HK (1) HK1047205B (es)
HR (1) HRP20020101A2 (es)
HU (1) HU224845B1 (es)
IL (2) IL147589A0 (es)
IS (1) IS6188A (es)
MX (1) MXPA02000213A (es)
MY (1) MY130305A (es)
NO (1) NO332641B1 (es)
OA (1) OA12005A (es)
PA (1) PA8499301A1 (es)
PL (1) PL353208A1 (es)
PT (1) PT1201057E (es)
RS (1) RS49730B (es)
SK (1) SK1592002A3 (es)
TR (1) TR200200286T2 (es)
TW (1) TW540214B (es)
UA (1) UA66940C2 (es)
WO (1) WO2001011820A1 (es)
ZA (1) ZA200200124B (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2831757B1 (fr) * 2001-10-26 2004-01-30 Canal Plus Technologies Procede de verification de recepteurs de television a controle d'acces et recepteur correspondant
CN100337442C (zh) * 2003-06-27 2007-09-12 华为技术有限公司 一种在无线局域网中进行数据完整性保护的方法
EP1826695A1 (en) * 2006-02-28 2007-08-29 Microsoft Corporation Secure content descriptions
KR100765774B1 (ko) 2006-01-03 2007-10-12 삼성전자주식회사 도메인 관리 방법 및 그 장치
DE102006006868A1 (de) * 2006-02-15 2007-08-16 Zf Friedrichshafen Ag Schalteinrichtung zur Schaltung eines Kraftfahrzeug-Getriebes
KR101079592B1 (ko) * 2006-11-03 2011-11-04 삼성전자주식회사 디스플레이장치 및 그 정보갱신방법
FI20075776L (fi) * 2007-10-31 2009-05-01 Eads Secure Networks Oy Päästä-päähän salattu viestintä
DE102010033229A1 (de) * 2010-08-03 2012-02-09 Siemens Aktiengesellschaft Verfahren und System zur manipulationssicheren Übertragung von Steuerdaten
US10191826B2 (en) * 2016-03-23 2019-01-29 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods, systems, and computer readable media for providing an anticipated data integrity check
US10176068B2 (en) 2016-11-29 2019-01-08 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods, systems, and computer readable media for token based message capture
CN109086612B (zh) * 2018-07-06 2022-01-14 北京航空航天大学 一种基于硬件实现的嵌入式系统动态数据保护方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448641A (en) * 1993-10-08 1995-09-05 Pitney Bowes Inc. Postal rating system with verifiable integrity
CA2149067A1 (en) * 1994-06-22 1995-12-23 Joseph Anton Bednar Jr. User-identification and verification of data integrity in a wireless communication system
FR2729521A1 (fr) * 1995-01-17 1996-07-19 Thomson Consumer Electronics Procede de protection des messages de gestion d'un systeme de controle d'acces et dispositif pour sa mise en oeuvre
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
JP2000514625A (ja) * 1996-07-11 2000-10-31 ジェムプリュス エス.セー.アー. 短いエンハンストメッセージとセルラー無線通信システム内の短いエンハンストメッセージ交換の同期とセキュリティの方法
JP2001512842A (ja) * 1997-08-01 2001-08-28 サイエンティフィック−アトランタ・インコーポレーテッド 条件付きアクセスシステムにおいて使用される暗号化装置
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
US6201798B1 (en) 1997-11-14 2001-03-13 Worldspace Management Corporation Signaling protocol for satellite direct radio broadcast system
US6069647A (en) * 1998-01-29 2000-05-30 Intel Corporation Conditional access and content security method
US6959384B1 (en) * 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
US20010048669A1 (en) 2000-04-14 2001-12-06 Frank Kelly System interfaces in a two-way satellite system
DE10031178A1 (de) 2000-06-27 2002-01-17 Siemens Ag Verfahren sowie Vorrichtung zur Positionsbestimmung mindestens eines Teilnehmergeräts eines Funkkommunikationssystems

Also Published As

Publication number Publication date
DE60017261D1 (de) 2005-02-10
AP1496A (en) 2005-11-17
CO5300514A1 (es) 2003-07-31
HU224845B1 (en) 2006-03-28
CZ200277A3 (cs) 2002-05-15
BG106305A (en) 2002-08-30
EA003710B1 (ru) 2003-08-28
BG64432B1 (bg) 2005-01-31
PA8499301A1 (es) 2002-09-17
IL147589A0 (en) 2002-08-14
AU769218B2 (en) 2004-01-22
ATE286637T1 (de) 2005-01-15
MXPA02000213A (es) 2003-08-20
JP4671088B2 (ja) 2011-04-13
KR20020022092A (ko) 2002-03-23
EP1201057A1 (fr) 2002-05-02
OA12005A (en) 2006-04-19
PL353208A1 (en) 2003-11-03
CA2686435A1 (en) 2001-02-15
PT1201057E (pt) 2005-05-31
DZ3211A1 (fr) 2001-02-15
AP2002002408A0 (en) 2002-03-31
DE60017261T2 (de) 2005-12-08
EE200200055A (et) 2003-04-15
YU90001A (sh) 2003-07-07
JP2003506963A (ja) 2003-02-18
CZ301928B6 (cs) 2010-08-04
AR025013A1 (es) 2002-11-06
AU5417500A (en) 2001-03-05
US6961429B1 (en) 2005-11-01
SK1592002A3 (en) 2002-05-09
IL147589A (en) 2007-07-04
HRP20020101A2 (es) 2003-12-31
NO20020460L (no) 2002-01-29
RS49730B (sr) 2008-04-04
HK1047205A1 (en) 2003-02-07
CN1360772A (zh) 2002-07-24
TR200200286T2 (tr) 2002-06-21
KR100782230B1 (ko) 2007-12-05
CA2381089C (en) 2010-02-16
EA200200102A1 (ru) 2002-06-27
BR0012987A (pt) 2002-04-23
MY130305A (en) 2007-06-29
GEP20033125B (en) 2003-11-25
EP1201057B1 (fr) 2005-01-05
TW540214B (en) 2003-07-01
CN1160904C (zh) 2004-08-04
HK1047205B (zh) 2005-02-25
HUP0201567A2 (en) 2002-09-28
WO2001011820A1 (fr) 2001-02-15
NO332641B1 (no) 2012-11-26
IS6188A (is) 2001-11-29
NO20020460D0 (no) 2002-01-29
ZA200200124B (en) 2003-04-30
CA2381089A1 (en) 2001-02-15
UA66940C2 (en) 2004-06-15
US20050281406A1 (en) 2005-12-22

Similar Documents

Publication Publication Date Title
ES2665987T3 (es) Dispositivo y procedimiento para la decodificación de datos
ES2329149T3 (es) Metodo de cifrado y transferencia de datos entre un emisor y un receptor utilizando una red.
ES2235895T3 (es) Metodo y dispositivo para controlar la integridad y la autenticidad de un conjunto de datos.
US20090063861A1 (en) Information security transmission system
JPH09238132A (ja) 携帯用端末通信システム及びその通信方法
ES2404041T3 (es) Sistema y método para proporcionar acceso autorizado a contenido digital
US9986308B2 (en) Method and device to embed watermark in uncompressed video data
KR100910432B1 (ko) 무선 통신 장치용 보안 처리 및 데이터 저장을 제공하는 방법 및 장치
ITRM20000333A1 (it) Sistema on-line di accesso condizionamento e controllo dell'audience per servizi di comunicazione di tipo broadcast e multicast.
KR20180015667A (ko) 보안 sms 통신을 위한 방법 및 시스템
JP6473876B2 (ja) セキュアネットワーク通信方法
ES2687396T3 (es) Métodos y dispositivos para la transferencia segura de datos útiles
CN113591109B (zh) 可信执行环境与云端通信的方法及系统
KR100757685B1 (ko) Pki 기반 스마트 카드용 명령어 전송 서버 인증 방법 및시스템
BRPI0923999A2 (pt) método para a autenticação no acesso condicional de transmissão de multimídia móvel, sistema de acesso condicional de transmissão de multimídia móvel, extremidade anterior de acesso condicional de transmissão de multimídia móvel e terminal de acesso condicional de transmissão de multimídia móvel.
ES2276909T3 (es) Metodo y disposicion en un sistema de comunicaciones.
CN114124377B (zh) 一种量子密钥的传输方法、装置、系统及存储介质
JP2008294861A (ja) 鍵管理方法及びシステム及びサービス提供センタ装置及びicカード及びプログラム
KR101628467B1 (ko) 일방향 데이터 전송 장치 및 그 방법
JP2004348542A (ja) 携帯記憶媒体へのデータ書き込み確認方法、携帯記憶媒体、サーバー、及びシステム、
JP2007251437A (ja) 認証方法及び安全な通信制御方法