ES2372889T3 - Utilización segura de datos. - Google Patents

Utilización segura de datos. Download PDF

Info

Publication number
ES2372889T3
ES2372889T3 ES08702471T ES08702471T ES2372889T3 ES 2372889 T3 ES2372889 T3 ES 2372889T3 ES 08702471 T ES08702471 T ES 08702471T ES 08702471 T ES08702471 T ES 08702471T ES 2372889 T3 ES2372889 T3 ES 2372889T3
Authority
ES
Spain
Prior art keywords
signature
module
data
operative
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES08702471T
Other languages
English (en)
Inventor
Reuven Elbaum
Reuben Sumner
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.)
Synamedia Ltd
Original Assignee
NDS Ltd
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 NDS Ltd filed Critical NDS Ltd
Application granted granted Critical
Publication of ES2372889T3 publication Critical patent/ES2372889T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

Un sistema que comprende: una memoria externa operativa para almacenar datos en ella, incluyendo los datos una pluralidad de secciones, estando firmados al menos parte de los datos con una firma primaria, incluyendo los al menos parte de los datos al menos algunas de las secciones, y una memoria interna operativamente conectada con la memoria externa, y una estructura de procesador operativamente conectada a la memoria interna, la estructura de procesador incluye un módulo de transferencia, un módulo de la autenticación y un módulo de firma, en el que durante un procedimiento preliminar: el módulo de transferencia es operativo para transferir las secciones desde la memoria externa a la memoria interna; el módulo de autenticación es operativo para autenticar la firma primaria y el módulo de firma es operativo para crear una firma simétrica para cada una de las secciones en base a un primer dato secreto, y en el que, previamente a la utilización de una seleccionada de entre las secciones de los datos: el módulo de transferencia es operativo para transferir la sección seleccionada desde la memoria externa a la memoria interna, y el módulo de autenticación es operativo para autenticar la firma simétrica de la sección seleccionada usando el primer dato secreto

Description

Utilización segura de datos
Campo de la invención
La presente invención se refiere a la utilización segura de datos.
Antecedentes de la intención
Se considera que las referencias a continuación representan el estado de la técnica:
Patente de Estados Unidos 7.103.779, de Kiehtreiber, et al.;
Solicitud de Patente de Estados Unidos Publicada 2003/0188173 de Zimmer, et al.;
Solicitud de Patente de Estados Unidos Publicada 2007/0198851 de Goto; y
Solicitud de Patente de Estados Unidos Publicada 2003/0126454 de Glew.
Acuerdo de Licencia de Fabricación de Secure Video Processor IC, 16 de mayo de 2007.
Las divulgaciones de todas las referencias mencionadas anteriormente y a todo lo largo de la presente memoria, así como las divulgaciones de todas las referencias mencionadas en esas referencias, se incorporan por la presente en el presente documento por referencia.
Sumario de la invención
La presente invención busca proporcionar una utilización de datos segura mejorada.
Por ello, se proporciona de acuerdo con una realización preferida de la presente invención, un sistema que incluye una memoria externa operativa para almacenar datos en ella, incluyendo los datos una pluralidad de secciones, estando asociada cada una de las secciones con una firma y una memoria interna operativamente conectada a la memoria externa y una estructura de procesador operativamente conectado con la memoria interna, en la que la estructura de procesador incluye un módulo de transferencia para transferir una de las secciones desde la memoria externa a la memoria interna, un módulo de autenticación para autenticar la firma de la una sección transferida desde la memoria externa, un módulo de estado de validez para identificar la una sección como válida si la firma es auténtica y un módulo de ejecución para utilizar la una sección de datos solamente si la una sección es válida, en el que el módulo de estado de validez es operativo para invalidar la una sección, si el contenido de la una sección se cambia mientras está almacenada en la memoria interna.
Adicionalmente, de acuerdo con una realización preferida de la presente invención, el sistema incluye un circuito integrado en el que se ha dispuesto la memoria interna y la estructura de procesador, estando el circuito integrado conectado operativamente a la memoria externa, no estando la memoria externa en el circuito integrado.
Adicionalmente, de acuerdo con una realización preferida de la presente invención, los datos incluyen un programa de ordenador ejecutable y el módulo de ejecución es operativo para ejecutar la una sección del programa de ordenador ejecutable solamente si la una sección es válida.
Se proporciona también de acuerdo con otra realización preferida más de la presente invención un sistema, que incluye una memoria externa operativa para almacenar datos en ella, incluyendo los datos una pluralidad de secciones, estando firmados al menos parte de los datos con una firma primaria, incluyendo la al menos una parte de los datos al menos algunas de las secciones y una memoria interna operativamente conectada a la memoria externa y la estructura de procesador operativamente conectado a la memoria interna, la estructura de procesador incluye un módulo de transferencia, un módulo de autenticación y un módulo de firma, en el que durante un procedimiento preliminar el módulo de transferencia es operativo para transferir las secciones desde la memoria externa a la memoria interna, el módulo de autenticación es operativo para autenticar la firma primaria y el módulo de firma es operativo para crear una firma simétrica para cada una de las secciones en base a un primer dato secreto y en el que, previamente a la utilización de una seleccionada de entre las secciones de datos, el módulo de transferencia es operativo para transferir la sección seleccionada desde la memoria externa a la memoria interna y el módulo de autenticación es operativo para autenticar la firma simétrica de la sección seleccionada usando el primer dato secreto.
Adicionalmente, de acuerdo con una realización preferida de la presente invención el módulo de transferencia es operativo para transferir las al menos algunas secciones desde la memoria externa a la memoria interna solamente una vez durante el procedimiento preliminar, de modo que mientras una de las secciones almacenadas en memoria rápida está en la memoria interna, el módulo de autenticación es operativo para actualizar un valor para su uso en la autenticación de la firma primaria en base a la sección almacenada en memoria rápida y el módulo de firma es operativo para crear la firma simétrica para la sección almacenada en memoria rápida y el módulo de autenticación
45 E08702471 29-11-2011
es operativo para autenticar la firma primaria en base al valor que se ha actualizado en base a las al menos algunas secciones.
Además, de acuerdo con una realización preferida de la presente invención el módulo de autenticación es operativo para calcular un valor de hash en base al contenido de la sección recogida y actualizar el valor en base al valor de hash de la sección recogida.
Adicionalmente, de acuerdo con una realización preferida de la presente invención el módulo de firma es operativo para cifrar la firma simétrica de la sección recogida usando un segundo dato secreto, produciendo un resultado.
Adicionalmente, de acuerdo con una realización preferida de la presente invención el módulo de firma es operativo para producir la salida de un resultado del cifrado para cada una de las secciones hacia la memoria externa.
Adicionalmente, de acuerdo con una realización preferida de la presente invención el módulo de firma es operativo para producir la salida del segundo dato secreto hacia la memoria externa, solamente después de que la firma primaria se haya autenticado positivamente por el módulo de autenticación.
Además, de acuerdo con una realización preferida de la presente invención, el sistema incluye un circuito integrado que tiene dispuesto en el mismo la memoria interna y la estructura de procesador, estando el circuito integrado conectado operativamente con la memoria externa, no estando la memoria externa en el circuito integrado.
Adicionalmente, de acuerdo con una realización preferida de la presente invención, la firma primaria es una firma asimétrica.
Adicionalmente, de acuerdo con una realización preferida de la presente invención la firma asimétrica es una firma RSA.
Adicionalmente de acuerdo con una realización preferida de la presente invención los datos incluyen un programa de ordenador ejecutable.
Se proporciona también de acuerdo con otra realización preferida más de la presente invención un procedimiento, que incluye la transferencia de una sección de datos desde una memoria externa a una memoria interna, la autenticación de una firma de la sección, la identificación de la sección como válida si la firma es auténtica, la utilización de la sección solamente si la sección es válida y la invalidación de la sección, si el contenido de la sección se cambia mientras está almacenada en la memoria interna.
Se proporciona también de acuerdo con otra realización preferida más de la presente invención un procedimiento, que incluye la realización de un procedimiento preliminar que incluye la transferencia de una pluralidad de secciones de datos desde una memoria externa a una memoria interna, la autenticación de una firma primaria de los al menos parte de los datos, incluyendo los al menos parte de los datos al menos alguna de las secciones y la creación de una firma simétrica para cada una de las secciones en base a un primer dato secreto y la realización de un procedimiento de autenticación para una seleccionada de entre las secciones de datos, previamente a la utilización de la sección seleccionada, incluyendo el procedimiento de autenticación la transferencia de la sección seleccionada desde la memoria externa a la memoria interna y la autenticación de la firma simétrica de la sección seleccionada usando el primer dato secreto.
Breve descripción de los dibujos
La presente invención se comprenderá y apreciará más completamente a partir de la siguiente descripción detallada, tomada en conjunto con los dibujos en los que:
La Fig. 1 es una vista de un diagrama de bloques de un sistema de utilización segura de los datos construido y operativo de acuerdo con una realización preferida de la presente invención;
La Fig. 2 es una vista de un diagrama de bloques del sistema de la Fig. 1 que crea una firma simétrica;
La Fig. 3 es una vista de un diagrama de bloques del sistema de la Fig. 1 que autentica una firma asimétrica;
La Fig. 4 es una vista de un diagrama de bloques que muestra la producción de la salida de un segundo dato secreto desde una memoria interna a una memoria externa del sistema de la Fig. 1;
La Fig. 5 es una vista de un diagrama de bloques del sistema de la Fig. 1 que autentica una firma simétrica de una sección de una aplicación y
La Fig. 6 es una vista de un diagrama de bloques del sistema de la Fig. 1 que invalida la sección de la aplicación de la Fig. 5 después de que la sección se modifique.
50 E08702471 29-11-2011
Descripción detallada de una realización preferida
Se hace referencia ahora a la Fig. 1, que es una vista de un diagrama de bloques de un sistema de utilización segura de datos 10 construido y operativo de acuerdo con una realización preferida de la presente invención.
El sistema 10 incluye preferentemente un circuito integrado (CI) 14 y una memoria externa 12.
La memoria externa 12 es operativa preferentemente para almacenar una aplicación 16 en ella.
Las personas expertas en la técnica apreciarán que, a todo lo largo de la presente solicitud de patente, se usa la aplicación 16 a modo de ejemplo de los datos en la forma de un programa de ordenador ejecutable y que la presente invención no se limita a un tipo de datos particular, sino que por el contrario incluye cualquier dato adecuado. El término “datos”, como se usa en las especificaciones y reivindicaciones, se define en presente documento para que incluya un programa de ordenador ejecutable.
La aplicación 16 puede incluir un programa de ordenador ejecutable y datos no ejecutables.
Las personas expertas en la técnica apreciarán que, a todo lo largo de la presente solicitud de patente, la ejecución de la aplicación 16 se usa a modo de ejemplo solamente y que la presente invención no se limita a un tipo particular de utilización de los datos, sino que por el contrario incluye cualquier utilización de los datos adecuada. El término “utilización”, como se usa en la especificación y reivindicaciones, se define en el presente documento para que incluya la ejecución.
La aplicación 16 se firma típicamente con una firma primaria, tal como una firma asimétrica 18, usando típicamente un algoritmo de firma RSA. Se apreciará por los expertos en la técnica que la aplicación 16 se puede firmar por cualquier procedimiento de firma adecuado y no justamente con un procedimiento de firma asimétrica, por ejemplo, la firma primaria puede ser un valor de hash de la aplicación 16, manteniéndose el valor de hash por el circuito integrado (CI) 14 para su uso en la autenticación de la aplicación 16.
La aplicación 16 tiene típicamente una pluralidad de secciones 20. La firma asimétrica 18 se usa para autenticar al menos parte de, y preferentemente la totalidad, de la aplicación 16. Por lo tanto, al menos parte de la aplicación 16 (incluyendo típicamente al menos dos de las secciones 20), y preferentemente la aplicación en su totalidad 16, se firman mediante la firma primaria.
De acuerdo con una realización preferida alternativa de la presente invención, la aplicación 16 se puede firmar mediante dos o más firmas primarias. Cada firma primaria firma típicamente dos o más secciones 20 de la aplicación
16. Las secciones 20 firmadas por una firma primaria pueden, o no, solapar las secciones 20 de otra u otras firmas primarias.
El circuito integrado 14 tiene dispuesto típicamente en él una memoria interna 22 y una estructura de procesador 24. La memoria interna 22 está preferentemente conectada operativamente a la memoria externa 12 y a la estructura de procesador 24. La memoria interna 22 incluye en general una pluralidad de memorias rápidas (no mostradas) para su uso por la estructura de procesador 24 durante la validación y ejecución de la aplicación 16.
La estructura de procesador 24 se puede realizar como una unidad de procesador central (CPU) o la estructura de procesador 24 puede incluir una pluralidad de módulos de procesamiento con o sin CPU adicionales. El circuito integrado 14 se conecta preferentemente de modo operativo a la memoria externa 12. La memoria externa 12 no está en el circuito integrado 14.
Típicamente, se accede en general a la memoria interna 22, que se sitúa en el circuito integrado 14, por medio de una interfaz bien indefinida. Por lo tanto, la memoria interna 22 es en general más fiable que la memoria externa 12 que se sitúa fuera del circuito integrado 14. Los datos situados externamente al circuito integrado 14 es más probable que sean manipulados de una forma maliciosa que los datos situados en la memoria interna 22. Por lo tanto, por razones de seguridad, es deseable para la aplicación 16 sea cargada dentro de la memoria interna 22 y autenticada y solamente entonces ejecutarse desde la memoria interna 22.
De acuerdo con una realización alternativa preferida de la presente invención, la estructura de procesador 24 y la memoria interna 22 se pueden implementar en un módulo multi chip que incluye una pluralidad de circuitos integrados. La estructura de procesador 24 y la memoria interna 22 se pueden implementar en el mismo circuito integrado dentro del módulo multi chip. La memoria externa 22 se puede situar en cualquier otro circuito integrado dentro del módulo multi chip o externamente al módulo multi chip.
De acuerdo con otra realización preferida alternativa más de la presente invención, la estructura de procesador 24 y la memoria interna 22 se pueden implementar en un módulo multi chip, siendo implementados la estructura de procesador 24 y la memoria interna 22 sobre diferentes circuitos integrados dentro del módulo multi chip. La memoria externa 22 se sitúa típicamente de modo externo al módulo multi chip. Se apreciará que si la aplicación 16 es suficientemente grande, en general no se puede cargar la totalidad de la aplicación 16 dentro de la memoria interna 22 a la vez. Por lo tanto, una o más de las secciones 20 de la aplicación 16 se cargan típicamente en la
55 E08702471 29-11-2011
memoria interna 22 por la estructura de procesador 24, según sea necesario, dependiendo de cuál de las secciones 20 es necesaria para la ejecución.
Si la aplicación 16 se autentica sólo en el inicio, o una vez previamente a la ejecución, una o más de las secciones 20 situadas en la memoria externa 12 se pueden alterar (o hacerse trampas en otra forma con ellas) previamente a,
o durante, la ejecución de la aplicación 16.
Las firmas simétricas son generalmente pequeñas y rápidas de procesar, pero el manejo de claves con las firmas simétricas es más difícil. Las firmas asimétricas, por otro lado, son típicamente más lentas de procesar y las firmas son grandes, pero el manejo de la clave es generalmente más fácil. Por lo tanto, el sistema 10 es operativo en general para: autenticar la firma asimétrica 18 de la aplicación 16 durante un procedimiento preliminar, descrito con más detalle con referencia las Figs. 2 y 3, y asigna firmas asimétricas a cada una de las secciones 20 de modo que cuando una de las secciones 20 se selecciona para ejecución, se valida la firma asimétrica de la sección seleccionada 20 después de la carga de la sección seleccionada desde la memoria externa 12 en la memoria interna 22, previamente a la ejecución de la sección seleccionada 20, descrito con más detalle con referencia a las Figs. 2, 4 y 5.
La estructura de procesador 24 incluye preferentemente un módulo de transferencia 26, un módulo de autenticación 28, un módulo de firma 30, un módulo de estado de validez 32 y un módulo de ejecución 34
Se hace referencia ahora la Fig. 2, que es una vista de un diagrama de bloques del sistema 10 de la Fig. 1 que crea una firma simétrica 36.
Durante el procedimiento preliminar, cada sección 20 de la aplicación 16 se transfiere preferentemente solamente una vez desde la memoria externa 12 a la memoria interna 22 de modo que mientras una sección almacenada en memoria rápida 20 está en la memoria interna 22, la firma simétrica 36 se crea preferentemente para la sección almacenada en memoria rápida 20 y a continuación se cifra en general formando una firma simétrica cifrada 38 para la sección almacenada en memoria rápida 20 y se actualiza un valor de hash 40 acumulativo típicamente para su uso en la autenticación de la firma simétrica 18 en base a la sección almacenada en memoria rápida 20.
Las etapas anteriores se describen ahora con más detalle a continuación para cada sección almacenada en memoria rápida.
El módulo de transferencia 26 es operativo preferentemente para transferir una de las secciones 20 desde la memoria externa 12 a la memoria interna 22 durante el procedimiento preliminar. La sección transferida 20 se denomina como la sección almacenada en memoria rápida 20, dado que la sección 20 se almacena en memoria rápida en la memoria interna 22.
El módulo de firma 30 es operativo preferentemente para crear la firma simétrica 36 para la sección almacenada en memoria rápida 20 en base a un primer dato secreto 42. El primer dato secreto 42 está preferentemente o bien embebido/programado en el circuito integrado 14 durante la producción del circuito integrado 14 o bien se produce el primer dato secreto 42 mediante el módulo de firma 30 usando un generador de números aleatorios o seudoaleatorios (no mostrado). El primer dato secreto es conocido en general por el circuito integrado 14 y no por la memoria externa 12. La firma simétrica 36 tiene al menos 1 bit de longitud y típicamente 32 o más bits de longitud. El primer dato secreto 42 tiene al menos 20 bits de longitud y preferentemente más de 100 bits de longitud.
El módulo de firma 30 es operativo preferentemente para realizar una operación de compuerta lógica O-exclusiva (círculo 54) con: la firma simétrica 36 de la sección almacenada en memoria rápida 20 y un segundo dato secreto 44 como entrada, conduciendo a un resultado 46. El resultado 46 es la firma simétrica cifrada 38. El módulo de firma 36 es operativo preferentemente para producir el segundo dato secreto 44 usando un generador de números aleatorios
o seudoaleatorios (no mostrado). El segundo dato secreto 44 no se hace “público” hasta que la firma asimétrica 18 se ha autenticado positivamente. La expresión “positivamente autenticada”, como se usa en la especificación y reivindicaciones, se define como “la firma que se considera válida después de ser comprobada”.
Aunque, las firmas simétricas 36 se han descrito anteriormente como que se han cifrado usando una operación Oexclusiva, se apreciará por los expertos en la técnica que las firmas simétricas 36 se pueden cifrar usando el segundo dato secreto 44 mediante cualquier método de mezclado adecuado por ejemplo, pero sin limitarse a, suma, resta, cifrado o descifrado.
El módulo de firma 30 es operativo preferentemente para producir la salida del resultado 46 de la operación de puerta lógica O-exclusiva para la sección almacenada en memoria rápida 20 hacia la memoria externa 12 (flecha 50).
El módulo de autenticación 28 es operativo preferentemente para: calcular un valor de hash 48 en base al contenido de la sección almacenada en memoria rápida 20 y actualizar el valor de hash acumulativo 40 en base al valor de hash 48 de la sección almacenada en memoria rápida 20. El valor de hash acumulativo 40 se usa en la autenticación de la firma asimétrica 18, descrito con más detalle con referencia a la Fig. 3.
55 E08702471 29-11-2011
La copia solamente una vez de las secciones 20 durante el procedimiento preliminar para crear las firmas simétricas 36 (y las firmas simétricas cifradas 38) y preparar el valor de hash acumulativo 40 para su uso en la autenticación de la firma asimétrica 18 no solamente ahorra tiempo sino que también ayuda a impedir un problema de seguridad, como el siguiente. Si la firma asimétrica 18 se autentica mediante la carga primero de todas las secciones 20, una después de otra, y a continuación se crean las firmas simétricas 36 (y las firmas simétricas cifradas 38) mediante la carga de las secciones 20 una segunda vez, la aplicación 16 podría ser alterada entre la autenticación de la firma asimétrica 18 y la creación de las firmas simétricas 36.
Como se ha descrito anteriormente, las firmas simétricas 36 se cifran preferentemente para formar la firma simétrica cifrada 38 para impedir el uso de firmas simétricas 36 antes de que la firma asimétrica 18 haya sido autenticada positivamente. Una vez se ha autenticado positivamente la firma asimétrica 18, se produce la salida típicamente del segundo dato secreto 44 hacia la memoria externa 12 para permitir el descifrado de las firmas simétricas cifradas 38, descrito con más detalle con referencia a la Fig. 4.
Adicionalmente, la aplicación 16 se puede cifrar en la memoria externa 12 y/o la memoria interna 22 para una seguridad añadida.
Se hace referencia ahora a la Fig. 3, que es una vista de un diagrama de bloques del sistema 10 de la Fig. 1 autenticando la firma asimétrica 18.
La Fig. 3 muestra las firmas simétricas cifradas 38 para las secciones 20 almacenadas en la memoria externa 12 dado que la memoria interna 22 es generalmente demasiado pequeña para almacenar todas las firmas simétricas cifradas 38.
Durante el procedimiento preliminar, el módulo de transferencia 36 transfiere generalmente la firma asimétrica 18 a la memoria interna 22. A continuación, el módulo de autenticación 28 es operativo preferentemente para autenticar la firma asimétrica 18 de la aplicación 16 en base a la clave pública 52 y al valor de hash acumulativo 40 que se ha actualizado en base a los valores de hash 40 (Fig. 2) de todas las secciones 20. La clave pública 52 se puede almacenar en cualquier forma segura adecuada, por ejemplo, pero sin limitarse a, en una memoria sólo de lectura (ROM) o una memoria programable una vez sobre el circuito integrado 14. A modo de ejemplo solamente, en un módulo multi chip la clave pública 52 se puede almacenar en el mismo circuito integrado que la memoria interna 22 (o en el CI de la estructura de procesador 24, si la memoria interna 22 y la estructura de procesador 24 se disponen en diferentes CI) o en otro CI.
Alternativamente, la clave pública 52 puede venir desde un una fuente desconocida no fiable. Sin embargo, en tal caso la clave pública se firma mediante una clave privada asociada con una clave pública que es confiable para el sistema 10. La clave pública confiable se puede usar entonces para verificar esa clave pública 52.
Se hace referencia ahora a la Fig. 4, que es una vista de un diagrama de bloques que muestra la salida del segundo dato secreto 44 desde la memoria interna 22 a la memoria externa 12 del sistema 10 de la Fig. 1.
El módulo de firma 30 es operativo preferentemente para producir la salida del segundo dato secreto 44 desde la memoria interna 22 a la memoria externa 12, solamente después de que la firma asimétrica 18 haya sido positivamente autenticada por el módulo de autenticación 28.
A continuación, la firma simétrica 36 para cada una de las secciones 20 se recupera típicamente mediante el descifrado usando el segundo dato secreto 44, por ejemplo, pero sin limitarse a, realizando una operación de puerta lógica O-exclusiva (círculo 56) con: el resultado 46 (la firma simétrica cifrada 38) de la operación de la puerta lógica O-exclusiva (círculo 54 de la Fig. 2) para cada una de las secciones 20 y el segundo dato secreto 44. La operación de la puerta lógica XOR (círculo 56) se realiza típicamente por la estructura de procesador 24 o cualquier otro procesador adecuado.
Las firmas simétricas recuperadas resultantes 36 o bien se embeben típicamente en la sección respectiva o bien se almacenan en cualquier otro lado en la memoria externa 12. Sin embargo, se apreciará por los expertos en la técnica que las firmas simétricas 36 se pueden almacenar en cualquier localización adecuada.
Se hace referencia ahora a la Fig. 5, que es una vista de un diagrama de bloques del sistema 10 de la Fig. 1 que autentica la firma simétrica 36 de una de las secciones 20 (sección S3 en el ejemplo de la Fig. 5) de la aplicación 16.
Previamente a la ejecución de una sección seleccionada 58 de las secciones 20 de la aplicación 16, se realiza preferentemente lo siguiente: el módulo de transferencia 26 es operativo para transferir la sección seleccionada 58 y la firma simétrica 36 de la sección seleccionada 58 desde la memoria externa 12 a la memoria interna 22, el módulo de autenticación 28 es operativo para autenticar la firma simétrica 36 de la sección seleccionada 58 usando el primer dato secreto 42 (óvalo 62) y el módulo de estado de validez 32 es operativo generalmente para identificar la sección seleccionada 58 como válida si la firma simétrica 36 es auténtica, típicamente mediante el uso de un marcador 60.
El módulo de ejecución 34 es operativo preferentemente para ejecutar/utilizar la sección seleccionada 58 de la aplicación 16 almacenada en memoria rápida en la memoria interna 22 solamente si la sección 58 es válida. De modo similar, cualesquiera otras secciones 20 de la aplicación 16 almacenadas en memoria rápida en la memoria interna 22 sólo se ejecutarán/utilizarán en general si la sección relevante 20 es válida.
Se hace referencia ahora a la Fig. 6, que es una vista de un diagrama de bloques del sistema 10 de la Fig. 1 que invalida la sección 58 de la aplicación 16 de la Fig. 5 después de que se modifique la sección 58.
5 La sección seleccionada 58 ha sido modificada mientras estaba almacenada en memoria rápida en la memoria interna 22 (óvalo 66). El módulo de estado de validez 58 es operativo preferentemente para invalidar la sección 58, si el contenido de la sección 58 se cambia mientras está almacenado en la memoria interna 22. Le invalidación incluye preferentemente la eliminación del marcador 60 de la Fig. 5 y/o el marcado de la sección 58 como inválida con un marcador 64.
10 Una vez que la sección 58 ya no es válida, el módulo de ejecución 34 en general no ejecutará/usará más la sección
58.
Se apreciará que los componentes de software de la presente invención pueden, si se desea, implementarse en hardware, usando técnicas convencionales o implementarse parcialmente en hardware y parcialmente en software. Una implementación en hardware puede ser particularmente ventajosa por razones de seguridad y/o aceleración del
15 rendimiento.
Se apreciará que varias características de la invención que se describen, por claridad, en el contexto de realizaciones separadas se pueden proporcionar también en combinación en una única realización. Por el contrario, varias características de la invención que se describen, por brevedad, en el contexto de una única realización se pueden proporcionar también por separado o en cualquier combinación adecuada. Se apreciará también por los
20 expertos en la técnica que la presente invención no está limitada por lo que se ha mostrado y descrito en particular en el presente documento anteriormente. Por el contrario, el alcance de la invención se define solamente por las reivindicaciones que siguen.

Claims (11)

  1. REIVINDICACIONES
    1. Un sistema que comprende:
    una memoria externa operativa para almacenar datos en ella, incluyendo los datos una pluralidad de secciones, estando firmados al menos parte de los datos con una firma primaria, incluyendo los al menos
    5 parte de los datos al menos algunas de las secciones, y una memoria interna operativamente conectada con la memoria externa, y una estructura de procesador operativamente conectada a la memoria interna, la estructura de procesador incluye un módulo de transferencia, un módulo de la autenticación y un módulo de firma, en el que durante un procedimiento preliminar:
    10 el módulo de transferencia es operativo para transferir las secciones desde la memoria externa a la memoria interna; el módulo de autenticación es operativo para autenticar la firma primaria y el módulo de firma es operativo para crear una firma simétrica para cada una de las secciones en base a un primer dato secreto, y
    15 en el que, previamente a la utilización de una seleccionada de entre las secciones de los datos:
    el módulo de transferencia es operativo para transferir la sección seleccionada desde la memoria externa a la memoria interna, y el módulo de autenticación es operativo para autenticar la firma simétrica de la sección seleccionada usando el primer dato secreto.
    20 2. El sistema de acuerdo con la reivindicación 1, en el que:
    el módulo de transferencia es operativo para transferir las al menos algunas secciones desde la memoria externa a la memoria interna solamente una vez durante el procedimiento preliminar, de modo que mientras una de las secciones almacenadas en memoria rápida está en la memoria interna:
    el módulo de autenticación es operativo para actualizar un valor para su uso en la autenticación de la
    25 firma primaria en base a la sección almacenada en memoria rápida, y el módulo de firma es operativo para crear la firma simétrica para la sección almacenada en memoria rápida, y
    el módulo de autenticación es operativo para autenticar la firma primaria en base al valor que se ha actualizado en base a las al menos algunas secciones.
    30 3. El sistema de acuerdo con la reivindicación 2 en el que el módulo de autenticación es operativo para: calcular un valor de hash en base al contenido de la sección almacenada en memoria rápida y actualizar el valor en base al valor de hash de la sección almacenada en memoria rápida.
  2. 4. El sistema de acuerdo con cualquiera de las reivindicaciones 1-3, en el que el módulo de firma es operativo para
    cifrar la firma simétrica de la sección almacenada en memoria rápida usando un segundo dato secreto, produciendo 35 un resultado.
  3. 5.
    El sistema de acuerdo con la reivindicación 4, en el que el módulo de firma es operativo para producir la salida del resultado del cifrado para cada una de las secciones hacia la memoria externa.
  4. 6.
    El sistema de acuerdo con la reivindicación 5, en el que el módulo de firma es operativo para producir la salida del
    segundo dato secreto hacia la memoria externa, solamente después de que se haya autenticado positivamente la 40 firma primaria por parte del módulo de autenticación.
  5. 7. El sistema de acuerdo con cualquiera de las reivindicaciones 1-6, que comprende además un circuito integrado que tiene dispuesto en el mismo la memoria interna y la estructura de procesador, estando operativamente conectado el circuito integrado a la memoria externa, no estando la memoria externa en el circuito integrado.
  6. 8. El sistema de acuerdo con cualquiera de las reivindicaciones 1-7, en el que la firma primaria es una firma 45 asimétrica.
  7. 9.
    El sistema de acuerdo con la reivindicación 8, en el que la firma asimétrica es una firma RSA.
  8. 10.
    El sistema de acuerdo con cualquiera de la reivindicaciones 1-9, en el que los datos incluyen un programa de ordenador ejecutable.
  9. 11.
    El sistema de acuerdo con cualquiera de las reivindicaciones 1-10, en el que:
    50 la estructura de procesador incluye: un módulo de estado de validez para identificar la sección seleccionada como válida si la firma simétrica de la sección seleccionada es auténtica, y un módulo de ejecución para utilizar la sección de los datos seleccionada solamente si la sección seleccionada es válida, y
    5 el módulo de estado de validez es operativo para invalidar la sección seleccionada, si el contenido de la sección seleccionada se cambia mientras está almacenada en la memoria interna.
  10. 12. Un procedimiento, que comprende:
    la realización de un procedimiento preliminar que incluye:
    la transferencia de una pluralidad de secciones de datos desde una memoria externa a una memoria
    10 interna; la autenticación de una firma primaria de los al menos parte de los datos, incluyendo los al menos parte de los datos al menos alguna de las secciones, y
    la creación de una firma simétrica para cada una de las secciones en base a un primer dato secreto, y
    la realización de un procedimiento de autenticación para una seleccionada de entre las secciones de los 15 datos, previamente a la utilización de la sección seleccionada, el procedimiento de autenticación incluye:
    la transferencia de la sección seleccionada desde la memoria externa a la memoria interna, y la autenticación de la firma simétrica de la sección seleccionada usando el primer dato secreto.
  11. 13. El procedimiento de acuerdo con la reivindicación 12 que comprende además:
    la identificación de la sección seleccionada como válida si la firma simétrica de la sección seleccionada es
    20 auténtica; la utilización de la sección de los datos seleccionada solamente si la sección seleccionada es válida, y la invalidación de la sección seleccionada, si el contenido de la sección seleccionada se cambia mientras está almacenada en la memoria interna.
ES08702471T 2008-01-20 2008-01-20 Utilización segura de datos. Active ES2372889T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2008/050197 WO2009090505A1 (en) 2008-01-20 2008-01-20 Secure data utilization

Publications (1)

Publication Number Publication Date
ES2372889T3 true ES2372889T3 (es) 2012-01-27

Family

ID=40011208

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08702471T Active ES2372889T3 (es) 2008-01-20 2008-01-20 Utilización segura de datos.

Country Status (5)

Country Link
US (1) US8181034B2 (es)
EP (1) EP2232397B1 (es)
AT (1) ATE527614T1 (es)
ES (1) ES2372889T3 (es)
WO (1) WO2009090505A1 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058491B1 (en) 2009-03-26 2015-06-16 Micron Technology, Inc. Enabling a secure boot from non-volatile memory
US9336410B2 (en) * 2009-12-15 2016-05-10 Micron Technology, Inc. Nonvolatile memory internal signature generation
US8826035B2 (en) * 2009-12-23 2014-09-02 Intel Corporation Cumulative integrity check value (ICV) processor based memory content protection
EP2564343B1 (en) 2010-10-21 2016-11-09 NDS Limited Code diversity method and system
EP2626804B1 (en) * 2012-02-09 2017-09-13 Inside Secure Method for managing memory space in a secure non-volatile memory of a secure element
KR102538096B1 (ko) * 2016-09-13 2023-05-31 삼성전자주식회사 어플리케이션을 검증하는 디바이스 및 방법
US10216963B2 (en) * 2016-12-12 2019-02-26 Anaglobe Technology, Inc. Method to protect an IC layout

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0717337B1 (en) * 1994-12-13 2001-08-01 International Business Machines Corporation Method and system for the secured distribution of programs
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US7373506B2 (en) * 2000-01-21 2008-05-13 Sony Corporation Data authentication system
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
US7127579B2 (en) 2002-03-26 2006-10-24 Intel Corporation Hardened extended firmware interface framework
US20030196096A1 (en) * 2002-04-12 2003-10-16 Sutton James A. Microcode patch authentication
US7103779B2 (en) 2003-09-18 2006-09-05 Apple Computer, Inc. Method and apparatus for incremental code signing
US8332653B2 (en) 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
JP4795812B2 (ja) 2006-02-22 2011-10-19 富士通セミコンダクター株式会社 セキュアプロセッサ

Also Published As

Publication number Publication date
ATE527614T1 (de) 2011-10-15
US8181034B2 (en) 2012-05-15
US20100082997A1 (en) 2010-04-01
WO2009090505A1 (en) 2009-07-23
EP2232397A1 (en) 2010-09-29
EP2232397B1 (en) 2011-10-05

Similar Documents

Publication Publication Date Title
ES2372889T3 (es) Utilización segura de datos.
US9830456B2 (en) Trust transference from a trusted processor to an untrusted processor
US9842212B2 (en) System and method for a renewable secure boot
US10216964B2 (en) Semiconductor integrated circuit and system
US9230112B1 (en) Secured booting of a field programmable system-on-chip including authentication of a first stage boot loader to mitigate against differential power analysis
US9165143B1 (en) Image file generation and loading
ES2773950T3 (es) Sistema informático asegurado con autenticación asíncrona
ES2236530T3 (es) Metodo de seguridad para un dispositivo electronico, un sistema de seguridad y un dispositivo electronico.
US6141756A (en) Apparatus and method of reading a program into a processor
US9208355B1 (en) Apparatus, system and method for providing cryptographic key information with physically unclonable function circuitry
CN112784280A (zh) 一种SoC芯片安全设计方法及硬件平台
TWI385670B (zh) 認證下載至快閃記憶體之程式的裝置及方法
JP2017504267A (ja) セキュアブート中のキー抽出
US11874928B2 (en) Security device, electronic device, secure boot management system, method for generating boot image, and method for executing boot chain
CN110622161A (zh) 可重新配置装置比特流密钥认证
US8966253B1 (en) Method and apparatus for authenticating a programmable device bitstream
Barbareschi et al. Advancing wsn physical security adopting tpm-based architectures
JP2004054834A (ja) プログラム開発方法、プログラム開発支援装置およびプログラム実装方法
Devic et al. Securing boot of an embedded linux on FPGA
KR101656092B1 (ko) 비동기적인 인증을 갖는 보안 컴퓨팅 시스템
Scire et al. Attacking the Nintendo 3DS boot ROMs
KR101711926B1 (ko) 보안기능을 가지는 SoC 및 SoC의 보안방법
TWI826048B (zh) 資料安全性校驗方法及電子裝置
WO2011050655A1 (zh) 移动终端及其系统数据防克隆方法
JP2022124424A (ja) 効率的なデータアイテム認証