PT819287E - Sistema de gestao de transaccoes controlado por um circuito integrado - Google Patents

Sistema de gestao de transaccoes controlado por um circuito integrado Download PDF

Info

Publication number
PT819287E
PT819287E PT95909594T PT95909594T PT819287E PT 819287 E PT819287 E PT 819287E PT 95909594 T PT95909594 T PT 95909594T PT 95909594 T PT95909594 T PT 95909594T PT 819287 E PT819287 E PT 819287E
Authority
PT
Portugal
Prior art keywords
terminal
cci
application
transaction
interpreter
Prior art date
Application number
PT95909594T
Other languages
English (en)
Inventor
Guido Heyns
Peter Johannes
Original Assignee
Europay International Societe
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Europay International Societe filed Critical Europay International Societe
Publication of PT819287E publication Critical patent/PT819287E/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • G06F7/10Selecting, i.e. obtaining data of one kind from those record carriers which are identifiable by data of a second kind from a mass of ordered or randomly- distributed record carriers
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)
  • Devices For Executing Special Programs (AREA)
  • Lock And Its Accessories (AREA)
  • Automobile Manufacture Line, Endless Track Vehicle, Trailer (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Debugging And Monitoring (AREA)
  • Automatic Analysis And Handling Materials Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Selective Calling Equipment (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Communication Control (AREA)

Description

DESCRIÇÃO
SISTEMA DE GESTÃO DE TRANSACÇÕES CONTROLADO POR UM
CIRCUITO INTEGRADO A presente invenção diz respeito a um sistema de gestão de transacções controlado por um circuito integrado, com o fim de executar uma transacção entre um cartão com circuito integrado (CCI) e um terminal ligado, ou não, a uma unidade central, em que uma transacção consiste na execução de, pelo menos, uma das seguintes sequências: 1. criar um canal de comunicação entre o ICC e o terminal; 2. executar um teste de compatibilidade para garantir que o CCI e o terminal são mecanicamente e electricamente compatíveis; 3. seleccionar uma aplicação suportada quer pelo PC quer pelo terminal, o que significa seleccionar um programa de computador e o conjunto de dados associado que define a transacção em termos da combinação presente do CCI específico e do terminal; 4. executar a dita aplicação no CCI e no terminal do sistema e 5. finalizar a transacção, que opcionalmente inclui a interrupção do canal de comunicação entre o CCI e o terminal. O documento WO 92/13322 descreve um método seguro para carregar uma multiplicidade de aplicações na memória do microprocessador do CCI, contendo meios para criar um canal de comunicação entre o CCI e o terminal do sistema.
Existem vários tipos de transacções entre um CCI e um terminal: o -2- terminal pode controlar o acesso aos sítios onde apenas os proprietários do CCI podem ter acesso; nas chamadas transacções financeiras o CCI pode ser carregado com símbolos que representam artigos de consumo obtidos no servidor do terminal (e.g. o total de milhas de passageiro frequente, unidades de crédito de serviços de telecomunicação, etc....), ou o CCI pode actuar como depósito de informação de contas bancárias para permitir transacções financeiras mais gerais; ou o CCI pode ser usado para armazenar dados, e.g. como CCI de identidade ou como armazenamento de registos médicos.
As características conhecidas do dito CCI e do terminal do sistema são: 1. O equipamento do terminal (i.e. o processador e os periféricos que, pelo menos, incluem o dispositivo de comunicação com o CCI) é acessível através do sistema operativo do terminal. Os sistemas operativos do terminal são específicos do fornecedor do equipamento. 2. Cada terminal que participa em certos tipos de transacções normalizadas (e.g. transacções financeiras internacionais) suporta, para aquelas transacções, uma norma comum permitindo ao CCI executar aplicações numa forma normalizada com terminais de qualquer fornecedor. Por exemplo, as transacções financeiras internacionais são actualmente baseadas nas normas inter-indústrias conforme é definido na norma ISO 7810/7811/7812/7813/7816. 3. Cada fornecedor de transacções normalizadas para terminal tem de fornecer uma aplicação, i.e. um programa e um conjunto de dados associado, ou uma especificação da aplicação, definidos em termos de uma norma comum. 4. Algumas partes fornecem aplicações ou especificações de aplicação que só parcialmente são construídas sob uma norma comum. Para condições especiais que estão fora do âmbito da norma comum, as ditas partes necessitam de confiar no sistema operativo do terminal. 5. Outras partes fornecem aplicações ou especificações de aplicação que são sua propriedade ou que não são baseadas em nenhuma norma comum. Neste caso, elas só se baseiam no sistema operativo do terminal para executar a transacção. 6. Cada programa de aplicação necessita de ser compilado e ligado separadamente, para cada tipo de terminal. Isto significa que para cada aplicação o programa específico tem que estar residente no terminal. 7. As aplicações definem grandes conjuntos de parâmetros do terminal administrando as regras da seu aceitação. Estes parâmetros podem necessitar de ser partilhados com outras aplicações. 8. Os programas de aplicações devem estar fisicamente instalados em cada terminal. 9. Podem ser exigidas no terminal, versões diferente de programas de aplicação que definem a mesma transacção durante mais ou menos períodos extensos de conversão.
As características associadas com o dito conhecido CCI e terminal do sistema carregado com aplicações múltiplas, impõem fortes limitações no equipamento do terminal, que deve ser capaz de armazenar e manejar todos os programas de aplicações possíveis e os conjuntos de dados associados. Além disso, um esforço considerável de logística é indispensável para gerir a distribuição e a manutenção de todos os programas em todos os terminais.
Aquelas características têm as seguintes desvantagens:
Alterar as especificações dos programas do terminal ou elementos delas, ou alterar especificações dos programas de aplicação, ou elementos delas, ou alterar as implementações de uma especificação, .ou elementos dela, ou criar novas aplicações, requer desenvolver novos programas para cada tipo de terminal alvo e carregar este novo programa em cada terminal alvo. Além disso, é -4- obrigatório a certificação de todos os tipos CCI em circulação nesse momento e para aqueles que estão planeados para edições futuras; A flexibilidade restrita, porque mesmo pequenas alterações a uma norma comum têm de ser combinadas entre todos as partes que a usam;
Cada uma das aplicações requer uma capacidade de armazenamento no terminal, capacidade que é limitada;
As normas comuns não são suficientemente completas para suportar todas as necessidades dos fornecedores;
As aplicações necessitam de ser implementadas cuidadosamente de modo a que nenhum dos seus programas, ou nenhum dos seus parâmetros interfiram uns com os outros;
Esta abordagem reduz o CCI a um mero dispositivo de memória, visto não ser possível dar ao CCI o controlo sobre cada tipo de terminal, devido à variedade de sistemas operativos diferentes em uso.
As supra citadas desvantagens resultam numa falta de flexibilidade do dito CCI e do terminal do sistema. Consequentemente, o tempo para lançar no mercado novas aplicações, o aprimoramento ou o melhoramento de aplicações é acentuadamente longo, na ordem de várias anos, do mesmo modo que todos os CCI e todos terminais são afectados. FR-A-2667171 apresenta um sistema de transacções, controlado por um circuito integrado, que utiliza um interpretador no CCI o qual trata da execução de uma aplicação, e o dito interpretador no CCI é capaz de aceder e usar pelo menos uma parte da memória do CCI e a pelo menos uma parte dos periféricos dos CCI.
Um problema a ser resolvido é a falta de flexibilidade do sistema. -5- A presente invenção tem como alvo facilitar a administração de todos as aplicações possíveis, com todos os CCI possíveis, em qualquer terminal. Esta finalidade é conseguida através de um sistema de gestão de transacções com CCI do tipo descrito no preâmbulo da reivindicação 1 em anexo, que é assinalável pelas as características da parte que caracteriza a reivindicação 1, utilizando um interpretador que trata a solução proposta, compreendendo, assim, quer a utilização de interpretadores no CCI, quer no terminal (ou em ambos) e com a execução de uma aplicação, quer no CCI, quer no terminal, ou em ambos, onde o interpretador no terminal é capaz de aceder e usar pelo menos uma parte da memória do terminal e uma parte dos periféricos do terminal, e.g. teclado, monitor, impressora, ou modem.
De facto, um interpretador realiza a interpretação entre um programa escrito numa linguagem universal compacta alto nível para uma linguagem específica para explorar o terminal ou o CCI. Para todas os efeitos práticos um interpretador consiste num programa que lê um fluxo de entrada (o interpretador no CCI lê o fluxo de dados de entrada vindo do terminal, e o interpretador no terminal lê o fluxo de dados de entrada, vindo do CCI) e de um ou mais dicionários, onde o dicionário é uma colecção de palavras, cada uma referindo-se a instruções executáveis. A linguagem interpretadora é independente do CCI e do terminal do sistema, e pode e.g. ser FORTH (ver norma ANSI: Secretária X3J14, c/o FORTH Inc. 111 Sepulveda Blvd.. Suite 300, Manhatan Beach, CA 90266).
Um primeiro benefício de utilizar um interpretador num sistema de gestão de transacções controlado por um CCI, de acordo com a invenção, é a possibilidade de armazenar novas aplicações ou elementos delas, ou -6- actualizações ou melhoramentos para as aplicações existentes, ou elementos delas, no CCI, codificada numa linguagem interpretada. Isto permite diminuir o tempo para colocar no mercado novas aplicações ou aprimorar ou aperfeiçoar as aplicações existentes ou elementos delas. O tempo ou o esforço necessário para colocar no mercado aplicações novas, aprimoradas ou melhoradas é reduzido relativamente ao tempo ou esforço necessário para carregá-las em termos da linguagem interpretada no CCI, o qual pode exigir o carregamento de dicionários, novos melhorados ou aprimorados no CCI. Deste modo o CCI possui controlo sobre toda a aplicação. Não é necessário despender nenhum tempo ou esforço para actualizar os terminais. Mesmo quando devem ser feitas alterações aos dicionários do terminal, é suficiente carregar as definições novas, aprimoradas ou melhoradas no CCI durante um período introdutório ou de reconversão, até que estejam disponíveis no terminal as definições novas aprimoradas ou melhoradas. É possível implementar o CCI e o terminal do sistema de tal modo que as novas definições, aprimoradas ou melhoradas na CCI, são transferidas para o terminal durante uma transacção e são armazenadas permanentemente na memória do terminal. A gestão da funcionalidade do terminal é reduzida à instalação, numa única vez, do mesmo programa interpretador e do mesmo dicionário da linguagem do interpretador, daqui em diante referido como núcleo do dicionário do interpretador, quer durante o processo de fabricação do terminal ou postenormente. E possível aprimorar ou aperfeiçoar o interpretador após a instalação do terminal, e.g. através do carregamento em linha ou através de um CCI. Podem ser carregados dicionários adicionais opcionais, e.g. dicionários exclusivos ou dicionários normalizados comuns. -7- ί
Um segundo benefício de utilizar um interpretador num sistema de gestão de transacções controlado por CCI, de acordo com a invenção, é que o suporte para muitas aplicações no terminal é reduzido à disponibilidade no terminal do programa interpretador e do dicionário interpretador central e das identificações das aplicações suportadas. Os dicionários adicionais são opcionais.
Um terceiro benefício em utilizar um interpretador, num sistema de gestão de transacções controlado por CCI, de acordo com a invenção, é a possibilidade do CCI definir completamente e controlar, consequentemente, a aplicação. A presente invenção proporciona a possibilidade de administrar eficientemente muitas aplicações em muitos terminais essencialmente diferentes e a possibilidade para instalar aplicações novas, melhoradas, ou aprimoradas, ou partes delas, numa forma muito eficiente, afim de ter um tempo acentuadamente reduzido para colocar no mercado transacções novas, aprimoradas ou melhoradas e para permitir o CCI a controlar a transacção.
As implicações positivas do acima exposto são:
As alterações das especificações dos programas do terminal apenas afectam a implementação do interpretador nesse terminal. O único esforço necessário para manter a compatibilidade com as aplicações existentes consiste em garantir que o programa interpretador e o interpretador central se mantém implementados correctamente.
Consequentemente, apenas um programa necessita de ser recertificado, e apenas relativamente a uma especificação, designadamente a definição do interpretador. O CCI não tem necessidade de ser recertificado porque a linguagem do -8-
interpretador usado na aplicação mantém a mesma especificação. A necessidade de ter normas comuns é reduzida à disponibilidade do interpretador como uma função normalizada que pode ser codificada na linguagem do interpretador e armazenada no CCI. A introdução, de aplicações novas, melhoradas ou aprimoradas, não precisa de afectar os dicionários que foram armazenados no terminal, porque todas as aplicações e os dicionários relacionados são definidos em termos da linguagem do interpretador e podem ser carregados no CCI.
Os conjuntos de dados da aplicação são todos geridos pelo interpretador, o que toma mais fácil a sua gestão. O CCI pode participar activamente na execução do programa de aplicação, ou elementos dele, pela implementação no CCI de um programa interpretador e do dicionário central. Se o CCI for apenas um CCI de memória, ele pode ainda controlar a aplicação armazenando-a inteiramente, i.e. o terminal actua inteiramente de acordo com as definições do CCI.
Algumas aplicações podem exigir serviços específicos de segurança, e.g. integridade dos dados, autenticação do CCI e do terminal ou confidencialidade dos dados. Estes podem ser fornecidos com técnicas actuais, conforme é definido e.g. na ISO 10202.
De acordo com uma primeira particularidade da invenção, uma aplicação consiste de uma ou mais funções; cada função consistindo de uma parte de controlo referida como o cabeçalho da função e uma parte executável referida como o corpo da dita função. O cabeçalho determina que os corpos têm de ser executados e sob que condições. Ambas as partes da função são capazes de ser independentemente armazenadas num dicionário. As funções podem ser definidas em termos de outras funções, i.e. as funções podem ser encadeadas. -9-
Um corpo que é armazenado num dicionário é acessível através a designação do corpo, e um cabeçalho armazenado num dicionário é acessível via a sua designação de cabeçalho. No entanto isto não impede, de qualquer maneira, programar uma função na linguagem do interpretador, apenas oferece a possibilidade de escrever compactamente aplicações flexíveis, misturando cuidadosamente as designações dos corpo, designações de cabeçalho e código da linguagem do interpretador. As funções também podem ser armazenadas nos dicionários, referidas por meio de suas designações de cabeçalho. Este método de referência permite definir cada função em quatro modos: 1. Quer o cabeçalho quer o corpo podem estar codificadas na linguagem do interpretador; 2. Cabeçalho pode estar codificado na linguagem do interpretador, enquanto que o corpo é activado através da sua designação do corpo; 3. Cabeçalho é definido através de a sua designação de cabeçalho, enquanto que o corpo é completamente expandido no código da linguagem do interpretador; 4. Quer o cabeçalho quer o corpo são armazenados como referências, designação de cabeçalho e designação de corpo, respectivamente. A invenção permite a presença de vários tipos de dicionários no CCI e no terminal do sistema: 1. núcleo do interpretador e um dicionário indispensável; 2. vários dicionários opcionais incluindo definições referentes a: a) certo tipos de transacções normalizadas, e.g. o dicionário contendo todas as - 10- fimções definidas na ISO/IEC 7816, usadas nas transacções financeiras internacionais, referido como o dicionário normalizado; b) transacções exclusivas exigindo definições não normalizadas, referidas como o dicionário exclusivo. O dicionário definido no CCI pode conter funções novas, melhoradas ou aprimoradas ou partes delas. Esses dicionários normalmente têm precedência sobre os dicionários do terminal. Contudo a segurança de algumas aplicações podem impedir a redefinição de certas palavras em certos dicionários.
As características de segurança podem ser fornecidas através de mecanismos de protecção específicos disponíveis no estado da arte das implementações do interpretador. A invenção permite armazenar uma aplicação eficientemente no CCI e permite uma execução flexível no CCI e no sistema do terminal. De facto, os seguintes cenários de armazenamento são possíveis devido à invenção: 1. A transacção adere completamente a uma norma. Isto significa que o CCI apenas tem de armazenar a designação da função da aplicação, que está definida no dicionário normalizado no terminal; 2. Se a transacção é exclusiva e a aplicação está definida no terminal com o qual comunica, o CCI apenas tem que armazenar a designação da aplicação da função, que está definida no dicionário exclusivo no terminal; 3. Se a transacção é exclusiva e a aplicação não está definida no terminal com o qual ele comunica, a definição da aplicação tem de então de ser armazenada no CCI, no dicionário do CCI. As funções da aplicação podem usar designações do corpo e designações do cabeçalho quer de dicionários -11 -
normalizados quer de exclusivos, mas pode também incluir código da linguagem do interpretador.
Exemplo 1:
Admitindo uma aplicação com o seguinte cabeçalho (dado em pseudo-codigo):
Se (x=l) então func_a(y) senão se (x_2 ) então func_b (y) então func_c(y) onde a func a, fiincb and func_c são definidas no dicionário exclusivo do terminal. Vamos admitir que nesse dicionário func_a(y)=y+x. Então o cabeçalho como foi acima apresentado, é tudo que necessita de ser armazenado no CCI para este estar habilitado a executa-lo. Neste caso não há necessidade de um dicionário no CCI. Agora, admitindo que a implementação do interpretador permite aos dicionários do CCI ter precedência sobre os dicionários do terminal, e admitindo o fornecedor da aplicação pretende redefinir func_a(y) para func_a(y)=y-x. Neste caso, ele pode ainda usar o mesmo cabeçalho, e tem agora a possibilidade de escolher, entre fazer a actualização de todos dicionários exclusivos em todos os terminais, ou incluir a nova definição no dicionário do CCI. Esta nova definição será então usada durante a execução da aplicação. A invenção permite que: a) um dicionário do CCI pode ser utilizado para aumentar, aperfeiçoar ou actualizar definições do dicionário do terminal. Um mecanismo para o fazer é, e.g. - 12- fomecido na linguagem FORTH, onde as palavras definidas ultimamente podem redefinir entradas anteriores no dicionário. b) alguns dicionários, e.g. o núcleo do interpretador ou o dicionário normalizado para algumas aplicações, podem ser protegidos contra apagamento e contra redefinições. As técnicas para alcançar tal protecção fazem parte do estado da arte: um exemplo é apresentado na patente W090/05347.
Os seguintes cenários de execução são possíveis devido à invenção: 1. O terminal executa o programa da aplicação, ou elementos dele, enquanto o CCI apenas actua como um contentor de dados e possivelmente como um dispositivo de armazenamento para o programa de aplicação exclusivo, ou elementos dele. 2. Quer o CCI, quer o terminal, executam partes da aplicação. Por razões de segurança poderá ser obrigatório que certos dados não abandonem o CCI, consequentemente todas as manipulações envolvendo tais dados devem ser executado no CCI. Consequentemente o CCI e o terminal comunicam os resultados das manipulações dos dados em vez dos próprios dados. 3. O CCI executa a aplicação, enquanto que o terminal apenas necessita de conter as identificações das aplicações que ele suporta. Neste caso o terminal pode ser usado como um mero dispositivo de armazenamento, e.g. o terminal pode fornecer ao CCI um dicionário que contém as definições de funções em termos da linguagem do interpretador que são usadas durante a execução da aplicação no CCI.
Isto permite o CCI usar definições sem ter que armazená-las.
Isto significa que a invenção traz as seguintes vantagens: i -13- 1. A flexibilidade para definir, aperfeiçoar ou actualizar aplicações muito facilmente e rapidamente, à custa do armazenamento delas no CCI, confiando no interpretador do terminal para a execução, e baseando-se no núcleo do dicionário do interpretador do terminal para as definições. 2. A flexibilidade para armazenar aplicações numa forma compacta no CCI utilizando dicionários no terminal. 3. A flexibilidade para executar a aplicação quer no CCI, quer no terminal ou em ambos (CCI e terminal), dependendo da disponibilidade de capacidade de processamento no CCI e no terminal. 4. A flexibilidade para permitir múltiplos CCI participar numa transacção. O interpretador pode ser implementado num terminal com leitores múltiplos de CCI.
Em tal sistema é possível fornecer aplicações, quer armazenadas num ou mais CCI, um terminal ou qualquer combinação dum terminal e de vários CCI, que realizam transacções de CCI para CCI. Neste caso o terminal poderia ser muito simples, apenas fornecendo os meios de comunicação entre os vários CCI e fornecendo, possivelmente, alguns dicionários para diminuir as exigências de armazenamento no CCI.
Os vários CCI poderiam também fornecer recursos uns aos outros. 5. A flexibilidade para controlar a transacção a partir quer do CCI, quer do terminal ou quer do CCI e do terminal. A transacção é o resultado da execução de uma aplicação e, consequentemente, é determinada completamente pelo programa de aplicação e pelo conjunto de dados associado. Como tal, o controlo da transacção, ou elementos dela, é determinado pela contribuição do CCI, do terminal ou conjuntamente pelo CCI e pelo terminal. Quando a transacção é completamente determinada por uma aplicação - 14- residente no terminal, o cartão pode apenas contribuir para a aplicação com um conjunto de dados que contém e, de seguida, suportar a transacção. Quando a transacção é completamente determinada pela aplicação residente no CCI, o terminal contribui para ela com o seu conjunto de dados e suporta a transacção. O terminal e o CCI podem também executar igualmente a transacção, pelo que ambos determinam e executam a transacção. Pode ocorrer que o CCI e o terminal do sistema estejam ligados a uma unidade central, a partir da qual ele requer serviços adicionais, caso em que a unidade central pode dinamicamente contribuir para a aplicação. E.g. o CCI pode forçar o terminal a ligar-se à sua unidade central e requisitar a actualização dos dados no CCI. O controlo da aplicação não necessita de estar estritamente no CCI ou no terminal.
Num passo inicial, uma aplicação tem que ser seleccionada para execução no CCI e no terminal do sistema. Esta escolha é banal quando o CCI e o terminal não têm nenhuma aplicação, ou têm exactamente uma aplicação em comum. Quando as aplicações múltiplas são suportadas no terminal e no CCI, a prática corrente é deixar ao proprietário do CCI, ou ao operador do terminal, definir interactivamente que aplicação é escolhida. Isto não é impedido pela invenção, que proporciona também um mecanismo inteligente para seleccionar a aplicação, dependendo dos parâmetros CCI, dos parâmetros do terminal, das capacidades do CCI e das capacidades do terminal.
De facto, após a inserção do CCI no terminal e após o CCI ter satisfeito todos os testes de compatibilidade, o primeiro acto que o terminal executa é verificar se o CCI suporta uma aplicação que ele conhece. Por forma a descobrir isto, o terminal tentará seleccionar consecutivamente uma das suas aplicações residentes. Se uma aplicação estiver presente no CCI, o CCI contém a descrição - 15- da aplicação. De acordo com a invenção, um corpo possível no cabeçalho da aplicação é uma função de selecção de aplicações. Esta função de selecção de aplicações tem de ser executada pelo interpretador com argumentos determinados pelo CCI. Isto significa que uma aplicação, que é suportada pelo terminal, e definida no CCI, é possível seleccionar a escolha de uma das muitas aplicações que estão definidas no CCI. Visto que os corpos de uma função de selecção de aplicações podem ser função de selecção de aplicações, a aplicação pode ser seleccionada recursivamente.
Exemplo 2:
Considere-se o exemplo seguinte: O CCI contém as seguintes aplicações: Euro, Euro-Debit, Euro-Credit, Us-Debit, Us-Credit. O terminal apenas conhece a aplicação Euro. Quando o terminal inspecciona o CCI, o resultado da selecção da função aplicação será Euro e os dados relacionados com ela. A definição da aplicação EURO pode ser guardada quer no terminal quer no CCI. Admitindo que é armazenada no CCI, então poderia ser definida como segue (em pseudo código): começo se (CCI <QUANTIA 100) então se (terminal está localizado na Europa) então seleccione aplicação Euro-Debit senão se (terminal está localizado em US) então seleccione aplicação US-Debit senão abortar movimento. - 16- senão se (terminal está localizado na Europa) então seleccione aplicação Euro-Credit senão se (terminal está localizado em US) então activa aplicação US-Credit senão abortar movimento fim movimento, em que • O texto não sublinhado significa o cabeçalho, e o texto sublinhado significa um corpo.
Neste caso, o terminal apenas conhecendo o EURO pode seleccionar aplicações definidas no CCI.
Qualquer implementação da presente invenção impõe a actividade seguinte: 1. Se o CCI está a ser utilizado como um mero CCI de memória: a) implementar um interpretador seguro no terminal, com o seu núcleo de dicionário interpretador; b) definir e implementar dicionários para a aplicação; c) implementar a aplicação na linguagem do interpretador, fazendo possivelmente utilização dos dicionários disponíveis; d) implementar um mecanismo para usar os dicionário do CCI. 2. Se o CCI toma uma parte activa na execução da aplicação: a) implementar um interpretador seguro e o seu núcleo do dicionário, no terminal, e implementar um interpretador seguro e o seu núcleo do dicionário, no CCI; - 17- b) definir e implementar dicionários para as aplicações; c) implementar a aplicação na linguagem do interpretador, possivelmente fazendo uso dos dicionários disponíveis; d) implementar um mecanismo no terminal para usar os dicionários do CCI; e) implementar um mecanismo no CCI e no terminal para gerir a execução das aplicações no CCI e no terminal do sistema; implementar no cartão um mecanismo par usar os dicionários do terminal. ; / A invenção não é evidentemente limitada a um sistema de gestão de transacções que utiliza um cartão. Muitas modificações podem ser feitas na forma, na organização e na constituição do suporte do circuito integrado, sem se afastar do âmbito da invenção, e.g. uma chave ou um cartão de identificação.
Lisboa, 1 de Fevereiro de 2000
JORGE CRUZ
Agente Oficial da Propriedade Industrial RUA VICTOR CORDON, 14 1200 LISBOA

Claims (12)

  1. REIVINDICAÇÕES 1. Um sistema de gestão de transacções controlado por um circuito integrado com funções de executar entre um CCI e um terminal ligado ou não a uma unidade central, uma transacção consistindo de pelo menos da execução de uma das seguintes sequências: 1. criar um canal de comunicação entre o CCI e o terminal; 2. executar um teste de compatibilidade para garantir que o CCI e o terminal são mecanicamente e electricamente compatíveis; 3. seleccionar uma aplicação contida no CCI e no terminal, o que significa a fazer a escolha de um programa de computador e de um conjunto de dados associados que define a transacção em termos da combinação do CCI e do terminal específicos presentes; 4. executar a dita aplicação no CCI do terminal do sistema e 5. finalizar a transacção, que opcionalmente inclui a interrupção do canal de comunicação entre o CCI e o terminal, onde o dito sistema utiliza um interpretador que trata da execução de uma aplicação no CCI, enquanto que este interpretador opcional no CCI é capaz de aceder e usar pelo menos uma parte da memória do CCI e pelo menos uma parte dos periféricos do CCI, e caracterizado por o dito sistema utilizar, além disso, pelo menos um interpretador quer no terminal quer no CCI, ou em ambos, pelo que o interpretador no terminal é capaz de aceder e usar pelo menos uma parte da memória do terminal e pelo menos uma parte dos periféricos do terminal.
  2. 2. Um sistema de gestão de transacções de acordo com a reivindicação 1, caracterizado por cada aplicação consistir de várias funções, -2- cada função consistindo da parte de controlo referida como sendo o cabeçalho, e uma parte executável, referida como sendo o corpo da dita função, em que ambas as partes da dita função são armazenadas possivelmente independentemente num dicionário.
  3. 3. Um sistema de gestão de transacções de acordo com a reivindicação 1, caracterizado pelas funções podem ser encadeadas.
  4. 4. Um sistema de gestão de transacções, de acordo com qualquer das reivindicações de 1 a 3, caracterizado por uma função na descrição da aplicação ser uma "função de selecção de aplicação" que é executada pelo i interpretador com argumentos determinados pelo CCI, de modo que a aplicação seleccionada pode ser executada recursivamente.
  5. 5. Um sistema de gestão de transacções, de acordo com qualquer uma das reivindicações anteriores, caracterizado por o interpretador no CCI ser capaz de aceder e de usar pelo menos uma parte da memória do CCI e pelo menos uma parte dos periféricos do CCI associados.
  6. 6. Um sistema de gestão de transacções de acordo com uma das reivindicações anteriores, caracterizado por o interpretador no terminal ser capaz de aceder e de usar pelo menos uma parte da memória do terminal e pelo menos uma parte dos periféricos do terminal.
  7. 7. Um sistema de gestão de transacções de acordo com uma das reivindicações anteriores, caracterizado por o CCI ser um mero CCI de memória que acompanha a transacção que é determinada pelo terminal.
  8. 8. Um sistema de gestão de transacções de acordo com uma das -3- reivindicações de 1 a 6, caracterizado por o CCI determinar a transacção e pelo terminal apenas necessitar reconhecer uma aplicação no CCI e de ser capaz de seleccioná-la, e de suportar a transacção.
  9. 9. Um sistema de gestão de transacções, de acordo com uma das reivindicações de 1 a 6, caracterizado por o CCI e pelo terminal determinarem e executarem ambos a transacção.
  10. 10. Um sistema de gestão de transacções de acordo com a reivindicação 8, caracterizado pelo terminal ser um puro dispositivo de interface entre vários CCI.
  11. 11. Um sistema de gestão de transacções de acordo com uma das reivindicações de 7 a 9, caracterizado por cada CCI conter uma aplicação personalizada diferentemente.
  12. 12. Um sistema de gestão de transacções de acordo com uma das reivindicações anteriores, caracterizado por o interpretador ser implementado num terminal com vários leitores e CCI, e dotado de aplicações quer no CCI quer no terminal, ou em ambos, que realizam uma combinação de transacções. Lisboa, 1 de Fevereiro de 2000
    Agente Oficial da Propriedade Industrial RUA VICTOR CORDON, 14 1200 LISBOA
PT95909594T 1995-02-17 1995-02-17 Sistema de gestao de transaccoes controlado por um circuito integrado PT819287E (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/BE1995/000017 WO1996025724A1 (en) 1995-02-17 1995-02-17 Integrated circuit controlled transaction management system

Publications (1)

Publication Number Publication Date
PT819287E true PT819287E (pt) 2000-04-28

Family

ID=3888709

Family Applications (1)

Application Number Title Priority Date Filing Date
PT95909594T PT819287E (pt) 1995-02-17 1995-02-17 Sistema de gestao de transaccoes controlado por um circuito integrado

Country Status (25)

Country Link
US (1) US6254288B1 (pt)
EP (1) EP0819287B1 (pt)
JP (1) JPH10513585A (pt)
KR (1) KR19980702349A (pt)
AT (1) ATE186414T1 (pt)
AU (1) AU689550B2 (pt)
BG (1) BG101797A (pt)
CA (1) CA2211037A1 (pt)
CZ (1) CZ239297A3 (pt)
DE (1) DE69513200T2 (pt)
DK (1) DK0819287T3 (pt)
EE (1) EE03323B1 (pt)
ES (1) ES2140660T3 (pt)
FI (1) FI973352A0 (pt)
GR (1) GR3032529T3 (pt)
HU (1) HUT77416A (pt)
LV (1) LV11923B (pt)
MD (1) MD970263A (pt)
NO (1) NO973693L (pt)
NZ (1) NZ281157A (pt)
PL (1) PL179977B1 (pt)
PT (1) PT819287E (pt)
SI (1) SI0819287T1 (pt)
SK (1) SK102897A3 (pt)
WO (1) WO1996025724A1 (pt)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR9713267A (pt) * 1996-10-25 2004-06-15 Schlumberger Systems & Service Cartão de circuito integrado para uso com um terminal, processo para uso com o mesmo, microcontrolador e processo para sua programação
US6157966A (en) * 1997-06-30 2000-12-05 Schlumberger Malco, Inc. System and method for an ISO7816 complaint smart card to become master over a terminal
US6564995B1 (en) 1997-09-19 2003-05-20 Schlumberger Malco, Inc. Smart card application-selection
US6308270B1 (en) 1998-02-13 2001-10-23 Schlumberger Technologies, Inc. Validating and certifying execution of a software program with a smart card
US6808111B2 (en) 1998-08-06 2004-10-26 Visa International Service Association Terminal software architecture for use with smart cards
US6591229B1 (en) 1998-10-09 2003-07-08 Schlumberger Industries, Sa Metrology device with programmable smart card
CN1346477A (zh) * 1999-02-22 2002-04-24 卡片Etc有限公司 卡片、设备、产品和产品管理系统
AU777610B2 (en) * 1999-02-22 2004-10-21 Cards Etc. Pty Limited Card, device, product and product management system
GB9925227D0 (en) 1999-10-25 1999-12-22 Internet Limited Data storage retrieval and access system
DE10008308A1 (de) * 2000-02-23 2001-08-30 Orga Kartensysteme Gmbh Kartenterminal
FR2817055B1 (fr) * 2000-11-22 2003-02-14 Gemplus Card Int Execution d'une application dans un objet electronique portable a faible capacite de memoire
US7506322B2 (en) * 2001-12-13 2009-03-17 Synopsys, Inc. System and method of utilizing a hardware component to execute an interpretive language
US8010405B1 (en) 2002-07-26 2011-08-30 Visa Usa Inc. Multi-application smart card device software solution for smart cardholder reward selection and redemption
US9852437B2 (en) 2002-09-13 2017-12-26 Visa U.S.A. Inc. Opt-in/opt-out in loyalty system
US8015060B2 (en) 2002-09-13 2011-09-06 Visa Usa, Inc. Method and system for managing limited use coupon and coupon prioritization
US8626577B2 (en) 2002-09-13 2014-01-07 Visa U.S.A Network centric loyalty system
DE10261916A1 (de) 2002-12-20 2004-07-01 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Netzserverfunktionalität
US7827077B2 (en) 2003-05-02 2010-11-02 Visa U.S.A. Inc. Method and apparatus for management of electronic receipts on portable devices
US8554610B1 (en) 2003-08-29 2013-10-08 Visa U.S.A. Inc. Method and system for providing reward status
US7051923B2 (en) 2003-09-12 2006-05-30 Visa U.S.A., Inc. Method and system for providing interactive cardholder rewards image replacement
US8005763B2 (en) 2003-09-30 2011-08-23 Visa U.S.A. Inc. Method and system for providing a distributed adaptive rules based dynamic pricing system
US8407083B2 (en) 2003-09-30 2013-03-26 Visa U.S.A., Inc. Method and system for managing reward reversal after posting
US7653602B2 (en) 2003-11-06 2010-01-26 Visa U.S.A. Inc. Centralized electronic commerce card transactions
US20110145082A1 (en) 2009-12-16 2011-06-16 Ayman Hammad Merchant alerts incorporating receipt data
US8429048B2 (en) 2009-12-28 2013-04-23 Visa International Service Association System and method for processing payment transaction receipts

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE633718A (pt) * 1962-06-18
JPS61177585A (ja) 1985-02-04 1986-08-09 Toshiba Corp 携帯用電子装置密封体
JPH069067B2 (ja) * 1985-07-16 1994-02-02 カシオ計算機株式会社 Icカ−ドシステム
JP2564480B2 (ja) * 1985-07-16 1996-12-18 カシオ計算機株式会社 Icカ−ドシステム
US4816654A (en) 1986-05-16 1989-03-28 American Telephone And Telegraph Company Improved security system for a portable data carrier
US5212789A (en) * 1989-10-12 1993-05-18 Bell Communications Research, Inc. Method and apparatus for updating application databases used in a distributed transaction processing environment
FR2657445B1 (fr) 1990-01-25 1992-04-10 Gemplus Card Int Procede de chargement de programmes d'application dans un lecteur de carte a memoire a microprocesseur et systeme destine a sa mise en óoeuvre.
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.
US5270898A (en) * 1990-12-28 1993-12-14 Westinghouse Electric Corp. Sure chip plus
CA2147824A1 (en) * 1992-10-26 1994-05-11 Johannes Marinus George Bertina Host and user transaction system
US5486876A (en) * 1993-04-27 1996-01-23 Array Microsystems, Inc. Video interface unit for mapping physical image data to logical tiles
US5727221A (en) * 1994-12-22 1998-03-10 Texas Instruments Incorporated Computer system power management interconnection circuitry and systems
US5794218A (en) * 1996-01-16 1998-08-11 Citibank, N.A. Automated multilingual interactive system and method to perform financial transactions

Also Published As

Publication number Publication date
LV11923A (lv) 1997-12-20
GR3032529T3 (en) 2000-05-31
ES2140660T3 (es) 2000-03-01
AU689550B2 (en) 1998-04-02
ATE186414T1 (de) 1999-11-15
PL321735A1 (en) 1997-12-22
PL179977B1 (pl) 2000-11-30
US6254288B1 (en) 2001-07-03
CZ239297A3 (cs) 1998-04-15
SK102897A3 (en) 1998-03-04
LV11923B (en) 1998-07-20
DE69513200D1 (de) 1999-12-09
FI973352A (fi) 1997-08-15
KR19980702349A (ko) 1998-07-15
AU1802295A (en) 1996-09-04
DE69513200T2 (de) 2000-06-21
FI973352A0 (fi) 1997-08-15
NZ281157A (en) 1998-05-27
CA2211037A1 (en) 1996-08-22
JPH10513585A (ja) 1998-12-22
NO973693D0 (no) 1997-08-12
DK0819287T3 (da) 2002-10-14
EP0819287B1 (en) 1999-11-03
HUT77416A (hu) 1998-04-28
WO1996025724A1 (en) 1996-08-22
MD970263A (ro) 1999-01-31
EP0819287A1 (en) 1998-01-21
SI0819287T1 (en) 2000-06-30
EE03323B1 (et) 2000-12-15
NO973693L (no) 1997-08-12
BG101797A (en) 1998-02-27

Similar Documents

Publication Publication Date Title
PT819287E (pt) Sistema de gestao de transaccoes controlado por um circuito integrado
US7454741B2 (en) Method and apparatus for sharing data files among runtime environment applets in an integrated circuit card
JP3766052B2 (ja) 高級プログラミング言語を用いたマイクロコントローラ
KR100688397B1 (ko) 엔트리 포인트 객체를 사용해서 소형 풋프린트 장치의콘텍스트 배리어를 넘어선 액세스를 허용하기 위한 기술
US20040060979A1 (en) Method of loading an application program into a smart card, smart card, method of loading scripts into a smart card, terminal device capable of operating with a smart card, and storage medium holding an application program
Poll et al. Specification of the Javacard API in JML: Towards formal specification and verification of applets and API implementations
US7467376B2 (en) Semantic analysis based compression of interpreted code by replacing object instruction groups with special instruction specifying a register representing the object
Faraj et al. Investigation of Java Smart Card Technology for Multi-Task Applications
WO2000068902A1 (en) Method and apparatus for sharing data files among runtime environment applets in an integrated circuit card
US20060136885A1 (en) Method for embedding object codes in source codes
JP2000514215A (ja) プログラム可能でインテリジェントなデバイスのための、移植可能な安全なトランザクションシステム
JP3515417B2 (ja) 非持続メモリ内にオブジェクトを作成する方法および装置、ならびにオブジェクトへのアクセス可能性を維持する方法
US6776346B1 (en) Secured access device with chip card application
Marlet et al. Security properties and Java Card specificities to be studied in the SecSafe project
MXPA97006234A (en) Circuit controlled transaction management system integr
Milovanović¹ et al. Compile time support for using Transactional Memory in C/C++ applications
Hyppönen et al. Trading-off type-inference memory complexity against communication
Markantonakis et al. Implementing a Secure Log File Download Manager for the Java Card
Hansmann et al. Introduction to Smart Card Software
MXPA99003796A (en) Using a high level programming language with a microcontroller
WO2004097603A1 (en) Protecting a java application