- เมื่อไม่นานมานี้ได้ซื้อตั๋วคอนเสิร์ตจาก Ticketmaster โดย Ticketmaster ออกตั๋วผ่านระบบ Mobile Entry หรือ SafeTix แทนตั๋ว PDF ที่พิมพ์ได้ตามปกติ ระบบนี้จะแสดงเป็นบาร์โค้ดที่หมุนอยู่ภายในเว็บแอปของ Ticketmaster หรือแอป Android/iOS
- ในอดีต ตั๋วที่ซื้อออนไลน์หรือออฟไลน์สามารถพิมพ์ได้ ตั๋ว PDF ดูได้แทบทุกอุปกรณ์ เข้าถึงได้แม้โทรศัพท์จะไม่เชื่อมต่ออินเทอร์เน็ต และใช้เป็นตั๋วกระดาษได้แม้ไม่มีโทรศัพท์ อีกทั้งถ้าซื้อจากผู้ขายอย่างเป็นทางการก็รู้ได้ว่าเป็นของแท้
- เมื่อปีที่แล้วตอนที่ไปคอนเสิร์ตซึ่งใช้ระบบตั๋ว QR แบบหมุนคล้ายกัน หลายคนมีปัญหาในการเข้างาน ปัญหาหลักคือโทรศัพท์ไม่มีการเชื่อมต่ออินเทอร์เน็ต ทำให้ QR โค้ดไม่โหลด และเจ้าหน้าที่หน้างานก็ไม่มีวิธีช่วย
การตลาด
- Ticketmaster โฆษณาเทคโนโลยี SafeTix ว่าเป็นยาครอบจักรวาลสำหรับจัดการพวกมิจฉาชีพและพ่อค้าตั๋วผี
- บริษัทอ้างว่าบาร์โค้ดเฉพาะตัวที่รีเฟรชอัตโนมัติทุกไม่กี่วินาทีทำให้ขโมยหรือคัดลอกไม่ได้ ลดความเสี่ยงจากตั๋วผีอย่างมาก และรับประกันความปลอดภัย
- การเคลื่อนไหวของบาร์โค้ดเป็นเพียง CSS animation และไม่ได้ป้องกันการสแกนจากภาพหน้าจอ
แรงจูงใจ
- SafeTix ทำให้การขายต่อบัตรเป็นเรื่องยากนอกตลาดขายต่อแบบปิดและมีกำไรสูงของ Ticketmaster
- บังคับให้ผู้ใช้ต้องติดตั้งแอปผูกขาดของ Ticketmaster
- ไม่สามารถบันทึกและส่งตั๋วออกนอก Ticketmaster ได้ ทำให้ต้องส่งข้อมูลติดต่อของเพื่อนให้ Ticketmaster
ความขัดแย้งในตัวเอง
- การบอกว่าสามารถบันทึกตั๋วไว้แบบออฟไลน์ได้ แต่กลับส่งออกนอก Ticketmaster ไม่ได้ เป็นเรื่องขัดแย้งกันเอง
- ถ้าคัดลอกข้อมูลได้ ก็ส่งต่อได้ และถ้าส่งต่อได้ ก็ย่อมแชร์และขายได้
- การอ้างว่าตั๋วมี DRM ที่แข็งแกร่ง แต่ยังดูแบบออฟไลน์ได้ ก็เป็นความขัดแย้งในตัวเองเช่นกัน
วิศวกรรมย้อนกลับ
- เมื่อตรวจสอบตัวบาร์โค้ดเอง พบว่าเป็นบาร์โค้ด PDF417 และเข้ารหัสข้อความ UTF-8 อยู่
- บาร์โค้ดเปลี่ยนทุก 15 วินาที และประกอบด้วยข้อมูล Base64, ตัวเลข 6 หลักสองชุด และ Unix timestamp
- ตัวเลข 6 หลักสองชุดทำงานคล้าย Time-based One-Time Passwords (TOTP)
- ข้อมูล Base64 ดูเหมือนเป็นข้อมูลสุ่มยาว 48 ไบต์ และคาดว่าอาจเป็น bearer token แบบสุ่มชนิดหนึ่งที่ใช้ระบุทั้งผู้ถือตั๋วและตั๋ว
ความลับของความลับ
- การสร้าง TOTP ต้องใช้เพียง shared secret key (อาร์เรย์ของไบต์) และนาฬิกาที่ทำงานถูกต้อง
- เนื่องจากในบาร์โค้ดมี TOTP อยู่สองชุด จึงน่าจะมี shared secret key อยู่สองชุดเช่นกัน หากมีสิ่งนี้พร้อมกับ bearer token ก็สามารถสร้างบาร์โค้ดที่ใช้ได้ตามต้องการ
ดีบักเว็บแอป
- เชื่อมต่อเบราว์เซอร์ Chrome บนโทรศัพท์ Android เข้ากับ Chrome DevTools บนคอมพิวเตอร์เดสก์ท็อปเพื่อดู API ของ Ticketmaster และซอร์สโค้ด
- พบคำขอที่น่าสนใจใน API endpoint
/api/render-ticket/secure-barcode
- ในข้อมูลตอบกลับมีพร็อพเพอร์ตี
token ที่เข้ารหัสด้วย Base64 และเมื่อถอดรหัสแล้วพบว่าเป็นออบเจ็กต์ JSON
- คาดว่า
eventKey (ek) และ customerKey (ck) น่าจะเป็น secret key ของ TOTP
- เมื่อตรวจดูซอร์สโค้ดของเว็บแอป ก็พบฟังก์ชันชื่อ
generateSignedToken ซึ่งเป็นจุดที่สร้างข้อมูลบาร์โค้ด
- TOTP ทั้งสองชุดถูกสร้างโดยใช้ช่วงเวลา 15 วินาที และนอกเหนือจากนั้นก็เป็นรูปแบบเดียวกับ SHA-1 TOTP ปกติ
การละเมิดตั๋ว
- ตอนนี้ได้รู้ทุกอย่างที่จำเป็นสำหรับการโคลนบาร์โค้ดของ Ticketmaster ในแอปที่กำหนดเองแล้ว
- สามารถสร้างบาร์โค้ด PDF417 ที่แยกไม่ออกจากของแอป Ticketmaster ทางการได้
- Ticketmaster ทำให้การดึงโทเค็นทำได้ง่าย เพราะเมื่อคอมโพเนนต์เรนเดอร์บาร์โค้ดถูก mount บนหน้าเว็บ มันจะบันทึก
token ลงในคอนโซลของเบราว์เซอร์โดยอัตโนมัติ
อายุการใช้งาน
- ยังไม่ทราบอายุการใช้งานของ
rawToken มีความเป็นไปได้ว่าหนึ่งบัญชี Ticketmaster จะมีโทเค็นที่ใช้ได้เพียงหนึ่งตัว
- ตามเอกสาร API สำหรับนักพัฒนาของ Ticketmaster ต้องรีเฟรชโทเค็นก่อนเวลาเริ่มอีเวนต์ 20 ชั่วโมง
- เท่านี้ก็เพียงพอสำหรับการบันทึกตั๋วแบบออฟไลน์แล้ว ผู้เขียนได้สร้างแอป Expo ชื่อ TicketGimp ที่เรนเดอร์บาร์โค้ด SafeTix
บทสรุป
- Ticketmaster กำลังกีดกันคนที่ไม่ถนัดเทคโนโลยี
- บริษัทกำลังห่อหุ้ม dark pattern แบบนี้ให้ดูเหมือนเป็นมาตรการความปลอดภัย
- เป็นบริษัทที่สนับสนุนแนวปฏิบัติทางธุรกิจที่โหดร้าย
- นักพัฒนาซอฟต์แวร์ควรใช้พลังนี้อย่างถูกต้อง
- จงทุบ Ticketmaster ให้แตกสลาย
ความเห็นของ GN⁺
- บทความนี้แสดงให้เห็นกระบวนการวิศวกรรมย้อนกลับเทคโนโลยี SafeTix ของ Ticketmaster ได้อย่างดี และมีเนื้อหาที่น่าสนใจมากในเชิงเทคนิค
- อย่างไรก็ตาม ก็มีข้อสงสัยว่าการกระทำลักษณะนี้ชอบด้วยกฎหมายหรือไม่ การแฮ็กและนำระบบของ Ticketmaster ไปใช้ในทางที่ผิดโดยไม่ได้รับอนุญาตมีแนวโน้มว่าจะผิดกฎหมาย
- แม้จะเห็นด้วยว่าพฤติกรรมของ Ticketmaster ไม่เป็นธรรมต่อผู้บริโภค แต่การตอบโต้ด้วยการนำเทคโนโลยีไปใช้ผิดทางก็ไม่ใช่เรื่องพึงประสงค์ ควรตั้งคำถามต่อปัญหาและแสวงหาทางออกด้วยวิธีที่ถูกกฎหมาย
- เมื่อเทคโนโลยีพัฒนาไป ความพยายามใช้ DRM และการควบคุมผู้บริโภคในลักษณะนี้ก็น่าจะเพิ่มมากขึ้น การถกเถียงทางสังคมและการปรับปรุงกฎระเบียบเพื่อคุ้มครองความเป็นส่วนตัวและสิทธิผู้บริโภคจึงดูสำคัญ
- ในฐานะนักพัฒนา เรามีความรับผิดชอบที่จะใช้พลังของเทคโนโลยีเพื่อสร้างการเปลี่ยนแปลงเชิงบวกให้กับสังคม ไม่ใช่แค่สร้างเทคโนโลยีขึ้นมาเท่านั้น แต่ต้องคิดอย่างลึกซึ้งด้วยว่าเทคโนโลยีนั้นจะส่งผลกระทบอย่างไร
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
TicketMaster และ AXS เคยมีโอกาสสนับสนุนแพลตฟอร์มขายต่อและโอนบัตร แต่เลือกที่จะไม่ทำ
โมเดลธุรกิจของ TicketMaster ตั้งอยู่บนการหลอกลวงสาธารณชน
นักพัฒนาซอฟต์แวร์ก็เหมือนพ่อมดและหมอผีแห่งยุคสมัยใหม่
อีกหนึ่งแนวปฏิบัติที่แย่ของ TicketMaster
บทความที่เกี่ยวกับ TicketMaster มักมีถ้อยคำเกินจริงอยู่มาก
ปัญหาเรื่องบัตรสามารถแก้ได้อย่างง่ายดาย
คุณไม่อาจเป็นคนดีได้ หากทำงานให้บริษัทที่แย่
ข้อสงสัยเกี่ยวกับวิธีทำงานจริงของ TicketMaster
การที่ต้องใช้โทรศัพท์มือถือเท่านั้นจึงจะเข้าโชว์ได้เป็นปัญหา
การต้องใช้อินเทอร์เน็ตในงานอีเวนต์ก็เป็นปัญหา