ES2231516T3 - Seguridad del acceso por codigo secreto a un medio de tratamiento de datos. - Google Patents

Seguridad del acceso por codigo secreto a un medio de tratamiento de datos.

Info

Publication number
ES2231516T3
ES2231516T3 ES01947561T ES01947561T ES2231516T3 ES 2231516 T3 ES2231516 T3 ES 2231516T3 ES 01947561 T ES01947561 T ES 01947561T ES 01947561 T ES01947561 T ES 01947561T ES 2231516 T3 ES2231516 T3 ES 2231516T3
Authority
ES
Spain
Prior art keywords
code
presented
block
secret code
secret
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES01947561T
Other languages
English (en)
Inventor
Pascal Moitrel
Johan Pascal
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.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus 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 Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Application granted granted Critical
Publication of ES2231516T3 publication Critical patent/ES2231516T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/105Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems involving programming of a portable memory device, e.g. IC cards, "electronic purses"
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1025Identification of user by a PIN code

Landscapes

  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Procedimiento para acceder a un medio de tratamiento de datos (CA) asociado a un código secreto (S) y accesible aplicándole un código presentado (P) por un medio de acogida (TE), caracterizado porque comprende en cada utilización del medio de tratamiento (CA), un número constante de operaciones predeterminadas (E5-E16), que com -prende comparaciones (E7-E10) bloque por bloque (Pi, Si) del código presentado (P) y del código secreto (S) hasta el punto que los bloques comparados son idénticos (Res = 0), y comparaciones (E7-E15) bloque por bloque (Pi, Ai)de una parte del código presentado y de una parte de un número determinado (A) en cuanto los bloques comparados del código presentado y del código secreto son diferentes (Res = 1) hasta que todos los bloques (P1-PI) del código presentado hayan sido sometidos a una comparación, de manera a obtener una continuación de operaciones ejecutadas constantes, que el código presentado (P) sea correcto, o parcialmente o totalmente erróneo.

Description

Seguridad del acceso por código secreto a un medio de tratamiento de datos.
El presente invento concierne de manera general todo medio electrónico de tratamiento de datos, cuyas funcionalidades, o servicios vinculados a ello, son accesibles por un código secreto, denominado igualmente contraseña o código confidencial, que se recibe lo más frecuentemente por el medio de tratamiento a raíz de una composición en el teclado de un medio de acogida del medio de tratamiento (ver US-A-4907272).
Por ejemplo, el medio de tratamiento de datos es una tarjeta con microcontrolador, denominada igualmente tarjeta de circuito integrado o tarjeta inteligente (Smart Card), tal como una tarjeta de crédito para terminal bancario o una tarjeta de monedero electrónico para terminal de punto de venta, o mediante cualquier otro terminal, tal como un terminal radiotelefónico móvil dotado de un lector de tarjeta adicional, o bien tal como una tarjeta de identidad SIM (Subscriber Identity Module) en un terminal radiotelefónico móvil.
Más especialmente el invento está relacionado con la seguridad del control de acceso a las funcionalidades de la tarjeta inteligente por un código que se le presenta que puede compararse con un código secreto asociado a la tarjeta inteligente y que se le ha previamente memorizado.
Un atacante, una persona con malas intenciones, que desea conocer el código secreto de una tarjeta inteligente puede proceder a un análisis de consumo eléctrico (en inglés, Single Power Análisis SPA) conectando un aparato de medida de tensión a la interfaz eléctrica entre la tarjeta inteligente y su terminal de recepción.
En una tarjeta inteligente según la técnica anterior, el código secreto memorizado previamente en una memoria no volátil de la tarjeta inteligente y el código presentado escrito temporalmente en memoria RAM de la tarjeta inteligente están divididos en bloques y comparados bloque por bloque. Si después de una de las comparaciones de los bloques, los respectivos bloques no fueran idénticos, las comparaciones de los bloques siguientes no se ejecutan y el código presentado es rechazado para el acceso a las funcionalidades. La duración de la verificación del código presentado depende así del número de los primeros bloques correctos en el código presentado. Por consiguiente, el tiempo de manipulación del código secreto para la verificación de cualquier código presentado con miras a autentificar el verdadero procesador de la tarjeta inteligente, es variable lo que da implícitamente informaciones sobre el código secreto, gracias a registros de características de consumo energético de la tarjeta inteligente y de las medidas de las duraciones de las comparaciones para los diferentes códigos presentados.
El presente invento pone la mira en solucionar estas fugas de información en el código secreto de acceso a un medio de tratamiento de datos, tal como tarjeta inteligente, y hacer desaparecer, de este modo, diferencias de consumo eléctrico y de tiempo de comparación, cualquiera que sea el código erróneo presentado.
Este problema queda resuelto por el procedimiento para acceder a un medio de tratamiento de datos asociado a un código confidencial secreto y accesible aplicándole un código confidencial presentado por un medio de acogida, tal como se define en la reivindicación 1.
Las comparaciones relativas a una parte del cogido presentado y a una parte del número determinado que no contiene datos ligados al código secreto y que desempeña el papel de un código secreto ficticio, simulan las primeras comparaciones, es decir, realizan una manipulación ficticia del código secreto, con respecto al exterior, en cuanto el código presentado se detecta como erróneo.
El número de comparaciones bloque por bloque es siempre constante, independientemente del código presentado correcto, parcial o totalmente erróneo, y de manera más general la continuación de las operaciones ejecutadas es constante para todos los códigos presentados, no puede detectarse ninguna firma notable en materia de medida de consumo de corriente de un código presentado al siguiente.
Otras características y ventajas del presente invento aparecerán más claramente cuando se lea la descripción siguiente de varias realizaciones preferidas del invento en referencia a los correspondientes dibujos anexados en los cuales:
- la figura 1 es un bloque-diagrama esquemático que muestra un sistema de aplicación del procedimiento de control de acceso según el invento en el contexto de una tarjeta inteligente;
- la figura 2 es un algoritmo de las principales etapas del procedimiento de control de acceso según una realización preferida del invento; y
- la figura 3 muestra variantes del algoritmo de procedimiento de la figura 2.
Según la realización esquemática ilustrada en la figura 1, un medio de tratamiento electrónico de datos está constituido por una tarjeta inteligente CI cuyo "chip" está compuesto de un microcontrolador. Esquemáticamente, el microcontrolador comprende una unidad de tratamiento central CPU formada por un microprocesador PR, una memoria MO de tipo ROM que incluye un sistema de explotación OS de la tarjeta y principalmente algoritmos de aplicación de comunicación y autentificación específicas, una memoria no volátil MNV de tipo programable y borrable, como una memoria EEPROM, que contiene datos principalmente ligados al procesador de la tarjeta y al proveedor de la tarjeta, y una memoria MA de tipo RAM destinada a recibir, en particular, datos de un terminal de acogida TE de la tarjeta. Todos los componentes PR, MO, MNV y MA están unidos entre sí por un bus interno BU.
El terminal de acogida TE, tal como un terminal bancario o un terminal telefónico, está equipado de un teclado CL para componer, principalmente un código confidencial P, denominado código presentado, que deberá presentarse en la tarjeta. En un lector LE del terminal TE está introducida una parte de la tarjeta CA que contiene el microcontrolador y que soporta típicamente de seis a ocho contactos eléctricos de una conexión eléctrica LI entre el lector LE y el bus BU interno a la tarjeta CA cuando la tarjeta es de tipo con contacto.
Ahora, en referencia a la figura 2, el procedimiento de control de acceso, según una realización preferida del invento para la tarjeta inteligente CA que se muestra en la figura 1 comprende esencialmente etapas E1 a E16.
La primera etapa E1 se realiza previamente, en el establecimiento del proveedor de la tarjeta, durante la fabricación de la tarjeta, y seguidamente durante la adquisición de la tarjeta CA, p. ej. en el momento del abono a un servicio accesible mediante las funcionalidades de la tarjeta.
En función de los datos del fabricante de tarjeta, principalmente, el proveedor de la tarjeta atribuye un código secreto S de varias cifras a la tarjeta CA, que está escrito en un emplazamiento predeterminado en la memoria no volátil MNV de la tarjeta CA. El código secreto S se divide en I bloques de bits S1 a SI, cada bloque comprende, p. ej., un número predeterminado de octetos que varían típicamente entre uno y varios octetos.
En la etapa previa E2, un número determinado A se genera, por lo general de manera aleatoria por el procesador PR de la tarjeta CA. El número A tiene el mismo tamaño que el código S y está dividido en I bloques de bits A1 a AI. Preferentemente, el código secreto S y el número determinado A se escriben en casillas de la memoria no volátil MNV de la tarjeta CA que corresponden a direcciones que tienen números de bits NB0 y NB1 respectivamente a estados lógicos "0" y "1" sensiblemente idénticos; p. ej., para direcciones de 8 bits, las direcciones "11011011" y "1101110" con NB0 = 2 y NB1 = 6, o bien las direcciones de casillas vecinas "00011111" y " 00011110" con NB0 = 3 y 4 y NB1 =
5 y 4 son satisfactorias, con objeto de que la lectura de un bloque Ai del número aleatorio, y así esas dos lecturas sea casi idénticas con respecto a una medida de consumo eléctrico. Esto contribuye a evitar la aparición de firmas de consumo de corriente diferentes entre comparaciones relativas a presentaciones de códigos presentados diferentes.
Las etapas E3 y E16 se efectúan después de haber introducido la tarjeta CA en el lector LE del terminal de acogida TE que se encuentra, de este modo conectado por la conexión eléctrica LI y el bus interno BU al microcontrolador de la tarjeta CA.
Cada vez que se utiliza la tarjeta, un código presentado P, que debe ser normalmente idéntico al código secreto, se marca en el teclado CL del terminal TE en la etapa E3, con el fin de verificar el código presentado en la tarjeta CA. Ya sea a medida de la composición de las cifras del código presentado, p. ej. en número de cuatro, ya sea de manera continua, el terminal TE transmite el código presentado P a la tarjeta CA a través de la conexión LI y el bus BU con objeto de que quede escrito en la memoria RAM MA, en la etapa E4.
En la siguientes etapas E5 y E6, el procesador pone a cero registros internos para un índice i y una variable lógica de resultado de comparación Res, y aplica dos registros internos para variables de bloque V1 y V2 a los valores de los primeros bloques S1 y P1 leídos respectivamente en las memorias MNV y MA.
Seguidamente en una primera etapa E7 de un bucle E7-E11, el procesador PR compara las variables V1 y V2, es decir, el primer bloque S1 del código secreto en la memoria MNV y el primer bloque P1 del código presentado en la memoria MA, adicionado el resultado de comparación de bucle anterior Res según la relación lógica siguiente:
Res = Res O (V1 XOR V2),
ya sea
Res = Res O (S1 XOR P1).
Si el resultado Res aún sigue siendo igual a cero en la etapa siguiente E8, es decir si las variables comparadas V1 =
S1 y V2 = P1 son idénticas, el índice i se incrementa en la etapa E9, y las variables V1 y V2 se ponen a los valores de los bloques siguientes S2 y P2 en la etapa E10. Si el índice no es superior a I en la etapa E11, se ejecuta otro bucle E7 a E 11 para comparar los segundos bloques P2 y S2 e incrementar el índice i, y así sucesivamente mientras los bloques comparados Pi y Si son idénticos y hasta que el índice i alcance el índice I. En este caso, la variable de resultado Res sigue siendo cero hasta la etapa E12 que sucede a la etapa E11, y los bloques Pi del código presentado son respectivamente idénticos a los bloques Si del código secreto. La etapa final E13 acepta el código presentado P para dar acceso a funcionalidades de la tarjeta CA, p. ej. una aplicación de servicio de pago o de servicio telefónico.
Si volvemos a la etapa E8, si la variable de resultado Res es igual a 1, es decir si un PI de los bloques del código presentado P es diferente del bloque respectivo Si del código secreto S, el código P no se rechaza inmediatamente, pero según el invento, continúa a ser tratado por el procesador PR como si, con respecto al exterior de la tarjeta, el código presentado P no era erróneo con el fin de ejecutar siempre en total I bucles de etapas E7-E11, es decir I comparaciones de bloques, ya sea i comparaciones de bloques P1 a Pi y S1 a Si e I-i comparaciones de bloques P (i+1) a PI y A(i+1) a AI, el código presentado P que contiene por lo menos un bloque erróneo Pi.
De este modo, en cuanto Pi \neq Si en la etapa E8, el índice i se incrementa de una unidad en la etapa E14, y el procesador PR pone los valores de las variables V1 y V2 igual las del bloque A(i+1) del número aleatorio leído en la memoria MNV y a las del bloque P (i+1) del código presentado leído en la memoria MA en la etapa E15 para compararlos en el transcurso de la etapa E7 del bloque siguiente mientras que i no sea superior a I en la etapa E11. No obstante, el resultado de comparación Res en la etapa E7 es siempre igual a "1" cualesquiera que sean las diferencias entre los bloques P (i+1) en PI y A(i+1) en Al en el transcurso de los siguientes bucles, el procesador PR continúa la ejecución del bucle de las etapas E7, E8, E14, E15 y E11 hasta la comparación de los bloques PI y AI.
Después de la última comparación relativa a los bloques PI y AI, el resultado Res es de "1" en la etapa E12, el procesador PR rechaza el código presentado P en la etapa E16, p. ej. ordenando la visualización de un mensaje adecuado en la pantalla del terminal de acogida TE. Pueden autorizarse eventualmente otros intentos de composición de código presentado en número limitado.
Como variante, se ejecutan las operaciones i = i+1 y V2 = Pi a las etapas E9 y E10 y a las etapas E14 y E15 entre las etapas.
Se muestra que el número de etapas entre las dos posibilidades ofrecidas en la etapa condicional E8 = "Res = 0?" es constante y las operaciones ejecutadas son idénticas desde la composición del código presentado P en la etapa E3, cualquiera que sea el contenido del código presentado P. Por consiguiente, el procedimiento comprende siempre un número constante de etapas o de operaciones ejecutadas, y así pues de líneas de código, bien que el código presentado P sea correcto, o parcial o totalmente erróneo. La duración del procedimiento es de este modo constante, y la variación del consumo eléctrico de la tarjeta durante este procedimiento es caso la misma independientemente del código presentado.
Así, para I bloques, el procesador ejecuta k bucles E7, E8, E9, E10, E11 relativos a comparaciones con los bucles S1 a Sk del código secreto, e I-k bucles E7, E8, E14, E15, E 11 en número complementario de k con respecto a I, relativos a comparaciones con los bloques A (k+1) de AI del número A, con 1 \leq k \leq I.
Preferentemente, dos tarjetas inteligentes asociadas a códigos secretos idénticos están asociadas a números determinados A diferentes. Los números determinados son, a priori, aleatorios y por lo tanto diferentes para las dos tarjetas, los efectos de la manipulación de estos números aleatorios no pueden servir para caracterizar las tarjetas.
A cada código secreto S corresponde preferentemente un número determinado, cuando se modifica el código secreto asociado a una tarjeta, el número determinado A se modifica igualmente. Por ejemplo, si dos cifras de un código secreto están invertidas, los dos números determinados correspondientes a estas dos versiones de código secreto son diferentes. Esta variante evita reconocer un número determinado en una primera tarjeta gracias a la manipulación del número determinado en otra tarjeta asociada a un código común con la primera tarjeta.
En la figura 3, encontramos lo esencial del algoritmo de procedimiento de acceso según la figura 2, con etapas modificadas y/o añadidas según variantes de etapa indicadas por la letra a que mejora mucho más la seguridad del control de acceso a las funcionalidades de la tarjeta.
Según una primera variante, en vez de no generar casi el número determinado cuando se pone en funcionamiento la tarjeta, el procesador PR genera de manera aleatoria y por consiguiente modificada el número A cada vez que se aplica a la tarjeta CA un código presentado P para que lo verifique, en una etapa E2a reemplazando la etapa E2. La etapa E2a sucede a la etapa E4 para la escritura del código presentado P y precede al doble bucle E7 de E11 y por lo tanto a las comparaciones E7.
La generación de un número A en cada presentación de código erróneo P garantiza que las I comparaciones de los bloques del código P y de los bloques del número A se ejecuten siempre de la misma manera, en detrimento de un consumo eléctrico que puede variar sensiblemente para presentaciones de un mismo código erróneo P.
Según una segunda variante, el índice i lo elige de manera aleatoria entre 1 e I el procesador PR de una etapa E5a en vez de la etapa E5. Para esta segunda variante, las etapas E9 y E14 convertidas en E9a y E14a comprenden el incremento i (mod I)+1 del índice i. Esto equivale a elegir de manera aleatoria un número A entre I números si el número A se determina inicialmente en la etapa E2.
Según una tercera variante, el procedimiento de acceso comprende además una transformación previa E1a del código secreto S en un código secreto transformado ST según una función de transformación FT implementada en la memoria MO de la tarjeta CA como medio de tratamiento de datos, la transformación E1a está comprendida entre las etapas E1 y E3; después a cada utilización de la tarjeta como medio de tratamiento de datos, una transformación E4a del código presentado P en un código presentado transformado PT según la función de transformación, antes de la aplicación de las etapas E5 a E16 y particularmente de las comparaciones bloque por bloque E7 pero relativamente a los bloques Sti y PTi del código presentado transformado y del código secreto transformado así como al número determinado A, la transformación E4a sucede a la etapa E4.
En el transcurso de la utilización del medio de tratamiento constituido por la tarjeta inteligente según esta tercera variante, el código secreto S reemplazado por el código transformado ST no se encuentra allí memorizado y no es por lo tanto manipulado en la tarjeta cuando en cualquier momento se presenta el código confidencial.
Como se describe en la demanda de patente francesa no publicada N° 0007886 registrado por el solicitante el 20 de junio de 2000 (FR-A-2810481), la función de transformación puede resultar irreversible, un troceado, vinculado a un número aleatorio NA fijado durante la creación de la tarjeta o bien dependiente de un segundo número aleatorio variable cada vez que se presenta el código presentado, una permutación predeterminada de las partes de código, o una función homomórfica. Alguna de estas características de función de transformación pueden combinarse entre sí.
Las siguientes etapas E6 a E11 son aplicables a los bloques ST1 a STI y PT1 a PTI de los códigos transformador ST y PT escritos en memoria MNV y MA en vez de los bloques S1 a SI y P1 a PI de los códigos S y P respectivamente.
En la descripción anterior, se comprenderá que la tarjeta inteligente recubra todos los tipos conocidos de tarjeta inteligente, denominadas igualmente tarjetas de microcontrolador, como las tarjetas de contacto o sin contacto enunciadas a continuación a título de ejemplo no limitativo: tarjetas de crédito (Tarjetas azules), tarjetas de pago, tarjetas prepagadas, tarjetas telefónicas, tarjetas SIM, tarjetas "adicionales", tarjetas de central de compra, tarjetas de juego, etc.. De manera más general, el invento concierne no solamente tarjetas inteligentes sino asimismo otros objetos electrónicos portátiles designados indiferentemente por medios de tratamiento de datos electrónicos, tales como asistentes u organizadores electrónicos, monederos electrónicos, fichas, calculadoras, etc..
El terminal de acogida del medio de tratamiento de datos electrónicos puede ser por ejemplo del tipo terminal informático, ordenador personal, principalmente, portátil, terminal bancario, terminal de punto de venta, terminal radiotelefónico, dispositivo de control de acceso a un local o a un armario acorazado, etc. El medio de acogida puede estar alejado del medio de tratamiento de datos, estos se encuentran conectados por cualquier medio de transmisión de datos.
El código secreto en el sentido del invento se designa igualmente en algunos contextos como contraseña (password), o código confidencial, o aún número de identidad personal PIN (Personal Identification Number) o CHV (Card Holder Verification) o identificador PTI (Personal Telecommunication Identifier) principalmente para tarjetas SIM de terminal radiotelefónico.
El código secreto es por lo general un código alfanumérico. Éste puede aplicarse mediante un tratamiento de datos, tarjeta inteligente u objeto electrónico portátil, por cualquier medio de entrada de código conocido, otro que un teclado con teclas, por ejemplo por la voz y el reconocimiento vocal, o bien por reconocimiento de una firma biométrica, al menos una huellas digital por ejemplo.

Claims (7)

1. Procedimiento para acceder a un medio de tratamiento de datos (CA) asociado a un código secreto (S) y accesible aplicándole un código presentado (P) por un medio de acogida (TE), caracterizado porque comprende en cada utilización del medio de tratamiento (CA), un número constante de operaciones predeterminadas (E5-E16), que comprende comparaciones (E7-E10) bloque por bloque (Pi, Si) del código presentado (P) y del código secreto (S) hasta el punto que los bloques comparados son idénticos (Res = 0), y comparaciones (E7-E15) bloque por bloque (Pi, Ai) de una parte del código presentado y de una parte de un número determinado (A) en cuanto los bloques comparados del código presentado y del código secreto son diferentes (Res = 1) hasta que todos los bloques (P1-PI) del código presentado hayan sido sometidos a una comparación, de manera a obtener una continuación de operaciones ejecutadas constantes, que el código presentado (P) sea correcto, o parcialmente o totalmente erróneo.
2. Procedimiento conforme a la reivindicación 1 caracterizado porque el código secreto (S) y el número determinado (A) están escritos en casillas de la memoria no volátil (MNV) del medio de tratamiento (CA) que corresponden a direcciones con números de bits respectivamente a los estados lógicos "0" y "1" sensiblemente idénticos, con el fin de que la lectura de un bloque código secreto (Si) sea similar a la lectura de un bloque del número determinado (Ai) con respecto a una medida de consumo eléctrica.
3. Procedimiento en conformidad con la reivindicación 1 caracterizado porque el código secreto (S) y el número determinado (A) están escritos en casillas vecinas de la memoria no volátil (MNV) del medio de tratamiento (CA), con el fin de que la lectura de un bloque código secreto (Si) sea similar a la lectura de un bloque del número determinado (Ai) con respecto a una medida de consumo eléctrica.
4. Procedimiento conforme a una de las reivindicaciones 1 a 3 caracterizado porque comprende una modificación (E2a) del número determinado (A) cada vez que un código presentado (P) se aplica al medio de tratamiento (CA), previamente a la aplicación de las operaciones predeterminadas (E5-E16).
5. Procedimiento conforme a una de las reivindicaciones 1 a 4 caracterizado porque dos medios de tratamiento de datos (CA) asociados a códigos secretos (S) idénticos están asociados a números determinados diferentes (A).
6. Procedimiento conforme a una de las reivindicaciones 1 a 5 caracterizado porque el número determinado (A) resulta modificado cuando el código secreto (S) asociado al medio de tratamiento (CA) se modifica.
7. Procedimiento conforme a una de las reivindicaciones 1 a 6 caracterizado porque comprende las siguientes etapas:
- transformación previa (E1a) del código secreto (S) en un código secreto transformado (S) según una función de transformación (FT) implementada en el medio de tratamiento;
- transformación (E4a) del código presentado (P) en un código presentado transformado (PT) según la función de transformación (FT),
- comparaciones bloque por bloque (PTi, STi) del código presentado transformado (PT) y del código secreto transformado (ST).
ES01947561T 2000-08-29 2001-06-21 Seguridad del acceso por codigo secreto a un medio de tratamiento de datos. Expired - Lifetime ES2231516T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0011054A FR2813468B1 (fr) 2000-08-29 2000-08-29 Securite d'acces par code secret a un moyen de traitement de donnees
FR0011054 2000-08-29

Publications (1)

Publication Number Publication Date
ES2231516T3 true ES2231516T3 (es) 2005-05-16

Family

ID=8853809

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01947561T Expired - Lifetime ES2231516T3 (es) 2000-08-29 2001-06-21 Seguridad del acceso por codigo secreto a un medio de tratamiento de datos.

Country Status (8)

Country Link
US (1) US7434070B2 (es)
EP (1) EP1316077B1 (es)
CN (1) CN1183495C (es)
AU (1) AU2001269220A1 (es)
DE (1) DE60105622T2 (es)
ES (1) ES2231516T3 (es)
FR (1) FR2813468B1 (es)
WO (1) WO2002019283A1 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135423B2 (en) * 2010-10-12 2015-09-15 Panasonic Intellectual Property Management Co., Ltd. Information processing system
FR2993379B1 (fr) * 2012-07-10 2015-09-04 Morpho Procede de traitement comparatif securise
US9407441B1 (en) * 2013-06-26 2016-08-02 Emc Corporation Adding entropy to key generation on a mobile device
US9160744B1 (en) 2013-09-25 2015-10-13 Emc Corporation Increasing entropy for password and key generation on a mobile device
FR3015726B1 (fr) 2013-12-24 2016-01-08 Morpho Procede de traitement comparatif securise
US11227046B2 (en) * 2019-12-24 2022-01-18 Stmicroelectronics International N.V. Dynamic randomization of password challenge

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2496294B1 (fr) * 1980-12-15 1987-01-02 Thomson Csf Dispositif protege d'authentification des utilisateurs d'un terminal de transmission de messages et systeme de transactions comportant de tels dispositifs
FR2601476B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire
DE3877984D1 (de) * 1987-03-04 1993-03-18 Siemens Nixdorf Inf Syst Datenaustauschsystem.
CH675169A5 (es) * 1988-02-22 1990-08-31 Asea Brown Boveri
KR940004404B1 (ko) * 1990-11-30 1994-05-25 삼성전자 주식회사 불휘발성 반도체 메모리장치
US6021201A (en) * 1997-01-07 2000-02-01 Intel Corporation Method and apparatus for integrated ciphering and hashing
US6304658B1 (en) * 1998-01-02 2001-10-16 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
US6470454B1 (en) * 1998-03-31 2002-10-22 International Business Machines Corporation Method and apparatus for establishing computer configuration protection passwords for protecting computer configurations
US6257486B1 (en) * 1998-11-23 2001-07-10 Cardis Research & Development Ltd. Smart card pin system, card, and reader

Also Published As

Publication number Publication date
FR2813468B1 (fr) 2003-01-10
CN1183495C (zh) 2005-01-05
AU2001269220A1 (en) 2002-03-13
WO2002019283A1 (fr) 2002-03-07
CN1449548A (zh) 2003-10-15
EP1316077A1 (fr) 2003-06-04
EP1316077B1 (fr) 2004-09-15
FR2813468A1 (fr) 2002-03-01
US7434070B2 (en) 2008-10-07
DE60105622T2 (de) 2005-08-18
US20030172029A1 (en) 2003-09-11
DE60105622D1 (de) 2004-10-21

Similar Documents

Publication Publication Date Title
US9129270B2 (en) Portable E-wallet and universal card
US7395435B2 (en) Secure memory device for smart cards
RU2224288C2 (ru) Защищенное запоминающее устройство, имеющее защиту от перехвата
ES2263635T3 (es) Proceso para acceder a un medio de tratamiento de datos.
TW498284B (en) Card memory apparatus
JPS62190584A (ja) 携帯可能電子装置
ES2231516T3 (es) Seguridad del acceso por codigo secreto a un medio de tratamiento de datos.
Vedder et al. Smart cards—Requirements, properties, and applications
CN103336977A (zh) 车辆电子信息卡安全保护***及方法
Petri An introduction to smart cards
US7529369B2 (en) Data processing with a key
US20180253573A1 (en) Systems and Methods for Utilizing Magnetic Fingerprints Obtained Using Magnetic Stripe Card Readers to Derive Transaction Tokens
Chirico Smart card programming
Mahajan et al. Smart card: Turning point of technology
EP1282026A2 (en) Authentication method by means of a storing device
Ratha et al. Smartcard based authentication
Kumar et al. Smart Card based Robust Security System
Courtois La Carte à Puce
KR100727866B1 (ko) 원 타임 패스워드 생성용 스마트카드 리더 장치
Elhennawy et al. Smart Cards Structure and Applications: Emerging and Evolution
Corcoran Muscle Flexes Smart Cards into Linux
BRPI0409234B1 (pt) entidade eletrônica tornada segura que compreende meios para memorizar um número máximo permitido de utilizações de um dado secreto e processo de modificação de um número máximo permitido de utilizações de um dado secreto memorizado por uma entidade eletrônica tornada segura
ES2374932T3 (es) Habilitación del uso de un certificado almacenado en una tarjeta inteligente.
BİLGEM et al. AKİS ICAO PASAPORT SECURITY TARGET LITE AKİS V1. 4N
EVANGELISTA Security Target SOMA-c003 Electronic Passport