Ir para o conteúdo
Idioma: PT

O que um terminal de pagamento recebe de fato?

O suficiente para encaminhar a transação ao banco certo, e um valor que prova que o cartão participou desta compra específica. O cartão é um pequeno computador que decide o que responder, e não um armazenamento que o terminal lê, e é essa distinção que impede que a troca seja reaproveitada.

Um computador, e não um armazenamento

O modelo mental que causa a confusão é o de um cartão como uma caixa que o terminal abre. Nesse modelo, o que estiver dentro fica exposto a quem o ler.

O modelo correto é o de um cartão como um pequeno computador rodando uma aplicação. O terminal pergunta; a aplicação decide o que responder e recusa o resto.

Tudo o que vem a seguir é consequência disso. Um cartão não é lido, é interrogado, e é ele que tem o direito de resposta.

O que passa, em linhas gerais

Informações de encaminhamento, para que a transação chegue à instituição que emitiu o cartão.

Um valor calculado para esta transação, que prova que o cartão participou e não pode ser produzido sem ele.

Dados sobre a própria transação, reunidos pelo terminal, e não fornecidos pelo cartão.

Os campos exatos, os nomes deles e quais são obrigatórios estão definidos nas especificações EMV de pagamento por aproximação publicadas pela EMVCo, e são essas especificações, e não esta página, que têm autoridade sobre eles.

O que não passa

As chaves dentro do cartão, que nunca saem dele em nenhuma circunstância e são a razão pela qual o valor da transação não pode ser falsificado.

Qualquer coisa que a aplicação de pagamento não seja obrigada a responder, o que é muito mais do que as pessoas presumem e inclui boa parte do que se imagina que um cartão carrega.

E absolutamente nada sobre você como pessoa além do que o emissor do cartão colocou ali, já que um cartão não guarda nenhum histórico de onde esteve.

Por que a distinção importa

Porque ela explica por que capturar uma troca não é o mesmo que capturar um cartão, e por que toda a categoria de ataques por reprodução falha.

Ela explica também por que um aplicativo de uso geral num celular obtém tão pouco de um cartão de pagamento: o aplicativo não é um terminal, e o cartão responde de acordo.

Pegue o NFC Tools. No iOS ele exige um iPhone 7 ou um modelo posterior com iOS 15.6 no mínimo, e o aplicativo tem de ser aberto manualmente. A leitura em segundo plano está disponível a partir do iPhone XS e XR.

E ela cria a expectativa certa para quem desenvolve com NFC: a camada de pagamento é um sistema fechado com regras próprias, ao lado do mundo das tags, e não dentro dele.

Perguntas frequentes

O terminal lê o número do meu cartão?

Ele recebe o que a aplicação de pagamento responde, que é o que as bandeiras exigem para o encaminhamento e a prova. O cartão não é simplesmente lido.

As chaves do cartão chegam a ser enviadas?

Não. Elas ficam dentro do chip, e é por isso que o valor que prova a transação não pode ser produzido por mais nada.

Por que um aplicativo no meu celular vê tão pouco de um cartão bancário?

Porque ele não é um terminal, e a aplicação de pagamento responde de acordo. Isso é deliberado, e não uma limitação.

O cartão sabe onde já esteve?

Não. Um cartão não guarda nenhum histórico de si mesmo, então não existe nada desse tipo para um terminal obter.