Récemment, j'ai beaucoup voyagé et j'ai pu apprécier le fait de payer des trajets en bus/métro ou des cafés/bières juste avec la technologie sans contact . Les systèmes basés sur Apple/Google/Samsung-Pay nécessitent un déverrouillage actif de votre appareil technologique, ce qui ralentit le processus de paiement.
Si vous faites la queue avec un groupe de personnes derrière vous qui attendent et que quelque chose ne va pas, vous êtes grillé 🥪.
En tant que NERD invétéré, je porte un CASIO F-91W depuis que j'ai encore des boutons sur le visage. Cette montre légendaire orne les poignets des aficionados de la technologie du monde entier avec son design élégant, sa construction robuste et sa durée de vie de la batterie impressionnante (dure environ 7 ans ). Elle est devenue un symbole de la révolution horlogère digitale à partir des années 80 avec l'adoption du quartz.
J'ai pensé que ce serait bien de ne pas avoir à sortir ma carte de crédit/débit du portefeuille ou mon téléphone portable de la poche pour payer, mais plutôt de rapprocher la montre du point de vente et de payer avec une pincée de moderne- jour magique ✨.
J'ai donc décidé de lui donner une nouvelle vie et de l'amener à un niveau supérieur en combinant nostalgie et innovation dans un pur style de piratage .
La technologie NFC ( Near Field Communication ) permet un échange d'informations sans contact physique direct entre deux appareils concernés. Dans le cas des cartes de paiement sans contact , elles peuvent être utilisées sans être insérées dans un emplacement de point de vente ou en saisissant un code PIN , ce qui rend les transactions financières plus rapides et plus pratiques.
A l'intérieur d'une carte de paiement sans contact plastique (ou métallique), on peut trouver plusieurs composants :
Puce : souvent appelée puce de circuit intégré sécurisé ( IC ) ou puce intelligente , elle sert de cerveau à la carte et contient divers sous-composants comme le CPU (il contrôle les opérations de la carte et gère le traitement des données), la mémoire (stocke des informations sur les données telles que les détails du compte, l'historique des transactions et les clés de sécurité ) et un Crypto Core (il peut générer de vrais nombres aléatoires , il aide à résoudre les problèmes arithmétiques, il peut effectuer le cryptage/décryptage des données et être utile dans le processus d'authentification de la carte et du terminal).
Antenne : généralement en cuivre ou en aluminium , est chargée de transmettre et de recevoir des signaux de radiofréquence pour permettre une communication sans contact . Il est conçu selon un modèle spécifique pour assurer une transmission efficace du signal .
Grâce à une antenne, il est possible de transmettre et de recevoir des ondes radiofréquences , une forme d'énergie qui peut voyager à travers l'espace ou les matériaux en transportant des informations. La fréquence du protocole NFC est de 13,56 MHz (dans certains cas, elle peut varier et être légèrement supérieure, autour de 14,5 ~ 15,5 MHz pour les systèmes de paiement ou les guichets automatiques). La longueur d'onde (représentée par le symbole λ-lambda , en termes plus simples, est la mesure de la longueur d'un seul cycle d'onde) dans l'espace libre est calculée en divisant la vitesse de la lumière constante (~ 300'000Km/s) par la cible fréquence.
Par conséquent, une antenne idéale devrait être constituée d'un fil de 22,12 mètres de long, mais par convention des fractions de λ-lambda (λ/2, λ/4, λ/8, λ/16, etc.) sont opportunément choisies. Un autre facteur important est l' impédance électrique du fil, qui dépend principalement du matériau qui le compose, de sa résistivité ainsi que de la section du fil lui-même.
Les cartes de paiement sont des appareils passifs qui ne nécessitent pas leur propre source d'alimentation. Au lieu de cela, ils sont alimentés par induction électromagnétique lorsqu'ils se trouvent à proximité d'un appareil NFC actif , comme un smartphone ou un terminal de paiement sans contact . Le dispositif NFC actif génère un champ magnétique qui induit un courant dans l' antenne du dispositif cible du NFC . Ce courant induit fournit suffisamment de puissance pour l'activer en lui permettant de fonctionner et de communiquer avec le dispositif actif .
La plupart des cartes à puce de technologie ancienne avaient l'antenne intégrée dans un boîtier en plastique (ou en résine), soudé à la puce , qui était par conséquent alimentée directement à partir du courant induit .
La nouvelle technologie des cartes de paiement consiste en une double interface qui ne nécessite aucun contact filaire entre la puce et les modules d'antenne . L' antenne dans le corps de carte a quelques tours supplémentaires autour de la zone où le module de puce est intégré. Cette antenne de corps de carte se couple par induction dans une minuscule antenne en boucle qui est directement intégrée dans le module de la puce . Cela simplifie le processus de production de la carte car l'antenne n'a pas besoin d'être fixée (par exemple collée, soudée ou soudée) au module de puce .
Curieux de voir à quoi ressemble la forme de l'antenne (de manière réaliste) à l'intérieur de l'enveloppe en plastique de la carte ?
Les "carrés" connectés en ligne agissent comme des condensateurs variables. Ceci, associé aux enroulements greffés sur plusieurs niveaux, permet au module de se coupler à différentes fréquences.
Dans l'ensemble, les composants fonctionnent ensemble pour permettre des transactions sans contact sécurisées et pratiques. L' antenne permet une communication sans fil, tandis que la puce gère le traitement des données, la sécurité et l'authentification, garantissant la confidentialité et l'intégrité des informations du titulaire de la carte.
Pour « voir » à travers le monde complexe et invisible des ondes radio , j'ai dû m'appuyer sur un équipement spécifique.
Dans ce scénario particulier, la puce RFID-RC522 a été cannibalisée afin d'exploiter l' antenne microruban sur le PCB comme sonde pour le NanoVNA .
J'ai dessoudé les condensateurs C10 et C11 et j'ai procédé en soudant à leur place deux connecteurs de cavaliers femelles.
Ensuite, j'ai arraché un câble de connecteur coaxial fourni avec l'appareil NanoVNA . Après avoir séparé le fil central interne (+) de la maille de blindage externe (-), j'ai soudé respectivement les connecteurs de fils de connexion mâles , afin d'avoir une interface détachable (de la théorie : plus les fils de connexion sont longs , plus le « bruit » est élevé lorsque lire les valeurs RF , donc, gardez-le aussi court que possible).
En couplant cette antenne-sonde "frankenstein" avec le NanoVNA via l'entrée S11 → CH0 , j'ai pu nager à travers les ondes radio .
J'ai commencé avec le combo NanoVNA + RFID-RC522 .
Une fois allumé, le NanoVNA affiche beaucoup d'informations mais il se trouve que la plupart du temps, il n'est pas pertinent à cette fin. Il dispose d'un écran tactile résistif aux côtés d'un joystick à molette qui peut aider à se déplacer dans ses menus .
Le focus est tout sur la trace jaune donc j'ai désactivé toutes les traces inutiles en allant dans le sous-menu DISPLAY et en double-cliquant sur TRACE 1 (cyan), TRACE 2 (vert) et TRACE 3 (magenta). Il est possible de les voir disparaître de l'écran.
J'ai ensuite cliqué sur BACK → SCALE → SCALE/DIV et j'ai mis « 4 » (ça donne une bonne proportion).
J'ai confirmé en cliquant sur le bouton ENT .
Je suis ensuite retourné au menu principal et j'ai cliqué sur STIMULUS .
En cliquant sur START j'ai paramétré 12.5 MHz .
En cliquant sur STOP j'ai alors mis en place 16 MHz .
De cette manière, il est possible de filtrer tous les signaux en permettant à l'appareil d'afficher uniquement ceux de la bande 12,5 à 16 MHz .
Pour voir si le réglage était bon, j'ai placé sur la surface de l'antenne un tag NFC de rechange.
Règle simple : plus le coin inférieur est profond , plus la « résonance » est élevée .
En d'autres termes, cela signifie que le tag NFC utilisé pour le test est bien couplé à l' antenne (il est tout à fait normal de voir des portées variables autour de la fréquence de 13.56MHz selon les tags/cartes approchés).
En passant à l'appareil Proxmark3 , il a besoin d'un ordinateur pour fonctionner. À l'intérieur du référentiel GitHub d'origine, j'ai pu trouver toutes les instructions d'installation (très exhaustives et bien expliquées). Je cours sur macOS , j'ai donc utilisé le didacticiel basé sur le brassage pour plus de rapidité.
Avant la toute première exécution, il est recommandé de mettre à jour le micrologiciel de l'appareil avec la dernière version disponible. Pour cela, la procédure nécessite d'appuyer sur le bouton « half-hidden » et de brancher le câble Micro-USB tout en le maintenant appuyé. De cette manière, l'appareil démarre en mode DFU .
Une fois en mode DFU , exécutez simplement la commande suivante :
pm3-flash-all
et il devrait tout exécuter "automagiquement".
Une fois cela fait, déconnecter et reconnecter le câble Micro-USB au Proxmark3 permet de le détecter dans la liste des ports série. En exécutant la commande suivante :
> pm3
il est désormais possible d'entrer dans le monde magique du piratage/audit NFC .
Le Proxmark3 Tools dispose d'un shell interactif (je vous suggère d'étudier toutes les informations de la documentation, car cette machinerie permet de faire des choses — même illégales — très intéressantes et complexes).
Pour le tester, j'ai placé la même étiquette NFC utilisée pour le NanoVNA sur la surface de l'antenne haute fréquence .
En exécutant la commande suivante dans le shell interactif :
> pm3 → recherche hf
il était possible de lire les informations liées au NFC .
REMARQUE : bien que les appareils NanoVNA et Proxmark3 soient bien « isolés » électriquement, ils peuvent souffrir de bruit s'ils sont placés sur des surfaces conductrices telles que du métal ou similaire. Je les ai placés sur un tapis de souris caoutchouteux pour les faire fonctionner solidement. Gardez cela à l'esprit si vous êtes confronté à un comportement "étrange" dans les lectures.
Passons à la lecture de la carte de paiement en rappelant la dernière commande :
> pm3 → recherche hf
Comme on peut le constater, la sortie est beaucoup plus verbeuse que la précédente, car la carte contient une "puce intelligente" pour des opérations plus complexes et sécurisées . Cette sortie est pratique pour une comparaison ultérieure.
Tout bon. Tous les équipements fonctionnent parfaitement, la configuration est terminée et nous pouvons maintenant passer à la partie la plus intéressante.
Afin de découvrir le type de ma carte de paiement , j'ai dû la déchirer.
À l'aide de la buse à air chaud d'une station de soudage (réglée à 100 °C), j'ai commencé à chauffer la surface autour de la puce de la carte en dessinant des cercles de près et de loin, d'avant en arrière.
La vraie astuce ici pour éviter de faire des dégâts irréversibles est de ne pas rester trop longtemps au même endroit (pour éviter que tout ne fonde ).
Après environ 45 sec ~ 1 min de chauffage , j'ai doucement commencé à fuzz autour de la puce avec une paire de pincettes et avec un tas de balançoires j'ai pu la détacher du boîtier en plastique.
Bien que légèrement recouvert de résidus de colle , il est possible de voir les bobinages de l' antenne intégrée , donc pas de joints de soudure de la puce interne à l' antenne externe.
Il s'avère que ce type de carte de paiement appartient à la catégorie nouvelle technologie, une combinaison d'une puce avec une petite antenne embarquée qui résonne et se couple avec la plus grosse antenne cachée à l'intérieur de la plaque de la carte , comme expliqué dans un paragraphe précédent.
Passant au démontage de la montre CASIO F-91W , je suis allé all-in . J'ai d'abord retiré les bracelets afin de travailler sans encombre.
Puis à l'aide d'une pince à épiler et d'un petit tournevis j'ai pu le démonter jusqu'à la moelle (je n'avais pas l'intention de customiser les circuits internes, j'ai donc laissé l'unité centrale intacte car en plus des paiements sans contact ce serait pratique de toujours pouvoir consulter l' heure 😂).
En chauffant la plaque avant avec le pistolet thermique utilisé précédemment (même température réglée à 100 °C , mêmes motifs circulaires hi-lo à distance), pendant environ ~ 1,5 min , j'ai appliqué une bonne force de l'intérieur vers l'extérieur de le boîtier de la montre et il est sorti naturellement sans trop d'effort.
Après avoir vérifié la nature de la carte démolie , je me suis rendu compte qu'il s'agissait non pas d'une, mais de deux antennes . Je voulais voir clair alors j'ai rappelé mon équipement.
Pris séparément, chacun a sa propre fréquence de fonctionnement . Le boîtier de la carte résonne à lui seul à ~ 15,28 MHz .
Lorsqu'ils sont jumelés , cependant, le résultat est une nouvelle fréquence entièrement différente des fréquences individuelles. Le boîtier de la carte + puce résonne à ~ 14,85 MHz.
En projection sur les prochaines étapes, cette expérience m'a fait réaliser que pour exploiter une approche de synthèse additive/soustractive pour reproduire une antenne d'adaptation à partir de zéro, d'autres facteurs en plus de l'impédance doivent être pris en compte, notamment l' épaisseur et/ou la perméabilité magnétique de matériaux.
S'occuper des antennes n'est pas une tâche facile . Cela demande beaucoup d' expérience théorique et pratique , acquise au fil de nombreuses années d'essais et de frustrations, dissipée dans quelque laboratoire, peut-être.
Dans l'ensemble, le réglage d'antenne est un processus de conception très critique visant à optimiser les performances d'un système d'antenne . Cela implique d'ajuster mathématiquement la longueur de l'antenne , les dimensions de la surface, l'adaptation d'impédance , la minimisation du SWR (rapport d'onde stationnaire) pour obtenir la résonance souhaitée, le transfert de puissance efficace et les caractéristiques de fonctionnement.
OK mais…
Nous, les hackers , des personnes extrêmement paresseuses , recherchons toujours le chemin le plus court avec le moins d' efforts pour obtenir le maximum de résultats.
Reconnaissant la déclaration ci-dessus, mon objectif était de contourner toute recherche spécifique dans l'ennui électromagnétique afin de fournir le moyen le plus rapide possible d'itérer le processus de conception de l'antenne . Pour cela, j'ai inventé le soi-disant "fishing tuning" (merci Daniele G. , mon véritable ami et supporter, de m'avoir suggéré ce nom étonnant ), une façon ghetto (mais intelligente) de régler à l'aveuglette une antenne NFC homebrew.
En termes simples, le processus sous-jacent implique des concepts et des matériaux de base. D'après les spécifications de la nouvelle technologie des cartes de paiement , il était possible de comprendre que la puce devait être enroulée assez étroitement , puis, elle devrait avoir des bobines extérieures autour afin d'avoir suffisamment de résonance avec le lecteur NFC .
La procédure de lecture NFC (à partir d'un appareil actif) est étalée sur des intervalles de fréquence , et non sur des fréquences spécifiques et fixes. La variabilité intrinsèque du couplage de l'appareil, compte tenu des conditions aux limites, est relativement élevée, de sorte que toute petite imprécision est également tolérée.
![Mesure de la taille de la puce de la carte de paiement (largeur)
](https://cdn.hackernoon.com/images/vSoRcyvb6dP2JiCy2a0lFEycpoa2-ow1k35vy.png)
J'ai pris mon calibre de précision et j'ai obtenu les dimensions de la puce .
Avec un outil de CAO 3D en ligne largement utilisé, j'ai pu concevoir une simple bobine avec le porte- puce (placé au centre), laissant de la place pour les enroulements de fil intérieur et extérieur que je pourrais extruder à l'aide de mon imprimante 3D .
J'ai utilisé un fil de cuivre émaillé de 0,10 mm (très bon marché, au prix de quelques dollars) et j'ai commencé à l'enrouler autour du boîtier de puce le plus à l'intérieur , puis j'ai continué à générer des bobines sur la bobine la plus à l'extérieur .
Afin de garder tout sur la bonne voie , j'ai trouvé extrêmement utile une fonctionnalité fournie avec l'outil Proxmark3 . En déclenchant la commande suivante :
> pm3 → air hf
est possible de regarder en temps réel la chute de tension en mV (millivolt) de n'importe quel tag compatible NFC qui s'approche de la surface de l'antenne haute fréquence .
Règle simple : plus la chute de tension est élevée , plus la résonance de l'antenne est importante (et donc le couplage est plus efficace ).
(Démonstration de techniques de réglage de pêche)
Comme vous pouvez le voir dans la vidéo de démonstration ci-dessus, la main gauche maintient la bobine alignée avec la surface de l'antenne Proxmark3 (photo ci-dessous).
La main droite tire lentement le fil hors de la bobine tout en gardant un œil sur les lectures continues pm3 → hf tune . J'ai continué en atteignant la chute de tension la plus élevée (~ 11mV le maximum atteint) à 3mV / 14mV .
Ensuite, je coupe le surplus de fil de la bobine , en gardant un peu plus pour plus tard, en cas d' erreur et/ou pour un réglage plus fin de la fréquence . Maintenant, nous avons un fil d'antenne de longueur arbitraire (le mien mesurait environ 1,6 mètre de long) d'un fil électromagnétique de 0,10 mm qui peut être enroulé à nouveau dans une enceinte des plus mignonnes.
Côte à côte, de la plaque avant à la plaque arrière , la montre numérique CASIO F-91W comporte plusieurs couches de composants : le couvercle métallique, le support de pile, la pile bouton, le circuit imprimé, l'écran, le boîtier en plastique et le protecteur d'écran. L'installation d'une antenne à l' arrière ne fonctionne pas (croyez-moi, j'ai fait une infinité d'essais et de dépannages avant d'arriver à cette conclusion). Cela est dû à trop de composants de "blindage" qui interfèrent et ne permettent pas à une éventuelle antenne NFC placée à l' arrière de s'appairer décemment avec n'importe quel lecteur NFC .
Pour parvenir à une conception d'antenne décente (sans défigurer l'esthétique d'origine de la montre), j'ai reproduit la plaque frontale d'origine dans le logiciel de CAO 3D , où j'ai découpé la zone pour tenir la puce et creusé une cavité sur tout le périmètre pour enroulez le fil d'antenne .
En ce qui concerne la plaque arrière , j'ai décidé de remplacer celle en métal d'origine par une plaque imprimée en 3D à base de PLA .
Cela m'a permis d'assurer à l'ensemble de la structure la réduction des bruits électromagnétiques générés par la présence de la plaque métallique, tout en préservant une uniformité purement esthétique.
Afin de comprendre la bonne quantité de fil nécessaire, j'ai fréquemment testé le pic de résonance à travers le combo d'appareils NanoVNA + RFID-RC522 , tout en déroulant et en coupant le fil, un petit morceau à la fois.
De plus, j'ai utilisé l'appareil Proxmark3 pour vérifier si la carte de paiement sans contact rétrécie dans sa nouvelle forme pouvait encore être bien lue.
Le trou laissé par l' impression 3D (pour l'affichage de la montre) dans la plaque avant a été rempli de résine époxy ultra transparente pour obtenir la finition en verre .
L'exposition à une lampe UV suffisamment puissante ( 48W ) pendant environ 1 à 2 minutes par côté contribue à la polymérisation (durcissement) de la résine UV .
Il est temps de rassembler toutes les pièces.
Avec une paire de ciseaux, une pince à épiler et un tas de scotch de réparation double face pour l'électronique, j'ai réussi à reconstituer la surface d'adhérence de la plaque avant .
Pour finir, j'ai remonté les composants restants en fermant le tout avec la plaque arrière et les vis d'origine.
Je ne pouvais pas manquer une sangle cool pour compléter l'apparence visuelle et l'ajustement.
J'ai acheté des trucs dans différents magasins/distributeurs automatiques afin de prouver en direct que le système de paiement sans contact intégré au CASIO F-91W fonctionne parfaitement.
Quelques vidéos valent mieux que beaucoup de mots.
Ils sont tous doués pour payer avec leurs montres connectées , mais avec un CASIO vintage ?
Le pur délice qui récompense tous les efforts est de voir les visages choqués des gens → 😯 quand il arrive qu'ils se rendent compte de ce que j'ai payé à la caisse 🤣.
Il y a quelques pensées qui me traversent l'esprit :
Juste quelques trucs plus amusants.
De plus, j'ai créé un référentiel GitHub où j'ai hébergé un tas de documents que j'ai trouvés utiles et les fichiers *.STL pour les plaques avant et arrière que vous pouvez télécharger et imprimer en 3D par vous-même → ici .
Ce voyage dans le domaine de la technologie NFC , des paiements sans contact et des ondes radio a été passionnant. En tant que hacker , je me sens très chanceux de vivre à une époque où l'évolution rapide des outils, des logiciels et des écosystèmes numériques a ouvert de nouveaux domaines de possibilités nous permettant de voir à travers les choses et nous mettant au défi d'embrasser le paysage en constante évolution. de la technologie. Être un NERD technologique va au-delà d'une simple passion pour l'électronique ou le codage ; il englobe un état d'esprit motivé par la curiosité , la résolution de problèmes et le désir insatiable d' apprendre . C'est une plongée permanente dans la découverte , où chaque nouvelle percée sert de tremplin vers des progrès encore plus grands. Il s'agit d'être à la pointe de l'innovation, de repousser les limites et de contribuer à un avenir guidé par l'imagination et les prouesses technologiques.
Cependant, au milieu de toute l'excitation et des merveilles de la technologie, je dois également me rappeler l'importance des considérations éthiques , de la confidentialité et de l'utilisation responsable . Un grand pouvoir implique de grandes responsabilités.
Continuons à explorer , bricoler et partager nos connaissances avec le monde.
Un merci spécial pour les amis spéciaux:
Les gars, c'était EPIC 🤙.
Toute information fournie dans cet article est uniquement à des fins éducatives. Je ne suis pas responsable des actions illégales prises par des individus ou des entités sur la base des informations acquises à partir de ce tutoriel. Le contenu est destiné à fournir des conseils généraux et il est de votre responsabilité de vous assurer que vous respectez toutes les lois, réglementations et normes éthiques applicables lors de l'application des informations fournies. Toutes les actions que vous entreprenez sur la base du didacticiel sont effectuées à vos propres risques et à votre discrétion. Je décline toute responsabilité pour tout dommage, perte ou conséquence juridique résultant de l'utilisation ou de la mauvaise utilisation des informations présentées dans le didacticiel. Je vous encourage fortement à demander conseil à un professionnel ou à consulter les autorités compétentes pour vous assurer du respect de la loi. En accédant et en utilisant ce tutoriel, vous acceptez de me dégager de toute responsabilité pour toute action illégale ou leurs conséquences pouvant survenir en aval suite à l'application des informations fournies. Veuillez utiliser les informations de manière responsable et faire preuve de prudence lors de leur application dans des situations pratiques.
Également publié ici .