- हाल ही में Ticketmaster से concert ticket खरीदा। सामान्य प्रिंट करने योग्य PDF ticket के बजाय Ticketmaster, Mobile Entry यानी SafeTix सिस्टम के माध्यम से ticket जारी करता है। यह Ticketmaster के web app या Android/iOS app के भीतर घूमने वाले barcode के रूप में दिया जाता है।
- पहले online या offline खरीदे गए ticket को प्रिंट किया जा सकता था। PDF ticket लगभग हर device पर देखे जा सकते हैं, phone इंटरनेट से connected न हो तब भी access किए जा सकते हैं, और phone न होने पर भी paper ticket की तरह इस्तेमाल किए जा सकते हैं। अगर आधिकारिक seller से खरीदा गया हो, तो यह भी पता होता है कि वह असली है।
- पिछले साल जब एक ऐसे concert में गया था जिसमें इसी तरह का घूमने वाला QR code ticket system इस्तेमाल हुआ था, तब बहुत से लोगों को entry में दिक्कत हुई। मुख्य समस्या यह थी कि phone में इंटरनेट connection नहीं था, इसलिए QR code load नहीं हो रहा था। वहाँ के staff भी मदद नहीं कर सके।
मार्केटिंग
- Ticketmaster, SafeTix तकनीक को fraud और touts के खिलाफ रामबाण के रूप में प्रचारित करता है.
- उसका दावा है कि हर कुछ सेकंड में अपने-आप refresh होने वाला unique barcode चोरी या कॉपी नहीं किया जा सकता, जिससे touting का जोखिम बहुत कम हो जाता है और सुरक्षा सुनिश्चित होती है।
- barcode का हिलना-डुलना सिर्फ CSS animation है, और यह screenshot के scan को नहीं रोकता।
मकसद
- SafeTix, Ticketmaster के बंद और high-margin resale market के बाहर ticket resale को मुश्किल बनाता है।
- यह users को Ticketmaster का proprietary app install करने के लिए मजबूर करता है।
- Ticketmaster के बाहर ticket को save और transfer करना असंभव होने से, दोस्त की contact information भी Ticketmaster को देनी पड़ती है।
विरोधाभास
- यह कहना कि ticket को offline save किया जा सकता है, लेकिन Ticketmaster के बाहर भेजा नहीं जा सकता, अपने-आप में विरोधाभास है।
- अगर data को copy किया जा सकता है, तो उसे transfer भी किया जा सकता है, और transfer किया जा सकता है तो share और sell भी किया जा सकता है।
- यह कहना कि ticket पर मजबूत DRM है, लेकिन उसे offline देखा जा सकता है, खुद एक विरोधाभास है।
Reverse engineering
- barcode की जाँच करने पर पता चला कि यह PDF417 barcode है और UTF-8 text encode कर रहा है।
- barcode हर 15 सेकंड में बदलता है और इसमें Base64 data, दो 6-अंकीय संख्याएँ, और Unix timestamp शामिल हैं।
- ये दो 6-अंकीय संख्याएँ Time-based One-Time Passwords (TOTP) की तरह काम करती हैं।
- Base64 data, 48-byte लंबे random data जैसा दिखता है, और अनुमान है कि यह ticket holder और ticket की पहचान करने वाला किसी तरह का random bearer token है।
सीक्रेट का सीक्रेट
- TOTP बनाने के लिए सिर्फ shared secret key (byte array) और सही चलने वाली clock चाहिए।
- barcode में दो TOTP हैं, इसलिए shared secret key भी दो होंगी। अगर वे bearer token के साथ हों, तो जितने चाहें उतने valid barcode बनाए जा सकते हैं।
Web app debugging
- Android phone के Chrome browser को desktop computer के Chrome DevTools से जोड़कर Ticketmaster API और source code को देखा गया।
/api/render-ticket/secure-barcode API endpoint में रुचिकर request मिली।
- response data में Base64-encoded
token property थी, जिसे decode करने पर वह JSON object निकला।
- अनुमान लगाया गया कि
eventKey (ek) और customerKey (ck) ही TOTP secret key हैं।
- web app source code देखने पर
generateSignedToken नाम का function मिला, जो barcode data बना रहा था।
- दोनों TOTP 15-सेकंड के time interval पर generate होते हैं, और इसके अलावा वे सामान्य SHA-1 TOTP की तरह ही बनाए जाते हैं।
Ticket piracy
- अब यह स्पष्ट हो गया कि custom app में Ticketmaster barcode को clone करने के लिए क्या-क्या चाहिए।
- आधिकारिक Ticketmaster app से अलग पहचान न आने वाला PDF417 barcode बनाया जा सकता है।
- Ticketmaster, barcode renderer component के web page पर mount होते ही
token को browser console में अपने-आप log कर देता है, इसलिए token extract करना आसान है।
उम्र
rawToken की validity कितनी है, यह स्पष्ट नहीं है। संभव है कि Ticketmaster account के प्रति सिर्फ एक token ही valid हो।
- Ticketmaster developer API docs के अनुसार, event शुरू होने से 20 घंटे पहले token refresh करना पड़ता है।
- यह offline ticket save करने के लिए पर्याप्त है। SafeTix barcode render करने वाला Expo app TicketGimp बनाया गया।
निष्कर्ष
- Ticketmaster तकनीकी रूप से कमज़ोर लोगों को बाहर कर रहा है।
- वह ऐसे dark patterns को safety measure के रूप में पेश कर रहा है।
- यह एक ऐसी company है जो क्रूर business practices का समर्थन करती है।
- software developers को इस शक्ति का सही उपयोग करना चाहिए।
- Ticketmaster को तोड़ा जाना चाहिए।
GN⁺ की राय
- यह लेख Ticketmaster की SafeTix तकनीक का reverse engineering कैसे किया गया, इसे बहुत अच्छी तरह दिखाता है। तकनीकी रूप से यह बेहद रोचक है।
- लेकिन ऐसी गतिविधि कानूनी है या नहीं, इस पर सवाल उठता है। Ticketmaster के system को बिना अनुमति hack करना और उसका दुरुपयोग करना अवैध हो सकता है।
- Ticketmaster का रवैया उपभोक्ताओं के खिलाफ है, इस बात से सहमति हो सकती है, लेकिन तकनीक का दुरुपयोग करके उसका जवाब देना उचित नहीं है। समस्या को कानूनी तरीके से उठाना और समाधान खोजना ज़रूरी है।
- तकनीक के विकास के साथ इस तरह के DRM और consumer control के प्रयास और बढ़ेंगे। privacy और consumer rights की रक्षा के लिए सामाजिक चर्चा और बेहतर regulation महत्वपूर्ण लगते हैं।
- developer के रूप में, हमारे ऊपर तकनीक की शक्ति का उपयोग करके समाज में सकारात्मक बदलाव लाने की ज़िम्मेदारी है। सिर्फ तकनीक लागू करना ही नहीं, बल्कि यह भी गंभीरता से सोचना चाहिए कि उसका प्रभाव क्या होगा।
1 टिप्पणियां
Hacker News की राय
TicketMaster और AXS के पास टिकट रीसेल और ट्रांसफर प्लेटफ़ॉर्म को सपोर्ट करने का मौका था, लेकिन उन्होंने ऐसा नहीं चुना
TicketMaster का business model जनता को धोखा देने पर आधारित है
software developer आधुनिक ज़माने के जादूगरों और तांत्रिकों जैसे हैं
TicketMaster की एक और बुरी प्रथा
TicketMaster से जुड़े लेखों में अक्सर बढ़ा-चढ़ाकर लिखी गई बातें होती हैं
टिकट की समस्या को आसानी से हल किया जा सकता है
किसी बुरी company में काम करते हुए अच्छा इंसान नहीं बना जा सकता
TicketMaster वास्तव में कैसे काम करता है, इस पर सवाल
शो में प्रवेश के लिए mobile phone का इस्तेमाल अनिवार्य होना एक समस्या है
event में internet connection की आवश्यकता भी एक समस्या है