BR112015000980B1 - Método de verificação implementado por computador - Google Patents

Método de verificação implementado por computador Download PDF

Info

Publication number
BR112015000980B1
BR112015000980B1 BR112015000980-8A BR112015000980A BR112015000980B1 BR 112015000980 B1 BR112015000980 B1 BR 112015000980B1 BR 112015000980 A BR112015000980 A BR 112015000980A BR 112015000980 B1 BR112015000980 B1 BR 112015000980B1
Authority
BR
Brazil
Prior art keywords
keyboard
image
user
encoded
pin
Prior art date
Application number
BR112015000980-8A
Other languages
English (en)
Other versions
BR112015000980A2 (pt
Inventor
Justin Pike
Original Assignee
Licentia Group Limited
Mypinpad Limited
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
Priority claimed from GB201212878A external-priority patent/GB201212878D0/en
Application filed by Licentia Group Limited, Mypinpad Limited filed Critical Licentia Group Limited
Publication of BR112015000980A2 publication Critical patent/BR112015000980A2/pt
Publication of BR112015000980B1 publication Critical patent/BR112015000980B1/pt

Links

Images

Abstract

MÉTODO DE VERIFICAÇÃO IMPLEMENTADO ATRAVÉS DE COMPUTADOR PARA VERIFICAÇÃO DE UM CÓDIGO DE IDENTIFICAÇÃO PESSOAL (PIC) PRÉ-ARMAZENADO. A invenção provê um método de autenticação de implementada através de computador compreendendo a etapa de permitir que um usuário insira um identificador (por exemplo, a PIN) em um dispositivo eletrônico que tem uma tela e um teclado operável dentro de uma zona de teclado da tela; ao operar pelo menos uma tecla do teclado por meio de uma imagem de pelo menos parte de um teclado codificado o qual é exibido pelo menos parcialmente dentro da zona de teclado. A operação do usuário da tecla de teclado por meio da imagem gera uma versão odificada da entrada pretendida pelo usuário. Em certo sentido a invenção pode ser entendida como a sobreposição de uma imagem não funcional de um teclado codificado sobre um teclado funcional subjacente. A imagem pode ser qualquer tipo de imagem eletrônica, e pode incluir uma imagem de vídeo. A invenção é particularmente adequada para uso com, mas não limitado a, telefones celulares, computador tablet, PCs etc. Pode ser implementada em qualquer sistema em que a identidade de um usuário deve ser verificada antes que o acesso seja concedido (...).

Description

[0001] Esta invenção diz respeito geralmente ao campo da autenticação de usuário, e mais particularmente ao campo de verificação com base em PIN. A invenção é adequada para uso em situações em que o usuário é obrigado a digitar um código, tal como um Número de Identificação Pessoal (Personal Identification Number - PIN), o qual é validado antes de completar uma operação. A operação pode ser qualquer tipo de operação.
[0002] A autenticação é uma técnica usada em uma variedade de situações em que a identidade e/ou autorização de um indivíduo deve ser verificada antes de ser autorizado a realizar um ato ou ter acesso a algum recurso controlado ou administrado tal como um dispositivo, edifício, um sistema de computador, uma conta financeira, um serviço etc.
[0003] Uma abordagem comum para autenticação é gravar algum identificador pré-selecionado (tal como um código ou combinação de símbolos) o qual é então mantido em segredo em um local seguro e disponibilizado somente para partes autorizadas. O identificador é armazenado em associação com um usuário ou grupo de usuários em particular, e pode, às vezes, ser armazenado e/ou usado em conjunto com um outro identificador predeterminado tal como um nome de usuário (username), por exemplo. O identificador é frequentemente selecionado pelo próprio usuário apesar de, algumas vezes, ele poder ser o gerenciador ou proprietário de recurso quem determina o mesmo. O usuário pode, em muitos casos, ser capaz de mudar seu identificador selecionado previamente. Frequentemente, o identificador é escolhido qual o usuário inicialmente passa a fazer parte de uma organização; por exemplo, quando ele como em um emprego em uma determinada empresa, ou registra com um provedor para um determinado serviço. Após o identificador ter sido selecionado e atribuído a uma pessoa autorizada, aquele usuário é obrigado a fornecer o identificador pré-determinado cada vez que ele pede permissão para realizar o ato controlado ou ter acesso ao recurso ou serviço. O identificador do usuário introduzido é comparado com a versão armazenada. Se o usuário é capaz de fornecer o identificador correto, então sua identidade é considerada como tendo sido verificada e o acesso é concedido. Se, por outro lado, o identificador correto não é fornecido então o acesso é negado.
[0004] Neste documento tal identificador pode ser referido como sendo um Código de Identificação Pessoal {Personal Identification Code - PIC). Um exemplo comum de um PIC é um código numérico de 4 dígitos tipicamente referido como um Número de Identificação Pessoal (PIN). O termo “PIC” se destina a incluir o termo “PIN” (Número de Identificação Pessoal). No entanto, podem ser utilizados outros códigos de diferentes tamanhos e com diferentes tipos de caracteres ou símbolos. A presente invenção não se destina a ser limitada no que diz respeito ao tamanho do identificador utilizado, ou do tipo de caracteres que ele contém. Por exemplo, ele pode conter dígitos numéricos, caracteres alfabéticos, fotos, pontuação ou qualquer outro tipo de símbolo, ou uma mistura dos mesmos. O termo “PIN” ou “PIC” pode ser usado doravante para referir-se ao identificador do usuário por uma questão de conveniência, mas não deve ser interpretado como sendo limitante, de qualquer forma quanto ao tamanho, ao tipo ou formato do identificador.
[0005] Sistemas de verificação baseados em PIN tipicamente compreendem um teclado que permite que o usuário insira seu PIN pré- selecionado. Uma disposição do teclado típica conhecido na técnica é mostrada na Figura 14a. Um teclado é um conjunto de botões ou “teclas” dispostas em um bloco ou um “pad”. As teclas são fixadas em uma grade adjacente entre si para formar o pad. As teclas têm indicações (identificadores) impressas, gravada, em relevo ou de outra forma indicadas As indicações em uma tecla tipicamente consistem em um símbolo, por exemplo “6”, mas podem representar mais de um símbolo por exemplo “AB”. As indicações sobre as teclas são geralmente dispostas de uma maneira ordenada, tal como uma série sequencial. Por exemplo, dígitos numéricos normalmente seriam ordenados em ordem crescente. Neste documento, o termo “teclado” pode ser utilizado intermutavelmente com o termo “PINPad”.
[0006] Teclados numéricos são frequentemente encontrados nos teclados alfanuméricos conectados a dispositivos de computação. Outros dispositivos, como calculadoras, telefones com teclado, fechaduras de combinação, e fechaduras de porta digitais também são conhecidos O advento das telecomunicações e dispositivos de computação portáteis tem também visto teclados introduzidos em dispositivos móveis, tais como telefones celulares (telefones móveis), computadores tablet, PDAs e assim por diante.
[0007] Muitos dispositivos eletrônicos agora incluem capacidades de processamento de computador e uma interface de tela sensível ao toque capaz de exibir um teclado. Estes podem ser utilizados para uma variedade de fins, incluindo a permissão para um usuário autorizado “destrancar” o dispositivo introduzindo um código de acesso que compreende uma combinação de símbolos pré-selecionados, ou introduzindo um número de telefone, de modo a fazer uma chamada. Terminais de leitura de cartões utilizados em transações financeiras também têm teclados para permitir que o usuário insira seu PIN por meio do teclado.
[0008] Cada tipo de smartphone (por exemplo, marca e/ou modelo) pode ter um estilo particular de teclado associado a ele como seu teclado “default” (padrão ou predefinido). Por exemplo, as teclas podem ser dispostas em um formato ou disposição específico (a), ou uma fonte particular pode ser usada para as indicações. Portanto, o usuário de um dispositivo eletrônico pode se familiarizar com uma certa “aparência e sensação” com respeito ao teclado naquele dispositivo. Um exemplo de um teclado típico gerado e apresentado em um smartphone amplamente conhecido é mostrado na Figura 14b. O teclado padrão é gerado pela execução de uma chamada de procedimento dentro do telefone.
[0009] Em contraste com os teclados convencionais que têm teclas depressíveis (fisicamente móveis), uma tela de toque pode ser usada para exibir uma imagem de um teclado tendo “hotspots" numerados ou indicados correspondentes às teclas físicas do equivalente tradicional. O usuário toca os hotspots correspondentes às teclas de sua escolha em vez de pressionar uma tecla móvel. Sensores colocados abaixo da superfície da tela sentem qual (quais) área (s) foi (foram) selecionada (s) pelo usuário, assim, “lendo” a entrada do usuário.
[00010] Talvez o uso mais comum de teclados e tecnologia baseada em PIN seja com relação a transações financeiras por exemplo caixas automáticos (conhecidos como “Automated Teller Machine - ATM” e inglês ou “caixas eletrônicos”) e dispositivos de ponto de venda para cartões bancários (isto é, cartões de débito ou cartões de crédito).
[00011] Antes da introdução de autenticação baseada em PIN, se um cliente pretendia fazer uma compra de bens ou serviços, ele seria obrigado a fornecer uma assinatura que seria comparada à assinatura no lado de trás do cartão. No entanto, assinaturas podem ser falsificadas com relativa facilidade.
[00012] A fim de resolver este problema, tecnologia de cartão inteligente foi introduzida em muitos países para cartões de crédito, de débito e de ATM. Este sistema de pagamento (por vezes conhecido como o sistema “chip e PIN”) baseia-se num padrão global conhecido como a norma EMV. Usando essa abordagem, cartões de crédito e débito são providos com um microchip embutido. Quando um cliente deseja pagar por bens usando este sistema, o cartão é colocado em um terminal de “Point of Sale” (Ponto de Venda) ou um leitor de cartão magnético modificado, o qual acessa o chip no cartão. Uma vez que o cartão foi verificado como autêntico, o cliente insere um PIN de 4 dígitos, o qual é enviado para o chip no cartão inteligente; se os dois correspondem, o chip diz ao terminal que o PIN estava correto, caso contrário, ele informa que o PIN estava errado. O PIN introduzido corresponde ao PIN armazenado se cada símbolo na entrada também é encontrado na versão armazenada, e na mesma ordem e número.
[00013] Em certas situações as transações financeiras podem ser realizadas passando a faixa magnética no cartão de modo a ler os dados do cartão, ou por entrada manual dos detalhes do cartão, em vez de através da inserção do cartão em um dispositivo de leitura dedicado.
[00014] Deve ser notado que à medida que o PIN é enviado de volta para o host para a verificação, considerações de segurança tornam-se relevantes porque o PIN pode ser interceptado durante o processo de transmissão.
[00015] Desde a introdução da verificação baseada em PIN, fraude decorrente de transações cara-a-cara (em que o cartão e o cliente estão fisicamente presentes no local de varejo onde a transação ocorre) foi drasticamente reduzida porque é significativamente mais difícil obter de forma fraudulenta ou adivinhar o PIN do que é forjar uma assinatura.
[00016] Além disso, antes do advento da Autenticação baseada em PIN, se a assinatura de um cliente foi forjada, a operadora do cartão normalmente seria legalmente responsável por qualquer fraude que se seguiu e seria obrigada a reembolsar o cliente. Com a introdução da tecnologia de cartão inteligente, no entanto, o ônus foi tipicamente deslocado para o cliente provar que agiu “com cuidado razoável” para proteger o seu PIN, em vez de o fornecedor do cartão ser exigido a ter de provar que a assinatura provida durante a operação correspondida àquela no cartão. Essa transferência de responsabilidade proporciona benefícios financeiros muito significativos para os fornecedores do cartão.
[00017] Outra desvantagem de verificação baseada em assinaturas é que ela não se presta a transações em que o cartão (e o cliente) não está (estão) presente (s) nas instalações de varejo, quando a transação é realizada - por exemplo, transações feitas por telefone ou internet. Tais operações geralmente são conhecidas como transações de “cartão não presente” (card not present - CNP). Transações CNP agora são rotineiras no ambiente de varejo atual, com muitos clientes escolhendo a realização de operações financeiras sem estar no local de varejo. No entanto, embora tecnologia baseada em PIN proveja uma solução de autenticação relativamente segura para transações cara-a-cara “de cartão presente”, fraude decorrente de Transações CNP tem aumentado.
[00018] Além disso, tecnologia de telefonia móvel (celular), abriu igualmente novas oportunidades para varejistas e consumidores. Os chamados telefones “inteligentes”, os smartphones, compreendendo capacidades computacionais sofisticadas e tornaram-se extremamente populares oferecendo facilidades para o usuário, tais como a capacidade de navegar sites da web e ver os sites dos varejistas. Clientes e revendedores igualmente, muitas vezes, não estão vinculados a uma localização geográfica física, mas estão "em movimento”. Por exemplo, clientes podem querer fazer uma compra através de um website que está sendo visualizado em um telefone celular enquanto espera no ponto de ônibus; ou um funcionário do estacionamento pode querer ter o pagamento de um motorista no estacionamento de carros. Em tais casos, terminais de Ponto- de-venda dedicados não estão disponíveis para uso.
[00019] No entanto, apesar da enorme popularidade da tecnologia de computação móvel, em particular telefones, seu uso com respeito a Transações CNP tem sido limitado devido a preocupações de segurança à medida que dados (como o PIN do usuário) podem ser interceptados durante a transmissão do dispositivo para/de o servidor do fornecedor de cartão, ou enquanto residindo na memória interna do telefone.
[00020] Certa tecnologia relacionada a PIN foi projetada com mobilidade em mente e é conhecida no estado da técnica.
[00021] Por exemplo, CardEase Mobile® é um aplicativo de pagamento móvel que, em conjunto com um leitor de cartão móvel, permite a um varejista aceitar pagamentos com cartão móvel de Chip e PIN de um cliente. O varejista insere o valor da compra em um aplicativo baixado e instalado no seu telefone celular (ou dispositivo de tablet). O varejista, em seguida, dá o dispositivo leitor de cartões para o cliente que passa ou insere o seu cartão de crédito/débito no leitor, e insere seu PIN usando o teclado do dispositivo leitor. O leitor então se conecta via Bluetooth ao aplicativo no dispositivo móvel do varejista, que se conecta ao provedor de serviço via conexão de internet do telefone para autorização de pagamento. Assim que o pagamento for aprovado, o cliente tira o seu cartão do leitor e o varejista envia por e-mail ou mensagem de texto um recibo para o cliente.
[00022] No entanto, esta disposição conhecida requer o uso do leitor de cartões. Com efeito, ela usa o telefone celular para desempenhar o papel do terminal de ponto-de-venda, o que estaria normalmente localizado dentro da loja/estabelecimento. O comerciante recebendo o pagamento ainda precisa estar no mesmo local que o cliente que efetua o pagamento porque ele deve entregar o leitor de cartões ao cliente para o uso com seu cartão de crédito ou de débito. O sistema não elimina a necessidade de um dispositivo de leitura de cartão dedicado (isto é, construído para essa finalidade).
[00023] Um outro exemplo do estado da técnica é divulgado em WO/2012/004395 A1 (“iZettle"). O arranjo de iZettle compreende um dispositivo portátil leitor de cartões para a leitura de um cartão inteligente, um dispositivo de leitura portátil e um servidor de pagamento. O objetivo do método divulgado consiste em eliminar o teclado não seguro em um telefone celular utilizado para introduzir um PIN, e em vez disso usar um dispositivo de entrada de PIN separado, que cumpre as especificações do nível EMV. Em essência, a abordagem divulgada usa um PINPad externo provido com os chips e componentes de segurança necessários e o qual simplesmente se comunica com o telefone celular através de uma conexão Bluetooth. Assim, tal como acima, a divulgação de iZettle não resolve o problema de uso de dispositivos móveis não seguros para inserção de PIN, ela simplesmente contorna esse problema ao usar um dispositivo de entrada de PIN separado.
[00024] De fato, o documento de iZettle afirma (linhas 6 a 19) que: “Uma solução mais prática seria se o pagamento por cartão de crédito pudesse ser realizado utilizando um dispositivo não muito volumoso, bem conhecido e popularmente utilizado, tal como um telefone celular. No entanto, um telefone celular comum não tem um leitor de cartão embutido, onde você pode passar o cartão de crédito, e mesmo se esse determinado problema pudesse ser superado, ainda há um problema com relação ao nível de segurança que um telefone celular provê. É bem sabido que, por exemplo, um programa de espionagem poderia infiltrar-se no telefone celular e roubar informações do cartão de crédito e as informações de identificação, tais como o código PIN inserido no telefone móvel através do teclado do telefone, durante a realização de um pagamento com cartão de crédito, sem que o usuário sequer ficasse sabendo. Em face do exposto, um telefone celular padrão geralmente não é considerado como sendo um dispositivo seguro e, por consequência, não adequado para a realização de pagamentos com cartões de crédito. Assim, encontrar uma maneira de fazer pagamentos de cartão de crédito segura com um telefone celular é muito procurado.”
[00025] Outro arranjo conhecido (também do requerente de WO/2012/004395 A1) compreende um dispositivo (“dongle’’) e software associado que se encaixa na porta de carga de um smartphone. Quando uma transação deve ser feita, cartão do cliente é inserido no dongle. O cliente é então solicitado a assinar a tela de toque do telefone com o seu dedo, a fim de autorizar a transação. Usando essa abordagem, o usuário não precisa digitar um PIN. Portanto, o problema de entrada de PIN em um dispositivo portátil inseguro é evitado em vez de resolvido.
[00026] Ainda outra abordagem conhecida está descrita em WO 2011/093998 A1. Mais uma vez, a abordagem divulgada usa um leitor de cartão com base em dongle que é conectado no dispositivo. Ela não provê uma técnica segura para permitir a autorização baseada em PIN.
[00027] GB 2416058 A divulga uma abordagem para verificação de um pedido de acesso a um servidor. Em resposta a um pedido de acesso, uma cadeia aleatória de caracteres é gerada por um “gerador de combinação” em um servidor de segurança. Ele então usa essa cadeia aleatória para gerar “dados de imagem” que são enviados a partir do servidor para o computador do usuário. O teclado no computador do usuário é então modificado em conformidade com os dados de imagem. O usuário introduz então o seu PIN utilizando o teclado modificado apresentado no computador. Dados de posição relativos à seleção do usuário dentro da grade de teclas (por exemplo, primeira-linha-primeira- coluna) são armazenados como um registro do PIN do usuário. Os dados de posição são então convertidos pela máquina do usuário em dados de caracteres, tais como uma cadeia de dígitos para formar um PIN codificado que é então enviado para o servidor para verificação. No entanto, o PIN codificado pode ser “decodificado por conhecer os dados de imagem” - linhas 22, 23 da página 10. Portanto, à medida que os dados de imagem são armazenados no computador do usuário, se a segurança da máquina do usuário é comprometida (por exemplo, hackeado, ou está infectado com malware) acesso pode ser adquirido para os dados de imagem, portanto, permitindo que uma terceira parte decodifique o PIN do usuário. Assim, é desejável prover um método de autenticação que não torne o PIN vulnerável ao acesso não autorizado durante a transmissão entre os dispositivos, ou quando armazenado temporariamente em um dispositivo eletrônico durante o processo de verificação.
[00028] Idealmente, uma solução de Autenticação baseada em PIN que permitiria a um utilizador completar uma transação CNP usando um PIN para autenticar de uma maneira segura. Idealmente, tal solução: • podería ser implementada em um dispositivo eletrônico portátil, como um telefone celular, dispositivo de computação tablet, laptop, PDA, etc., ou em um computador desktop ou dispositivo fixo; • permitiria à autenticação baseada em PIN ser realizada em qualquer dispositivo arranjado adequadamente tendo algumas capacidades de computação; • exigiria ao usuário inserir seu PIN usando os mesmos dígitos que seu PIN armazenado e na mesma ordem (em vez de exigir que o usuário insira uma versão “codificada” ou de alguma forma disfarçada / traduzida do seu PIN); • seria fácil e intuitiva para uso; • não exigiria que a máquina do usuário tivesse acesso ao PIN “real" do usuário, ou qualquer conhecimento de como calculá-lo; • não precisaria executar qualquer algoritmo de conversão ou de codificação (o qual transporta com ele um overhead de processamento e de tempo, e pode ser usado para distinguir o PIN do usuário).
[00029] Tal solução melhorada foi agora concebida, a qual provê pelo menos estas vantagens.
[00030] Assim, em conformidade com a presente invenção é provido um método e sistema como reivindicado em suas várias modalidades neste documento.
[00031] De acordo com um primeiro aspecto da invenção, pode ser provido um método de verificação implementado através de computador compreendendo a etapa de: permitir que um usuário insira um identificador em um dispositivo eletrônico que tem: i) a tela; e ii) um teclado operável dentro de uma zona de teclado da tela; ao operar pelo menos uma tecla do teclado por meio de uma imagem de pelo menos parte de um teclado codificado o qual é exibido pelo menos parcialmente dentro da zona de teclado. A imagem pode ser referida como “imagem de teclado codificado” para facilitar a referência.
[00032] O teclado é operável em que tem a funcionalidade de um teclado esperado por uma pessoa versada na técnica. A pessoa versada na técnica compreenderia o termo “teclado” como significando uma grade electrónica ou mecânica de teclas, tendo cada uma pelo menos uma indicação associada a ela, a qual, quando selecionada por um usuário, faz com que as indicações associadas sejam introduzidas em um dispositivo ou sistema para o armazenamento e/ou processamento. No contexto da presente invenção, o teclado é uma versão eletrônica de um teclado. Ele pode ser pensado como um teclado “virtual”, pois é uma emulação de software de um teclado mecânico. Ele provê todas as funcionalidades de um teclado mecânico compreendendo teclas identificadas, as quais o usuário pode selecionar para prover entrada a um sistema baseado em computador.
[00033] O teclado pode ser produzido em ou pelo dispositivo eletrônico. Ele pode ser gerado por uma chamada de procedimento. O procedimento pode ser provido dentro de uma biblioteca fornecida pelo fabricante do dispositivo.
[00034] Em contrapartida, a imagem de teclado codificado é uma representação de um teclado. A representação pode compreender uma representação de um teclado inteiro ou pelo menos parte de um teclado. Ela pode retratar (representar, ilustrar) uma ou mais “teclas”. A imagem pode ser formada eletronicamente. Ela pode ser uma imagem gráfica, uma imagem óptica, um vídeo ou alguma outra forma de representação visual. Ela pode ser formada ou armazenada em formato digital em um arquivo eletrônico. Isto provê a vantagem de que a disposição das “teclas” na representação não pode ser facilmente lida por uma parte não autorizada que possa interceptar a representação durante a transmissão ou enquanto ela é exibida no dispositivo eletrônico.
[00035] A imagem de teclado codificado não é um teclado per se porque ele é desprovido de qualquer funcionalidade. É meramente uma representação de uma grade de teclas. Tocar, clicar em ou de outra maneira selecionar qualquer “tecla” representada na imagem, por si só, não produz qualquer efeito ou gera uma entrada. No entanto, deve ser notado que a imagem de teclado codificado pode, às vezes, ser referida como um “teclado”, “teclado codificado”, ou “um teclado sobreposto” puramente para facilitar a referência, porque no uso ela parece funcionar como um teclado. Áreas da imagem podem ser referidas como “teclas”, mais uma vez somente para facilitar a referência porque é isso que o usuário parece ver e usar. No entanto, deve ser lembrado que este não é realmente o caso, e que a imagem não é um teclado na realidade.
[00036] A invenção pode permitir que o usuário insira o seu identificador, através do mesmo componente de dispositivo que é usado para exibir a imagem de teclado codificado (a tela). Dito de outra maneira, a tela pode servir tanto como o dispositivo de saída (exibição) para a imagem de teclado codificado quanto como o dispositivo de entrada por meio do qual o identificador do usuário pode ser inserido. Isto contrasta com qualquer divulgação do estado da técnica, em que o teclado é exibido em um componente do dispositivo (por exemplo, tela) e a entrada do usuário é recebida por meio de um outro componente de dispositivo (por exemplo, teclado).
[00037] Uma vantagem deste recurso é que ele pode permitir que a entrada do usuário a partir da imagem venha a ser mapeada para o teclado eletrônico que pode ser pelo menos parcialmente escondido da vista do usuário de modo que a entrada do usuário é automaticamente codificada mediante entrada pelo usuário. A entrada é automaticamente codificada no sentido de que o dispositivo eletrônico pode não precisar converter, codificar ou de qualquer maneira processar a entrada do usuário. O teclado pode ser gerado por uma chamada de procedimento executada no dispositivo eletrônico. O teclado operável eletrônico pode ser referido como um teclado de “referência” ou “subjacente” para facilitar a referência.
[00038] Preferencialmente, a operação do usuário da tecla de teclado por meio da imagem gera uma versão codificada da entrada pretendida pelo usuário. Preferencialmente, a imagem é exibida dentro da zona de teclado de tal forma que quando o usuário toca, clica em ou ainda identifica uma localização dentro da imagem, uma tecla de teclado operável naquela localização é ativada para prover uma versão codificada de entrada do usuário. Assim, o identificador do usuário é inserido por meio da imagem. O usuário pode selecionar uma porção da imagem a fim de inserir o identificador. A porção de imagem pode se assemelhar a ou retratar uma tecla de teclado. Assim, o usuário pode operar o teclado a través da imagem. Preferencialmente, a imagem funciona como uma máscara ou cobertura sobreposta ao teclado de tal modo que quando o usuário toca, clica ou de outra maneira identifica uma localização dentro da imagem ele opera ou ativa a tecla do teclado posicionada nessa localização dentro da zona de teclado.
[00039] Preferencialmente, a zona de teclado e/ou a imagem permanece em uma posição fixa na tela durante a entrada do identificador do usuário. Esta característica diferencia a presente invenção daqueles sistemas conhecidos, em que as teclas ou o teclado inteiro se movem na tela durante o processo de verificação. Já que a imagem da presente invenção permanece em uma localização fixa, isso prove uma solução a qual é mais fácil de usar e que requer menos processamento por parte do dispositivo eletrônico.
[00040] Assim, em certo sentido, a invenção pode ser vista como permitindo a uma imagem de teclado codificado ser “sobreposta” sobre um teclado “subjacente” de tal forma que quando o usuário insere a sua entrada por meio da imagem do teclado codificado sobreposta ela é codificada em conformidade com a disposição do teclado subjacente (preferencialmente sem ser visto).
[00041] O teclado “subjacente” pode ser visto como um objeto gerado e residente na memória volátil do dispositivo em tempo de execução para prover um modelo de um teclado mecânico convencional.
[00042] Assim, a invenção provê a vantagem de que o identificador “real” do usuário nunca é armazenado dentro do dispositivo e não é transmitido para a verificação. Portanto, o identificador do usuário não pode ser obtido por qualquer interceptor potencial sem conhecimento do mapeamento entre a imagem sobreposta e teclado subjacente funcional.
[00043] Preferencialmente, o mapeamento entre a imagem sobreposta e teclado subjacente não é armazenado no dispositivo eletrônico, ou derivável pelo dispositivo eletrônico. O mapeamento (ou correlação) entre as posições dos dois conjuntos de “teclas” pode ser armazenado em um servidor remoto do dispositivo eletrônico.
[00044] Preferencialmente, a imagem de teclado codificado pode ser enviada a partir de um recurso baseado no computador localizado remotamente para o dispositivo eletrônico. O recurso pode ser um servidor. Assim, a imagem de teclado codificado pode não ser gerada no dispositivo eletrônico. Uma versão da imagem de teclado codificado pode ser armazenada no servidor. A versão pode ser um registro da ordem dos símbolos (“teclas”) na imagem de teclado codificado.
[00045] A zona de teclado pode ser uma área definida ou porção da tela. Assim, a zona de teclado pode ocupar a área de tela inteira ou uma porção da tela. A imagem de teclado codificado pode ser exibida de tal modo que ela cubra a zona de teclado completamente, exatamente ou parcialmente. Preferencialmente, o teclado subjacente é pelo menos parcialmente escondido da vista, de modo que o usuário não é capaz de ver pelo menos algumas das teclas do teclado.
[00046] O identificador pode ser um Código de Identificação Pessoal. Ele pode ser um PIN (Número de Identificação Pessoal). Ele pode compreender qualquer número, tipo ou combinação de símbolos ou indicação (como explicado acima). O identificador pode ter sido pré- selecionado pelo usuário antes da execução do método presentemente reivindicado. O identificador pode ser armazenado remotamente a partir do dispositivo eletrônico, por exemplo em um servidor. A imagem de teclado codificado e/ou teclado pode compreender dígitos numéricos, caracteres alfabéticos, pontuação, símbolos ou qualquer outra indicação, ou uma combinação dos mesmos. Um ou mais símbolos podem estar associados com cada tecla.
[00047] Preferencialmente, o usuário pode ser capaz de selecionar uma pluralidade de "teclas” na imagem de teclado codificado para inserir um identificador compreendendo mais que um símbolo.
[00048] A imagem de teclado codificado pode ser codificada com respeito a um teclado de referência. A imagem de teclado pode retratar um bloco ou grade compreendendo uma pluralidade de teclas adjacentes. Ele pode ser “codificado” no sentido que os símbolos nas “teclas” não estão em ordem sequencial e/ou não estão na ordem que se esperaria talvez com referência ao teclado de referência. A codificação pode se dar em conformidade com um processo de geração aleatório, ou um processo que se aproxima a um processo aleatório. O teclado de referência pode ser o teclado operável dentro da zona de teclado, ou um teclado padrão associado como padrão com uma marca, modelo, tipo de aparelho eletrônico.
[00049] Assim, a mesma indicação pode estar presente em ambos o teclado subjacente e a imagem de teclado codificado mas eles estão providos em diferentes posições. Posto ainda de outra maneira, a ordem das teclas no teclado de referência é diferente daquela da imagem codificada. A imagem de teclado codificado pode prover a mesma “aparência e sensação” que o teclado padrão associado com o dispositivo eletrônico, mas com as “teclas” em diferentes posições relativas.
[00050] As posições respectivas de uma, algumas ou todas "tecla (s)" na imagem de teclado codificado podem ser diferentes da posição da (s) mesma (s) tecla (s) no teclado subjacente.
[00051] O usuário pode operar as teclas do teclado subjacente pr meio da imagem de teclado codificado ao interagir com as “teclas” exibidas na tela. Por exemplo, a entrada do usuário pode ser inserida pelo usuário tocando a tela (com um dedo ou outro dispositivo) ou selecionado a (s) “tecla (s)” desejada (s) usando um dispositivo apontador como um mouse ou um trackball. Outros métodos de seleção podem ser utilizados para efeito semelhante, caindo assim no escopo da invenção.
[00052] A posição e/ou dimensões da zona de teclado pode (m) ser especificada (s) por uma chamada de procedimento ou de método.
[00053] Preferencialmente, a zona de teclado compreende uma pluralidade de subzonas ou “hotspots" (pontos quentes). A posição de pelo menos uma “tecla” na imagem de teclado codificado e/ou teclado pode corresponder à posição de uma subzona de tal modo que pode haver um mapeamento entre as “teclas” do teclado codificado e as teclas do teclado e/ou a pluralidade de subzonas. É desejável que o mapeamento não seja derivável de ou pelo dispositivo eletrônico. Os hotspots podem ser subjacentes com relação às teclas da imagem de teclado codificado.
[00054] O teclado (subjacente) pode ser codificado após cada uma das seleções de teclas do usuário. Assim, um teclado subjacente codificado diferente pode ser utilizado para cada toque de tecla da entrada do utilizador.
[00055] Preferencialmente, a imagem de teclado codificado é recebida pelo dispositivo eletrônico a partir de um recurso baseado em computador (por exemplo, um servidor) localizado remotamente do dispositivo eletrônico. Ela pode ser enviada para o dispositivo eletrônico a partir do servidor no que diz respeito a uma solicitação de uma imagem, a solicitação sendo enviada a partir do dispositivo para o servidor. A imagem de teclado codificado pode ser gerada pelo servidor.
[00056] Preferencialmente, a imagem de teclado codificado é pré- gerada. Em uma modalidade isso pode significar que ela é gerada antes, não em resposta a, a solicitação do dispositivo eletrônico. A imagem pode ser gerada antes da execução do método de verificação.
[00057] A versão codificada da entrada do usuário (identificador) pode ser enviada do dispositivo eletrônico para um recurso remoto baseado em computador. Esse recurso pode ser um servidor. Preferencialmente, o servidor recebe a versão codificada da entrada do usuário e processa a mesma. O processamento pode provar uma versão decodificada do identificador inserido do usuário.
[00058] Assim, o identificador “real” do usuário pode não ser transmitido. Somente a versão codificada pode ser transmitida, o que pode ser sem sentido a uma parte não autorizada que não conhece o mapeamento entre as “teclas” na imagem de teclado codificado e as teclas no teclado subjacente.
[00059] A decodificação pode ser realizada utilizando uma versão ou forma armazenada da imagem de teclado codificado. A versão ou forma armazenada da configuração das teclas pode ser um nome de arquivo (filename). A etapa de decodificação pode prover uma versão decodificada da entrada do usuário. Assim, o identificador “real” do usuário pode ser gerado por tradução de cada símbolo na versão codificada em sua contraparte correspondente na imagem de teclado codificado.
[00060] A entrada decodificada do usuário pode ser comparada com uma versão armazenada do identificador. A entrada do usuário pode ser considerada correta se a entrada corresponde com o identificador armazenado.
[00061] Preferencialmente, o método adicionalmente compreende as etapas: gerar uma pluralidade de imagens de teclado codificado; selecionar uma imagem de teclado codificado a partir da pluralidade; e enviar uma cópia da imagem de teclado codificado selecionada para o dispositivo eletrônico.
[00062] O método pode compreender adicionalmente a etapa de: remover pelo menos uma imagem de teclado codificado a partir da pluralidade antes de realizar a seleção.
[00063] O método pode compreender adicionalmente a etapa de: remover a imagem de teclado codificado selecionada a partir da pluralidade após enviar a cópia para o dispositivo eletrônico.
[00064] O método pode compreender adicionalmente a etapa de: remover a partir da pluralidade qualquer imagem de teclado codificado a qual tenha pelo menos uma tecla na mesma posição que a mesma tecla em um teclado de referência.
[00065] Preferencialmente, as posições das teclas na imagem de teclado codificado permanecem inalteradas com relação umas às outras durante a entrada do identificador do usuário. Isto está em contraste com dispositivos do estado da técnica em que a posição e/ou a ordem das teclas exibidas ao usuário pode codificar ou reorganizar ou mover na tela após cada uma das seleções de teclas do usuário e/ou depois de cada sessão de verificação.
[00066] Preferencialmente, o símbolo de pelo menos uma tecla na imagem de teclado codificado é pelo menos parcialmente obscurecido ou ofuscado, mas permanece legível para o usuário. Isso pode ter benefícios em fazer a representação difícil de ler utilizando software OCR. Isto melhora a segurança do sistema e método.
[00067] O dispositivo eletrônico pode ser um telefone móvel, um PC, um computador tablet, um laptop, um PDA, um terminal de leitura de cartão ou outro dispositivo eletrônico tendo uma tela. O dispositivo eletrônico pode ser capaz de suportar um protocolo de comunicações, tal como TCP/IP, tanto através de uma linha fixa quanto uma sem fios, embora outros protocolos possam ser suportados, tais como o Bluetooth, RS232, etc.
[00068] A comunicação entre o dispositivo (por exemplo, telefone celular) e o recurso baseado no computador (por exemplo, servidor) possa ser através de uma linha fixa de telecomunicações ou através de uma conexão de serviço de telecomunicações móvel/Wi-Fi, etc. essencialmente qualquer dispositivo baseado em IP pode ser utilizado.
[00069] A imagem de teclado codificado pode ser exibida através de um navegador de web, ou um aplicativo incorporado dentro de um navegador ou um aplicativo de software independente (standalone), e/ou um aplicativo provendo uma interface gráfica de usuário para permitir que o usuário interaja com a imagem de teclado codificado.
[00070] É preferencial que a correlação de mapeamento entre o posicionamento de indicação da imagem de teclado codificado e o teclado subjacente seja armazenada remotamente do dispositivo, tipicamente no recurso baseado em computador remoto com relação ao dispositivo.
[00071] A fim de melhorar a segurança, a imagem de teclado codificado pode ser renomeada e / ou criptografada antes de ser enviada para o dispositivo eletrônico. Isso provê o benefício de que terceiros (tais como malware) são evitados ou pelo menos impedidos de interceptar e decodificar o identificador.
[00072] O método pode compreender adicionalmente a etapa de entregar um indicador para o usuário para confirmar que a imagem de teclado codificado foi provida por uma fonte legitima. O indicador pode ser uma “marca d’agua”. O indicador pode ser uma mensagem de texto, imagem, vídeo, som, vibração ou outra indicação tátil. O indicador pode ter sido escolhido pelo usuário.
[00073] Preferencialmente, a imagem de teclado codificado é apagada do dispositivo eletrônico após a entrada do usuário, ou após um período de tempo especificado.
[00074] Uma nova (isto é, diferente) imagem de teclado codificado pode ser enviada ao dispositivo se o usuário comete um erro durante a inserção do identificador.
[00075] Também em conformidade com a invenção pode ser provido um método implementado através de computador para verificação de um Código de Identificação Pessoal (PIC) pré-armazenado, o método compreendendo as etapas: - gerar uma representação de um teclado, em que a posição de pelo menos uma indicação na representação é diferente da posição da respectiva indicação no teclado; - enviar a representação para um dispositivo remoto para apresentação a um usuário para permitir que o usuário insira um PIC utilizando a representação; - receber uma versão codificada do PIC introduzido a partir do dispositivo remoto; - decodificar a versão codificada para prover uma versão decodificada do PIC introduzido - comparar a versão decodificada do PIC introduzido com o PIC pré- armazenado
[00076] De acordo com um segundo aspecto, é provido um método implementado através de computador para verificação de um Código de Identificação Pessoal (PIC) pré-armazenado, o método compreendendo as etapas: - receber uma representação de um teclado a partir de um recurso baseado em computador localizado remotamente, em que a posição de pelo menos uma indicação na representação é diferente da posição da respectiva indicação no teclado; - apresentar a representação a um usuário para permitir que o usuário insira um PIC utilizando a representação; - gerar uma versão codificada do PIC introduzido; - enviar a versão codificada do PIC introduzido para o recurso baseado em computador para decodificação de tal modo que a versão decodificada do PIC introduzido pode ser comparada com o PIC pré-armazenado.
[00077] De acordo com um aspecto adicional, é provido um método implementado através de computador para verificação de um Código de Identificação Pessoal (PIC) pré-armazenado, o método compreendendo as etapas: - usar um recurso baseado em computador para gerar uma representação de um teclado, em que a posição de pelo menos uma indicação na representação é diferente da posição da respectiva indicação no teclado; - enviar a representação para um dispositivo remoto; - apresentar a representação a um usuário por meio do dispositivo remoto para permitir que o usuário insira um PIC utilizando a representação; - enviar uma versão codificada do PIC introduzido a partir do dispositivo remoto para o recurso baseado em computador; - usar o recurso baseado em computador para decodificar a versão codificada para prover uma versão decodificada do PIC introduzido e compará-la com o PIC pré-armazenado
[00078] De acordo com um outro aspecto da invenção é provido um método de verificação implementado através de computador compreendendo a etapa de: permitir que um usuário insira um identificador por seleção de pelo menos uma tecla por meio de um teclado codificado apresentado ao usuário dentro de uma zona de teclado de uma tela associada a um dispositivo eletrônico.
[00079] De acordo com um outro aspecto da invenção é provido um sistema implementado através de computador arranjado e configurado para executar qualquer modalidade do método que foi descrita acima.
[00080] Os benefícios da invenção incluem: - uma redução na probabilidade de fraude resultando de Transações CNP; - uma redução significativa no custo associado com esse tipo de fraude; - uma mudança na responsabilidade do emissor do cartão para o usuário em relação ao uso fraudulento do cartão; - a conveniência para o utilizador de assegurar Transações CNP.
[00081] Estes e outros aspectos da presente invenção serão evidentes a partir de e elucidados com referência a, a modalidade ilustrativa descrita neste documento.
[00082] Uma modalidade da presente invenção será agora descrita, a título de exemplo apenas, e com referência às figuras anexas, nas quais:
[00083] As Figuras 1 a 4 ilustram alguns exemplos dos vários tipos de teclados que podem ser gerados em conformidade com a invenção.
[00084] Figura 5 ilustra a produção de uma representação de teclado codificado de acordo com uma modalidade exemplar da invenção.
[00085] Figura 6 ilustra o processo de Registro em conformidade com a invenção.
[00086] Figura 7 ilustra um banco de dados do teclado personalizado exemplar criado para o dispositivo registrado.
[00087] Figura 8 mostra um processo de transação ilustrativo em conformidade com a invenção;
[00088] Figuras 9 e 10 ilustram uma vista geral de um processo de aplicativo de transação segura exemplar em conformidade com uma modalidade da invenção.
[00089] Figura 11 mostra um teclado “padrão” ilustrativo em conformidade com uma modalidade da invenção.
[00090] Figuras 12a, 12b e 12c mostram exemplos de imagens de teclado codificado os quais são adequados para serem sobrepostos sobre o teclado padrão da Figura 11.
[00091] Figura 13 mostra uma imagem de teclado codificado sendo sobreposta em cima do teclado padrão (de referência) de um dispositivo.
[00092] Figura 14a mostra um teclado numérico padrão como conhecido no estado da técnica.
[00093] Figura 14b mostra um teclado numérico em um telefone celular como conhecido no estado da técnica.
[00094] Figura 15a mostra uma imagem de teclado pré-gerada antes da aplicação de uma marca d’água.
[00095] Figura 15b mostra a imagem de teclado da figura 15a com a marca d’água provida no canto esquerdo inferior da zona de teclado.
[00096] Figura 15c mostra a imagem de teclado da Figura 15b, porém com a marca d’água em uma posição diferente (parte inferior esquerda).
[00097] Figura 15d mostra a imagem de teclado da 1a com uma imagem fotográfica usada como uma marca d’água no fundo.
[00098] Figuras 16a à Figura 16e mostram diferentes imagens de teclado codificado geradas a partir de 4 diferentes sequências numéricas.
[00099] Figura 17 mostra uma imagem de teclado codificado tendo uma combinação de teclas alfabéticas e numéricas.
[000100] Figura 18 mostra três imagens parciais que, quando mostradas repetidamente em rápida sucessão, formam uma imagem aparentemente estática reconhecível.
[000101] Figura 19 mostra um exemplo de como a invenção pode ser implementada dentro de um sistema de processamento de transações financeiras.
[000102] Voltando-nos para as Figuras, uma modalidade exemplar é agora descrita com relação ao uso com um telefone celular. No entanto, a invenção pode ser usada para executar a verificação de PIN em uma variedade de diferentes tipos de dispositivo, assumindo que o dispositivo tem algumas capacidades de processamento e uma tela para a exibição de um teclado.
[000103] A modalidade exemplar também diz respeito ao uso com relação a transações financeiras. Uma aplicação para a qual a invenção é adequada é a de banco online. No entanto, o destinatário versado na técnica prontamente entenderá que a invenção pode ser empregada em outras configurações e para finalidades não financeiras. Ela não se limita a aplicações empresariais ou comerciais.
[000104] É importante notar que a invenção pode ser utilizada em qualquer situação em que a verificação da identidade de um indivíduo é necessária antes de permitir que o indivíduo tenha acesso a algum recurso controlado. Esse recurso controlado pode ser qualquer tipo de recurso. Pode ser fundos depositados em uma conta financeira. De igual modo, ele pode ser um edifício, um sistema de computador, os registos médicos de um paciente, um serviço e assim por diante. Por exemplo, ele pode ser utilizado para a verificação de um código de acesso em uma fechadura de porta para estabelecer autenticação antes de permitir a entrada em um edifício.
[000105] É importante notar que a aplicação orientada financeiramente descrita abaixo é somente uma finalidade para a qual esta invenção pode ser posta. Ela foi selecionada para fins exemplares porque verificação de chip e PIN é, talvez, o uso mais conhecido de verificação baseada em código e, portanto, mais facilmente reconhecida pelos leitores deste documento. No entanto, o destinatário versado na técnica compreenderá que a invenção não está limitada em relação ao ambiente ou contexto no qual a invenção pode vir a ser colocada em uso.
[000106] É também importante notar que a invenção não constitui um meio para a realização de uma transação por si só. Ela é uma ferramenta de verificação útil para autenticar a identidade de um indivíduo que tenha solicitado o acesso a um recurso controlado. Ela não dita como o acesso é executado depois que a autorização está estabelecida, nem vai ditar como qualquer outra operação ou possível transação é realizada após verificação bem sucedida.
[000107] A modalidade exemplar descrita abaixo opera essencialmente através da criação de uma imagem de uma versão codificada de um teclado (o qual pode ser alternativamente chamado de um “PINPad”). A imagem de teclado codificado é enviada para apresentação ou exibição no dispositivo eletrônico de destino 1 para que o usuário veja. Neste exemplo, o dispositivo de destino é um telefone celular 1, como mostrado na Figura 6.
[000108] A imagem de teclado codificado é disposta para assemelhar-se ao teclado default padrão para o dispositivo. Cada marca e/ou modelo de dispositivo normalmente tem seu próprio estilo de teclado default que pode ser diferente em disposição, símbolos, tamanho, cor etc. dos teclados padrão associados com outros dispositivos. O teclado padrão é geralmente gerado e visualizado no telefone celular por uma chamada de procedimento, a qual especifica o formato do teclado para esse dispositivo e onde deve ser exibido na tela. O teclado padrão é uma grade a qual ocupa uma área específica na tela isto é, ele é exibido em uma localização específica. É uma área ou porção predefinida (referida aqui como uma “zona de teclado”) dentro da tela do telefone. A zona de teclado é dividida em subzonas em que cada subzona representa uma tecla no bloco de teclas padrão. Outra forma de dizer isto é dizer que cada subzona está associada com um determinado símbolo. O símbolo para cada tecla é exibido para que o usuário veja na tela dentro da localização de sua respectiva subzona. Portanto, se o usuário seleciona (por exemplo, toca ou clica em) uma área designada para uma subzona em particular, o símbolo para aquela tecla associada é gravado. Deste modo, o teclado serve como uma versão virtual de um teclado mecânico, gerado eletronicamente por software, detectando a localização da entrada do usuário dentro de uma área de tela definida e usando isso para gerar os dados de entrada em vez de usar as teclas fisicamente pressionáveis.
[000109] Em tais teclados virtuais, cada subzona é essencialmente um "hotspot” na tela, e uma pluralidade de hotspots são combinados adjacentes uns aos outros para formar um teclado. No presente exemplo, o teclado padrão 2 do telefone é arranjado como uma grade 3x4 de teclas, cada tecla 4 tendo um símbolo associado a ele. Neste caso, os símbolos incluem dígitos numéricos. Cada tecla 4 é uma área de “hotspot” da tela, cada hotspot sendo associado com um símbolo no teclado virtual.
[000110] Um exemplo de um estilo bem conhecido de teclado default 2 usado com smartphones é mostrado na Figura 11. O teclado padrão 2 é gerado no próprio dispositivo de destino 1 - não é enviado para o dispositivo 1 a partir de um servidor localizado remotamente.
[000111] Este teclado padrão 2 é então “recoberto” com a imagem de teclado codificado 3 a qual é então enviada para o telefone e é exibida na tela na zona de teclado. Esta sobreposição é obtida pela exibição da imagem do teclado codificado dentro da zona de exibição de teclado de tal modo que as posições das “teclas” codificadas correspondem às posições dos hotspots no teclado padrão. O alinhamento dos dois teclados é tal que somente a imagem de teclado codificado é vista pelo usuário e o teclado subjacente operável é escondido, pelo menos parcialmente mas preferencialmente inteiramente, pela imagem. Portanto, até onde diz respeito ao usuário, existe apenas um teclado, que se parece exatamente com o teclado que o usuário espera, exceto por ter as teclas em posições diferentes em relação umas às outras.
[000112] Considerando que o teclado padrão para o telefone celular é a “norma” com relação à qual o teclado codificado é referenciado, ele pode ser referido como um “teclado de referência”. Figuras 12a, 12b e 12c mostram exemplos de imagens de teclado 3 os quais são adequados para sobreposição em cima do teclado padrão 2 da Figura 11.
[000113] O teclado codificado é enviado para o telefone como uma imagem. Alternativamente, ela pode ser enviada como um arquivo de vídeo, a ser discutido em mais detalhe mais abaixo. Esta foto, vídeo ou imagem 3 pode ser referida como uma “representação”, porque em certo sentido, ela representa um teclado físico (pressionável).
[000114] A imagem do teclado codificado 3 foi pré-gerada (isto é, antes do início do processo de verificação). Ela é selecionada aleatoriamente a partir de um conjunto de representações de teclado codificado pré-gerado e, em seguida, enviada através de uma rede de telecomunicações para o aparelho (isto é, telefone celular) 1. A imagem de teclado codificado da Figura 3 é uma representação a disposição do teclado padrão 2. A diferença entre o teclado padrão 2 e a imagem do teclado codificado 3 e que as respectivas teclas 4 são ordenadas de maneira diferente. Em outras palavras, os mesmos dígitos estão presentes em cada teclado, mas, pelo menos dois estão em posições diferentes dentro da grade de teclado.
[000115] Esta representação de teclado 3 foi gerada para ter exatamente as mesmas dimensões que o teclado padrão de modo que ela possa sobrepô-lo perfeitamente. Assim, o usuário do telefone celular (cliente) vê apenas um teclado sem diferenças. O usuário não tem conhecimento de que existe um teclado subjacente 2 o qual foi gerado no fundo, por trás do que ele vê e usa para entrar em sua entrada. A imagem é enviada para o dispositivo do usuário, juntamente com uma ou mais instruções para invocar ou chamar o procedimento necessário para gerar o teclado subjacente.
[000116] A imagem de teclado codificado 3 selecionada aleatoriamente é efetivamente colocada sobre o teclado default do telefone 2 de modo que quando o usuário digita seu PIN, um resultado diferente é gerado dentro do dispositivo diferente daquele que o usuário pretendia introduzir, ou pelo menos achava que ele estava introduzindo. Isto é alcançado como um resultado da relação (mapeamento) entre as teclas 4 de modo diferente posicionadas nos dois teclados 2, 3. O usuário toca a tela em um local particular para inserir um dígito mostrado na imagem de teclado codificado 3 sobreposta, mas isso é interpretado como sendo o dígito no teclado subjacente 2 naquela subzona. À medida que o usuário insere uma entrada subsequente seu símbolo subjacente correspondente é concatenado com a entrada anterior para construir um PIN completo.
[000117] Desta forma, uma versão codificada de PIN do usuário é produzida com base na posição das teclas ocultas 4 que o usuário seleciona por meio da representação do teclado codificado 3. Se o usuário comete um erro, uma nova (diferente) representação de teclado 3 é enviada para o dispositivo 1.
[000118] Assim, o PIN que o usuário pensa que ele está inserindo não é o PIN registrado pelo software que reside no telefone do usuário. O PIN “real” do usuário nunca é armazenado no telefone inseguro 1, e não é transmitido através de qualquer rede (insegura). Somente a versão codificada é armazenada e transmitida. A versão codificada do PIN pode ser criptografada antes da transmissão para aumentar adicionalmente a segurança. Assim, nenhum interceptor seria capaz de decodificar, adivinhar ou retraduzir o PIN real sem saber como as posições das teclas em cada teclado fazem o mapeamento umas das outras.
[000119] Na presente modalidade, o processo de decodificação é tratado por um componente da invenção o qual “sabe” a disposição das teclas em ambos os teclados e é, portanto, capaz de mapear os dígitos codificados de volta para suas contrapartes originais, chegando, assim, de volta na entrada pretendida pelo usuário. Este PIN decifrado pode então ser comparado com PIN previamente armazenado do usuário para fins de verificação.
[000120] Na modalidade exemplar, a imagem do teclado codificado 3 é criptografada antes de ser enviada para o telefone 1. Ao chegar ao telefone 1 ela é carregada em uma parte segura ou protegida de memória no dispositivo 1 (ou pelo menos a mais protegida que pode ser). Em outras palavras, todos os elementos de segurança comuns são usadas pela invenção, como se PIN real do cliente tivesse sido introduzido (em vez de uma versão traduzida). Isso provê uma outra camada de segurança e proteção.
[000121] Estes aspectos da invenção são agora discutidos em maior detalhe em relação a uma forma na qual a invenção pode ser posta em uso.
Produção de PINPad
[000122] O “Programa de Produção de PINPad” 6 é responsável por gerar todas as imagens de teclado codificado 3 usadas por todo o sistema. Uma vista geral deste aspecto da invenção é mostrada na Figura 5.
[000123] Se forem utilizados teclados simplesmente codificados aleatoriamente, existe um risco de que uma ou mais teclas não possam ser codificadas posicionalmente. Isto pode resultar em uma ou mais teclas do PIN de entrada dos usuários correspondendo posicionalmente ao PIN padrão e codificado. Esse não é o ideal.
[000124] Consequentemente, durante Geração (de imagem) de PINPad, imagens de teclado codificado que têm uma ou mais teclas posicionalmente correspondendo ao teclado padrão são descartadas. A Produção de PINPad, por conseguinte, é preferencialmente não puramente aleatória, mas é sujeita a um processo de seleção para selecionar/descartar de acordo com um critério específico.
[000125] A Geração (de imagem) de PINPad ocorre em um ambiente seguro, tipicamente correspondente ao padrão de segurança de dados da indústria de cartão de pagamento.
[000126] A resolução de saída e o tipo de arquivo devem ser inicialmente configurados antes do uso em um dispositivo de destino particular 1 (neste caso, o tipo de telefone celular). Isto assegura que as imagens emitidas sejam geradas para a resolução ideal para esse dispositivo, por exemplo, 256 x 184.
[000127] Uma “Imagem de Fundo” 7 mestre é então selecionada a qual corresponde à resolução como definida anteriormente, e um “Arquivo de Permutações” 5 selecionado contendo todas as permutações necessárias de dígitos (teclas) para as imagens finais de teclado. Em uma implementação, esse arquivo 5 deve ser um arquivo de texto separado por vírgulas com cada permutação em uma nova linha. No entanto, uma variedade de implementações pode ser concebida para o mesmo efeito. Por exemplo, cada permutação pode ser separada por um # ou *.
[000128] O “Arquivo de Permutações" 5 é então fundido com a “Imagem de Fundo” 7 usando a seleção do usuário do Tipo de Fonte, Tamanho e Cor para produzir a imagem de teclado concluída 3. A imagem de teclado concluída 3 é então otimizada e reduzida em tamanho para ser a menor possível para a velocidade de transmissão ideal.
[000129] Além de teclados monocromáticos padrão conforme mostrado nas Figuras 1, 5, 9 11, 12 e 13, a Imagem de Fundo 7 pode ser manipulada. Por exemplo, a cor do fundo e/ou o tipo de fonte padrão, tamanho e cor podem ser alterados para que uma base de dados ilimitada de teclados possa ser gerada para cada tipo de tela e dispositivo.
[000130] Em algumas modalidades, propagandas, mensagens educativas ou outro conteúdo podem ser incorporados nas imagens apresentadas.
[000131] Estas imagens de teclado pode empregar fontes especiais ou cores para permitir que quaisquer caracteres regionais específicos, por exemplo Árabe, sejam usados, e também para garantir que as imagens não possam ser lidas por programas não autorizados de Reconhecimento Óptico de Caracteres (aumentando assim a segurança).
[000132] Para cada imagem de teclado que é produzida é também dado um único nome de arquivo e um índice mestre é criado para todas as imagens de teclado que foram geradas. Quando uma imagem de teclado codificado é enviada para o dispositivo, uma cópia do nome do arquivo daquela imagem é temporariamente armazenada. Este nome do arquivo contém a ordem das teclas dentro da imagem do teclado. Isto permite o mapeamento entre a imagem do teclado codificado e o teclado de referência seja gravado.
[000133] Por motivos de segurança, a imagem do teclado codificado 3 é renomeada antes de ser codificada e enviada para o dispositivo remoto 1; isso impede que malwares ou outras pessoas não autorizadas, possivelmente, interceptem e decodifiquem o PIN.
[000134] As Figuras 1 a 4 ilustram alguns exemplos das várias aparências que as imagens de teclado codificado 3 podem ser providas com em conformidade com a invenção.
[000135] A título de exemplo, Figura 2 mostra uma imagem de teclado codificado 3 que tem um fundo de folhas de outono. Isto pode ser utilizado pelo vendedor para variações de estação ou pode ser utilizado para fins publicitários.
[000136] Figura 3 mostra uma imagem apenas a preto e branco distorcida de modo que não pode ser lida por software OCR. O destinatário versado na técnica estará ciente de que tais imagens exigem telas de alta resolução para exibir corretamente.
[000137] Figura 4 mostra uma imagem de teclado monocromática que foi modificada para o alfabeto Árabe. O destinatário versado na técnica apreciará que esta diferença regional nos caracteres também pode ser combinada com os outros métodos de técnicas de imagem ilustrados nas Figuras 2 e 3.
[000138] Em dispositivos convenientemente poderosos, uma sobreposição de vídeo pode ser utilizada em vez de uma imagem estática para diminuir ainda mais a possibilidade de que o software OCR poderia ser usado para ler o teclado. Este recurso pode também ser utilizado para fins publicitários.
[000139] É importante que, a fim de prover um nível de segurança necessário, malware e pessoas não autorizadas não sejam capazes de ler os dados contidos na imagem de teclado codificado exibida ao usuário. Como descrito acima, isto é conseguido pela invenção ao prover o teclado codificado em um formato de foto ou imagem única. Embora seja possível realizar OCR a imagens em um microcomputador, os telefones celulares não têm a capacidade de fazer isso, e seria quase impossível para malwares escondidos possuir o nível necessário de sofisticação sem atrair a detecção.
[000140] Este problema pode, pelo menos em parte, ser abordado usando fundos aleatórios e fontes que não podem ser compreendidos por tecnologias de OCR. O problema também pode ser abordado através da apresentação da imagem de teclado como um arquivo de vídeo. Apesar de os arquivos de vídeo não se prestarem a serem lidos por tecnologias de OCR é tecnicamente possível para um terceiro “agarrar” uma única tela a partir de um arquivo de vídeo e lê-la.
[000141] Uma solução a qual pode ser incorporada a várias modalidades da invenção seria combinar os dois sistemas acima mencionados em um só. Assim, a imagem do teclado codificado é apresentada ao usuário em um formato simples (ou seja, fontes especiais não são usados e o fundo é “normal”), mas o próprio arquivo é um arquivo de vídeo pequeno o qual, quando executado, engana o olho ao fazer pensar que a imagem é sólida e estática. Na realidade nenhum quadro contém informações suficientes para que possa ser manipulado de forma reversa de volta para conteúdo utilizável compreensível.
[000142] O sistema pode ser conseguido apenas três quadros, cada um exibido rapidamente e em sucessão, de modo a aparecer estático. Um exemplo é dado na Figura 18. Quando combinados em um arquivo de vídeo a palavra estática “Licentia” é exibida, mas as imagens individuais são ilegíveis por um pacote de OCR.
Processo de Registro
[000143] Este aspecto da invenção está ilustrado na Figura 6.
[000144] Em certas modalidades, um dispositivo 1 deve ser registrado antes de poder ser utilizado com o sistema da presente invenção e um aplicativo pequeno 8 baixado para o dispositivo de destino 1. Se o dispositivos sendo utilizado é um telefone celular 1 então o processo de atualização pode ocorrer “over the air3’ (OTA) automaticamente; se o dispositivo for um terminal fixo, em seguida, o software 8 pode ser baixado através de uma linha fixa, embora possa alternativamente ser incorporado no dispositivo no momento da fabricação e simplesmente atualizado, se necessário.
[000145] Para registrar um telefone celular 1 com o sistema o usuário precisaria realizar um processo de registro compreendendo as seguintes etapas: 1. Fazer login no serviço de registo 9 através de uma interface baseada na web (por exemplo, web site) 10 2. Inserir os seus dados pessoais isto é, Nome, Endereço, Código Postal (CEP), Modelo de Fabricante de Telefone, Endereço de Email, Número de Telefone Celular A natureza e tipo de dados necessários podem ser estipulados pelo operador do sistema e podem variar de país para país, dependendo do aplicativo com o qual o sistema está sendo usado. Além disso, os dados cadastrais já podem ser detidos pelo operador considerando que o cliente pode ser um cliente existente e, portanto, apenas o aplicativo pode precisar ser inserido no dispositivo. 3. Um link é então enviado para o telefone celular 1 para o usuário seguir ou o aplicativo 8 é simplesmente “baixado" para o aparelho. Quando executado pela primeira vez, o aplicativo 8 estabelece o dispositivo 1 e faz o download de todos os dados adicionais que podem ser exigidos, tais como chaves de criptografia etc. Um banco de dados de imagem de teclado personalizado também é criado no servidor para o dispositivo registrado (como mostrado na Figura 7).
[000146] Para se registar no sistema com um dispositivo fixo o usuário completaria um processo similar como se segue: 1. Fazer login no serviço de registo 9 através de uma interface baseada na web 10 2. Inserir os seus dados pessoais isto é, Nome, Endereço, Código Postal (CEP), Modelo de Fabricante de Telefone, Endereço de E-mail Tal como acima para o telefone celular, os dados necessários seriam ditados pelo operador do sistema. 3. O dispositivo então se conecta ao servidor quer através de uma linha fixa ou sem fio e, se necessário atualiza o aplicativo interno. Quaisquer outros dados que são necessários, tais como chaves de criptografia etc., são baixados. Um banco de dados de imagem de teclado personalizado também é criado no servidor para o dispositivo registrado (vide Figura 7)
[000147] Considerando a Figura 7. Para ambas as situações descritas acima, para cada dispositivo que está registrado no sistema um banco de dados personalizado (ou índice) 13 de imagens de teclado é criado a partir do Banco de Dados Mestre 11.0 Banco de Dados Mestre consiste em imagens de teclado que foram geradas especificamente para o modelo registrado do usuário do dispositivo para garantir a exibição ideal. Este banco de dados (ou índice) 11 é então randomizado 12 para assegurar que não há dois dispositivos com a mesma ordem de imagens de teclado codificado isto é, referência de teclado “AXF015689.gif pode estar na localização 65894 para um dispositivo, mas na posição 125948 em um outro. Mais uma vez, isso melhor a segurança.
[000148] Deve ser notado que em certas modalidades registro de usuário pode não ser uma exigência. Este pode ser o caso em que o software é integrado em um aplicativo de terceira parte. Em tais modalidades, o método de registo requerido pode ter sido posto em prática pela terceira parte.
Processo de Transação
[000149] Este aspecto da invenção está ilustrado na Figura 8. Mediante o registro bem sucedido do usuário e do dispositivo, as transações podem ser realizadas. Uma autenticação (Solicitação de PIN) pode ser iniciada por vários métodos dependendo da maneira no qual o sistema tenha sido integrado com aplicativos de terceira parte.
[000150] Normalmente integração ocorre com terceiras partes as quais: a. Fabricam dispositivos de leitura ou de passar o cartão de chip que estão ligados ao dispositivo móvel, ou b. Baixam informações financeiras e posterior solicitação de pagamento para o aparelho ou seja, aplicativos de pedágio de estrada; ou c. Proveem sites que exigem entrada de PIN segura para obter acesso a informação quando usados em aplicativos tais como o acesso bancário online.
[000151] No entanto, a invenção não se destina a ser limitada a este respeito e a natureza de serviços ou recursos providos pela terceira parte não é uma característica limitativa da invenção.
[000152] Em todos os casos descritos acima, existe um gatilho (trigger) comum para o aplicativo de PIN para carregar e executar o processo de entrada do PIN subsequente.
[000153] Uma vez que uma solicitação para uma imagem foi recebida pelo servidor (o qual pode ser referido como o “recurso baseado no computador”) o dispositivo de entrada 1 é identificado e autenticado e, se bem sucedido, a próxima imagem de teclado do “índice” 13 do dispositivo é codificada e transmitida ao dispositivo 1. As imagens de teclado são enviadas sequencialmente de acordo com o “índice 2” dos dispositivos como mostrado no item 13 da Figura 7 (em ordem de cima para baixo) e não são reutilizadas.
[000154] Uma vez que a imagem de teclado criptografada 3 é recebida pelo dispositivo 1 ela é descriptografada e passada para “Aplicativo de Terminal Seguro”.
Aplicativo de Terminal Seguro
[000155] Este aspecto da invenção está ilustrado na Figura 9 e na Figura 10.
[000156] O “Aplicativo de Terminal Seguro”' é o programa que reside no dispositivo/telefone de destino 1 ou o terminal fixo e é responsável pela entrada e transmissão segura do PIN introduzido do usuário de volta para o servidor.
[000157] Como descrito acima, um teclado 2 é criado no dispositivo em uma grade 3x4. Para cada hotspot é atribuído um caractere numérico. O aplicativo então “sobrepõe” este teclado de referência 2 com a representação de teclado aleatorizado 3 que foi pré-gerada e enviada para o aparelho 1. Esta representação de teclado codificado 3 foi gerada correspondendo exatamente às mesma dimensões que as do teclado 2 que fica abaixo e sobrepõe o mesmo perfeitamente, como descrito acima. Assim, quando o usuário insere seu número PIN 14, utilizando a representação codificada 3, uma saída diferente codificada é gerada. No exemplo abaixo, se o PIN do usuário foi “6725”' então a saída do teclado seria “0476". É a saída de teclado “0476” que é criptografada e enviada de volta para o “Mecanismo de Decodificação” do servidor.
[000158] Uma vez que o teclado foi pressionado quatro vezes a imagem do teclado codificado 3 é apagada de forma segura usando um algoritmo de eliminação segura da memória protegida onde ela reside.
O Mecanismo de Decodificação
[000159] Uma vez que o servidor central (“recurso baseado no computador”) recebe o PIN codificado e criptografado de entrada do aparelho 1 ele deve ser convertido de volta para o PIN de usuário original.
[000160] Isso é feito pelo “Mecanismo de Decodificação" o qual é mantido em um servidor seguro separado, exclusivamente para este fim. Como descrito anteriormente, quando o dispositivo 1 se identifica para o servidor e solicita uma imagem de teclado 3 o nome de arquivo único para a imagem de teclado que foi enviada ao dispositivo 1 é temporariamente armazenado. Este nome do arquivo contém a ordem das teclas dentro do teclado isto é, para a imagem de teclado mostrada na Figura 9 o nome de arquivo seria “0347152986”. Isto permite o mapeamento entre a imagem do teclado codificado e o teclado de referência seja gravado. Por motivos de segurança, a imagem do teclado codificado 3 é renomeada antes de ser codificada e enviada para o dispositivo remoto 1.
[000161] Quando o PIN criptografado chega, a mensagem é primeiramente descriptografada usando a chave compartilhada utilizada para o aparelho/dispositivo (esta pode ser Triple DES ou Chave Pública Privada, ou o que for considerado apropriado durante o desenvolvimento de acordo com o aparelho).
[000162] Uma vez que a mensagem foi descriptografada o PIN codificado, que foi gerado pela entrada do usuário deve ser descriptografado. Para fazer isto, o nome de arquivo da imagem de teclado que foi enviada é copiado para um arranjo temporário e, em seguida, para cada número que foi gerado pela entrada do usuário o número na posição de arranjo correspondente é substituído, revelando, assim, o número PIN real.
[000163] Assim, para o exemplo acima em que o PIN do usuário foi 6725, o aparelho gerou e transmitiu um PIN criptografado de 0476.
[000164] Agora, quando o nome de arquivo da imagem de teclado que foi enviado é copiado para o arranjo “0347152986” nós ficamos com o seguinte:
Figure img0001
[000165] Para cada número do PIN gerado a “Posição de Arranjo” é localizada e o “Caractere de Nome de Arquivo” é substituído.
[000166] Primeiro Dígito de PIN = 0 (GOTO posição de arranjo 0); Primeiro dígito do número PIN de usuário = 6
Figure img0002
[000167] Segundo Dígito de PIN = 4 (GOTO posição de arranjo 4) Segundo dígito do número PIN de usuário = 7
Figure img0003
[000168] Terceiro Dígito de PIN = 7 (GOTO posição de arranjo 7) Segundo dígito do número PIN de usuário = 2
Figure img0004
[000169] Quarto Dígito de PIN = 6 (GOTO posição de arranjo 6) Segundo dígito do número PIN de usuário = 5
Figure img0005
[000170] Após o processo de descriptografia ter sido concluído a entrada “real” de usuário de 6725 é revelada. Este número PIN 6725 é então criptografado usando criptografia padrão bancária e passado para o Adquirente ou parceiro bancário para processamento. Deve ser notado que este apenas é adicionalmente criptografado e passado para o adquirente em modalidades relativas a uma transação financeira. Os dados podem ou não ser adicionalmente criptografados, dependendo da natureza e das exigências da aplicação específica.
[000171] O arranjo é então seguramente apagado para garantir a segurança, juntamente com quaisquer outros dados temporários.
[000172] Deve ser notado que em certas modalidades alternativas, 12 fotos de teclas menores (uma para cada número ou hotspot) podem ser providas. O telefone ou outro dispositivo pode ser disposto de modo a selecionar um número aleatório e rearranjar as imagens individuais em um arranjo de 3x4 (e assim fazendo um teclado virtual sob demanda). No entanto, tais modalidades apresentam potenciais brechas de segurança e podem prover vários pontos de acesso para o malware obter o PIN do usuário (já que o aparelho / dispositivo teria de transmitir o número aleatório e, portanto, a ordem do PINPad de volta para o servidor). Portanto, tal modalidade é adequada para aplicações em que níveis de segurança requeridos são um pouco relaxados.
[000173] Também deve ser notado que apesar de invenção ter sido descrita acima com respeito a um telefone celular tendo uma tela sensível ao toque, outras modalidades podem compreender um tipo diferente de dispositivo. Por exemplo, em uma outra modalidade o dispositivo poderia ser um computador pessoal, ou um laptop, ou um computador tablet. A modalidade funcionaria essencialmente como descrito acima exceto que já que dispositivos de computação de uso geral, tais como PCs, não compreendem normalmente uma chamada de procedimento padrão para geração de um teclado da mesma forma que os telefones celulares, a zona de teclado e hotspots são especificados por um componente de software construído para finalidade específica executando no dispositivo. O software especifica a porção da tela a qual compõe a zona de teclado, e as localizações das subzonas (teclas) e seus símbolos associados dentro da zona de teclado. A imagem de teclado codificado é exibida nessa localização para prover a técnica de sobreposição descrita acima. O teclado subjacente é gerado utilizando a mesma (ou substancialmente a mesma) chamada de procedimento usada pela implementação de smartphone.
[000174] Em uma outra modalidade, um terminal pode ser provido, o qual se assemelha aos terminais de leitura de cartões conhecidos usados em ambientes de varejo. O terminal pode compreender uma tela de toque e compreender os componentes internos que replicam aqueles de um telefone celular. Assim, o terminal pode receber e enviar dados como um telefone pode, e o terminal pode funcionar de acordo com a invenção como descrito acima com referência ao dispositivo de destino sendo um telefone celular.
[000175] Assim, a invenção pode ser configurada para uso com uma variedade de dispositivos relacionados com a computação de igual efeito.
[000176] Além disso, a invenção pode ser configurada de modo a incluir vários recursos que melhoram adicionalmente a segurança dos dados do usuário.
Criação de Marca D’áqua
[000177] Por exemplo, os assim chamados ataques “'man in the middle" (em tradução literal, homem no meio) são um problema conhecido. Isso pode ser resolvido na presente invenção usando um recurso de “marca d’água" para demonstrar ao usuário (isto é, um vendedor ou possivelmente o cliente final) que o dispositivo de entrada está em comunicação com uma parte legítima (por exemplo, o banco apropriado) e que, por conseguinte, a imagem de teclado codificado foi enviada por aquela parte legitima e não por um impostor.
[000178] Tal recurso pode ser implementado em uma variedade de maneiras. Por exemplo, quando um varejista registra para usar o sistema que eles escolhem e armazena um indicador secreto (palavra, frase, número, nome, imagem etc.) que só eles e a parte de confiança sabem. Em seguida, quando uma transação é exigida o seguinte processo é realizado: 1. O cartão do consumidor é lido 2. O valor da transação é introduzido 3. A tela de entrada de PIN é exibida no terminal
[000179] Quando a tela de entrada de PIN é exibida o comerciante deve verificar fisicamente que a palavra secreta pré-selecionada etc. que eles registraram é exibida na tela antes de passar o terminal para o cliente para a sua entrada de PIN. Este é essencialmente o mesmo princípio que é empregado em tecnologia SSL em que se olha para o ícone de cadeado amarelo pequeno como a confirmação da legitimidade do site.
[000180] Ao fazer isso, a responsabilidade é colocada sobre o comerciante de assegurar que o dispositivo está falando de forma segura para uma parte legitima. Se um indicador diferente (marca de água) é apresentado a partir daquele que o comerciante espera, ou nenhum indicador é mostrado de maneira alguma, pode presumir-se que o processo foi comprometido.
[000181] Essa marca d’água pode ficar na tela para duração da entrada de PIN pelo consumidor. No entanto, é preferencial que ela seja somente exibida por um período de tempo curto (por exemplo, a região de poucos segundos) e então desapareça antes que ela seja vista por qualquer outra pessoa, tal como o cliente. Se a marca d’água é vista por uma outra pessoa, isso pode permitir que esta realiza um ataque man in the middle. Figura 15a mostra uma imagem pré-gerada do PINPad que está em branco. O sistema cria uma nova imagem do PINPad para incluir a palavra secreta do usuário “Jellybean”, a qual é então criptografada e enviada ao dispositivo. Isto é mostrado na Figura 15b.
[000182] Mediante registro o usuário pode também escolher onde ter a marca d’água exibida, por exemplo direita, esquerda, centro, topo etc. Uma imagem de teclado tendo a marca d'água no canto esquerdo inferior é mostrada na Figura 15c. Em versões alternativas, uma cor de texto ou o estilo de fonte, ou o tamanho também podem ser escolhidos.
[000183] Além disso, a marca d’água não precisa esta em forma textual. Em algumas modalidades, o usuário pode fazer o upload de uma fotografa ou outro arquivo (por exemplo, uma foto de família ou uma foto da loja, etc.) de modo que esta foto é exibida no fundo. Isto está ilustrado na Figura 15d.
[000184] Esse recurso de geração de marca d’água é adequado para o emprego com todas as modalidades da invenção, independentemente do contexto no qual a invenção é utilizada ou da natureza do dispositivo usado para exibir o teclado (por exemplo, online por meio de um navegador, por meio de um terminal disposto para uso com a invenção, ou um telefone celular etc.).
Criptografia Adicional de PINPad
[000185] A fim de adicionalmente melhorar a segurança do sistema, a invenção pode empregar uma ou mais técnicas para tornar mais difícil que uma parte não autorizada descobrir, discernir ou calcular o mapeamento entre a imagem de teclado exibida (isto é, aquela que o usuário usa para introduzir o seu PIN) e o teclado subjacente.
[000186] Por exemplo, se o usuário selecionou um PIN o qual contém o mesmo dígito mais do que uma vez (por exemplo, 1223) isso pode tornar mais fácil de calcular a correlação entre a entrada e o teclado “subjacente”.
[000187] Uma abordagem possível para superar este poderia ser a criação de mais de um teclado subjacente. Por exemplo, um teclado virtual poderia ser gerado para cada tecla pressionada. Um exemplo é dado abaixo.
[000188] Figura 16a mostra uma imagem de teclado codificado, e Figura 16b mostra um teclado “subjacente”. Se o PIN do usuário é 1111 então o PIN codificado enviado de volta para o servidor seria 9999. Isto provê a um hacker em potencial um ponto de partida para uma tentativa de calcular ou adivinhar o PIN do usuário.
[000189] No entanto, se 4 diferentes teclados “subjacentes” são usados ao invés de um só, este problema é superado. Assim, uma sequência de dígitos pode ser enviada para o dispositivo de destino (por exemplo, terminal, telefone, PC) e a sequência é usada pelo dispositivo de destino para formar o teclado. Para o teclado na Figura 16b, a sequência seria 3156790482. Usando esta abordagem, é possível gerar um novo teclado para cada pressionamento de tecla necessário.
[000190] Assim, o PINPad de topo conforme a Figura 16a é enviado para o dispositivo de destino como uma imagem, em conformidade com a descrição acima exposta. Então, 4 sequências numéricas são enviadas para a criação do teclado subjacente por exemplo 3156790482, 0746189352, 0347156289, 2581673904. Isso produz os teclados mostrados nas Figuras 16b a 16e.
[000191] Supondo agora que a entrada do usuário é 1111. Ao invés de 9999 ser produzido, o código 9857 é produzido e enviado de volta para o servidor para descriptografia. Já que o servidor “sabe” qual imagem de teclado codificado foi enviada, e quais as sequências de dígitos, o PIN codificado resultante parece ser muito mais aleatório e é, portanto, muito mais difícil de decifrar por um interceptor. O processo de descodificação no final do servidor permanece como o acima exposto.
[000192] Além disso, a fim de aumentar a segurança ainda mais, é possível utilizar combinações de outros caracteres na geração dos teclados, não apenas os caracteres. Por exemplo, a sequência Jg6KrBjoJ6 pode ser enviada. Isso pode gerar o teclado subjacente mostrado na Figura 17. Em tal modalidade, o uso de cadeias de caracteres geradas aleatoriamente no teclado inferior reduz a necessidade de “filtrar” os teclados subjacentes (como descrito acima) para remover teclados potencialmente inadequados que possam prover a um atacante um possível ponto de partida para um ataque.
[000193] No entanto, em uma modalidade preferencial, somente imagens do teclado codificados (de “topo”) de 1.6m são utilizadas em vez das possíveis de 3,6m, e ainda uma verificação é realizada para assegurar que não é o mesmo mapeamento, ou seja 1 = 1 entre os teclados sobrepostos e os subjacentes.
Arquitetura de Nível de Sistema
[000194] Figura 19 ilustra uma maneira na qual a invenção pode ser implementada em um sistema de transação.
[000195] Figura 19 inclui os seguintes componentes de sistema, ou módulos.
[000196] App de Dispositivo: um aplicativo que é executado em um terminal ou telefone celular para gerenciar a interação do usuário e fluxo de processo técnico, incluindo iniciar uma transação de pagamento, interagir com leitor de cartão, solicitar um oPINPad (isto é, imagem de teclado codificado), criptografar o oPIN inserido e enviar a transação online para autorização.
[000197] Módulo de Gerenciamento de oPINPad: um aplicativo standalone que é executado em um centro de dados seguro central em um servidor dedicado. Ele mantém um banco de dados de todas as imagens TIF oPINPad e gerencia a distribuição das TIFs oPINPad sob demanda.
[000198] Auth Client', um módulo de aplicativo standalone que é executado em um centro de dados seguro central, possivelmente no mesmo servidor que o Módulo de Gerenciamento de oPINPad (ou, em algumas modalidades em seu próprio servidor dedicado). Ele recebe a mensagem a partir do dispositivo e prepara a mesma para que seja enviada para a Chave de Pagamentos para Autorização.
[000199] Appliance de HPSAM: um módulo de aplicativo standalone que é executado em um centro de dados seguro central em um servidor dedicado. Em algumas modalidades o servidor pode ser fortalecido quanto a sua segurança.
[000200] Na Figura 19, a seguinte terminologia é utilizada: • Dispositivo: Terminal de Pagamento ou Telefone Celular onde a transação de pagamento está ocorrendo • oPIN: "PIN Ofuscado" - o PIN codificado o qual é gerado pelas teclas do teclado de Dispositivo subjacente; este não é o PIN verdadeiro do titular do cartão • PIN real: O PIN real associado com o cartão do consumidor que seria “passado” para o oPIN antes de ser verificado pelo emissor do cartão • oPINPad: PINPad Ofuscado (isto é, a imagem de teclado codificado)- A imagem TIF a qual é apresentada ao titular do cartão para que ele introduza seu PIN e tendo “teclas” em posições codificadas com relação ao teclado de Dispositivo subjacente • Arranjo de oPINPad: Arranjo para ser usado para mapear o oPIN com o PIN real, como descrito acima • HPSAM: Módulo de Acesso de Segurança de Pagamento Hospedado (Hosted Payment Security Access Module) • HSM: Módulo de Segurança de Hardware (Hardware Security Module) • Leitor de Cartão: O terminal/dispositivo móvel que contém ou está ligado a um Leitor de cartões o qual recupera detalhes do cartão de pagamento do consumidor • Tag: Número de identificação único atribuído ao oPINPad para auxiliar no processamento posterior • ZMK: Chave Mestra de Zona (Zone Master Key).
[000201] No que diz respeito às referências numéricas na Figura 19, o fluxo de processo do sistema ilustrativo é como se segue:
Figure img0006
Figure img0007
[000202] Deve ser notado que as modalidades acima mencionadas ilustram em vez de limitarem a invenção, e que aqueles versados na técnica serão capazes de projetar muitas modalidades alternativas sem se afastar do escopo da invenção como definido pelas reivindicações anexas. Nas reivindicações, quaisquer sinais de referência colocados entre parênteses não devem ser interpretados como limitativos das reivindicações. As palavras "compreendendo" e "compreende", e similares, não excluem a presença de elementos ou etapas diferentes daqueles listados em qualquer reivindicação ou no relatório descritivo como um todo. No presente relatório descritivo, “compreende” significa “inclui ou consiste em” e “compreendendo" significa “incluindo ou consistindo em”. A referência singular de um elemento não exclui a referência plural de tais elementos, e vice-versa. O simples fato de que determinadas medidas são recitadas em reivindicações dependentes mutuamente diferentes não indica que uma combinação destas medidas não pode ser utilizada com vantagem.

Claims (15)

1. Método de verificação implementado por computador, caracterizado pelo fato de compreender a etapa de: permitir que um usuário insira um identificador em um dispositivo eletrônico que tem: i) tela; e ii) um teclado virtual operável dentro de uma zona de teclado da tela gerado por uma chamada de procedimento, em que o procedimento é provido dentro de uma biblioteca fornecida pelo fabricante do dispositivo; ao operar pelo menos uma tecla do teclado virtual por meio de uma imagem de pelo menos parte de um teclado codificado o qual é exibido pelo menos parcialmente dentro da zona de teclado, de tal modo que o teclado virtual é pelo menos parcialmente escondido da vista, de tal modo que o usuário não é capaz de ver pelo menos algumas das teclas do teclado virtual; e em que a operação do usuário da pelo menos uma tecla de teclado por meio da imagem gera automaticamente uma versão codificada da entrada de usuário devido a um mapeamento entre as posições das teclas da imagem do teclado e do teclado virtual.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que: a imagem é eletronicamente formada, incluindo uma imagem gráfica, uma imagem óptica, um vídeo ou alguma outra forma de representação visual.
3. Método, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que a zona de teclado é uma área ou porção definida da tela a qual cobre a tela inteira ou uma porção da mesma; e/ou em que a imagem é exibida dentro da zona de teclado de tal forma que quando o usuário toca, clica em ou ainda identifica uma localização dentro da imagem, uma tecla de teclado naquela localização é ativada para prover uma versão codificada de entrada do usuário.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que: a imagem é exibida de tal modo que ela ocupa a zona de teclado exatamente, completamente ou parcialmente; e/ou em que a imagem é exibida de tal modo que ele aparece para o usuário que a imagem é um teclado operável com teclas em uma ordem ou configuração codificada com relação ao teclado do dispositivo eletrônico; e/ou em que a imagem funciona como uma máscara ou cobertura sobreposta ao teclado de tal modo que quando o usuário toca, clica ou de outra maneira identifica uma localização dentro da imagem, ela opera a tecla do teclado posicionada nessa localização dentro da zona de teclado.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que o identificador é um Código de Identificação Pessoal ou Número de Identificação Pessoal.
6. Método, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que compreende adicionalmente a etapa de enviar a imagem para o dispositivo eletrônico a partir de um recurso baseado em computador localizado remotamente.
7. Método, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que a zona de teclado compreende uma pluralidade de subzonas ou “hotspots” (pontos quentes), cada subzona correspondendo a uma tecla de teclado.
8. Método, de acordo com qualquer uma das reivindicações 1 a 7, caracterizado pelo fato de que a versão codificada do identificador do usuário é construída dentro do dispositivo eletrônico a partir de uma pluralidade de pressionamentos de teclas ativados no teclado em resposta a um clique, toque ou outra indicação feita pelo usuário no que diz respeito à imagem na tela.
9. Método, de acordo com qualquer uma das reivindicações 1 a 8, caracterizado pelo fato de que o identificador inserido no dispositivo é enviado a partir do dispositivo eletrônico para um recurso remoto baseado em computador; e opcionalmente em que o recurso remoto baseado em computador recebe o identificador do usuário e processa o mesmo.
10. Método, de acordo com qualquer uma das reivindicações 1 a 9, caracterizado pelo fato de que a imagem exibida no dispositivo é selecionada a partir de uma pluralidade de imagens de teclados codificados, preferencialmente em que a pluralidade é filtrada, selecionada ou triada de alguma maneira antes de selecionar a imagem, tal como filtrar a pluralidade para garantir que nenhuma imagem na pluralidade retrate quaisquer teclas que se encontram na mesma posição que a tecla correspondente no teclado.
11. Método, de acordo com qualquer uma das reivindicações 1 a 10, caracterizado pelo fato de adicionalmente compreender as etapas de: gerar uma pluralidade de imagens de teclados codificados; selecionar uma imagem a partir da pluralidade; e enviar uma cópia da imagem selecionada para o dispositivo eletrônico.
12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de adicionalmente compreender a etapa de remover pelo menos uma imagem a partir da pluralidade antes de realizar a seleção.
13. Método, de acordo com a reivindicação 11 ou 12, caracterizado pelo fato de adicionalmente compreender a etapa de remover a imagem selecionada a partir da pluralidade após enviar a cópia para o dispositivo eletrônico.
14. Método, de acordo com qualquer uma das reivindicações 11 a 13, caracterizado pelo fato de adicionalmente compreender a etapa de remover a partir da pluralidade qualquer imagem a qual representa um teclado codificado que tem pelo menos uma tecla na mesma posição que a tecla respectiva no teclado.
15. Método, de acordo com qualquer uma das reivindicações 1 a 14, caracterizado pelo fato de que o dispositivo eletrônico é um telefone móvel, um PC, um computador tablet, um laptop, um PDA, um terminal de leitura de cartão, ou um telefone celular dentro de um invólucro de tal modo que se assemelha a um dispositivo de leitura de cartões ou ePOS, ou algum outro dispositivo eletrônico que tem capacidades de comunicação.
BR112015000980-8A 2012-07-20 2013-07-17 Método de verificação implementado por computador BR112015000980B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1212878.1 2012-07-20
GB201212878A GB201212878D0 (en) 2012-07-20 2012-07-20 Authentication method and system
GB1306053.8 2013-04-04
GB201306053A GB201306053D0 (en) 2012-07-20 2013-04-04 Authentication Method and System
PCT/GB2013/051913 WO2014013252A2 (en) 2012-07-20 2013-07-17 Authentication method and system

Publications (2)

Publication Number Publication Date
BR112015000980A2 BR112015000980A2 (pt) 2017-06-27
BR112015000980B1 true BR112015000980B1 (pt) 2021-11-03

Family

ID=

Similar Documents

Publication Publication Date Title
US11048784B2 (en) Authentication method and system
US10491379B2 (en) System, device, and method of secure entry and handling of passwords
BR112015000980B1 (pt) Método de verificação implementado por computador