Relatório Descritivo da Patente de Invenção para "CARTÃO INTELIGENTE ASSíNCRONO"
A invenção diz respeito a cartões inteligentes, isto é, cartões que incluem essencialmente uma memória, assim como seus circuitos de endereçamento para dados ou registro de informações e leitura.
A memória destes cartões é registrada e/ou lida utilizando-se um terminal, tal como um leitor de cartão, que se comunica com a memória por sinais elétricos transmitidos por meio de contatos. Os sinais elétricos são preparados pelo terminal de acordo com protocolos normativos específicos cujas características principais residem no fato de que são protocolos indiretos de endereçamento síncrono.
Com tais protocolos, a seqüência da transação é a seguinte:
- reinicializar o cartão, sobretudo o contador de endereços da memória, quer em "power-up" ou por meio de sinal de reinicialização em um pino determinado;
- posicionar o contador de endereços da memória no endereço correto aplicando-se uma pluralidade determinada de pulsos a um pino correspondente aos pulsos do relógio;
- um comando de registro ou de leitura na memória por meio de uma combinação de sinais transmitidos a um pino de Entrada/Saída e em outro pino que pode ser o pino de reinicialização, o pino de relógio ou qualquer outro pino.
As falhas no funcionamento de tal cartão inteligente de acordo com o modo operacional são resumidas abaixo.
Dado que a comunicação entre o leitor e o cartão, principalmente para uma transação financeira, é sensível a ruídos elétricos (queda de voltagem, contatos elétricos defeituosos, pulsos falsos, etc.) a precisão da mensagem trocada não é garantida.
Isto implica sobretudo em repetir a comunicação uma ou diversas vezes para garantir que a transação foi completada corretamente.
- A repetição das mensagens aumenta o tempo necessário para a transação.
- Ademais, é possível que haja transações defeituosas após os referidos ruídos elétricos.
- O endereçamento da memória é realizado por meio de um contador de pulsos que conta as séries de pulsos destinados ao referido contador e o código exibido pelo contador ao fim de tais séries constitui o código de endereços da memória. Este denominado endereçamento indireto requer uma certa duração após a contagem de pulsos e pode constituir uma fonte de erros, por exemplo, se um pulso determinado não for considerado por diversas razões. A integridade quer dos dados quer do comando recebido não é verificada, resultando dai uma certa falta de segurança.
- O protocolo da transação é do tipo síncrono, o que implica em sincronismo rigoroso entre o terminal e o cartão inteligente, um sincronismo às vezes difícil de se obter e de se manter em virtude de distúrbios externos.
- Nenhum reconhecimento do recebimento é fornecido quando os dados são recebidos ou quando o comando é recebido.
- A operação correta do comando não é verificada.
Um objetivo da presente invenção consiste assim em prover um cartão inteligente que não apresente as falhas acima mencionadas.
Este objetivo é atingido modificando-se os sinais transmitidos ao cartão inteligente, assim como aos circuitos de acesso à memória do cartão, para que:
a comunicação entre o terminal e o cartão inteligente seja realizada utilizando-se um protocolo de comunicação assíncrono;
- o endereçamento da memória é endereçamento direto;
- as informações recebidas pelo cartão e relativas a um endereço, um comando ou um dado, podem ser verificadas; - o cartão inteligente devolve um aviso de recebimento ao terminal, para confirmar que a informação foi integralmente recebida;
o cartão inteligente transmite ao terminal uma informação que indica que o comando foi executado corretamente.
A invenção diz respeito a um cartão inteligente de contato que compreende uma memória capaz de funcionar juntamente com um terminal por meio de circuitos de acesso que compreendem um circuito de endereçamento e um circuito de controle, caracterizado pelo fato de que os circuitos de acesso à referida memória compreendem ainda:
- um circuito para receber e analisar sinais elétricos transmitidos aos contatos do cartão inteligente pelo terminal, enquanto que o referido circuito de recepção e de análise fornece mensagens e códigos;
- um circuito para interpretar e comutar os códigos fornecidos pelo circuito de análise, conforme se trate de um código de endereço da memória, um código de dados ou um código de controle;
- um registro de endereços que registra o código de endereço fornecido pelo circuito de interpretação e comutação para disponibilizá-lo para o circuito de endereçamento; - pelo menos um registro de dados que registra o código de controle da operação a ser realizada na memória ou o código de dados, possivelmente para ser registrada no mesmo, e com vistas a disponibilizar tais códigos para o circuito de controle e para realizar a operação indicada pelo código de controle,
- pelo menos um registro de saida que grava o código lido na memória ou código de status de execução do controle, fornecido pelo circuito de controle, e
- um circuito para transmissão aos contatos, os códigos fornecidos pelo registro de saida e as mensagens fornecidas pelo circuito de recepção e de análise para transmiti-las ao terminal.
0 cartão de acordo com a invenção é vantajosamente, após alguns pequenos aperfeiçoamentos e além das funções cabeadas acima, totalmente compatível com leitores do estoque existente. Particularmente, é especialmente vantajoso poder-se utilizar os leitores dos cartões de microprocessadores, o que é normalmente impossível com os cartões inteligentes atuais.
A invenção será mais bem compreendida após a leitura do relatório a seguir de uma modalidade específica, enquanto que o referido relatório refere-se aos desenhos em anexo, nos quais a única figura é um diagrama de bloco ou um cartão inteligente de acordo com a invenção. O cartão inteligente 40 compreende, conforme já é conhecido:
- uma memória 10 do tipo que permite a leitura e o registro de dados na forma de figuras binárias em células elementares,
- um circuito de endereçamento 12 da memória 10 para selecionar um ou diversos grupos de células elementares, sendo que cada uma corresponde a um dado a ser lido ou a ser registrado,
- um circuito de controle 14 da memória 10 e do circuito de endereçamento 12 para registrar ou ler as células da memória 10 em um endereço especificado no circuito de endereçamento 12, e
- uma pluralidade de contatos 16 dispostos em um lado do cartão para estabelecer uma ligação elétrica entre um terminal 18 e o cartão inteligente.
De acordo com a invenção, o cartão inteligente compreende, além dos elementos indicados acima, um dispositivo 20 que estabelece a ligação entre por um lado a pluralidade de contatos 16 e, por outro, o circuito de endereçamento 12 e o circuito de controle 14.
Este dispositivo 20 compreende:
- um circuito de recebimento e de análise 22 para os sinais elétricos recebidos nos contatos 16 com vistas à análise dos sinais elétricos e para fornecer, por um lado, mensagens ao terminal 18 e, por outro, códigos que são representativos de dados, endereços de célula da memória e comandos ou instruções a serem executados,
- uma circuito de interpretação e comutação 24 para os códigos fornecidos pelo circuito de análise e recebimento 22.
- um registro de endereços 26 para gravar o código de endereços transmitido pelo terminal e para disponibilizá-lo para o circuito de endereçamento 12,
- pelo menos um registro de dados 28 para gravar o código de dados ou o código de instruções transmitido pelo terminal e para disponibilizá-lo para o circuito de controle 14,
- pelo menos um registro de saida 32 para gravar a o código lido na memória 10 ou o status de execução da instrução, e
- um circuito de transmissão 34 para o código contido em um registro de saida 32 para o terminal 18 por intermédio dos contatos 16.
A ligação entre o terminal 18 e o cartão 40 utiliza a pluralidade de contatos 16 quando transmitidos aos referidos contatos, sinais elétricos que foram padronizados de acordo com os denominados protocolos de comunicação assincronos. Esses protocolos podem ser de diferentes tipos e sobretudo aqueles que são conhecidos sob a designação RS232 no que diz respeito a uma série de ligações comumente utilizadas entre um computador doméstico e seus periféricos ou as designações V22, V23, etc. no que diz respeito à ligação modem.
O protocolo selecionado é implementado pelo terminal e deve ser compreendido pelo cartão inteligente no circuito 22 de análise e recebimento.
O último circuito 22 recebe os sinais elétricos do terminal e os analisa para verificar sua integridade.
Com essa finalidade, o terminal é posicionado para acrescentar uma informação redundante nos sinais transmitidos, sendo que o circuito de análise e recebimento é capaz de verificar essa informação quanto à sua disponibilidade e valor. Isto pode ser a presença de um elemento de paridade ou de um código de ciclo redundante. Deve-se notar que numerosos protocolos de comunicação criam tal redundância para verificar a integridade da informação transmitida.
Caso essa verificação seja infrutífera, a instrução não é executada.
Além dessa não-execução do comando, o circuito de recebimento e análise 22 é colocado de modo a fornecer ao terminal um aviso de recebimento, tal como um código que indica que o cartão realmente recebeu a informação e que sua integridade está correta. Se não for o caso, envia um código de erro. Tais avisos de recebimento são fornecidos em alguns protocolos de comunicação.
De acordo com a invenção, a memória 10 é endereçada diretamente por um código de endereço que é recebido e analisado pelo circuito de recebimento e de análise 22.
Tal endereçamento direto pode ser realizado implementando-se um protocolo conhecido sob a abreviação I2C, um protocolo utilizado para o funcionamento de periféricos de computadores.
Este código de endereços é detectado pelo circuito de interpretação e comutação 24 que o transmite ao registro de endereço 26.
O circuito de interpretação e comutação 24 também detecta os dados e os códigos de instruções e os transmite a um ou diversos registros· 28, enquanto que os códigos contidos no registro 28 são disponibilizados para o circuito de controle 14.
Uma vez que a instrução tenha sido realizada, o circuito de controle 14 é posicionado para gerar um código de status que indique que a instrução foi realizada ou um código de erro que indique que a instrução não foi realizada. Este Código é transmitido ao terminal 18 por meio do registro de saida 32 que recebe o código do circuito de controle 14 e do circuito de transmissão 34. Quando a instrução consiste em ler, o código lido na memória é transmitido ao terminal por intermédio do registro de saida 32 e do circuito de transmissão 34.
Naturalmente, o registro de saida 32 pode ter a forma de dois registros, um para os códigos de status e o outro para os dados lidos na memória 10.
No cartão inteligente que acabamos de descrever, a transação é realizada com um terminal conforme a seguir:
- o terminal cria uma instrução de acordo com um programa de aplicação apropriado ao cartão inteligente de acordo com a invenção, enquanto que assim essa instrução inclui pelo menos um código de instrução, um código de endereço e um código de dados e sendo que o pacote constitui uma mensagem.
O terminal prepara informações de redundância, tais como uma figura de paridade ou um código de ciclo redundante e introduz a referida informação na mensagem composta dos códigos a serem transmitidos,
- o terminal transmite estes códigos ao cartão inteligente de modo assincrono por meio dos contatos 16,
- o circuito 22 de recebimento e análise valida a mensagem recebida pelo cartão inteligente,
- o circuito 22 de análise e recebimento transmite um aviso de recebimento da mensagem para o terminal por meio do circuito de transmissão, indicando ao mesmo tempo com um código se a mensagem foi ou não corretamente recebida,
- o circuito de controle 14 executa a instrução, e
- o circuito de controle 14 transmite ao terminal uma mensagem certificando que a instrução foi realmente executada ou não, por meio do registro 32 de saida e por meio do circuito de transmissão 34.