Procedimiento de aseguramiento de un microprocesador, programa de ordenador y dispositivo correspondientes.
Un procedimiento de aseguramiento de un microprocesador que contiene al menos un programa principal,
que coopera con al menos una memoria, comprendiendo dicho procedimiento una etapa de puesta en práctica de contramedidas, durante la cual operaciones suplementarias, no necesarias para dicho programa principal, son puestas en práctica de manera que modifiquen el consumo de corriente y/o el tiempo de tratamiento de dicho microprocesador durante la utilización de una parte de código crítico para dicho programa principal, caracterizado porque comprende las etapas siguientes:
- identificación de al menos una zona de memoria de dicha o de dichos memorias, llamadas zonas críticas, y que contiene, o es susceptible de contener, dicha parte de código;
- vigilancia de los puertos de direccionamiento de dicha o de dichas memorias, de manera que detecte un acceso a dicha o a dichas zonas criticas;
- activación de dicha etapa de puesta en práctica de contramedidas, cuando se ha detectado un acceso a dicha o a dichas zonas críticas.
Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E08172025.
Solicitante: COMPAGNIE INDUSTRIELLE ET FINANCIERE D'INGENIERIE INGENICO.
Nacionalidad solicitante: Francia.
Dirección: 192 AVENUE CHARLES DE GAULLE 92220 NEUILLY SUR SEINE FRANCIA.
Inventor/es: NACCACHE, DAVID, DABBOUS,NORA.
Fecha de Publicación: .
Clasificación Internacional de Patentes:
- G06F21/00 FISICA. › G06 CALCULO; CONTEO. › G06F PROCESAMIENTO ELECTRICO DE DATOS DIGITALES (sistemas de computadores basados en modelos de cálculo específicos G06N). › Disposiciones de seguridad para la protección de computadores, sus componentes, programas o datos contra actividades no autorizadas.
- G06F21/02
PDF original: ES-2391676_T3.pdf
Fragmento de la descripción:
Procedimiento de aseguramiento de un microprocesador, programa de ordenador y dispositivo correspondientes.
1. Dominio del Invento
El campo del invento es el del aseguramiento de objetos con microprocesador, también llamado chip, y/o de programas destinados a estar integrados en tales objetos con chip.
El invento se aplica principalmente a los microprocesadores y/o programas integrados en las tarjetas con chip. Se han descrito por tanto a continuación esencialmente tales tarjetas con chip, pero el invento puede fácilmente ser puesto en práctica para cualquier tipo de objeto, principalmente portátil, equipado con tal chip, cualquiera que sea la naturaleza de éste último.
2. Técnica anterior
Se utilizan desde hace mucho tiempo tarjetas con chip, principalmente para identificar o autentificar un producto, una cuenta y/o una persona. El chip, o microprocesador, presenta por tanto una estructura específica de transistores, que define una lógica de tratamiento y zonas de memoria, de las que al menos una parte es asegurada, que contiene datos secretos.
Los documentos XP002322251 (KOMMER-LING O y COL. “Principios de diseño para procesadores de tarjeta inteligente resistente a falsificaciones”) y XP002329915 (HAGAI BAREL y COL “La Guía del Aprendiz de Brujo para Ataques por Defecto”) recogen diferentes tipos de ataques clásicos, que pretenden adivinar estos datos secretos, y
los medios para protegerse de ellos.
Estos datos secretos, todavía llamados datos asegurados o críticos, son el objeto de diferentes tipos de medidas de protección, por ejemplo para impedir el clonado de las tarjetas en las que están almacenadas, o la obtención de informaciones (un código secreto de identificación) que permiten una utilización fraudulenta de una tarjeta robada.
Por ejemplo, una técnica de aseguramiento consiste en almacenar estos datos en zonas de memoria no accesibles, no modificables.
Existen también medidas de protección llamadas contramedidas, que consisten en ocultar el consumo de corriente
de una tarjeta a un “observador exterior”, durante el funcionamiento de la tarjeta, enmascarando este consumo o
presentando un consumo caótico de corriente, no representativo del consumo real de corriente en la tarjeta.
En efecto, a falta de poder acceder a los datos críticos, una persona malintencionada puede obtener, observando el consumo de corriente de una tarjeta durante su funcionamiento, informaciones explotables sobre las operaciones lógicas realizadas.
La puesta en práctica de estas contramedidas permite por tanto ocultar el consumo de corriente de una tarjeta durante su funcionamiento.
Esta técnica corresponde por ejemplo a la activación de operaciones lógicas suplementarias, no necesarias para el funcionamiento de la tarjeta, y que entrañan un consumo suplementario de corriente, no representativo del funcionamiento real de la tarjeta.
Estas contramedidas pueden ser activadas sistemáticamente durante el funcionamiento de la tarjeta, de manera que aseguren la protección de los datos críticos que pueden ser manipulados durante el funcionamiento, como se ha divulgado por ejemplo por el documento FR 2860 933 A.
Un inconveniente en esta técnica anterior reside en el hecho de que la activación de estas contramedidas es costosa en términos de consumo de energía de la tarjeta.
Además, otro inconveniente corresponde al hecho de que la activación de operaciones suplementarias es costosa en términos de tamaño de código.
Finalmente, esta técnica de aseguramiento basada en la activación de contramedidas es igualmente costosa en tiempos de programación.
Existe otra técnica de aseguramiento por contramedidas, que limita los inconvenientes citados más arriba y que consiste en activar las contramedidas solamente en ciertos momentos del funcionamiento de la tarjeta, como se ha divulgado por ejemplo por los documentos US 2001/016910 A1 o DE 198 28 936 A1.
Por ejemplo, el programa principal que asegura el funcionamiento de la tarjeta puede ser modificado de manera que prevea activar contramedidas en momentos definidos como críticos. Por ejemplo, estos momentos pueden corresponder a partes de código del programa, o a acciones programadas, que manipulan datos identificados como críticos. Estos momentos críticos son identificados por el autor del programa.
Un inconveniente de esta técnica reside en el hecho de que no garantiza que todos los datos críticos están bien asegurados, porque en el programador puede haber olvidado identificar una parte del código como crítica, o haber juzgado mal el nivel de seguridad de una acción o de una parte de código.
3. Exposición del Invento
El invento propone una solución nueva que no presenta el conjunto de estos inconvenientes de la técnica anterior, en forma de un procedimiento de aseguramiento de un microprocesador que contiene al menos un programa principal, que coopera menos con una memoria, comprendiendo dicho procedimiento una etapa de puesta en práctica de contramedidas, durante la cual operaciones suplementarias, no necesarias para dicho programa principal, son puestas en práctica de manera que modifiquen el consumo de corriente y/o el tiempo de tratamiento de dicho microprocesador.
Según el invento, tal procedimiento comprende las etapas siguientes:
- identificación de al menos una dirección o una zona de memoria de la o de dichas memorias, llamadas direcciones críticas, y que contiene, o es susceptible de contener, datos críticos para dicho programa principal;
- vigilancia de los puertos de direccionamiento de la o de dichas memorias, de manera que detecte un acceso a la o a dichas direcciones críticas;
- activación de dicha etapa de puesta en práctica de contramedidas, cuando un acceso a la o a dichas direcciones criticas es detectado.
Así, el invento descansa sobre una aproximación nueva e inventiva del aseguramiento de un microprocesador, basada en la identificación de zonas o de direcciones de memoria de almacenamiento para datos críticos que sirven para el funcionamiento del microprocesador, y sobre la activación de contramedidas en cada acceso a una o varias de las zonas o direcciones previamente identificadas.
Por ejemplo, estos datos sirven para un programa principal que asegura el funcionamiento del microprocesador. Los datos críticos para tal microprocesador pueden corresponder por ejemplo a códigos de identificación para una tarjeta que sirve para el pago electrónico, o a informaciones biométricas, por ejemplo para una tarjeta que permite un acceso seguro que necesita la autenticación de su usuario. Estos datos pueden igualmente ser utilizados para uno o varios periféricos que dialogan con la tarjeta.
Contrariamente a las disposiciones de la técnica anterior que identificaban los datos críticos ellas mismas para intentar protegerlas, el procedimiento según el invento identifica las zonas de memoria donde están almacenados estos datos y asegura todos los accesos a estas zonas de memorias, asegurando así los propios datos.
El aseguramiento de la tarjeta es asegurado por la activación de contramedidas, que permiten confundir o enmascarar la corriente durante los momentos en los que el funcionamiento de la tarjeta necesita un acceso a uno o varios datos críticos.
El procedimiento según el invento permite una optimización de la utilización de las contramedidas, únicamente durante los momentos “cruciales” del funcionamiento de la tarjeta, y no ya sistemáticamente durante el funcionamiento.
El procedimiento comprende en particular una etapa de vigilancia de los puertos de direccionamiento de la o de dichas memorias.
Así, cada acceso con una dirección crítica, por el programa principal de la tarjeta, o por uno de los periféricos, es vigilado y detectado de manera que active contramedidas. Así, la vigilancia de todos los accesos a las direcciones de memoria identificadas como críticas (almacenando pues datos críticos) , permite optimizar el aseguramiento de estos datos críticos, de forma independiente a la elección del autor de un programa, contrariamente a una disposición de la... [Seguir leyendo]
Reivindicaciones:
1. Un procedimiento de aseguramiento de un microprocesador que contiene al menos un programa principal, que coopera con al menos una memoria, comprendiendo dicho procedimiento una etapa de puesta en práctica de contramedidas, durante la cual operaciones suplementarias, no necesarias para dicho programa principal, son puestas en práctica de manera que modifiquen el consumo de corriente y/o el tiempo de tratamiento de dicho microprocesador durante la utilización de una parte de código crítico para dicho programa principal, caracterizado porque comprende las etapas siguientes:
- identificación de al menos una zona de memoria de dicha o de dichos memorias, llamadas zonas críticas, y que contiene, o es susceptible de contener, dicha parte de código;
- vigilancia de los puertos de direccionamiento de dicha o de dichas memorias, de manera que detecte un acceso a dicha o a dichas zonas criticas;
- activación de dicha etapa de puesta en práctica de contramedidas, cuando se ha detectado un acceso a dicha
o a dichas zonas críticas.
2. Un procedimiento según la reivindicación 1, caracterizado porque comprende una etapa de interrupción de dicha etapa de puesta en práctica de contramedidas, una vez que dicha o dichas llamadas zonas críticas no son ya utilizadas.
3. Un procedimiento según una cualquiera de las reivindicaciones 1 y 2, caracterizado porque dicha etapa de puesta en práctica de contramedidas comprende al menos una de las operaciones que pertenecen al grupo siguiente:
- realización de operaciones matemáticas o lógicas aleatorias;
- duplicación de operaciones efectuadas por dicho programa principal;
- lanzamiento de un programa secundario de camuflaje.
4. Un procedimiento según una cualquiera de las reivindicaciones 1 a 3, caracterizado porque dichas memorias pertenecen al grupo que comprende:
- las memorias RAM;
- las memorias ROM;
- las memorias EPROM;
- las memorias EEPROM;
- las memorias flash.
5. Un producto de programa de ordenador descargable desde una red de comunicación y/o grabado o registrado sobre un soporte legible por ordenador y/o ejecutable por un procesador, caracterizado porque comprende instrucciones de código de programa para la puesta en práctica del procedimiento de aseguramiento según una al menos de las reivindicaciones 1 a 4.
6. Un dispositivo con microprocesador asegurado que contiene al menos un programa principal, que coopera con al menos una memoria, comprendiendo dicho dispositivo medios de puesta en práctica de contramedidas, durante la cual operaciones suplementarias, no necesarias para dicho programa principal, son puestas en práctica de manera que modifiquen el consumo de corriente y/o el tiempo de tratamiento de dicho microprocesador, durante la utilización de una parte de código crítico para dicho programa principal, caracterizado porque comprende:
- medios de identificación de al menos una zona de memoria de dicha o de dichas memorias, llamadas zonas críticas, y que contiene, o es susceptible contener, dicha parte código;
- medios de vigilancia de los puertos de direccionamiento de dicha o de dichas memorias, de manera que detecte un acceso a dicha o a dichas zonas críticas;
- medios de activación de dicha etapa de puesta en práctica de contramedidas, cuando un acceso a dicha o a dichas zonas críticas es detectado.
7. Un dispositivo según la reivindicación 6, caracterizado porque se presenta en forma de una tarjeta con microprocesador.
Patentes similares o relacionadas:
Funcionamiento de red de frecuencia única (SFN) para mejoras de cobertura de comunicaciones de tipo máquina (MTC), del 17 de Junio de 2020, de QUALCOMM INCORPORATED: Un procedimiento para comunicaciones de tipo máquina, MTC, inalámbricas realizado por un dispositivo remoto caracterizado por: detectar […]
Método y aparato de procesamiento de servicio, del 3 de Junio de 2020, de Advanced New Technologies Co., Ltd: Un método para el procesamiento de servicios, el método que comprende: después de recibir una solicitud de procesamiento de servicios de un usuario, […]
Dispositivo de a bordo para un vehículo, del 20 de Mayo de 2020, de AUTOSTRADE TECH S.p.A: Dispositivo de a bordo (100, 100', 100") para un vehículo, siendo adecuado dicho dispositivo de a bordo (100, 100', 100") para su uso en un sistema […]
Método para detectar software clonado, del 29 de Abril de 2020, de NAGRAVISION S.A.: Método para detectar un software clonado para ser usado en una unidad de usuario cliente que se comunica con un servidor para solicitar un servicio enviando una solicitud […]
Dispositivo multimedia y procedimiento de transmisión de datos por un dispositivo multimedia, del 18 de Marzo de 2020, de FM Marketing GmbH: Un dispositivo multimedia con un control remoto , que comprende: - un primer microprocesador , - un primer dispositivo de hardware para identificar el control […]
Proceso para asegurar la comunicación de un archivo digital a través de una red de comunicación, del 26 de Febrero de 2020, de AMADEUS S.A.S.: Proceso para comunicar un archivo digital (D1) desde un servidor a un Sistema de Manejo de Información (IHS), comprendiendo el IHS un conjunto […]
Método y aparato para proporcionar entorno virtual personalizado, del 15 de Enero de 2020, de Beijing Xiaomi Mobile Software Co., Ltd: Un método realizado por una plataforma de servicios para proporcionar acceso a una comunidad de servicios que comprende: comparar la información de identificación […]
Procedimiento y dispositivo para controlar la pantalla de seguridad en un dispositivo electrónico, del 28 de Agosto de 2019, de SAMSUNG ELECTRONICS CO., LTD.: Un dispositivo electrónico que comprende: un módulo de representación; una primera memoria que tiene datos de representación almacenados en […]