- Kürzlich wurde bei Ticketmaster ein Konzertticket gekauft. Anstelle eines normalen ausdruckbaren PDF-Tickets stellt Ticketmaster Tickets per Mobile Entry aus, also über ein System namens SafeTix. Dieses wird als rotierender Barcode innerhalb der Ticketmaster-Web-App oder der Android-/iOS-App angezeigt.
- Früher konnten Tickets, die online oder offline gekauft wurden, ausgedruckt werden. PDF-Tickets lassen sich auf fast jedem Gerät anzeigen, sind auch ohne Internetverbindung auf dem Handy zugänglich und können selbst ohne Handy als Papierticket genutzt werden. Wenn sie bei einer offiziellen Verkaufsstelle gekauft wurden, weiß man außerdem, dass sie echt sind.
- Beim Besuch eines Konzerts im vergangenen Jahr, das ein ähnliches System mit rotierenden QR-Codes nutzte, hatten viele Menschen Probleme beim Einlass. Das Hauptproblem war, dass der QR-Code mangels Internetverbindung auf dem Handy nicht geladen wurde. Auch das Personal vor Ort konnte nicht helfen.
Marketing
- Ticketmaster bewirbt die SafeTix-Technologie als Allheilmittel gegen Betrüger und Schwarzhändler.
- Dank eines einzigartigen Barcodes, der sich alle paar Sekunden automatisch aktualisiert, sei Diebstahl oder Kopieren unmöglich, das Risiko des Weiterverkaufs auf dem Schwarzmarkt werde stark reduziert und Sicherheit gewährleistet.
- Dass sich der Barcode bewegt, ist jedoch nur eine CSS-Animation und verhindert nicht, dass ein Screenshot gescannt werden kann.
Motivation
- SafeTix erschwert den Weiterverkauf von Tickets außerhalb von Ticketmasters geschlossenem und margenträchtigem Zweitmarkt.
- Es zwingt Nutzer dazu, Ticketmasters proprietäre App zu installieren.
- Da Tickets außerhalb von Ticketmaster weder gespeichert noch übertragen werden können, muss man die Kontaktdaten von Freunden an Ticketmaster weitergeben.
Widerspruch
- Zu behaupten, man könne Tickets offline speichern, sie aber nicht außerhalb von Ticketmaster übertragen, ist widersprüchlich.
- Wenn sich Daten kopieren lassen, lassen sie sich auch übertragen, und wenn sie sich übertragen lassen, können sie auch geteilt und verkauft werden.
- Schon die Behauptung, dass ein Ticket mit starkem DRM offline betrachtet werden könne, ist in sich widersprüchlich.
Reverse Engineering
- Bei der Untersuchung des Barcodes selbst zeigte sich, dass es sich um einen PDF417-Barcode handelt, der UTF-8-Text kodiert.
- Der Barcode ändert sich alle 15 Sekunden und besteht aus Base64-Daten, zwei sechsstelligen Zahlen und einem Unix-Zeitstempel.
- Die beiden sechsstelligen Zahlen funktionieren wie Time-based One-Time Passwords (TOTP).
- Die Base64-Daten wirken wie 48 Byte lange Zufallsdaten; es wird vermutet, dass es sich um eine Art zufälliges Bearer-Token handelt, das den Ticketinhaber und das Ticket identifiziert.
Das Geheimnis hinter dem Geheimnis
- Zur Erzeugung eines TOTP braucht man nur einen geteilten geheimen Schlüssel (Byte-Array) und eine funktionierende Uhr.
- Da der Barcode zwei TOTPs enthält, muss es auch zwei gemeinsame geheime Schlüssel geben. Zusammen mit dem Bearer-Token könnte man dann beliebig viele gültige Barcodes erzeugen.
Debugging der Web-App
- Durch Verbinden des Chrome-Browsers auf einem Android-Handy mit den Chrome-Entwicklertools auf einem Desktop-Rechner wurden die Ticketmaster-API und der Quellcode untersucht.
- Beim API-Endpunkt
/api/render-ticket/secure-barcode wurde eine interessante Anfrage gefunden.
- In den Antwortdaten gab es ein Base64-kodiertes Attribut
token; nach dem Dekodieren stellte sich heraus, dass es ein JSON-Objekt war.
- Es wird vermutet, dass
eventKey (ek) und customerKey (ck) die geheimen TOTP-Schlüssel sind.
- Beim Blick in den Quellcode der Web-App wurde eine Funktion namens
generateSignedToken gefunden, die die Barcode-Daten erzeugt.
- Die beiden TOTPs werden mit einem 15-Sekunden-Zeitfenster generiert und sind ansonsten wie gewöhnliche SHA-1-TOTPs aufgebaut.
Ticket-Piraterie
- Nun ist alles bekannt, was nötig ist, um Ticketmasters Barcode in einer eigenen App zu reproduzieren.
- Es lassen sich PDF417-Barcodes erzeugen, die von der offiziellen Ticketmaster-App nicht zu unterscheiden sind.
- Ticketmaster protokolliert den
token automatisch in der Browser-Konsole, wenn die Barcode-Renderer-Komponente auf der Webseite gemountet wird, wodurch sich der Token leicht extrahieren lässt.
Lebensdauer
- Die Lebensdauer von
rawToken ist unbekannt. Möglicherweise ist pro Ticketmaster-Konto nur ein einziges Token gültig.
- Laut der Ticketmaster-Entwickler-API-Dokumentation muss der Token 20 Stunden vor Beginn der Veranstaltung aktualisiert werden.
- Das reicht aus, um Tickets offline zu speichern. Es wurde die Expo-App TicketGimp erstellt, die SafeTix-Barcodes rendert.
Fazit
- Ticketmaster schließt technisch benachteiligte Menschen aus.
- Solche Dark Patterns werden als Sicherheitsmaßnahme verkauft.
- Das Unternehmen unterstützt grausame Geschäftspraktiken.
- Softwareentwickler sollten diese Macht verantwortungsvoll einsetzen.
- Ticketmaster muss zerschlagen werden.
Meinung von GN⁺
- Dieser Beitrag zeigt sehr gut, wie die SafeTix-Technologie von Ticketmaster per Reverse Engineering analysiert wurde. Technisch ist das äußerst interessant.
- Allerdings bleibt fraglich, ob ein solches Vorgehen legal ist. Das unbefugte Hacken und Ausnutzen von Ticketmasters System könnte sehr wahrscheinlich illegal sein.
- Dass Ticketmasters Verhalten für Verbraucher nachteilig ist, ist nachvollziehbar, aber mit technischem Missbrauch dagegen vorzugehen, ist nicht wünschenswert. Es braucht legale Wege, um das Problem anzusprechen und Lösungen zu finden.
- Mit dem technischen Fortschritt werden solche Versuche von DRM und Verbraucherkontrolle wahrscheinlich noch zunehmen. Gesellschaftliche Debatten und bessere Regulierung zum Schutz von Datenschutz und Verbraucherrechten erscheinen wichtig.
- Als Entwickler tragen wir die Verantwortung, die Macht der Technologie für positive gesellschaftliche Veränderungen einzusetzen. Es reicht nicht, Technik einfach nur zu bauen; wir müssen auch gründlich darüber nachdenken, welche Auswirkungen sie hat.
1 Kommentare
Hacker-News-Kommentar
TicketMaster und AXS hatten die Möglichkeit, Plattformen für den Weiterverkauf und die Übertragung von Tickets zu unterstützen, entschieden sich aber dagegen
Das Geschäftsmodell von TicketMaster basiert darauf, die Öffentlichkeit zu täuschen
Softwareentwickler sind wie moderne Zauberer und Schamanen
Eine weitere schlechte Praxis von TicketMaster
Artikel über TicketMaster enthalten oft übertriebene Formulierungen
Das Ticketproblem lässt sich einfach lösen
Man kann nicht für ein schlechtes Unternehmen arbeiten und zugleich ein guter Mensch sein
Fragen dazu, wie TicketMaster tatsächlich funktioniert
Dass man nur mit einem Mobiltelefon Zugang zur Show bekommt, ist ein Problem
Dass bei Veranstaltungen eine Internetverbindung erforderlich ist, ist ein Problem