ES2156275T5 - Interfaz de tarjetas. - Google Patents

Interfaz de tarjetas.

Info

Publication number
ES2156275T5
ES2156275T5 ES96912337T ES96912337T ES2156275T5 ES 2156275 T5 ES2156275 T5 ES 2156275T5 ES 96912337 T ES96912337 T ES 96912337T ES 96912337 T ES96912337 T ES 96912337T ES 2156275 T5 ES2156275 T5 ES 2156275T5
Authority
ES
Spain
Prior art keywords
card
application
data
commands
read
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
ES96912337T
Other languages
English (en)
Other versions
ES2156275T3 (es
Inventor
Alan Noel Zuppicich
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.)
SmartMove NZ Ltd
Original Assignee
SmartMove NZ Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=19925257&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2156275(T5) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by SmartMove NZ Ltd filed Critical SmartMove NZ Ltd
Application granted granted Critical
Publication of ES2156275T3 publication Critical patent/ES2156275T3/es
Publication of ES2156275T5 publication Critical patent/ES2156275T5/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • 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
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0004Hybrid readers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0013Methods or arrangements for sensing record carriers, e.g. for reading patterns by galvanic contacts, e.g. card connectors for ISO-7816 compliant smart cards or memory cards, e.g. SD card readers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10297Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for handling protocols designed for non-contact record carriers such as RFIDs NFCs, e.g. ISO/IEC 14443 and 18092
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)
  • Optical Record Carriers And Manufacture Thereof (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)
  • Telephone Function (AREA)
  • Stored Programmes (AREA)
  • Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Abstract

UN LECTOR/ESCRITOR DE TARJETA QUE HACE DE INTERFAZ ENTRE UN PROGRAMA DE APLICACION ANFITRION Y UNA TARJETA DE ALMACENAMIENTO DE DATOS. EL LECTOR/ESCRITOR DE TARJETA TRADUCE LAS ORDENES DE ALTO NIVEL DEL PROGRAMA ANFITRION EN SECUENCIAS CORRESPONDIENTES DE ORDENES DE BAJO NIVEL PARA LEER Y ESCRIBIR EN LA TARJETA DE ALMACENAMIENTO DE DATOS. EL LECTOR/ESCRITOR DE TARJETA ALMACENA UNA PLURALIDAD DE CONJUNTOS DE TALES ORDENES DE BAJO NIVEL, Y ES CAPAZ DE ESTABLECER EL TIPO DE TARJETA PARA CUALQUIER TARJETA CONECTADA AL LECTOR/ESCRITOR DE TARJETA, Y DE USAR EL CONJUNTO DE ORDENES APROPIADO PARA EL TIPO ESTABLECIDO DE TARJETA. EL LECTOR/ESCRITOR DE TARJETA TAMBIEN TRADUCE ORDENES DE BAJO NIVEL DE LA TARJETA A ORDENES DE ALTO NIVEL PARA EL PROGRAMA DE APLICACION ANFITRION. EL LECTOR/ESCRITOR DE TARJETA SE PUEDE CARGAR CON CONJUNTOS DE ORDENES DE BAJO NIVEL PARA TIPOS ADICIONALES DE TARJETAS SEGUN SE NECESITE.

Description

Interfaz de tarjetas.
Campo técnico
Esta invención se refiere a tarjetas que tienen capacidad de almacenamiento de datos magnética o electrónica ("tarjetas inteligentes") y en particular a las interfaces entre dichas tarjetas y un controlador programado específico de aplicación.
Técnica previa
Las tarjetas inteligentes y los lectores de tarjetas inteligentes se describen en las patentes de innovación y Bull CP. Véanse, por ejemplo, las patentes de los Estados Unidos 4 102 493 y 4 404 464. Las tarjetas inteligentes generalmente cumplen con una o más partes de la norma ISO 7818.
Varios de los dispositivos de lectura/escritura de tarjetas inteligentes de la técnica anterior usan un microprocesador programado para realizar una serie de acciones predeterminadas en una tarjeta inteligente bajo el control de un sistema de control externo. El sistema de control externo debe tener "pleno conocimiento" de la tarjeta inteligente que se está usando. Cualquier cambio realizado en las tarjetas que se usan debe reflejarse en cambios en el sistema de control externo. El diseñador o usuario del sistema de control externo debe tener un extenso conocimiento de las tarjetas inteligentes para las que está diseñado el dispositivo de lectura/escritura.
Algunos otros dispositivos de lectura/escritura de tarjetas inteligentes de la técnica anterior incorporan un microprocesador programado para realizar todas las acciones en la tarjeta inteligente de forma autónoma. Estos dispositivos de lectura/escritura normalmente conforman un producto completo, es decir, máquinas expendedoras o terminales de punto de venta. La alteración del producto para soportar tarjetas inteligentes nuevas o diferentes requiere un nuevo diseño o modificación del componente fundamental del dispositivo de lectura/escritura. Esto limita las posibilidades de un fabricante de equipo original a la hora de incorporar la tecnología de tarjetas inteligentes en productos tradicionales.
Los actuales dispositivos de lectura/escritura de tarjetas inteligentes se engloban en dos categorías. La primera es aquella que actúa como conector de la tarjeta. Un conector de la tarjeta proporciona únicamente el hardware y el software mínimo necesario para leer o escribir en una tarjeta inteligente. El conector puede soportar diversos tipos de tarjetas, posiblemente de más de un fabricante de tarjetas. Sin embargo, este soporte se reduce, puesto que el uso final se desconoce, a las tareas más simples y más generalizadas. El conector se usa normalmente como una herramienta de desarrollo para entrar del campo de las tarjetas inteligentes o como un medio para agregar la característica de la tarjeta inteligente a diseños de productos ya existentes. En cualquier caso, el usuario del conector debe adquirir o poseer un buen conocimiento de la tarjeta inteligente, de las estructuras de datos de la tarjeta y de los procedimientos de transferencia de datos.
El otro extremo es el de una aplicación o producto con la capacidad para tarjetas inteligentes incorporada. El lector es una pieza intrínseca del sistema de control host. El soporte está limitado a unos pocos tipos de tarjeta, con contenidos, estructuras, seguridad y procedimientos de transferencia de datos predeterminados por el fabricante del equipo.
La descripción de la patente japonesa JP 63 250726 describe un dispositivo de lectura/escritura capaz de procesar tarjetas que tienen diferentes especificaciones de protocolo leyendo la información que indica una especificación del protocolo de la tarjeta, seleccionando una tabla de formato y una tabla de configuración de parámetros y convirtiendo los datos o instrucciones para un ordenador host.
La descripción de la patente japonesa JP 63 250799 describe un dispositivo de lectura/escritura capaz de comunicarse entre un ordenador host y una tarjeta IC. El dispositivo de lectura/escritura también usa una tabla de conversión de formato y una tabla de configuración de parámetros.
La solicitud de patente europea número 0712087A publicada tras la fecha de prioridad de esta solicitud y relevante sólo bajo A54(3) EPC, describe un dispositivo de lectura/escritura capaz de leer y escribir en un número de formatos de tarjetas, es decir, tarjetas inteligentes de contacto a las que se aplica la norma ISO 7816, tarjetas inteligentes sin contacto conformes a la norma ISO 10536 de los tipos capacitivo e inductivo y tarjetas con banda magnética conformes a la norma ISO 7810-13. El dispositivo de lectura/escritura proporciona una única ranura para tarjeta que tiene cabezales de lectura para diferentes formatos de tarjetas y que almacena los protocolos de comunicación para dichos formatos de tarjeta diferentes.
La patente de los Estados Unidos 5.519.683 describe un dispositivo de lectura/escritura para tarjetas que realizan diferentes aplicaciones y, en particular, tarjetas de aplicaciones múltiples, que usan un conjunto de comandos comunes o compatibles que también usan los programas de la tarjeta para asegurar que las aplicaciones de tarjetas desarrolladas independientemente y los terminales de lectura/escritura funcionarán juntos.
La descripción de la patente francesa 2.701.133 describe un procedimiento de comunicación entre una unidad de procesamiento asociada a una aplicación y tarjetas inteligentes de diferentes tipos. Cada tarjeta inteligente puede necesitar comandos con diferentes protocolos de comunicaciones. Se agrega una capa de comunicaciones entre el programa de aplicación y las tarjetas, de modo que el programa de aplicación envíe comandos a la tarjeta en un único protocolo de comunicaciones y estos comandos se traduzcan en un protocolo adecuado para la tarjeta concreta.
Actualmente no existe una forma fácil de agregar la capacidad de la tarjeta inteligente al producto de un fabricante o de alterar un lector de tarjetas ya existente de modo que pueda manipular los nuevos tipos de tarjetas inteligentes, a menos que el fabricante se convierta en un experto en el campo de las tarjetas inteligentes. En el caso de que cualquier competidor siguiera este camino, el retraso en la recuperación de la posición competitiva sería costosa y llevaría mucho tiempo. Además, actualmente no existen lectores de tarjetas disponibles que puedan leer varios tipos de tarjetas magnéticas, así como diversos tipos de tarjetas con chip.
Descripción de la invención
Es, por tanto, un objeto de la presente invención proporcionar una interfaz para el uso entre tarjetas que tengan capacidad de almacenamiento de datos magnética o electrónica y un controlador de programa específico de aplicaciones que al menos suponga un avance para superar las desventajas anteriores.
La invención proporciona un dispositivo de lectura/escritura que actúa como interfaz entre un programa de aplicación host y una tarjeta de almacenamiento de datos conforme a la reivindicación 1 de las reivindicaciones anexas. La invención, además, proporciona un procedimiento que actúa como interfaz entre un programa de aplicación host y una tarjeta de almacenamiento de datos conforme a la reivindicación 7 de las reivindicaciones anexas.
Un primer aspecto de la invención consiste en un dispositivo de lectura/escritura que actúa de interfaz entre un programa de aplicación host y una tarjeta de almacenamiento de datos que tiene una aplicación de tarjeta asociada caracterizada porque:
dicho dispositivo de lectura/escritura de tarjetas es capaz de responder a dicho programa de aplicación host usando al menos un lenguaje designado de alto nivel,
se almacenan diversos conjuntos de protocolos de bajo nivel que se corresponden con una variedad de diferentes aplicaciones de tarjetas de almacenamiento de datos,
dicho lector de tarjetas incluye medios para identificar, en la tarjeta, la aplicación de la tarjeta en particular para cualquier tarjeta interconectada a él para la que hay almacenado un conjunto de protocolos y para seleccionar de entre sus protocolos almacenados el protocolo de nivel bajo apropiado para la aplicación de la tarjeta identificada,
dicho dispositivo de lectura/escritura incluye medios para leer y traducir los comandos en lenguaje de alto nivel del programa host en los comandos correspondientes dentro de dicho protocolo de bajo nivel establecido y para escribir estos comandos de bajo nivel en dicha tarjeta, y
dicho dispositivo de lectura/escritura incluye medios para leer comandos en dicho protocolo de bajo nivel establecido en dicha tarjeta y para traducirlos en los comandos correspondientes en dicho lenguaje de alto nivel y para escribir estos comandos en dicho programa de aplicación host.
En un segundo aspecto la invención consiste en un procedimiento de interconexión entre un programa de aplicación host y una tarjeta de almacenamiento de datos que tiene una aplicación de tarjeta asociada, caracterizada por los pasos de:
identificación de la aplicación de la tarjeta a partir de la tarjeta,
selección a partir de un conjunto de protocolos almacenados el protocolo de bajo nivel apropiado para la aplicación de la tarjeta identificada,
lectura de comandos en lenguaje de alto nivel del programa host,
traducción de dicho lenguaje de alto nivel en los comandos correspondientes dentro de dicho protocolo de bajo nivel identificado,
escritura de dichos comandos correspondientes en dicha tarjeta,
lectura de los comandos de dicho protocolo de bajo nivel establecido de dicha tarjeta,
traducción de dichos comandos del protocolo de bajo nivel en los comandos correspondientes de dicho lenguaje de alto nivel, y
escritura de dichos comandos de dicho lenguaje de alto nivel en dicho programa host.
La interfaz de tarjeta universal de la presente invención es capaz de reconocer cualquier tipo de tarjeta ISO que se le presente, comunicarse con la tarjeta usando los protocolos apropiados para dicho tipo de tarjeta y comunicarse con el programa host usando un lenguaje de comandos de alto nivel.
Breve descripción de los dibujos
A continuación se describirá una realización concreta de la presente invención con referencia a los dibujos que la acompañan en las que,
La Figura 1 es una vista en perspectiva del aparato de la realización preferida de la presente invención.
La Figura 2 es un corte transversal de elevación lateral del aparato de la realización de la Figura 1.
La figura 3 es una vista en perspectiva de la placa de circuitos impresos (PCB) del conjunto del sistema de control de la realización preferida de la presente invención.
La Figura 4 es otra vista en perspectiva de la PCB de la realización preferida de la presente invención, y
La Figura 5 es un diagrama de bloques del aparato eléctrico y electrónico de una realización de la presente invención.
Mejor forma de llevar a cabo la invención
Una realización de la presente invención es una interfaz de tarjeta universal (o UCI) que es un dispositivo de interfaz de tarjeta controlado por software que soporta una amplia gama de tarjetas inteligentes y de tarjetas de crédito.
En referencia a las figuras 1 a la 5, la UCI tiene dos elementos principales: un dispositivo de aceptación físico de tarjetas 31 y un conjunto de sistema de control 32 que incluye todos los circuitos electrónicos necesarios para controlar el dispositivo de aceptación de tarjetas 31. El dispositivo de aceptación de tarjetas 31 tiene una única ranura 33 que acepta todo tipo de tarjetas. La forma del dispositivo de aceptación de tarjetas dependerá en gran medida de la intención de aplicación de la UCI. Por ejemplo, el tamaño de la pantalla y la configuración del número de botones del teclado, la configuración de la ranura para tarjetas 33 y el modo de aceptación físico de la tarjeta (si la tarjeta se inserta totalmente en el dispositivo de aceptación de tarjetas o si se le permite permanecer parcialmente fuera del dispositivo) son todos asuntos susceptibles de variación. El conjunto del sistema de control 32 está pensado para que sea independiente a la aplicación y es capaz de soportar dispositivos de aceptación de tarjetas de las variaciones anteriormente mencionadas.
En referencia a las figuras 1 y 2, el dispositivo de aceptación de tarjetas de la realización particular de la presente invención ha sido diseñado para ser instalado fácilmente en máquinas expendedoras existentes y en particular ha sido diseñado para reemplazar a los espacios de validación de billetes bancarios normales en dichas máquinas. El dispositivo de aceptación de tarjetas tiene una interfaz de fácil uso que incluye una pantalla LCD de 2 líneas 40 que puede ser verde o amarilla para una mejora de la visibilidad en la oscuridad, un panel de entrada para el usuario con 3 botones (OK 43, BALANCE 41 y CANCELAR 42) que proporcionan preferentemente una repuesta táctil al usuario y una ranura para inserción de tarjetas 33. La ranura para inserción de tarjetas 33 tiene un receptor simétrico, un espacio de limpieza para cuerpos extraños, contactos de descarga, interruptor detector sellado y acepta tarjetas de inserción horizontal, con el lado que contiene el chip hacia arriba.
En referencia a las figuras 3 a la 5, el conjunto del sistema de control de la UCI incorpora un microprocesador principal 46 y un microprocesador auxiliar 47. El microprocesador principal 46 puede ser, por ejemplo, un Dallas DS5002 FP-16. El microprocesador auxiliar 47 puede ser, por ejemplo, un Motorola MCBB302.
El procesador principal de ejemplo proviene de la arquitectura "8051" estándar de la industria, con un mecanismo seguro de protección de memoria para evitar la escritura o visión accidental o deliberada. Además, con el 8051, la memoria está dividida en la que usa el programa y la que se usa para el almacenamiento de datos. Esta memoria 48 es del tipo RAM estática con batería de seguridad, siendo la batería 49 de litio de larga duración. La memoria 48 se conmuta automáticamente a la batería y está protegida contra escritura cuando falta suministro eléctrico. El procesador está protegido contra acciones erróneas por medio de un controlador automático. La capacidad de memoria de los datos y del programa pueden configurarse de forma independiente. En cada caso las opciones disponibles abarcan desde 125 Kbytes hasta 512 Kbytes.
El procesador auxiliar de ejemplo está basado en la arquitectura "S8000" estándar de la industria, con ampliaciones para comunicación de datos de alta velocidad. No se guardan datos importantes en dicha memoria, siendo este procesador responsable únicamente de funciones de baja seguridad, tales como la lectura de tarjetas magnéticas y transferencia de datos. El procesador está protegido contra acciones erróneas por un controlador automático. La memoria 50 consta de 128 Kbytes de memoria RAM estática para programas y datos. No es necesaria la batería de seguridad 50 para esta memoria, puesto que se recarga a partir del microprocesador principal cuando sea necesario. Una memoria ROM de 32 Kbyte contiene el cargador de arranque incorporado. Todo el software, excepto el cargador de arranque incorporado, puede volverse a cargar de forma remota.
El subconjunto eléctrico de la UCI incluye además un reloj de tiempo real 51 como el Dallas DS1293S. El reloj de tiempo real proporciona la hora exacta del día y funciones de calendario. Funciona a partir de un reloj independiente a 32,755 kHz y recibe el suministro de alimentación del microprocesador principal 46.
Un pequeño conector 52 de la PCB permite añadir un SAM (una tarjeta inteligente recortada físicamente) a la placa si fuera necesario. Esta SAM puede usarse para guardar claves de codificación o un algoritmo cifrado para aplicaciones de alta seguridad. El microprocesador principal 46 también puede realizar esta tarea, pero por motivos comerciales es preferible usar una SAM.
La PCB de la UCI tiene una conexión adaptada para conectar un lector de banda magnética de 1 ó 2 pistas. La UCI proporciona potencia de tensión al lector y acepta las señales de nivel lógico TTL estándar.
El lector aceptará tarjetas conformes con la normativa ISO 7811 o ISO 7813. La UCI puede leer dos pistas simultáneamente, que son la pista 2 y la pista 1 o la pista 3.
El circuito de aceptación de tarjeta inteligente está diseñado para soportar tarjetas conformes a la normativa ISO 7816 con la adición de un mecanismo mecánico de aceptación de tarjetas compatible. Con el dispositivo de aceptación de tarjetas correcto, pueden aceptarse las tarjetas híbridas "magnéticas y de chip" por medio de una ranura común. Esto es adecuado para mercados donde se necesita una migración gradual. Pueden aceptarse las tarjetas síncronas (memoria o ficha) y las asíncronas (microprocesador). La tensión del programa (VPP) se limita preferentemente a 5 voltios que es lo esperan las tarjetas modernas.
Otras opciones de la interfaz de usuario preferiblemente soportadas por la UCI incluyen:
- Teclados directamente conectables a la UCI. Generalmente sólo se necesitarán teclados matrices, sin embargo, las configuraciones para teclados auxiliares mayores requerirían un pequeño esfuerzo extra.
- Pantalla de cristal líquido (LCD) conectable directamente a la UCI. La mayoría de pantallas LCD que usan el chip Hitachi HD44780 (un estándar de la industria) o sus equivalentes son compatibles. Estas pantallas están disponibles en varios formatos, desde 1 línea, 16 caracteres hasta 4 líneas, 24 caracteres.
- Un indicador de estado. Preferentemente dos diodos de emisión de luz (LED) se colocan en la parte delantera de la UCI para proporcionar una indicación de bajo coste del estado de la UCI. Los LED, si se usan, sobresaldrían a través de la ranura de la tarjeta en cualquier extremo de la ranura de la tarjeta, duplicándose como indicador de estado y resaltando la posición de la ranura de la tarjeta.
- Un indicador de información sonoro. El tablero contiene un zumbador para proporcionar información sonora de pulsaciones de teclas o condiciones de error. Un ejemplo de características de zumbador compatible sería un zumbador que genere un nivel de presión de sonido de 90 dB (@ 0,1 m) con una frecuencia nominal de 3100 Hz.
La UCI es una interfaz uniforme para terceros equipos en los que se vaya a incluir. La interfaz del vendedor incluye tres elementos distintos: un relé de alto voltaje, un bus de serie de máximo de intensidad y una interfaz de serie RS232. Además, el dispositivo de aceptación de tarjetas soporta una conexión para módem de datos en serie o una conexión para impresora a través del conector RS468/RS232 16.
El conjunto del sistema de control incluye dos fuentes de alimentación, en particular, una batería incorporada que proporciona energía de seguridad a la memoria del microprocesador principal y al reloj, junto con un suministro de alimentación de la red regulado. Una batería compatible con el suministro de alimentación de la batería podría ser, por ejemplo, una batería de 3,5 voltios 1200 mAHr.
La UCI de la presente invención tiene la capacidad de funcionar como interfaz para una gran cantidad de tarjetas, inteligentes y magnéticas, entender dichas tarjetas y realizar cualquier acción que sea necesaria, con las mínimas instrucciones totales. Puede leer la pista 1 o la pista 2 de tarjetas de crédito conformes a la norma ISO7811, leer y escribir en tarjetas inteligentes conformes a la normativa ISO 7816-3 (P=0 y P=1) y leer y escribir tarjetas de memoria conformes a la normativa ISO 7816.
En los conectores para tarjetas inteligentes tradicionales, el soporte electrónico de la tarjeta estaba limitado a tareas muy simples, porque el uso final del conector era desconocido. La presente invención, sin embargo, amplía las capacidades del concepto de conector con capas adicionales de software (el programa del microprocesador), contribuyendo cada capa con más funcionalidad y, al mismo tiempo, simplificando la tarea de comunicación con la tarjeta. Para añadir estas capas y realizar una función útil con ellas, la UCI incluye una base de datos con formatos, que contiene información sobre cada tipo de tarjeta que puede aceptar la UCI. Esta información conforma las reglas y directrices para el uso de dicha tarjeta. Incluye un resumen de las estructuras de datos de la tarjeta, procedimientos de transferencia, contenidos de datos e información de seguridad. Las directrices pueden remitir la UCI a un módulo de seguridad si fuera necesario. El módulo de seguridad es un pequeño dispositivo con microprocesador similar a una tarjeta inteligente que forma una parte semi-permanente de la PCB.
Con la información disponible de la base de datos de formatos, la UCI puede determinar fácilmente la funcionalidad general de la UCI y de la combinación de tarjeta. Esto puede modificar la secuencia de acciones tomadas de forma interna en respuesta a cualquier orden externa. El dispositivo externo no necesita apreciar las diferencias entre varios tipos de tarjetas. Puesto que el dispositivo externo no emite instrucciones muy diferentes para cada nueva tarjeta presentada, la interfaz de software entre la UCI y el dispositivo externo se simplifica.
La interfaz de software puede simplificarse aún más al reconocer que un número de instrucciones limitadas realizarán la inmensa mayoría de acciones deseadas en las tarjetas. La capa de software superior acumula todas las instrucciones u órdenes necesarias para definir la interfaz del software. La información de la base de datos de formatos también se usa para comprobar cualquier rotura potencial del sistema de seguridad cuando se usan las instrucciones en una capa de software inferior.
El software está organizado por estructuras modulares por capas, tal como se muestra en la siguiente tabla.
TABLA 1
1
2
Como puede verse en la tabla anterior, en la parte fundamental, las operaciones de la UCI están divididas en ocho capas.
Cada capa puede considerarse que consta de colecciones de objetos, donde un objeto es un conjunto ordenado autocontenido de funciones y datos. Los objetos de cada capa son generalmente accesibles únicamente a través de la capa inmediatamente superior o inferior. La interfaz entre las capas está bien organizada con controles basados en la información de la base de datos de formatos, evitando así las operaciones imprudentes.
Los datos contenidos en la base de datos de formatos están sólo disponibles para los objetos y capas seleccionadas. Esto reduce la posibilidad de que el dispositivo externo obtenga conocimiento sensible de formatos de tarjetas particulares. De forma similar, el acceso a los módulos de seguridad y del programa de cifrado está también restringido a objetos y capas seleccionados.
La base de datos de formatos consta de dos áreas principales: la biblioteca de formatos y la biblioteca principal. La biblioteca principal contiene detalles previamente personalizados de todas las tarjetas aceptadas. Esto incluye la capacidad de la tarjeta, la duración de la señal eléctrica, protocolos de intercambio de caracteres y una lista de las características disponibles en la tarjeta básica. Esta información es la que proporciona el fabricante de la tarjeta. La biblioteca de formatos contiene los detalles añadidos a la tarjeta por el emisor, después de que la tarjeta haya salido del fabricante.
En relación con las operaciones de cada capa, las capas varían desde operaciones elementales orientadas a caracteres de bajo nivel de la capa 1 hasta la interfaz genérica de nivel superior de la capa 8.
Las responsabilidades de la capa 1 incluyen las acciones básicas necesarias para la inserción o extracción de la tarjeta y la simple transmisión de datos a la tarjeta o desde la tarjeta.
La inserción de una tarjeta activa un micro conmutador que está constantemente controlado. La inserción de la tarjeta se comunica a las capas superiores, de forma que pueda realizarse la acción correspondiente. Las capas superiores pasan las instrucciones hacia abajo para intentar identificar la tarjeta actual. Entonces, se le aplica a la tarjeta las señales de potencia y control conformes con la norma ISO 7816. Cuando ya no se necesita la tarjeta, el circuito de la interfaz de la tarjeta se desactiva en una secuencia especificada por la norma ISO 7816. Si la tarjeta se extrae antes de tiempo, la misma secuencia se sigue de forma tan rápida como sea posible. Se informa a las capas superiores de la ausencia de la tarjeta, de forma que se realizarán acciones de "cierre". Estas pueden incluir la eliminación de claves de la sesión, inicio de sesión excepcional o aviso al titular de la tarjeta. Otra función que se incorpora en este nivel es la codificación o descodificación del flujo de datos.
La transferencia de caracteres y bits de datos individuales a la tarjeta y desde la tarjeta se realiza en esta capa, pero el agrupamiento de caracteres en mensajes y comandos es del dominio de las capas superiores. En general, el hardware de la UCI con el que se trata a este nivel lo hace sólo basándose en los caracteres. Las capas de codificación superior se encargan de hacer frente al contenido inteligente incluido dentro de los flujos de datos, mensajes, comandos, etc.
La capa 2 de la UCI controla la interacción con la tarjeta en el nivel de comando de la tarjeta. El nivel 2, por ejemplo, se adapta para dar el formato correcto a los comandos y datos para su transmisión a la tarjeta por la capa 1. El formateo de mensajes, detección de errores y las características de transmisión de la tarjeta inteligente las lleva a cabo la capa 2 según las especificaciones de la norma ISO7816.
El soporte de varias características de la UCI como el reloj de hora diaria, zumbador, puertos de comunicación, pantalla y teclado está incrementado por códigos en esta capa. Otro código de soporte encontrado aquí incluye drivers para impresora, drivers para pantalla, drivers para módem, búfer del teclado y búfer de datos del lector de tarjeta magnética según la norma ISO7810.
Durante la fase de inserción de la tarjeta, la capa 2 se usa para iniciar el proceso de restablecimiento de la tarjeta. La respuesta de la tarjeta al proceso de restablecimiento se usa para determinar si la tarjeta se comunica de forma síncrona o asíncrona. Esta información la usa la capa 3.
La conexión de la capa 3 se realiza a través de "tapones" o interrupciones del software. Las trampas T+2 de la capa existen para: el reloj de tiempo real, sistema, teclado, pantalla LCD, puertos de comunicación, lector de tarjeta magnética, módulo de seguridad/tarjeta magnética.
La operación de la capa 3 de la UCI depende del tipo de tarjeta. Por tanto, es importante identificar correctamente el tipo de tarjeta, dependiendo si es una tarjeta síncrona (normalmente tarjetas de ficha o tarjetas de memoria sin microprocesador) o asíncrona basada en microprocesador.
Al identificar una tarjeta síncrona, se leen los primeros tres bytes de la tarjeta. Estos se comparan con las cadenas de 3, 2 o incluso 1 bytes contenidos en una columna de una pequeña serie. En una columna adyacente se encuentran los números de referencia de las tarjetas ofrecidas por diferentes fabricantes. Una equivalencia con cualquier cadena indica que la tarjeta es conocida y aceptada. La Tabla 2 muestra un ejemplo de dicha serie. Habiendo identificado ya que la tarjeta es una tarjeta síncrona de un "modelo" o tipo particular de un fabricante concreto, la UCI puede seleccionar sólo aquellos comandos y procedimientos de manipulación aplicables a esta tarjeta. Por tanto, se informa a las capas superiores del tipo de tarjeta encontrado.
TABLA 2
3
Al identificar una tarjeta asíncrona, los bytes históricos de la norma ISO 7816 en respuesta a la cadena de restablecimiento se comparan con las cadenas contenidas en una columna de una pequeña serie. En una columna adyacente se encuentran los números de referencia de las tarjetas ofrecidas por diferentes fabricantes de tarjetas. Una equivalencia entre cadenas indica que la tarjeta es conocida y admitida. Un ejemplo de dicha serie se muestra en la Tabla 3.
TABLA 3
4
Habiendo identificado ya que la tarjeta es una tarjeta asíncrona de un "modelo" o tipo particular, de un fabricante concreto, la UCI puede seleccionar sólo aquellos comandos y procedimientos de manipulación aplicables a esta tarjeta. Por tanto, se informa a las capas superiores del tipo de tarjeta encontrado.
El acceso a los procedimientos anteriormente detallados se realiza a través de la función:
int decide_card_type (void)
que devuelve: M_CARD_TYPE o NULL si el tipo de tarjeta no es conocido.
En la comunicación con una tarjeta síncrona, la capa 3 usa una función "Access_Sync_Card" para controlar la comunicación. Por ejemplo:
int Access_Sync_Card (int command, int card_type, int len, char *pointer)
en los que los comandos se seleccionan entre
READ_UPDATE
ERASE_UPDATE
READ_FIXED
READ_TOKEN
READ_MANUFACTURER
DECREMENT_TOKENS
PRESENT_SECRET_CODE
card_type es el tipo de tarjeta determinado en las capas 3.1 y 3.3
len es el número de bytes que se van a tomar del búfer o el número de bytes de datos que se espera que devuelva la tarjeta.
pointer indica un búfer que contiene datos para la tarjeta o datos de la tarjeta en la terminación de la función de llamada y la función devuelve
NO_ERROR si el comando se ha ejecutado correctamente o
ERR_CARD_LOCKED o
ERR_FUNCTION_REFUSED o
ERR_THREE_BAD_PRESENTATIONS si el comando no se completó correctamente.
Basada en el tipo de tarjeta y en el comando, la función "Access_Sync_Card" hace referencia a una tabla de indicación de "cadena de acciones", tal como se muestra en la Tabla 4,
TABLA 4
6
El indicador s1, etc. de la Tabla 4 hace referencia a otra tabla, por ejemplo, la Tabla 5, esta vez de "cadena de acciones". Una "cadena de acciones" puede ser usada por una o más tarjetas.
TABLA 5
7
Una "cadena de acciones" consiste en una cadena de 1 o más "etiquetas" con un terminador NULL. La mayoría de "etiquetas" van seguidas de un valor "count". El "count" determina el número de bits o ciclos de reloj de la tarjeta sobre los que debe actuar la "etiqueta". Por ejemplo, las "cadenas de acciones" son del formato:
[etiqueta[,count],] [etiqueta[ count]] NULL
donde la etiqueta es RESET_ADDRESS
STEP count
READ count
ERASE count
WRITE count
En la comunicación con una tarjeta asíncrona, la capa 3 usa una función "Access_Async_Card" para controlar la comunicación. Por ejemplo:
int Access_Async_Card (int command, int card_type, int len, char *pointer, int P1, int P3)
donde el comando puede seleccionarse de READ_FILE
WRITE_FILE
SELECT_FILE
SELECT_DIRECTORY
SELECT_KEY
UPDATE_FILE
PRESENT_SECRET_CODE
card_type es el tipo de tarjeta determinado en las capas 3.2, 3.3
len es el número de bytes que se toman del búfer, o el número de bytes que se esperan de la tarjeta
*pointer indica un búfer que contiene datos para la tarjeta, o datos de la tarjeta cuando se completa la función de llamada.
P1 argumento 1, por ejemplo, el offset del archivo
P2 argumento 2, por ejemplo, el número del archivo seleccionado
y la función devuelve uno de los siguientes:
4001 ERR_FUNCTION_INVALID
4002 ERR_FUNCTION_MISMATCH
4xxx hex otras condiciones de error detectadas por el código de la UCI
6xxx hex=ISO y códigos de error del fabricante (sin traducción)
9000 NO_ERROR
9xxx hex=ISO y códigos de error del fabricante (sin traducción),
la función devuelve "NO_ERROR" si el comando se ha ejecutado correctamente.
Basada en el tipo de tarjeta y en el comando, la función "Access_Async_Card" hace referencia a una tabla de indicadores de "cadena de formato", tal como se muestra en la Tabla 6.
TABLA 6
8
Los indicadores hacen referencia a otra tabla como la Tabla 7 de "cadenas de formato". Una "cadena de formato" puede ser usada por más de una tarjeta.
TABLA 7
10
Las cadenas de formato son instrucciones de código de máquina con la finalidad de transmitirse directamente a la tarjeta. Las cadenas de formato son pequeñas series compuestas de la forma:
FLAG, CLA, INS, P1, P2, LEN
FLAG
si bit 0 set: comando "write"
si bit 1 set: len en los parámetros debe equivaler a LEN en la cadena, si no devuelve error
si bit 2 set: P2 en los parámetros debe equivaler a P2 en la cadena, si no devuelve error
si bit 3 set: P1 en los parámetros debe equivaler a P1 en la cadena, si no devuelve error
si bit 4 set: LEN en la cadena usada, parámetro ignorado
si bit 5 set: P2 en la cadena usada, parámetro ignorado
si bit 6 set: P1 en la cadena usada, parámetro ignorado
En la conexión con las capas superiores, la capa 3 usa "cadenas de comandos". Las cadenas de comandos constan de 1 o más etiquetas de comando, que terminan con Null. A cada cadena de comando (CS) se le hace referencia por su número de CS o su nombre de CS. Lo mismo ocurre con las etiquetas de comando. Las cadenas de comandos pueden construirse a partir de etiquetas y otras cadenas de comandos para realizar las funciones de la tarjeta correspondiente y del sistema correspondiente.
Las etiquetas de comando existen para realizar casi cualquier función posible dentro de la UCI. Pueden considerarse de muchas maneras como creadoras de un lenguaje de programación de alto nivel. Existen tres tipos de etiquetas de comando: relativas, directas e indirectas. El comportamiento de una etiqueta de comando directa no pude modificarse, el comportamiento exacto está codificado en la etiqueta. Las etiquetas relativas e indirectas usan parámetros para modificar el comportamiento de la etiqueta. Con las etiquetas relativas, los parámetros de modificación siguen a la etiqueta en la cadena del comando. Con las etiquetas de comando indirectas, los parámetros se leen desde una pila de parámetros, que pueden ser alterados por otras etiquetas.
Ejemplos de etiquetas de comando incluyen:
Determinar Tipo & emisor de tarjeta
Llamar Función Access_Sync_Card
Llamar Función Access_Async_Card
Leer datos de tarjetas magnéticas
para la interfaz de la tarjeta importa:
El envío de mensajes a impresoras, módems, pantallas,
La obtención de datos desde conmutadores de entrada para teclado,
La lectura del reloj de tiempo real,
para controlar dispositivos externos y
Copiar y manipular cadenas de datos,
Comparar cadenas,
Comprobar condiciones,
Saltarse la siguiente etiqueta de comando si se da la condición,
Saltar a una nueva cadena de comando,
Llamar a una nueva cadena de comando
para operaciones del programa interno.
Para la interactuación con las tarjetas es importante saber la estructura y formato de los datos de la memoria de la tarjeta. Para organizar y proporcionar los datos necesarios relativos a la memoria de la tarjeta, la UCI tienen una base de datos de formatos de archivo. Una vez que se han identificado el tipo de tarjeta y el número del emisor y (si fuera aplicable) una aplicación seleccionada, la base de datos puede usarse para guiar el acceso a los archivos de las aplicaciones. La Tabla 8 es un ejemplo de dicha base de datos que muestra las subdivisiones de cada tipo de tarjeta, emisor y aplicación. A los archivos de una aplicación dada se les hacer referencia por medio del número de archivo y el nombre del archivo posible, los que a su vez apuntan a un descriptor de archivo.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
(Tabla pasa a página siguiente)
TABLA 8
11
12
Los descriptores de archivo muestran los siguientes atributos de archivo:
Tipo de archivo
Indicador de clave de débito
Indicador de clave de crédito
Indicador de código secreto
Autoridad para lectura
Autoridad para escritura
Autoridad para actualización
Tamaño de archivo
Procedimiento de cifrado
Los indicadores de clave también pueden indicar cualquier necesidad de acceso de clave remoto, protocolo AS2805 (o similar), crédito en línea u otros servicios.
Cada vez que se selecciona un nuevo archivo (o "área de archivo" en el caso de tarjetas de memoria), el registro de estado del archivo se actualiza. Esta contiene alguna o toda la información siguiente:
Jerarquía/directorio de archivo
Número/nombre de archivo
Nombre largo opcional de identificación de archivo
Monedero/clave/norma/propietario de la descripción de archivo
Opción de monedero específica
Tamaño en bytes+bits
Criterio de acceso de lectura/escritura/niveles de actualización y bloqueos
Con las tarjetas que no soportan las características más avanzadas, las partes relevantes del registro estarán en blanco.
Existe información similar, pero más limitada, de tarjetas que soportan más de un área de emisor. Los siguientes son algunos datos disponibles al cambiar directorios:
Número de directorio
Condiciones de acceso
Se puede acceder a algunos datos generales desde la tarjeta por medio de un examen rudimentario. Esta información la usan las capas 4 y 5 de la UCI para soportar y corroborar la información derivada de la Tabla 5.
La capa 4 del programa de la UCI se encarga de los procedimientos de entidad. Su propósito es actuar de interfaz con los datos, estructuras, archivos, monederos y directorios de la tarjeta. Una de las funciones que realiza la capa 4 es determinar el emisor de una tarjeta insertada. Una vez que se ha determinado el tipo de tarjeta, se prueban un número de cadenas de comandos para intentar la identificación del archivo y de la presentación de datos de la tarjeta. En la Tabla 9 se muestra un ejemplo de cadenas de comandos que se van a intentar para diferentes tipos de tarjetas.
TABLA 9
13
Si la cadena de comandos funciona como se ha programado, el número de emisor resultante se convierte en la referencia del emisor de la tarjeta (o de la aplicación que lo ocupa conjuntamente).
Una vez que se ha determinado el número de emisor de la tarjeta, las capas de código superior pueden determinar las capacidades de la tarjeta actual y la combinación de la aplicación.
Un ejemplo de una acción de cadena de comando usada principalmente para la identificación del emisor es:
CS n:
Tarjeta IF es "Async" y Multi directory
Seleccionar directorio Master
Encontrar Primer archivo "Unrestricted Read"
Abrir fichero
Leer fichero
Fichero IF contiene = modelo CRD
Copiar datos de fichero en búfer CRD
Número de emisor de conjunto = n
La capa 4 es también responsable de la clave y del código secreto para la manipulación de las tarjetas.
La capa 5 de la UCI contiene las instrucciones del proceso para interactuar con las tarjetas. Para cada función genérica relativa a la tarjeta a la que se accede en la capa 8 de la UCI, la capa 5 incluye una tabla de tipo de tarjeta + números de emisor que muestra la cadena de comandos correspondiente para dicha aplicación. Se producen respuestas Null (nulas) en lugar de los números de cadena de comandos si la función solicitada no es válida para la tarjeta o aplicación actuales.
Esta tabla permite la traducción de las descripciones de funciones genéricas de la capa 8 en descripciones específicas de la aplicación de las capas inferiores.
La capa 5 también incluye rutinas de soporte para: Protocolos de comunicaciones (decisiones sobre uso de DES, HDLC, módem, transferencias diferidas
Transacciones de débito, crédito
Transacciones financieras a AS2805 o similar
MACing
Transferencia de registro de transacción
Formato de mensajes
Conexión lógica del módulo de seguridad a la aplicación de la tarjeta
Manipulación de clave y código secreto para las comunicaciones
Cifrado RSA
Mientras que la capa 5 incluye tablas y rutinas para instrucciones de procesos, la capa 6 usa estas tablas y rutinas para traducir entre las funciones e instrucciones genéricas de las capas 7 y 8 y los tipos de tarjeta de capas inferiores o emisores o instrucciones específicas de la aplicación de las capas inferiores.
La capa 7 proporciona un conjunto uniforme reducido de instrucciones para el uso por parte de dispositivos externos.
La capa 8 de la UCI aísla al usuario (el dispositivo externo) de todos los niveles inferiores, de forma que el usuario puede emitir comandos genéricos simples y permitir a la UCI que realice las acciones complicadas que se requieren para ejecutar los comandos.
La interfaz de la capa 8 es, efectivamente, independiente del tipo de tarjeta.
El usuario podría comunicarse con la UCI de la capa 8, por ejemplo, por medio de conmutadores, botones y relés o vínculos de datos en serie RS232.
Ejemplos de los comandos genéricos sobre los que podría actuar la capa 8 son:
Nueva tarjeta detectada
Identificar la nueva tarjeta, leer el número de tarjeta, resumen global y de usuario
Balance de cuenta (acc)
Actualización de información global y de usuario
Cuenta de débito (acc. amnt)
Cuenta de crédito (acc. amnt)
Lectura de archivo de datos sin formato (filename)
Actualización de archivo de datos sin formato (filename)
Transferencia de transacciones
Descarga de SO (sistema operativo)
Lectura del teclado
Impresión de mensaje
Presentación de mensaje
Configuración de pantalla, impresora, módem, dispositivos E/S
Carga de clave(s)
Como un ejemplo de operación de la UCI, cuando se inserta una nueva tarjeta, la capa 8 recibe una señal de "Nueva tarjeta insertada" (capa 1). El dispositivo externo (software de usuario) puede decidir entonces identificar la tarjeta y posiblemente realizar una transacción.
Desde la capa 8, ejecuta la identificación de la nueva tarjeta, etc.
Esto se traduce en las siguientes acciones:
- ejecutar decide_card_type para determinar el tipo de tarjeta del fabricante,
(esto usa procedimientos cubiertos por las tablas 2 y 3, estos a su vez usan procedimientos mencionados con respecto a la capa 2),
- ejecutar procedimientos detallados con respecto a la capa 4 para identificar cualquier aplicación(es) posible(s),
(esto usa las funciones de la capa 3, cadenas de comandos, etiquetas de comando y los datos relativos a las tablas 6 y 7).
Como otro ejemplo de la UCI en funcionamiento, al cargar una cuenta de una tarjeta.
Desde la capa 8: ejecute la función Debitacc #, amt 8) [capa 8,1.5].
Desde la capa 6: utilice la tabla de la capa 5, compruebe si existe CommandString para "Debit" en esta tarjeta.
Desde la capa 6: ejecute CommandString (secuencia de etiquetas de comandos) si está disponibles en la tabla.
Desde la capa 3: CommandString se interpreta en las siguientes acciones:
- selección del área de aplicación/subdirectorio de la tarjeta.
- selección del archivo o archivo monedero en el subdirectorio.
- selección de las claves de cifrado correctas, si fuera necesario (tal como viene indicado por la cadena de comando),
(la selección de subdirectorios, archivos y claves viene ayudada por el uso en la tabla 8) presentación de cualquier clave de cifrado usada, alteración del archivo o archivo monedero según la cantidad ("amount") grabación de los detalles de la transacción (si es necesario).
Por tanto, el comando genérico simple "Debit" enviado a la UCI es todo lo que necesita el usuario del software, la UCI completa todos los aspectos de la interfaz con la tarjeta actual, independientemente del tipo de tarjeta del emisor.
La UCI de la parte principal descrita tiene las siguientes ventajas:
1) puede reconocer una multitud de tipos de tarjeta
2) conoce las características y limitaciones de cada tipo de tarjeta
3) conoce la ordenación de datos de cada tipo de tarjeta y todas las reglas relevantes de acceso
4) las acciones no están predefinidas, sino que vienen determinadas por dispositivos externos y
5) la interfaz para el dispositivo externo es simple, de modo que el fabricante del dispositivo externo necesita poco o ningún conocimiento externo sobre tarjetas inteligentes, algoritmos de seguridad o manejo de transacciones financieras.

Claims (11)

1. Un dispositivo de lectura/escritura (31, 32) de tarjetas que conecta un programa de aplicación host con una tarjeta de almacenamiento de datos que tiene una aplicación de tarjeta asociada, caracterizado porque:
dicho dispositivo de lectura/escritura (31, 32) de tarjetas es capaz de responder a dicho programa de aplicación host usando al menos un lenguaje de alto nivel designado,
hay almacenados diversos conjuntos de protocolos de bajo nivel que corresponden a diversas aplicaciones diferentes de tarjeta de almacenamiento de datos,
dicho lector (31, 32) de tarjetas incluye medios para identificar a partir de la tarjeta la aplicación de la tarjeta concreta para cualquier tarjeta conectada a él para la que tiene un conjunto de protocolos almacenados y para seleccionar de entre esos protocolos almacenados el protocolo de bajo nivel apropiado para la aplicación de la tarjeta identificada,
dicho dispositivo de lectura/escritura (31, 32) incluye medios para leer y traducir comandos en lenguaje de alto nivel desde el programa host en los comandos correspondientes dentro de dicho protocolo de bajo nivel establecido y para la escritura de estos comandos de bajo nivel en dicha tarjeta, y
dicho dispositivo de lectura/escritura (31, 32) incluye medios para leer comandos en dicho protocolo de bajo nivel establecido en dicha tarjeta y para traducirlos en los correspondientes comandos en dicho lenguaje de alto nivel y para escribir estos comandos en dicho programa de aplicación host.
2. Un dispositivo de lectura/escritura (31, 32) de tarjetas de acuerdo con la reivindicación 1, caracterizado porque puede cargarse con conjuntos de protocolos adicionales apropiados para las aplicaciones de la tarjeta adicionales a aquellos conjuntos de protocolos inicialmente almacenados.
3. Un dispositivo de lectura/escritura de tarjetas de acuerdo con la reivindicación 1 o reivindicación 2, caracterizado porque diversas cadenas caracterizadoras de aplicación de la tarjeta están almacenados y cada uno corresponde a una aplicación de la tarjeta de almacenamiento de datos conocida, incluyendo dicho dispositivo de lectura/escritura de tarjeta medios para leer en una tarjeta conectada a él la cadena de datos que caracteriza a la aplicación de la tarjeta y dicho dispositivo de lectura/escritura de tarjeta incluye medios para hacer equivalente dicha cadena de datos de lectura con dicha cadena caracterizadora de la aplicación de tarjeta almacenada y de ese modo identificar la aplicación de la tarjeta.
4. Un dispositivo de lectura/escritura (31, 32) de tarjetas de acuerdo con cualquiera de las reivindicaciones 1 a 3, caracterizado porque en cada conjunto de protocolos de bajo nivel mencionados se incluye un conjunto de cadenas de comandos y dicho dispositivo de lectura/escritura de tarjetas incluye medios para traducir comandos en lenguaje de alto nivel del programa host con las cadenas de comandos correspondientes.
5. Un dispositivo de lectura/escritura (31, 32) de tarjetas de acuerdo con cualquiera de las reivindicaciones 1 a 4 caracterizado porque dicho dispositivo de lectura/escritura (31, 32) de tarjetas incluye medios para identificar comandos de dicho programa host no soportados por dicha aplicación de tarjeta y medios para escribir un comando de error a dicho programa host bajo la identificación de un comando no soportado.
6. Un dispositivo de lectura/escritura (31, 32) de tarjetas de acuerdo con la reivindicación 1, incluyendo dicho dispositivo de lectura/escritura (31, 32) de tarjetas un dispositivo de aceptación de tarjetas (31) y un controlador (32), junto con un procesador (46), que tienen asociado un software de interfaz de almacenamiento de memoria y matrices de datos y puertos de entrada-salida que permiten la conexión de dicho dispositivo de aceptación de tarjetas (31) con un puerto de entrada-salida y de dicho controlador (32) con un segundo puerto de entrada-salida para formar una interfaz de tarjetas universal para que sirva de interfaz entre tarjetas inteligentes y otros dispositivos de tarjeta que tengan almacenamiento de datos electrónico o magnético con un controlador que requiera acceso de lectura/escritura para dichas tarjetas,
y donde dichas matrices de datos incluyan primera y segunda matrices de datos que contienen cadenas de datos caracterizadoras de aplicaciones de tarjetas conocidas y para cada cadena su correspondiente identificador de aplicaciones de tarjeta correspondiente y conteniendo dichas segundas matrices de datos identificadores de aplicaciones de tarjetas y para cada identificador sus correspondientes cadenas de comandos, un software de interfaz que cuando es ejecutado por dicho procesador (46) provoca que dicho procesador (45):
(1) detecte la presencia de una tarjeta presentada a dicho dispositivo de aceptación de tarjetas (31) y pase una señal de detección de tarjeta a dicho controlador (32),
(2) lea en la tarjeta la cadena de datos que caracteriza a la aplicación de tarjetas,
(3) busque al menos a través de la primera matriz una cadena de datos equivalente y después de encontrar una equivalencia con éxito, recupere el identificador de la aplicación de la tarjeta correspondiente,
(4) seleccione las cadenas de comandos apropiadas en dicha segunda matriz usando el identificador de aplicación de la tarjeta recuperado,
(5) acepte instrucciones de transacción genérica de dicho controlador (32)
(6) traduzca las instrucciones de dicho controlador (32) en los comandos apropiados para la aplicación de la tarjeta usando las cadenas de comandos seleccionadas de la segunda matriz, y
(7) lea o escriba datos en dicha tarjeta de acuerdo con dichas instrucciones genéricas.
7. Un procedimiento de conexión de un programa de aplicación host y una tarjeta de almacenamiento de datos que tiene una aplicación de tarjeta asociada caracterizada por los pasos de:
identificación de la aplicación de tarjeta particular de la tarjeta,
selección del almacenamiento de diversos protocolos el protocolo de bajo nivel apropiado para la aplicación de la tarjeta identificada,
lectura de comandos en lenguaje de alto nivel del programa host,
traducción de dichos comandos leídos en lenguaje de alto nivel a los comandos correspondientes dentro de dicho protocolo de bajo nivel identificado,
escritura de dichos comandos correspondientes en dicha tarjeta,
lectura de los comandos en dicho protocolo de bajo nivel establecido de dicha tarjeta,
traducción de dichos comandos del protocolo de bajo nivel en los comandos correspondientes de dicho lenguaje de alto nivel, y
escritura de dichos comandos correspondientes en dicho lenguaje de alto nivel en dicho programa de aplicación host.
8. Un procedimiento de acuerdo con la reivindicación 7, en donde la identificación de la aplicación de la tarjeta particular incluye los pasos de lectura en la tarjeta de una cadena de datos que caracteriza a la aplicación de la tarjeta y comparar dicha cadena de datos leída con una cadena caracterizadora de la aplicación de la tarjeta de entre diversas cadenas caracterizadoras de la aplicación de la tarjeta, correspondiendo cada una a una aplicación de tarjeta de almacenamiento de datos conocida para, por tanto, identificar la aplicación de la tarjeta.
9. Un procedimiento como se reivindicó en la reivindicación 7 o en la reivindicación 9, que incluye el paso de la identificación de los comandos en lenguaje de alto nivel leídos del programa host que no sean soportados por dicha aplicación de la tarjeta y tras la identificación de un comando no soportado, la devolución de un comando de error a dicho programa host.
10. Un procedimiento de acuerdo con la reivindicación 7 que incluye:
(1) la lectura de la tarjeta a la que se le va a conectar la cadena de datos que caracteriza una aplicación de tarjeta particular,
(2) la búsqueda de una cadena de datos equivalente a través de una primera matriz de datos que contiene cadenas de datos caracterizadores de aplicaciones de tarjetas conocidos y para cada cadena su correspondiente identificador de aplicación de tarjeta, y, tras la realización de una equivalencia correcta, la recuperación del identificador de tarjeta correspondiente,
(3) la selección de las cadenas de comandos apropiadas a partir de una segunda matriz de datos que contiene identificadores de la aplicación de tarjeta, y para cada identificador sus correspondientes cadenas de comandos, usando el identificador de la aplicación de tarjetas recuperado,
(4) la aceptación de las instrucciones de transacción genéricas del programa de aplicación host,
(5) la traducción de las instrucciones de dicho programa de aplicación host en comandos de bajo nivel apropiados para la aplicación de tarjeta que se está conectando usando las cadenas de comandos seleccionadas de dicha segunda matriz de datos, y
(6) hacer que los datos se lean de dicha tarjeta o escriban en dicha tarjeta de acuerdo con dichas instrucciones genéricas.
\newpage
11. Un procedimiento de acuerdo con la reivindicación 7, en donde dicho programa de aplicación host comprende una jerarquía de módulos de función donde:
un módulo de primer nivel lee en la tarjeta que se va a conectar la cadena de datos que caracteriza a dicha aplicación de tarjeta y pasa dicha cadena de datos a un módulo de segundo nivel,
el módulo de segundo nivel busca una cadena de datos equivalente a partir de una primera matriz de datos, que contiene cadenas de datos caracterizadores de la aplicación de la tarjeta conocida y para cada cadena su correspondiente identificador de aplicación de tarjeta y, tras realizar una equivalencia con éxito, recupera el identificador de la aplicación de tarjeta correspondiente y pasa dicho identificador de aplicación de tarjeta a un módulo de tercer nivel,
el módulo de tercer nivel selecciona las cadenas de comandos apropiadas de una segunda matriz que contiene identificadores de la aplicación de la tarjeta y para cada identificador sus cadenas de comandos correspondientes, usando el identificador de la aplicación de tarjeta que se le ha pasado,
un módulo de quinto nivel acepta instrucciones de transacción genéricas de dicho software de aplicación host y pasa dichas instrucciones a un módulo de cuarto nivel,
el módulo de cuarto nivel traduce las instrucciones de dicho módulo de quinto nivel a los comandos de bajo nivel apropiados para la aplicación de la tarjeta que se está conectando usando las cadenas de comandos seleccionadas por el módulo de tercer nivel y el módulo de primer nivel lee o escribe en dicha tarjeta de acuerdo con las instrucciones genéricas traducidas pasadas desde el módulo de cuarto nivel.
ES96912337T 1995-05-09 1996-05-09 Interfaz de tarjetas. Expired - Lifetime ES2156275T5 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NZ27209495 1995-05-09
NZ27209495 1995-05-09

Publications (2)

Publication Number Publication Date
ES2156275T3 ES2156275T3 (es) 2001-06-16
ES2156275T5 true ES2156275T5 (es) 2005-07-16

Family

ID=19925257

Family Applications (1)

Application Number Title Priority Date Filing Date
ES96912337T Expired - Lifetime ES2156275T5 (es) 1995-05-09 1996-05-09 Interfaz de tarjetas.

Country Status (14)

Country Link
US (2) US6213392B1 (es)
EP (1) EP0826215B2 (es)
JP (1) JPH11505049A (es)
KR (1) KR100285111B1 (es)
CN (1) CN1138196C (es)
AT (1) ATE198803T1 (es)
AU (1) AU687312B2 (es)
BR (1) BR9608285A (es)
DE (1) DE69611613T3 (es)
DK (1) DK0826215T3 (es)
ES (1) ES2156275T5 (es)
GR (1) GR3035751T3 (es)
PT (1) PT826215E (es)
WO (1) WO1996036051A1 (es)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6698654B1 (en) * 1995-05-09 2004-03-02 Smartmove (Nz) Ltd. Method of interfacing with data storage card
US6213392B1 (en) * 1995-05-09 2001-04-10 Smartmove, Ltd. Card interface for interfacing a host application program to data storage cards
AU5595398A (en) * 1996-12-03 1998-06-29 Strategic Analysis, Inc. Method and apparatus for formatting smart cards and card readers
US6718319B1 (en) 1996-12-03 2004-04-06 Strategic Analysis, Incorporated Method and apparatus for formatting smart cards and card readers
ES2125830B1 (es) * 1997-03-04 1999-11-16 Infos Ingenieria Informatica S Lector/grabador de tarjetas microprocesadoras.
JPH1127746A (ja) * 1997-07-03 1999-01-29 Sony Corp 携帯端末機
US6685312B2 (en) 1997-10-24 2004-02-03 Fargo Electronics, Inc. Ink jet card printer
US6702282B2 (en) 1997-10-24 2004-03-09 Fargo Electronics, Inc. Card transport mechanism roller support
US5928347A (en) * 1997-11-18 1999-07-27 Shuttle Technology Group Ltd. Universal memory card interface apparatus
US6615189B1 (en) 1998-06-22 2003-09-02 Bank One, Delaware, National Association Debit purchasing of stored value card for use by and/or delivery to others
US7809642B1 (en) 1998-06-22 2010-10-05 Jpmorgan Chase Bank, N.A. Debit purchasing of stored value card for use by and/or delivery to others
FR2785700B1 (fr) * 1998-11-10 2001-01-12 St Microelectronics Sa Procede de gestion d'un circuit electronique
US6032136A (en) * 1998-11-17 2000-02-29 First Usa Bank, N.A. Customer activated multi-value (CAM) card
US7660763B1 (en) 1998-11-17 2010-02-09 Jpmorgan Chase Bank, N.A. Customer activated multi-value (CAM) card
DE19855813A1 (de) * 1998-12-03 2000-06-15 Kreft Hans Diedrich Mittel und Verfahren zum Test von Karten in einem Terminal
DE69938034T2 (de) * 1999-01-04 2009-01-15 Nidec Sankyo Corp. Kartenlesegerät
ES2330915T3 (es) * 1999-01-25 2009-12-17 Fargo Electronics, Inc. Metodo y aparato para la comunicacion entre una impresora o una plastificadora y sus suministros.
US6694884B2 (en) 1999-01-25 2004-02-24 Fargo Electronics, Inc. Method and apparatus for communicating between printer and card supply
US7018117B2 (en) * 1999-01-25 2006-03-28 Fargo Electronics, Inc. Identification card printer ribbon cartridge
US7344325B2 (en) * 1999-01-25 2008-03-18 Fargo Electronics, Inc. Identification card printer having ribbon cartridge with cleaner roller
US6832866B2 (en) * 1999-01-25 2004-12-21 Fargo Electronics, Inc. Printer or laminator supply
US7154519B2 (en) * 1999-01-25 2006-12-26 Fargo Electronics, Inc. Printer and ribbon cartridge
US6932527B2 (en) * 1999-01-25 2005-08-23 Fargo Electronics, Inc. Card cartridge
US20040040026A1 (en) * 1999-06-08 2004-02-26 Thinkpulse, Inc. Method and System of Linking a Smart Device Description File with the Logic of an Application Program
AU5470600A (en) * 1999-06-20 2001-01-09 Thinkpulse, Inc. Method and system of performing a security check of a smart device description file
US8793160B2 (en) 1999-12-07 2014-07-29 Steve Sorem System and method for processing transactions
US6758616B2 (en) 2000-01-21 2004-07-06 Fargo Electronics, Inc. Identification card printer
DE10008308A1 (de) * 2000-02-23 2001-08-30 Orga Kartensysteme Gmbh Kartenterminal
JP2001250092A (ja) * 2000-03-03 2001-09-14 Toshiba Corp カード型電子機器、及びカード型電子機器に適用されるコンテンツ管理方法
US7147558B2 (en) 2000-03-22 2006-12-12 Wms Gaming Inc. System and method for dispensing gaming machine credits in multiple different media of monetary exchange
US6631849B2 (en) * 2000-12-06 2003-10-14 Bank One, Delaware, National Association Selectable multi-purpose card
US7313546B2 (en) 2001-05-23 2007-12-25 Jp Morgan Chase Bank, N.A. System and method for currency selectable stored value instrument
WO2003010701A1 (en) 2001-07-24 2003-02-06 First Usa Bank, N.A. Multiple account card and transaction routing
US7311244B1 (en) 2001-08-13 2007-12-25 Jpmorgan Chase Bank, N.A. System and method for funding a collective account by use of an electronic tag
US8020754B2 (en) 2001-08-13 2011-09-20 Jpmorgan Chase Bank, N.A. System and method for funding a collective account by use of an electronic tag
DK1430448T3 (da) 2001-08-24 2007-04-23 Cubic Corp Universel billettransportenhed
JP3641230B2 (ja) * 2001-10-22 2005-04-20 株式会社東芝 メモリカードを制御するための装置および方法
US6985167B2 (en) * 2002-03-01 2006-01-10 Fargo Electronics, Inc. Card cleaner roller assembly
US7756896B1 (en) 2002-03-11 2010-07-13 Jp Morgan Chase Bank System and method for multi-dimensional risk analysis
US7899753B1 (en) 2002-03-25 2011-03-01 Jpmorgan Chase Bank, N.A Systems and methods for time variable financial authentication
AU2003230751A1 (en) 2002-03-29 2003-10-13 Bank One, Delaware, N.A. System and process for performing purchase transaction using tokens
US20040210498A1 (en) 2002-03-29 2004-10-21 Bank One, National Association Method and system for performing purchase and other transactions using tokens with multiple chips
WO2003085587A1 (en) * 2002-04-10 2003-10-16 Axalto Sa A system comprising a smart card and a reader
EP1353289A1 (en) * 2002-04-10 2003-10-15 Schlumberger Systèmes System comprising a smart card and a reader
US20030197056A1 (en) * 2002-04-19 2003-10-23 Dunham Matthew K. Identification card printer data encoder module
US20030197770A1 (en) 2002-04-19 2003-10-23 Klinefelter Gary M. Card cartridge and card feed adapter for an ink jet sheet feeder printer
AU2003209968A1 (en) * 2002-05-28 2003-12-12 Lukasz Figiel A computer peripheral
US8239304B1 (en) 2002-07-29 2012-08-07 Jpmorgan Chase Bank, N.A. Method and system for providing pre-approved targeted products
US6945524B2 (en) 2002-09-05 2005-09-20 Fargo Electronics, Inc. Card singularization gate
US7809595B2 (en) 2002-09-17 2010-10-05 Jpmorgan Chase Bank, Na System and method for managing risks associated with outside service providers
JP2004264921A (ja) * 2003-02-26 2004-09-24 Sony Corp 非接触icカードの通信システム及び通信方法
US7044517B2 (en) * 2003-03-14 2006-05-16 Toyoda Gosei Co., Ltd. Front grille for a vehicle
FI20035072A0 (fi) * 2003-05-22 2003-05-22 Nokia Corp Liitäntäväylä, elektroniikkalaite ja järjestelmä
US8306907B2 (en) 2003-05-30 2012-11-06 Jpmorgan Chase Bank N.A. System and method for offering risk-based interest rates in a credit instrument
US7878505B2 (en) * 2003-08-19 2011-02-01 Hid Global Corporation Credential substrate rotator and processing module
US7953663B1 (en) 2003-09-04 2011-05-31 Jpmorgan Chase Bank, N.A. System and method for financial instrument pre-qualification and offering
US7206010B2 (en) * 2004-04-16 2007-04-17 Zih Corp. Systems and methods for providing a media located on a spool and/or a cartridge where the media includes a wireless communication device attached thereto
US7392222B1 (en) 2004-08-03 2008-06-24 Jpmorgan Chase Bank, N.A. System and method for providing promotional pricing
DE102004049671B4 (de) * 2004-10-12 2007-08-02 Mühlbauer Ag Elektronisches Modul für die Herstellung, Programmierung und das Testen von Chipkarten und zugehöriges Verfahren
KR100706343B1 (ko) * 2005-04-18 2007-04-13 주식회사 케이티프리텔 통합 정보 관리 ic 칩 및 이를 이용한 다중 서비스 제공방법
US7401731B1 (en) 2005-05-27 2008-07-22 Jpmorgan Chase Bank, Na Method and system for implementing a card product with multiple customized relationships
US7747874B2 (en) * 2005-06-02 2010-06-29 Seagate Technology Llc Single command payload transfers block of security functions to a storage device
US7493656B2 (en) 2005-06-02 2009-02-17 Seagate Technology Llc Drive security session manager
US7455218B2 (en) * 2005-06-20 2008-11-25 Microsoft Corproation Rich object model for diverse Auto-ID tags
KR100747601B1 (ko) * 2005-09-27 2007-08-08 한국전자통신연구원 Rfid태그 사용자 데이터 접근 시스템 및 방법
US7309007B2 (en) * 2005-10-04 2007-12-18 First Data Corporation Systems and methods for personalizing transaction cards
CN100461139C (zh) * 2005-10-26 2009-02-11 威盛电子股份有限公司 快闪存储卡存取装置与方法
US8408455B1 (en) 2006-02-08 2013-04-02 Jpmorgan Chase Bank, N.A. System and method for granting promotional rewards to both customers and non-customers
US7784682B2 (en) 2006-02-08 2010-08-31 Jpmorgan Chase Bank, N.A. System and method for granting promotional rewards to both customers and non-customers
US7753259B1 (en) 2006-04-13 2010-07-13 Jpmorgan Chase Bank, N.A. System and method for granting promotional rewards to both customers and non-customers
US20080147495A1 (en) * 2006-12-19 2008-06-19 General Electric Company System and method for providing promotions
US20080147496A1 (en) * 2006-12-19 2008-06-19 General Electric Company System and method for providing promotions
US7966355B2 (en) * 2007-02-13 2011-06-21 Modu Ltd. Interface for extending functionality of memory cards
US8676642B1 (en) 2007-07-05 2014-03-18 Jpmorgan Chase Bank, N.A. System and method for granting promotional rewards to financial account holders
US20090089148A1 (en) * 2007-09-27 2009-04-02 General Electric Company System and method for providing promotions
US8417601B1 (en) 2007-10-18 2013-04-09 Jpmorgan Chase Bank, N.A. Variable rate payment card
JP4600518B2 (ja) * 2008-05-20 2010-12-15 ソニー株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム
USD636021S1 (en) 2008-07-17 2011-04-12 Jpmorgan Chase Bank, N.A. Eco-friendly transaction device
USD620975S1 (en) 2009-02-12 2010-08-03 Jpmorgan Chase Bank, N.A. Transaction device
USD617378S1 (en) 2009-02-12 2010-06-08 Jpmorgan Chase Bank, N.A. Transaction device with a gem-like surface appearance
CN101820696B (zh) * 2009-02-26 2013-08-07 中兴通讯股份有限公司 支持增强型近场通信的终端及其处理方法
US8725589B1 (en) 2009-07-30 2014-05-13 Jpmorgan Chase Bank, N.A. Methods for personalizing multi-layer transaction cards
WO2011035114A1 (en) 2009-09-18 2011-03-24 Hid Global Corporation Card substrate rotator
USD623690S1 (en) 2010-03-05 2010-09-14 Jpmorgan Chase Bank, N.A. Metal transaction device with gem-like surface
US10878404B2 (en) * 2010-06-29 2020-12-29 Feitian Technologies Co., Ltd. Method for operating an e-purse
USD643064S1 (en) 2010-07-29 2011-08-09 Jpmorgan Chase Bank, N.A. Metal transaction device with gem-like surface
US10475024B1 (en) 2012-10-15 2019-11-12 Square, Inc. Secure smart card transactions
USD854083S1 (en) 2013-03-27 2019-07-16 Jpmorgan Chase Bank, N.A. Hybrid transaction device
US9760740B1 (en) 2014-06-23 2017-09-12 Square, Inc. Terminal case with integrated dual reader stack
US10108947B2 (en) * 2014-07-31 2018-10-23 Square, Inc. Smart card reader with public key index on host device
US10753982B2 (en) 2014-12-09 2020-08-25 Square, Inc. Monitoring battery health of a battery used in a device
US10504106B2 (en) * 2016-07-25 2019-12-10 Mastercard International Incorporated Methods, systems, networks, and media for transferring data streams through vibration to haptic devices
US10102014B2 (en) * 2016-08-26 2018-10-16 Sap Se User interface employing nested data
US10318319B2 (en) 2016-08-26 2019-06-11 Sap Se Two-model user interface system
CN107403119B (zh) * 2017-06-13 2021-04-23 北京三快在线科技有限公司 一种智能卡信息读取方法及装置
CN111367465A (zh) * 2018-12-26 2020-07-03 深圳市江波龙电子股份有限公司 一种存储设备的控制方法及存储设备、电子设备

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4392207A (en) * 1980-09-09 1983-07-05 Burroughs Corporation Card reader-data link processor
US4618925A (en) 1981-05-22 1986-10-21 Data General Corporation Digital data processing system capable of executing a plurality of internal language dialects
US4839640A (en) * 1984-09-24 1989-06-13 Adt Inc. Access control system having centralized/distributed control
JP2539385B2 (ja) 1986-08-08 1996-10-02 株式会社日立製作所 情報処理装置
US4768150A (en) * 1986-09-17 1988-08-30 International Business Machines Corporation Application program interface to networking functions
JPS63250789A (ja) * 1987-04-07 1988-10-18 Hitachi Maxell Ltd Icカ−ドシステムとそのリ−ダライタ
JPS63250726A (ja) 1987-04-07 1988-10-18 Hitachi Maxell Ltd リ−ダライタ
US5226161A (en) * 1987-08-21 1993-07-06 Wang Laboratories, Inc. Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types
US4808803A (en) * 1987-08-24 1989-02-28 Figgi International, Inc. Security system
JP2748253B2 (ja) * 1990-06-08 1998-05-06 共同印刷株式会社 Icカード情報処理システム
FR2667171B1 (fr) 1990-09-25 1994-08-26 Gemplus Card Int Support portable a micro-circuit facilement programmable et procede de programmation de ce micro-circuit.
JP3489123B2 (ja) * 1992-04-15 2004-01-19 株式会社日立製作所 アプリケーション結合方法
EP0930566A3 (en) * 1992-07-06 2006-07-05 Microsoft Corporation Method and system for composing objects
EP0583723A1 (en) 1992-08-20 1994-02-23 THOMSON multimedia Card, card reader and method for protocol selection
FR2701133B1 (fr) * 1993-02-04 1995-03-10 Gemplus Card Int Procédé de communication avec un support portatif.
US5463772A (en) * 1993-04-23 1995-10-31 Hewlett-Packard Company Transparent peripheral file systems with on-board compression, decompression, and space management
EP0624851A1 (en) * 1993-05-13 1994-11-17 Angewandte Digital Elektronik GmbH Coupler between the applications on the card level and the applications on the system level
US5329291A (en) * 1993-08-18 1994-07-12 Liang Ying Co., Ltd. Cathode ray tube optical filter device with cursor pointing function
JPH07104981A (ja) * 1993-09-30 1995-04-21 Hitachi Software Eng Co Ltd オブジェクトリンク情報を用いたプログラム構築装置
US5732270A (en) * 1994-09-15 1998-03-24 Visual Edge Software Limited System and method for providing interoperability among heterogeneous object systems
US5613120A (en) * 1994-10-20 1997-03-18 Silicon Graphics, Inc. System and method for enabling, without recompilation, modification of class definitions and implementations in an object-oriented computer program
GB9422803D0 (en) * 1994-11-11 1995-01-04 At & T Global Inf Solution A card reader
US5729745A (en) * 1994-11-14 1998-03-17 Microsoft Corporation Methods and apparatus for creating a base class for manipulating external data connections in a computer generated document
EP1460594B1 (en) 1995-04-28 2010-09-29 Koninklijke KPN N.V. A device for transparent interaction between an IC card and a remote terminal
US6213392B1 (en) * 1995-05-09 2001-04-10 Smartmove, Ltd. Card interface for interfacing a host application program to data storage cards
US6698654B1 (en) * 1995-05-09 2004-03-02 Smartmove (Nz) Ltd. Method of interfacing with data storage card
US5761625A (en) 1995-06-07 1998-06-02 Alliedsignal Inc. Reconfigurable algorithmic networks for aircraft data management
US5706502A (en) * 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US6145119A (en) * 1997-03-31 2000-11-07 International Business Machines Corporation Programming development environment for intranet and internet applications employing unique project data structure
US6308164B1 (en) * 1997-04-28 2001-10-23 Jeff Nummelin Distributed project management system and method
US6185733B1 (en) * 1998-01-20 2001-02-06 International Business Machines Corporation Method and apparatus for remote object code inclusion

Also Published As

Publication number Publication date
DE69611613D1 (de) 2001-02-22
US20040103415A1 (en) 2004-05-27
AU5517996A (en) 1996-11-29
JPH11505049A (ja) 1999-05-11
PT826215E (pt) 2001-07-31
WO1996036051A1 (en) 1996-11-14
ES2156275T3 (es) 2001-06-16
EP0826215B2 (en) 2005-01-26
EP0826215B1 (en) 2001-01-17
DE69611613T2 (de) 2001-08-09
EP0826215A4 (en) 1998-12-16
KR100285111B1 (ko) 2001-03-15
DK0826215T3 (da) 2001-05-07
US6213392B1 (en) 2001-04-10
CN1138196C (zh) 2004-02-11
CN1189914A (zh) 1998-08-05
ATE198803T1 (de) 2001-02-15
EP0826215A1 (en) 1998-03-04
AU687312B2 (en) 1998-02-19
KR19990008336A (ko) 1999-01-25
GR3035751T3 (en) 2001-07-31
DE69611613T3 (de) 2005-10-13
BR9608285A (pt) 2000-04-25

Similar Documents

Publication Publication Date Title
ES2156275T5 (es) Interfaz de tarjetas.
US6698654B1 (en) Method of interfacing with data storage card
JP3543327B2 (ja) スマートカードからのデータ読出し
EP0202622B1 (en) Reader and writer for an ic card
KR100239235B1 (ko) 카드 및 그 처리장치
KR900005212B1 (ko) 패스워어드를 변경할 수 있는 ic 카아드
US6564995B1 (en) Smart card application-selection
US6578768B1 (en) Method and device for selecting a reconfigurable communications protocol between and IC card and a terminal
AU597359B2 (en) Ic card system
EP0843250B1 (en) Computer keyboard with integral encoded device reader
KR970004106B1 (ko) Ic 카드
WO1998034696A9 (en) Hand held video game
WO1998034696A1 (en) Hand held video game
KR910009097B1 (ko) 휴대가능 전자장치
KR20080100275A (ko) 전자 장치, 정보 처리 장치, 어댑터 장치 및 정보 교환 시스템
US10552826B2 (en) Selecting an application on a card
KR100538193B1 (ko) 프로토콜 제어용 집적 회로
US11100491B2 (en) Electronic card and method of operating electronic card
CA2219734C (en) Card interface
CN100354872C (zh) 证件信息识别***
US20020158122A1 (en) Method and system to interpret and manage different smart card data architectures
CN1091910C (zh) 用于核对感应式贮值卡、使其有效并进行编纂的独立设备
KR20190041993A (ko) 전자 카드 및 전자 카드 동작 방법
JPH0362290A (ja) 携帯可能電子装置システム
JPS62135793A (ja) 情報認識装置付き時計

Legal Events

Date Code Title Description
FG2A Definitive protection

Ref document number: 826215

Country of ref document: ES