ES2283110T3 - 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. - Google Patents
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. Download PDFInfo
- Publication number
- ES2283110T3 ES2283110T3 ES99913381T ES99913381T ES2283110T3 ES 2283110 T3 ES2283110 T3 ES 2283110T3 ES 99913381 T ES99913381 T ES 99913381T ES 99913381 T ES99913381 T ES 99913381T ES 2283110 T3 ES2283110 T3 ES 2283110T3
- Authority
- ES
- Spain
- Prior art keywords
- card
- stage
- terminal
- commands
- memory
- 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 OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3672—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes initialising or reloading thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3676—Balancing accounts
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/409—Device specific authentication in transaction processing
- G06Q20/4097—Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
-
- 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/0806—Details of the card
- G07F7/0813—Specific details related to card security
- G07F7/082—Features insuring the integrity of the data on or in the card
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Credit Cards Or The Like (AREA)
- Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Procedimiento para modificar el contenido de la memoria no volátil de una tarjeta con microcircuito, en particular una tarjeta sin contacto, procedimiento en el que la tarjeta se acopla temporalmente a un terminal durante la ejecución de una transacción, especialmente una transacción de telebillética, comprendiendo dicha transacción la aplicación a la tarjeta, por el terminal, de una pluralidad de comandos de modificación, comprendiendo cada uno de dichos comandos al menos una operación de inscripción, en la memoria de la tarjeta, de una información particular determinada de entre una pluralidad de informaciones contenidas en la tarjeta en función de un índice o de un identificador comunicado a la tarjeta por cada uno de dichos comandos, siendo mutuamente interdependientes las diferentes informaciones así inscritas, comprendiendo el procedimiento la ejecución, por la tarjeta, de las etapas siguientes: a) a la recepción de comandos respectivos correspondientes recibidos del terminal, inscripción provisional, en la memoria de la tarjeta, de cada una de dichas informaciones interdependientes; y después b) finalización de estas modificaciones de modo que, para operaciones posteriores, los comandos ejecutados en la etapa a); i) sean todos ellos tenidos en cuenta o ii) carezcan todos de efecto, procedimiento en el que: - dichos comandos son unos comandos de modificaciones del contenido de la memoria de la tarjeta, - en la etapa a), la inscripción en la memoria de la tarjeta de nuevos valores de dichas informaciones modifica el contenido de la memoria sin pérdida de los valores anteriores de estas informaciones, y - en la etapa b), las modificaciones finalizan de tal modo que, si todos los comandos ejecutados en la etapa a) carecen de efecto, entonces los datos contenidos en la memoria no volátil permanecerán en el estado en el que se encontraban antes de la ejecución de la etapa a).
Description
Procedimiento para modificar de manera
indivisible una pluralidad de ubicaciones de la memoria no volátil
de una tarjeta con microcircuito, en particular una tarjeta sin
contacto.
La invención se refiere a las tarjetas con
microcircuito y, más particularmente, a las tarjetas con
microprocesador, que realizan ellas mismas diversas modificaciones
de su memoria no volátil.
Durante la ejecución de una transacción, la
memoria es generalmente modificada una o varias veces y,
evidentemente es necesario asegurarse entonces de que todas las
modificaciones han sido efectuadas correctamente antes de poder
explotar las informaciones nuevamente inscritas, debiendo ignorarse
o borrarse las informaciones nuevamente inscritas en caso de error
o defecto de integridad de la inscripción.
El documento
US-A-4.877.945 describe así la
manera de detectar una anomalía sobrevenida en el curso de una
secuencia de escritura de varias informaciones a fin de impedir la
continuación de la transacción sobre bases erróneas.
Por otro lado, es deseable poder volver al
estado anterior en caso de anomalía, es decir que una transacción
posterior deberá estar en condiciones de operar sobre los valores de
las informaciones que estaban inscritas en la tarjeta antes de la
ejecución de la transacción incorrecta.
El documento
US-A-4.877.945 mencionado
anteriormente no ofrece esta ventaja, ya que los valores antiguos de
las informaciones se habrán perdido, algunos de ellos, durante la
ejecución de la transacción incorrecta, de modo que no será posible
restaurar estas informaciones a su estado anterior, al menos a
partir únicamente de las informaciones contenidas en esta
tarjeta.
Por su parte, el documento
WO-A-89/02140 describe una manera de
operar de este tipo, pero ésta únicamente es aplicable en el caso
de la modificación de una información única o de varias
modificaciones de informaciones independientemente unas de
otras.
No obstante, en numerosos casos, es necesario
modificar varias informaciones en el curso de la misma transacción,
y éstas serán consideradas "mutuamente interdependientes" si
necesitan ser tratadas juntas para la buena realización del
conjunto de las modificaciones de la totalidad de las
informaciones.
El riesgo de transacción imperfecta o inacabada
que recae sobre una pluralidad de informaciones interdependientes
es particularmente elevado con las tarjetas del tipo "sin
contacto", en las que los límites del volumen en el cual la
tarjeta puede funcionar correctamente alrededor del terminal no son
perceptibles. En este caso, existe un riesgo no despreciable de
rotura inesperada de la comunicación entre la tarjeta y el terminal,
debido a la salida de la tarjeta del radio de acción del terminal
antes del fin del tratamiento o debido a una perturbación pasajera,
por ejemplo el paso de una masa metálica en las cercanías.
Un ejemplo (evidentemente, no limitativo) es la
utilización de dicha tarjeta en una transacción de telebillética,
es decir, para el acceso a una red de transporte público,
desempeñando la tarjeta el doble papel de título de transporte y de
monedero electrónico.
Para paliar las dificultades citadas
anteriormente y hacer que sean "indivisibles" una pluralidad de
escrituras u otras modificaciones de datos interdependientes, se
han propuesto varias soluciones.
En el ejemplo de aplicación indicado más arriba,
los sistemas conocidos comienzan por adeudar el monedero y luego
inscriben los derechos de transporte adquiridos por el usuario. Si
el usuario retira su tarjeta entre las dos operaciones, es invitado
a presentar la tarjeta de nuevo y se reanuda la escritura de los
derechos de transporte. En cambio, si se va sin volver a presentar
su tarjeta, se habrá perjudicado. Es evidentemente imposible
proceder en el orden inverso, ya que el usuario tendría entonces
interés en retirar su tarjeta antes de que se haga el adeudo en el
monedero.
Esta solución implica que el terminal está
especialmente configurado para permitir, en caso de interrupción,
la activación de un tratamiento de excepción que gestiona la
reanudación de la transacción (reinserción de la tarjeta a petición
del terminal). Además de la complejidad del programa informático del
terminal, esta solución no es totalmente satisfactoria en la medida
en que, como se ha indicado, el usuario resulta perjudicado en caso
de la no reanudación de la transacción.
Otra solución consiste en utilizar informaciones
cruzadas, conservando en el terminal informaciones sobre el estado
del monedero de la tarjeta, y a la inversa. No obstante, esta
solución tampoco es satisfactoria, ya que, además de su
complejidad, aumenta el volumen de datos intercambiados entre la
tarjeta y el terminal y, por tanto, ralentiza la ejecución de la
transacción. Además, es difícilmente aplicable a un número
importante de escrituras que se deban hacer indivisibles (tres y
más).
Uno de los objetivos de la invención es proponer
un procedimiento que permita efectuar una pluralidad de
modificaciones de la memoria de la tarjeta de manera
indivisible.
Otro objetivo de la invención es proponer un
procedimiento de este tipo que pueda ser completamente gestionado
por la tarjeta. Por tanto, este procedimiento podrá aplicarse sin
modificaciones de los terminales y sin que proceda prever
tratamientos de excepción por estos terminales, utilizando la
sintaxis de las órdenes existentes y, por tanto, con una gran
flexibilidad en la elección de los comandos.
El procedimiento de la invención es del tipo en
el que la tarjeta es acoplada temporalmente a un terminal durante
la ejecución de una transacción que comprende la aplicación por el
terminal a la tarjeta de una pluralidad de comandos de
modificaciones, que comprenden cada una al menos una operación de
inscripción en la memoria de la tarjeta, de una información
respectiva designada por el comando, siendo mutuamente
interdependientes las diferentes informaciones así inscritas.
La invención se define de la manera indicada en
la reivindicación 1.
El principio de base de la invención consiste
así en agrupar la pluralidad de modificaciones a realizar de manera
indivisible en el seno de una misma etapa a) y, después de haber
ejecutado estas modificaciones, en validar globalmente estas
modificaciones por la tarjeta. Si la validación es efectiva, en la
próxima operación efectuada por medio de la tarjeta (en el curso de
la misma transacción o en el curso de una transacción ulterior) su
contenido accesible reflejará necesariamente las modificaciones
realizadas.
Por el contrario, cualquier interrupción del
funcionamiento de la tarjeta que intervenga en el curso de la etapa
a) anulará el conjunto de las modificaciones efectuadas, y las datos
de la memoria no volátil permanecerán en su estado anterior a la
etapa a).
En un modo de realización particular, en caso de
confirmación en la etapa b), se inscribe en la memoria de la
tarjeta un testigo de confirmación de la buena ejecución y, cuando
la tarjeta recibe posteriormente un comando que implica la lectura
y/o la modificación de al menos una de las informaciones inscritas
en la etapa a) o del valor correspondiente, la tarjeta examina
previamente el estado del testigo y, si éste no ha sido inscrito,
la tarjeta ignora o anula las inscripciones provisionales
anteriormente realizadas en la etapa a) y ejecuta el comando sobre
la base de dichos valores anteriores correspondientes a las
informaciones. Cuando la tarjeta examina el estado del testigo, si
éste se ha inscrito, la tarjeta puede entonces ejecutar operaciones
de recopia de las escrituras provisionales realizadas en la etapa
a).
De forma muy ventajosa, la tarjeta es apta para
funcionar según dos modos, a saber, un modo en sesión en el cual
las inscripciones son realizadas por ejecución de las etapas a) y
b), y un modo fuera de sesión, en el cual no se confirma la
operación de las inscripciones en el conjunto de las etapas a) y
b).
La apertura de sesión puede ser implícita, por
ejemplo a la puesta a cero (reajuste) de la tarjeta o a consecuencia
de un comando de doble acción de ejecución de una operación
predeterminada e interpretada como una orden de apertura de
sesión.
Por ejemplo, cuando una inscripción normalmente
certificada no se acompaña de un certificado, la tarjeta abre
automáticamente una sesión que trata la inscripción en esta
sesión.
De la misma forma, el cierre de sesión puede ser
implícito a consecuencia de un comando de doble acción de ejecución
de una operación predeterminada e interpretada como una orden de
cierre de sesión.
Por ejemplo, una operación de débito del
monedero cierra la sesión, lo que evita, además, deber diferir la
comunicación del certificado resultante y permite confundir los
certificados de sesión con los de transacción del monedero.
De manera muy ventajosa, el procedimiento
comprende una función de autentificación combinada con la función
de invalidación de la etapa b), forzando la anulación en la etapa b)
en caso de que falle la autentificación.
En una primera realización, esta autentificación
es efectuada por la tarjeta que autentifica el terminal y/o los
datos intercambiados entre el terminal y la tarjeta, controlando la
tarjeta un certificado criptográfico producido por el terminal y
transmitido a la tarjeta y confirmando las modificaciones en la
etapa b) únicamente si este certificado se reconoce como
correcto.
En el caso de un modo con sesión, se puede
prever que, cuando la tarjeta recibe del terminal comandos de
modificación del contenido de la memoria que incluyen la
verificación de un certificado criptográfico, esta verificación es
realizada si el comando es recibido fuera de sesión, y no lo es si
el comando es recibido en sesión.
En otros términos, aquellos comandos ejecutados
por la tarjeta b) en la etapa b) que verificarían normalmente (es
decir, fuera de sesión) un certificado criptográfico, no comprenden
ya esta verificación cuando son ejecutados en el marco de una
sesión, realizando el "certificado de sesión que autentifica el
terminal" una función equivalente.
En una segunda realización, la autentificación
es efectuada por el terminal que autentifica la tarjeta y/o los
datos intercambiados entre el terminal y la tarjeta, produciendo la
tarjeta y transmitiendo al terminal un certificado criptográfico de
manera condicional si, y solamente si, las modificaciones se han
confirmado en la etapa b).
En el caso de un modo con sesión, se puede
prever que, cuando la tarjeta recibe del terminal en la etapa b)
comandos de modificación de contenido de la memoria que incluyen la
producción de un certificado criptográfico, esta producción es
realizada si el comando es recibido fuera de sesión, y no lo es si
el comando es recibido en
sesión.
sesión.
En otros términos, aquellos comandos ejecutados
por la tarjeta en la etapa b) que producirían normalmente (es
decir, fuera de sesión) un certificado criptográfico, no comprenden
ya esta producción cuando son ejecutados en el marco de una sesión,
realizando el "certificado de sesión que autentifica el
terminal" una función equivalente.
Por otro lado, se puede prever que, cuando la
tarjeta recibe del terminal comandos de modificación del contenido
de la memoria que incluyen la producción de una pluralidad de
certificados criptográficos, estos certificados son memorizados en
esta etapa b) y después transmitidos juntos al terminal si, y
solamente si, las modificaciones se han confirmado en la etapa
b).
En otros términos, se prevé diferir la
comunicación por la tarjeta de los certificados criptográficos
producidos normalmente por las órdenes de la etapa b). En
particular, si un comando de escritura certificada produce un
cierto certificado de escritura, es deseable que éste únicamente
salga de la tarjeta una vez que la escritura se ha efectuado
irrevocablemente.
En una forma de realización particular, al menos
ciertos comandos comprenden un atributo de inhibición y, si la
tarjeta ejecuta dicho comando, las modificaciones realizadas por
este comando surten efecto independientemente del resultado de la
etapa b).
En otros términos, el atributo define si el
comando es realizado en sesión (es decir, será anulado si la sesión
no está cerrada) o fuera de sesión (es decir, será efectivo
inmediatamente como si se hubiera efectuado fuera de sesión, aunque
esté cronológicamente en sesión).
De manera muy ventajosa, el procedimiento prevé
además, después de la etapa b) y en caso de confirmación de las
modificaciones, la secuencia de etapas siguiente: d) ejecución por
el terminal de una acción a consecuencia de la confirmación por la
tarjeta; e) en caso de una buena ejecución de dicha acción por el
terminal, inscripción en la tarjeta de una información de
ratificación accesible posteriormente en lectura.
Dicha "ratificación" de la sesión le indica
a la tarjeta que el terminal ha podido tomar efectivamente las
decisiones (por ejemplo, la apertura de una portilla en el caso de
una aplicación de acceso a una red de transporte público) como
consecuencia de la ejecución de la sesión.
Se observará que esta ratificación es gestionada
por la tarjeta sin necesidad de una escritura suplementaria (siendo
la recopia de las escrituras provisionales una operación que, de
todas formas, debe efectuarse tarde o temprano). Además, esta
recopia se realiza en el lado de la tarjeta únicamente a condición
de que la acción sea bien ejecutada en el lado del terminal, es
decir, únicamente en caso de coherencia del conjunto de la
transacción.
Dado que el conjunto de las operaciones son
gestionadas por la tarjeta, se puede prever ventajosamente que el
comando de inscripción de la etapa e) sea un comando implícito,
interpretándose cualquier comando recibido por la tarjeta después
de la etapa b) como una orden de inscripción en la tarjeta de una
información de ratificación.
Otras características y ventajas se pondrán más
claramente de manifiesto a partir de la descripción siguiente de
dos ejemplos de realización de la invención.
En estos ejemplos, como, por otra parte, en el
resto del texto, la palabra "designar", entendida en la
presente memoria en el sentido de "determinar uno de entre
varios", contempla la acción consistente en caracterizar una
información particular de entre las diferentes informaciones
contenidas en la tarjeta.
El comando puede pretender por sí mismo una
información particular; por ejemplo, el comando "adeudar en el
monedero una cantidad x" designa la ubicación de la memoria que
contiene el valor de la información "saldo del monedero".
Esta designación puede ser explícita, como por
ejemplo en el ejemplo I siguiente en el que están previstos unos
comandos de escritura con una dirección o un identificador de
sector, indexados por un índice i.
Se ha propuesto realizar una tarjeta que
almacena 100 valores de ocho octetos cada uno, y que soporta las
siguientes órdenes:
- -
- Lectura de un valor v de 8 octetos, designado por su índice i de 1 a 100.
- -
- Escritura de un valor v de 8 octetos, designado por su índice i de 1 a 100.
- -
- Apertura de sesión.
- -
- Cierre de sesión.
La tarjeta debe permitir hasta tres escrituras
en una misma sesión. Por convenio, se utilizarán letras mayúsculas
para designar los valores en memoria no volátil (EEPROM, por
ejemplo) y letras minúsculas para designar los valores en memoria
volátil (RAM, cuyo contenido se pierde en la puesta fuera de
tensión).
Una zona de memoria no volátil es asignada al
almacenamiento principal de los datos de la tarjeta (escrituras
definitivas):
- -
- V[i], i de 1 a 100: 100 x 8 octetos
Otra zona de memoria no volátil es asignada al
mecanismo de sesión, y comprende:
- -
- T[k], k de 1 a 3: 3 x 8 octetos que contienen los valores escritos durante la sesión (escrituras provisionales).
- -
- I[k], k de 1 a 3: 3 x 1 octetos que contienen los índices de los valores escritos durante la sesión.
- -
- C: 1 octeto de recuento que se escribirá al final de la sesión.
C codifica el número de escrituras efectuadas en
la sesión; un mecanismo de redundancia apropiado (que asocia por
ejemplo el complemento de este valor) permite asegurar que se sabe
detectar el caso en el que es incierto el valor almacenado en este
octeto de recuento.
El desarrollo de las operaciones es el
siguiente.
Etapa 0: en un momento comprendido entre
la puesta bajo tensión de la tarjeta y el primer comando realizado,
se examina C. Si está en un valor cierto de 1 a 3, entonces para k
de 1 a C se copia el valor T[k] en el índice I[k] de
la tabla V[i]. Después, se pone C a 0, y una variable interna
j es puesta a -1 (para indicar que no está abierta una
sesión).
sesión).
Etapa 1: en la lectura se examina si
j>0; si lo es, se compara el índice i solicitado con los valores
I[k] para k de j a 1 decreciendo. En caso de identidad, se
devuelve T[k]. En todos los demás casos, se devuelve
V[i].
Etapa 2: a la apertura de la sesión, se
inicializa j=0 (se debe observar que si una sesión está abierta,
ésta es anulada).
Etapa 3: en cada escritura, si j=-1
(sesión no abierta), se escribe el valor v comunicado en
T[0], el índice i comunicado en I[0], después se
escribe C=1, después se escribe v en V[i] y después se
escribe C=0; si 0\leqj<3 (escritura en sesión), se aumenta j
en 1, se escribe v en T[j] y se escribe i en I[j]; si
j=3, se rechaza la operación (rebasamiento del límite de las
escrituras en sesión).
Etapa 4: al cierre de la sesión, si
j>0, se escribe j en C, después para j de 1 a C se copia el valor
T[j] en el índice
I[j] de la tabla V[]. Después se pone C a 0 y j a -1.
I[j] de la tabla V[]. Después se pone C a 0 y j a -1.
Se demuestra que en cualquier momento se puede
cortar la alimentación de la tarjeta y que los valores leídos serán
correctos, es decir, para cada índice i, el último valor escrito
fuera de sesión o escrito en una sesión cerrada (se acaba la
escritura o se cierra la sesión en el momento en que se escribe un
valor no nulo en C).
Se añade la criptografía impidiendo ciertas
operaciones si es incorrecto un certificado criptográfico
proporcionado a la tarjeta y/o haciendo que se produzcan en la
tarjeta unos certificados criptográficos a la terminación de
ciertas operaciones.
Los certificados criptográficos utilizados están
basados en una criptografía de tipo conocido. Por ejemplo, el
"certificado de sesión que autentifica la tarjeta"
(respectivamente, el terminal) se obtiene aplicando en el lado de
la carta y del terminal el algoritmo Secure Hash Algorithm
(SHA) a los datos proporcionados por la tarjeta (respectivamente,
el terminal) y a un número aleatorio facilitado por el terminal
(respectivamente, la tarjeta) a la apertura de la sesión; el
Message Authentication Code (MAC) resultante es firmado por
la tarjeta (respectivamente, el terminal) con el algoritmo de firma
Digital Signature Algorithm (DSA) con una clave secreta
contenida en la tarjeta (respectivamente, el terminal); el terminal
(respectivamente, la tarjeta) verifica esta firma con una clave
pública. Puede utilizarse también un algoritmo de criptografía
simétrico tal como Data Encryption Standard (DES) para la
producción del MAC y/o la elaboración de las firmas.
Según una opción de la invención, la etapa de
producción del MAC es común a los dos sentidos de autentificación y
recae sobre el conjunto de los datos de la sesión. Y en el caso de
una criptografía simétrica, el certificado que autentifica la
tarjeta y el que autentifica el terminal son obtenidos por una sola
etapa de cifrado del MAC, deduciéndose los certificados respectivos
de la tarjeta y del terminal por una operación elemental, tal como
la extracción de ciertos bits predeterminados.
Ejemplo
II
En este ejemplo, los datos de la memoria son
organizados en sectores que comprenden cada uno cuatro campos:
- 1.
- datos;
- 2.
- identificador (clave de acceso que permite seleccionar un sector);
- 3.
- pertinencia: permite determinar el sector pertinente si dos sectores tienen el mismo identificador;
- 4.
- control: permite verificar la integridad de los tres campos anteriores (por ejemplo, un control de tipo paridad).
Un sector será designado por su identificador,
concepto que sustituye al de dirección. El proceso de escritura de
un sector tiene como parámetro un identificador y unos datos a
asociar a este identificador. El proceso de lectura de un sector
tiene como parámetro un identificador, y devuelve los datos
asociados a este identificador durante la última escritura
efectuada con este mismo identificador (o una indicación apropiada
si este identificador no se ha utilizado nunca). En otros términos,
se realiza un acceso de tipo asociativo en lugar de un acceso
indexado.
Durante el proceso de lectura de un sector, la
tarjeta busca los sectores cuyo identificador tiene el valor
solicitado, y que son íntegros (sobre la base del campo de control).
En caso de que varios sectores responden a estos dos criterios,
retiene uno sobre la base del campo de pertinencia.
Durante una escritura de sector, la tarjeta
escribe en un sector disponible los campos de datos e identificador
solicitados, el campo de pertinencia tal que este sector será, para
el proceso de lectura, el más pertinente de los sectores íntegros
que poseen este identificador, y el campo de control acorde con los
tres campos anteriores (en otros términos, la escritura es
gestionada de manera que la lectura posterior pueda realizarse
correctamente).
Ventajosamente, el proceso de escritura prosigue
con el borrado del sector que se vuelve no pertinente por la
escritura del nuevo sector, creando así un nuevo sector
disponible.
Se prevé ventajosamente un sistema
(complementario) del tipo de garbage collection, es decir, de
recuperación de los sectores inútiles ya sean no íntegros o no
pertinentes.
Se prevé ventajosamente un sistema que reparte
el desgaste resultante de la escritura, evitando utilizar siempre
los mismos sectores, por ejemplo eligiendo aleatoriamente un sector
de entre los sectores disponibles.
Una variante generalmente ventajosa del proceso
de búsqueda de sector consiste en aprovechar esta etapa de búsqueda
para borrar los sectores de los que se ha determinado que no son
íntegros, y/o los que no son los más pertinentes, reconstruyendo
así unos sectores libres (esto pierde tiempo durante esta lectura,
en favor de la velocidad de las lecturas y escrituras posteriores).
Ventajosamente, antes del borrado de un sector del que se ha
determinado que es íntegro, pero no pertinente, se escribirá de
nuevo el sector pertinente, cuya escritura puede ser
imperfecta.
imperfecta.
El tamaño útil de la memoria es igual al número
de sectores disponibles, menos un sector que debe permanecer
borrado. Todos los sectores (incluido el borrado) son distribuidos
dinámicamente en la memoria.
Si los datos deben estructurarse en ficheros,
por ejemplo según la norma ISO/IEC 7816-4, el
identificador de sector se descompone en dos subcampos, un
identificador de fichero y un identificador del sector en ese
fichero.
Se dará a continuación una implementación (no
limitativa) de las operaciones de lectura/escritura utilizando esta
estructuración particular en sectores:
- -
- El campo de control contiene, codificado en binario, el número de bits a cero en los otros tres campos; se muestra que si un problema, tal como una escritura o un borrado interrumpido modifica un número cualquiera de bits del sector todos ellos en el mismo sentido, el control del valor del campo de control permite siempre la detección del problema.
- -
- El campo de pertinencia es un entero de 0 a 3, codificado sobre 2 bits.
- -
- El proceso de lectura recorre secuencialmente todos los sectores hasta que encuentra un primer sector que posee el identificador buscado, e íntegro. Si esta búsqueda no encuentra ningún sector, se termina el proceso con un informe "sector no encontrado". Si se encuentra dicho primer sector, se memorizan su posición, sus datos y su pertinencia p. La búsqueda continúa. Si se detecta un segundo sector que posee el identificador buscado, e integro, se comprueba si su pertinencia q es el resto de la división entera de p+1 por 3; si lo es, se escribe de nuevo el segundo sector, se borra el primero y se devuelven los datos del segundo; si no lo es, se escribe de nuevo el primer sector, se borra el segundo y se devuelven los datos del primero. Si no se encuentra un segundo sector y si la pertinencia del primer sector es p=3, se borra este sector y se proporciona el informe "sector no encontrado"; en los otros casos, se devuelven los datos del primer sector encontrado.
- -
- El proceso de escritura comienza como el proceso de lectura anterior. Si se ha encontrado el sector que devolvería el proceso de lectura para el identificador proporcionado, se memorizan la posición de este sector y su pertinencia p (que vale 0, 1 ó 2); si no se le ha encontrado, se selecciona un sector libre (por el proceso siguiente) y se escriben en este sector los campos de identificador, datos, pertinencia p=3 y control, y se memorizan la posición y la pertinencia de este sector. En los dos casos, se continúa seleccionando un sector libre (por el proceso siguiente). Se escriben en este sector los campos de identificador, datos, pertinencia q (calculada como el resto de la división entera de p+1 por 3) y el control. Después se borra el sector memorizado.
- -
- Para la búsqueda de sector libre, se inicializa a cero el número n de sectores libres encontrados. Se examinan secuencialmente los sectores. Para cada sector, si éste es no virgen y no íntegro, se le borra y se vuelve virgen (contribuyendo así a la garbage collection mencionada anteriormente); si es íntegro y si su pertinencia es p=3, se le borra (ídem); si es íntegro y si su pertinencia no es p=3, entonces se busca en la zona aún no recorrida otro sector íntegro del mismo identificador, y si se encuentra uno, se borra el que no es pertinente, procediendo como para la lectura; si al final de de este proceso, el sector es virgen, se incrementa el número n de sectores libres encontrados y se efectúa la extracción aleatoria de un entero de 0 a n-1; si este entero es 0, se memoriza la posición del sector virgen. Cuando se han recorrido todos los sectores, todos los sectores no vírgenes son íntegros, no existen dos sectores del mismo identificador, se conoce el número n de sectores vírgenes y se ha memorizado uno de ellos elegido aleatoriamente de manera equiprobable. Si no se ha encontrado ningún sector libre, se interrumpe el proceso de escritura.
- Se indicará ahora la manera en que la tarjeta puede gestionar unas sesiones de modificaciones indivisibles con dicha estructuración particular en sectores.
Para almacenar las modificaciones indivisibles,
la tarjeta dispone en la memoria no volátil de N sectores borrados
(correspondiendo N al número de modificaciones indivisibles que se
podrán efectuar en el curso de una misma sesión). Además, ésta
gestiona una zona de la memoria no volátil (fuera de sectores)
dedicada a la gestión de sesión y denominada "descriptor de
sesión".
Este ejemplo de implementación no comprende
ninguna autentificación propia de la sesión.
Se define un descriptor de sesión compuesto por
tres campos:
- -
- Lista de las referencias de los sectores indivisibles (LRSA).
- -
- Valor de control de creación de la lista de referencias de los sectores indivisibles (VCC).
- -
- Valor de control de consideración de la lista de las referencias de los sectores invisibles (VCPC) que permitirá saber si se ha cerrado o no una sesión.
Etapa 0: inicialización: antes del primer
acceso a los datos desde la última interrupción de funcionamiento
de la tarjeta, por ejemplo en el reset (puesta a cero), la
tarjeta debe procurar que el descriptor de sesión sea borrado.
Existen varios casos a considerar, según el estado del descriptor de
sesión:
- -
- Está borrado totalmente; la tarjeta lo deja en su estado.
- -
- No está borrado totalmente y el VCPC es correcto: la tarjeta busca y borra (si fuera necesario) todos los sectores que se han vuelto obsoletos por los escritos (de entre los referenciados en la lista) y después borra el descriptor de sesión.
- -
- No está borrado totalmente, el VCPC está borrado o es incorrecto y el VCC es correcto; la tarjeta borra los sectores indicados en la LRSA y después borra el descriptor de sesión.
- -
- No está borrado totalmente, el VCPC está borrado o es incorrecto y el VCC está borrado o es incorrecto: la tarjeta borra el descriptor de sesión.
Etapa 1: apertura de sesión: la tarjeta
busca N sectores borrados y después anota la lista de su referencia
y su VCC en el descriptor de sesión (supuestamente borrado).
Etapa 2: en curso de sesión: la tarjeta
recibe comandos. Cuando uno de ellos provoca una o varias
modificaciones invisibles, los sectores utilizados para anotar
estas modificaciones son los anotados en la LRSA, en competencia
con N sectores modificados.
\newpage
Etapa 3: cierre de sesión: para cerrar la
sesión, la tarjeta escribe el VCPC, lo que asegura que se han tenido
en cuenta la LRSA y su VCC. A continuación, busca y borra todos los
sectores que se han vuelto obsoletos por los escritos (de entre los
referenciados en la lista). Por último, borra el descriptor de
sesión.
Si, además, la tarjeta gestiona la ratificación,
la gestión de las sesiones comprende las modificaciones
siguientes.
Etapa 0: inicialización: en aquel caso en
el que el descriptor de sesión no está borrado totalmente y el VCPC
es correcto, la tarjeta busca y borra (si fuera necesario) todos los
sectores que se han vuelto obsoletos por los escritos (de entre los
referenciados en la lista), pero no borra el descriptor de
sesión.
Etapa 1: apertura de sesión: la tarjeta
anota en la memoria volátil que una sesión está abierta. Si el
descriptor de sesión no es virgen, la tarjeta señala que la sesión
anterior no se ha ratificado y puede incluso indicar, analizando la
LRSA, cuáles son los datos no ratificados. En cualquier caso, no
modifica el descriptor de sesión.
Etapa 2: en curso de sesión: durante el
primer comando con modificaciones indivisibles, la tarjeta borra el
descriptor de sesión si fuera necesario, busca N sectores borrados y
después escribe la LRSA y su VCC.
Etapa 3: cierre de sesión: la tarjeta
anota en la memoria volátil que no está abierta ninguna sesión. En
cualquier caso, no borra el descriptor de sesión.
Claims (14)
1. Procedimiento para modificar el contenido de
la memoria no volátil de una tarjeta con microcircuito, en
particular una tarjeta sin contacto,
procedimiento en el que la tarjeta se acopla
temporalmente a un terminal durante la ejecución de una transacción,
especialmente una transacción de telebillética,
comprendiendo dicha transacción la aplicación a
la tarjeta, por el terminal, de una pluralidad de comandos de
modificación,
comprendiendo cada uno de dichos comandos al
menos una operación de inscripción, en la memoria de la tarjeta, de
una información particular determinada de entre una pluralidad de
informaciones contenidas en la tarjeta en función de un índice o de
un identificador comunicado a la tarjeta por cada uno de dichos
comandos,
siendo mutuamente interdependientes las
diferentes informaciones así inscritas,
comprendiendo el procedimiento la ejecución, por
la tarjeta, de las etapas siguientes:
- a)
- a la recepción de comandos respectivos correspondientes recibidos del terminal, inscripción provisional, en la memoria de la tarjeta, de cada una de dichas informaciones interdependientes; y después
- b)
- finalización de estas modificaciones de modo que, para operaciones posteriores, los comandos ejecutados en la etapa a);
- i)
- sean todos ellos tenidos en cuenta o
- ii)
- carezcan todos de efecto,
procedimiento en el que:
- -
- dichos comandos son unos comandos de modificaciones del contenido de la memoria de la tarjeta,
- -
- en la etapa a), la inscripción en la memoria de la tarjeta de nuevos valores de dichas informaciones modifica el contenido de la memoria sin pérdida de los valores anteriores de estas informaciones, y
- -
- en la etapa b), las modificaciones finalizan de tal modo que, si todos los comandos ejecutados en la etapa a) carecen de efecto, entonces los datos contenidos en la memoria no volátil permanecerán en el estado en el que se encontraban antes de la ejecución de la etapa a).
2. Procedimiento según la reivindicación 1, en
el que:
- -
- en caso de confirmación en la etapa b), se inscribe en la memoria de la tarjeta un testigo de confirmación de buena ejecución, y
- -
- cuando la tarjeta recibe posteriormente un comando que implica la lectura y/o la modificación de al menos una de las informaciones inscritas en la etapa a) o del valor correspondiente a la misma, la tarjeta examina previamente el estado del testigo y, si éste no ha sido inscrito, la tarjeta ignora o anula las inscripciones provisionales realizadas anteriormente en la etapa a) y ejecuta el comando sobre la base de dichos valores anteriores correspondientes a las informaciones.
3. Procedimiento según la reivindicación 2, en
el que, cuando la tarjeta examina el estado del testigo, si éste ha
sido inscrito, la tarjeta ejecuta operaciones de recopia de las
escrituras provisionales realizadas en la etapa a).
4. Procedimiento según una de las
reivindicaciones 1 y 2, en el que la tarjeta es apta para funcionar
según dos modos, a saber:
- -
- un modo en sesión, en el que las inscripciones son realizadas por ejecución de las etapas a) y b), y
- -
- un modo fuera de sesión, en el que no se confirma la operación de las inscripciones en el conjunto de las etapas a) y b).
5. Procedimiento según una de las
reivindicaciones 1 a 4, que comprende una función de autentificación
combinada con la función de finalización de la etapa b), forzando
la invalidación en la etapa b) en el caso en que falle la
autentificación.
\newpage
6. Procedimiento según la reivindicación 5, en
el que dicha autentificación es realizada por la tarjeta que
autentifica el terminal y/o los datos intercambiados entre el
terminal y la tarjeta, controlando la tarjeta un certificado
criptográfico producido por el terminal y transmitido a la tarjeta y
confirmando las modificaciones en la etapa b) que únicamente si
este certificado es reconocido como correcto.
7. Procedimiento según las reivindicaciones 4 y
6 tomadas en combinación, en el que, cuando la tarjeta recibe del
terminal comandos de modificación del contenido de la memoria que
incluyen la verificación de un certificado criptográfico, esta
verificación es realizada si el comando es recibido fuera de sesión,
y no lo es si el comando es recibido en sesión.
8. Procedimiento según la reivindicación 5, en
el que dicha autentificación es realizada por el terminal que
autentifica la tarjeta y/o los datos intercambiados entre el
terminal y la tarjeta, produciendo la tarjeta y transmitiendo al
terminal un certificado criptográfico de manera condicional si, y
solamente si, las modificaciones han sido confirmadas en la etapa
b).
9. Procedimiento según las reivindicaciones 4 y
8 tomadas en combinación, en el que, cuando la tarjeta recibe del
terminal comandos de modificación del contenido de la memoria que
incluyen la producción de un certificado criptográfico, esta
producción es realizada si el comando es recibido fuera de sesión, y
no lo es si el comando es recibido en sesión.
10. Procedimiento según una de las
reivindicaciones 1 y 2, en el que, cuando la tarjeta recibe del
terminal, en la etapa b), comandos de modificación del contenido de
la memoria que incluyen la producción de una pluralidad de
certificados criptográficos, estos certificados son memorizados en
esta etapa b) y después son transmitidos juntos al terminal si, y
solamente si, las modificaciones han sido confirmadas en la etapa
b).
11. Procedimiento según una de las
reivindicaciones 1 y 4 tomadas en combinación, en el que al menos
ciertos comandos comprenden un atributo de inhibición y en el que,
si la tarjeta ejecuta dicho comando, las modificaciones realizadas
por este comando surten efecto independientemente del resultado de
la etapa b).
12. Procedimiento según una de las
reivindicaciones 1 y 2, en el que está prevista, además, después de
la etapa b) y en caso de confirmación de las modificaciones, la
secuencia de etapas siguiente:
- d)
- ejecución por el terminal de una acción como consecuencia de la confirmación por parte de la tarjeta;
- e)
- en caso de buena ejecución de dicha acción por el terminal, inscripción en la tarjeta de una información de ratificación accesible posteriormente en lectura.
13. Procedimiento según la reivindicación 12, en
el que el comando de inscripción de la etapa e) es un comando
implícito, interpretándose cualquier comando recibido por la tarjeta
después de la etapa b) como una orden de inscripción en la tarjeta
de una información de ratificación.
14. Procedimiento según la reivindicación 1, en
el que, después de la ejecución de al menos una de dichas
modificaciones de la etapa a) no seguida de una finalización por una
etapa b) consecutiva, está prevista, en caso de reinicialización
posterior de la tarjeta, una etapa preliminar que invalida todas las
modificaciones así ejecutadas, de modo que, para operaciones
posteriores, los comandos ejecutados en la etapa a) sean todos
ellos sin efecto.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR9804453 | 1998-04-09 | ||
| FR9804453A FR2777371B1 (fr) | 1998-04-09 | 1998-04-09 | Procede pour modifier de maniere indivisible une pluralite d'emplacements de la memoire non volatile d'une carte a microcircuit |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2283110T3 true ES2283110T3 (es) | 2007-10-16 |
Family
ID=9525063
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES99913381T Expired - Lifetime ES2283110T3 (es) | 1998-04-09 | 1999-04-09 | 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. |
Country Status (21)
| Country | Link |
|---|---|
| US (1) | US7370203B1 (es) |
| EP (1) | EP1070303B1 (es) |
| JP (2) | JP4708564B2 (es) |
| KR (1) | KR100562090B1 (es) |
| CN (1) | CN1180383C (es) |
| AR (1) | AR019035A1 (es) |
| AT (1) | ATE355574T1 (es) |
| AU (1) | AU759733B2 (es) |
| BR (1) | BR9910116A (es) |
| CA (1) | CA2324879C (es) |
| DE (1) | DE69935317T2 (es) |
| DK (1) | DK1070303T3 (es) |
| EA (1) | EA002994B1 (es) |
| ES (1) | ES2283110T3 (es) |
| FR (1) | FR2777371B1 (es) |
| IL (1) | IL138927A0 (es) |
| PT (1) | PT1070303E (es) |
| TR (1) | TR200002933T2 (es) |
| TW (1) | TW484063B (es) |
| UA (1) | UA65611C2 (es) |
| WO (1) | WO1999053451A1 (es) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1223565A1 (en) * | 2001-01-12 | 2002-07-17 | Motorola, Inc. | Transaction system, portable device, terminal and methods of transaction |
| JP3820999B2 (ja) * | 2002-01-25 | 2006-09-13 | ソニー株式会社 | 近接通信システム及び近接通信方法、データ管理装置及びデータ管理方法、記憶媒体、並びにコンピュータ・プログラム |
| US7357329B2 (en) | 2002-06-10 | 2008-04-15 | Ken Sakamura | IC card, terminal device, and data communication method |
| TWI856543B (zh) * | 2023-03-06 | 2024-09-21 | 達擎股份有限公司 | 電子裝置及啟動控制系統 |
Family Cites Families (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0754536B2 (ja) * | 1986-02-17 | 1995-06-07 | 株式会社日立製作所 | Icカ−ド利用システム |
| JPS63120391A (ja) * | 1986-11-10 | 1988-05-24 | Hitachi Ltd | Icカ−ド |
| GB8720332D0 (en) * | 1987-08-28 | 1987-10-07 | Mars Inc | Data carrying devices |
| US5453601A (en) * | 1991-11-15 | 1995-09-26 | Citibank, N.A. | Electronic-monetary system |
| US5557518A (en) * | 1994-04-28 | 1996-09-17 | Citibank, N.A. | Trusted agents for open electronic commerce |
| US7028187B1 (en) * | 1991-11-15 | 2006-04-11 | Citibank, N.A. | Electronic transaction apparatus for electronic commerce |
| FR2689662B1 (fr) * | 1992-04-01 | 1994-05-20 | Gemplus Card International | Procede de protection d'une carte a puce contre la perte d'information. |
| FR2701578B1 (fr) * | 1993-02-16 | 1995-03-31 | Gemplus Card Int | Procédé d'écriture dans une mémoire non volatile, notamment dans une carte à mémoire. |
| US5869825A (en) * | 1993-09-07 | 1999-02-09 | Ziarno; Witold A. | Method of processing monetary transaction data by batch off-loading of the data from a portable, hand-held electronic device, device and system therefor |
| US5799087A (en) * | 1994-04-28 | 1998-08-25 | Citibank, N.A. | Electronic-monetary system |
| US6868408B1 (en) * | 1994-04-28 | 2005-03-15 | Citibank, N.A. | Security systems and methods applicable to an electronic monetary system |
| US6088797A (en) * | 1994-04-28 | 2000-07-11 | Rosen; Sholom S. | Tamper-proof electronic processing device |
| US5539828A (en) * | 1994-05-31 | 1996-07-23 | Intel Corporation | Apparatus and method for providing secured communications |
| US5761309A (en) * | 1994-08-30 | 1998-06-02 | Kokusai Denshin Denwa Co., Ltd. | Authentication system |
| NL9401406A (nl) * | 1994-08-31 | 1996-04-01 | Nederland Ptt | Betaalsysteem met verbeterde integriteit. |
| DE4439266A1 (de) * | 1994-09-30 | 1996-04-11 | Siemens Ag | Datenübertragungssystem mit einem Terminal und einer tragbaren Datenträgeranordnung und Verfahren zum Wiederaufladen der tragbaren Datenträgeranordnung mittels des Terminals |
| FR2725537B1 (fr) * | 1994-10-11 | 1996-11-22 | Bull Cp8 | Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe |
| US5701343A (en) * | 1994-12-01 | 1997-12-23 | Nippon Telegraph & Telephone Corporation | Method and system for digital information protection |
| KR0160685B1 (ko) * | 1995-03-31 | 1998-12-15 | 김광호 | 칩인 카드에 의한 사용방지 기능을 가진 퍼스널 컴퓨터의 카드 리드/라이트 콘트롤러 |
| FR2733615B1 (fr) * | 1995-04-26 | 1997-06-06 | France Telecom | Carte a memoire et procede de mise en oeuvre d'une telle carte |
| NL1001376C2 (nl) * | 1995-05-11 | 1996-11-12 | Nederland Ptt | Werkwijze voor het uitvoeren van een elektronische betalingstransactie met een variabel aantal betalingseenheden, alsmede betaalmiddel en stelsel voor toepassing van de werkwijze. |
| JP3272213B2 (ja) * | 1995-10-02 | 2002-04-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Icカード及び情報処理装置の認証方法 |
| EP0795844A1 (en) * | 1996-03-11 | 1997-09-17 | Koninklijke KPN N.V. | Method of securely modifying data on a smart card |
| US5892902A (en) * | 1996-09-05 | 1999-04-06 | Clark; Paul C. | Intelligent token protected system with network authentication |
| EP0851396A1 (en) * | 1996-12-23 | 1998-07-01 | Koninklijke KPN N.V. | System for increasing a value of an electronic payment card |
| FR2757661B1 (fr) | 1996-12-24 | 1999-01-22 | Gemplus Card Int | Procede de transfert securise de donnees par un reseau de communication |
| GB2321741B (en) * | 1997-02-03 | 2000-10-04 | Certicom Corp | Data card verification system |
| FR2762118B1 (fr) * | 1997-04-11 | 1999-07-16 | Gemplus Card Int | Procedure securisee de controle de transfert d'unites de valeur dans un systeme de jeu a carte a puce |
| FR2764413B1 (fr) * | 1997-06-10 | 1999-07-09 | Sgs Thomson Microelectronics | Procede d'authentification de circuit integre |
| DE19757653C2 (de) * | 1997-12-15 | 2003-07-17 | Francotyp Postalia Ag | Verfahren und postalisches Gerät mit einer Chipkarten-Schreib/Leseeinheit zum Nachladen von Änderungsdaten per Chipkarte |
| US6216227B1 (en) * | 1998-06-29 | 2001-04-10 | Sun Microsystems, Inc. | Multi-venue ticketing using smart cards |
-
1998
- 1998-04-09 FR FR9804453A patent/FR2777371B1/fr not_active Expired - Lifetime
-
1999
- 1999-04-08 AR ARP990101610A patent/AR019035A1/es active IP Right Grant
- 1999-04-09 CN CNB998049115A patent/CN1180383C/zh not_active Expired - Lifetime
- 1999-04-09 ES ES99913381T patent/ES2283110T3/es not_active Expired - Lifetime
- 1999-04-09 DK DK99913381T patent/DK1070303T3/da active
- 1999-04-09 AU AU31523/99A patent/AU759733B2/en not_active Expired
- 1999-04-09 TR TR2000/02933T patent/TR200002933T2/xx unknown
- 1999-04-09 US US09/673,106 patent/US7370203B1/en not_active Expired - Lifetime
- 1999-04-09 PT PT99913381T patent/PT1070303E/pt unknown
- 1999-04-09 DE DE69935317T patent/DE69935317T2/de not_active Expired - Lifetime
- 1999-04-09 KR KR1020007011245A patent/KR100562090B1/ko not_active Expired - Lifetime
- 1999-04-09 JP JP2000543936A patent/JP4708564B2/ja not_active Expired - Lifetime
- 1999-04-09 BR BR9910116-5A patent/BR9910116A/pt not_active IP Right Cessation
- 1999-04-09 WO PCT/FR1999/000837 patent/WO1999053451A1/fr not_active Ceased
- 1999-04-09 IL IL13892799A patent/IL138927A0/xx not_active IP Right Cessation
- 1999-04-09 AT AT99913381T patent/ATE355574T1/de active
- 1999-04-09 CA CA002324879A patent/CA2324879C/fr not_active Expired - Lifetime
- 1999-04-09 EA EA200001048A patent/EA002994B1/ru not_active IP Right Cessation
- 1999-04-09 EP EP99913381A patent/EP1070303B1/fr not_active Expired - Lifetime
- 1999-04-13 TW TW088105596A patent/TW484063B/zh not_active IP Right Cessation
- 1999-09-04 UA UA2000116314A patent/UA65611C2/uk unknown
-
2010
- 2010-10-29 JP JP2010244609A patent/JP4838381B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| FR2777371B1 (fr) | 2001-10-26 |
| CN1180383C (zh) | 2004-12-15 |
| WO1999053451A1 (fr) | 1999-10-21 |
| CA2324879C (fr) | 2008-02-05 |
| JP4708564B2 (ja) | 2011-06-22 |
| JP4838381B2 (ja) | 2011-12-14 |
| AU3152399A (en) | 1999-11-01 |
| TW484063B (en) | 2002-04-21 |
| KR20010042577A (ko) | 2001-05-25 |
| TR200002933T2 (tr) | 2000-12-21 |
| KR100562090B1 (ko) | 2006-03-17 |
| DE69935317T2 (de) | 2007-10-31 |
| EA200001048A1 (ru) | 2001-06-25 |
| FR2777371A1 (fr) | 1999-10-15 |
| CN1296601A (zh) | 2001-05-23 |
| ATE355574T1 (de) | 2006-03-15 |
| JP2011070692A (ja) | 2011-04-07 |
| EA002994B1 (ru) | 2002-12-26 |
| EP1070303B1 (fr) | 2007-02-28 |
| DK1070303T3 (da) | 2007-06-25 |
| PT1070303E (pt) | 2007-06-05 |
| AR019035A1 (es) | 2001-12-26 |
| IL138927A0 (en) | 2001-11-25 |
| BR9910116A (pt) | 2000-12-26 |
| JP2002511623A (ja) | 2002-04-16 |
| UA65611C2 (uk) | 2004-04-15 |
| EP1070303A1 (fr) | 2001-01-24 |
| US7370203B1 (en) | 2008-05-06 |
| DE69935317D1 (de) | 2007-04-12 |
| AU759733B2 (en) | 2003-04-17 |
| CA2324879A1 (fr) | 1999-10-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4598857B2 (ja) | Icカード、およびそのアクセス制御方法 | |
| JP2007226839A (ja) | データ構造を記憶するメモリ及び方法 | |
| CA2311514A1 (en) | Secure memory having anti-wire tapping | |
| KR20000005081A (ko) | 명령을 스마트 카드에 안전하게 로딩하기 위한 방법 | |
| US7797553B2 (en) | Memory device | |
| 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. | |
| KR100838671B1 (ko) | 암호코드 대조기능을 갖는 휴대형 정보처리 장치 | |
| JPS62226351A (ja) | Icカ−ド | |
| JP3178881B2 (ja) | 携帯可能電子装置 | |
| US6662283B1 (en) | Secure memory management method | |
| RU2467390C2 (ru) | Способ и устройство для безопасного хранения и для безопасного считывания полезных данных | |
| JP4445718B2 (ja) | Icカード及びicカードプログラム | |
| KR100300794B1 (ko) | 칩카드에정보를입력하는방법 | |
| ES2206644T3 (es) | Procedimiento para la programacion segura de una tarjeta con microprocesador para una aplicacion adicional. | |
| Kose et al. | A Secure design on MIFARE Classic Cards for Ensuring Contactless Payment and Control Services | |
| JPH0682344B2 (ja) | Icカ−ド | |
| CN101971218A (zh) | 具有可修改操作程序的集成电路卡和相应的修改方法 | |
| JPH11272825A (ja) | アクセス管理方法及びその装置 | |
| JPS62200442A (ja) | Icカ−ド | |
| JPH09198318A (ja) | Icカード | |
| Kose et al. | ADVANCES IN CYBER-PHYSICAL SYSTEMS Vol. 7, Num. 1, 2022 A SECURE DESIGN ON MIFARE CLASSIC CARDS FOR ENSURING CONTACTLESS PAYMENT AND CONTROL SERVICES | |
| JPH07105335A (ja) | 情報カード | |
| JP2005148808A (ja) | Icカードおよびicカードの初期化方法 | |
| JPH05346977A (ja) | Icカード | |
| MXPA00009892A (es) | Procedimiento para modificar de manera indivisible multiples emplazamientos de la memoria no volatil de una tarjeta con microcircuitos, especialmente de una tarjeta sin contacto |