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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods 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
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/0004—Hybrid readers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/0008—General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/0013—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10009—Methods 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/10297—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/355—Personalisation of cards for use
- G06Q20/3552—Downloading 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.
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.
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.
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.
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.
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.
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.
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.
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,
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.
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.
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.
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)
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.
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.
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)
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)
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 |
-
1996
- 1996-05-09 US US08/945,626 patent/US6213392B1/en not_active Expired - Lifetime
- 1996-05-09 CN CNB961952040A patent/CN1138196C/zh not_active Expired - Fee Related
- 1996-05-09 BR BR9608285-2A patent/BR9608285A/pt not_active Application Discontinuation
- 1996-05-09 DK DK96912337T patent/DK0826215T3/da active
- 1996-05-09 AU AU55179/96A patent/AU687312B2/en not_active Ceased
- 1996-05-09 WO PCT/NZ1996/000038 patent/WO1996036051A1/en active IP Right Grant
- 1996-05-09 KR KR1019970707862A patent/KR100285111B1/ko not_active IP Right Cessation
- 1996-05-09 ES ES96912337T patent/ES2156275T5/es not_active Expired - Lifetime
- 1996-05-09 PT PT96912337T patent/PT826215E/pt unknown
- 1996-05-09 AT AT96912337T patent/ATE198803T1/de not_active IP Right Cessation
- 1996-05-09 JP JP8533975A patent/JPH11505049A/ja active Pending
- 1996-05-09 EP EP96912337A patent/EP0826215B2/en not_active Expired - Lifetime
- 1996-05-09 DE DE69611613T patent/DE69611613T3/de not_active Expired - Fee Related
-
2001
- 2001-04-12 GR GR20010400602T patent/GR3035751T3/el unknown
-
2003
- 2003-11-18 US US10/715,979 patent/US20040103415A1/en not_active Abandoned
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 |