1 points par GN⁺ 2024-06-24 | 1 commentaires | Partager sur WhatsApp
  • Les tickets papier à usage unique du Métro de Montréal fonctionnent, contrairement aux apparences, comme des tags NFC : la puce MIFARE Ultralight EV1 qu’ils contiennent et une antenne en feuille métallique communiquent avec les portillons
  • Le champ magnétique généré par le lecteur du portillon alimente le ticket et permet l’échange de données, si bien que la validation se termine en 35 ms, plus vite qu’un clignement d’œil
  • Cette puce, conçue à bas coût, offre 48 ou 108 octets d’EEPROM utilisateur ; elle n’intègre pas de chiffrement, mais dispose d’un UID de 7 octets, d’une signature d’UID, d’un verrouillage mémoire et de compteurs monotones 24 bits
  • Son architecture interne comprend une interface RF, de l’EEPROM, une pompe de charge et une logique numérique basée sur des cellules standard ; elle serait gravée en environ 180 nm avec quelque 8 000 portes et 45 000 transistors
  • Grâce à la vente au niveau wafer et à une matrice minuscule, le prix de la puce tombe à environ 9 cents l’unité, ce qui permet de l’intégrer dans un ticket jetable même en ajoutant la feuille d’antenne et l’impression

Structure NFC à l’intérieur d’un ticket papier

  • Le ticket papier du Métro de Montréal fonctionne comme un tag NFC qui ouvre le portillon lorsqu’on le présente devant le lecteur
  • Le motif doré à droite en façade ressemble aux contacts d’une puce EMV de carte bancaire, mais ce n’est qu’un faux motif imprimé à l’encre, sans contact réel
  • Le véritable circuit se trouve dans une fine feuille plastique à l’intérieur du papier
    • Une couche de feuille métallique forme une antenne en bobine
    • Une petite puce NFC, visible comme un point noir minuscule, est reliée aux deux extrémités du câblage de l’antenne
    • La bande métallique diagonale en haut à gauche sert de pont pour compléter le circuit d’antenne en spirale sur une feuille 2D
  • La puce mesure 570µm × 485µm, soit à peu près la taille d’un grain de sel ; son épaisseur de 75µm ou 120µm la rend imperceptible au toucher dans le ticket

Validation en 35 ms sans batterie

  • Le NFC permet au lecteur et au tag d’échanger des données à courte distance via un champ magnétique
  • Le champ magnétique généré par le lecteur du portillon alimente le tag tout en transportant les données
  • Le lecteur et le tag ont tous deux une antenne en forme de bobine ; lorsqu’ils sont rapprochés, le signal passe par couplage inductif, comme dans les enroulements d’un transformateur
  • Lorsqu’on présente le ticket au portillon, la communication NFC se termine en 35 ms, donc plus vite qu’un clignement d’œil
  • Si le tag fournit des données de ticket valides, l’accès au métro est autorisé

Fonctions et sécurité du MIFARE Ultralight EV1

  • La puce intégrée au ticket est la MIFARE Ultralight EV1 de NXP, une puce bon marché destinée aux applications de tickets à usage unique
  • Son rôle de base consiste à fournir des blocs de données au lecteur
    • Les données sont stockées dans une petite EEPROM
    • Une version fournit 48 octets de mémoire utilisateur
    • Une autre version fournit 108 octets de mémoire utilisateur
  • La puce Ultralight ne prend pas en charge le chiffrement présent sur des puces plus avancées
    • Son niveau de sécurité n’est pas très différent de celui d’un billet de spectacle imprimé avec un QR code ou un code-barres
    • La prévention de la réutilisation d’un même ticket et la validation des données relèvent du lecteur et du système back-end
  • Elle offre tout de même des fonctions supérieures à celles d’un ticket imprimé
    • Un UID de 7 octets unique est programmé en fabrication
    • L’UID est signé pour empêcher la création de faux UID
    • La signature d’UID est produite avec un algorithme ECC, mais la puce n’effectue pas elle-même d’opérations cryptographiques ; elle ne fait que fournir les octets de signature enregistrés lors de la fabrication
    • Elle prend en charge l’accès mémoire protégé par mot de passe et le verrouillage de pages mémoire
    • Le mot de passe est transmis sans chiffrement, donc la sécurité reste faible
  • Trois compteurs monotones 24 bits peuvent servir à des fonctions comme la limitation du nombre d’utilisations
    • Les compteurs ne peuvent qu’augmenter, jamais diminuer
    • Ils disposent d’une fonction anti-tearing pour éviter une mise à jour partielle si l’on retire la carte pendant l’écriture

Procédure d’extraction et de prise de vue de la puce

  • Pour photographier la puce, il faut d’abord extraire la feuille plastique porteuse de l’antenne du ticket papier, puis ne conserver que la matrice de silicium
  • Le traitement se déroule en plusieurs étapes
    • Le ticket est trempé dans l’eau pour ramollir le papier, puis gratté afin de révéler le noyau plastique
    • Un petit morceau de plastique contenant la puce est découpé et plongé environ 30 secondes dans de l’acide sulfurique bouillant pour éliminer le plastique et la colle
    • La couche de protection de surface, la passivation, est une couche de 1,1µm composée de nitrure de silicium et de PSG ; elle est retirée à l’acide phosphorique bouillant
    • Des traitements répétés à l’Armour Etch et à l’acide chlorhydrique servent à enlever l’oxyde et les couches métalliques
  • Une fois les couches métalliques et le polysilicium retirés, la structure en silicium apparaît
    • Les zones de silicium dopé correspondent aux transistors
    • Les rectangles blancs sont des condensateurs
    • Ces condensateurs servent à accorder la fréquence de résonance avec l’antenne, à filtrer l’alimentation et à élever la tension via la pompe de charge
  • La puce est si petite qu’elle risque facilement d’être perdue pendant le traitement
    • Elle peut s’envoler si on la touche ou même si on souffle dessus
    • Elle peut jaillir d’une pince et disparaître
    • Pour la déplacer entre les étapes de traitement et les lames de microscope, la méthode la plus sûre consistait à la placer dans une goutte d’eau et à la transférer à la pipette

Blocs internes : RF, logique numérique et EEPROM

  • À gauche de la puce se trouve l’interface RF, reliée à l’antenne
    • Elle convertit le signal haute fréquence en données numériques
    • Elle extrait l’énergie du signal de l’antenne pour alimenter la puce
  • La majeure partie de la puce est occupée par la logique numérique, qui traite les 18 commandes que le lecteur peut envoyer
    • Les commandes Wake-up et Halt contrôlent l’état de la puce
    • Les commandes Read et Write accèdent au stockage EEPROM
    • Les commandes Read_Cnt et Incr_Cnt accèdent aux compteurs
  • Quand plusieurs cartes sont présentées au lecteur en même temps, une fonction d’anticollision permet de les lire sans conflit
    • Si une collision est détectée, le lecteur sélectionne les cartes une par une à partir de leur identifiant, selon l’algorithme NFC standard
    • Cet algorithme utilise 4 commandes de la puce
  • L’EEPROM conserve les données même sans alimentation
    • La rétention des données est conçue pour 10 ans
    • L’écriture en EEPROM demande une tension plus élevée que le reste de la puce
    • Le circuit d’interface EEPROM génère les signaux nécessaires
  • Les principaux blocs visibles sur la matrice sont les suivants
    • La matrice de cellules de stockage EEPROM en haut
    • La pompe de charge à droite de l’EEPROM
    • L’interface EEPROM entre l’EEPROM et la logique numérique
    • Les quatre pastilles de bonding servent de points de connexion à l’antenne et permettent, si nécessaire, la prise en charge de deux antennes en parallèle
  • L’identification de certaines parties du circuit analogique reste incertaine
    • Une grande structure ovale pourrait être le transistor RF qui modifie la charge pour renvoyer des données au lecteur
    • Ou bien une diode Zener servant à réguler la tension de la puce
    • Les structures du bas pourraient être des diodes RF redressant le signal de l’antenne pour produire l’alimentation de la puce

Modulation de charge pour renvoyer les données

  • Au lieu d’allumer un émetteur, le tag renvoie les données au lecteur par modulation de charge (load modulation)
  • En faisant varier la charge aux bornes de l’antenne, il modifie légèrement l’énergie absorbée par le lecteur
    • Le lecteur détecte cette différence par la variation de tension sur sa propre antenne d’émission
    • Le signal de modulation de charge est 80 dB plus faible que le signal émis, mais le lecteur peut tout de même le détecter et en extraire les bits de données
  • Les fréquences de fonctionnement sont organisées par paliers
    • Le lecteur émet sur une porteuse de 13.56MHz
    • Le tag active et désactive sa charge à 848kHz, soit 1/16 de la porteuse
    • La transmission de bits s’effectue à 106kbit/s, soit 1/8 de la fréquence de modulation
  • La charge d’un tag NFC peut être résistive ou capacitive
    • Une résistance absorbe directement le signal
    • Un condensateur modifie la fréquence de résonance de l’antenne pour ajuster la quantité de signal transmise au tag
    • Comme la matrice contient beaucoup de condensateurs et pas de grosses résistances visibles, on suppose que cette puce utilise des condensateurs comme charge

Procédé de fabrication et logique à cellules standard

  • D’après les photos agrandies de la matrice, en se basant sur les zones de silicium dopé et la largeur des grilles des transistors MOS, la finesse de gravure est estimée à environ 180nm
  • Le procédé 180nm était largement utilisé à la fin des années 1990 et, lors du lancement du MIFARE Ultralight EV1 en octobre 2012, il était déjà ancien face au 22nm de pointe de l’époque
  • Un procédé ancien correspond toutefois bien aux caractéristiques et à la structure de coûts de cette puce
    • Une part importante de la surface est occupée par les circuits analogiques et les quatre pastilles de bonding, donc réduire davantage la logique numérique ne diminuerait pas beaucoup la taille totale
    • Une puce plus petite serait difficile à fixer de manière pratique à l’antenne
    • Elle vise un marché jetable à très bas coût, donc doit être produite au prix le plus bas possible
    • Un procédé plus récent augmenterait le nombre de puces par wafer, mais ferait aussi monter le coût de fabrication du wafer
  • Le circuit numérique est implémenté en logique à cellules standard
    • Il part d’une bibliothèque de cellules standard comme les portes NAND ou les bascules
    • Les cellules sont conçues avec une hauteur fixe et placées en rangées
    • Le câblage métallique au-dessus permet de former le circuit voulu
    • La densité et l’efficacité sont inférieures à celles d’un layout entièrement sur mesure, mais la conception est plus rapide et moins chère
  • La puce utilise une logique CMOS
    • Chaque porte logique est composée de transistors NMOS et PMOS
    • Pour simplifier la fabrication, les NMOS et les PMOS sont placés sur des rangées séparées
    • Les transistors PMOS, plus grands, sont visibles sur les photos
  • La zone logique est estimée à environ 8 000 portes et environ 45 000 transistors
    • C’est à peine suffisant pour intégrer un microcontrôleur simple de type 8051
    • S’il y avait un microcontrôleur, il faudrait aussi de l’espace pour stocker le logiciel
    • Comme le protocole est simple et le nombre de transistors limité, une implémentation matérielle à base de machines à états et de compteurs paraît plus probable qu’un microcontrôleur

EEPROM et circuit d’élévation de tension

  • Les données de la puce sont stockées dans une EEPROM, similaire à la mémoire flash
  • Selon la référence, elle fournit 640 bits ou 1312 bits d’EEPROM
    • Les deux versions semblent utiliser la même implémentation EEPROM, la version moins chère limitant simplement la capacité accessible
  • Sur la photo de la matrice, l’EEPROM ressemble à une grille 64×64, soit un stockage apparent de 4Kbits
  • La raison de cet écart avec la capacité annoncée n’est pas établie avec certitude
    • Il est possible que la structure des cellules ait conduit à une estimation erronée
    • Des données absentes de la carte mémoire EEPROM, comme les compteurs monotones et la signature d’UID, peuvent y être stockées
    • Si la puce contenait un microcontrôleur, un espace EEPROM supplémentaire pourrait servir au stockage du code
  • L’EEPROM a besoin d’une tension relativement élevée, de 10 à 20V, pour enregistrer les bits
    • Cette tension est générée par un circuit de pompe de charge qui commute des condensateurs à haute fréquence
    • Le groupe de gros condensateurs à droite de l’EEPROM est supposé correspondre à cette pompe de charge

Structure de coûts qui rend possible le ticket jetable

  • Si une puce NFC peut être intégrée à un ticket à usage unique, c’est parce qu’on peut la fabriquer à un coût extrêmement faible
  • Pour réduire le prix, la puce n’est pas vendue en composant encapsulé mais au niveau wafer, puis montée sur le ticket
  • Chez Digikey, un wafer de silicium de 8 pouces peut être acheté pour 9 000 dollars
    • Un wafer fournit 100 587 puces
    • Le prix unitaire est d’environ 9 cents
    • Selon la fiche technique, le nombre potentiel de matrices bonnes par wafer est de 103 682
    • Le rendement réel est de 97 %, et le wafer est livré avec un fichier indiquant quelles matrices sont conformes
  • Dans la fabrication classique de puces, on marque les matrices défectueuses avec un point d’encre, mais ici chaque matrice est plus petite qu’un point d’encre, donc cette méthode ne convient pas
  • Si l’on a besoin de davantage de puces, on peut acheter un wafer de 12 pouces pour 19 000 dollars
    • Un wafer de 12 pouces fournit 215 712 puces
  • Le fabricant de tickets monte ensuite chaque puce sur une feuille d’antenne avant d’imprimer le ticket
    • Ce processus ajoute encore quelques cents, mais permet malgré tout d’obtenir un ticket bon marché à usage unique

Différence entre la carte Occasional et la carte Opus

  • L’objet analysé est la carte Occasional de Montréal, L’Occasionnelle
    • Elle peut être utilisée pour un trajet unique ou jusqu’à 3 jours
    • Elle n’est pas rechargeable et est jetée après usage
  • Pour un usage de plus longue durée, on utilise la carte Opus
    • Ce n’est pas une carte papier, mais une carte plastique
    • Elle est conçue pour durer davantage
    • Elle implémente le standard Calypso et offre une sécurité supérieure
  • Calypso utilise des mécanismes cryptographiques comme AES, DES et ECC, et fournit un stockage EEPROM plus important
  • Le type exact de puce et son fabricant à l’intérieur de la carte Opus n’ont pas été analysés

1 commentaires

 
GN⁺ 2024-06-24
Commentaires Hacker News
  • En pratique, c’est assez similaire. La couche de communication physique est différente, mais les couches de protocole supérieures sont presque identiques
    Les smart cards à contact suivent l’ISO 7816, et les cartes sans contact MIFARE relèvent de l’ISO 14443 Type A, avec un protocole conforme à l’ISO 7816-4
    Ce n’est pas surprenant quand on pense que l’écosystème des smart cards à contact voulait pouvoir prendre en charge aussi les cartes sans contact avec un minimum de changements côté logiciel hôte, lecteurs et logique interne des cartes. Beaucoup d’appareils, comme les cartes de crédit, cartes bancaires ou dispositifs FIDO, prennent en charge à la fois le contact et le sans-contact
    C’est comparable au rapport entre le Wi‑Fi et l’Ethernet filaire. La couche physique est très différente, mais au niveau logique c’est compatible, et le même logiciel prend en charge les deux

    • Je suis assez fier d’avoir fait partie, vers 1997, de l’équipe d’une banque de mon pays qui a créé le premier site de banque en ligne
      On pouvait y payer les factures papier alors couramment utilisées, et la première UI n’était qu’un tableau HTML banal avec des libellés et des champs de saisie. Nous avons essayé un prototype où l’image de la facture papier servait de fond, avec les champs placés exactement là où les vrais chiffres apparaissaient
      L’utilisateur n’avait qu’à garder la facture reçue par la poste à côté de lui et saisir les chiffres en recréant à l’écran une copie correspondant 1:1 au document papier. Tout le monde comprenait facilement quel chiffre mettre à quel endroit
      La réaction a été immédiate, si bien que tous les formulaires ont adopté ce principe, que toutes les applications bancaires l’ont implémenté, et qu’il est encore utilisé aujourd’hui
    • Cela dit, seul l’ISO 14443-4 utilise le même protocole que l’ISO 7816. Autrement dit, l’ISO 14443-4 est une représentation des couches supérieures de l’ISO 7816 sur une interface physique différente
      MIFARE Ultralight n’implémente pas réellement le modèle 14443-4/7816/APDU de type smart card. Les capacités de l’IC sont bien plus limitées, donc c’est beaucoup plus simple
      Ce qui rend les choses plus confuses, c’est que certains IC MIFARE implémentent réellement l’ISO 14443-4. C’est le cas par exemple des cartes MIFARE DESFire à fonction fixe ou des IC de smart cards programmables comme SmartMX, mais ce n’est pas le cas de tous
    • Pour filer la métaphore, c’est plus proche d’une antenne Wi‑Fi qui ressemble à un câble Cat 5 de 6 pouces avec un RJ-45 dessiné au bout
  • Les codes QR semblent meilleurs comme support de ticket
    Cette carte contient environ 100 octets, alors qu’un code QR peut contenir plus de 2 Ko
    Ici, c’est de l’encre imprimée sur un substrat plastique bon marché, alors qu’un code QR, c’est simplement de l’encre. On peut même imaginer des procédés d’impression encore moins chers si besoin
    Avec cette approche, il faudra dépendre pendant des décennies d’un fournisseur précis de technologie de billetterie. Un code QR peut être affiché sur un écran ou imprimé sur papier, et on peut changer librement de fournisseur pour tous les éléments, de l’application mobile au type de papier, en passant par les imprimantes physiques et les lecteurs. Dans un domaine comme la billetterie des transports publics, qui fonctionne sur des horizons de plusieurs décennies, il ne faut pas sous-estimer cette flexibilité
    Pour l’émission de billets de remplacement aussi, cette méthode impose de récupérer un objet physique, tandis qu’un code QR peut être envoyé par e-mail, WhatsApp, capture d’écran ou photo, et, si on veut, échangé contre un QR code papier
    Ces lecteurs RFID sont bon marché et robustes. Les lecteurs optiques pour QR code peuvent être presque aussi bon marché et solides, mais pas tout à fait au même niveau, donc sur ce seul point le RFID garde un léger avantage

    • Je travaille dans la billettique des transports publics depuis 30 ans, et j’ai participé à Octopus à Hong Kong, le premier système en dehors du Japon
      Les codes QR ont quatre problèmes. Les versions imprimées peuvent être copiées, même les codes QR dynamiques peuvent être capturés en screenshot, ils sont en lecture seule par définition, et les lecteurs sont lents en plus d’exiger que l’utilisateur oriente correctement le code
      Le NFC permet la lecture/écriture, fonctionne à environ 10 cm, et les cartes plus grandes peuvent stocker jusqu’à 4 Ko de données. Ultralight peut remplacer les tickets à trajet unique et peut aussi être recyclé, comme les tickets magnétiques récupérés à la sortie
    • Les principaux inconvénients des codes QR pour cet usage ont déjà été largement cités. Ils sont sans état, se copient beaucoup trop facilement, se salissent vite à force d’être réutilisés, sont lents à cause des limites optiques et, pour éviter qu’ils ne fonctionnent quand le lecteur est hors ligne, ils exigent un registre central disponible à 100 %
      Il a fallu des décennies de R&D pour faire fonctionner correctement ce type de système à grande échelle dans les gares les plus fréquentées du monde, et les codes QR n’ont pas satisfait les exigences. Un aperçu des premières recherches est visible ici : https://www.jreast.co.jp/e/development/tech/pdf_6/tec-06-40-..., où sont abordées les exigences techniques que ce genre de système doit respecter
    • Le problème des codes QR, c’est qu’ils sont en lecture seule
      Je ne sais pas pour Montréal, mais les transports publics de Moscou utilisent aussi des tickets papier similaires, également en MIFARE Ultralight, qu’on peut acheter en plusieurs trajets. Quand on utilise le ticket, le portique ou le contrôleur incrémente un compteur monotone pour que l’appareil suivant puisse connaître le nombre de trajets restants
      Avec des codes QR, c’est impossible à moins que le lecteur ou l’appareil de l’utilisateur ne conserve une connexion Internet permanente à un serveur central pour suivre l’état de tous les tickets, ce qui n’est pas réaliste
    • Un avantage du RFID, c’est qu’il permet de modifier le ticket pendant son utilisation. C’est d’ailleurs la raison pour laquelle Montréal a choisi cette solution
      Ils n’utilisent pas de connexion Internet pour valider le ticket, ils mettent à jour le ticket lui-même pour marquer qu’il a été utilisé
      J’aimerais dire que c’est une approche bien plus résiliente, mais j’ai vu trop de bus où les tarifs n’étaient pas perçus pour en être vraiment certain
    • Les deux grands avantages des codes QR, c’est qu’ils sont moins chers à produire et très faciles à afficher sur l’écran d’un smartphone
      Sur tous les autres plans, les IC sans contact sont plus puissants. Ils peuvent être réécrits, ce qui permet des tickets réutilisables, ils peuvent prendre en charge une authentification challenge-response pour un usage hors ligne sécurisé, et cela accélère les transactions aux portiques. Subjectivement, le scan est aussi nettement moins contraignant
  • Intéressant. J’ai utilisé ce type de ticket pour la première fois récemment en Europe, mais il ne m’était pas venu à l’esprit qu’il pouvait contenir une puce NFC, donc j’ai galéré à comprendre comment le scanner.
    À l’inverse, ma femme, qui n’est pas du tout technique, a tout de suite compris intuitivement qu’il fallait simplement le poser en sans contact

    • Ma femme a vécu quelque chose de similaire. Je travaille dans la tech, mais je suis très maladroit dès qu’il s’agit de manipuler des objets ou des outils, et les tickets, c’est pareil.
      Si personne ne me montre comment ça marche, j’essaierais probablement de trouver un endroit où l’insérer. Ma femme, elle, n’a aucune difficulté avec ce genre de choses ni avec les petits outils.
      C’est pareil avec IKEA : je dépends toujours du mode d’emploi et je le suis à la lettre, et s’il manque ne serait-ce qu’une étape dans la notice, ça me frustre énormément
    • La carte n’a pas le symbole NFC en trois arcs, qui ressemble à une icône WiFi ? Le faux dessin de puce imprimé est au contraire encore plus trompeur
    • Amusant. Tous les objets que je vois autour de moi qu’on utilise en sans contact sont en plastique, donc j’aurais probablement été tout aussi perdu. Je me demande comment sa femme y a pensé
    • Je me demande où tu habites. À Chicago, ils utilisent ce genre de tickets papier sans contact depuis 2013
  • Je l’ai appris récemment : si on paie dans les 100 dollars à un imprimeur, il peut fabriquer des cartes NFC personnalisées. Il ne faut pas forcément être une grande autorité de transport avec un contrat à long terme portant sur des millions d’unités, ni devoir développer séparément une application NFC JavaCard sur mesure.
    Je m’en suis servi pour transformer la carte de membre à QR code du bar d’un ami en version carte NFC, et dans le portefeuille, ça a bien plus d’allure que les cartes de fidélité en papier toutes molles des autres bars

    • On peut aussi acheter des cartes vierges. J’en avais quelques-unes à l’université. On peut aussi se procurer une imprimante à cartes, et même si je n’arrive pas à retrouver le prix exact aujourd’hui, ce n’était pas incroyablement cher.
      En théorie, on peut tout faire au même endroit, de l’encodage de la carte à l’impression, en y ajoutant aussi des informations personnalisées
  • On peut s’en servir pour des automatisations par tapotement selon l’emplacement autour de la maison ou de la voiture. En touchant un tag NFC, le téléphone peut exécuter un raccourci personnalisé pour des actions locales, ou un script SSH vers un SBC Linux / micro-PC. Le temps de réponse est d’environ une seconde, et même l’iPhone SE2 a un lecteur NFC.
    Pour les personnes malvoyantes, on peut aussi coller des tags NFC sur des objets afin que le téléphone, quand on le passe dessus, lise une description audio de l’objet

    • Ça me fait un peu penser à Nabaztag. Ou peut-être presque à l’inverse. Eux aussi pouvaient lire quelque chose de similaire au NFC et exécuter des actions
  • L’auteur répondra lui-même aux questions sur la puce NFC :-)

    • Très bon article. Je me demande comment se situe la rentabilité de cette approche par rapport à d’autres solutions jetables.
      Les vieux tickets à bande magnétique, ou les systèmes de scan optique / codes-barres, sont-ils beaucoup moins chers à fabriquer ?
      Les bandes magnétiques semblent plus sujettes aux échecs de lecture aux portiques, ce qui poserait problème, et les bandes magnétiques comme le scan optique obligent tous deux à insérer le ticket dans une machine, ce qui semble ajouter de la complexité et des pièces mobiles
    • Je me demande comment l’ID unique est programmé sur chaque puce.
      Au départ, les puces sur une wafer sortent toutes identiques ; je me demande à quel stade du procédé elles sont sélectionnées individuellement et se voient attribuer une identité unique. Est-ce que cela se fait via un contact électrique direct avant la découpe, ou via une liaison de proximité ?
    • Je me demande comment ils arrivent à rendre la puce aussi incroyablement fine.
      Ils n’utilisent sans doute pas des wafers de 75µm/120µm pendant tout le processus de production ; c’est littéralement l’épaisseur d’un cheveu humain. Je me demande si une wafer de 200/300 mm peut se soutenir elle-même à cette épaisseur, et supporter toutes les contraintes du processus de fabrication
    • Je me demande à quel point il est difficile de cloner une puce MIFARE Ultralight EV1. Il était dit que l’UID est signé, mais peut-on simplement copier cette signature ? Est-ce qu’il suffit d’acheter une puce magique du même design permettant d’écrire l’UID / le numéro de série ?
      Je me demande quel est le véritable mécanisme qui empêche le clonage dans DESFire et les autres puces NFC sécurisées
    • Je me demande où tout cela s’insère dans l’écosystème NFC au sens large.
      Je me demande ce qu’utilisent les grands systèmes de métro comme Omny, Clipper ou Smartrip, comment Apple et Google implémentent sur leurs appareils certains protocoles NFC de manière plus programmable, et si cela a un lien avec les protocoles utilisés par les cartes bancaires.
      Je me demande aussi quel est le rapport avec Felica, largement utilisé au Japon. Il y a quelque temps, il y avait eu des articles sur une pénurie de puces après l’incendie d’une usine qui en fabriquait, et sur le fait qu’Apple en avait profité pour entrer sur le marché via le NFC de l’iPhone
  • Le problème avec le passage « La puce Ultralight a quelques fonctionnalités de plus qu’un ticket imprimé. Elle contient un code d’identification unique (UID) de 7 octets injecté à la fabrication, et l’UID est signé afin d’empêcher la création de faux UID », c’est qu’elles peuvent quand même être clonées très facilement. C’est possible même avec un simple Flipper Zero
    Si l’on veut une vraie sécurité, il faut passer à un système de challenge-response. Autrement dit, chaque carte reçoit à l’usine une paire clé privée/clé publique unique, et la clé publique est signée par l’usine. Lors de la vérification, le terminal fournit un nonce aléatoire, la carte le signe avec sa clé privée, et le terminal vérifie avec la clé publique de l’usine
    Le passage « ils ont dû distinguer la puce d’un grain de poussière sous le microscope » est vraiment stupéfiant. J’ai du mal à imaginer comment une machine fabrique quelque chose d’aussi difficile à manipuler pour un humain, et comment elle l’oriente de façon assez régulière pour que le processus de bonding fonctionne

    • Pour une vraie sécurité, le challenge-response n’est pas forcément indispensable. Une autre option consiste à stocker les UID utilisés dans une base de données
      Pour un ticket à usage unique, il suffit de vérifier la signature de l’UID, de le marquer comme utilisé lors du premier passage, puis de refuser toutes les utilisations suivantes
      Si l’on clone une carte, elle fonctionnera une fois. Donc quelqu’un pourrait, avec l’équipement adéquat, voler un ticket en passant et l’utiliser avant son propriétaire légitime. Un Flipper Zero seul n’a pas une portée suffisante, mais c’est possible. Pour un ticket de métro unitaire, ça ne me semble pas très inquiétant
      Pour renforcer la sécurité des tickets multi-usages, on peut utiliser des codes tournants. À chaque scan du ticket et vérification de l’UID, on lit un certain code dans la mémoire NFC, il doit correspondre à la séquence attendue, puis on réécrit en mémoire le code suivant à présenter lors du passage d’après. Cela invalide les clones. On peut toujours voler le ticket, mais à moins de casser la cryptographie côté serveur, on ne peut pas battre le système
      Pour des titres plus précieux, comme un abonnement de trajet domicile-travail, on peut utiliser le challenge-response
    • Si le système de validation utilise la fonction mot de passe de MIFARE Ultralight, ce n’est pas si facile à cloner. Pour des tickets à usage unique invalidés immédiatement après lecture, cela peut suffire, tout en étant bien plus léger du côté IC
    • Vu le temps et le matériel nécessaires, ça n’en vaut absolument pas la peine. Et même en les ayant, si on se fait prendre, ils voudront probablement faire un exemple
      Utilisation non autorisée d’un ordinateur, fraude, ou autre chef d’accusation du genre. Avec des caméras dans toutes les stations, ça n’a aucun sens de faire ça pour économiser un ticket à 4 dollars
    • Au final, la seule chose qu’on puisse cloner, c’est son propre identifiant de ticket. On peut acheter un ticket et le cloner, mais pour obtenir quoi ? Dès que l’un des deux est utilisé en premier, il est quand même validé par le backend
      Le vrai risque, c’est si quelqu’un clone un ticket après son achat mais avant son utilisation ; c’est bien une faille de sécurité, mais en pratique cela a probablement très peu d’importance
      Les pass journaliers pourraient poser un peu plus de problème. On pourrait en acheter un, puis revendre des clones à moindre prix. Malgré tout, ce n’est probablement pas un problème assez grave pour justifier l’usage de puces plus coûteuses
    • Avec le challenge-response, il faut alors accepter de devenir vulnérable aux attaques par déni de service. Cela inclut aussi les interruptions dues à des pannes d’infrastructure externes, comme un accident d’excavatrice
      Le processus de bonding non plus n’est pas si régulier. Le taux d’échec est de 3 %, et il faut accepter de recevoir à chaque commande une sorte de carte unique des « puces défectueuses »
  • Je suis surpris qu’on fabrique des millions de tickets contenant une puce, tellement cela semble excessif du point de vue des déchets
    Si j’ai bien compris, ils sont à usage unique
    Le métro de New Delhi, en India, utilisait autrefois des jetons en plastique avec ce type de puce, mais il fallait rendre la puce à la fin du trajet pour pouvoir sortir de la station
    Aujourd’hui, ils utilisent un système de QR imprimé, et ont même supprimé le papier. On peut acheter son ticket via une appli mobile, payer instantanément avec UPI, puis montrer le QR code du téléphone au scanner pour passer
    Les détenteurs d’abonnements mensuels reçoivent une carte à puce RFID

    • Le fait que cela ne coûte que quelques centimes pièce reflète justement un très faible gaspillage. Si les déchets vous préoccupent, mieux vaut se concentrer sur quelque chose de plus significatif, comme annuler un vol
      Une carte Opus en plastique peut même être plus gaspilleuse en masse de plastique et de puce si elle n’est pas assez réutilisée. Par exemple, un usage unique est souvent le fait de touristes ; dans ce cas, une carte Opus à puce complète serait vraiment du gaspillage
    • Les jetons en plastique me semblent assez astucieux. En revanche, pour les titres mobiles aux portiques de transport en commun, le QR code n’est pas une bonne option
      Il arrive souvent que les gens mettent du temps à afficher le code dans le bon sens et à monter suffisamment la luminosité pour qu’il soit scanné. Ce n’est pas le genre de chose qu’on a envie de subir quand on doit attraper son train
    • Il faut lire la note 2. Il existe une Opus card rechargeable : https://en.wikipedia.org/wiki/Opus_card
      Je n’ai pas trouvé de données sur la proportion entre tickets à usage unique et cartes Opus, mais j’espère que ce n’est pas énorme. Les gens qui utilisent régulièrement les transports n’emploient probablement pas de tickets jetables
    • La puce est à peine plus petite qu’un grain de sel. À cette échelle, ce n’est sans doute pas le niveau de déchet le plus délirant
  • MIFARE est utilisé depuis 20 ans sur l’Oyster card de Londres, et depuis encore plus longtemps à Hong Kong. Bien sûr, pas la version Ultralight
    Cela dit, Oyster est en voie de disparition pour la plupart des usages. À moins d’avoir un abonnement, le paiement sans contact, surtout sur téléphone, est bien plus pratique et génère beaucoup moins de gaspillage

    • J’ai l’impression que les différentes formes de MIFARE sont de facto le standard mondial des tickets de métro NFC
      Saint-Pétersbourg utilise MIFARE Classic et des jetons, Moscou utilise MIFARE Classic pour la carte rechargeable Troika et MIFARE Ultralight pour les titres à usage unique. La carte « nol » de Dubaï utilise MIFARE DESFire, la carte « tap » de Los Angeles utilise MIFARE Classic, et l’Oyster de Londres utilise MIFARE DESFire EV1. J’ai fouillé dans ma pile de cartes de transport que j’ai réellement en ma possession, et j’ai scanné celles dont je n’étais pas sûr
      Parmi celles que j’ai vues, la seule qui ne soit pas du MIFARE et qui ne soit pas non plus lisible par Android, mais qui l’est par un Flipper Zero, c’était le ticket papier de Bruxelles. Bien sûr, il existe aussi des tickets qui ne sont pas NFC, comme les adorables petits tickets de Paris ou ceux à bande magnétique comme la MetroCard de NYC
    • L’Octopus card de Hong Kong utilise, à ma connaissance, Felica
      Conceptuellement, c’est très proche de MIFARE. C’est un CI à fonction fixe qui implémente un portefeuille de valeur stockée totalement hors ligne, mais il utilise une pile différente d’ISO 14443 A à presque tous les niveaux. Il était aussi envisagé que cela devienne ISO 14443 C, mais cela n’a finalement pas eu lieu
    • Il y a une latence perceptible entre les cartes sans contact et Oyster. Je connais des gens qui préfèrent Oyster parce que les portillons s’ouvrent plus vite, même s’il faut recharger la carte en permanence
      J’espère qu’un jour on n’aura plus à choisir entre ce genre de compromis
    • J’attends le jour où il sera possible d’associer une National Railcard à une carte bancaire sans contact
    • Il me semble qu’il existe aussi à Montréal un projet de titres sur smartphone sans contact. On en parle depuis quelques années déjà, et je me demande pourquoi ce n’est toujours pas en place
  • Mon dieu. La dernière fois que je suis allé prendre le métro de Montréal, la file pour acheter un de ces tickets était tellement longue que j’ai simplement abandonné
    Il n’y avait aucun moyen de payer directement pour entrer dans le métro, il fallait absolument acheter l’un de ces tickets. À Toronto, on peut prendre le métro en présentant simplement sa carte de crédit
    En plus, on voit des cartes de Montréal jetées un peu partout dans la rue. Ce système de cartes de Montréal a vraiment l’air d’être un désastre

    • Oui, mais ce genre de système permet ensuite à des compagnies de transport ridicules comme à Londres de facturer rétroactivement sur la carte de crédit