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 PDF

Info

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
Application number
ES99913381T
Other languages
English (en)
Inventor
Stephane Didier
Francois Grieu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INNOVATRON ELECTRONIQUE SA
Original Assignee
INNOVATRON ELECTRONIQUE SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=9525063&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2283110(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by INNOVATRON ELECTRONIQUE SA filed Critical INNOVATRON ELECTRONIQUE SA
Application granted granted Critical
Publication of ES2283110T3 publication Critical patent/ES2283110T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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/067Record 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/07Record 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment 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/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment 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/3672Payment 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment 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/3676Balancing accounts
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/401Transaction verification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0866Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means by active credit-cards adapted therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

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.
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.
Ejemplo 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).
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.
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.
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.
ES99913381T 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. Expired - Lifetime ES2283110T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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