ES2223541T3 - Metodo para hacer funcionar un elemento portador de datos configurado para ejecutar programas de funcion recargables. - Google Patents

Metodo para hacer funcionar un elemento portador de datos configurado para ejecutar programas de funcion recargables.

Info

Publication number
ES2223541T3
ES2223541T3 ES00943867T ES00943867T ES2223541T3 ES 2223541 T3 ES2223541 T3 ES 2223541T3 ES 00943867 T ES00943867 T ES 00943867T ES 00943867 T ES00943867 T ES 00943867T ES 2223541 T3 ES2223541 T3 ES 2223541T3
Authority
ES
Spain
Prior art keywords
application
program
memory device
function
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
ES00943867T
Other languages
English (en)
Inventor
Alexander Kolbeck
Thomas Stocker
Thomas Frey
Dieter Weiss
Martin Merck
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 ES2223541T3 publication Critical patent/ES2223541T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrotherapy Devices (AREA)
  • Communication Control (AREA)

Abstract

Método para hacer funcionar un elemento portador de datos equipado con un dispositivo de comunicación, un dispositivo de memoria y una unidad de ejecución de programas para ejecutar programas de función contenidos en un dispositivo de memoria, caracterizado por las siguientes etapas: - instalación de un programa de función en el dispositivo de memoria (110) del elemento portador de datos para conseguir un interfaz de carga (120) que a su vez hace posible recargar programas de función que consiguen cada uno una aplicación de carga (210), - disposición de un espacio (130) de memoria libre, disponible para el interfaz de carga (120) en el dispositivo de memoria (110), - recarga, por lo menos, de una aplicación de carga (210) a través del dispositivo de comunicación (60) en el dispositivo de memoria (110), estando dicha recarga controlada por el interfaz de carga (120), y adjudicando a la aplicación de carga (210) una parte del espacio (130) de memoria libre a modo de espacio (220) de direcciones asignadas.

Description

Método para hacer funcionar un elemento portador de datos configurado para ejecutar programas de función recargables.
Esta invención parte de un método de acuerdo con el preámbulo de la reivindicación principal.
Los elementos portadores de datos en forma de tarjetas inteligentes se utilizan en una variedad de campos de aplicación cada vez mayor. Unas tarjetas especialmente difundidas responden al estándar ISO 7810 que consiste en un elemento portador de plástico que incorpora un circuito semiconductor integrado y unos medios de contacto para realizar conexiones eléctricas con un lector correspondiente. También se ha propuesto reducir el tamaño de la tarjeta portadora u omitirla completamente y en su lugar instalar, por ejemplo, un microcontrolador de un solo chip en relojes, joyas, prendas u otros artículos de uso cotidiano. El término "tarjeta inteligente" pretende por lo tanto incluir todos los objetos (pequeños) transportables actuales y futuros en los que se incrusta un microcontrolador para permitir a su propietario o un portador realizar las interacciones típicas de una tarjeta inteligente con las especialmente dispuestas estaciones de interacción correspondientes. Las aplicaciones típicas de una tarjeta inteligente son la tarjeta de crédito, la tarjeta monedero, la tarjeta de seguro sanitario o la tarjeta telefónica. El término "aplicación" se refiere en este caso a la totalidad de todos los datos, instrucciones, operaciones, estados, mecanismos y algoritmos comprendidos en una tarjeta inteligente que son necesarios para hacer funcionar una tarjeta inteligente dentro de un sistema, por ejemplo un sistema de pago con tarjeta de crédito.
Cada aplicación posee habitualmente su propia tarjeta inteligente correspondiente, y del mismo modo cada nueva aplicación y actualización de una aplicación existente producen una nueva tarjeta inteligente. Por lo tanto, es fundamentalmente deseable disponer de una tarjeta inteligente que pueda ser utilizada para una serie de aplicaciones de diferentes proveedores de servicios y operadores de sistemas de tarjeta, tales como organizaciones de tarjetas de crédito, bancos, compañías de seguros, compañías telefónicas, etc.
Una organización de archivos para una tarjeta inteligente de este tipo adecuada para varias aplicaciones se muestra en Rankl/Effing, "Handbuch der Chipkarten," Carl Hauser Verlag, 1996, capítulo 5.6. La estructura de la organización descrita en el mismo se basa en el estándar ISO/IEC 7816-4. En la cima de la organización de archivos hay un archivo maestro que contiene los directorios de todos los otros archivos presentes en la tarjeta inteligente. Subordinados al archivo maestro hay uno o más archivos especializados que contienen los nombres de los archivos de archivos combinados en grupos, que pertenecen en particular a una aplicación. Subordinados a cada uno de los archivos especializados hay finalmente uno o más archivos elementales que contienen datos útiles de una aplicación. Este documento, además, describe la recarga del código de programa de una manera técnicamente posible pero impropio por razones de seguridad. Como medida más prometedora para superar los problemas de seguridad se refiere a la disposición de una unidad de gestión de memoria que supervisa que el código de programa que va a ser ejecutado se mantiene dentro de los límites asignados.
El documento WO-A1-98/09257 da a conocer un sistema y un método para cargar aplicaciones en una tarjeta inteligente, que hace posible introducir un programa y datos de aplicación de aplicaciones adicionales en una tarjeta inteligente, añadidos a los datos de las aplicaciones ya cargadas. Se toman precauciones, en base a tecnologías criptográficas adecuadas, para permitir la verificación de la autorización de la agencia que realiza la recarga de datos. Después de que los datos de una aplicación adicional han entrado en la memoria de la tarjeta inteligente, se comprueba la autenticidad del programa correspondiente. A continuación, se comprueban los datos de programa con relación a su sintaxis y a sus limitaciones de tipo válido. Si se descubre una incongruencia en una de estas etapas de comprobación, los datos adicionales cargados se descartan y se borran de la memoria. El sistema conocido permite la recarga controlada de aplicaciones después de que la tarjeta haya sido emitida al usuario final. Sin embargo, esto significa que una entidad emisora de tarjetas que emite una tarjeta inteligente con espacio de memoria libre disponible a un proveedor de servicios debe, por ejemplo, saber de antemano la identidad de todas las agencias del proveedor de servicios que van a ser autorizadas posteriormente para ofrecer aplicaciones de recarga a un usuario final. Esto puede hacerse por parte de la entidad emisora de tarjetas, certificando ciertas claves públicas de identificación de los proveedores de servicios para poder realizar una comprobación de la autenticidad de los datos recargados, mediante la introducción de su propia clave pública de identificación, por ejemplo, en la máscara ROM de la tarjeta inteligente. Sin embargo, en el sistema conocido, una entidad emisora de tarjetas no tiene la posibilidad de realizar comprobaciones del espacio de memoria ocupado por los proveedores de servicios en una única tarjeta inteligente, que vayan más allá de la comprobación de autenticidad y de sintaxis correcta.
El documento DE 197 23 676 A1 da a conocer un método y un elemento portador de datos de acuerdo con la especie de reivindicaciones independientes 1, 4, 8 y 12, de acuerdo con las cuales los programas pueden cargarse sin problemas, de forma reubicable, en tarjetas de chip. Los programas descargados son ubicados en direcciones físicas libres disponibles o en segmentos físicos por medio del sistema operativo presente en la tarjeta de chip. En el mismo momento se crea una tabla que se utiliza a continuación para establecer una asociación entre las direcciones físicas y las direcciones lógicas. El método permite descargar programas en una tarjeta de chip sin tener que conocer la ocupación de memoria presente en la tarjeta. El documento no entra en cuestiones de seguridad, por ejemplo, con respecto al acceso no autorizado a direcciones externas de memoria. Asimismo no se asegura la disponibilidad del espacio suficiente para un usuario que desee descargar un programa en una tarjeta de chip.
El documento DE 197 18 115 A1 da a conocer además una tarjeta inteligente y un método para cargar datos en una tarjeta inteligente, que hacen posible introducir aplicaciones de tarjeta en una tarjeta inteligente después del final del proceso de producción de la tarjeta. En la tarjeta inteligente se dispone un espacio de almacenamiento contenedor dentro del cual los proveedores de servicios pueden cargar aplicaciones de su propiedad. En el espacio de almacenamiento contenedor se define previamente la estructura de programa básico de las aplicaciones recargables; sólo se recargan datos y claves específicos. La definición previa de las estructuras de las aplicaciones recargables logra una separación fiable de los datos de los diferentes proveedores de servicios comprendidos en una tarjeta. Este documento no da a conocer la recarga de aplicaciones con una estructura de datos desconocida. En general no describe alternativas para la definición previa de las estructuras de aplicación para gestionar el espacio de almacenamiento contenedor. El concepto de la definición previa de las estructuras de aplicación no puede utilizarse si se carga posteriormente en una tarjeta un código de programa de ámbito indefinido. Por lo tanto, la solución encontrada en el documento DE 197 18 115 A1 es inadecuada para la aplicación posterior de códigos completos de un programa de aplicaciones.
La invención está basada en el problema de proporcionar un método para introducir una aplicación adicional en una tarjeta inteligente, y asimismo en proporcionar una tarjeta inteligente que evite las desventajas indicadas de la técnica anterior.
Este problema se resuelve de acuerdo con la invención mediante un método con las características indicadas en la reivindicación 1 y mediante una tarjeta inteligente con las características de la reivindicación independiente 4. El problema se resuelve del mismo modo mediante un método con las características indicadas en la reivindicación 8 y mediante una tarjeta inteligente con las características de la reivindicación independiente 12. Los objetivos de las reivindicaciones 1 y 4, por un lado, y de la 8 y 12, por otro lado, tienen en cada caso una importancia inventiva independiente. Asimismo, los métodos de acuerdo con las reivindicaciones 1 y 8 y los objetivos de las reivindicaciones 4 y 12 pueden combinarse.
El método de la invención de acuerdo con la reivindicación 1, y asimismo el método de acuerdo con la reivindicación 8, permite que una entidad emisora de tarjetas, de un modo ventajoso, deje que un usuario introduzca posteriormente programas de función en una tarjeta bajo su propia autoridad. La entidad emisora de tarjetas ya no necesita definir previamente qué usuarios o proveedores de servicios van a tener permiso para recargar aplicaciones adicionales en ciertas tarjetas inteligentes. En lugar de eso, es posible recargar una aplicación incluso cuando la tarjeta inteligente ya ha sido emitida y está en poder del usuario. El método es, por lo tanto, adecuado en particular para realizar una transferencia contractual de derechos definibles con precisión sobre los recursos de memoria de las tarjetas inteligentes a terceras partes, por parte de una entidad emisora de tarjetas.
El método asegura un estándar de alta seguridad. De acuerdo con la reivindicación 1, esto se consigue por el hecho de que las aplicaciones de carga, que permiten la recarga de programas de función de aplicación, sólo pueden ser introducidos en la tarjeta a través de un interfaz de carga principal dispuesto en la tarjeta por la entidad emisora de la tarjeta. El interfaz de carga principal permite de forma ventajosa, en particular, definir de forma exacta la posición física y el rango de acción lógica de un programa de función recargado. La creación de una posibilidad para recargar programas de función simplifica además, de un modo ventajoso, la producción de las tarjetas correspondientes.
El sistema de acreditación de acuerdo con la reivindicación 8 ofrece la ventaja de que la entidad emisora de tarjetas puede comprobar el volumen de espacio de memoria que va a estar disponible para los usuarios individuales para las aplicaciones recargables. El sistema de acreditación ofrece además la posibilidad de disponer un sistema de coste asociado a la aplicación. Por ejemplo, puede disponerse que un usuario o un proveedor de servicios tenga que pagar una parte del coste total de una tarjeta inteligente dependiendo de la cantidad de memoria de la tarjeta inteligente que uno u otro ocupan.
En las reivindicaciones dependientes pueden hallarse desarrollos ventajosos y realizaciones convenientes del método y de la tarjeta inteligente propuestos.
A continuación la invención será explicada con mayor detalle mediante una realización a título de ejemplo y de modo no limitativo con relación a los dibujos, en los que:
la figura 1 muestra la estructura de una tarjeta inteligente de microprocesador,
la figura 2 muestra esquemáticamente la ocupación del dispositivo de memoria de una tarjeta inteligente con un cargador principal,
la figura 3 muestra la ocupación del dispositivo de memoria después de la carga de un cargador especial,
la figura 4 muestra una vista esquemática de una estructura jerárquica que comprende un cargador principal y varios cargadores especiales.
La figura 1 muestra la típica estructura de una tarjeta inteligente (10) equipada con un microprocesador. El elemento principal es la unidad central de proceso (20) que proporciona a la tarjeta inteligente (10) su funcionalidad mediante la ejecución de programas de función. La unidad de proceso (20) tiene asignada para sí misma el dispositivo de memoria (110) construido con tres circuitos de memoria (30), (40), (50). El circuito de memoria (30) representa una memoria de sólo lectura programada mediante máscara (ROM) que contiene en particular el sistema operativo de la unidad central de proceso (20); el circuito de memoria (50) representa la memoria (50) de sólo lectura borrable eléctricamente (EEPROM) para recibir los códigos de programa de los programas de función y los datos utilizados por la unidad central de proceso (20); el circuito de memoria (40) representa normalmente una memoria (40) volátil de acceso aleatorio (RAM) para ser utilizada como memoria de trabajo durante la ejecución de un programa de función. La funcionalidad de la tarjeta resulta de la totalidad de los códigos de programa o datos contenidos en los circuitos de memoria (30), (40), (50). Si técnicamente se requiere o es conveniente, los circuitos de memoria (30), (40), (50) pueden utilizarse de modo solapado, por ejemplo, si ciertas zonas de direcciones de memoria de la EEPROM se utilizan para datos de programa del sistema operativo, o si zonas de direcciones de memoria de la ROM están ocupadas con datos de aplicación. Por ese motivo, los circuitos de memoria (30), (40), (50) siempre se entenderán, a continuación, como un conjunto, como el dispositivo de memoria (110). Para intercambiar datos con dispositivos externos, la tarjeta (10) dispone además de un dispositivo (60) de comunicación, igualmente conectado a la unidad central de proceso (20). Una aplicación típica de la tarjeta (10) mostrada es ejecutar operaciones de pago electrónico. Puede hallarse una descripción detallada de la tarjeta inteligente mostrada en la figura 1, por ejemplo, en Rankl/Effing, "Handbuch der Chipkarten," Carl Hauser Verlag, 1996, capítulo 2.3.
Una primera realización de la invención se basa en el concepto de permitir aplicaciones de carga que pueden a su vez cargar programas de función para aplicaciones para ser introducidos en una tarjeta, pero permitiendo que las aplicaciones de carga propiamente dichas sean dispuestas sólo mediante un interfaz de carga especial. La figura 2 ilustra esquemáticamente la ocupación del dispositivo de memoria (110) de una tarjeta inteligente que incluye, en primer lugar, sólo el código de programa de un único programa (120) de función, definiendo un primer interfaz de carga (120). El interfaz de carga (120) está diseñado especialmente para recargar en el dispositivo de memoria (110) programas de función que realizan aplicaciones de carga, es decir, que a su vez tienen la funcionalidad de carga y permiten la recarga de programas de función para aplicaciones. El interfaz de carga (120) forma parte convenientemente del equipo básico de una tarjeta inteligente y es introducida en la tarjeta por la entidad emisora o el fabricante de la tarjeta. El interfaz de carga (120), designado a continuación como cargador principal (ML), ocupa parte del total de la zona de memoria disponible en el dispositivo de memoria (110). El programa de función que realiza el cargador principal (120) puede, en particular, ser parte del sistema operativo de la tarjeta inteligente y se ejecuta de acuerdo con lo anterior como parte del código programado mediante máscara en la memoria (30) de sólo lectura (ROM). Inicialmente, otra parte de la zona total de memoria permanece desocupada de datos y está disponible como memoria libre (130) para programas de función adicionales que aún pueden ser cargados. La gestión de toda la memoria libre (130) se efectúa primero por medio del cargador principal (120). En esta función como dispositivo gestor, el cargador principal (120) controla en particular la carga del código de programa del primer programa de función que va a ser recargado en la memoria libre (130) y la asignación de los espacios de direcciones. Los octetos de código del primer programa de función al igual que el del resto de programas de función son transmitidos a través del interfaz de datos (60) en forma de señales eléctricas adecuadas.
El cargador principal (120) carga en el dispositivo de memoria (110) preferiblemente sólo aquellos programas de función que satisfacen las condiciones de seguridad definidas. De esta manera, durante la carga, preferiblemente comprueba la integridad y la autenticidad de una aplicación de carga que ha de ser cargada, mediante la comprobación de si el código de programa que está esperando ser cargado está presente sin cambios, en una forma aprobada por el fabricante, o si el fabricante de una aplicación de carga está realmente autorizado para introducir la aplicación de carga, por ejemplo, gracias a haber obtenido el derecho a utilizar los recursos de la tarjeta inteligente de la entidad emisora de tarjetas.
La figura 3 muestra la disposición de la memoria de la figura 2, en la que el cargador principal (120) ha cargado ahora el primer programa de función (210), que realiza una aplicación de carga en la memoria libre (130). La aplicación de carga (210) define un segundo interfaz, designado a continuación como cargador especial (210) (DL). Permite la introducción de programas de función adicionales en el dispositivo de memoria (110) de forma consecutiva. Sin embargo, sólo tiene definido como disponible para sí el espacio de direcciones (220) asignado, no ampliable. El espacio (220) de direcciones es adjudicado al cargador especial (210) por medio del cargador principal (120), durante la carga del cargador especial (210). Dicha asignación transfiere completamente la gestión del espacio (220) de direcciones asignadas al cargador especial (210), que dispone de la funcionalidad necesaria como un dispositivo de gestión, para esta finalidad, al igual que el cargador principal (120). El cargador principal (120) no tiene influencia en, o acceso a, una utilización adicional del espacio (220) de direcciones asignado al cargador especial (210).
El cargador principal (120) todavía posee la gestión de la parte del espacio libre de direcciones de memoria que no está ocupado mediante la toma de control por medio de los cargadores especiales (210) y la asignación de los espacios (220) de direcciones, y fragmentados en dos secciones separadas (130a), (130b).
El cargador especial (210) puede ser cargado por el usuario de una tarjeta, a diferencia del cargador principal (120). El cargador especial (210) permite, y es una condición previa para ello, que el usuario cargue programas de función que realicen aplicaciones dentro del espacio (220) de direcciones asignadas, de forma consecutiva según se escoja. El término "aplicación" se refiere en este caso a la totalidad de todos los datos, instrucciones, operaciones, estados, mecanismos y algoritmos para hacer funcionar una tarjeta inteligente que son necesarios para hacer funcionar una tarjeta inteligente, dentro de una aplicación. Cuando nuevos programas de función que realizan aplicaciones se transfieren al espacio (220) de direcciones asignadas, el cargador especial (210) se asegura de que el código de programa de un programa de función cargado no puede bajo ningún concepto acceder a los códigos de datos ubicados fuera del espacio (220) de direcciones asignadas. El espacio (220) de direcciones asignado al cargador especial (210) podría haber sido ya proporcionado por parte del cargador principal (120) durante la carga, con medidas de protección que eviten el acceso físico o lógico de zonas parciales del dispositivo de memoria (110) ubicadas fuera del espacio (220) de direcciones asignadas. El espacio (220) de direcciones asignadas es repartido entre los programas de función recargados, por medio del cargador especial (210). Por ejemplo, el programa de función (230), para llevar a cabo una nueva aplicación de tarjeta, debe tener asignado la zona parcial (231) del espacio (220) de direcciones asignadas.
En una forma de la estructura descrita anteriormente, particularmente favorable para la transferencia de zonas de memoria a terceras partes, la ocupación del dispositivo de memoria (110) se estructura de forma jerárquica, tal como muestra la figura 4, y los programas de función recargados tienen la posibilidad de acceder de un modo definido a otros programas de función ya presentes en el dispositivo de memoria (110). La estructura de árbol indicada ilustra la secuencia cronológica en la que se añaden los diferentes programas de función. En una situación mínima, la tarjeta está equipada sólo con el cargador principal (120); inicialmente éste es el único acceso al dispositivo de memoria (110) de la tarjeta. El cargador principal (120) permite la carga de los cargadores especiales (210a), (210b), (210c) y la carga de funciones generales o programas de función (240) que realizan funciones básicas de la tarjeta. Si el cargador principal (120) está ubicado en una tarjeta, los cargadores especiales (120) y los programas de función (240) pueden cargarse a través del cargador especial (210) en cualquier momento; por lo tanto, se muestran, en la estructura de árbol de la figura 4, como trayectorias paralelas que parten del cargador principal.
Todos los programas de función (210), (240), cargados nuevamente, son comprobados en cuanto a permisos y seguridad durante la carga realizada por parte del cargador principal (120). Sólo se cargan los programas de función comprobados con resultado positivo. Cada cargador especial cargado (210 a, b, c) es asignado por el cargador principal (120) en un espacio (220) de direcciones, de posición definida e inalterable, en el dispositivo de memoria (110), que no puede ser extendido por el cargador especial (210) asociado. El programa de función que realiza el cargador especial (210) puede contener información acerca del tamaño requerido del espacio (220) de direcciones asignadas. Si el cargador principal (120) no recibe ninguna información acerca del tamaño, asigna un espacio estándar de direcciones.
Cuando los programas de función (210), (240) son cargados, el cargador principal (120) asegura que los espacios (220) de direcciones asignadas de los diferentes cargadores especiales (210) están estricta, física y lógicamente separados y que ningún cargador especial (210) puede acceder en ningún caso al espacio (220) de direcciones asignadas de otro cargador especial (210). Después de la carga y asignación del espacio de direcciones, el control sobre el espacio particular (220) de direcciones asignadas pasa completa y exclusivamente al cargador especial cargador especial asociado (210a), (210b), (210c). Cada cargador especial (210) puede cargar ahora en su espacio particular (220) de direcciones asignadas, programas de función adicionales, en particular programas de función que lleven a cabo aplicaciones de tarjeta, por ejemplo, claves criptográficas o métodos para llevar a cabo transacciones financieras de forma segura. Durante la carga, el cargador especial (210) somete al octeto de código, que pertenece a un programa de función que va a ser cargado, a una prueba de seguridad y de permiso.
El cargador especial (210) es capaz además de enlazar, de una forma definida, los programas de función que van a ser cargados nuevamente con algunos ya presentes. Durante la carga de un programa de función, el cargador especial (210) define sus posibles derechos de acceso y las posibilidades de enlace con respecto a otros programas de función ya presentes en el dispositivo de memoria (110). Del mismo modo, puede establecer limitaciones que impidan expresamente el acceso o el enlace de un programa de función cargado nuevamente con un programa de función ya presente o aún por recargar. Las limitaciones de enlace o de acceso pueden ser establecidas dentro del espacio de direcciones asignadas a un cargador especial, pero también es válida la superposición de los espacios de direcciones asignadas de otros cargadores especiales.
En el ejemplo de la figura 4, el cargador especial (210a) ha comprobado, permitido y cargado en el espacio (220) de direcciones asignadas, dos programas de función (310), (311), en el cargador especial (210b) tres programas de función (320), (321), (322), y en el cargador especial (210c) un programa de función (330) adicional. La recarga de los programas de función (310), (311), (320), (321), (322), (330), si el cargador especial (210) requerido está presente en la tarjeta, puede ser efectuada por el cargador especial (210) en cualquier momento y en cualquier orden. En la figura 4 cada programa de función recargado (310), (311), (320), (321), (322), (330) está asignado de acuerdo con lo anterior, con un particular cargador especial de carga (210a), (210b), (210c). Los programas de función (310), (311), (320), (321), (322), (330) pueden accederse entre ellos o enlazarse juntos, asumiendo que esto fue permitido durante la carga por unos particulares cargadores especiales (210) activos. En el ejemplo de la figura 4, el programa de función (330) puede, por ejemplo, acceder a los programas de función (321) ó (310), por ejemplo, para utilizar procedimientos dispuestos en los mismos. Por otro lado, el programa de función (330) no tiene ninguna posibilidad de acceder o enlazar con respecto a los programas de función (311); esto está bloqueado debido a la falta del correspondiente permiso de acceso o de enlace del programa de función (330), ó (320), que está bloqueado para todo acceso externo.
De forma complementaria a la carga de nuevos programas de función por parte del cargador principal (120) o del cargador especial (210), también es fundamentalmente posible borrar los programas de función (210), (240), (310), (330) presentes en el dispositivo de memoria (110). La autorización para el borrado se establece durante la carga de un programa de función por parte del cargador (120), (210). El borrado del cargador especial (210) sólo es posible si el espacio (220) de direcciones asignado al mismo ya no contiene ningún programa de función. El cargador principal (120) no puede ser borrado.
Una medida que soporta ventajosamente la transferencia de bajo riesgo del espacio de memoria de una tarjeta inteligente a terceras partes, es la utilización de un sistema de acreditación para llevar a cabo la asignación de espacio de almacenamiento por medio de los cargadores principales (120) y/o los cargadores especiales (210a), (210b), (210c). Las acreditaciones tienen la forma de información digital. Son añadidas al cargador especial (210) o a un programa de función que ha de ser cargado y comprende en particular una sentencia acerca del tamaño del espacio (220) de direcciones asignadas deseado o del tamaño del espacio (230) de direcciones requerido para el programa de función comprendido en el mismo. El cargador (120), (210) que ha de ser utilizado para cargar un cargador especial o un programa de función (230) dotado de una acreditación, debe ser capaz de evaluar la acreditación. Puede disponerse un sistema de acreditación para todos los cargadores (120), (210) de una tarjeta o sólo para algunos de ellos; una estructura jerárquica de cargador como la mostrada en la figura 3 no es una condición previa para establecerlo. Las acreditaciones son generadas por la entidad emisora de la tarjeta inteligente o por el fabricante del cargador (120), (210). Asimismo, deben ser adquiridas de antemano a dicho emisor o fabricante, para cargar de nuevo el cargador especial (210) o para cargar de nuevo un programa de función en el dispositivo de memoria (110). De este modo, el fabricante del cargador/entidad emisora de tarjetas siempre está informado de la ocupación del espacio de direcciones asignado a su cargador 120/210. Asignando sólo el espacio de direcciones absolutamente necesario a los cargadores especiales o a los programas de función que han de ser cargados nuevamente, se puede asegurar particularmente una utilización que economiza el espacio de memoria de un espacio de direcciones asignadas, por medio de la correspondiente información comprendida en la acreditación.
Aparte de la mera información de tamaño, una acreditación puede contener información adicional, por ejemplo, información que permite una comprobación de la autenticidad de una acreditación. La autenticidad y la capacidad contra falsificaciones de una acreditación quedan aseguradas adicional y preferiblemente mediante métodos criptográficos. En este caso, la información comprendida en una acreditación está encriptada, de acuerdo con lo anterior, por ejemplo, la acreditación contiene una clave de inicialización que permite a un cargador autorizado deducir una clave para leer la acreditación. Convenientemente, una acreditación contiene además una firma digital realizada criptográficamente. Además, para facilitar la gestión, una acreditación puede estar dotada, por ejemplo, con la designación de un programa de función, un identificador de aplicación, una fecha o similar. También es posible disponer de una información que limite las condiciones de uso de un programa de función, limitando por ejemplo, el tiempo durante el que se puede utilizar una aplicación, o estableciendo identificadores de tarjetas que sólo están autorizados a utilizar un programa de función.

Claims (12)

1. Método para hacer funcionar un elemento portador de datos equipado con un dispositivo de comunicación, un dispositivo de memoria y una unidad de ejecución de programas para ejecutar programas de función contenidos en un dispositivo de memoria, caracterizado por las siguientes etapas:
-
instalación de un programa de función en el dispositivo de memoria (110) del elemento portador de datos para conseguir un interfaz de carga (120) que a su vez hace posible recargar programas de función que consiguen cada uno una aplicación de carga (210),
-
disposición de un espacio (130) de memoria libre, disponible para el interfaz de carga (120) en el dispositivo de memoria (110),
-
recarga, por lo menos, de una aplicación de carga (210) a través del dispositivo de comunicación (60) en el dispositivo de memoria (110), estando dicha recarga controlada por el interfaz de carga (120), y adjudicando a la aplicación de carga (210) una parte del espacio (130) de memoria libre a modo de espacio (220) de direcciones asignadas.
2. Método, según la reivindicación 1, caracterizado por la siguiente etapa adicional:
-
recarga, por lo menos, de un programa de aplicación (230) a través del dispositivo de comunicación (60) por medio de la unidad de ejecución de programas bajo el control de la aplicación de carga (210) en el espacio (220) de direcciones adjudicado al mismo.
3. Método, según la reivindicación 1, caracterizado porque el interfaz de carga (120) concede el control sobre el espacio (220) de direcciones adjudicado a una aplicación de carga (210) a la aplicación de carga (210).
4. Elemento portador de datos que dispone de
- un dispositivo de memoria (110) para recibir programas de función y de aplicación,
- una unidad de ejecución de programas (20) para ejecutar programas de función contenidos en el dispositivo de memoria (110),
- un dispositivo de comunicación (60),
caracterizado por
- un interfaz de carga (120) conseguido a modo de programa de función para cargar, por lo menos, una aplicación de carga (210), que permite la recarga de un programa de aplicación adicional en el dispositivo de memoria (110) a través del dispositivo de comunicación (60),
- el interfaz de carga (120) que tiene asociado al mismo, en el dispositivo de memoria (110), un espacio (130) de memoria libre para recibir, por lo menos, una aplicación de carga.
5. Elemento portador de datos, según la reivindicación 4, caracterizado porque una aplicación de carga (210) recibida en el dispositivo de memoria (110) controla una parte (220) del espacio (130) de memoria libre asociado con el interfaz de carga (120), independientemente del interfaz de carga.
6. Elemento portador de datos, según la reivindicación 4, caracterizado porque las aplicaciones de carga (210) están diseñadas para enlazar, durante la carga, programas de aplicación (330) que han de ser recargados, con programas de función y de aplicación ya presentes en el elemento portador de datos.
7. Elemento portador de datos, según la reivindicación 6, caracterizado porque una aplicación de carga (210) comprende limitaciones que prohiben el enlace de un programa de aplicación (330) que ha de ser cargado nuevamente con uno ya presente (311, 320).
8. Método para hacer funcionar un elemento portador de datos que dispone de un dispositivo de memoria para recibir programas de función y de aplicación, una unidad de ejecución de programas para ejecutar programas de función y de aplicación contenidos en el dispositivo de memoria, y un dispositivo de comunicación, caracterizado por las siguientes etapas:
- equipación del elemento portador de datos con un programa de función que consiga un interfaz de carga (120, 210) para recargar programas de aplicación en el dispositivo de memoria,
- equipación del elemento portador de datos con un dispositivo de gestión para asignar espacios de direcciones en el dispositivo de memoria (110) a los programas de aplicación recargados,
- dotación del programa de aplicación que ha de ser recargado con acreditaciones que contienen información acerca del tamaño del espacio de memoria requerido por el programa de aplicación,
- evaluación de la acreditación durante la recarga de un programa de aplicación, y
- asignación al programa de aplicación de un espacio de direcciones en el dispositivo de memoria (110) de acuerdo con la información de tamaño determinada.
9. Método, según la reivindicación 8, caracterizado porque la acreditación contiene además información que designa el programa de aplicación.
10. Método, según la reivindicación 8, caracterizado porque la acreditación contiene además una forma para demostrar la autenticidad del programa de aplicación.
11. Método, según la reivindicación 8, caracterizado porque las acreditaciones son emitidas por la entidad emisora del elemento portador de datos.
12. Elemento portador de datos que dispone de un dispositivo de memoria (110) para recibir programas de función y de aplicación, una unidad de ejecución de programas (20) para ejecutar programas de función contenidos en el dispositivo de memoria, y un dispositivo de comunicación (60), caracterizado por un interfaz de carga (120, 210) realizado a modo de programa de función para recargar, por lo menos, un programa de aplicación en el dispositivo de memoria a través del dispositivo de comunicación (60), disponiendo el interfaz de carga (120, 210) de medios para comprobar una acreditación de un programa de aplicación que ha de ser cargado, y para asignar espacio de memoria en el dispositivo de memoria (110) a un programa de aplicación que ha de ser cargado, de acuerdo con la información de tamaño contenida en la acreditación.
ES00943867T 1999-06-25 2000-06-23 Metodo para hacer funcionar un elemento portador de datos configurado para ejecutar programas de funcion recargables. Expired - Lifetime ES2223541T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19929164 1999-06-25
DE19929164A DE19929164A1 (de) 1999-06-25 1999-06-25 Verfahren zum Betreiben eines zur Ausführung von nachladbaren Funktionsprogrammen ausgebildeten Datenträgers

Publications (1)

Publication Number Publication Date
ES2223541T3 true ES2223541T3 (es) 2005-03-01

Family

ID=7912527

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00943867T Expired - Lifetime ES2223541T3 (es) 1999-06-25 2000-06-23 Metodo para hacer funcionar un elemento portador de datos configurado para ejecutar programas de funcion recargables.

Country Status (11)

Country Link
US (1) US7117012B1 (es)
EP (1) EP1196902B1 (es)
JP (1) JP4727876B2 (es)
CN (1) CN1134751C (es)
AT (1) ATE275747T1 (es)
AU (1) AU5818400A (es)
BR (1) BRPI0011932B1 (es)
CA (1) CA2378406C (es)
DE (2) DE19929164A1 (es)
ES (1) ES2223541T3 (es)
WO (1) WO2001001357A1 (es)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001052131A (ja) * 1999-08-04 2001-02-23 Dainippon Printing Co Ltd Icカードおよびその発行方法ならびにプログラム
FR2835628A1 (fr) * 2002-02-01 2003-08-08 Schlumberger Systems & Service Gestion de la mise a jour d'informations encodees en memoire
US20040199787A1 (en) * 2003-04-02 2004-10-07 Sun Microsystems, Inc., A Delaware Corporation Card device resource access control
US7689250B2 (en) * 2006-02-01 2010-03-30 General Instrument Corporation Method, apparatus and system for partitioning and bundling access to network services and applications
DE102006014690A1 (de) 2006-03-28 2007-10-04 Vodafone Holding Gmbh Speicherverwaltung von Chipkarten
US20090216675A1 (en) * 2008-02-21 2009-08-27 The Coca-Cola Company Commission Centric Network Operation Systems and Methods
US9460440B2 (en) * 2008-02-21 2016-10-04 The Coca-Cola Company Systems and methods for providing electronic transaction auditing and accountability
US8645273B2 (en) 2008-02-21 2014-02-04 The Coca-Cola Company Systems and methods for providing a vending network
US20090216665A1 (en) * 2008-02-21 2009-08-27 The Coca-Cola Company Systems and Methods for Providing Vending Network Data Management
US20090222300A1 (en) * 2008-03-03 2009-09-03 The Coca-Cola Company Systems and Methods of Marketing to Defined Consumer Groups
US8121917B2 (en) * 2008-03-03 2012-02-21 The Coca-Cola Company Systems for implementing a loyalty program
US20090222339A1 (en) * 2008-03-03 2009-09-03 The Coca-Cola Company Systems and Methods for Providing a Personal Terminal for a Loyalty Program
US8015088B2 (en) * 2008-03-03 2011-09-06 The Coca-Cola Company Methods for implementing a loyalty program
CN102103651B (zh) * 2009-12-21 2012-11-14 中国移动通信集团公司 一种一卡通系统的实现方法和系统以及一种智能卡
US20140304787A1 (en) * 2013-04-05 2014-10-09 Microsoft Corporation Badge notification subscriptions
FR3009400B1 (fr) * 2013-07-31 2015-09-18 Oberthur Technologies Procede d'installation d'une application sur un element securise

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2591796B2 (ja) * 1988-07-25 1997-03-19 日本電信電話株式会社 Icカード
JPH04245536A (ja) * 1991-01-31 1992-09-02 Matsushita Graphic Commun Syst Inc 情報処理装置
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
JP3177047B2 (ja) * 1993-01-27 2001-06-18 大日本印刷株式会社 メモリ領域の管理方法
EP0666550B1 (en) * 1994-02-08 1997-05-02 Belle Gate Investment B.V. Data exchange system comprising portable data processing units
US6330648B1 (en) * 1996-05-28 2001-12-11 Mark L. Wambach Computer memory with anti-virus and anti-overwrite protection apparatus
JPH1055278A (ja) * 1996-08-08 1998-02-24 Toshiba Microelectron Corp メモリ混載マイコン
US5923884A (en) * 1996-08-30 1999-07-13 Gemplus S.C.A. System and method for loading applications onto a smart card
DE19718115A1 (de) * 1996-12-23 1998-06-25 Ccs Chipcard & Comm Syst Gmbh Chipkarte und Verfahren zur Verwendung der Chipkarte
CZ225499A3 (cs) 1996-12-23 1999-11-17 Deutsche Bank Ag Čipová karta a způsob využití čipové karty
US5754762A (en) * 1997-01-13 1998-05-19 Kuo; Chih-Cheng Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU
US6575372B1 (en) * 1997-02-21 2003-06-10 Mondex International Limited Secure multi-application IC card system having selective loading and deleting capability
DE19723676A1 (de) * 1997-06-05 1998-08-27 Siemens Ag Verfahren zum Nachladen von Programmen auf eine Chip-Karte
JPH1131200A (ja) * 1997-07-14 1999-02-02 Dainippon Printing Co Ltd Icカード
US6308270B1 (en) * 1998-02-13 2001-10-23 Schlumberger Technologies, Inc. Validating and certifying execution of a software program with a smart card
EP0949595A3 (en) * 1998-03-30 2001-09-26 Citicorp Development Center, Inc. Method and system for managing applications for a multi-function smartcard
US6493550B1 (en) * 1998-11-20 2002-12-10 Ericsson Inc. System proximity detection by mobile stations
US6256690B1 (en) * 1999-01-15 2001-07-03 Todd Carper System and method for facilitating multiple applications on a smart card

Also Published As

Publication number Publication date
JP4727876B2 (ja) 2011-07-20
CN1134751C (zh) 2004-01-14
BRPI0011932B1 (pt) 2016-03-29
EP1196902A1 (de) 2002-04-17
ATE275747T1 (de) 2004-09-15
AU5818400A (en) 2001-01-31
DE19929164A1 (de) 2001-01-11
CN1375094A (zh) 2002-10-16
WO2001001357A1 (de) 2001-01-04
EP1196902B1 (de) 2004-09-08
BR0011932A (pt) 2002-03-19
CA2378406C (en) 2006-12-05
US7117012B1 (en) 2006-10-03
DE50007701D1 (de) 2004-10-14
CA2378406A1 (en) 2001-01-04
JP2003503777A (ja) 2003-01-28

Similar Documents

Publication Publication Date Title
ES2223541T3 (es) Metodo para hacer funcionar un elemento portador de datos configurado para ejecutar programas de funcion recargables.
EP1113387A2 (en) Smart card having a non-volatile memory with a novel mapping
AU2011343546B2 (en) Writing application data to a secure element
Shelfer et al. Smart card evolution
AU2011343474B2 (en) Local trusted services manager for a contactless smart card
US6481632B2 (en) Delegated management of smart card applications
ES2526641T3 (es) Procedimiento de comunicación, dispositivo de comunicación y procesador seguro
EP0976114A2 (en) Secure multiple application card system and process
JP2003503777A5 (es)
ES2216947T3 (es) Transportador de datos portatil y procedimiento de utilizacion del mismo en una serie de aplicaciones.
KR20050050757A (ko) 스마트 카드가 탑재된 이동 통신 단말기에 부가 서비스기능을 제공하기 위한 시스템 및 방법
ES2353809T3 (es) Aparato de gestión de memoria externa y procedimiento de gestión de memoria externa.
Chirico Smart card programming
CZ225499A3 (cs) Čipová karta a způsob využití čipové karty
ES2206644T3 (es) Procedimiento para la programacion segura de una tarjeta con microprocesador para una aplicacion adicional.
CA2545292C (en) A method for writing data and applications into identification media
KR100985650B1 (ko) 반도체 ic 장치, ic 카드 및 이동 단말기
ES2176035T5 (es) Procedimiento y dispositivo de control del ciclo de vida de un objeto portatil, en particular de una tarjeta de chip.
ES2332965A1 (es) Terminal punto de venta.
JP4460948B2 (ja) 半導体集積回路装置、icカード、携帯端末
AU2013222020A1 (en) Local trusted services manager for a contactless smart card
CN108280372A (zh) 一种安全芯片
CN105512712A (zh) 将预付额度的数量加载到预付费计量表中的双接口智能卡