ES2390638T3 - Procedimiento y dispositivo de protección de un microcircuito contra ataques - Google Patents

Procedimiento y dispositivo de protección de un microcircuito contra ataques Download PDF

Info

Publication number
ES2390638T3
ES2390638T3 ES09169345T ES09169345T ES2390638T3 ES 2390638 T3 ES2390638 T3 ES 2390638T3 ES 09169345 T ES09169345 T ES 09169345T ES 09169345 T ES09169345 T ES 09169345T ES 2390638 T3 ES2390638 T3 ES 2390638T3
Authority
ES
Spain
Prior art keywords
function
writing
microcircuit
attack
protection function
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
ES09169345T
Other languages
English (en)
Other versions
ES2390638T5 (es
Inventor
Hugues Thiebauld De La Crouée
Olivier Chamley
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.)
Idemia France SAS
Original Assignee
Oberthur Technologies 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40600008&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2390638(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Oberthur Technologies SA filed Critical Oberthur Technologies SA
Publication of ES2390638T3 publication Critical patent/ES2390638T3/es
Application granted granted Critical
Publication of ES2390638T5 publication Critical patent/ES2390638T5/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • G06K19/07309Means for preventing undesired reading or writing from or onto record carriers
    • G06K19/07363Means for preventing undesired reading or writing from or onto record carriers by preventing analysis of the circuit, e.g. dynamic or static power analysis or current analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)

Abstract

Procedimiento de protección de un microcircuito contra un ataque, que comprende: - una etapa (205) de determinación de si se detecta un ataque, - si se detecta un ataque, una etapa (210, 510) de realización de una función de protección; caracterizado porque el procedimiento comprende además: 10 - si no se detecta ningún ataque, una etapa (215, 515) de realización de una función de señuelo que simula la función de protección para que sea perceptible, desde el exterior de dicho microcircuito, de manera sensiblemente idéntica a la función de protección.

Description

Procedimiento y dispositivo de protección de un microcircuito contra ataques
5 La presente invención se refiere a un procedimiento y a un dispositivo de protección de un microcircuito contra ataques. Se aplica, en particular, a la protección de tarjetas con chips contra los ataques con análisis del consumo eléctrico (“side channel attacks with power analysis”).
El documento FR 2878633 A describe un procedimiento y dispositivo de ese tipo.
10 Para proteger los datos y los programas que éstos conservan, las tarjetas con microprocesador pueden implementar un banderín de destrucción (“kill-card flag”). Cuando la tarjeta detecta un evento que considera que es un ataque, pone irreversiblemente este banderín en un valor dado y este banderín con este valor impide el funcionamiento posterior del microprocesador. Este banderín se conserva en la memoria no volátil y poner el banderín en el valor
15 dado implica efectuar una escritura en la memoria no volátil (mediante la ejecución de una función denominada “Killcard”).
Unos ataques sofisticados se basan en el análisis de la ejecución con el fin de detectar la ejecución de una función de protección, o contramedida, lanzada por un microcircuito, con el fin de perturbar la ejecución de esta función de
20 protección mediante una acción física sobre el microcircuito (mediante perturbación de la frecuencia de reloj suministrada al microcircuito, mediante láser sobre una zona del circuito, etc.) o de impedir la ejecución de esta función de protección (mediante el corte de la alimentación al microcircuito, por ejemplo). De ese modo, la detección de la ejecución de la función de protección es una condición previa a su perturbación o a su inhibición. Esto permite al atacante llevar adelante así su ataque convirtiendo en inoperativa a la función de protección o debilitándola.
25 Ciertos de estos ataques sofisticados utilizan unas técnicas de análisis de consumo para determinar el funcionamiento del microprocesador. En particular, las operaciones de escritura en memoria no volátil implican un consumo eléctrico muy superior a las operaciones aritméticas en memoria activa. El análisis del consumo utiliza de ese modo el hecho de que las diferentes operaciones consumen diferentes cantidades de electricidad. Estas
30 diferentes operaciones presentan de ese modo diferentes firmas en términos del consumo eléctrico. El hecho de que una operación de escritura en memoria no volátil sea muy distinta, porque es muy consumidora de electricidad, permite en el ataque evitar que el banderín tome efectivamente el valor dado que prohíbe la utilización posterior del microprocesador. Desde que la firma de esta escritura se detecta por el ataque, la alimentación del microprocesador se corta y la operación de escritura no se finaliza.
35 La presente invención viene a remediar estos inconvenientes.
Con este fin, de acuerdo con un primer aspecto, la presente invención presenta un procedimiento de protección del microcircuito contra un ataque, caracterizado porque comprende:
-
una etapa de determinación de si se detecta un ataque,
-
si se detecta un ataque, una etapa de realización de una función de protección, y
45 - si no se detecta ningún ataque, una etapa de realización de una función de señuelo que simula la función de protección para que sea perceptible, desde el exterior de dicho microcircuito, de una forma sensiblemente idéntica a la función de protección.
De ese modo, un atacante no puede determinar si su ataque ha sido detectado percibiendo la realización de la
50 función de protección puesto que incluso si el ataque no ha sido detectado, la función de señuelo simula la realización de la función de protección.
Se observa que la simulación de la función de protección por la función de señuelo se ejecuta preferiblemente hasta un instante en el que ya no es posible para un atacante beneficiarse de la detección de la ejecución de la función de
55 protección para llevar adelante su ataque. De ese modo, preferiblemente, la función de señuelo tiene una duración superior o igual a la de la función de protección o a la tomada por la función de protección para impedir el funcionamiento normal del microcircuito, pudiendo ser perceptible la función de señuelo a continuación de esta duración sin que esto impida la protección del microcircuito.
60 Se observa que la magnitud física perceptible en el exterior del microcircuito y modulada por la función de protección y por la función de señuelo puede ser una radiación o un campo electromagnético, una resistencia, una capacidad, una inductancia, un voltaje, un amperaje o un consumo eléctrico, por ejemplo.
De acuerdo con las características particulares, a continuación de la etapa de determinación de si se ha detectado 65 un ataque, la función de protección no se ejecuta si la función de señuelo se ha ejecutado.
De acuerdo con las características particulares, la función de señuelo representa un consumo eléctrico sensiblemente idéntico al de la función de protección.
De ese modo, en el caso de que el consumo eléctrico provocado por la realización de la función de protección sea
5 perceptible desde el exterior del microcircuito, se prevé, en el curso del funcionamiento normal del microcircuito, realizar una función de señuelo que presente la misma firma, en términos de consumo eléctrico. El atacante no puede por lo tanto distinguir ya, en base al consumo eléctrico del microcircuito, la ejecución de la función de protección y el funcionamiento normal del microcircuito.
Como se ha mencionado más arriba, en el caso en que el atacante detenga la alimentación del microcircuito cada vez que se desencadena la función de señuelo, no puede analizar el funcionamiento del microcircuito. El ataque se convierte por lo tanto en ineficaz y el microcircuito se protege contra este tipo de ataque. Se observa que, en este tipo de ataque, si el atacante no corta la alimentación eléctrica cuando detecta el consumo eléctrico de la función de señuelo, con el fin de proseguir la observación del funcionamiento del microcircuito después de la realización de una
15 función de señuelo, dejará necesariamente que se ejecute la función de protección cuando su ataque haya sido detectado.
De acuerdo con unas características particulares, la función de protección es una función de colocación en fuera de servicio del microcircuito, preferiblemente mediante la escritura de un dato en la memoria no volátil. Por ejemplo, la función de protección es una función “Killcard” expuesta anteriormente.
De acuerdo con unas características particulares, la función de protección efectúa una etapa de escritura de un dato predeterminado en una primera dirección de una memoria no volátil.
25 De ese modo, previendo, en el funcionamiento normal del microcircuito, incluso en ausencia de detección de un ataque, la realización de la función de señuelo que presenta la misma firma en términos de consumo eléctrico que la función “Killcard”, se convierte el ataque en ineficaz.
De acuerdo con unas características particulares, la función de señuelo efectúa una etapa de escritura en memoria no volátil en una segunda dirección diferente de la primera dirección.
De acuerdo con unas características particulares, en el curso de la etapa de escritura en la segunda dirección por la función de señuelo, se escribe un mismo número de informaciones binarias que en el curso de la escritura en la primera dirección por la función de protección, y se pone en práctica el mismo algoritmo de escritura que durante la
35 escritura en la primera dirección por la función de protección.
De acuerdo con unas características particulares, en el curso de la etapa de escritura en la segunda dirección por la función de señuelo, se escribe dicho dato predeterminado en dicha segunda dirección.
De acuerdo con unas características particulares, en el curso de la etapa de realización de la función de señuelo, se efectúa una escritura en la memoria no volátil, en la primera dirección, de un dato diferente a dicho dato predeterminado.
Cada una de estas características particulares refuerza la similitud de las firmas de la función de protección y de la 45 función de señuelo, en términos de consumo eléctrico.
De acuerdo con unas características particulares, dichas etapas de escritura en memoria no volátil implementan un algoritmo diferente al de otras etapas de escritura en memoria no volátil efectuadas durante el funcionamiento normal del microcircuito.
Se observa que el algoritmo puede ser diferente de manera lógica o material, aplicándose este último caso cuando las células de la memoria son de naturaleza diferente.
De acuerdo con unas características particulares, en el curso de al menos una parte de dichas etapas de escritura
55 en la memoria no volátil, no se pone en práctica el dato de verificación. Principalmente, no se implementa la suma de verificación (en inglés “checksum”).
De acuerdo con unas características particulares, en el curso de al menos una parte de dichas etapas de escritura en memoria no volátil, no se pone en práctica la relectura del dato escrito.
De acuerdo con unas características particulares, en el curso de al menos una parte de dichas etapas de escritura en memoria no volátil, no se pone en práctica el borrado de la zona de escritura (“erase”).
Gracias a cada una de estas disposiciones, se aceleran las etapas de escritura y se reduce por lo tanto el riesgo de
65 que el ataque tenga tiempo de cortar la alimentación antes del fin de la función “killcard”, sin que, por lo tanto, las firmas de las diferentes funciones sean diferentes. Además, se acelera el funcionamiento del microcircuito puesto que la duración de la realización de ciertas funciones de escritura se reduce. Finalmente, se reduce el uso de las células de memoria afectadas por la función de señuelo reduciendo el número de ciclos de escritura/lectura.
De acuerdo con unas características particulares, si la rescritura de datos, en la memoria no volátil es perceptible,
5 desde el exterior de dicho microcircuito, de manera idéntica a la escritura inicial de dichos datos, la función de señuelo no incluye el borrado de la zona de escritura. En efecto, en este caso, la función de protección, que impone una escritura, y la función de señuelo que, excepto en su primera iteración, puede incluir unas rescrituras idénticas, puede tener la misma firma sin la fase preliminar denominada “erase”.
De acuerdo con unas características particulares, dicho borrado de la zona de escritura se sustituye, en cada etapa de escritura en la que está ausente, por un borrado parcial de la zona de escritura.
Por ejemplo, se realiza un borrado parcial de ese tipo efectuando una descarga (o carga según las arquitecturas de la memoria) de las cargas de cada célula de memoria afectada por la escritura durante una duración inferior a la que
15 permite una descarga (o carga) completa de la célula de memoria.
De acuerdo con unas características particulares, la función de protección pone en práctica dicha etapa de borrado de la zona de escritura. Gracias a estas disposiciones, se acelera el funcionamiento del microcircuito, puesto que la función de señuelo no realiza siempre el borrado de la zona de escritura mientras se garantiza la buena escritura por la función de protección, durante la detección de un ataque.
De acuerdo con unas características particulares, una parte de las ejecuciones de la función de señuelo comprenden dicha etapa de borrado de la zona de escritura. Estas características se aplican, particularmente, en el caso en que las firmas de la escritura y de la rescritura no sean idénticas y en donde la función de protección incluye la fase
25 preliminar de borrado de las células en las que se va a efectuar la escritura.
De acuerdo con unas características particulares, la función de protección efectúa una etapa de cifrado de al menos un dato sensible.
De acuerdo con unas características particulares, la función de señuelo no tiene otra función más que la de simular la función de protección.
La función de señuelo no es de ese modo funcional y no influye en el funcionamiento del microcircuito aparte de su fase de ejecución. Por ejemplo, la función de señuelo efectúa la escritura de datos que no son leídos jamás o el
35 cifrado de al menos un dato inútil en el funcionamiento del microcircuito. Gracias a estas disposiciones, se puede prever una función de señuelo más rápida, por ejemplo una escritura más rápida, por ejemplo, sin etapa de borrado y/o sin etapa de verificación del dato escrito, que si la función de señuelo fuera útil en el funcionamiento del microcircuito.
De acuerdo con un segundo aspecto, la presente invención prevé un dispositivo de protección de un microcircuito contra un ataque, caracterizado porque comprende:
• un medio de determinación de si se ha detectado un ataque y
45 • un medio de control adaptado:
-
si se detecta un ataque, para realizar una función de protección y
-
si no se detecta ningún ataque, una etapa de realización de una función de señuelo que simula la función de protección que sea perceptible, desde el exterior de dicho microcircuito, de manera sensiblemente idéntica a la función de protección.
De acuerdo con un tercer aspecto, la presente invención prevé una entidad electrónica de chips o portátil que incluye el dispositivo objeto de la presente invención, tal como se ha expuesto sucintamente anteriormente.
55 Por ejemplo, esta entidad electrónica es tal como un PDA (acrónimo de “personal digital assistant” por asistente personal digital), una llave USB (acrónimo de “universal serial bus” por bus serie universal), una tarjeta de memoria, un teléfono móvil, un pasaporte electrónico o una tarjeta de chips (es decir de acuerdo con la norma ISO 7816 y asegurada, por ejemplo certificada de conformidad con los criterios comunes).
Siendo las ventajas, objetivos y características particulares de este dispositivo y de esta entidad, similares a los del procedimiento objeto de la presente invención, tal como se ha expuesto sucintamente con anterioridad, no se recuerdan aquí.
65 Otras ventajas, objetivos y características de la presente invención surgirán con la descripción que seguirá a continuación, en un sentido explicativo y de ningún modo limitativo, en relación con los dibujos adjuntos, en los que: - la figura 1 representa, esquemáticamente, un modo de realización particular del dispositivo objeto de la presente invención,
5 - la figura 2 representa, en la forma de un diagrama lógico, unas etapas implementadas en un primer modo de realización particular del procedimiento objeto de la presente invención,
-
la figura 3 representa, en la forma de un diagrama lógico, unas etapas implementadas en una etapa de escritura
normal de una memoria no volátil, 10
-
la figura 4 representa, en la forma de un diagrama lógico, unas etapas implementadas en una variante preferente del modo de realización del procedimiento objeto de la presente invención, y
-
la figura 5 representa, en la forma de un diagrama lógico, unas etapas implementadas en un segundo modo de 15 realización particular del procedimiento objeto de la presente invención.
En la descripción que sigue a continuación, se ha considerado, a modo de ejemplo, que la magnitud física perceptible desde el exterior del microcircuito es el consumo eléctrico, debido al hecho de que los ataques actualmente conocidos la conciernen. No obstante la presente invención no se limita a este tipo de magnitud física
20 modulada durante la detección de un ataque sino que se extiende, por el contrario, a todas las magnitudes físicas moduladas perceptibles en el exterior del microcircuito, o en contacto con el microcircuito o con unos enlaces ligados a él o a distancia.
De ese modo, una magnitud física modulada afectada por la presente invención puede ser una radiación o un campo 25 electromagnético, una resistencia, una capacidad, una inducción, un voltaje, un amperaje o un consumo eléctrico, por ejemplo.
Si se detecta un ataque, se realiza una función de protección del microcircuito modulando, en consecuencia, al menos una magnitud física predeterminada perceptible en el exterior de dicho microcircuito. De acuerdo con la 30 presente invención, en el curso del funcionamiento normal del microcircuito, se realiza una función de señuelo que simula la función de protección modulando cada dicha magnitud física predeterminada perceptible desde el exterior de dicho microcircuito de manera sensiblemente idéntica a la función de protección. Esta simulación de la función de protección por la función de señuelo se ejecuta preferiblemente hasta un instante en el que ya no es posible para un atacante beneficiarse de la detección de la ejecución de la función de protección para llevar adelante su ataque. De
35 ese modo, preferiblemente, la función de señuelo tiene una duración superior o igual a la tomada por la función de protección para impedir el funcionamiento normal del microcircuito, pudiendo ser perceptible la función de señuelo a continuación de esta duración sin que esto impida la protección del microcircuito.
Se observa, en la figura 1, una tarjeta de un microcircuito 105 que incluye, ligados entre sí por un bus 155, un
40 microprocesador 110, unas entradas/salidas 115, una memoria no volátil 120 que conserva un sistema operativo (“operating system”) 125, una memoria no volátil 130 que incluye una matriz de memoria 135 y directamente controlada por el microprocesador 110.
Un programa 150 de escritura rápida tal como el expuesto en relación con la figura 4 se conserva o bien en la
45 memoria no activa 120, como se ilustra en la figura 1, o bien en la memoria no volátil 130, o bien está cableado en el microprocesador 110. Como variante, el programa 150 se implementa directamente por el sistema operativo 125 conservado en la memoria no activa 120.
La memoria no activa 120 o la memoria no volátil 130 conservan unas instrucciones de un programa de 50 funcionamiento de la tarjeta 105. Este programa pone en práctica, particularmente, las etapas del modo de realización particular del procedimiento ilustrado en la figura 2.
Como se ilustra en relación con las figuras 2 y 5, el procedimiento objeto de la presente invención se pone en práctica cada vez que el funcionamiento de la tarjeta de microcircuito 105 comprende una etapa 205 de 55 determinación de si tiene lugar un ataque, de acuerdo con unas técnicas conocidas.
Si se detecta un ataque, se efectúa una función de protección destinada a proteger la tarjeta y/o su contenido.
En conformidad con la presente invención, incluso si no se detecta ningún ataque, se efectúa una función de 60 señuelo que simula la función de protección siendo perceptible, desde el exterior de dicho microcircuito, de manera sensiblemente idéntica a la función de protección.
En unos modos de realización simples, la función de señuelo es idéntica a la función de protección en un valor de parámetro o de variable cercanos y estos valores presentan el mismo número de datos binarios (“bits”) y, 65 eventualmente, el mismo número de datos binarios iguales a “0”.
Como se ilustra en la figura 2, en unos modos de realización, la función de protección consiste, en el curso de una etapa 210, en escribir un dato predeterminado en una primera dirección de una memoria no volátil. Se trata, por ejemplo, de poner en un valor predeterminado un banderín de destrucción “kill flag”, escribiendo un dato predeterminado, en una primera dirección de la memoria no volátil que corresponde a este banderín.
5 En unos modos de realización, en conformidad con la presente invención, incluso si no se detecta ningún ataque, se efectúa una etapa 215 de realización de una función que presente la misma firma, en términos de consumo eléctrico, que la etapa de escritura de un dato predeterminado en la primera dirección de la memoria no volátil.
10 En unos modos de realización simples, en el curso de la etapa de realización de la función de señuelo, se efectúa una escritura en la memoria no volátil en una segunda dirección diferente de la primera dirección.
Para que las firmas sean lo más parecidas posible, en el curso de la etapa de escritura en la segunda dirección, se escribe un mismo número de informaciones binarias que el dato predeterminado y se implementa el mismo protocolo 15 de escritura que durante la escritura del dato predeterminado. Preferiblemente, en el curso de la etapa de escritura en la segunda dirección, se escribe el dato predeterminado en la segunda dirección.
Por ejemplo, si la función “Killcard(dirección1)” se utiliza durante la detección de un ataque, la función “Killcard(dirección2)” se implementa cuando no hay detección de un ataque. 20 Un código, o serie de instrucciones, correspondiente es el siguiente:
25 Como variante, la función de protección, denominada “killcard1(dirección1)” es diferente de la función de señuelo, denominada, por ejemplo, “killcard2(dirección2)”, efectuándose la segunda, por ejemplo, sin relectura ni verificación de los datos de verificación, como se expone a continuación.
Como se ilustra en la figura 5, en unos modos de realización, la función de protección consiste, en el curso de una
30 etapa 510, en cifrar al menos un objeto sensible conservado en la memoria no volátil, con una clave secreta, en escribirla en la memoria no volátil y en hacerla inaccesible, por ejemplo, borrando la versión en claro del objeto sensible. De ese modo, una vez cifrados los datos, el circuito no puede ya funcionar normalmente.
En estos modos de realización, de conformidad con la presente invención, incluso si no se detecta ningún ataque, en
35 el curso del funcionamiento del microcircuito, se efectúa una etapa 515 de realización de una función que presenta la misma firma, en términos de consumo eléctrico, que la etapa de cifrado de cada objeto sensible y de escritura en la memoria no volátil. Por ejemplo, en el curso de la etapa 515, se efectúa un cifrado de datos inútiles en el funcionamiento del microcircuito.
40 Debido al hecho de la reversibilidad del cifrado, con una clave simétrica o asimétrica, el emisor (“issuer”) de la tarjeta puede descifrar cada dato sensible cifrado de ese modo en el curso de la etapa 510, rescribirlo en la memoria no volátil y convertir de ese modo la tarjeta, de nuevo, en operativa.
Como variante, sólo se realiza un cifrado parcial de los datos por la función de señuelo. La función de señuelo no
45 tiene entonces una duración tan larga como la función de protección. En efecto, incluso si el atacante puede detectar entonces la función de protección, de una duración más larga, y cortar inmediatamente la alimentación del microcircuito, el microcircuito está protegido porque unos datos necesarios para su funcionamiento, al menos normales, están borrados, incluso si todos los datos que deben ser borrados por la función de protección no lo han sido.
50 Como se describe más adelante en relación con la figura 4, una variante de este algoritmo consiste en utilizar una función Killcard modificada para, durante una escritura en una de la primera y segunda direcciones, no realizar el borrado de la zona de escritura, de relectura y/o de verificación del dato de verificación, particularmente de la suma de verificación (“checksum”). Con este fin, antes de realizar la operación de escritura, el microprocesador de la tarjeta determina si esta escritura se refiere a una de las direcciones dirección1 o dirección2. Si es así, se utiliza la operación de escritura simplificada (véase la figura 4). Si no, se realiza la operación de escritura completa (véase la figura 3). Se observa que la diferencia de tratamiento puede también ser el resultado de la arquitectura de la memoria en sí.
5 En unas variantes, en el curso de la etapa de realización de la función de señuelo, se efectúa una escritura en la memoria no volátil, en la primera dirección, de un dato diferente a dicho dato predeterminado que se escribe, en la misma dirección, por la función de protección.
Como se observa, en la figura 3, un protocolo actual de escritura de un dato en la memoria no volátil comprende:
-
una etapa 305 de borrado de la zona de escritura, al menos en la dirección en la que se debe escribir un dato; esta etapa se denomina, en inglés, “erase”;
15 - una etapa 310 de determinación de al menos una suma de verificación (en inglés “checksum”) a partir del dato que debe ser escrito;
-
una etapa 315 de escritura del dato y de cada suma de verificación determinada durante la etapa 310;
-
una etapa 320 de la relectura del dato escrito y de cada suma de verificación; y
-
una etapa 325 de determinación de la validez de las sumas de verificación rehaciendo, en los datos leídos, una determinación de cada suma de verificación correspondiente y comparándola con la suma de verificación leída.
25 Se observa que la etapa 305 de borrado de la zona de escritura puede consistir en una puesta a un mismo nivel de las cargas de la zona de escritura.
Como se comprende, este protocolo de escritura impone una etapa de escritura muy larga que usa la memoria y ralentiza la ejecución.
Se observa aquí que la detección de un error de suma de verificación para la dirección dirección2 no tiene ninguna consecuencia, puesto que los datos escritos no son vueltos a leer jamás, en unos modos de realización, no se desencadena ninguna acción en el caso de una detección de ese tipo.
35 En otros modos de realización, esta detección se considera como un índice de un ataque. Si se detecta otro índice, ligado por ejemplo, al sobrepaso de un valor límite por el número utilizaciones de una clave de cifrado o de autenticaciones de la tarjeta, se determina que se produce un ataque y se realiza la función de protección del microcircuito.
Como se observa en la figura 4, en unos modos de realización preferidos del procedimiento objeto de la presente invención, el protocolo de escritura en la segunda dirección y, eventualmente, también en la primera dirección no incluye:
-
la etapa de borrado de la zona de escritura; esta etapa se mantiene, eventualmente, para ciertas escrituras 45 elegidas aleatoriamente o cíclicamente, en el curso de la etapa 405;
-
la etapa de determinación de al menos una suma de verificación (en inglés “checksum”); esta etapa se mantiene, eventualmente, para ciertas escrituras elegidas aleatoriamente o cíclicamente, en el curso de una etapa 410;
-
la etapa de escritura de la suma o sumas de verificación; esta etapa se mantiene, eventualmente, en el curso de una etapa 416 para cada suma de verificación determinada en el curso de una etapa 410;
-
la etapa de relectura del dato escrito; esta etapa se mantiene, eventualmente, en el curso de una etapa 420, para
los datos que hayan dado lugar a la determinación de al menos una suma de verificación; 55
-
la etapa de determinación de la validez de las sumas de verificación rehaciendo, sobre los datos leídos, una determinación de cada suma de verificación correspondiente; esta etapa se mantiene, eventualmente, en el curso de la etapa 425, para los datos que hayan dado lugar a la determinación de al menos una suma de verificación.
De ese modo, en un modo de realización preferido, el protocolo de escritura en la memoria no volátil, en una de entre la primera y segunda direcciones, no incluye más que:
-
la etapa 415 de escritura del dato, y
65 - únicamente para ciertas escrituras de datos elegidos aleatoriamente o cíclicamente, la etapa 405 de borrado de la zona de escritura y/o las etapas 410, 416, 420 y 425.
Se observa aquí que la escritura efectuada por la función de señuelo no puede jamás incluir el borrado de la zona de escritura (“erase”) en el caso de que la escritura, por un lado, y el mantenimiento del estado de escritura, por otro lado, presenten la misma firma. En efecto, si estas firmas son diferentes, cuando la función de señuelo se reitera sin
5 borrado de la zona de escritura (“erase”), mantiene las mismas células de memoria no volátil en el estado de escritura, lo que implicaría una firma diferente de la función de protección que, por definición, corresponde a un cambio de estado de las células de la memoria no volátil. De ese modo, si estas firmas son diferentes, al menos una parte de las funciones de señuelo (por ejemplo seleccionadas cíclicamente o aleatoriamente) comprenden el borrado de la zona de escritura.
10 Como variante, en lugar de eliminar totalmente el borrado de la zona de escritura, se prevé un borrado parcial. Un borrado parcial de ese modo puede consistir en realizar una descarga (o carga según las arquitecturas) de las cargas de cada célula de memoria afectada por la escritura durante una duración inferior a la que permite una descarga (o carga) completa de la célula de memoria.
15 En unos modos de realización, la escritura en la memoria no volátil efectuada por la función de protección incluye la generación, la escritura, la relectura y la verificación de la suma o sumas de verificación mientras que la escritura en memoria no volátil efectuada por la función de señuelo no las incluye. Como variante, como se expone más abajo, sólo ciertas escrituras (seleccionadas cíclicamente o aleatoriamente) efectuadas por la función de señuelo
20 comprenden la generación, la escritura, la relectura y la verificación de la suma o sumas de verificación. En estos dos últimos casos, la utilización de la memoria se reduce, la velocidad de funcionamiento normal del microcircuito se incrementa, mientras se impide a un atacante reconocer la realización de la función de protección.
En consecuencia, el retardo de finalización de la escritura es muy limitado cuando no hay borrado de la zona de
25 escritura y/o no hay implementación de la suma o sumas de verificación, con relación al estado de la técnica. Se evita de ese modo ralentizar demasiado el funcionamiento del microcircuito por la realización repetida de la función de señuelo. Además, se reduce la utilización de la memoria por las escrituras realizadas por la función de señuelo. En efecto, las células de memoria utilizadas por la función de señuelo podrían envejecer demasiado rápidamente puesto que las memorias tienen una duración de vida limitada en términos del número de ciclos de escritura.
30 Retirando la etapa de relectura de los datos escritos así como la etapa de borrado de la zona de escritura (“erase”), no solamente se reduce la duración de la escritura sino que se alarga la duración de vida útil de las células de memoria utilizadas por la función de señuelo.
Se observa también que, si el envejecimiento de la célula provoca unos errores detectables por la implementación
35 de una suma de verificación, esto permite detectar este deterioro. En este caso, el programa de funcionamiento puede conmutar automáticamente la escritura por la función de señuelo sobre otra célula inutilizada.
Se observa que la presente invención se puede poner en práctica en la forma de un programa que se ejecute en el microcircuito o en la forma de un circuito integrado especializado, por ejemplo un ASIC (de Application-Specific
40 Integrated Circuit), un circuito de lógica programable o un circuito integrado digital que se pueda reprogramar después de su fabricación.
Cuando una tarjeta con microcircuitos implementa el modo de realización preferido del procedimiento objeto de la presente invención, el atacante que analice el consumo eléctrico no puede determinar en qué caso la carta actúa
45 tras la detección de un ataque.
En unos modos de realización, una entidad electrónica de chips o portátil incluye un dispositivo de protección de un microcircuito que implementa el procedimiento de protección objeto de la presente invención.
50 Por ejemplo, esta entidad electrónica es un PDA (acrónimo de “personal digital assistant” por asistente personal digital), una llave USB (acrónimo de “universal serial bus” por bus serie universal), una tarjeta de memoria, un teléfono móvil, un pasaporte electrónico o una tarjeta de chips (es decir de acuerdo con la norma ISO 7816 y asegurada, por ejemplo certificada de conformidad con los criterios comunes).
55 Se observa que, preferiblemente, la función de señuelo no tiene otro efecto/resultado/función que el hecho de ser un señuelo para la función de protección, que sea perceptible, desde el exterior del microcircuito, de manera sensiblemente idéntica a la función de protección.
La función de señuelo no es de ese modo funcional y no influencia el funcionamiento del microcircuito aparte de la
60 fase de ejecución de esta función de señuelo. Por ejemplo, la función de señuelo efectúa la escritura de datos que no son jamás leídos o utilizados o el cifrado de al menos un dato inútil en el funcionamiento del microcircuito. Gracias a esta característica preferible, se puede prever una función de señuelo más rápida, por ejemplo una escritura más rápida, por ejemplo, sin etapa de borrado y/o sin etapa de verificación del dato escrito, que si la función de señuelo fuera útil en el funcionamiento del microcircuito.

Claims (10)

  1. REIVINDICACIONES
    1. Procedimiento de protección de un microcircuito contra un ataque, que comprende:
    5 - una etapa (205) de determinación de si se detecta un ataque,
    -
    si se detecta un ataque, una etapa (210, 510) de realización de una función de protección;
    caracterizado porque el procedimiento comprende además: 10
    -
    si no se detecta ningún ataque, una etapa (215, 515) de realización de una función de señuelo que simula la función de protección para que sea perceptible, desde el exterior de dicho microcircuito, de manera sensiblemente idéntica a la función de protección.
    15 2. Procedimiento de acuerdo con la reivindicación 1, caracterizado porque la función de señuelo presenta un consumo eléctrico sensiblemente idéntico al de la función de protección.
  2. 3. Procedimiento de acuerdo con una cualquiera de las reivindicaciones 1 ó 2, caracterizado porque la función de
    protección efectúa una etapa de escritura de un dato predeterminado en una primera dirección de una memoria no 20 volátil.
  3. 4. Procedimiento de acuerdo con la reivindicación 3, caracterizado porque la función de señuelo efectúa una etapa de escritura en memoria no volátil en una segunda dirección diferente de la primera dirección.
    25 5. Procedimiento de acuerdo con la reivindicación 4, caracterizado porque, en el curso de la etapa de escritura en la segunda dirección por la función de señuelo, se escribe un mismo número de informaciones binarias que en el curso de la escritura en la primera dirección por la función de protección y se implementa el mismo algoritmo de escritura que durante la escritura en la primera dirección por la función de protección.
    30 6. Procedimiento de acuerdo con una cualquiera de las reivindicaciones 3 a 5, caracterizado porque dichas etapas de escritura en memoria no volátil implementan un algoritmo diferente al de las otras etapas de escritura en memoria no volátil efectuadas durante el funcionamiento normal del microcircuito.
  4. 7. Procedimiento de acuerdo con una cualquiera de las reivindicaciones 3 a 6, caracterizado porque, en el curso de 35 al menos una parte de dichas etapas de escritura en memoria no volátil, no se implementa el dato de verificación.
  5. 8. Procedimiento de acuerdo con una cualquiera de las reivindicaciones 3 a 7, caracterizado porque, en el curso de al menos una parte de dichas etapas de escritura en memoria no volátil, no se implementa la relectura del dato escrito.
  6. 9. Procedimiento de acuerdo con una cualquiera de las reivindicaciones 3 a 8, caracterizado porque, en el curso de al menos una parte de dichas etapas de escritura en memoria no volátil, no se implementa el borrado de la zona de escritura (“erase”).
    45 10. Procedimiento de acuerdo con la reivindicación 9, caracterizado porque, si la rescritura de datos en la memoria no volátil es perceptible, desde el exterior de dicho microcircuito, de manera idéntica a la escritura inicial de dichos datos, la función de señuelo no incluye el borrado de la zona de escritura.
  7. 11. Procedimiento de acuerdo con la reivindicación 9, caracterizado porque la función de protección implementa 50 dicha etapa de borrado de la zona de escritura.
  8. 12. Procedimiento de acuerdo con la reivindicación 11, caracterizado porque una parte de las ejecuciones de la función de señuelo comprende dicha etapa de borrado de la zona de escritura.
    55 13. Procedimiento de acuerdo con una cualquiera de las reivindicaciones 1 a 12, caracterizado porque la función de protección efectúa una etapa de cifrado de al menos un dato sensible.
  9. 14. Procedimiento de acuerdo con una cualquiera de las reivindicaciones 1 a 13, caracterizado porque la función de
    señuelo no tiene otra función más que la de simular la función de protección. 60
  10. 15. Dispositivo de protección de un microcircuito contra un ataque, que comprende:
    • un medio (110, 120, 130, 150) de determinación de si se ha detectado un ataque, y
    65 • un medio de control (110, 120, 130, 150) adaptado:
    -
    si se detecta un ataque, para realizar una función de protección; estando dicho medio de control caracterizado porque está adaptado para:
    -
    si no se detecta ningún ataque, realizar una función de señuelo que simula la función de protección que sea perceptible, desde el exterior de dicho microcircuito, de manera sensiblemente idéntica a la función de protección.
ES09169345.7T 2008-09-11 2009-09-03 Procedimiento y dispositivo de protección de un microcircuito contra ataques Active ES2390638T5 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0856116A FR2935823B1 (fr) 2008-09-11 2008-09-11 Procede et dispositif de protection d'un microcircuit contre les attaques.
FR0856116 2008-09-11

Publications (2)

Publication Number Publication Date
ES2390638T3 true ES2390638T3 (es) 2012-11-14
ES2390638T5 ES2390638T5 (es) 2017-11-14

Family

ID=40600008

Family Applications (1)

Application Number Title Priority Date Filing Date
ES09169345.7T Active ES2390638T5 (es) 2008-09-11 2009-09-03 Procedimiento y dispositivo de protección de un microcircuito contra ataques

Country Status (6)

Country Link
US (1) US8555390B2 (es)
EP (1) EP2164031B2 (es)
JP (1) JP5517535B2 (es)
DK (1) DK2164031T4 (es)
ES (1) ES2390638T5 (es)
FR (1) FR2935823B1 (es)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819825B2 (en) 2006-05-31 2014-08-26 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for generating bait information for trap-based defenses
US9009829B2 (en) 2007-06-12 2015-04-14 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for baiting inside attackers
US8769684B2 (en) * 2008-12-02 2014-07-01 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for masquerade attack detection by monitoring computer user behavior
US8332945B2 (en) * 2009-06-05 2012-12-11 The Regents Of The University Of Michigan System and method for detecting energy consumption anomalies and mobile malware variants
US8528091B2 (en) * 2009-12-31 2013-09-03 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for detecting covert malware
FR2968807B1 (fr) * 2010-12-14 2013-09-27 Oberthur Technologies Blocage d'une carte a microcircuit par combinaison entre un signal de controle et un signal essentiel au fonctionnement de cette carte
FR2968806B1 (fr) 2010-12-14 2013-01-18 Oberthur Technologies Securisation de l'alimentation de moyens de commande d'une carte a microcircuit en cas d'attaque
US9465657B2 (en) 2011-07-19 2016-10-11 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9558034B2 (en) 2011-07-19 2017-01-31 Elwha Llc Entitlement vector for managing resource allocation
US9298918B2 (en) 2011-11-30 2016-03-29 Elwha Llc Taint injection and tracking
US8943313B2 (en) 2011-07-19 2015-01-27 Elwha Llc Fine-grained security in federated data sets
US8955111B2 (en) 2011-09-24 2015-02-10 Elwha Llc Instruction set adapted for security risk monitoring
US9443085B2 (en) 2011-07-19 2016-09-13 Elwha Llc Intrusion detection using taint accumulation
US9798873B2 (en) 2011-08-04 2017-10-24 Elwha Llc Processor operable to ensure code integrity
US9098608B2 (en) 2011-10-28 2015-08-04 Elwha Llc Processor configured to allocate resources using an entitlement vector
US9460290B2 (en) 2011-07-19 2016-10-04 Elwha Llc Conditional security response using taint vector monitoring
US9471373B2 (en) 2011-09-24 2016-10-18 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9170843B2 (en) 2011-09-24 2015-10-27 Elwha Llc Data handling apparatus adapted for scheduling operations according to resource allocation based on entitlement
US9575903B2 (en) * 2011-08-04 2017-02-21 Elwha Llc Security perimeter
JP6048965B2 (ja) * 2013-04-22 2016-12-21 三菱電機株式会社 耐タンパメモリ方式
FR3011650B1 (fr) * 2013-10-09 2015-12-11 Oberthur Technologies Procede et dispositif de realisation de fonction par un microcircuit
FR3011656B1 (fr) 2013-10-09 2015-12-25 Oberthur Technologies Procede et dispositif de realisation de fonction par un microcircuit
FR3011658B1 (fr) * 2013-10-09 2017-02-10 Oberthur Technologies Procede mis en oeuvre dans un microcircuit et dispositif associe
FR3011657B1 (fr) * 2013-10-09 2015-12-11 Oberthur Technologies Procede mis en œuvre par un processeur et entite electronique associee
JP6340935B2 (ja) * 2014-06-16 2018-06-13 大日本印刷株式会社 Icチップ、異常検知処理方法、及びプログラム
FR3045184B1 (fr) * 2015-12-15 2018-07-20 Idemia France Procede d’ecriture dans une memoire non-volatile d’une entite electronique et entite electronique associee
FR3045862B1 (fr) * 2015-12-17 2018-02-02 Oberthur Technologies Procede d'ecriture dans une memoire non-volatile, procede de lecture dans une memoire non-volatile et procede mis en œuvre dans une entite electronique
US11194915B2 (en) 2017-04-14 2021-12-07 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for testing insider threat detection systems
US11321462B2 (en) 2018-04-10 2022-05-03 Raytheon Company Device behavior anomaly detection
US11436537B2 (en) 2018-03-09 2022-09-06 Raytheon Company Machine learning technique selection and improvement
US11507847B2 (en) 2019-07-25 2022-11-22 Raytheon Company Gene expression programming
US11381599B2 (en) * 2018-04-10 2022-07-05 Raytheon Company Cyber chaff using spatial voting
WO2019199777A1 (en) 2018-04-10 2019-10-17 Raytheon Company Encryption using spatial voting
US11341235B2 (en) 2019-02-21 2022-05-24 Raytheon Company Anomaly detection with adaptive auto grouping
CN113569237B (zh) * 2021-07-29 2024-04-02 武汉天喻信息产业股份有限公司 攻击防护方法、装置、设备及可读存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2600183B1 (fr) * 1986-06-13 1990-10-12 Eurotechnique Sa Circuit integre pour la memorisation et le traitement d'informations de maniere confidentielle comportant un dispositif anti-fraude
US5533123A (en) * 1994-06-28 1996-07-02 National Semiconductor Corporation Programmable distributed personal security
FR2804524B1 (fr) * 2000-01-31 2002-04-19 Oberthur Card Systems Sas Procede d'execution d'un protocole cryptographique entre deux entites electroniques
US20020046351A1 (en) * 2000-09-29 2002-04-18 Keisuke Takemori Intrusion preventing system
JP4009437B2 (ja) * 2001-05-09 2007-11-14 株式会社ルネサステクノロジ 情報処理装置
FR2849232B1 (fr) * 2002-12-24 2005-02-25 Trusted Logic Procede pour la securisation des systemes informatiques incorporant un module d'interpretation de code
GB2399426A (en) * 2003-03-12 2004-09-15 Sharp Kk Fault detection in data processing apparatus
WO2005027403A1 (ja) * 2003-09-11 2005-03-24 Renesas Technology Corp. 情報処理装置
JP4435593B2 (ja) * 2004-02-04 2010-03-17 株式会社ルネサステクノロジ 耐タンパー情報処理装置
FR2874440B1 (fr) * 2004-08-17 2008-04-25 Oberthur Card Syst Sa Procede et dispositif de traitement de donnees
KR100706787B1 (ko) * 2004-11-29 2007-04-11 삼성전자주식회사 향상된 보안 기능을 갖는 스마트 카드
FR2878633A1 (fr) * 2005-11-25 2006-06-02 Samsung Electronics Co Ltd Carte a microprocesseur, procede et produit-programme informatique pour utiliser des courants fictifs pour masquer des donnees
JP2007174024A (ja) * 2005-12-20 2007-07-05 Sony Corp 暗号処理装置
JP2007325219A (ja) * 2006-06-05 2007-12-13 Sony Corp 暗号処理システムおよび暗号処理装置
EP1912148A1 (en) * 2006-10-09 2008-04-16 Axalto S.A. Protection against side channel attacks with an integrity check
US7945792B2 (en) * 2007-10-17 2011-05-17 Spansion Llc Tamper reactive memory device to secure data from tamper attacks
JP2009277085A (ja) * 2008-05-15 2009-11-26 Nippon Telegr & Teleph Corp <Ntt> 情報削除機能付きlsi

Also Published As

Publication number Publication date
JP5517535B2 (ja) 2014-06-11
DK2164031T3 (da) 2012-10-22
EP2164031B2 (fr) 2017-06-28
FR2935823B1 (fr) 2010-10-01
US20100064370A1 (en) 2010-03-11
DK2164031T4 (en) 2017-10-16
FR2935823A1 (fr) 2010-03-12
ES2390638T5 (es) 2017-11-14
EP2164031B1 (fr) 2012-07-25
JP2010068523A (ja) 2010-03-25
US8555390B2 (en) 2013-10-08
EP2164031A1 (fr) 2010-03-17

Similar Documents

Publication Publication Date Title
ES2390638T3 (es) Procedimiento y dispositivo de protección de un microcircuito contra ataques
JP4160625B1 (ja) 誤り検出制御システム
US20160140057A1 (en) Semiconductor device and encryption key writing method
Kim et al. Faults, injection methods, and fault attacks
KR100837275B1 (ko) 빛을 감지하는 스마트 카드
Schmidt et al. Optical fault attacks on AES: A threat in violet
ES2543210T3 (es) Procedimiento y dispositivo de tratamiento de datos
WO2017097042A1 (zh) 一种安全芯片及其非易失性存储控制装置、方法
TWI524276B (zh) 發生攻擊時保全微電路卡之命令構件之電力供應
CN108063664A (zh) 基于配置的密码密钥生成
US9805186B2 (en) Hardware protection for encrypted strings and protection of security parameters
US11328098B2 (en) Electronic circuit
JP6922329B2 (ja) 故障利用攻撃に対しての耐タンパー性を持たせたセキュリティデバイス
US11487441B2 (en) Managing tamper detections in secure memory devices
ES2902336T3 (es) Procedimiento de protección de un dispositivo electrónico contra ataques por inyección de fallo
JP4264958B2 (ja) 携帯情報端末
JP6396119B2 (ja) Icモジュール、icカード、及びicカードの製造方法
JP5724387B2 (ja) 携帯装置及び動的データの格納位置変更方法
US20080187133A1 (en) Encryption code processing circuit, operation device and electronic apparatus
JP6439408B2 (ja) 表示機能付きicカードおよび制御方法
JP6160326B2 (ja) 情報記憶媒体、情報書き込み方法、及び書き込みプログラム
JP6387767B2 (ja) 電子情報記録媒体、icカード、チェック方法、及び処理プログラム
JP2007293593A (ja) メモリセルフテスト回路及びそれを備えた半導体装置及びicカード並びにメモリセルフテスト方法
JP2001022642A (ja) メモリの機密保持回路
JP2008181226A (ja) Icカード