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
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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/755—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/105—Payment 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"
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1025—Identification 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.
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.
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).
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)
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)
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 |
-
2000
- 2000-08-29 FR FR0011054A patent/FR2813468B1/fr not_active Expired - Fee Related
-
2001
- 2001-06-21 EP EP01947561A patent/EP1316077B1/fr not_active Expired - Lifetime
- 2001-06-21 WO PCT/FR2001/001947 patent/WO2002019283A1/fr active IP Right Grant
- 2001-06-21 US US10/362,281 patent/US7434070B2/en not_active Expired - Lifetime
- 2001-06-21 CN CNB018148085A patent/CN1183495C/zh not_active Expired - Lifetime
- 2001-06-21 ES ES01947561T patent/ES2231516T3/es not_active Expired - Lifetime
- 2001-06-21 AU AU2001269220A patent/AU2001269220A1/en not_active Abandoned
- 2001-06-21 DE DE60105622T patent/DE60105622T2/de not_active Expired - Lifetime
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 |