3 points par GN⁺ 2024-07-09 | 1 commentaires | Partager sur WhatsApp
  • J’ai récemment acheté des billets de concert sur Ticketmaster. Au lieu de billets PDF imprimables classiques, Ticketmaster émet des billets via l’entrée mobile (Mobile Entry), c’est-à-dire un système appelé SafeTix. Ils sont fournis sous la forme d’un code-barres rotatif dans la web app de Ticketmaster ou dans ses apps Android/iOS.
  • Autrefois, il était possible d’imprimer les billets achetés en ligne ou hors ligne. Les billets PDF peuvent être consultés sur presque tous les appareils, restent accessibles même si le téléphone n’est pas connecté à Internet, et peuvent servir de billet papier même sans téléphone. Lorsqu’ils sont achetés auprès du vendeur officiel, on sait aussi qu’ils sont authentiques.
  • L’an dernier, en allant à un concert utilisant un système de billets à QR code rotatif similaire, beaucoup de gens ont eu des problèmes à l’entrée. Le problème principal était l’absence de connexion Internet sur leur téléphone, empêchant le chargement du QR code. Le personnel sur place ne pouvait pas non plus aider.

Marketing

  • Ticketmaster présente la technologie SafeTix comme une solution miracle contre les fraudeurs et les revendeurs au marché noir.
  • L’entreprise affirme que, grâce à un code-barres unique qui se rafraîchit automatiquement toutes les quelques secondes, le vol ou la copie sont impossibles, ce qui réduit fortement le risque de revente illicite et garantit la sécurité.
  • Le mouvement du code-barres n’est qu’une animation CSS et n’empêche pas le scan d’une capture d’écran.

Motivation

  • SafeTix rend difficile la revente de billets en dehors du marché secondaire fermé et à fortes marges de Ticketmaster.
  • Le système force les utilisateurs à installer l’app propriétaire de Ticketmaster.
  • Comme il est impossible d’enregistrer et de transférer les billets en dehors de Ticketmaster, il faut communiquer à Ticketmaster les coordonnées de ses amis.

Contradiction

  • Affirmer qu’un billet peut être enregistré hors ligne tout en disant qu’il ne peut pas être transféré en dehors de Ticketmaster est contradictoire.
  • Si des données peuvent être copiées, elles peuvent être transférées, et si elles peuvent être transférées, elles peuvent être partagées et vendues.
  • Prétendre qu’un billet est protégé par un DRM fort tout en disant qu’il peut être consulté hors ligne est en soi contradictoire.

Rétro-ingénierie

  • Après examen du code-barres lui-même, il s’est avéré qu’il s’agit d’un code-barres PDF417 encodant du texte UTF-8.
  • Le code-barres change toutes les 15 secondes et se compose de données Base64, de deux nombres à 6 chiffres et d’un timestamp Unix.
  • Les deux nombres à 6 chiffres fonctionnent comme des Time-based One-Time Passwords (TOTP).
  • Les données Base64 semblent être 48 octets de données aléatoires, probablement une sorte de bearer token aléatoire identifiant le détenteur du billet et le billet lui-même.

Le secret du secret

  • Pour générer un TOTP, il suffit d’une clé secrète partagée (tableau d’octets) et d’une horloge fonctionnelle.
  • Comme le code-barres contient deux TOTP, il doit aussi y avoir deux clés secrètes partagées. Avec le bearer token, cela permettrait de générer autant de codes-barres valides que souhaité.

Débogage de la web app

  • En connectant le navigateur Chrome d’un téléphone Android aux outils de développement Chrome sur un ordinateur de bureau, l’auteur a examiné l’API et le code source de Ticketmaster.
  • Une requête intéressante a été trouvée sur l’endpoint d’API /api/render-ticket/secure-barcode.
  • Les données de réponse contenaient une propriété token encodée en Base64 ; après décodage, il s’agissait d’un objet JSON.
  • eventKey (ek) et customerKey (ck) ont été supposés être les clés secrètes TOTP.
  • En examinant le code source de la web app, une fonction appelée generateSignedToken a été trouvée ; c’est elle qui générait les données du code-barres.
  • Les deux TOTP sont générés sur un intervalle de temps de 15 secondes et, pour le reste, sont construits de la même manière qu’un TOTP SHA-1 classique.

Piratage des billets

  • À ce stade, tout ce qu’il faut pour reproduire les codes-barres de Ticketmaster dans une app personnalisée est connu.
  • Il est possible de générer des codes-barres PDF417 impossibles à distinguer de ceux de l’app officielle Ticketmaster.
  • Ticketmaster facilite l’extraction du token, car l’app journalise automatiquement token dans la console du navigateur quand le composant de rendu du code-barres est monté sur la page web.

Durée de vie

  • La durée de vie de rawToken est inconnue. Il est possible qu’un seul token soit valide par compte Ticketmaster.
  • D’après la documentation de l’API développeur Ticketmaster, le token doit être rafraîchi 20 heures avant le début de l’événement.
  • C’est suffisant pour enregistrer un billet hors ligne. Une app Expo nommée TicketGimp, qui affiche les codes-barres SafeTix, a été créée.

Conclusion

  • Ticketmaster exclut les personnes les moins à l’aise avec la technologie.
  • L’entreprise présente ce dark pattern comme une mesure de sécurité.
  • C’est une entreprise qui soutient des pratiques commerciales brutales.
  • Les développeurs doivent utiliser ce pouvoir de manière responsable.
  • Il faut démanteler Ticketmaster.

Avis de GN⁺

  • Cet article montre bien le processus de rétro-ingénierie de la technologie SafeTix de Ticketmaster. Sur le plan technique, le contenu est très intéressant.
  • En revanche, la légalité de ce type d’action soulève des questions. Le fait de pirater et d’exploiter sans autorisation le système de Ticketmaster est très probablement illégal.
  • Même si l’on peut être d’accord sur le fait que les pratiques de Ticketmaster sont défavorables aux consommateurs, il n’est pas souhaitable d’y répondre par un détournement de la technologie. Il est nécessaire de soulever le problème et de chercher des solutions par des moyens légaux.
  • À mesure que la technologie progresse, ce type de DRM et de tentative de contrôle des consommateurs va probablement se multiplier. Un débat de société et une amélioration de la régulation pour protéger la vie privée et les droits des consommateurs paraissent importants.
  • En tant que développeurs, nous avons la responsabilité d’utiliser la puissance de la technologie pour produire des changements positifs dans la société. Il ne suffit pas d’implémenter la technologie ; il faut aussi réfléchir en profondeur à ses effets.

1 commentaires

 
GN⁺ 2024-07-09
Avis Hacker News
  • TicketMaster et AXS ont eu l’occasion de prendre en charge les plateformes de revente et de transfert de billets, mais ont choisi de ne pas le faire

    • Ils auraient pu documenter le chiffrement des QR codes des billets et exposer l’application et l’API afin de vérifier et de faire tourner les secrets des billets
    • À la place, ils ont choisi de se battre contre les escrocs par des moyens juridiques
    • Parce qu’ils gagnent davantage d’argent grâce au monopole de la revente
  • Le modèle économique de TicketMaster repose sur le fait de tromper le public

    • Taylor Swift veut que ses fans puissent acheter des billets à bas prix
    • Son manager veut maximiser les revenus
    • En collaboration avec TicketMaster, une partie des billets est vendue à bas prix, puis le reste est revendu plus cher sur des sites de revente
  • Les développeurs logiciels sont comme les magiciens et les sorciers des temps modernes

    • Ils doivent utiliser ce pouvoir avec retenue et intégrité
    • C’est nécessaire pour redonner à la société le contrôle face à ceux qui ne pensent qu’à l’avidité et à l’exploitation
  • Une autre mauvaise pratique de TicketMaster

    • Lorsqu’un billet est revendu, même après l’achat par l’acheteur, les fonds du vendeur sont retenus jusqu’à 7 à 14 jours ouvrés après la fin de l’événement
    • Ils prétendent que c’est pour vérifier la validité du billet
    • Pourtant, TicketMaster possède le billet, et la logique de vérification de validité n’est pas compliquée
    • Ils retiennent les fonds de l’acheteur et du vendeur en même temps, ce qui leur permet de gagner deux fois
  • Les articles liés à TicketMaster contiennent beaucoup de formulations exagérées

    • Il y a un passage qui explique comment dupliquer des billets
    • Cela ne nuit à personne
    • Les codes-barres rotatifs restent plus sûrs que les codes-barres statiques
  • Le problème des billets pourrait être résolu simplement

    • C’est un problème résolu des millions de fois chaque jour dans les aéroports
    • Il suffit de fournir le nom de chaque participant au concert lors de l’achat, puis de présenter le billet avec une pièce d’identité
  • On ne peut pas être une bonne personne en travaillant pour une mauvaise entreprise

  • Des questions se posent sur le fonctionnement réel de TicketMaster

    • Cela fonctionne différemment selon les événements
    • TicketMaster n’est peut-être qu’un simple prestataire de services
    • L’organisateur de l’événement choisit le produit qu’il veut dans le catalogue de TicketMaster
    • On pourrait appeler cela "Evil as a Service"
    • Les pratiques monopolistiques de TicketMaster posent problème, mais les organisateurs d’événements et les artistes ont aussi leur part de responsabilité
  • Le fait de devoir utiliser un téléphone mobile pour entrer dans un spectacle est problématique

    • Si la batterie est à plat ou que l’écran est cassé, cela pose un problème
    • Plus la technologie progresse, plus elle est utilisée à mauvais escient
    • Il faut s’abstenir d’acheter des billets TicketMaster pour briser le monopole
  • Le fait qu’une connexion Internet soit nécessaire lors d’un événement est problématique

    • Lors des grands événements, il est difficile d’avoir une connexion Internet
    • L’application devrait fonctionner aussi hors ligne
    • TicketMaster actualise les billets 20 heures avant l’événement pour prévoir l’absence d’Internet