ID TECH
Contato
Todos os posts técnicos

Post Técnico

Um Leitor de Cartão com Chip que Gera Saída de Texto

Já mencionei nosso Augusta (veja a foto) em posts anteriores, e mencionei que o Augusta com Quick Chip e M/Chip Fast está com patente pendente. Mas por quê? Por que a patente está pendente? O que há de patenteável nisso? O Quick Chip não é de domínio público? (Sim, na verdade. A Visa considerou patentear, mas decidiu não o fazer.) O que há no Augusta com Quick Chip e M/Chip Fast que é tão inovador assim?

Resposta curta: A grande inovação aqui é que o Augusta é o único leitor de cartão com chip no mercado capaz de realizar transações EMV inteiramente no modo de teclado. O que significa que ele pode ser adaptado para uso em aplicações de navegador: ou seja, aplicações de terminal virtual que capturam dados de caracteres diretamente de um leitor.

Isso significa que você pode se comunicar com um cartão com chip — e receber de volta dados ASCII simples.

Isso é Extremamente Importante.

Não é difícil encontrar leitores de MagStripe que operam inteiramente em modo teclado. Você conhece esse tipo de leitor: aquele em que você conecta o dispositivo a um laptop ou tablet, passa um cartão, e os dados da trilha aparecem magicamente na tela onde quer que o cursor esteja. Isso é o modo teclado. Funciona porque o leitor de cartão é um dispositivo serial que engana o computador host, fazendo-o acreditar que o dispositivo é, na verdade, um teclado!

Mas um leitor de cartão com chip é uma história diferente.

A maioria dos leitores de cartão com chip requer software especial para funcionar, pois o aplicativo host precisa se comunicar com o chip do cartão (afinal, é para isso que ele serve!), mas o chip só fala em binário. Na prática, a comunicação entre o aplicativo host e o chip envolve operações bastante complexas em nível de bits e bytes, incluindo criptogramas, handshakes especiais e notificações de eventos (entre outras coisas) que mantêm o computador host ocupado por dez, vinte segundos antes de você ser solicitado a "remover o cartão".

Antes do Augusta, comunicar-se com um cartão com chip era uma tarefa bastante complexa, que exigia um software extremamente elaborado e de alto processamento no computador host (ou no terminal de caixa eletrônico). Com o Augusta, nenhum software especial é necessário para extrair dados do cartão. Após a inserção do cartão, o leitor gera dados de teclas ASCII automaticamente, sem intervenção do programador — dados que podem ser consumidos por qualquer aplicativo que espere receber texto. Literalmente, você pode abrir o Bloco de Notas em um computador Windows, conectar o Augusta a uma porta USB, inserir um cartão e assistir aos dados do cartão com chip aparecerem no Bloco de Notas, como texto. É isso que diferencia o Augusta. É isso que é patenteável. É isso que você não encontrará em nenhum outro lugar no mercado.

Como são esses dados? Bem, como você pode (ou não) saber, as transações EMV resultam em dados TLV. TLV significa Tag, Length, Value (Etiqueta, Comprimento, Valor). É uma forma de representar dados em um formato de fácil análise. Assim, por exemplo, um dos TLVs retornados pelo Augusta após a inserção do cartão pode ser 5F 24 03 18 01 31. A parte "5F24" é a Tag — um identificador padrão definido pela EMVCo para a Data de Vencimento. O "03" após a tag é o Length (Comprimento): temos três bytes de dados. Os bytes de dados são 18 01 31, o que significa que a data de vencimento do cartão (AA-MM-DD) é 31 de janeiro de 2018.

Com o Augusta, uma transação EMV resulta em um fluxo de texto contendo dados TLV. Os dados exatos dependerão (obviamente) das circunstâncias, mas na maioria dos casos você receberá algo como 40 TLVs, incluindo todas as informações necessárias para um comprovante (como dados de trilha mascarados, na tag DFEF5D; data de vencimento na tag 5F24; nome do portador do cartão, na tag 5F20; entre outros), além do PAN criptografado (tag 5A), informações do criptograma (9F27) e muito mais. Um bloco de dados real tem a seguinte aparência (com espaços inseridos entre os valores dos bytes para maior clareza); observe que as tags estão em azul, os comprimentos em laranja e os dados em marrom.

DF EE 25 02 00 02 DF EE 26 02 20 00 DF EE 12 0A 62 99 49 00 00 00 00 00 00 63 DF EF 5D 10 51 28 CC CC CC CC 28 77 D1 80 16 22 CC CC CC CC 57 18 03 8C CC 33 FB 1D 32 99 5F B6 F8 65 EA FE 54 69 90 55 A6 BC 18 A2 0D 50 DF EF 5B 08 51 28 CC CC CC CC 28 77 5A 10 44 B6 48 D3 53 D0 4B E1 DB DB B7 56 5D 4F D0 21 5F 20 1A 2F 43 48 49 50 20 54 45 53 54 20 43 41 52 44 20 20 20 20 20 20 20 20 20 20 20 5F 24 03 18 01 31 5F 25 03 15 01 01 5F 28 02 08 40 5F 2A 02 08 40 5F 2D 02 65 6E 5F 34 01 00 5F 57 01 00 50 10 44 65 62 69 74 20 4D 61 73 74 65 72 43 61 72 64 4F 07 A0 00 00 00 04 10 10 82 02 39 00 84 07 A0 00 00 00 04 10 10 8C 21 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 9C 01 9F 37 04 9F 35 01 9F 45 02 9F 4C 08 9F 34 03 8D 0C 91 0A 8A 02 95 05 9F 37 04 9F 4C 08 8E 12 00 00 00 00 00 00 00 00 42 03 44 03 41 03 1E 03 1F 03 9C 01 00 9F 02 06 00 00 00 00 00 00 9F 03 06 00 00 00 00 00 00 9F 10 12 01 10 20 00 05 62 04 00 00 00 00 00 00 00 00 00 00 FF 9F 13 00 9F 20 00 9F 26 08 D2 EC AA C1 36 04 A7 22 9F 27 01 00 9F 34 03 1E 03 00 9F 36 02 01 A9 9F 37 04 9A 4D 21 88 9F 38 00 9F 39 01 07 9F 4D 00 9F 4F 00 95 05 04 00 00 00 00 9B 02 E8 00 8A 02 5A 33 99 00 9F 5B 00

O seu aplicativo de terminal virtual filtrará esses dados conforme necessário, exibirá parte deles na tela e enviará o restante ao gateway ou ao back-end para processamento.

Com a maioria dos leitores de cartão com chip, os desenvolvedores precisam se esforçar muito para obter exatamente os TLVs necessários, nos momentos exatos da transação. Com o Augusta, porém, todos os dados de que você precisa estão disponíveis em um único fluxo de caracteres, de uma só vez; é possível capturá-los em uma página web com manipuladores de eventos de tecla em JavaScript convencional. Em seguida, processe conforme desejar. Não é necessário abrir uma conexão USB com o leitor (ele dispensa drivers!); não é preciso emitir comandos de firmware; nem orquestrar interações complexas com o cartão. O kernel comum L2 certificado do Augusta cuida de todo o trabalho pesado e, ao final, entrega todos os dados de uma só vez — é exatamente isso que o Quick Chip e o M/Chip Fast permitem fazer. Trata-se de uma modalidade de interação EMV que não exige nenhum esforço adicional por parte do desenvolvedor. (Tudo bem, isso é um pouco exagerado. É preciso algum trabalho. Mas nada comparado ao EMV convencional!)

Para o comerciante, é um sonho que se torna realidade: basta conectar o Augusta, abrir o navegador e estar pronto para operar. Nenhuma instalação de software especial é necessária.

Portanto, se você é um desenvolvedor de aplicativos de pagamento, integrador de sistemas, ISV ou especialista em terminais virtuais que precisa colocar o EMV em funcionamento rapidamente, literalmente não existe maneira melhor ou mais simples de começar do que com o Augusta, com patente pendente, da ID TECH. É a forma mais fácil de implementar EMV — com um dispositivo de teclado que não exige nenhum handshake especial.

Quer saber mais? Todos os detalhes técnicos estão disponíveis em nosso white paper, que pode ser baixado gratuitamente e imediatamente (sem necessidade de cadastro). aqui mesmo. Ou ligue para o número a seguir e solicite uma unidade de demonstração:

1-800-984-1010

Naturalmente, Augusta suporta sua escolha de criptografia AES ou TDES (ou sem criptografia!), ou FPE, com gerenciamento de chaves DUKPT. Há ainda uma versão SRED, caso você precise. E não deixe de conferir nosso vídeo curto! Confira também todos os recursos Augusta disponíveis para download em nossa Base de Conhecimento.