ES2553985T3 - Método de protección de actualizaciones de software - Google Patents
Método de protección de actualizaciones de software Download PDFInfo
- Publication number
- ES2553985T3 ES2553985T3 ES03777041.9T ES03777041T ES2553985T3 ES 2553985 T3 ES2553985 T3 ES 2553985T3 ES 03777041 T ES03777041 T ES 03777041T ES 2553985 T3 ES2553985 T3 ES 2553985T3
- Authority
- ES
- Spain
- Prior art keywords
- key
- update
- pkr
- list
- signature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012795 verification Methods 0.000 claims abstract description 12
- 238000009434 installation Methods 0.000 claims abstract description 10
- 230000009849 deactivation Effects 0.000 claims abstract description 8
- 230000005540 biological transmission Effects 0.000 claims abstract description 6
- 230000004913 activation Effects 0.000 claims abstract 4
- 230000015654 memory Effects 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 8
- 239000003550 marker Substances 0.000 claims description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000006386 neutralization reaction Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000007420 reactivation Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2351—Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/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/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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
- H04N21/63345—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
-
- 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
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Método de protección de actualización de datos de una pluralidad de aparatos, donde cada aparato recibe las actualizaciones de un centro de gestión, donde estas actualizaciones (PR) permiten pasar el aparato de una versión inicial N a una versión final R, donde la diferencia (R-N) entre la versión inicial N y la versión final R supera la unidad, donde estas actualizaciones (PR) van acompañadas de un bloque de control que comprende al menos una firma (H(PR))PKR asociada a dicha actualización, donde esta firma (H(PR))PKR está encriptada por una clave (PKR) asimétrica seleccionada de una lista de claves asimétricas contenida en el centro de gestión, donde la lista correspondiente de las claves asimétricas está almacenada en el aparato, caracterizado por las etapas siguientes: a) preparación por el centro de gestión de una serie de mensajes (M1...MR-1) donde cada mensaje está encriptado con una clave asimétrica corriente (PK1 ...PKR-1) y envío de la serie de mensajes (M1 ...MR-1) encriptados al aparato, b) recepción de dichos mensajes (M1 ...MR-1) por el aparato y utilización de cada clave actual correspondiente (K1 ...KR-1) para la desencriptación de cada mensaje (M1 ...MR-1), c) si la desencriptación del mensaje con la clave corriente tiene éxito, desactivación de cada clave corriente correspondiente (K1 ...KR-1) y activación de la clave corriente (KR) correspondiente a la versión (R) de la actualización (PR), d) preparación por el centro de gestión de la actualización (PR) y de su firma (H(PR)) PKR encriptada con la clave asimétrica actual (PKR) y transmisión al aparato, donde dicha transmisión no comprende ninguna indicación que permita al aparato seleccionar una clave asimétrica de su lista de claves asimétricas, e) recepción de la actualización (PR) y de su firma (H(PR))PKR por el aparato, f) utilización de la clave actual correspondiente (KR) para la desencriptación de la firma (H(PR))PKR para obtener una primera huella H(PR)1 esperada de la actualización (PR), g) verificación de la conformidad de la actualización (PR) mediante el cálculo de un segunda huella H(PR)2 sobre los datos de la actualización (PR) y comparación de la primera y la segunda huella, h) instalación de la actualización (PR) recibida si la verificación ha sido positiva y, i) desactivación de la clave correspondiente actual (KR) del aparato y activación de la clave siguiente (KR+1), donde dicha clave corriente correspondiente (KR) se vuelve inservible para todo uso posterior, donde dicha desactivación se lleva a cabo después cada uso de una clave.
Description
DESCRIPCIÓN
Método de protección de actualizaciones de software.
[0001] La presente invención se refiere a un método de protección de las actualizaciones de programas informáticos de 5 utilización que asegura el funcionamiento de los sistemas más diversos.
De una forma más particular, el método de la invención utiliza un mecanismo de firma numérica con una clave privada de un algoritmo de encriptado asimétrico.
[0002] Un sistema se define aquí como un aparato o un conjunto de aparatos cuyo funcionamiento depende de uno o 10 más programas almacenados en una memoria no volátil o un disco duro.
Cuando las funcionalidades del sistema se deben mejorar o completar con el fin de adaptarse a las exigencias crecientes del usuario, es a menudo necesario actualizar únicamente el software que corresponda sin por lo tanto cambiar el hardware que constituye el sistema.
15
[0003] La actualización de un software dado se efectúa en general mediante el reemplazo de ficheros de un software ya instalado o por adición de nuevos ficheros que completan los que están almacenados.
El conjunto constituye entonces una nueva versión del software previamente instalado en el sistema que se beneficia así de las mejoras deseadas.
20
[0004] Numerosos aparatos tales como ordenadores y sus periféricos, máquinas expendedoras, teléfonos fijos y móviles, descodificadores de televisión de pago, etc. se pilotan a través de programas adaptados a su configuración y a las funciones de componentes específicos.
[0005] Por ejemplo, en un descodificador de televisión de pago (Set Top Box), un software de explotación gestiona 25 periféricos tales como un disco duro, un lector de tarjetas de chip, interfaces de recepción de datos y memorias.
Con el fin de introducir cambios ya sea a nivel de la configuración, ya sea a nivel de las funcionalidades, a veces es necesario reemplazar el software existente o aportar las mejoras al que ya está instalado en el descodificador.
Este tipo de evolución se efectúa mediante porciones de programas que se llaman actualizaciones o parches proporcionados por el centro de gestión del operador al cual están abonados un cierto número de usuarios. 30
Estas actualizaciones las proporciona regularmente el centro de gestión y se descargan en los descodificadores de cada abonado que posea los derechos necesarios.
[0006] El documento WO98/43431 describe un método de descarga de aplicaciones en un receptor/descodificador.
El software de la aplicación se divide en módulos y la descarga de los módulos está precedida por una búsqueda de un 35 módulo repertorio en una dirección local determinada.
Los módulos se firman y el módulo repertorio se firma y se encripta de forma que una sola encriptación se aplica a todos los módulos que forman la aplicación.
Varias claves públicas de codificación se almacenan en una memoria de sólo lectura (ROM) del receptor/descodificador.
Las aplicaciones pueden ser así creadas por diferentes fuentes sin necesitar el conocimiento de cada una de sus claves 40 privadas.
Una firma del repertorio se puede disimular en una posición variable dentro de un bloque de datos arbitrarios en el módulo repertorio.
Una aplicación que se va a descargar se puede verificar por comparación con un mapa de bits de validación de aplicación almacenado en el receptor/descodificador. 45
[0007] El documento WO01/35670 describe un método de autentificación de informaciones transmitidas a un descodificador de televisión de pago.
Un objeto software y una estructura de datos separada que contiene informaciones de autorización se firman digitalmente con una firma global que cubre los dos objetos. 50
Estos últimos se transmiten separadamente al descodificador.
Cuando estos dos objetos son recibidos por el descodificador, la firma es verificada.
[0008] Los usuarios de un descodificador poseen en general un contrato de pago con un operador que les garantiza un servicio de mantenimiento regular del software instalado en el descodificador. 55
Con el fin de limitar el abuso por copias no autorizadas y por introducción de componentes software extranjeros, resulta indispensable proteger las actualizaciones del software del descodificador.
Un método conocido consiste en utilizar una huella codificada con una clave de un algoritmo de encriptado asimétrico de tipo RSA. El software de actualización se proporciona en línea con una huella obtenida por medio de una función de comprobación aleatoria de dirección única (Hash). Esta huella constituye una imagen única que representa el conjunto 60 de la actualización y se admite que no existen dos huellas idénticas en dos mismos conjuntos de datos diferentes.
Esta huella se encripta con ayuda de una clave privada del operador asociada a un conjunto de abonados, lo que constituye una firma propia de este conjunto.
El software acompañado de esta firma se carga en una memoria de acceso aleatorio RAM (Random Access Memory) del descodificador. 65
Un programa que forma parte del software del descodificador calcula con la función de comprobación aleatoria (Hash)
una huella del software almacenado en la memoria RAM. La firma recibida se descodifica con una clave pública contenida en el descodificador y después se compara con la huella del software calculada anteriormente.
Si la firma descodificada corresponde a la huella resultante de la comprobación aleatoria, la firma que acompaña la actualización almacenada en la memoria RAM se considera como válida.
El software de actualización se instalará en la memoria no volátil del descodificador (memoria Flash). 5
[0009] La protección se realiza así mediante la verificación de la firma con una clave pública en el descodificador correspondiente a la clave privada del operador.
[0010] La clave pública que reside en el descodificador debe ser fija, así como el programa que permite la verificación 10 de la firma.
La autenticidad de la firma está asegurada por el hecho de que la clave privada depende de la clave pública del descodificador.
La firma no se puede reproducir porque la clave privada sólo la conoce un operador determinado.
Además, una misma firma es inservible para varias actualizaciones diferentes porque es una función de una 15 actualización bien definida.
Un software de actualización firmado y cuyo contenido se modifica en la memoria RAM dará otra huella que no puede por lo tanto ser validada por la firma desencriptada por medio de la clave pública.
De hecho, la huella resultante después de la comprobación aleatoria de la actualización a nivel del descodificador es diferente de la obtenida después de la desencriptación de la firma. 20
[0011] Sin embargo, este método de protección comprende un punto débil que es la propia clave privada del operador.
De hecho, cuando ésta es descubierta por un tercero, éste puede firmar un software cualquiera e introducir modificaciones abusivas en el sistema.
25
[0012] Este descubrimiento se puede hacer en forma de iteración sobre la clave pública que este tercero habrá extraído en el descodificador, hasta que descubre el par de claves correcto.
La defensa que consiste en modificar el comportamiento el software del descodificador para que rechace las firmas generadas con la clave descubierta es insuficiente porque el tercero puede esquivar estas modificaciones con programas adecuados. 30
[0013] El documento WO99/49611A describe un método de transmisión protegida de datos entre un primer dispositivo y un segundo dispositivo.
Cada dispositivo contiene una secuencia idéntica de claves de codificación.
Un marcador indica la misma clave en la secuencia del primer y del segundo dispositivo. 35
El primer dispositivo transmite al segundo dispositivo datos encriptados con la clave designada por el marcador.
El segundo dispositivo recibe estos datos y los desencripta con la clave designada por el marcador en la secuencia de dicho segundo dispositivo.
Después de la desencriptación de los datos, los marcadores de las secuencias del primer y del segundo dispositivo son incrementados o se desplazan hacia una clave siguiente de manera sincronizada con el fin de preparar cada dispositivo 40 para una nueva transmisión de datos encriptados.
[0014] El objetivo de la presente invención es reducir considerablemente el impacto del descubrimiento de una clave privada mediante un análisis sistemático del funcionamiento del software del descodificador o incrementar considerablemente el tiempo y los medios necesarios en el proceso utilizado para su determinación. 45
[0015] El objetivo se alcanza mediante un método de protección de actualización de datos según la reivindicación 1.
[0016] Los datos de una actualización los transmite el centro de gestión en forma de un parche y de un bloque de control que comprende una firma constituida por la huella del parche encriptado con una clave privada del centro de 50 gestión.
El descodificador almacena estos datos en la memoria de acceso aleatorio RAM con el fin de llevar a cabo su tratamiento.
Una clave pública, asociada a esta clave privada llamada clave corriente, se selecciona a partir de una lista almacenada en una primera memoria no volátil con el fin de descodificar la firma del parche. 55
En caso de que la desencriptación y la verificación tengan éxito, se ejecuta un control que da lugar a la instalación del parche en una segunda memoria no volátil (flash) del descodificador.
La clave corriente así utilizada se desactiva en la lista, lo que hace que la clave siguiente esté disponible para la próxima actualización.
60
[0017] Cuando la verificación de la firma y la desencriptación de una actualización del descodificador se efectúa con una clave pública de la lista, ésta se borra y se convierte en inservible para próximas actualizaciones.
Por lo tanto, en cada actualización, se utiliza una nueva clave que luego se elimina de la lista.
Las claves públicas de la lista deben ser no modificables como el programa que sirve para la verificación de la firma. El documento WO00/56009 describe un sistema de seguridad y un método para proteger un acceso de un terminal 65 distante o de un ordenador a un ordenador host utilizando contraseñas muy largas y/o una gran base de datos de claves
de identificación.
El método de control de acceso a un recurso accesible a partir de una pluralidad de unidades de usuarios comprende las etapas de: generación de una pluralidad de conjuntos de claves únicas largas, creación de una base de datos de claves que comprende una recopilación de cada conjunto de claves, almacenamiento de la base de datos de claves en un medio de almacenamiento conectado a un host, programación de una unidad de usuario para comunicarse con el 5 host y para transmitir o recibir las claves de o a partir del host, programación del host para comunicar con la unidad de usuario y para transmitir o recibir claves de o a partir de la unidad de usuario y distribución de uno o varios conjuntos de claves de usuario a un usuario autorizado del recurso, donde dicho conjunto de llaves de usuario está registrado en un medio de almacenamiento asociado a la unidad de usuario antes o después la distribución del conjunto de claves de usuario al usuario autorizado. 10
El conjunto de llaves de usuario es del tipo «teclado de un solo uso», es decir, que cada clave del conjunto sólo se utiliza una vez.
Según una variante, el medio de almacenamiento de la unidad de usuario comprende una memoria inscribible en la cual las claves utilizadas del conjunto de claves de usuario son borradas o superpuestas.
La lista sólo es modificable (eliminación de las llaves utilizadas) por el programa de verificación. 15
[0018] El método descrito anteriormente permite reducir considerablemente las posibilidades de modificaciones del descodificador por un tercero que ha descubierto una clave privada.
Ya que una clave sólo es utilizable una vez, el tercero no efectuará más que una sola modificación.
En consecuencia, una modificación del comportamiento del descodificador para protegerlo de los efectos del pirateo 20 resulta más eficaz porque el tercero, al no no disponer más de una clave privada válida, se encuentra así ante de un aparato inaccesible.
[0019] Debido a que las claves privadas utilizables son más numerosas, un tercero debe por lo tanto atacar sistemáticamente todas las claves para no ser bloqueado en una actualización que corresponda a la clave que ha 25 descubierto.
Hay que saber que la evolución del software de los descodificadores es rápida y que se considera que si una de las claves se descubre, las actualizaciones siguientes volverán a cubrir los fallos de seguridad que el tercero hubiera podido introducir.
Si este tercero es capaz de bloquear toda actualización posterior, las funcionalidades del descodificador se convertirán 30 en obsoletas rápidamente y por lo tanto no tendrán un gran perjuicio para el operador.
[0020] El uso de claves asimétricas es importante en este contexto porque la extracción de las claves públicas de un descodificador no permite fabricar una actualización aceptable puesto que esta actualización debe ser firmada por la clave privada del operador. 35
Es común el colocar las claves privadas en la parte protegida (el operador) y las claves públicas en la parte de dominio público (el descodificador).
Sin embargo, es posible invertir estas claves sin perjudicar el funcionamiento de la presente invención.
[0021] Una primera forma de realización de la invención propone el uso de claves públicas seleccionadas en un orden 40 predeterminado a partir de la lista.
Así, cada clave de la lista se selecciona en cuanto la clave precedente es utilizada.
[0022] La invención se comprenderá mejor gracias a la descripción detallada que aparece a continuación y que se refiere a las figuras anexadas que sirven de ejemplo de forma no limitativa, a saber: 45
- la figura 1 representa el desarrollo de una etapa de actualización de un descodificador de una versión N a una versión N+1.
- la figura 2 muestra una actualización de una versión N a una versión R 50
[0023] En el ejemplo ilustrado por la figura 1, un descodificador de versión inicial se actualiza a la versión 1 con un parche P1. Este parche P1 es transmitido con su firma (H(P1))PK1 por el centro de gestión del operador hasta el descodificador.
La etapa de actualización empieza por la carga del parche P1 en la memoria RAM del descodificador. 55
[0024] La firma (H(P1))PK1 se obtiene por encriptación de la huella H(P1) del parche P1 con la clave privada PK1 del operador, operación efectuada en el centro de gestión.
Esta huella se calcula por el operador a partir del parche P1 con una función de comprobación aleatoria H de dirección única de tipo Hash. 60
[0025] El software del descodificador se carga a continuación de descodificar la firma (H(P1))PK1 recibida con una clave pública K1 con el fin obtener la huella del parche H(P1)1. Paralelamente, este mismo software calcula la huella H(P1)2 del parche P1 almacenada en la memoria RAM. La primera huella salida de la desencriptación de la firma H(P1)1 y la segunda H(P1)2 resultante del cálculo por la función de comprobación aleatoria H son comparadas. 65
Si los dos valores concuerdan, el parche P1 se instala en la memoria no volátil Flash FH del descodificador que realiza
así la actualización del software del descodificador.
La clave pública K1 utilizada para descodificar la firma se borra de la lista.
[0026] Una segunda actualización de la versión 1 a la versión 2 transmitida por el centro de gestión en forma de un nuevo parche P2 acompañado de su firma (H(P2))PK2 pasa por el mismo procedimiento de descarga y de verificación. 5
Una nueva clave pública K2 seleccionada de la lista será entonces utilizada del lado del descodificador.
Todas las actualizaciones siguientes transmitidas se verifican de la misma manera utilizando cada vez una nueva clave pública seleccionada de la lista.
Las claves de las actualizaciones precedentes son neutralizadas ya sea mediante borrado, ya sea mediante una marcación adecuada. 10
[0027] Al aplicar este procedimiento, se efectúa una actualización de un software de la versión 1 hacia una versión N en N-1 etapas.
El centro de gestión transmitirá N-1parches con N-1 firmas correspondientes encriptadas cada una por una clave privada propia de cada versión. 15
La instalación de diferentes parches comprende por lo tanto la neutralización de N-1 claves públicas de la lista.
[0028] La lista de las claves públicas se puede almacenar por ejemplo en una memoria no volátil del tipo EEPROM (memoria de sólo lectura programable y borrable eléctricamente).
Después de cada uso de una clave en el momento de una actualización, ésta se borra definitivamente de la EEPROM , 20 lo que autoriza el acceso a la clave siguiente para la próxima actualización.
[0029] Según otra forma de realización, la lista de las claves públicas no se altera por un borrado o una marcación de una clave.
Después de cada instalación de una versión de software en la memoria no volátil Flash, se incrementa un contador o se 25 desplaza un marcador para indicar la fila de la clave que se va a seleccionar de la lista en el momento de la próxima actualización.
Así en el momento de cada actualización, sólo la clave que servirá para descodificar la firma del parche es designada, y las llaves precedentes ya no pueden ser seleccionadas porque el contador o el marcador no pueden progresar más que en un sólo sentido, el de las filas crecientes. 30
[0030] Según una variante, el parche puede ser encriptado por la clave privada del operador.
Una etapa suplementaria de desencriptación se agrega por lo tanto al procedimiento descrito anteriormente.
El parche P recibido y cargado en la memoria RAM se puede desencriptar con la clave pública delantera que tiene el cálculo por la función de comprobación aleatoria H de la huella que sirve para la verificación de la firma. 35
El cálculo de la huella puede igualmente ser efectuado sobre los parches en su forma encriptada.
[0031] La instalación de actualizaciones por terceros resulta más difícil porque cada cambio de versión exige el conocimiento de la clave actual.
Esta última cambia en cada actualización, lo que obliga el tercero a conocer todas las claves para seguir las diferentes 40 actualizaciones.
[0032] El procedimiento descrito previamente puede presentar un problema cuando el descodificador se queda fuera de servicio cuando se deben llevar a cabo varias actualizaciones.
El paso de una versión antigua de un software a una nueva cuyo número no es consecutivo al de la versión precedente 45 se efectúa secuencialmente en varias etapas sucesivas.
Estas últimas utilizan claves públicas diferentes seleccionadas de la lista una tras otra y en orden.
Se recuerda que el parche en sí mismo no contiene un orden que permita seleccionar una clave diferente de la clave actual.
Si ese fuera el caso, un tercero podría utilizar este control para forzar el uso de una clave que él conoce. 50
[0033] La figura 2 ilustra el caso de un paso de un software de una versión N a una versión R donde la diferencia R-n entre la nueva versión y la precedente excede de la unidad.
El ejemplo que aparece a continuación se refiere a un caso donde N=2 y R=5.
55
[0034] Un descodificador cuyo software es de versión 2 no puede descodificar directamente la firma (H(P))PK5 de la nueva versión 5 porque la clave disponible en la lista de las claves públicas es la de la versión inmediatamente superior, es decir, la clave K3. Para la instalación de la nueva versión 5, debe poder acceder a la clave correspondiente a esta versión, es decir, la clave K5.
60
[0035] La solución consiste en transmitir un flujo de datos que contiene el parche P para la actualización del software del descodificador a la versión 5 firmado con la clave PK5 al cual se agrega una pluralidad de mensajes M1, M2, M3, M4 encriptados cada uno con una clave privada PK1, PK2, PK3, PK4 sacada de la lista de claves.
La memoria de acceso aleatorio RAM almacena estos mensajes así como el parche P con su firma (H(P))PK5. Cuando la versión del descodificador es la 2, la clave de la actualización de la versión 1 a 2 ya se ha desactivado mediante la 65 primera actualización.
El mensaje M1 es entonces ignorado porque la clave K1 que sirve para descodificarlo ya no está disponible.
[0036] Los mensajes siguentes M2, M3 y M4 sirven para desactivar una tras otra las claves públicas K2, K3, y K4 que corresponden a cada versión intermedia desde la versión 2 hasta la versión 4 antes de la versión 5. Así, para instalar la versión 5 en la memoria no volátil Flash, cada clave pública K2, K3, y K4 de la lista es utilizada y después neutralizada o 5 borrada.
En el momento de la desencriptación del mensaje por la clave correcta, el contenido de este mensaje se reconoce y provoca la operación de neutralización de la clave actual.
Si el mensaje no se reconoce, esto significa que la clave de codificación de este mensaje no es la clave actual.
10
[0037] Después las desencriptaciones sucesivas y con éxito de los mensajes M2, M3, M4, la clave K5 necesaria para la desencriptación de la firma del parche (H(P))PK5 (y del parche P) se convierte en la clave actual.
Esta última será también borrada de la lista después de la instalación del parche y la clave K6 estará presente en la cabeza de la lista para la próxima actualización de la versión 5 a la versión 6.
15
[0038] Un tal flujo puede por lo tanto actualizar todo un parque de descodificadores sea cual sea su versión de software gracias a los mensajes de cambio de clave que acompañan al parche.
Cada descodificador dispone de una clave pública en la lista capaz de descodificar una actualización de la versión actual después de la neutralización de los claves antiguas.
20
[0039] En el momento de una actualización del software de un descodificador de una versión N a una versión R donde la diferencia R-n se convierte en grande, por ejemplo superior a 10, resulta molesto para un descodificador que tiene una versión R-1 descodificar sistemáticamente todos los mensajes con el fin de verificar las órdenes de desactivación.
Este descodificador va a aplicar su clave corriente (R-1) a cada uno de estos mensajes para constatar que no puede interpretar su contenido. 25
[0040] Una primera solución consiste en introducir en abierto en el membrete de los mensajes del índice correspondiente a los números de diferentes versiones.
Este índice sirve únicamente para evitar la desencriptación de los mensajes que han sido encriptados por una clave diferente de la clave actual. 30
Este índice no selecciona la fila de la clave actual, sólo la desencriptación con éxito de un mensaje con dicha clave actual provoca el avance de una fila en la lista de claves.
[0041] Según una segunda solución, la huella del parche de actualización se encripta sucesivamente mediante todas las claves privadas de las actualizaciones precedentes. 35
Este procedimiento obliga una utilización de cada clave pública de la lista, una tras otra, para descodificar la firma.
En tal caso de codificación en cadena, al contrario que lo anterior, todas las claves públicas deben quedar disponibles en la memoria EEPROM del descodificador.
Por ejemplo, para una actualización de la versión 1 hacia la versión N, la huella del parche P se encripta con una clave privada de la versión N. El conjunto es a continuación encriptado con la clave privada de la versión N-1, luego con la 40 clave de la versión N-2 y así sucesivamente hasta la versión 1. La desencriptación necesita por lo tanto el uso sucesivo de las claves públicas K1 a KN-1 correspondientes a las actualizaciones de la versión 1 a la versión N. La interrupción de este mecanismo reiterativo se hace por el reconocimiento de una marca apropiada en el resultado de la desencriptación.
45
[0042] Si se desea proteger los datos de actualización, una manera de proceder consiste en utilizar una clave de sesión SK generada aleatoriamente por el centro de gestión por ejemplo.
Por razones operativas de rapidez, esta clave es de tipo simétrico.
El centro de gestión codifica el parche con la clave de sesión SK y compone un conjunto de datos que comprenden la clave de sesión SK y la huella del parche de actualización. 50
Este conjunto es encriptado por la clave privada corriente del operador para constituir el bloque de control.
[0043] El parche codificado y el bloque de control se cargan en la memoria de acceso aleatorio RAM del descodificador.
El bloque es desencriptado por la clave pública actual en la lista, lo que da la huella del parche y la clave de sesión SK. Esta última se aplica al parche cargado en la memoria RAM que permite su desencriptación. 55
Después, la huella del parche se verifica y, en caso de concordancia, el parche se instala en la memoria no volátil Flash.
[0044] La clave de sesión se puede introducir como medio de protección complementaria en una u otra de las variantes descritas anteriormente, por ejemplo:
60
- la actualización sencilla de una versión 1 a una versión N en varias etapas,
- la actualización de una versión N a R con ayuda de un parche y mensajes de desactivación de las claves.
[0045] En un descodificador que ha sido actualizado a numerosas reactivaciones, el número de claves públicas a 65 disposición disminuye mientras que el número de llaves desactivadas aumenta al mismo tiempo que las actualizaciones
logradas.
Con el fin de reconstituir una lista de claves para permitir las futuras actualizaciones, una nueva lista de claves públicas se puede mandar al descodificador por el centro de gestión.
Esta lista se puede incorporar en el flujo de datos y se puede acompañar de una firma como para un parche de actualización. 5
Ésta se almacena en la memoria EEPROM y reemplaza la antigua lista con las llaves desactivadas.
[0046] Según una variante del método de la invención, el centro de gestión y los descodificadores disponen respectivamente de una lista de claves privadas y públicas fija.
Con cada actualización, el centro de gestión elige aleatoriamente un conjunto de claves privadas entre las de la lista y 10 codifica la huella del parche sucesivamente con cada clave del conjunto.
El centro compone unos datos masivos que comprenden la huella encriptada (firma) y una continuación de números que corresponden a las filas de las claves seleccionadoas anteriormente.
Esta continuación se puede transmitir en abierto o encriptada con una clave de sesión.
El descodificador que recibe la continuación de números selecciona en la lista de las claves públicas, según su fila, las 15 claves necesarias para descodificar la huella del parche.
La lista no puede entender más de una vez el mismo número de clave y la longitud de esta lista (número de llaves utilizadas) se conoce y no es modificable.
En esta variante, las listas de claves quedan fijas y no se alteran tras una instalación con éxito de un parche.
Con cada actualización, una nueva combinación de claves seleccionadas de la lista se utiliza para la firma del parche. 20
Un tercero deberá por lo tanto siempre disponer de un conjunto de claves para introducir una actualización en un aparato, lo que necesita medios más consecuentes que para la determinación de una sola clave.
[0047] El procedimiento de protección de actualización según la invención es independiente del servicio de emisión utilizado entre un proveedor y un usuario. 25
De hecho, el procedimiento puede también aplicarse sobre parches distribuidos en CD-ROM, en disquete o en cualquier otro soporte de datos digitales.
Claims (11)
- REIVINDICACIONES1. Método de protección de actualización de datos de una pluralidad de aparatos, donde cada aparato recibe las actualizaciones de un centro de gestión, donde estas actualizaciones (PR) permiten pasar el aparato de una versión 5 inicial N a una versión final R, donde la diferencia (R-N) entre la versión inicial N y la versión final R supera la unidad, donde estas actualizaciones (PR) van acompañadas de un bloque de control que comprende al menos una firma (H(PR))PKR asociada a dicha actualización, donde esta firma (H(PR))PKR está encriptada por una clave (PKR) asimétrica seleccionada de una lista de claves asimétricas contenida en el centro de gestión, donde la lista correspondiente de las claves asimétricas está almacenada en el aparato, caracterizado por las etapas siguientes: 10a) preparación por el centro de gestión de una serie de mensajes (M1...MR-1) donde cada mensaje está encriptado con una clave asimétrica corriente (PK1 ...PKR-1) y envío de la serie de mensajes (M1 ...MR-1) encriptados al aparato,b) recepción de dichos mensajes (M1 ...MR-1) por el aparato y utilización de cada clave actual correspondiente (K1 ...KR-1) para la desencriptación de cada mensaje (M1 ...MR-1), 15c) si la desencriptación del mensaje con la clave corriente tiene éxito, desactivación de cada clave corriente correspondiente (K1 ...KR-1) y activación de la clave corriente (KR) correspondiente a la versión (R) de la actualización (PR),d) preparación por el centro de gestión de la actualización (PR) y de su firma (H(PR)) PKR encriptada con la clave asimétrica actual (PKR) y transmisión al aparato, donde dicha transmisión no comprende ninguna indicación que permita 20 al aparato seleccionar una clave asimétrica de su lista de claves asimétricas,e) recepción de la actualización (PR) y de su firma (H(PR))PKR por el aparato,f) utilización de la clave actual correspondiente (KR) para la desencriptación de la firma (H(PR))PKR para obtener una primera huella H(PR)1 esperada de la actualización (PR),g) verificación de la conformidad de la actualización (PR) mediante el cálculo de un segunda huella H(PR)2 sobre los 25 datos de la actualización (PR) y comparación de la primera y la segunda huella,h) instalación de la actualización (PR) recibida si la verificación ha sido positiva y,i) desactivación de la clave correspondiente actual (KR) del aparato y activación de la clave siguiente (KR+1), donde dicha clave corriente correspondiente (KR) se vuelve inservible para todo uso posterior, donde dicha desactivación se lleva a cabo después cada uso de una clave. 30
- 2. Método según la reivindicación 1, caracterizado por el hecho de que la segunda huella H(PR )2 es el resultado de una función de comprobación aleatoria, y por el hecho de que la verificación de la firma (H(PR)) PKR comprende la etapa de establecimiento de la segunda huella H(PR )2 de la actualización (PR) recibida y la comparación con la primera huella H(PR )1 obtenida después de la desencriptación de la firma (H(PR ))PKR con la clave actual correspondiente (KR). 35
- 3. Método según la reivindicación 1 o 2, caracterizado por el hecho de que el bloque de control comprende además una clave de sesión simétrica (SK) determinada por el centro de gestión, donde esta clave (SK) se utiliza para encriptar los datos de la actualización (PR), donde dicha clave de sesión (SK) es encriptada por la clave asimétrica actual (PKR).40
- 4. Método según una de las reivindicaciones 1 a 3, caracterizado por el hecho de que la clave asimétrica actual correspondiente (KR) es eliminada de la lista después su uso por el aparato.
- 5. Método según una de las reivindicaciones 1 a 4, caracterizado por el hecho de que las claves asimétricas de la lista se utilizan secuencialmente en un orden predeterminado en el momento de cada desencriptación lograda. 45
- 6. Método según una de las reivindicaciones 1 a 5, caracterizado por el hecho de que la lista de las claves asimétricas se almacena en una memoria no volátil del aparato, donde una clave que corresponde a una desencriptación lograda se borra definitivamente de la memoria que autoriza el acceso a la clave siguiente para el próximo uso.50
- 7. Método según la reivindicación 1, caracterizado por el hecho de que el número (R-1) de mensajes (M1 ...MR-1) corresponde al número de versiones de actualización que separa la versión inicial N del aparato y la versión final R de la actualización (PR) menos uno.
- 8. Método según una de las reivindicaciones 1 a 7, caracterizado por el hecho de que el aparato comprende un 55 contador que, en el momento de una instalación de una actualización, se incrementa en el momento de cada verificación positiva.
- 9. Método según una de las reivindicaciones 1 a 7, caracterizado por el hecho de que el aparato comprende un marcador que indica la fila de la clave asimétrica actual que se va a seleccionar de la lista, donde este marcador se 60 desplaza en el momento de cada verificación positiva.
- 10. Método según la reivindicación 6, caracterizado por el hecho de que una nueva lista de claves públicas se transmite al aparato, dicha lista reemplaza la lista contenida en la memoria no volátil que contiene las claves desactivadas a través de actualizaciones logradas previamente. 65
- 11. Método según una de las reivindicaciones 1 a 10, caracterizado por el hecho de que los aparatos consisten en descodificadores de televisión de pago.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CH204302 | 2002-12-03 | ||
| CH20432002 | 2002-12-03 | ||
| PCT/IB2003/005655 WO2004051983A1 (fr) | 2002-12-03 | 2003-12-01 | Méthode de sécurisation des mises à jour de logiciels |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2553985T3 true ES2553985T3 (es) | 2015-12-15 |
Family
ID=32331835
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES03777041.9T Expired - Lifetime ES2553985T3 (es) | 2002-12-03 | 2003-12-01 | Método de protección de actualizaciones de software |
Country Status (12)
| Country | Link |
|---|---|
| US (1) | US7440571B2 (es) |
| EP (1) | EP1570648B1 (es) |
| KR (1) | KR101063076B1 (es) |
| CN (1) | CN100342713C (es) |
| AU (1) | AU2003286298A1 (es) |
| CA (1) | CA2508424C (es) |
| ES (1) | ES2553985T3 (es) |
| MX (1) | MXPA05005695A (es) |
| MY (1) | MY140368A (es) |
| PL (1) | PL376560A1 (es) |
| TW (1) | TWI309379B (es) |
| WO (1) | WO2004051983A1 (es) |
Families Citing this family (57)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6880086B2 (en) * | 2000-05-20 | 2005-04-12 | Ciena Corporation | Signatures for facilitating hot upgrades of modular software components |
| EP1536606A1 (fr) | 2003-11-27 | 2005-06-01 | Nagracard S.A. | Méthode d'authentification d'applications |
| EP1607821A1 (fr) * | 2004-06-17 | 2005-12-21 | Nagracard S.A. | Méthode de mise à jour sécurisée de logiciel dans un mobile de sécurité |
| US9489496B2 (en) * | 2004-11-12 | 2016-11-08 | Apple Inc. | Secure software updates |
| EP1662788A1 (fr) * | 2004-11-24 | 2006-05-31 | Nagravision SA | Unité de traitement de données audio/vidéo numériques et méthode de contrôle d'accès audites données |
| US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
| US8272058B2 (en) | 2005-07-29 | 2012-09-18 | Bit 9, Inc. | Centralized timed analysis in a network security system |
| US8984636B2 (en) | 2005-07-29 | 2015-03-17 | Bit9, Inc. | Content extractor and analysis system |
| US8495389B2 (en) * | 2005-12-16 | 2013-07-23 | Safenet, Inc. | Locking changing hard disk content to a hardware token |
| KR100659510B1 (ko) * | 2006-02-16 | 2006-12-20 | 삼성전기주식회사 | 캐비티가 형성된 기판 제조 방법 |
| CN100401309C (zh) * | 2006-04-24 | 2008-07-09 | 南京熊猫电子股份有限公司 | 税控设备软件版本智能升级加密验证方法 |
| KR20080052943A (ko) * | 2006-12-08 | 2008-06-12 | 엘지전자 주식회사 | 이동통신단말기의 소프트웨어 업데이트방법 |
| US8254568B2 (en) | 2007-01-07 | 2012-08-28 | Apple Inc. | Secure booting a computing device |
| US8239688B2 (en) | 2007-01-07 | 2012-08-07 | Apple Inc. | Securely recovering a computing device |
| KR101425224B1 (ko) * | 2007-11-19 | 2014-07-31 | 삼성전자주식회사 | 펌웨어 업그레이드를 위해 펌웨어를 복호화하는 장치 및방법 |
| US8150039B2 (en) * | 2008-04-15 | 2012-04-03 | Apple Inc. | Single security model in booting a computing device |
| EP2294529B1 (en) * | 2008-06-23 | 2012-01-04 | ST-Ericsson SA | Electronic device and method of software or firmware updating of an electronic device |
| KR101029758B1 (ko) * | 2008-12-31 | 2011-04-19 | 노틸러스효성 주식회사 | 펌웨어의 원격 업데이트 방법 |
| FR2954651B1 (fr) * | 2009-12-23 | 2012-03-16 | Viaccess Sa | Procede de mise a jour d'un processeur de securite, systeme, programme d'ordinateur et processeur de securite correspondants |
| US9417865B2 (en) * | 2010-05-28 | 2016-08-16 | Red Hat, Inc. | Determining when to update a package manager software |
| CN102262549B (zh) * | 2011-03-02 | 2014-10-15 | 奇智软件(北京)有限公司 | 补丁安装方法与系统 |
| WO2013091162A1 (zh) * | 2011-12-19 | 2013-06-27 | 华为技术有限公司 | 一种分布式存储数据恢复方法、装置及系统 |
| US8707454B1 (en) | 2012-07-16 | 2014-04-22 | Wickr Inc. | Multi party messaging |
| US9715591B2 (en) | 2012-07-30 | 2017-07-25 | Hewlett-Packard Development Company, L.P. | Code validation |
| CN103595530B (zh) * | 2012-08-17 | 2017-04-26 | 华为技术有限公司 | 软件密钥更新方法和装置 |
| US9866591B1 (en) | 2013-06-25 | 2018-01-09 | Wickr Inc. | Enterprise messaging platform |
| US9830089B1 (en) | 2013-06-25 | 2017-11-28 | Wickr Inc. | Digital data sanitization |
| US10129260B1 (en) | 2013-06-25 | 2018-11-13 | Wickr Inc. | Mutual privacy management |
| US10567349B2 (en) | 2013-06-25 | 2020-02-18 | Wickr Inc. | Secure time-to-live |
| CN104468153B (zh) * | 2013-09-13 | 2018-10-30 | 华为技术有限公司 | 一种集群系统中的告警方法、设备及集群系统 |
| US9270469B2 (en) * | 2014-02-20 | 2016-02-23 | Xilinx, Inc. | Authentication using public keys and session keys |
| US9698976B1 (en) | 2014-02-24 | 2017-07-04 | Wickr Inc. | Key management and dynamic perfect forward secrecy |
| CN104980410A (zh) * | 2014-04-14 | 2015-10-14 | 领步科技集团有限公司 | 一种电能质量在线监测设备软件远程升级的加密方法 |
| US9584530B1 (en) | 2014-06-27 | 2017-02-28 | Wickr Inc. | In-band identity verification and man-in-the-middle defense |
| CN105306505A (zh) * | 2014-07-11 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 数据更新方法、终端及服务器 |
| US9830479B2 (en) * | 2014-09-16 | 2017-11-28 | Nxp Usa, Inc. | Key storage and revocation in a secure memory system |
| US9910655B1 (en) * | 2014-11-06 | 2018-03-06 | Accellion, Inc. | Secure content platform software developer kit |
| US9654288B1 (en) | 2014-12-11 | 2017-05-16 | Wickr Inc. | Securing group communications |
| GB2538773A (en) * | 2015-05-28 | 2016-11-30 | Vodafone Ip Licensing Ltd | Device key security |
| CN105207802B (zh) * | 2015-08-13 | 2018-09-21 | 华为技术有限公司 | 节点的版本升级方法、装置和系统 |
| US10191728B2 (en) * | 2015-10-12 | 2019-01-29 | Samsung Electronics Co., Ltd. | System and method to reduce storage area usage of android application |
| US10033534B2 (en) | 2015-12-01 | 2018-07-24 | Intel Corporation | Methods and apparatus to provide for efficient and secure software updates |
| US9584493B1 (en) | 2015-12-18 | 2017-02-28 | Wickr Inc. | Decentralized authoritative messaging |
| US10291607B1 (en) | 2016-02-02 | 2019-05-14 | Wickr Inc. | Providing real-time events to applications |
| US9591479B1 (en) | 2016-04-14 | 2017-03-07 | Wickr Inc. | Secure telecommunications |
| US9590958B1 (en) | 2016-04-14 | 2017-03-07 | Wickr Inc. | Secure file transfer |
| CN109923518B (zh) * | 2016-10-31 | 2023-07-25 | 哈曼贝克自动系统股份有限公司 | 用于安全关键系统的软件更新机制 |
| CN106412128B (zh) * | 2016-12-07 | 2019-06-04 | 北京奇虎科技有限公司 | 补丁下载的方法、装置、文件打包服务器以及客户端 |
| US11449331B2 (en) * | 2018-01-25 | 2022-09-20 | Lg Electronics Inc. | Vehicular update system and control method thereof |
| US10997297B1 (en) * | 2019-12-06 | 2021-05-04 | Western Digital Technologies, Inc. | Validating firmware for data storage devices |
| CN113094060A (zh) * | 2019-12-23 | 2021-07-09 | 瑞昱半导体股份有限公司 | 电子装置与软体更新方法 |
| CN111491272B (zh) * | 2020-04-01 | 2022-04-19 | 支付宝(杭州)信息技术有限公司 | 一种车辆解锁方法及系统 |
| CN113840262A (zh) * | 2020-06-23 | 2021-12-24 | 京东方科技集团股份有限公司 | 空中下载更新方法、更新服务器、终端设备和物联网系统 |
| KR102818101B1 (ko) | 2020-09-18 | 2025-06-11 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
| US20220329577A1 (en) * | 2021-04-13 | 2022-10-13 | Biosense Webster (Israel) Ltd. | Two-Factor Authentication to Authenticate Users in Unconnected Devices |
| CN113434165A (zh) * | 2021-06-02 | 2021-09-24 | 武汉天喻信息产业股份有限公司 | 一种嵌入式操作系统的补丁更新方法及系统 |
| US20250379730A1 (en) * | 2024-06-07 | 2025-12-11 | Microsoft Technology Licensing, Llc | Key refresh utilizing tamper-resistant public key commitment |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5901225A (en) * | 1996-12-05 | 1999-05-04 | Advanced Micro Devices, Inc. | System and method for performing software patches in embedded systems |
| ES2265466T3 (es) | 1997-03-21 | 2007-02-16 | Thomson Licensing | Descarga de datos. |
| US6952823B2 (en) * | 1998-09-01 | 2005-10-04 | Pkware, Inc. | Software patch generator using compression techniques |
| DE19850665A1 (de) * | 1998-11-03 | 2000-05-04 | Siemens Ag | Verfahren und Anordnung zur Authentifikation von einer ersten Instanz und einer zweiten Instanz |
| AU3759600A (en) | 1999-03-17 | 2000-10-04 | Charles E. II Moore | Internet, intranet and other network communication security systems utilizing entrance and exit keys |
| FR2792789B1 (fr) * | 1999-04-20 | 2001-08-31 | Bull Cp8 | Procede de verification de signature ou d'authentification |
| US7120251B1 (en) * | 1999-08-20 | 2006-10-10 | Matsushita Electric Industrial Co., Ltd. | Data player, digital contents player, playback system, data embedding apparatus, and embedded data detection apparatus |
| ES2197894T3 (es) | 1999-11-12 | 2004-01-16 | General Instrument Corporation | Implementacion de la seguridad de un objeto. |
| CN1338841A (zh) * | 2000-08-11 | 2002-03-06 | 海南格方网络安全有限公司 | 计算机安全认证智能密钥 |
| US6857067B2 (en) | 2000-09-01 | 2005-02-15 | Martin S. Edelman | System and method for preventing unauthorized access to electronic data |
| US7174017B2 (en) * | 2002-03-04 | 2007-02-06 | Lenovo Singapore Pte, Ltd | Decryption system for encrypted audio |
| US20030196096A1 (en) * | 2002-04-12 | 2003-10-16 | Sutton James A. | Microcode patch authentication |
-
2003
- 2003-11-26 US US10/721,228 patent/US7440571B2/en not_active Expired - Lifetime
- 2003-12-01 WO PCT/IB2003/005655 patent/WO2004051983A1/fr not_active Ceased
- 2003-12-01 AU AU2003286298A patent/AU2003286298A1/en not_active Abandoned
- 2003-12-01 MX MXPA05005695A patent/MXPA05005695A/es active IP Right Grant
- 2003-12-01 CA CA2508424A patent/CA2508424C/en not_active Expired - Lifetime
- 2003-12-01 PL PL376560A patent/PL376560A1/pl not_active Application Discontinuation
- 2003-12-01 EP EP03777041.9A patent/EP1570648B1/fr not_active Expired - Lifetime
- 2003-12-01 KR KR1020057009728A patent/KR101063076B1/ko not_active Expired - Fee Related
- 2003-12-01 ES ES03777041.9T patent/ES2553985T3/es not_active Expired - Lifetime
- 2003-12-01 MY MYPI20034580A patent/MY140368A/en unknown
- 2003-12-01 CN CNB200380104959XA patent/CN100342713C/zh not_active Expired - Fee Related
- 2003-12-03 TW TW092134053A patent/TWI309379B/zh not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| EP1570648A1 (fr) | 2005-09-07 |
| WO2004051983A1 (fr) | 2004-06-17 |
| US7440571B2 (en) | 2008-10-21 |
| PL376560A1 (pl) | 2006-01-09 |
| CN1720715A (zh) | 2006-01-11 |
| TW200419444A (en) | 2004-10-01 |
| MY140368A (en) | 2009-12-31 |
| CN100342713C (zh) | 2007-10-10 |
| TWI309379B (en) | 2009-05-01 |
| CA2508424C (en) | 2014-09-30 |
| KR101063076B1 (ko) | 2011-09-07 |
| CA2508424A1 (en) | 2004-06-17 |
| MXPA05005695A (es) | 2005-08-16 |
| EP1570648B1 (fr) | 2015-09-02 |
| AU2003286298A1 (en) | 2004-06-23 |
| KR20050088091A (ko) | 2005-09-01 |
| US20040107349A1 (en) | 2004-06-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2553985T3 (es) | Método de protección de actualizaciones de software | |
| CN1960248B (zh) | 用于执行泄密者跟踪的系统和方法 | |
| US8433069B2 (en) | Software defined radio device, and method for renewing software, and software defined radio system | |
| JP4923143B2 (ja) | サービスプロバイダ起動 | |
| US7886355B2 (en) | Subsidy lock enabled handset device with asymmetric verification unlocking control and method thereof | |
| KR100958108B1 (ko) | 이동통신 단말기의 프로그램 불법복제 방지 방법 및 장치 | |
| WO2012124270A1 (ja) | 改ざん監視システム、管理装置、保護制御モジュール及び検知モジュール | |
| CN1776611A (zh) | 为软件提供补丁的方法 | |
| RU99121836A (ru) | Способ загрузки данных в приемник/декодер мреg и система трансляции мреg для его реализации | |
| MXPA06010778A (es) | Estructura de manejo de derechos digitales, dispositivo de almacenamiento portatil y metodo de manejo de contenidos que usa el dispositivo de almacenamiento portatil. | |
| CN101102574A (zh) | 终端验证方法和装置 | |
| CN102419804A (zh) | 具有冗余安全性的可靠的软件产品验证和激活 | |
| EP2634718A1 (en) | Tamper monitoring system, protection control module and detection module | |
| CN101630265A (zh) | 升级设备、终端设备、软件更新方法及系统 | |
| CN111818087B (zh) | 区块链的节点接入方法、装置、设备及可读存储介质 | |
| KR101642267B1 (ko) | 앱 위변조 방지시스템 및 그 방법 | |
| CN112052018B (zh) | 一种应用程序的安装方法及装置 | |
| CN113378206A (zh) | 一种软件授权加密方法和解密方法、装置及系统 | |
| US9614671B2 (en) | User access control based on a graphical signature | |
| KR20090051475A (ko) | 펌웨어 업그레이드를 위해 펌웨어를 복호화하는 장치 및방법 | |
| CN101057447B (zh) | 用于从服务器向移动终端设备重新分发特定编码访问对象的方法和设备 | |
| US20120272068A9 (en) | Content distribution with renewable content protection | |
| CN101174941B (zh) | 一种移动终端文件离线数字版权保护方法及装置 | |
| KR101229637B1 (ko) | 보안 모듈에서 로드된 프로그램 블록을 안전하게업데이트하는 방법 | |
| CN117687644A (zh) | 软件更新系统和软件更新方法 |