ES2309569T3 - Acceso a elementos de datos en un soporte de datos portatil. - Google Patents

Acceso a elementos de datos en un soporte de datos portatil. Download PDF

Info

Publication number
ES2309569T3
ES2309569T3 ES04790180T ES04790180T ES2309569T3 ES 2309569 T3 ES2309569 T3 ES 2309569T3 ES 04790180 T ES04790180 T ES 04790180T ES 04790180 T ES04790180 T ES 04790180T ES 2309569 T3 ES2309569 T3 ES 2309569T3
Authority
ES
Spain
Prior art keywords
data
memory
entry
label
complementary
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
ES04790180T
Other languages
English (en)
Inventor
Oliver Gibis
Klemens Seemuller
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.)
Giesecke and Devrient GmbH
Original Assignee
Giesecke and Devrient GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Application granted granted Critical
Publication of ES2309569T3 publication Critical patent/ES2309569T3/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; CALCULATING OR 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; CALCULATING OR 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/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Calculators And Similar Devices (AREA)
  • Storage Device Security (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Abstract

Procedimiento para acceder a un elemento (24.x) de datos en un soporte (10) de datos portátil, que presenta un núcleo (12) de procesador, una memoria (18) de sólo lectura y una memoria (20) reescribible no volátil, y en el que - la memoria (18) de sólo lectura presenta al menos una tabla (26) básica con una pluralidad de entradas (30.x), de las que a cada una está asociada al menos una etiqueta (T) e indica una ubicación (L, A) de memoria de un elemento (24.x) de datos designado mediante esta etiqueta (T) en la memoria (20) reescribible no volátil, y - la memoria (20) reescribible no volátil presenta datos (28) complementarios con al menos una entrada (32.x), a la que está asociada al menos una etiqueta (T) y que indica informaciones (L, A, X) acerca de un elemento (24.x) de datos designado mediante esta etiqueta (T), con las etapas de: - obtener una etiqueta (T) del elemento (24.x) de datos, al que ha de accederse, - acceder al elemento (24.x) de datos según una entrada (32.x) asociada a la etiqueta (T) en los datos (28) complementarios que han de consultarse, siempre que se haya determinado la presencia de una entrada (32.x) de este tipo, y de lo contrario según una entrada (30.x) asociada a la etiqueta (T) en la tabla (26) básica.

Description

Acceso a elementos de datos en un soporte de datos portátil.
La invención se refiere en general a soportes de datos portátiles y, más especialmente, al acceso a elementos de datos que están almacenados en un soporte de datos portátil. Un soporte de datos portátil en el sentido del presente documento puede ser especialmente una tarjeta chip (smart card, tarjeta inteligente) en diferentes formas de construcción o un módulo chip o cualquier otro dispositivo de recursos limitados.
Las tarjetas chip y otros soportes de datos portátiles presentan habitualmente varias memorias configuradas en diferentes tecnologías, que están integradas en un único chip semiconductor del soporte de datos. Una memoria de sólo lectura puede estar configurada por ejemplo como memoria ROM (read-only memory, memoria de sólo lectura) programada por máscara. Una memoria reescribible no volátil está configurada la mayor parte de las veces en la actualidad como memoria EEPROM (electrically erasable programmable read-only memory - memoria de sólo lectura eléctricamente programable y borrable); sin embargo, también se han propuesto otras tecnologías, por ejemplo la memoria Flash-EEPROM o FRAM (ferroelectric random access memory - memoria de acceso aleatorio ferroeléctrica).
Debido a la considerable limitación de recursos en los soportes de datos portátiles, en general, debe prestarse atención a un aprovechamiento de la memoria con el mayor ahorro posible. Esto afecta especialmente a la memoria reescribible no volátil, que por cada célula de memoria requiere una superficie de chip considerablemente mayor que una célula de memoria de la memoria de sólo lectura. Por tanto es deseable ubicar la mayor información posible en la memoria de sólo lectura en lugar de en la memoria reescribible no volátil. Sin embargo, el contenido de la memoria de sólo lectura ya debe fijarse definitivamente en la fabricación del chip, mientras que la memoria reescribible no volátil sólo se escribe en la inicialización o personalización del soporte de datos por primera vez. Por motivos de flexibilidad es por tanto deseable utilizar en la mayor medida posible la memoria reescribible no volátil.
Evidentemente, de todos modos, la memoria de sólo lectura no puede utilizarse para elementos de datos que se fijan individualmente para el soporte de datos individual. Sin embargo, también en este caso se producen los problemas recién mencionados con respecto a informaciones de gestión, que son necesarias para el acceso a tales elementos de datos. Tales informaciones de gestión pueden comprender por ejemplo una etiqueta (tag), que sirve como un nombre para la identificación del elemento de datos. Además, las informaciones de gestión pueden indicar la ubicación de memoria del elemento de datos, por ejemplo mediante una dirección inicial y una longitud de la zona de memoria ocupada por el elemento de datos.
La organización con ahorro de espacio de memoria y simultáneamente flexible de informaciones de gestión es especialmente importante en tarjetas chip que contienen varios programas de aplicación diferentes, aunque relacionados. Estos pueden ser por ejemplo programas de aplicación para la implementación de una funcionalidad de tarjeta de crédito para diferentes firmas de tarjeta de crédito. Los soportes de datos adecuados para tales fines de uso pueden corresponder por ejemplo a la especificación EMV 2000 Integrated Circuit Card Specification for Payment Systems, versión 4.0, diciembre de 2000, que publicó EMVCo, LLC, Purchase, New York, USA, y está disponible en Internet en http://www.emvco.com.
En el caso de tarjetas con varios programas de aplicación similares, aunque no idénticos, debido a las diferencias existentes para cada programa de aplicación deben existir informaciones de gestión propias. Por otro lado, sería deseable aprovechar lo que los programas de aplicación tienen en común, para ahorrar espacio de memoria con una flexibilidad lo mayor posible.
La patente estadounidense número 6.216.014 da a conocer un SIM (subscriber identity module - módulo de identificación de abonado) para un sistema de comunicación móvil, que presenta elementos de datos para varios programas de aplicación. El SIM gestiona varios conjuntos de control de acceso de modo que los programas de aplicación tienen diferentes derechos para acceder a los elementos de datos.
La patente estadounidense número 6.296.191 muestra un soporte de datos portátil, que está previsto para almacenar datos para varios programas de aplicación externos. A los elementos de datos están asociadas diferentes propiedades de seguridad y condiciones de acceso. El soporte de datos presenta varias zonas de memoria independientes de los programas de aplicación respectivos, en las que se almacenan elementos de datos con las mismas condiciones de acceso.
La patente estadounidense número 6.338.435 da a conocer un sistema de correcciones (patch) para tarjetas chip, que parte de una tarjeta chip, en cuya memoria de sólo lectura se encuentra un archivo de gestión que especialmente puede ser una tabla de vectores con direcciones iniciales de los programas depositados en la memoria de sólo lectura. En una memoria de escritura/lectura se crea además un indicador de archivo, que al principio remite al archivo de gestión en la memoria de sólo lectura. Al introducir una corrección en la tarjeta chip se crea en la memoria de escritura/lectura un nuevo archivo de gestión, que básicamente corresponde al archivo de gestión existente en la memoria de sólo lectura, aunque a diferencia de éste contiene entradas a elementos de programa introducidos mediante la corrección. Al mismo tiempo, con la creación del nuevo archivo de gestión, el indicador de archivo se ajusta al mismo. La solución conocida permite una introducción flexible en cualquier momento de correcciones en una tarjeta chip. La solución no prevé sin embargo medidas para un manejo ahorrativo con el espacio de memoria existente.
La invención tiene el objetivo de solucionar completa o parcialmente los problemas mencionados anteriormente y proporcionar una técnica para acceder a elementos de datos en un soporte de datos portátil, que con una flexibilidad elevada sea lo más eficaz posible con respecto a la memoria. En configuraciones preferidas este objetivo se alcanzará especialmente para soportes de datos que presentan varios programas de aplicación diferentes.
Según la invención, este objetivo se alcanza completa o parcialmente mediante un procedimiento para acceder a elementos de datos según la reivindicación 1, un producto de programa informático según la reivindicación 10 y un soporte de datos portátil según la reivindicación 12. Las reivindicaciones dependientes se refieren a formas de realización preferidas de la invención.
La invención se basa en la idea principal de almacenar informaciones de gestión, que se refieren a los elementos de datos almacenados en el soporte de datos, en parte en al menos una tabla básica en la memoria de sólo lectura y en parte como datos complementarios en la memoria reescribible no volátil. Cuando para una etiqueta predeterminada en los datos complementarios que han de consultarse existe una entrada asociada a la etiqueta, se accede al elemento de datos según esta entrada. En caso de no existir una entrada de este tipo, entonces se accede al elemento de datos según una entrada asociada a la etiqueta en la tabla básica. Por tanto, resumiendo, una entrada existente eventualmente en los datos complementarios que han de consultarse tiene "preferencia" sobre una entrada correspondiente en la tabla básica.
La invención combina de manera ventajosa flexibilidad y un buen aprovechamiento de la superficie de tarjeta. Por un lado, una parte potencialmente considerable de las informaciones de gestión necesarias, concretamente la tabla básica, se crea en la memoria de sólo lectura que sólo requiere poca superficie de chip. Por otro lado, pueden "reescribirse" las informaciones indicadas en la tabla básica, escribiéndose, por ejemplo en la inicialización o personalización o durante el funcionamiento del soporte de datos, entradas que están asociadas a la etiqueta correspondiente, como datos complementarios en la memoria reescribible no volátil.
El principio básico de la "preferencia" de las entradas de los datos complementarios sobre las entradas en la tabla básica puede implementarse con acceso a la memoria en orden diferente. Así, en algunas formas de realización puede estar previsto examinar en primer lugar los datos complementarios que han de aplicarse. Si a este respecto ya se encuentra una entrada correspondiente a la etiqueta, ya no se requiere un acceso a la tabla básica. Por el contrario, en otras configuraciones puede examinarse en primer lugar la tabla básica. La ubicación de memoria encontrada en la misma para el elemento de datos asociado a la etiqueta y, dado el caso, otras informaciones de gestión, se reescribe/n en caso de que en una etapa adicional se encuentre una entrada asociada a la etiqueta en los datos complementarios.
En algunas configuraciones puede estar previsto que, para cada entrada en los datos complementarios, deba estar prevista una entrada correspondiente en la tabla básica. Sin embargo, en otras configuraciones no existe esta limitación.
Según la invención, las entradas en la tabla básica y en los datos complementarios están asociadas en cada caso a una etiqueta (tag). Con respecto a la tabla básica esto significa, por norma general, que cada entrada contiene la etiqueta en cuestión, y que en la búsqueda de una entrada se produce una comparación de la etiqueta contenida en esta entrada con una etiqueta predeterminada. Con respecto a los datos complementarios, en configuraciones preferidas también existe una asociación directa entre entradas y etiquetas, tal como acaba de describirse para la tabla básica. Sin embargo también son posibles otras configuraciones, en las que las entradas de los datos complementarios están asociadas a las etiquetas respectivas sólo indirectamente. Por ejemplo cada entrada de la tabla básica puede contener un identificador, que a su vez sirva para encontrar una entrada correspondiente en los datos complementarios. Aunque en este caso la entrada encontrada en los datos complementarios no contenga la etiqueta directamente, aún así se considera asociada a la etiqueta.
Según la invención, las entradas en la tabla básica indican en cada caso una ubicación de memoria en la memoria reescribible no volátil para los elementos de datos respectivos. En configuraciones preferidas esto también se aplica a las entradas en los datos complementarios. La tabla básica y los datos complementarios contienen entonces exclusivamente informaciones de gestión, y los verdaderos elementos de datos están creados por separado, preferiblemente en la memoria reescribible no volátil. Sin embargo también son posibles formas de realización, en las que los datos complementarios al menos para algunas entradas no sólo indican una ubicación de memoria, sino que ellos mismos contienen el elemento de datos en cuestión. En tales configuraciones es especialmente ventajoso implementar los datos complementarios como lista encadenada con entradas de diferente longitud.
En configuraciones preferidas, los datos complementarios están subdivididos en zonas. En función de condiciones predeterminadas, por ejemplo de la identidad del usuario o una etapa de autorización o un programa de aplicación recién ejecutado, entonces, al acceder a un elemento de datos sólo se consultan los datos complementarios en una o algunas de las zonas de datos complementarios existentes, mientras que se ignoran otros datos complementarios.
Especialmente ventajoso es el uso de la invención en el caso de soportes de datos portátiles que están configurados para ejecutar varios programas de aplicación. Los programas de aplicación de tales soportes de datos requieren en muchos casos elementos de datos del mismo tipo, aunque en cualquier caso en parte idénticos. Entonces es posible un ahorro de espacio de memoria considerable, utilizándose una única tabla básica para todos los programas de aplicación. Esta tabla básica contiene preferiblemente ajustes previos para uno de los programas de aplicación. Las desviaciones de estos ajustes previos se definen por los datos complementarios. A este respecto, a cada programa de aplicación adicional puede estar asociado un conjunto de datos complementarios propio o una zona específica de los datos complementarios. Al acceder a un elemento de datos para cada programa de aplicación se consulta entonces preferiblemente sólo el conjunto de datos complementarios correspondiente o la zona de datos complementarios correspondiente en cada caso. Para aumentar la flexibilidad también para el programa de aplicación para el que está prevista la tabla básica, en algunas formas de realización también para este programa de aplicación puede estar creada una zona de datos complementarios en la memoria reescribible no volátil.
Especialmente ventajosas son configuraciones, en las que algunas entradas de los datos complementarios indican además informaciones adicionales. Tales informaciones pueden ser por ejemplo indicaciones respecto a derechos de acceso al elemento de datos respectivo. El almacenamiento de informaciones adicionales en los datos complementarios es especialmente ventajoso cuando las informaciones adicionales sólo se requieren para relativamente pocos elementos de datos. Entonces pueden eliminarse las columnas, de lo contrario necesarias para estas informaciones, en la tabla básica. Si por ejemplo está establecido un atributo "autorizado el acceso externo al elemento de datos" sólo para pocos elementos de datos, como resultado puede ahorrarse espacio de memoria, no ejecutando este atributo en las entradas de la tabla básica y, en su lugar, para los pocos elementos de datos a los que debe ser posible un acceso externo, recibiendo una entrada correspondiente en los datos complementarios. Una configuración de este tipo es especialmente ventajosa cuando las entradas en los datos complementarios sólo contienen los campos de datos que van a modificarse o complementarse.
El producto de programa informático según la invención presenta informaciones, que definen al menos una tabla básica así como los datos complementarios. En configuraciones preferidas, el producto de programa informático contiene además instrucciones de programa, para implementar el procedimiento de acceso según la invención. Un producto de programa informático de este tipo puede ser un medio físico, por ejemplo una memoria semiconductora o un disquete o un CD-ROM. El producto de programa informático puede ser sin embargo un medio no físico, por ejemplo una señal transmitida a través de una red informática. El producto de programa informático puede utilizarse especialmente en la inicialización o personalización o durante el funcionamiento del soporte de datos portátil.
El soporte de datos según la invención contiene al menos una tabla básica así como datos complementarios. En configuraciones preferidas el soporte de datos está configurado además para la realización de un procedimiento de acceso según la invención.
En configuraciones preferidas el soporte de datos y/o el producto de programa informático presenta/n características que corresponden a las recién descritas y/o a las mencionadas en las reivindicaciones dependientes de procedimiento.
Características, ventajas y objetivos adicionales de la invención se deducen a partir de la siguiente descripción más precisa de varios ejemplos de realización y alternativas de realización. Se hace referencia a los dibujos esquemáticos, en los que:
la figura 1 muestra un diagrama de bloques con unidades funcionales de un soporte de datos portátil según un ejemplo de realización de la invención,
la figura 2, un diagrama de flujo de un primer ejemplo de realización de un procedimiento según la invención, y
la figura 3, un diagrama de flujo de un segundo ejemplo de realización de un procedimiento según la invención.
El soporte 10 de datos mostrado en la figura 1 está configurado en el presente ejemplo de realización como tarjeta chip según la especificación EMV-2000 ya mencionada. El soporte 10 de datos presenta en un único chip semiconductor un núcleo 12 de procesador y un circuito 14 de interfaces para la comunicación sin contacto o con contacto. El soporte de datos contiene además varias memorias configuradas en diferentes tecnologías, concretamente una memoria 16 interna, una memoria 18 de sólo lectura y una memoria 20 reescribible no volátil. La memoria 16 interna está configurada como memoria RAM, la memoria 18 de sólo lectura como memoria ROM programada por máscara y la memoria reescribible no volátil como memoria EEPROM eléctricamente programable y borrable.
De una manera conocida en sí misma, el soporte 10 de datos presenta un sistema operativo (no mostrado en la figura 1), que principalmente se encuentra en la memoria 18 de sólo lectura y en parte también en la memoria 20 reescribible no volátil. Bajo el control del sistema operativo, el soporte 10 de datos puede ejecutar varios programas 22.1, 22.2 de aplicación, que a continuación, de manera abreviada, se designarán con 22.x. En el presente ejemplo de realización, los programas 22.x de aplicación proporcionan una funcionalidad de tarjeta de crédito para diferentes firmas de tarjeta de crédito. Si bien las funciones ejecutadas por los programas 22.x de aplicación son similares, sin embargo en detalle sí son diferentes.
Los programas 22.x de aplicación acceden a una pluralidad de elementos de datos, que están contenidos en la memoria 20 reescribible no volátil. En la figura 1 se muestran a modo de ejemplo los elementos 24.1, 24.2, 24.3, 24.4 de datos, que a continuación, también de manera abreviada, se designarán con 24.x. El elemento 24.1 de datos puede ser, por ejemplo, el nombre del propietario del soporte 10 de datos, el elemento 24.2 de datos, por ejemplo, la cantidad máxima que el primer programa 22.1 de aplicación va a utilizar para un pago con tarjeta de crédito, el elemento 24.3 de datos, por ejemplo, la cantidad máxima que el segundo programa 22.2 de aplicación va a utilizar para un pago con tarjeta de crédito y el elemento 24.4 de datos, por ejemplo, un contador de operaciones erróneas del primer programa 22.1 de aplicación. Los elementos 24.x de datos se encuentran en un sistema de archivo conocido en sí mismo, que por motivos de mayor claridad no se muestra en la figura 1.
Como informaciones de gestión para el acceso a los elementos 24.x de datos, el soporte 10 de datos presenta una tabla 26 básica en la memoria 18 de sólo lectura y datos 28 complementarios en la memoria 20 reescribible no volátil. La tabla 26 básica contiene una pluralidad de entradas 30.1, 30.2, 30.3, ..., que a continuación, de manera abreviada, se designan con 30.x. Cada entrada 30.x de la tabla 26 básica contiene una etiqueta T (tag) de la entrada 30.x así como una indicación de la ubicación de memoria del elemento 24.x de datos, al que se refiere la entrada 30.x. La indicación de la ubicación de memoria contiene, en el ejemplo de realización descrito en este caso, la longitud L y la dirección A inicial del elemento 24.x de datos respectivo en la memoria 20 reescribible no volátil.
Los datos 28 complementarios, en el presente ejemplo de realización, también están organizados como tabla con una pluralidad de entradas 32.1, 32.2, ..., 32.N, ..., que a continuación, de manera abreviada, se designan con 32.x. Sin embargo, en alternativas de realización, los datos 28 complementarios también pueden estar dispuestos en otras estructuras de datos, por ejemplo como lista encadenada de las entradas 32.x; en especial también es posible una disposición en conjuntos de datos cerrados individuales, que en cada caso están asociados a un programa 22.x de aplicación. Además de campos para una etiqueta T, una indicación L de longitud y una dirección A inicial, cada entrada 32.x presenta informaciones X adicionales, cuya función se explica en este caso a modo de ejemplo mediante un atributo "posible el acceso externo al elemento de datos". En alternativas de realización, las entradas 32.x pueden tener otra estructura. Las entradas 32.x pueden ser variables especialmente con respecto a los campos de datos contenidos en las mismas, de modo que por ejemplo cada entrada 32.x puede presentar un número y selección diferente de campos de datos.
Los datos 28 complementarios están divididos en varias zonas 34.1, 34.2, que en cada caso están asociadas a uno de los programas 22.1, 22.2 de aplicación; la división puede realizarse mediante la disposición de las zonas 34.x en conjuntos de datos individuales. De manera correspondiente, por ejemplo, en el caso de un acceso solicitado por el segundo programa 22.2 de aplicación a un elemento 24.x de datos sólo se evalúa la segunda zona 34.2 de los datos 28 complementarios, mientras que se ignoran las entradas en la primera zona 34.1.
El principio básico de la técnica descrita en el presente documento para acceder a los elementos 24.x de datos consiste en que entradas 32.x eventualmente existentes en la zona 34.x de los datos 28 complementarios que han de consultarse tienen preferencia sobre las entradas 30.x correspondientes en la tabla 26 básica. Si por ejemplo el segundo programa 22.2 de aplicación quiere acceder a la cantidad máxima con la etiqueta "BF", se produce este acceso al elemento 24.3 de datos, porque la zona 34.2 de los datos 28 complementarios que han de consultarse para el segundo programa 22.2 de aplicación contiene la entrada 32.N con la etiqueta "BF" y la ubicación de memoria del elemento 24.3 de datos. La entrada 30.3 contenida en la tabla 26 básica con la etiqueta "BF" no se considera en este caso.
Si por el contrario en la zona 34.x de los datos 28 complementarios que han de consultarse no existe ninguna entrada 32.x con la etiqueta deseada, entonces se utiliza la entrada 30.x correspondiente de la tabla 26 básica. Esto se produce por ejemplo en caso de un acceso del primer programa 22.1 de aplicación a la cantidad máxima designada con la etiqueta "BF"; en este caso se produce el acceso, como se indica en la entrada 30.3 de la tabla básica, al elemento 24.2 de datos.
Si para una etiqueta predeterminada no existe ninguna entrada en los datos 28 complementarios, entonces todos los programas 22.x de aplicación acceden a la misma ubicación de memoria en la memoria 20 reescribible no volátil. Así, por ejemplo, el acceso se produce para la etiqueta "A0" para todos los programas 22.x de aplicación según la entrada 30.2 en la tabla 26 básica al elemento 24.1 de datos.
La figura 1 muestra además que las entradas 32.x de los datos 28 complementarios también pueden utilizarse para indicar informaciones X adicionales para los elementos 24.x de datos. Así, por ejemplo, mediante la entrada 32.1 de los datos 28 complementarios, el elemento 24.4 de datos, siempre que esté implicado el primer programa 22.1 de aplicación, se declara como elemento de datos que puede leerse desde el exterior. La ubicación de memoria del elemento 24.4 de datos indicada en la entrada 32.1 no se diferencia en el presente ejemplo de la ubicación de memoria en la entrada 30.1 correspondiente de la tabla 26 básica.
El ejemplo de realización mostrado en la figura 2 de un procedimiento de acceso se realiza por una rutina del sistema operativo del soporte 10 de datos. El procedimiento se inicia cuando un programa de aplicación llama a esta rutina de sistema operativo indicando la etiqueta T deseada. En la etapa 40 se proporciona en primer lugar una memoria intermedia con una estructura predefinida. En el ejemplo de realización sencillo de la figura 1, esta estructura contiene sólo en cada caso un campo de dirección inicial y longitud, mientras que en configuraciones más complejas puede presentar otros campos de información, que dado el caso también pueden estar contenidos como columnas adicionales en la tabla 26 básica.
En la etapa 42 se busca la entrada 30.x correspondiente a la etiqueta T en la tabla 26 básica. La memoria intermedia proporcionada en la etapa 40 se llena en la etapa 44 con la ubicación de memoria contenida en la entrada 30.x, y dado el caso, informaciones adicionales.
En la etapa 46 se determina, si en la zona 34.x de los datos 28 complementarios que han de consultarse para el programa 22.x de aplicación que llama está contenida una entrada 32.x para la etiqueta T. Si éste no es el caso, entonces, en la etapa 48, se produce un acceso al elemento 24.x de datos deseado según la entrada 30.x de la tabla 26 básica. Sin embargo, si en la etapa 46, se encuentra una entrada 32.x correspondiente en los datos 28 complementarios que han de consultarse, entonces se reescribe el contenido de la memoria intermedia en la etapa 50 con las informaciones de esta entrada 32.x. Según la configuración de las entradas 32.x en los datos 28 complementarios, a este respecto, pueden reescribirse todos los campos de datos de la memoria intermedia o sólo algunos campos de datos. Utilizando las informaciones contenidas ahora en la memoria intermedia, entonces, en la etapa 48 se accede al elemento 24.x de datos correspondiente.
La figura 3 muestra una alternativa de realización del procedimiento de acceso, en la que en la etapa 60 se examina en primer lugar la zona 34.x de los datos 28 complementarios que han de consultarse con respecto a una entrada 32.x con la etiqueta T deseada. En caso de encontrarse una entrada coincidente, entonces, en la etapa 62, se produce directamente el acceso al elemento 24.x de datos indicado en la entrada 32.x. En caso contrario, en la etapa 64 se examina la tabla 26 básica con respecto a una entrada 30.x con la etiqueta T deseada. El acceso en la etapa 62 al elemento 24.x de datos se produce entonces según la ubicación de memoria indicada en la entrada 30.x de la tabla 26 básica.
El procedimiento según la figura 3 es especialmente adecuado cuando las entradas 32.x de los datos 28 complementarios siempre presentan todos los campos de datos de la tabla 26 básica, o incluso campos de datos adicionales. En configuraciones en las que las entradas 32.x de los datos 28 complementarios sólo reescriben campos de datos individuales de las entradas 30.x en la tabla 26 básica, por norma general, el procedimiento según la figura 2 es más ventajoso.

Claims (12)

1. Procedimiento para acceder a un elemento (24.x) de datos en un soporte (10) de datos portátil, que presenta un núcleo (12) de procesador, una memoria (18) de sólo lectura y una memoria (20) reescribible no volátil, y en el que
-
la memoria (18) de sólo lectura presenta al menos una tabla (26) básica con una pluralidad de entradas (30.x), de las que a cada una está asociada al menos una etiqueta (T) e indica una ubicación (L, A) de memoria de un elemento (24.x) de datos designado mediante esta etiqueta (T) en la memoria (20) reescribible no volátil, y
-
la memoria (20) reescribible no volátil presenta datos (28) complementarios con al menos una entrada (32.x), a la que está asociada al menos una etiqueta (T) y que indica informaciones (L, A, X) acerca de un elemento (24.x) de datos designado mediante esta etiqueta (T),
con las etapas de:
-
obtener una etiqueta (T) del elemento (24.x) de datos, al que ha de accederse,
-
acceder al elemento (24.x) de datos según una entrada (32.x) asociada a la etiqueta (T) en los datos (28) complementarios que han de consultarse, siempre que se haya determinado la presencia de una entrada (32.x) de este tipo, y de lo contrario según una entrada (30.x) asociada a la etiqueta (T) en la tabla (26) básica.
2. Procedimiento según la reivindicación 1, caracterizado porque el soporte (10) de datos portátil está configurado para ejecutar varios programas (22.x) de aplicación, estando prevista para todos los programas (22.x) de aplicación una única tabla (26) básica y, además, para al menos uno de los programas (22.x) de aplicación al menos una zona (34.x) de los datos (28) complementarios específica para este programa (22.x) de aplicación.
3. Procedimiento según la reivindicación 2, caracterizado porque los programas (22.x) de aplicación acceden a elementos (24.x) de datos del mismo tipo, o bien en cualquier caso en parte idénticos.
4. Procedimiento según la reivindicación 2 o la reivindicación 3, caracterizado porque la tabla (26) básica contiene ajustes previos para uno de los programas (22.x) de aplicación, y porque para cada programa (22.x) de aplicación adicional está prevista en cada caso una zona (34.x) de los datos (28) complementarios con entradas (32.x) para elementos (24.x) de datos, que difieren de estos ajustes previos.
5. Procedimiento según una de las reivindicaciones 1 a 4, caracterizado porque las informaciones (L, A, X) almacenadas en cada entrada (32.x) de los datos (28) complementarios acerca del elemento (24.x) de datos designado mediante la etiqueta (T) indican una ubicación (L, A) de memoria en la memoria (20) reescribible no volátil para el elemento (24.x) de datos.
6. Procedimiento según la reivindicación 5, caracterizado porque se realizan las etapas siguientes:
-
buscar la entrada (30.x) asociada a la etiqueta (T) en la tabla (26) básica,
-
almacenar en memoria intermedia la ubicación (L, A) de memoria indicada en esta entrada (30.x),
-
en caso de existir una entrada (32.x) asociada a la etiqueta (T) en los datos (28) complementarios que han de consultarse, entonces sustituir la ubicación (L, A) de memoria almacenada en memoria intermedia por la ubicación (L, A) de memoria indicada en esta entrada (32.x), y
-
acceder al elemento (24.x) de datos en la ubicación (L, A) de memoria.
7. Procedimiento según una de las reivindicaciones 1 a 5, caracterizado porque se realizan las etapas siguientes:
-
determinar si está contenida una entrada (32.x) asociada a la etiqueta (T) en los datos (28) complementarios que han de consultarse,
-
si éste es el caso, acceder luego al elemento (24.x) de datos según esta entrada (32.x),
-
en caso contrario, buscar la entrada (30.x) asociada a la etiqueta (T) en la tabla (26) básica y acceder al elemento (24.x) de datos en la ubicación (L, A) de memoria indicada en la entrada (30.x) en la tabla (26) básica.
8. Procedimiento según una de las reivindicaciones 1 a 7, caracterizado porque al menos algunas entradas (32.x) de los datos (28) complementarios indican además informaciones (X) adicionales.
9. Procedimiento según una de las reivindicaciones 1 a 8, caracterizado porque la memoria (18) de sólo lectura es una memoria ROM y/o porque la memoria (20) reescribible no volátil es una memoria EEPROM.
10. Producto de programa informático, que contiene datos para la definición de al menos una tabla (26) básica y para la definición de datos (28) complementarios, estando previstos al menos una tabla (26) básica y los datos (28) complementarios para su uso en un procedimiento según una de las reivindicaciones 1 a 9.
11. Producto de programa informático según la reivindicación 10, caracterizado porque el producto de programa informático presenta además instrucciones de programa, que hacen que un núcleo (12) de procesador de un soporte (10) de datos portátil realice un procedimiento según una de las reivindicaciones 1 a 9.
12. Soporte (10) de datos portátil, especialmente tarjeta chip o módulo chip, que presenta un núcleo (12) de procesador, una memoria (18) de sólo lectura y una memoria (20) reescribible no volátil, presentando la memoria (18) de sólo lectura al menos una tabla (26) básica con una pluralidad de entradas (30.x), de las que cada una está asociada a al menos a una etiqueta (T) e indica una ubicación (L, A) de memoria de un elemento (24.x) de datos designado mediante esta etiqueta (T) en la memoria (20) reescribible no volátil, y presentando la memoria (20) reescribible no volátil datos (28) complementarios con al menos una entrada (32.x), que está asociada a al menos una etiqueta (T) y que indica informaciones (L, A, X) acerca de un elemento (24.x) de datos designado mediante esta etiqueta (T), caracterizado porque el soporte (10) de datos está configurado para realizar un procedimiento según una de las reivindicaciones
1 a 9.
ES04790180T 2003-10-10 2004-10-07 Acceso a elementos de datos en un soporte de datos portatil. Expired - Lifetime ES2309569T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10347828 2003-10-10
DE10347828A DE10347828A1 (de) 2003-10-10 2003-10-10 Zugreifen auf Datenelemente in einem tragbaren Datenträger

Publications (1)

Publication Number Publication Date
ES2309569T3 true ES2309569T3 (es) 2008-12-16

Family

ID=34428416

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04790180T Expired - Lifetime ES2309569T3 (es) 2003-10-10 2004-10-07 Acceso a elementos de datos en un soporte de datos portatil.

Country Status (5)

Country Link
EP (1) EP1673743B1 (es)
AT (1) ATE399356T1 (es)
DE (2) DE10347828A1 (es)
ES (1) ES2309569T3 (es)
WO (1) WO2005036486A1 (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006021382B4 (de) * 2006-05-08 2015-08-20 Giesecke & Devrient Gmbh Personalisierung von portablen Datenträgern

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4610000A (en) * 1984-10-23 1986-09-02 Thomson Components-Mostek Corporation ROM/RAM/ROM patch memory circuit
US4905200A (en) * 1988-08-29 1990-02-27 Ford Motor Company Apparatus and method for correcting microcomputer software errors
FR2667417B1 (fr) * 1990-10-02 1992-11-27 Gemplus Card Int Carte a microprocesseur concue pour recevoir des programmes multiples en memoire programmable.
WO1992008231A1 (en) * 1990-11-02 1992-05-14 Transcomputer, Inc. Rom patch device
US6338435B1 (en) * 1999-01-15 2002-01-15 Todd Carper Smart card patch manager
US6292874B1 (en) * 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
DE10127179A1 (de) * 2001-06-05 2002-12-19 Infineon Technologies Ag Verfahren zur Verwaltung eines Speichers einer Chipkarte

Also Published As

Publication number Publication date
EP1673743A1 (de) 2006-06-28
WO2005036486A1 (de) 2005-04-21
ATE399356T1 (de) 2008-07-15
DE10347828A1 (de) 2005-05-25
EP1673743B1 (de) 2008-06-25
DE502004007453D1 (de) 2008-08-07

Similar Documents

Publication Publication Date Title
CN104750616B (zh) 数据储存装置以及快闪存储器控制方法
KR100417502B1 (ko) 휴대용 데이터 처리 장치를 포함한 데이터 교환 시스템
US8417902B2 (en) One-time-programmable memory emulation
JP3878134B2 (ja) データキャリアのためのマイクロプロセッサ回路、および、メモリ内に格納されたデータへのアクセスを組織化するための方法
US6453397B1 (en) Single chip microcomputer internally including a flash memory
GB2513727A (en) Memory protection
CN100390817C (zh) 动态逻辑分区并控制访问权限的ic智能卡及其实现方法
US7409251B2 (en) Method and system for writing NV memories in a controller architecture, corresponding computer program product and computer-readable storage medium
BRPI1014557B1 (pt) Método para personalização de um dispositivo eletrônico, método de processamento de dados associado e dispositivo.
US20060206704A1 (en) Data transmission system and method for operating a data transmission system
PT880737E (pt) Metodo para modificar o conjunto de instrucoes de um cartao inteligente
ES2778697T3 (es) Servidor de seguridad de soporte lógico
ES2331115T3 (es) Procedimiento y dispositivo de control de acceso en un sistema integrado.
KR20030092264A (ko) 강화된 보안 기능을 갖춘 스마트 카드 및 그것의 보안정보 보호 방법
US5978915A (en) Device for the protection of the access to memory words
JP3771904B2 (ja) 補助レジスタバンクを有するマイクロプロセッサ回路
ES2309569T3 (es) Acceso a elementos de datos en un soporte de datos portatil.
GB2356469A (en) Portable data carrier memory management system and method
ES2216947T3 (es) Transportador de datos portatil y procedimiento de utilizacion del mismo en una serie de aplicaciones.
CN103699434B (zh) 一种适用于多应用之间安全访问的mpu及其多应用之间安全访问的方法
US20070118680A1 (en) Method to control the access in a flash memory and system for the implementation of such a method
EP1456730B1 (en) Method and system for module chaining control in a modular software architecture
CN202838386U (zh) 一种具有医院通用就诊功能的智能银行卡
US20060101210A1 (en) Register-based memory command architecture
EP2176766A2 (en) Mobile communication device and method for defragging mifare memory