Qual norma se aplica a um cartão bancário por aproximação?
A camada de rádio é a ISO/IEC 14443, a mesma que as tags NFC usam, e é por isso que o seu celular percebe o cartão. Acima dela fica uma aplicação de pagamento especificada pela EMVCo, e conduzi-la exige ser um terminal de pagamento, com as relações que isso implica.
Duas camadas, dois donos
Por baixo, um cartão por aproximação é um aparelho ISO/IEC 14443. Ele é alimentado pelo campo do leitor, responde por modulação de carga, e roda o protocolo de transmissão que o Android expõe como ISO-DEP. Tudo isso é comum às tags NFC comuns.
Por cima fica uma aplicação de pagamento especificada pela EMVCo, o organismo detido pelas grandes bandeiras de cartão. É nessa camada que acontece qualquer coisa relevante, e ela é regida por regras que não têm nada a ver com o NFC Forum.
O que um aplicativo comum vê
Muito pouco, e menos do que a internet sugere.
Um aplicativo de uso geral consegue estabelecer que um cartão está presente, identificar a tecnologia e ler o identificador usado durante a seleção. Além disso, ele está falando com uma aplicação de pagamento que vai se recusar a responder qualquer coisa que não seja obrigada a responder a um software que não é um terminal.
Existem demonstrações que mostram mais que isso, e o que elas mostram sobretudo é que alguns cartões historicamente expunham mais do que precisavam. Tratar isso como o estado normal das coisas é um erro, e tratar isso como motivo de alarme é um erro maior.
Por que ninguém debita o seu cartão de transporte
Três coisas têm de ser verdadeiras ao mesmo tempo para que o dinheiro se mova, e um atacante com um celular no meio da multidão não tem nenhuma delas.
O cartão tem de estar a poucos centímetros, que é uma restrição física que nenhum software remove. A troca tem de vir de um terminal credenciado, porque a transação precisa chegar a um banco adquirente que só a aceita de um estabelecimento que conhece. E o cartão realiza uma troca criptográfica cujo resultado é específico daquela transação, então a captura de uma transação anterior não vale nada.
O risco que sobra é real, mas tem outra forma que a imaginada: ele diz respeito a estabelecimentos fraudulentos e não à proximidade, e é tratado pelo sistema bancário e não por blindar a sua carteira.
O que muda quando o cartão é o seu celular
Quando um celular paga, ele apresenta uma aplicação de pagamento a partir de um elemento seguro em vez de um cartão de plástico, usando a emulação de cartão. O terminal vê algo que se comporta como um cartão.
O que difere é a proteção em torno disso. Um cartão está disponível a qualquer terminal contra o qual seja encostado. Um celular em geral exige desbloqueio ou uma verificação biométrica antes, o que acrescenta um passo que nenhum cartão de plástico consegue oferecer. É essa a diferença substantiva de segurança entre os dois, e ela favorece o celular.
Perguntas frequentes
Um aplicativo NFC consegue ler o número do meu cartão?
Alguns cartões historicamente expuseram mais dados que o necessário a aplicativos que pedem, e isso já foi demonstrado. Não é universal nem o que a especificação pretende, e não permite um pagamento, já que uma transação exige um criptograma que o cartão só produz para uma troca real.
As carteiras que bloqueiam RFID me protegem?
Elas de fato impedem que um cartão seja lido, estragando o acoplamento em vez de bloquear uma onda. Se isso trata um risco que vale tratar é outra questão, dado que o alcance é de poucos centímetros e uma transação precisa de um terminal credenciado.
Por que meu celular detecta o cartão mas não mostra nada de útil?
Porque ele chegou à aplicação de pagamento e foi recusado. A detecção acontece na camada de rádio, que é aberta, e tudo acima dela é regido por regras que excluem software de uso geral.
Um cartão por aproximação é uma tag NFC?
Ele compartilha a camada de rádio e não é uma tag. Uma tag entrega conteúdo guardado, um cartão roda um protocolo. É por isso que um aplicativo que lê tags perfeitamente não faz nada de útil com um cartão bancário.