Recentemente, tenho viajado bastante e pude apreciar o fato de pagar por viagens de ônibus / metrô ou café / cerveja apenas com tecnologia sem contato . Os sistemas baseados em Apple/Google/Samsung-Pay requerem o desbloqueio ativo do seu dispositivo tecnológico e isso gera alguma lentidão no processo de pagamento.
Se você está na fila com um monte de gente esperando atrás de você e algo dá errado, você está frito 🥪.
Como um NERD inveterado, uso um CASIO F-91W desde que ainda tinha espinhas no rosto. Este relógio lendário enfeita os pulsos dos aficionados por tecnologia em todo o mundo com seu design elegante, construção robusta e duração impressionante da bateria (diz-se que dura cerca de 7 anos ). Tornou-se um símbolo da revolução do relógio digital a partir dos anos 80 com a adoção do quartzo.
Achei que seria bom não ter que tirar o cartão de crédito/débito da carteira ou o celular do bolso para pagar, mas sim aproximar o relógio do PoS e pagar com uma pitada de modernidade. magia do dia ✨.
Então decidi dar uma nova vida e levá-lo para o próximo nível , combinando nostalgia e inovação em puro estilo hacker .
A tecnologia NFC ( Near Field Communication ) possibilita a troca de informações sem contato físico direto entre dois dispositivos envolvidos. No caso dos cartões de pagamento sem contato , eles podem ser usados sem serem inseridos em um slot de PDV ou digitando um código PIN , tornando as transações financeiras mais rápidas e convenientes.
Dentro de um cartão de pagamento contactless de plástico (ou metálico), podemos encontrar vários componentes:
Microchip : geralmente chamado de chip de circuito integrado seguro ( IC ) ou chip inteligente , ele funciona como o cérebro do cartão e contém vários subcomponentes como a CPU (controla as operações do cartão e gerencia o processamento de dados), a Memória (armazena informações de dados, como detalhes da conta, histórico de transações e chaves de segurança ) e um Crypto Core (pode gerar números aleatórios verdadeiros , ajuda na resolução de desafios aritméticos, pode realizar criptografia/descriptografia de dados e ser útil no processo de autenticação do cartão e do terminal).
Antena : geralmente feita de cobre ou alumínio , é responsável por transmitir e receber sinais de radiofrequência para permitir a comunicação sem contato . Ele é projetado em um padrão específico para garantir uma transmissão de sinal eficiente.
Por meio de uma antena é possível transmitir e receber ondas de radiofrequência , uma forma de energia que pode viajar pelo espaço ou por materiais transportando informações. A frequência do protocolo NFC é de 13,56 MHz (em alguns casos pode variar e ser um pouco maior, em torno de 14,5 ~ 15,5 MHz para sistemas de pagamento ou caixas eletrônicos). O comprimento de onda (representado pelo símbolo λ-lambda , em termos mais simples, é a medida do comprimento de um único ciclo de onda) no espaço livre é calculado dividindo a constante de velocidade da luz (~ 300'000Km/s) pelo alvo frequência.
Portanto, uma antena ideal deve ser constituída por um fio de 22,12 metros de comprimento, mas por convenção frações de λ-lambda (λ/2, λ/4, λ/8, λ/16, etc.) são oportunamente escolhidas. Outro fator importante é a impedância elétrica do fio, que depende principalmente do material de que é feito, de sua resistividade e também da seção transversal do próprio fio.
Os cartões de pagamento são dispositivos passivos que não requerem fonte de energia própria. Em vez disso, eles são alimentados por indução eletromagnética quando se aproximam de um dispositivo NFC ativo , como um smartphone ou um terminal de pagamento sem contato . O dispositivo NFC ativo gera um campo magnético , que induz uma corrente na antena do dispositivo de destino do NFC . Essa corrente induzida fornece energia suficiente para ativá-lo, permitindo que ele opere e se comunique com o dispositivo ativo .
A maioria dos cartões inteligentes de tecnologia antiga tinha a antena embutida em um invólucro de plástico (ou resina), soldado ao chip , que conseqüentemente era alimentado diretamente pela corrente induzida .
A nova tecnologia de cartões de pagamento consiste em uma interface dupla que não precisa de nenhum contato com fio entre o microchip e os módulos de antena . A antena no corpo do cartão tem algumas voltas adicionais em torno da área onde o módulo do chip está embutido. Esta antena de corpo de cartão se acopla indutivamente em uma pequena antena de loop que é diretamente integrada ao módulo do microchip . Isso simplifica o processo de produção do cartão, pois a antena não precisa ser conectada (por exemplo, colada, soldada ou soldada) ao módulo do chip .
Curioso para ver como é a forma da antena (realisticamente falando) dentro do invólucro de plástico do cartão?
Os “quadrados” conectados em linha atuam como capacitores variáveis. Isso, juntamente com os enrolamentos enxertados em vários níveis, permite que o módulo seja acoplado em diferentes frequências.
No geral, os componentes trabalham juntos para permitir transações sem contato seguras e convenientes. A antena permite comunicação sem fio, enquanto o microchip gerencia o processamento de dados, segurança e autenticação, garantindo a privacidade e integridade das informações do portador do cartão.
Para “ver” através do complexo e invisível mundo das ondas de rádio , tive que contar com alguns equipamentos específicos.
Neste cenário particular, o chip RFID-RC522 foi canibalizado para explorar a antena microstrip no PCB como uma sonda para o NanoVNA .
Dessoldei os capacitores C10 e C11 e continuei soldando dois conectores de fios jumper fêmeas em seus lugares.
Em seguida, arranquei um cabo conector coaxial fornecido com o dispositivo NanoVNA . Depois de separar o fio do núcleo interno (+) da malha da blindagem externa (-), soldei os conectores de fio jumper macho , respectivamente, para ter uma interface destacável (da teoria: quanto mais longos os fios jumpers , maior o "ruído" quando lendo os valores de RF , portanto, mantenha-o o mais curto possível).
Ao acoplar esta antena-sonda “frankenstein” com o NanoVNA através da entrada S11 → CH0 , eu poderia nadar por ondas de rádio .
Comecei com a combinação NanoVNA + RFID-RC522 .
Uma vez ligado, o NanoVNA exibe muitas informações, mas a maioria é irrelevante para essa finalidade. Ele possui uma tela sensível ao toque resistiva ao lado de um joystick baseado em roda que pode ajudar a mover-se pelos menus .
O foco está todo no traço amarelo , então desabilitei todos os traços desnecessários indo ao submenu DISPLAY e clicando duas vezes em TRACE 1 (ciano), TRACE 2 (verde) e TRACE 3 (magenta). É possível vê-los desaparecer da tela.
Depois cliquei em BACK → SCALE → SCALE/DIV e coloquei “4” (dá uma boa proporção).
Eu confirmei clicando no botão ENT .
Voltei então ao menu principal e cliquei em STIMULUS .
Ao clicar em START eu configuro 12,5 MHz .
Ao clicar em STOP , configuro 16 MHz .
Desta forma é possível filtrar todos os sinais permitindo que o aparelho exiba apenas os da banda de 12,5 a 16 MHz .
Para ver se a configuração estava boa, coloquei na superfície da antena uma tag NFC sobressalente.
Regra simples: quanto mais profunda a cunha inferior, maior a “ressonância”.
Em outras palavras, significa que o tag NFC utilizado para o teste está bem acoplado com a antena (é absolutamente normal ver faixas variáveis em torno da frequência de 13,56MHz dependendo dos tags/cartões abordados).
Passando para o dispositivo Proxmark3 , ele precisa de um computador para funcionar. Dentro do repositório GitHub original pude encontrar todas as instruções de instalação (muito exaustivas e bem explicadas). Estou executando no macOS , então usei o tutorial baseado em fermentação para rapidez.
Antes da primeira execução, é recomendável atualizar o firmware do dispositivo com a versão mais recente disponível. Para isso, o procedimento requer pressionar o botão “meio oculto” e conectar o cabo Micro-USB mantendo-o pressionado. Desta forma, o dispositivo inicializa no modo DFU .
Uma vez no modo DFU , basta executar o seguinte comando:
pm3-flash-all
e deve realizar tudo “automagicamente”.
Feito isso, desconectar e reconectar o cabo Micro-USB ao Proxmark3 permite que ele seja detectado na lista de portas seriais. Executando o seguinte comando:
> pm3
agora é possível entrar no mundo mágico do hacking/auditoria NFC .
O Proxmark3 Tools possui um shell interativo (sugiro que você estude todas as informações da documentação, pois esse maquinário permite fazer algumas coisas — mesmo ilegais — muito interessantes e complexas).
Para testá-lo, coloquei a mesma tag NFC usada para o NanoVNA no topo da superfície da antena de alta frequência .
Executando o seguinte comando no shell interativo:
> pm3 → pesquisa hf
foi possível ler as informações relacionadas ao NFC .
NOTA: embora ambos os dispositivos NanoVNA e Proxmark3 sejam bem “isolados” eletricamente, eles podem sofrer algum ruído se colocados em superfícies condutoras como metal ou similar. Coloquei-os em um mouse pad de borracha para fazê-los funcionar solidamente. Lembre-se disso se estiver enfrentando algum comportamento “estranho” nas leituras.
Passemos à leitura do cartão de pagamento recordando o último comando:
> pm3 → pesquisa hf
Como pode ser observado, a saída é bem mais detalhada que a anterior, pois o cartão contém um “chip inteligente” para operações mais complexas e seguras . Esta saída é útil para comparação posterior.
Tudo certo. Todos os equipamentos estão funcionando perfeitamente, a configuração está completa e podemos agora passar para a parte mais interessante.
Para descobrir o tipo do meu cartão de pagamento , tive que rasgá-lo.
Com a ajuda de um bocal de ar quente de uma estação de solda (definido para 100 °C), comecei a aquecer a superfície ao redor do chip do cartão desenhando círculos próximos e distantes, para frente e para trás.
O verdadeiro truque aqui para evitar danos irreversíveis é não ficar muito tempo no mesmo lugar (evitando que tudo derreta ).
Após cerca de 45 seg ~ 1 min de aquecimento , comecei a mexer suavemente em volta do chip com uma pinça e, com vários movimentos, consegui separá-lo do invólucro de plástico.
Embora ligeiramente coberto por resíduos de cola , é possível ver os enrolamentos da antena integrada , portanto não há juntas de solda do chip interno para a antena externa.
Acontece que esse tipo de cartão de pagamento pertence à nova categoria de tecnologia, uma combinação de um chip com uma pequena antena embutida que ressoa e se acopla à antena maior escondida dentro da placa do cartão , conforme explicado em parágrafo anterior.
Passando para a desmontagem do relógio CASIO F-91W , fui all-in . Primeiro removi as pulseiras para trabalhar sem impedimentos.
Então, com a ajuda de uma pinça e uma pequena chave de fenda, consegui derrubá-lo até os ossos (não tinha intenção de personalizar os circuitos internos, por isso deixei a unidade central intacta, pois além dos pagamentos sem contato , seria conveniente poder sempre consultar a hora 😂).
Ao aquecer a placa frontal com a pistola de calor usada anteriormente (mesma temperatura definida para 100 °C , mesmos padrões circulares hi-lo à distância), por aproximadamente ~ 1,5 min , apliquei uma boa quantidade de força de dentro para fora do a caixa do relógio e ele saiu naturalmente sem muito esforço.
Depois de verificar a natureza do cartão demolido , percebi que estava lidando não com uma, mas com duas antenas . Eu queria ver claramente, então me lembrei do meu equipamento.
Tomados separadamente, cada um tem sua própria frequência de operação . O invólucro do cartão sozinho ressoa em ~ 15,28 MHz .
Quando emparelhados , no entanto, o resultado é uma nova frequência totalmente diferente das individuais. O compartimento do cartão + chip ressoa a ~ 14,85 MHz.
Em projeção para os próximos passos, este experimento me fez perceber que, para explorar uma abordagem de síntese aditiva/subtrativa para reproduzir uma antena correspondente a partir do zero, outros fatores além da impedância devem ser levados em consideração, incluindo a espessura e/ou a permeabilidade magnética de materiais.
Lidar com antenas não é tarefa fácil . Exige muita experiência teórica e prática , adquirida ao longo de muitos anos de testes e frustrações, dissipadas em algum laboratório, talvez.
No geral, o ajuste da antena é um processo de design muito crítico que visa otimizar o desempenho de um sistema de antena . Envolve ajustar matematicamente o comprimento da antena , as dimensões da superfície, a correspondência de impedância , a minimização de SWR (Standing Wave Ratio) para obter a ressonância desejada, transferência de energia eficiente e características operacionais.
OK mas…
Nós hackers , pessoas extremamente preguiçosas , procuramos sempre o caminho mais curto com o menor esforço para atingir o máximo de resultados.
Reconhecendo a declaração acima, meu objetivo era contornar qualquer escavação específica no tédio eletromagnético para fornecer a maneira mais rápida possível de iterar o processo de design da antena . Para isso, inventei o chamado “fishing tuning” (obrigado Daniele G ., meu verdadeiro amigo e apoiador, por me sugerir esse nome incrível ), uma forma de gueto (mas inteligente) de sintonizar cegamente uma antena caseira NFC .
Simplificando, o processo por trás disso envolve conceitos e materiais básicos. Pelas especificações da nova tecnologia de cartões de pagamento foi possível entender que o chip precisa ser bem enrolado , então, deve ter algumas bobinas externas ao redor para ter ressonância suficiente com o leitor NFC .
O procedimento de leitura NFC (a partir de um dispositivo ativo) é distribuído em intervalos de frequência , não em frequências específicas e fixas. A variabilidade intrínseca do acoplamento do dispositivo, dadas as condições de contorno, é relativamente alta, portanto, qualquer pequena imprecisão é igualmente tolerada.
![Medição do tamanho do chip do cartão de pagamento (largura)
](https://cdn.hackernoon.com/images/vSoRcyvb6dP2JiCy2a0lFEycpoa2-ow1k35vy.png)
Peguei meu calibre de precisão e obtive as dimensões do chip .
Com uma ferramenta CAD 3D on-line amplamente utilizada, eu poderia projetar um carretel simples com o porta -chips (colocado bem no centro), deixando espaço para os enrolamentos de fio interno e externo que eu poderia extrudar com a ajuda da minha impressora 3D .
Usei um fio de cobre esmaltado de 0,10 mm (muito barato, custa alguns dólares) e comecei a enrolá- lo em torno do compartimento do chip mais interno e depois continuei gerando bobinas no carretel mais externo .
Para manter tudo sob controle , achei extremamente útil um recurso que vem com a ferramenta Proxmark3 . Acionando o seguinte comando:
> pm3 → sintonia hf
é possível acompanhar em tempo real a queda de tensão em mV (milivolts) de qualquer tag compatível com NFC que se aproxime da superfície da antena de alta frequência .
Regra simples: quanto maior a queda de tensão , maior a ressonância da antena (e assim o acoplamento é mais eficiente ).
(Demonstração da técnica de afinação de pesca)
Como você pode ver no vídeo de demonstração acima, a mão esquerda mantém o carretel alinhado com a superfície da antena Proxmark3 (foto abaixo).
A mão direita está puxando lentamente o fio para fora do carretel enquanto fica de olho nas leituras contínuas pm3 → hf tune . Continuei enquanto atingia a maior queda de tensão (~ 11mV o máximo alcançado) em 3mV / 14mV .
Em seguida, cortei o excesso de fio do carretel , deixando um pouco a mais para depois, em caso de erro e/ou para um ajuste de frequência mais fino. Agora, temos um fio de antena de comprimento arbitrário (o meu tinha cerca de 1,6 metros de comprimento) de um fio eletromagnético de 0,10 mm que pode ser enrolado novamente em um gabinete mais bonito.
Lado a lado, da placa frontal à placa traseira , o relógio digital CASIO F-91W possui várias camadas de componentes: a tampa de metal, o suporte da bateria, a bateria de célula tipo moeda, o PCB, o visor, a caixa de plástico e o protetor de tela. A instalação de uma antena na parte traseira não funciona (acredite, fiz uma quantidade infinita de tentativas e soluções de problemas antes de chegar a essa conclusão). Isso ocorre devido a muitos componentes de “blindagem” que interferem e não permitem que uma antena NFC em potencial colocada na parte traseira seja emparelhada decentemente com qualquer leitor NFC .
Para chegar a um design de antena decente (sem desfigurar a estética original do relógio), repliquei a placa frontal original no software CAD 3D , onde cortei a área para segurar o chip e esculpi uma cavidade em todo o perímetro para enrole o fio da antena .
Quanto à placa traseira , decidi substituir a original de metal por uma impressa em 3D baseada em PLA .
Isso me permitiu garantir a toda a estrutura a redução do ruído eletromagnético gerado pela presença da placa metálica, preservando uma uniformidade puramente estética.
Para entender a quantidade certa de fio necessária, testei frequentemente o pico de ressonância por meio da combinação do dispositivo NanoVNA + RFID-RC522 , enquanto desenrolava e cortava o fio, um pequeno pedaço de cada vez.
Além disso, usei o dispositivo Proxmark3 para verificar se o cartão de pagamento sem contato encolhido em seu novo formato ainda poderia ser bem lido.
O orifício deixado pela impressão 3D (para o visor do relógio) na placa frontal foi preenchido com resina epóxi ultratransparente para obter o acabamento do vidro .
A exposição a uma lâmpada UV suficientemente potente ( 48W ) por cerca de 1 a 2 minutos de cada lado contribui para a polimerização (endurecimento) da resina UV .
É hora de juntar todas as peças.
Com uma tesoura, uma pinça e um monte de fita adesiva dupla face para eletrônicos, consegui reconstruir a superfície de adesão da placa frontal .
Para finalizar, montei novamente os componentes restantes fechando tudo com a placa traseira e os parafusos originais.
Não poderia faltar uma cinta bacana para completar o visual e caimento.
Comprei algumas coisas em diferentes lojas/máquinas de venda automática para provar ao vivo que o sistema de pagamento sem contato embutido no CASIO F-91W funciona perfeitamente.
Alguns vídeos valem mais do que muitas palavras.
Eles são bons em pagar com seus smartwatches , mas com um CASIO vintage?
A pura alegria que recompensa todo esforço é ver a cara de espanto das pessoas → 😯 quando percebem com o que paguei no caixa 🤣.
Há alguns pensamentos passando pela minha mente:
Apenas mais algumas coisas divertidas.
Além disso, criei um repositório GitHub onde hospedei vários documentos que achei úteis e os arquivos *.STL para as placas frontal e traseira que você pode baixar e imprimir em 3D por conta própria → aqui .
Esta jornada no reino da tecnologia NFC , pagamentos sem contato e ondas de rádio foi emocionante. Como hacker , sinto-me muito sortudo por viver em uma era em que a rápida evolução de ferramentas, software e ecossistemas digitais abriu novos domínios de possibilidades, permitindo-nos ver através das coisas e desafiando-nos a abraçar o cenário em constante mudança de tecnologia. Ser um NERD tecnológico vai além de uma mera paixão por eletrônica ou codificação ; abrange uma mentalidade impulsionada pela curiosidade , resolução de problemas e o desejo insaciável de aprender . É um mergulho ao longo da vida na descoberta , onde cada novo avanço serve como um trampolim para avanços ainda maiores. Trata-se de estar na vanguarda da inovação, ultrapassando fronteiras e contribuindo para um futuro impulsionado pela imaginação e proeza tecnológica.
No entanto, em meio a toda a empolgação e maravilhas da tecnologia, devo também lembrar a importância de considerações éticas , privacidade e uso responsável . Com grandes poderes vem grandes responsabilidades.
Vamos continuar a explorar , mexer e compartilhar nosso conhecimento com o mundo.
Um agradecimento especial para amigos especiais:
Gente, isso foi ÉPICO 🤙.
Qualquer informação fornecida neste artigo é apenas para fins educacionais. Não sou responsável por quaisquer ações ilegais tomadas por indivíduos ou entidades com base nas informações adquiridas neste tutorial. O conteúdo destina-se a fornecer orientação geral e é sua responsabilidade garantir o cumprimento de todas as leis, regulamentos e padrões éticos aplicáveis ao aplicar as informações fornecidas. Quaisquer ações que você tomar com base no tutorial são feitas por sua conta e risco. Eu me isento de qualquer responsabilidade por quaisquer danos, perdas ou consequências legais resultantes do uso ou mau uso das informações apresentadas no tutorial. Encorajo-o vivamente a procurar aconselhamento profissional ou consultar as autoridades relevantes para garantir o cumprimento da lei. Ao acessar e usar este tutorial, você concorda em me isentar de qualquer responsabilidade por quaisquer ações ilegais ou suas consequências que possam ocorrer a jusante como resultado da aplicação das informações fornecidas. Use as informações com responsabilidade e tenha cuidado ao aplicá-las em situações práticas.
Publicado também aqui .