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
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/0866—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 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.
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)
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)
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é. |
-
1996
- 1996-05-31 FR FR9606705A patent/FR2749413B1/fr not_active Expired - Fee Related
-
1997
- 1997-05-30 EP EP97926064A patent/EP0910839B1/fr not_active Expired - Lifetime
- 1997-05-30 WO PCT/FR1997/000947 patent/WO1997045815A1/fr active IP Right Grant
- 1997-05-30 ES ES97926064T patent/ES2212102T3/es not_active Expired - Lifetime
- 1997-05-30 DE DE69725723T patent/DE69725723T2/de not_active Expired - Fee Related
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'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カード |