ES2212102T3 - Procedimiento de almacenamiento de unidades de valor en una tarjeta de chip de manera asegurada y sistema de transaccion monetaria con dicha tarcetas. - Google Patents

Procedimiento de almacenamiento de unidades de valor en una tarjeta de chip de manera asegurada y sistema de transaccion monetaria con dicha tarcetas.

Info

Publication number
ES2212102T3
ES2212102T3 ES97926064T ES97926064T ES2212102T3 ES 2212102 T3 ES2212102 T3 ES 2212102T3 ES 97926064 T ES97926064 T ES 97926064T ES 97926064 T ES97926064 T ES 97926064T ES 2212102 T3 ES2212102 T3 ES 2212102T3
Authority
ES
Spain
Prior art keywords
value
transaction
zone
card
units
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
ES97926064T
Other languages
English (en)
Inventor
Jean-Paul Kirik
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 ES2212102T3 publication Critical patent/ES2212102T3/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/0866Mechanisms 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 by active credit-cards adapted therefor

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

LA PRESENTE INVENCION SE REFIERE A UN PROCEDIMIENTO DE ALMACENAMIENTO DE UNIDADES DE VALOR EN UNA TARJETA INTELIGENTE PARA LA REALIZACION DE TRANSACCIONES A PARTIR DE UN TERMINAL, COMPRENDIENDO LA TARJETA UNA MEMORIA NO VOLATIL DE TIPO EEPROM (103), QUE TIENE UNA ZONA ACTIVA (ZA) SUSCEPTIBLE DE CONTENER INFORMACIONES RELATIVAS AL NUMERO DE UNIDADES DE VALOR DE LA TARJETA PARA UNA APLICACION DADA Y UN CERTIFICADO CALCULADO POR EL TERMINAL, PARTICULARMENTE A PARTIR DE ESTE NUMERO, DE UNA FUNCION MATEMATICA Y DE UN DATO QUE VARIA CON CADA TRANSACCION, TENIENDO LA MEMORIA TAMBIEN UNA ZONA DE COPIA (ZC) DESTINADA A CONTENER INFORMACIONES DE SALVAGUARDA DE LA ZONA ACTIVA; NO REALIZANDOSE LA GRABACION DE LAS INFORMACIONES EN LA ZONA ACTIVA (ZA) Y EN EL RESTO DE COPIA (ZC) DESPUES DE UNA TRANSACCION MAS QUE DESPUES DE HABER EFECTUADO UNA OPERACION DE CIFRADO EN ESTAS INFORMACIONES, SIENDO ENTONCES LAS INFORMACIONES GRABADAS EN ESTAS ZONAS. APLICACION EN LOS SISTEMAS MONETARIOS CON MONEDERO ELECTRONICO.

Description

Procedimiento de almacenamiento de unidades de valor en una tarjeta de chip de manera asegurada y sistema de transacción monetaria con dichas tarjetas.
El presente invento se refiere a los procedimientos que permiten almacenar de manera asegurada unidades de valor en una tarjeta inteligente, y a los sistemas de transacción monetaria que utilizan dichas tarjetas. El invento se aplica más particularmente a tarjetas inteligentes que comprenden una zona memoria de tipo EEPROM no protegida.
En efecto, todo individuo puede tener acceso a una zona EEPROM no protegida de una tarjeta si dispone de un simple lector de tarjeta y de mando de lectura y escritura en memoria. Este tipo de zona memoria no permite registrar datos sensibles, puesto que cualquiera puede leerlos y modificarlos.
El procedimiento se aplica igualmente a tarjetas inteligentes con memoria protegida, con el fin de aumentar el nivel de seguridad.
Las tarjetas con microprocesadores son capaces de contener unidades de valor, y prohibir su acceso. Sólo el sistema de explotación de la tarjeta puede acceder a dichas unidades y aumentar o disminuir su número. Mandos asegurados y administrados por el sistema de explotación permiten, así pues, la gestión de la zona que contiene las unidades de valor, haciendo posible utilizar estas unidades de valor, así como su recargar en toda seguridad.
Una tarjeta con memoria no posee ni microprocesador, ni a fortiori un sistema de explotación, sino sencillamente unos mandos que permiten el acceso a las zonas memoria de la tarjeta. No obstante, algunas zonas de la tarjeta pueden tener características que faculten el almacenamiento asegurado de unidades de valor. Este es el caso de algunas tarjetas con memoria que poseen una zona protegida por un código secreto. Solamente un terminal de pago que posea este código secreto podrá acceder a la zona que contiene las unidades de valor y podrá modificar el número de unidades con mandos de escritura en memoria. Por definición, un defraudador no conoce el código secreto, por lo tanto no es capaz de recargar una tarjeta en unidades de valor. Otras características ligadas a la tarjeta pueden permitir un almacenamiento asegurado de las unidades de valor.
En el estado conocido de la técnica, los mecanismos de base que existen son la utilización de un certificado de integridad, un contador de transacción, así como una zona de copia. Estos mecanismos se detallarán en el resto del documento. En el caso de tarjetas con microprocesador, estos mecanismos de base pueden estar incluidos en los sistemas de explotación.
Estos mecanismos pueden igualmente aplicarse en forma de nota de aplicación a las tarjetas con microprocesador y a ciertas tarjetas de memoria de tipo sincrónico.
Una nota de aplicación o de recomendación describe el mecanismo que debe aplicarse a nivel de la tarjeta y del terminal, y define la manera como el terminal debe utilizar la tarjeta.
Se entiende más precisamente por nota de aplicación, una definición particular del estado de la memoria en la tarjeta y en el terminal, llamada "mapping" en terminología anglosajona, este mapping se obtiene por un software teniendo en cuenta la nota de aplicación. El mecanismo que debe aplicarse consiste en incluir en el cálculo de este certificado un dato que varía en cada transacción. Se entiende por transacción una modificación del número de unidades de valor de una tarjeta.
Mecanismo 1
Un primer mecanismo en aplicación es la utilización de un certificado asociado al número de unidades. Este certificado garantiza la integridad de las informaciones a las que se refiere. Un terminal de una aplicación de pago puede leer el número de unidades de valor que se encuentran en una tarjeta inteligente. El certificado presente en la tarjeta y asociado al número de unidades de valor almacenadas debe leerse y verificarse. Este certificado se calcula mediante una función matemática. Se calcula a partir del número de unidades presentes en la tarjeta, de datos que identifican la tarjeta y con un código secreto, que sólo conoce el terminal. Por consiguiente, el terminal es capaz de verificar o calcular este certificado. Otra solución consiste en compartir el código secreto entre las tarjetas y un procesador de mensajes de voz. Los terminales de la aplicación deberán, de este modo, conectarse al procesador de mensajes de voz para toda verificación.
Si el certificado es correcto, el número de unidades de valor presentes en la tarjeta se considera como válido.
Mecanismo 2
Este mecanismo consiste en incluir en el cálculo de este certificado un dato que varía en cada transacción. La introducción de este dato, que puede ser un contador de transacción, permite garantizar que se posee un certificado diferente cada vez. Una tarjeta posee un número de unidades de valor en un momento dado. En el momento t+n, es decir, después de un cierto número n de transacciones, si esta tarjeta contiene de nuevo el mismo número de unidades de valor que en el momento t, el certificado asociado será diferente a pesar de todo. Evidentemente, es necesario que el valor del contador de transacción sea modificado en cada transacción.
Mecanismo 3
Este mecanismo consiste en duplicar las informaciones sensibles antes del desarrollo de una transacción. Los datos duplicados se almacenan en la tarjeta, en la memoria EEPROM no protegida.
Así pues, la memoria EEPROM no protegida se divide en dos zonas que llamaremos en el resto del documento zona activa y zona de copia. Estas dos zonas comprenden un número de unidades de valor y el certificado correspondiente.
En caso de que la tarjeta se rasgara, si los datos en curso de modificación en la zona activa estuviesen corrompidos o alterados, los datos duplicados en la zona de copia se recuperarán y transferirán en la zona activa. De este modo, la tarjeta permanece en un estado estable. En caso de desgarro de la tarjeta, el certificado presente en la zona de copia debe corresponder al valor del contador de transacción de la tarjeta. Esto permite verificar la autenticidad del certificado de la zona de copia, y por lo tanto la integridad del número de unidades de valor de la zona de copia. Por esta razón, el contador de transacción de la tarjeta debe modificarse al final de la transacción.
Todas estas seguridades no impiden desgraciadamente algunos fraudes que vamos a explicar más adelante:
1º caso de fraude
En el caso de unidades de valor presentes en una zona memoria no protegida por el chip de la tarjeta, el fraude consiste en modificar el número de unidades presentes en la tarjeta y en probar diferentes valores de certificado.
Un defraudador que posea un pequeño número de unidades presentes en la tarjeta lo reemplazará por el número máximo de unidades que puede contener su tarjeta. En este caso preciso, ningún mecanismo impide modificar el contenido de la zona memoria de la tarjeta, la tarjeta no posee ninguna zona protegida. Seguidamente el defraudador inscribirá en la tarjeta, en el emplazamiento del anterior certificado un valor aleatorio. En vista de las pequeñas capacidades de memoria de los componentes utilizados, los certificados se registran en unos bits.
La probabilidad de encontrar por casualidad el certificado correspondiente al número de unidades de la tarjeta es elevado. La tarjeta no puede considerarse desde un punto de vista criptográfico como un portaunidades de valor asegurado. Este fraude permite recargar ilegalmente una tarjeta en unidades de valor.
2º caso de fraude
En el caso de un débito de unidades de valor en la tarjeta, y en caso de desgarro, la tarjeta se encuentra con una zona activa eventualmente corrompida y una zona e copia que contiene un cierto número de unidades de valor. Además, la zona de copia contiene el número de unidades de valor anteriores al débito.
Puesto que se trata de una interrupción de transacción, el contador de transacción puede que aún no haya sido modificado. Puesto que la zona memoria que contiene las unidades de valor no está protegida contra las modificaciones, un defraudador puede transferir el contenido de la zona de copia a la zona activa. El contenido de la zona de copia es válido puesto que su certificado corresponde siempre al valor del contador de transacción. Este fraude permite recuperar unidades de valor utilizadas.
3º caso de fraude
Un defraudador puede igualmente leer el contenido de su tarjeta antes de una transacción. Éste inscribe el contenido de la zona activa en una hoja de papel sin ni siquiera comprender la significación. Seguidamente, ejecuta una transacción. En caso de desgarro de tarjeta, la transacción no se terminará. El valor del contador de transacción de la tarjeta no se modificará. El defraudador podrá sencillamente escribir de nuevo en la zona activa de su tarjeta los datos inscritos en su hoja de papel. Este fraude permite igualmente recuperar unidades de valor utilizadas.
El presente invento permite remediar estos problemas.
La presente invención tiene por objeto un procedimiento de almacenaje de unidades de valor en una tarjeta de chip para la realización de transacciones a partir de un terminal, según la reivindicación 1.
El presente invento también concierne a un terminal, tal como se define por la reivindicación 9.
Según otra característica, las operaciones de cifrado se realizan mediante un algoritmo de cifrado E_{K} y una clave secreta K por el terminal de transacción.
Según otra característica, el procedimiento consiste globalmente en calcular un certificado destinado a la zona activa utilizando una primera función, y en calcular el certificado destinado a la zona de copia, al utilizar otra función. De este modo, en caso de que el certificado de la zona de copia se copiara en la zona activa, ya no sería válida.
Más precisamente, el procedimiento consiste en:
-
calcular a partir de una primera función matemática FA, un primer certificado CA almacenado en la zona activa y que garantiza la integridad de los puntos de esta zona;
-
calcular a partir de una segunda función matemática FB, un segundo certificado CB almacenado en la zona de copia y que garantiza la integridad de esta zona.
Con el fin de evitar que el contenido de la zona activa pueda utilizarse en caso de desgarro, según otra característica del invento, el cálculo de un certificado destinado a la zona de copia se realiza a partir del número de unidades de valor, pero asimismo del valor de un contador de transacción. En la fase de inicialización de una transacción, se calcula el certificado a partir del número de unidades de valor presente en la zona activa y de un valor del contador de transacción incrementado a su valor próximo, la zona obtenida se cifra y registra en zona de copia, el contador de transacción se incrementa seguidamente a este nuevo valor de tal modo que en ese momento, el certificado de la zona activa ya no está en concordancia con el valor del contador, solamente el dato de salvaguarda es correcto. De este modo, el terminal marca en la tarjeta el principio de una transacción.
Según otra característica del invento, se distingue una tarjeta desgarrada accidentalmente de una tarjeta fraudulenta al verificar la paridad del contador de transacción en la fase de inicialización de la transacción. En efecto, si por convenio solamente se elige un valor del contador de transacción impar, éste indica que la tarjeta se ha desgarrado antes del final de la transacción. Entonces en la fase de inicialización de una nueva transacción, el terminal verifica la paridad del contador de transacción. Un valor impar del contador de transacción le indica, así pues, que la tarjeta ha sido desgarrada. El terminal no verifica la integridad de la zona activa y verifica directamente la integridad de la zona de copia. El defraudador ya no tiene medios de probar los valores aleatorios que escribe en la zona activa.
De este modo, según el procedimiento la paridad del valor del contador de transacción utilizado en el cálculo de los certificados es idéntico tanto al principio como al final de la transacción, y el valor del contador de transacción se incrementa dos veces durante la transacción, cada incremento corresponde a una sola unidad.
En la fase de inicialización de una transacción, se lee el valor del contador de transacción de la tarjeta. Si el valor leído es par, se leen las informaciones de la zona activa (ZA), se verifica la integridad de las informaciones de la zona activa, la integridad de las informaciones de la zona activa es verificada, se procede a un almacenamiento de unidades de valor en la tarjeta inteligente.
En la fase de inicialización de una transacción, se lee el valor del contador de transacción de la tarjeta. Si el valor leído es impar, se leen las informaciones de la zona de copia (ZC, se verifica la integridad de las informaciones de la zona de copia, la integridad de las informaciones de la zona de copia es verificada, se calcula un certificado a partir del número de unidades de valor presente en la zona de copia (ZC) y el valor del contador de transacción resultará incrementado en su próximo valor par, el dato obtenido se cifra y registra en zona activa (ZA, el contador se incrementa seguidamente a ese nuevo valor de tal modo que en ese instante, el certificado de la zona de copia (ZC) ya no está de acuerdo con el valor del contador, solamente el dato de la zona activa es correcto.
Otras ventajas y características del invento aparecerán cuando se lea la descripción que se hace a título ilustrativo y no limitativo y con respecto a los dibujos, en los cuales:
- la figura 1, representa el esquema de un sistema de transacción,
- la figura 2, representa una estructura de los datos de la memoria 103 de tarjeta inteligente según un ejemplo de realización,
- la figura 3, representa las etapas relativas a una transacción aplicada por un terminal,
- la figura 4, representa las etapas aplicadas durante la verificación de la integridad de los datos de la zona activa o de la zona de copia,
- la figura 5, representa las etapas previas a una transacción descrita en la figura 3,
- la figura 6, representa las etapas de actualización del saldo durante una transacción y el final de la transacción.
De este modo, según una primera característica del invento, se cifra el contenido de las zonas activas ZA y zona de copia ZC de la memoria EEPROM no protegida 103 representada en la figura 1.
Este cifrado lo realiza un terminal 100 de la aplicación que utiliza las tarjetas, empleando un algoritmo de cifrado E_{K} y una clave del terminal K. Esta clave de cifrado ya es conocida por los terminales que aceptan las tarjetas de la aplicación. Un terminal que sabe cifrar, sabrá igualmente descifrar el contenido de la tarjeta a partir de un algoritmo de descifrado D_{K}.
Un defraudador que conozca los principios del invento que se detallan a continuación, y que intente aumentar el número de unidades de valor de una tarjeta, ya no será capaz de fijar el número máximo de unidades de valor. Solamente podrá intentar recargar aleatoriamente su tarjeta. Así pues, inscribirá datos aleatorios en la zona activa de su tarjeta. Existe una probabilidad para que al descifrar la zona activa de una tarjeta modificada aleatoriamente, un terminal obtenga un número de unidades de valor y el certificado correspondiente. Pero el número de unidades de valor obtenido puede ser inferior al número de unidades de valor contenido anteriormente en la tarjeta. La probabilidad de obtener un número de unidades de valor superior al número de unidades de valor inicialmente presente en la tarjeta es tanto más improbable cuanto mayor sea ese número de unidades de valor inicial.
Con el fin de que aún resulte más difícil el fraude que consiste en encontrar aleatoriamente un certificado correspondiente a un número importante de unidades de valor, se ha previsto, según el procedimiento, aumentar el tamaño del certificado. Cuanto mayor sea el tamaño del certificado, más difícil resulta encontrar el valor correspondiente. Ahora bien, como el tamaño de las memorias es relativamente pequeño en una tarjeta inteligente, no es posible tener a la vez un gran número de unidades y un gran número de certificados.
Para resolver este problema, se propone según una característica del invento, que el número de unidades de valor registrado en la tarjeta no corresponda al número de unidades de valor que han sido objeto de una transacción (cero para un tarjeta llena de unidades).
Este número es, por consiguiente, nulo, mientras no tenga lugar una transacción. Así pues, un número nulo de unidades de valor en la tarjeta corresponde al valor máximo de unidades de valor para la aplicación. Y al contrario, el valor máximo de unidades de valor en la tarjeta corresponde a un valor nulo de unidades de valor para la aplicación.
Un terminal de la aplicación que lea el contenido de una tarjeta obtiene el número de unidades de valor al restar al número de unidades de valor máximo de la aplicación el número de unidades de valor contenido en la tarjeta.
De este modo, cuando la tarjeta contenga un cero, esto corresponde al valor máximo. Un cero en la tarjeta se codifica en un solo bit. Por lo tanto, los bits restantes de la zona de codificación del número de unidades de valor pueden utilizarse para contener el certificado.
Cuanto mayor sea el número de unidades de valor, más pequeño será el valor codificado en la tarjeta, y más importante será el tamaño de la memoria asignado al certificado.
Resulta necesario indicar a los terminales, el tamaño memoria asignado al certificado para cada tarjeta. Para ello, este tamaño está indicado en la zona memoria EEPROM no protegida de la tarjeta, con el número de unidades de valor y el certificado. Esta indicación se encuentra en la zona activa y en la zona de copia.
Según otra característica del invento, el cálculo del certificado de la zona activa se realiza de manera diferente del cálculo del certificado de la zona copia.
Entonces ya no es posible transferir el contenido de la zona activa en la zona de copia. Un terminal que verifica una tarjeta cuyo contenido de la zona de copia ha sido transferido a la zona activa será capaz de constatar el fraude. El certificado que el terminal leerá en la zona activa no corresponderá al cálculo operado en el caso de la zona activa, y corresponderá al cálculo operado para la zona de copia.
Según otra característica del invento, para que el contenido de la zona activa de una tarjeta no pueda utilizarse de nuevo en caso de desgarro de la tarjeta, el contador de transacción de la tarjeta se modifica igualmente al principio de la transacción. La zona de copia se inicializa con el número de unidades de valor contenido en la zona activa y con un certificado que tiene en cuenta el próximo valor del contador de transacción. Seguidamente, el contador de transacción se modifica a este nuevo valor. En ese momento preciso, el contenido de la zona activa no puede volverse a utilizar, el contador de transacción ya no corresponde a su certificado. En cambio, la zona de copia es válida.
El contador de transacción se modifica de nuevo al final de la transacción para evitar que esta transacción se haga de nuevo, como se ha indicado anteriormente.
El procedimiento puede implicar igualmente la verificación de la paridad del dato que varía en cada transacción. Este dato que puede ser un contador de transacción se incrementa dos veces durante una transacción completa, de una unidad cada vez. La paridad del valor del contador de transacción es por consiguiente idéntica tanto al principio como al final de la transacción. Si el primer valor del contador de transacción es par, el valor del contador de transacción es par al principio y al final de la transacción.
La paridad del contador de transacción debe verificarse al principio de la transacción, el valor del contador de transacción deberá ser par. En el caso en que el valor del contador de transacción fuera impar al principio de transacción, la integridad de las informaciones de la zona de copia de la tarjeta deberá verificarse directamente. Si se logra la verificación, el terminal transfiere los datos de la zona de copia a la zona activa.
Ahora, vamos a describir el invento en el caso de la aplicación a un sistema de transacción monetario, el terminal 100 es un terminal monetario y la tarjeta 103, una tarjeta de monedero electrónico.
Según un ejemplo preferido de realización, la estructura de datos de la memoria 103 es tal como se representa en la figura 2. Esta estructura u organización se facilita, evidentemente, a título de ejemplo. Pueden adaptarse otras organizaciones.
La memoria comprende datos de identificación que incluyen:
-
un valor de identificación del circuito (circuito silicio) en la zona Id circuito,
-
un código cliente en la zona de referencia emisora de tarjeta (organismo bancario),
-
un dato de identificación de la aplicación en la zonaId Card (datos por el emisor),
-
un número de serie CSN de la tarjeta (dado por ejemplo por el fabricante).
La memoria comprende una zona de contadores que constan de los siguientes campos:
-
un contador de fraude incrementado a cada verificación de un certificado que no es correcto.
Este contador está formado de 3 bits según la realización práctica que se ha hecho.
-
un contador de transacción CTC.
En un ejemplo de realización, este número CTC se divide en 5 subcontadores de 8 bits (cinco niveles de recuento) con un funcionamiento tipo ábaco tal como se describe por ejemplo en la patente FR 93 10477 publicada el 10 de marzo de 1995 con el Nº 2 709 582. Los cinco subcontadores están referenciados C1, C8, C64, C512, C4096. Las células memoria del nivel de recuento Cl tienen un peso de 1,.... y las del nivel C4096 tienen un peso de 4096= 8^{4}).
Los cuatro primeros niveles son de tipo borrables, es decir que se pueden borrar los bits que están inscritos en ella y seguidamente escribirlos de nuevo en los mismos emplazamientos. En cambio, el quinto nivel C4096 solamente es de escritura. Solamente se utilizarán para el recuento 4 bits de éste último. Entre los 4 bits restantes, 1 bit se utiliza como fusible y los otros tres bits como contador de fraude.
Dos bits se queman por transacción.
De este modo, este tipo de contador permitirá contar 10239 transacciones [7+7x8+7x8^{2}+7x8^{3}+4x8^{4}] /2.
La memoria comprende además:
-
una zona certificado.
Esta zona no puede borrarse y sirve para el registro de la certificación CER permitiendo la autenticación de la tarjeta. El certificado de autenticación lo registra después de la configuración del circuito el usuario final y lo verifica el terminal cada vez que se utilice la tarjeta.
Se calcula, por ejemplo, a partir de un dato de identificación ID, de una función con sentido único f_{OP} y una clave secreta según la fórmula:
CER= f_{OP} (ID, K)
ID es por ejemplo el contenido de las zonas de identificación de tarjeta, identificación de circuito o de referencia de emisor.
-
una zona usuario.
Se trata de la zona activa de monedero electrónico y de la zona de copia para las salvaguardas.
La zona activa contiene según una característica del invento un dato cifrado del saldo Bal y del certificado correspondiente Cert. La información del saldo de unidades de valor corresponde a una codificación en un primer número constante de bits, y la información representativa del certificado está codificada en un segundo número que consta de bits.
El dato cifrado correspondiente a una de las dos zonas del portaunidades puede escribirse de la siguiente manera:
<Bal, Cert> = E_{K} (Bal, Cert)
Bal es el número de unidades de valor y
Cert el certificado correspondiente.
K es la clave secreta del Terminal
<dato> el valor cifrado
(dato) el valor no cifrado
E_{K} el algoritmo de cifrado
El cálculo del certificado permite asegurar la integridad de los datos del monedero electrónico.
Los siguientes datos se utilizan en el cálculo:
-
el valor del saldo, lo que hace el certificado único para un saldo dado,
-
datos permanentes de la tarjeta, a saber los datos de identificación (tarjeta y emisor),
-
el contador de transacción CTC. En cada transacción dos bits se queman en este contador CTC y el contador sólo puede incrementarse o únicamente decrementarse. Un bit se quema al principio de una transacción, un segundo bit se quema al final de la transacción.
Según una de las características del invento, los certificados que corresponden a un saldo los calcula el terminal de la siguiente manera:
Cert A= F_{A} (Bal, CSN, CTC)
para la zona activa del monedero, y
Cert B= F_{B} (Bal, CSN, CTC)
para la zona de copia del monedero
F_{A} y F_{B} son funciones diferentes que detiene el terminal. Por ejemplo, se podrá tomar como función un algoritmo DES utilizando una clave secreta K que detiene el terminal.
Durante una transacción, el registro de las informaciones relativas al saldo y al certificado en la zona de copia y en la zona activa se hace según el siguiente desarrollo:
-
registro del saldo y de su certificado (presentes en la zona activa) en la zona de copia,
-
borrado de la zona activa,
-
escritura del nuevo saldo en la zona activa y de su certificado,
-
borrado de la zona de copia (borrado del dato de salvaguarda).
Este encadenamiento permite evitar cualquier pérdida de información en caso de desgarro de la tarjeta o de corte de corriente.
Las diferentes etapas aplicadas por el terminal durante una transacción se representan por los bloques funcionales de la figura 3.
El procedimiento comprende una fase de inicialización de la transacción y una fase correspondiente a la propia transacción.
La fase de inicialización comprende una verificación de la zona de fraude correspondiente a las etapas 50, 51, 52 detalladas en el resto del documento.
Esta fase de inicialización comprende, además, una verificación de la paridad del dato que varía en cada transacción y que corresponde en el esquema de la figura 3 a las etapas 400, 401, 203A, 204A, 205A, 207A.
Si el primer valor del contador de transacción es par, el valor del contador de transacción es par al principio y al final de la transacción.
La paridad del contador de transacción se verifica al principio de la transacción etapas 400, 401, el valor del contador de transacción deberá ser par.
En caso de que el valor del contador de transacción fuese impar al principio de la transacción, la integridad de las informaciones de la zona de copia de la tarjeta deberá verificarse directamente 204 A, efectuando las etapas 20, 21 y 22 de la figura 4.
Si se logra la verificación, el terminal transfiere los datos de la zona de copia a la zona activa 205A. Seguidamente, el terminal marca el principio de una transacción en la tarjeta al incrementar el contador CTC. A raíz de esto el terminal vuelve a pasar a la etapa 401.
Si la verificación de la integridad es negativa, el terminal ejecuta la etapa 206, a saber incremento del contador de fraude de la tarjeta y eyección de la tarjeta.
Después de haber verificado la paridad, el terminal lee el contenido de la zona activa de la tarjeta (monedero electrónico PM) 150, el cual comprende el dato <Bal1, Cert1_{A}>. Bal1 es el número de unidades de valor inicialmente almacenadas en la tarjeta, y Cert1A es el certificado inicialmente almacenado en la tarjeta.
El terminal verifica la integridad de estos datos, etapa 200: Para ello, descifra este dato según las etapas 20 a 22 detalladas en la figura 4. Si el certificado que ha calculado corresponde al certificado de la tarjeta, entonces la verificación se ha logrado. La transacción se prosigue 201, 202, 300.
El terminal actualiza el saldo en la tarjeta y calcula un nuevo dato cifrado 301 y 302. La actualización se realiza según las etapas 30 a 35 ilustradas en la figura 6.
En caso de que la integridad de los datos de la zona activa no se hubiera verificado, el terminal lee la zona de copia que contiene <Bal1, Cert1_{B}> 203.
El terminal verifica la integridad de los datos de salvaguarda 204 mediante descifrado de estos datos efectuando las etapas 20, 21 y 22 de la figura 4 en esos datos.
Si el certificado calculado es igual al certificado de esta zona Cert1'B==Cert1b, entonces los datos se integran, el terminal restaura este dato de salvaguardia en la zona activa que no contenía nada o una dato erróneo 205.
En caso de que los datos contenidos en la zona de copia no estuviesen integrados, entonces el terminal inscribe un bit en la zona de fraude 206.
Según la aplicación, pueden aceptarse uno o varios intentos de fraude antes de rechazar definitivamente la tarjeta.
Cuando la zona de fraude está llena, la tarjeta se retiene. El control de la zona de fraude se realiza durante una etapa previa a la transacción al principio de la inicialización de la transacción 50, 51, 52.
La figura 5, ilustra las etapas previas 200, 201 y 202 a la aplicación de una transacción. De preferencia se podrán utilizar funciones diferentes FA y FB para el cálculo de los certificados.
En la etapa 200 (o 204 o 204A), el terminal efectúa las operaciones desarrolladas en la figura 4.
El terminal opera el descifrado del contenido de la zona activa (o de copia). (20)
En el caso de la etapa 200,
Calcula seguidamente el certificado Cert1A correspondiente al saldo (Bal1) de esta zona. (21)
Opera la verificación de integridad. (22)
En la etapa 201
-
el terminal calcula el certificado (Cert1B) para la zona de salvaguarda; (23)
cifra el dato (Bal1, Cert1B); (24)
salvaguarda en la zona de copia de la tarjeta el valor cifrado. (25)
En la etapa 202
-
el terminal incrementa el contador CTC; (26)
-
borra el contenido de la zona activa: (27)
En el caso de las etapas 204 o 204 A, el terminal calcula a continuación el certificado Cert1B correspondiente al saldo Bal1 de esta zona (21). Realiza la verificación de integridad (22). El terminal calcula el certificado Cert1A para la zona activa (23), cifra el dato Bal1, Cert1A (24), salvaguarda en la zona activa de la tarjeta el valor cifrado (25). A continuación, el terminal incrementa el contador CTC (26) y borra el contenido de la zona de copia (27).
La figura 6, ilustra las etapas de actualización del saldo (301) durante una transacción y el final de la transacción (302).
El antiguo saldo Bal1 se modifica de un valor x (en más o en menos, según la transacción realizada) para dar el nuevo saldo Bal2, tal como:
Bal2= Bal1\pm x (30), x es el valor de la transacción.
El terminal calcula un nuevo certificado teniendo en cuenta ese nuevo saldo, y el nuevo valor del contador de transacción CTC+1:
Cert2_{A}= F_{A}(Bal2, Card Id, CTC+1) (31)
El terminal efectúa el cifrado de esos nuevos datos:
<Ba12, Cert2_{A}> = E_{K} (Bal2, Cert2_{A}) (32)
El terminal registra en la zona activa de la tarjeta este nuevo dato cifrado. (33)
La zona de copia de la tarjeta contiene el antiguo dato, es decir <Bal1, Cert1_{B}>. El terminal incrementa el contador de transacción CTC de la tarjeta quemando un segundo bit para validar la transacción. (34)
El terminal borra la zona de copia (35) y ordena la eyección de la tarjeta.

Claims (9)

1. Procedimiento de almacenamiento de unidades de valor en una tarjeta inteligente para la realización de transacciones a partir de un terminal, la tarjeta comprende una memoria no volátil de tipo EEPROM (103), posee una zona activa (ZA) susceptible de contener informaciones relativas al número de unidades de valor de la tarjeta para una aplicación dada y tiene un certificado destinado a la zona activa y calculado por el terminal a partir de este número, la memoria posee igualmente una zona de copia (ZC) destinada a contener informaciones de salvaguarda de la zona activa, caracterizado porque comprende las siguientes etapas:
-
el registro en la zona de copia (ZC) en la fase de inicialización de una transacción de la información relativa al número de unidades de valor de la tarjeta para una aplicación dada presente en la zona activa y de una información relativa a un certificado destinado a la zona de copia calculado a partir de ese número, las informaciones relativas al número de unidades de valor presente en la zona activa y al certificado destinado a la zona de copia están cifradas y registradas cifradas en la zona de copia (ZC).
-
el registro en la zona activa (ZA) durante la transacción de informaciones relativas a un nuevo número de unidades de valor de la tarjeta para una aplicación dada y a un nuevo certificado destinado a la zona activa calculada por el terminal a partir de ese nuevo número de unidades de valor, las informaciones relativas al nuevo número de unidades de valor y al nuevo certificado destinado a la zona activa se cifra y registra cifrado en la zona activa.
2. Procedimiento de almacenamiento según la reivindicación 1, caracterizado porque las operaciones de cifrado se realizan mediante un algoritmo de cifrado Ek y una clave secreta j por el terminal de transacción.
3. Procedimiento de almacenamiento según cualquiera de las reivindicaciones anteriores caracterizado porque el certificado destinado a la zona activa (CertA) se calcula utilizando una primera función (FA), y porque el certificado destinado a la zona de copia (CertB) se calcula utilizando otra función (FB).
4. Procedimiento de almacenamiento según la reivindicación 3, caracterizado porque:
-
en la fase de inicialización de la transacción, las informaciones relativas al número de unidades de valor de la tarjeta para una aplicación dada presente en la zona activa y relativas al certificado (CertB) destinado a la zona de copia calculada a partir de ese número se cifran según una primera operación de cifrado,
-
durante la transacción, las informaciones relativas al nuevo número de unidades de valor de la tarjeta para una aplicación dada y al nuevo certificado (CertA) destinado a la zona activa calculado por el terminal a partir de ese nuevo número de unidades de valor se cifran según una segunda operación de cifrado.
5. Procedimiento según una de las reivindicaciones anteriores caracterizado porque en la fase de inicialización de la transacción:
-
se calcula el certificado destinado a la zona de copia a partir del número de unidades de valor presente en la zona activa y de un valor de un contador de transacción incrementado a su próximo valor,
el contador de transacción se incrementa seguidamente a este nuevo valor de tal modo que después del registro de las informaciones en la zona de copia, el certificado de la zona activa no corresponda con el valor del contador, solamente las informaciones de salvaguarda son correctas.
6. Procedimiento según la reivindicación anterior según la cual el valor del contador de transacción se utiliza en el cálculo de los certificados. La paridad del valor del contador de transacción es idéntica en la fase de inicialización y al final de la transacción está incrementada dos veces durante la transacción, cada incremento corresponde solamente a una unidad.
7. Procedimiento según la reivindicación anterior caracterizado porque, en la fase de inicialización de la transacción, se lee el valor del contador de transacción de la tarjeta, si el valor leído fuera par, se leen las informaciones de la zona activa (ZA), se verifica la integridad de las informaciones de la zona activa, la integridad de las informaciones de la zona activa se verifican, se procede a un almacenamiento de unidades de valor en la tarjeta inteligente.
8. Procedimiento según la reivindicación 6 caracterizado porque, en la fase de inicialización de una transacción, se lee el valor del contador de transacción de la tarjeta. Si el valor leído es impar, se leen las informaciones de la zona de copia ZC, se verifica la integridad de las informaciones de la zona de copia, la integridad de las informaciones de la zona de copia es verificada, se calcula un certificado a partir del número de unidades de valor presente en la zona de copia (ZC) y el valor del contador de transacción resultará incrementado en su próximo valor par, el dato obtenido se cifra y registra en zona activa (ZA, el contador se incrementa seguidamente a ese nuevo valor de tal modo que en ese instante, el certificado de la zona de copia (ZC) ya no está de acuerdo con el valor del contador, solamente el dato de la zona activa es correcto.
\newpage
9. Terminal de transacción que utiliza tarjetas inteligentes que comprenden una memoria no volátil de tipo EEPROM (103), posee una zona activa (ZA) susceptible de contener informaciones relativas al número de unidades de valor de la tarjeta para una aplicación dada y tiene un certificado destinado a la zona activa y calculado por el terminal a partir de este número, la memoria posee igualmente una zona de copia (ZC) destinada a contener informaciones de salvaguarda de la zona activa,
caracterizado porque el terminal comprende un medio de cifrado para cifrar en la fase de inicialización de una transacción la información relativa al número de unidades de valor de la tarjeta para una aplicación dada presente en la zona activa y de una información relativa a un certificado destinado a la zona de copia calculado a partir de ese número, y para cifrar durante la transacción informaciones relativas a un nuevo número de unidades de valor de la tarjeta para una aplicación dada y a un nuevo certificado destinado a la zona activa calculada por el terminal a partir de ese nuevo número de unidades de valor, y un medio para registrar en la zona de copia los datos cifrados en la fase de inicialización y para registrar en la zona activa las informaciones cifradas durante la transacción.
ES97926064T 1996-05-31 1997-05-30 Procedimiento de almacenamiento de unidades de valor en una tarjeta de chip de manera asegurada y sistema de transaccion monetaria con dicha tarcetas. Expired - Lifetime ES2212102T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9606705 1996-05-31
FR9606705A FR2749413B1 (fr) 1996-05-31 1996-05-31 Procede de stockage des unites de valeur dans une carte a puce de facon securisee et systeme de transaction monetaire avec de telles cartes

Publications (1)

Publication Number Publication Date
ES2212102T3 true ES2212102T3 (es) 2004-07-16

Family

ID=9492581

Family Applications (1)

Application Number Title Priority Date Filing Date
ES97926064T Expired - Lifetime ES2212102T3 (es) 1996-05-31 1997-05-30 Procedimiento de almacenamiento de unidades de valor en una tarjeta de chip de manera asegurada y sistema de transaccion monetaria con dicha tarcetas.

Country Status (5)

Country Link
EP (1) EP0910839B1 (es)
DE (1) DE69725723T2 (es)
ES (1) ES2212102T3 (es)
FR (1) FR2749413B1 (es)
WO (1) WO1997045815A1 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2231825C2 (ru) * 1999-11-29 2004-06-27 Инфинеон Текнолоджиз Аг Способ и устройство для эксплуатации многоступенчатого счетчика в одном направлении счета
FR2873471B1 (fr) * 2004-07-26 2006-10-13 Ascom Sa Systeme a carte a memoire sans contact a mot de passe

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2618002B1 (fr) * 1987-07-10 1991-07-05 Schlumberger Ind Sa Procede et systeme d'authentification de cartes a memoire electronique
FR2653248B1 (fr) * 1989-10-13 1991-12-20 Gemolus Card International Systeme de paiement ou de transfert d'information par carte a memoire electronique porte monnaie.
FR2689662B1 (fr) * 1992-04-01 1994-05-20 Gemplus Card International Procede de protection d'une carte a puce contre la perte d'information.
FR2704081B1 (fr) * 1993-04-16 1995-05-19 France Telecom Procédé de mise à jour d'une carte à mémoire et carte à mémoire pour la mise en Óoeuvre de ce procédé.

Also Published As

Publication number Publication date
DE69725723T2 (de) 2004-07-22
WO1997045815A1 (fr) 1997-12-04
FR2749413A1 (fr) 1997-12-05
EP0910839A1 (fr) 1999-04-28
EP0910839B1 (fr) 2003-10-22
FR2749413B1 (fr) 1998-07-10
DE69725723D1 (de) 2003-11-27

Similar Documents

Publication Publication Date Title
US7206847B1 (en) Smart card with back up
ES2202344T3 (es) Procedimiento de carga de una zona de memoria protegida de un dispositivo de tratamiento de la informacion y dispositivo asociado.
EP0330404B1 (en) Integrated circuit cards
JP4906168B2 (ja) Icカードのための鍵配送ユニット
EP1302018B1 (en) Secure transactions with passive storage media
CN103348357B (zh) 敏感数据处理装置及方法
ES2203506T3 (es) Aparato y procedimiento de transacciones seguras de pago con tarjetas de credito o tarjetas de debito via internet.
IL94633A (en) A data transfer system encoded in a key between computers
CN101218609B (zh) 带有安全的数据处理的便携式数据载体
JPS6354294A (ja) 情報媒体とこれを用いる情報保護方法
JPH0727459B2 (ja) データ処理システムにおける乱数発生方法及びこの方法を使用したデータ処理システム
ES2542421T3 (es) Procedimiento de escritura, de actualización y de asignación de memoria aplicado a la escritura de ficheros en un soporte de memoria tal como una tarjeta con chip
WO2002003271A1 (fr) Carte a circuit integre, procede de duplication d&#39;une carte a circuit integre et procede de restitution
ES2212102T3 (es) Procedimiento de almacenamiento de unidades de valor en una tarjeta de chip de manera asegurada y sistema de transaccion monetaria con dicha tarcetas.
US6662283B1 (en) Secure memory management method
JPH09265254A (ja) 情報記憶媒体の相互認証システム
EP0872081B1 (en) Method and device for data communication
JP3567615B2 (ja) 情報記録システム
BRPI0210673B1 (pt) método criptográfico para proteger um chip eletrônico contra fraude
Kose et al. A SECURE DESIGN ON MIFARE CLASSIC CARDS FOR ENSURING CONTACTLESS PAYMENT AND CONTROL SERVICES
ES2283110T3 (es) Procedimiento para modificar de manera indivisible una pluralidad de ubicaciones de la memoria no volatil de una tarjeta con microcircuito, en particular una tarjeta sin contacto.
JPH0727460B2 (ja) 電子携帯装置システムにおける乱数発生方法及びこの方法を実施するためのシステム
JPH0973416A (ja) Icカード
JPH1069435A (ja) Icカード
JPH03296842A (ja) データ書き込み方法およびicカード