ES2391676T3 - Procedimiento de aseguramiento de un microprocesador, programa de ordenador y dispositivo correspondientes - Google Patents

Procedimiento de aseguramiento de un microprocesador, programa de ordenador y dispositivo correspondientes Download PDF

Info

Publication number
ES2391676T3
ES2391676T3 ES08172025T ES08172025T ES2391676T3 ES 2391676 T3 ES2391676 T3 ES 2391676T3 ES 08172025 T ES08172025 T ES 08172025T ES 08172025 T ES08172025 T ES 08172025T ES 2391676 T3 ES2391676 T3 ES 2391676T3
Authority
ES
Spain
Prior art keywords
memories
critical
main program
microprocessor
countermeasures
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
ES08172025T
Other languages
English (en)
Inventor
David Naccache
Nora Dabbous
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.)
Ingenico Group SA
Original Assignee
Compagnie Industrielle et Financiere dIngenierie Ingenico SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Compagnie Industrielle et Financiere dIngenierie Ingenico SA filed Critical Compagnie Industrielle et Financiere dIngenierie Ingenico SA
Application granted granted Critical
Publication of ES2391676T3 publication Critical patent/ES2391676T3/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/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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting 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 by inhibiting the analysis of circuitry or operation with measures against power attack

Landscapes

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

Abstract

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.

Description

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 técnica anterior. En efecto, al estar todos los datos críticos almacenados en zonas de memoria identificadas a su vez como críticas, la vigilancia sistemática del acceso, en lectura, escritura, ejecución de código, etc., a estas zonas de memoria permite activar contramedidas cada vez que uno de estos datos críticos es manipulado.
Según aspecto particular del invento, el procedimiento comprende una etapa de interrupción de dicha etapa de puesta en práctica de contramedidas, una vez que dicha o dichas llamadas direcciones críticas no son utilizadas.
Así, las contramedidas son desactivadas una vez que las direcciones identificadas como críticas no son ya utilizadas, de manera que se limiten los efectos costosos, en términos de tiempos, de consumo de corriente, etc., de la activación de las contramedidas.
En efecto, estas últimas no son activadas más que en el momento en el que uno o varios datos críticos son manipulados, siendo detectado este momento por una vigilancia del acceso a las direcciones críticas previamente identificadas.
Por ejemplo, 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.
Así, las contramedidas pueden por ejemplo corresponder a operaciones matemáticas o lógicas que no sirven para el funcionamiento propiamente dicho de la tarjeta, sino que entrañan un sobreconsumo de corriente, impidiendo a un observador distinguir las operaciones útiles, y los datos críticos manipulados, de las operaciones unidas a las contramedidas.
Las contramedidas pueden corresponder a operaciones del programa principal, por ejemplo operaciones duplicadas, u operaciones de un programa secundario, llamado programa de camuflaje, que comprende únicamente operaciones de contramedidas, y eventualmente el código de vigilancia de los puertos de direccionamiento.
Según un modo de realización, dicha etapa de identificación designa al menos una dirección a una zona de memoria que comprende al menos uno de los elementos que pertenecen al grupo de comprende:
-
una parte de código de dicho programa principal;
-
datos asegurados.
Así, las direcciones críticas pueden ser identificadas como direcciones en las que se han almacenado directamente datos críticos, o bien direcciones en las que se han almacenado partes de código juzgadas igualmente críticas en sí mismas. Los datos críticos pueden ser por ejemplo informaciones biométricas, códigos de identificación, etc.
En particular, dichas memorias pertenecen al que comprende:
-
las memorias RAM;
-
las memorias ROM;
-
las memorias EPROM;
-
las memorias EEPROM;
-
las memorias flash.
Otro aspecto del invento se refiere a un producto de programa de ordenador descargable desde una red de comunicación y/o registrado en un soporte legible por ordenador y/o ejecutable por un procesador, que comprende instrucciones de código de programa para la puesta en práctica del procedimiento de aseguramiento tal como se ha descrito previamente.
El invento se refiere igualmente a un dispositivo de 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 empleadas de tal forma que modifiquen el consumo de corriente y/o el tiempo de tratamiento de dicho microprocesador.
Según el invento, tal dispositivo comprende:
-
medios de identificación de al menos una dirección o una zona de memoria de dicha o de dichas memorias, llamadas direcciones críticas, y que contiene, o es susceptible de contener, datos críticos para dicho programa principal;
-
medios de vigilancia de los puertos de direccionamiento de dicha o de dichas memorias, de manera que detecten un acceso a dicha o a dichas direcciones críticas;
-
medios de activación de dicha etapa de puesta en práctica de contramedidas, cuando una acceso a dicha o a dichas direcciones críticas es detectado.
Tal dispositivo es particularmente apto para poner en práctica el procedimiento de aseguramiento descrito precedentemente.
Por ejemplo, tal dispositivo se presenta en forma de una tarjeta con microprocesador.
4. Lista de las figuras Otras características y ventajas del invento aparecerán más claramente con la lectura de la descripción siguiente de un modo de realización particular, dada a título de simple ejemplo ilustrativo y no limitativo, y de los dibujos adjuntos, entre los que:
La fig. 1 presenta las principales etapas del procedimiento según el invento;
La fig. 2 ilustra un ejemplo de un dispositivo de aseguramiento que pone en práctica una técnica de aseguramiento según un modo de realización del invento.
5. Descripción de un modo de realización del invento
5.1 Principio General
El principio general del invento descansa sobre la identificación y la vigilancia de direcciones de memoria, o de zonas de memoria, críticas, es decir en las que están almacenados, o pueden ser almacenados, datos críticos, en un microprocesador. A cada acceso de una de estas direcciones críticas son activadas contramedidas, que permiten el aseguramiento de datos manipulados durante estos accesos de memoria.
El procedimiento según el invento permite la optimización de la activación de las contramedidas en momentos cruciales del funcionamiento del microprocesador, y por tanto la optimización del aseguramiento de datos críticos en el microprocesador.
5.2 Descripción de un modo de realización
Se presentan, en relación con las figs. 1 y 2, las principales etapas del procedimiento de aseguramiento según un modo de realización del invento.
Se considera un microprocesador, o una tarjeta, que contiene al menos un programa principal 20. Por ejemplo, esta tarjeta es una tarjeta de pago electrónico. Un usuario puede servirse de ella para un pago electrónico, o para una retirada de especies de un distribuidor, y debe identificarse con un código personal. Este código personal forma principalmente parte de los datos críticos a asegurar, y por tanto a salvaguardar en una o varias zonas de memoria específicas que cooperan con el microprocesador. La parte de código que permite la autenticación del usuario de la tarjeta puede igualmente formar parte de los datos a asegurar. Ciertas informaciones que se refieren por ejemplo a las coordenadas bancarias del usuario pueden igualmente estar almacenadas en una zona de memoria a asegurar
Durante una primera etapa 10, el procedimiento de aseguramiento según el invento identifica una o varias zonas de memoria 22, 23, que contienen o susceptibles de contener datos críticos. Estas zonas de memoria, 22, 23 pueden ser utilizadas por el programa principal, o por uno o varios periféricos 24 que interactúan con el microprocesador.
Estas zonas de memoria están referenciadas, por puertos de direccionamiento, y contienen en particular los datos críticos descritos más arriba, tales como el código de identificación del usuario, sus coordenadas bancarias, y la parte del programa principal que permite la autenticación del usuario. Una vez que se han identificado estas zonas de memoria, el autor del programa principal deber tener en cuenta para almacenar todos los datos críticos utilizados en el programa principal en estas zonas de memoria específicas.
Así, contrariamente a la técnica anterior en que las acciones para asegurar deben ser identificadas antes, o en el momento de la programación del programa principal, para activar en consecuencia las contramedidas, las zonas de memoria son aquí identificadas antes de la programación, y el autor del programa debe simplemente tenerlas en cuenta para almacenar en ellas los datos críticos.
Según este modo de realización del invento, un programa de vigilancia 21, distinto del problema principal, es el encargado de vigilar, durante una etapa 11, los puertos de direccionamiento de estas zonas de memoria 22, 23, previamente identificadas.
Así, una vez que el problema principal 20, o un periférico 24, accede a una de las zonas de memoria, 22, 23, el programa de vigilancia emite una alerta, que activa las contramedidas 25 previstas para asegurar los datos manipulados por el acceso de memoria en cuestión. Esta activación de las contramedidas (etapa 12), corresponde por ejemplo a la activación de una banderola o indicador, que indica que un acceso a una dirección de memoria crítica está en curso.
Por ejemplo, el programa de vigilancia puede comprender una sucesión de ensayos, que consisten en detectar todos los accesos a los puertos de direccionamiento de las zonas de memoria 22, 23, y en activar contramedidas en cada detección positiva.
Las contramedidas 25 pueden estar descritas en el programa de vigilancia y pueden corresponder por ejemplo a una sucesión de operaciones matemáticas aleatorias, puestas en práctica durante toda la duración del acceso a la dirección de memoria detectada.
Así, todas las acciones relativas al acceso a la dirección de memoria, es decir todas las acciones que manipulan uno o varios datos críticos, son enmascaradas por contramedidas activadas durante toda la duración del acceso de memoria, y así aseguradas.
Al final de cada acceso a una zona de memoria crítica 22, 23, las contramedidas son desactivadas, para evitar un sobreconsumo de corriente inútil.
5 Según una variante de este modo de realización, contramedidas suplementarias pueden igualmente ser puestas en práctica, en el programa principal. Por ejemplo, el autor del programa principal puede desear asegurar una parte del código del programa principal, que no hacen intervenir datos críticos, pero que necesitan según él un cierto grado de seguridad. Puede entonces activar contramedidas, activando una banderola en el código, según el mismo principio que la activación de las contramedidas descrita precedentemente.

Claims (7)

  1. 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. 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. 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. 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. 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. 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. 7. Un dispositivo según la reivindicación 6, caracterizado porque se presenta en forma de una tarjeta con microprocesador.
ES08172025T 2007-12-26 2008-12-17 Procedimiento de aseguramiento de un microprocesador, programa de ordenador y dispositivo correspondientes Active ES2391676T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0760359 2007-12-26
FR0760359A FR2925968B1 (fr) 2007-12-26 2007-12-26 Procede de securisation d'un microprocesseur, programme d'ordinateur et dispositif correspondants

Publications (1)

Publication Number Publication Date
ES2391676T3 true ES2391676T3 (es) 2012-11-28

Family

ID=39247357

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08172025T Active ES2391676T3 (es) 2007-12-26 2008-12-17 Procedimiento de aseguramiento de un microprocesador, programa de ordenador y dispositivo correspondientes

Country Status (6)

Country Link
US (1) US9141793B2 (es)
EP (1) EP2079034B1 (es)
ES (1) ES2391676T3 (es)
FR (1) FR2925968B1 (es)
PL (1) PL2079034T3 (es)
PT (1) PT2079034E (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10063569B2 (en) * 2015-03-24 2018-08-28 Intel Corporation Custom protection against side channel attacks

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4521852A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
US4685056A (en) * 1985-06-11 1987-08-04 Pueblo Technologies, Inc. Computer security device
FR2745924B1 (fr) * 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
US7587044B2 (en) * 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
FR2776410B1 (fr) * 1998-03-20 2002-11-15 Gemplus Card Int Dispositifs pour masquer les operations effectuees dans une carte a microprocesseur
DE19828936A1 (de) * 1998-05-29 1999-12-02 Siemens Ag Verfahren und Vorrichtung zum Verarbeiten von Daten
US20030118190A1 (en) * 1998-05-29 2003-06-26 Siemens Aktiengesellschaft Method and apparatus for processing data where a part of the current supplied is supplied to an auxiliary circuit
FR2784831B1 (fr) * 1998-10-16 2000-12-15 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
FR2789776B1 (fr) * 1999-02-17 2001-04-06 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
US6295606B1 (en) * 1999-07-26 2001-09-25 Motorola, Inc. Method and apparatus for preventing information leakage attacks on a microelectronic assembly
AU4508001A (en) * 1999-11-29 2001-06-18 Microsoft Corporation System and method for flexible micropayment of low value electronic assets
TW536672B (en) * 2000-01-12 2003-06-11 Hitachi Ltd IC card and microcomputer
US7620832B2 (en) * 2000-09-20 2009-11-17 Mips Technologies, Inc. Method and apparatus for masking a microprocessor execution signature
JP2003233789A (ja) * 2002-02-12 2003-08-22 Sony Corp データ処理装置およびその方法
KR100476892B1 (ko) * 2002-04-29 2005-03-17 삼성전자주식회사 데이터의 부정조작을 방지하는 방법 및 그것을 이용한데이터 처리 시스템
US7694139B2 (en) * 2002-10-24 2010-04-06 Symantec Corporation Securing executable content using a trusted computing platform
WO2004046934A2 (en) * 2002-11-18 2004-06-03 Arm Limited Secure memory for protecting against malicious programs
US7171539B2 (en) * 2002-11-18 2007-01-30 Arm Limited Apparatus and method for controlling access to a memory
DE10347301B4 (de) * 2003-10-08 2007-12-13 Infineon Technologies Ag Schaltung mit einem Bus mit mehreren Empfängern
EP1870814B1 (en) * 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
US7949883B2 (en) * 2004-06-08 2011-05-24 Hrl Laboratories, Llc Cryptographic CPU architecture with random instruction masking to thwart differential power analysis
EP1612639A1 (en) * 2004-06-30 2006-01-04 ST Incard S.r.l. Method for detecting and reacting against possible attack to security enforcing operation performed by a cryptographic token or card
FR2877118B1 (fr) * 2004-10-22 2007-01-19 Oberthur Card Syst Sa Protection contre les attaques par generation de fautes sur les instructions de saut
JP4794269B2 (ja) * 2004-11-08 2011-10-19 パナソニック株式会社 セキュアデバイスおよび中継端末
EP1659515A1 (fr) * 2004-11-19 2006-05-24 Proton World International N.V. Protection d'un microcontrôleur
US20080189557A1 (en) * 2005-01-19 2008-08-07 Stmicroelectronics S.R.I. Method and architecture for restricting access to a memory device
DE112006001769T5 (de) * 2005-06-22 2008-05-15 Discretix Technologies Ltd. System, Gerät und Verfahren zum selektiven Betreiben eines mit einem Token verbundenen Hosts
WO2007020567A1 (en) * 2005-08-19 2007-02-22 Nxp B.V. Circuit arrangement with non-volatile memory module and method for registering attacks on said non-volatile memory module
KR100837270B1 (ko) * 2006-06-07 2008-06-11 삼성전자주식회사 스마트 카드 및 그것의 데이터 보안 방법
EP1873671B2 (en) * 2006-06-29 2018-08-22 STMicroelectronics International N.V. A method for protecting IC Cards against power analysis attacks
US7864951B2 (en) * 2006-07-10 2011-01-04 King Fahd University Of Petroleum And Minerals Scalar multiplication method with inherent countermeasures
US8869294B2 (en) * 2006-12-05 2014-10-21 Intel Corporation Mitigating branch prediction and other timing based side channel attacks
US8091139B2 (en) * 2007-11-01 2012-01-03 Discretix Technologies Ltd. System and method for masking arbitrary Boolean functions

Also Published As

Publication number Publication date
US20090172268A1 (en) 2009-07-02
PL2079034T3 (pl) 2013-01-31
FR2925968B1 (fr) 2011-06-03
FR2925968A1 (fr) 2009-07-03
EP2079034A1 (fr) 2009-07-15
EP2079034B1 (fr) 2012-07-11
PT2079034E (pt) 2012-10-11
US9141793B2 (en) 2015-09-22

Similar Documents

Publication Publication Date Title
US11113384B2 (en) Stack overflow protection by monitoring addresses of a stack of multi-bit protection codes
CN108875688B (zh) 一种活体检测方法、装置、系统及存储介质
US8112637B2 (en) System and method for programming a data storage device with a password
CN105900114B (zh) 用于执行指纹认证的安全卡及基于此的安全卡处理系统及其处理方法
ATE318426T1 (de) System und verfahren zum lesen einer sicherheitsfreigabekarte
EP2728509A3 (en) Semiconductor Device and Encryption Key Writing Method
JP2015528596A5 (es)
CN105554026A (zh) 一种电子档案信息安全管理系统
CN106156577A (zh) 一种安全芯片、基于生物特征的认证方法和智能终端
ES2391676T3 (es) Procedimiento de aseguramiento de un microprocesador, programa de ordenador y dispositivo correspondientes
ES2643420T3 (es) Terminal de pago seguro
EA200801692A1 (ru) Способ идентификации аутентичности предметов, выпускаемых в обращение
ES2688838T3 (es) Procedimiento de autodetección de un intento de pirateo de una tarjeta electrónica de pago, tarjeta, terminal y programa correspondientes
DE60324034D1 (de) Verfahren und vorrichtung zur verhinderung des klonens von sicherheitselementen
JP2006268859A5 (es)
CN1851760B (zh) 生物体认证装置
JPH0434788B2 (es)
CN103839026B (zh) 多设备读取可加密身份证
ES2389334T3 (es) Bloqueo de un soporte de datos portátil
CN105323072B (zh) 基于图形码秘密分享机制的身份认证方法
CN103279716A (zh) 一种个人医疗信息移动存储设备
KR20120081630A (ko) 개인 소유의 전자 문서를 이용하여 개인 검사시 증거 요소를 입증하는 방법
CN108292260A (zh) 用于软件自测试的装置和方法
Arjunwadkar et al. Biometric device assistant tool: intelligent agent for intrusion detection at biometric device using JESS
ES2786267T3 (es) Procedimiento de control de una autenticidad de un terminal de pago y terminal así asegurado