Como funciona tokenização de cartão
Tokenização é o processo de substituir um dado sensível (como o número do cartão) por um valor arbitrário que não tem valor fora do contexto onde foi emitido. Diferente de criptografia, o token é irreversível sem o sistema que o gerou.
Tokenização vs criptografia
| Criptografia | Tokenização | |
|---|---|---|
| O que é | O dado original transformado matematicamente, recuperável com a chave certa. | O dado original substituído por um valor arbitrário; o original fica em outro lugar. |
| Reversibilidade | Quem tem a chave reverte. Vazou a chave, vazou os dados. | Sem acesso ao sistema de tokenização, o token é inútil. |
| Onde mora o risco | Na chave de criptografia. | No sistema de tokenização (vault). |
| Impacto no escopo PCI | O dado criptografado ainda é PCI. | O token, em si, normalmente não é PCI. |
Sistemas reais de tokenização armazenam o PAN criptografado no vault. Então tem criptografia dentro da tokenização. A diferença é o que o resto do mundo vê: tokens (não PCI) em vez de PAN cifrado (PCI).
O fluxo básico
Tipos de tokens
- Token de sessão: vida curta (minutos a horas). Usado para finalizar uma transação específica e descartado depois. É o caso típico de CVV.
- Token persistente: vive enquanto for útil ao negócio. Usado para "cartão salvo" (one-click checkout, recorrência, billing mensal).
- Token de bandeira (network token): emitido pela bandeira (Visa, Mastercard) em vez do merchant. Tem benefícios adicionais como atualização automática de cartões expirados.
Onde o vault deve viver
Há três opções clássicas:
No PSP
Utilização do vault do PSP (Pagar.me, Stripe, MercadoPago). Adoção mais simples, ao custo de uma forte dependência do PSP, a migração para outro fornecedor torna-se onerosa.
Em um SaaS de tokenização
Empresas especializadas (Spreedly, Basis Theory, entre outras). Oferecem independência do PSP, mas exigem trânsito de dados para fora da infraestrutura e cobrança por transação.
Vault próprio
Você roda o vault na sua infra. Independência total, dados ficam com você, sem custo por transação. É aqui que entra o LinkPCI Proxy.
O detalhe que muda tudo: o forward proxy
A tokenização é apenas metade da arquitetura. A outra metade é: como utilizar o token sem expor o número de cartão real para a aplicação que o consome? A maioria das APIs de adquirentes (Pagar.me, Stone, Cielo, MercadoPago) espera receber PAN e CVV no corpo da requisição. Quando a aplicação possui o token e precisa enviar PAN à API, é necessário destokenizar em algum ponto, e esse ponto precisa estar em escopo PCI.
A solução adequada é um forward proxy: a aplicação envia a requisição final para o proxy com tokens nos campos onde apareceriam PANs; o proxy substitui os tokens pelos valores reais e encaminha ao destino. A aplicação nunca recebe PAN ou CVV.
Para o trade-off detalhado entre vault próprio com proxy vs vault do PSP, leia Quando usar um forward proxy PCI.