- Hace poco compré entradas para un concierto en Ticketmaster. En lugar de entradas PDF normales e imprimibles, Ticketmaster emite las entradas mediante Mobile Entry, es decir, un sistema llamado SafeTix. Se presentan como un código de barras rotativo dentro de la web app de Ticketmaster o sus apps de Android/iOS.
- Antes se podían imprimir las entradas compradas en línea o en persona. Las entradas en PDF se pueden ver en casi cualquier dispositivo, se puede acceder a ellas aunque el teléfono no tenga conexión a internet y, aun sin teléfono, se pueden usar como entrada en papel. Si se compraron en el canal oficial, además se sabe que son auténticas.
- El año pasado fui a un concierto que usaba un sistema similar de entradas con código QR rotativo, y mucha gente tuvo problemas para entrar. El principal problema era que sus teléfonos no tenían conexión a internet, así que el código QR no cargaba. El personal en el lugar tampoco tenía forma de ayudar.
Marketing
- Ticketmaster promociona la tecnología SafeTix como una panacea contra estafadores y revendedores.
- Afirma que, gracias a un código de barras único que se actualiza automáticamente cada pocos segundos, no puede ser robado ni copiado, reduce en gran medida el riesgo de reventa y garantiza la seguridad.
- Que el código de barras se mueva no es más que una animación CSS, y eso no impide que se escanee una captura de pantalla.
Motivación
- SafeTix dificulta la reventa de entradas fuera del mercado de reventa cerrado y de altos márgenes de Ticketmaster.
- Obliga a los usuarios a instalar la app propietaria de Ticketmaster.
- Como no es posible guardar ni transferir la entrada fuera de Ticketmaster, hay que entregar a Ticketmaster la información de contacto de tus amigos.
Contradicción
- Decir que la entrada puede guardarse sin conexión, pero no puede transferirse fuera de Ticketmaster, es una contradicción.
- Si los datos se pueden copiar, se pueden transferir; y si se pueden transferir, se pueden compartir y vender.
- También es contradictorio afirmar que la entrada tiene un DRM fuerte y a la vez que puede verse sin conexión.
Ingeniería inversa
- Al inspeccionar el código de barras, resultó ser un código PDF417 que codifica texto UTF-8.
- El código de barras cambia cada 15 segundos y está compuesto por datos Base64, dos números de 6 dígitos y una marca de tiempo Unix.
- Los dos números de 6 dígitos funcionan como contraseñas de un solo uso basadas en tiempo (TOTP).
- Los datos Base64 parecen ser datos aleatorios de 48 bytes; se especula que podrían ser una especie de token aleatorio de portador que identifica tanto la entrada como a su titular.
El secreto del secreto
- Para generar un TOTP solo hace falta una clave secreta compartida (arreglo de bytes) y un reloj que funcione.
- Como el código de barras tiene dos TOTP, debería haber también dos claves secretas compartidas. Si además se tiene el token de portador, se pueden generar tantos códigos de barras válidos como se quiera.
Depuración de la web app
- Se conectó el navegador Chrome de un teléfono Android a las herramientas de desarrollo de Chrome en una computadora de escritorio para revisar la API de Ticketmaster y el código fuente.
- Se encontró una solicitud interesante en el endpoint de API
/api/render-ticket/secure-barcode.
- En la respuesta había una propiedad
token codificada en Base64; al decodificarla, resultó ser un objeto JSON.
- Se sospecha que
eventKey (ek) y customerKey (ck) son las claves secretas del TOTP.
- Al revisar el código fuente de la web app, se encontró una función llamada
generateSignedToken, y ahí se generaban los datos del código de barras.
- Los dos TOTP se generan con intervalos de 15 segundos y, fuera de eso, se construyen igual que un TOTP SHA-1 normal.
Piratería de entradas
- En este punto ya se sabe todo lo necesario para clonar el código de barras de Ticketmaster en una app personalizada.
- Se puede generar un código PDF417 indistinguible del de la app oficial de Ticketmaster.
- Extraer el token es fácil porque Ticketmaster registra automáticamente
token en la consola del navegador cuando el componente renderizador del código de barras se monta en la página web.
Duración
- No se conoce la duración de
rawToken. Es posible que solo un token por cuenta de Ticketmaster sea válido.
- Según la documentación de la API para desarrolladores de Ticketmaster, el token debe actualizarse 20 horas antes del inicio del evento.
- Eso es suficiente para guardar la entrada sin conexión. Se creó la app Expo TicketGimp que renderiza códigos de barras SafeTix.
Conclusión
- Ticketmaster está excluyendo a las personas con menos capacidades tecnológicas.
- Está presentando este patrón oscuro como si fuera una medida de seguridad.
- Es una empresa que respalda prácticas de negocio crueles.
- Los desarrolladores de software deben usar este poder correctamente.
- Hay que desmantelar Ticketmaster.
Opinión de GN⁺
- Este artículo muestra bien el proceso de ingeniería inversa de la tecnología SafeTix de Ticketmaster. Es un contenido muy interesante desde el punto de vista técnico.
- Pero surgen dudas sobre si este tipo de acción es legal. Hackear y explotar sin autorización el sistema de Ticketmaster probablemente sea ilegal.
- Aunque se coincide en que la conducta de Ticketmaster perjudica a los consumidores, no es deseable responder abusando de la tecnología. Hace falta plantear el problema por vías legales y buscar soluciones.
- A medida que la tecnología avance, es probable que aumenten este tipo de intentos de DRM y control del consumidor. Parece importante impulsar el debate social y mejorar la regulación para proteger la privacidad y los derechos del consumidor.
- Como desarrolladores, tenemos la responsabilidad de usar el poder de la tecnología para generar cambios positivos en la sociedad. No basta con implementar tecnología; también hay que reflexionar a fondo sobre el impacto que tendrá.
1 comentarios
Comentarios de Hacker News
TicketMaster y AXS tuvieron la oportunidad de dar soporte a plataformas de reventa y transferencia de boletos, pero decidieron no hacerlo
El modelo de negocio de TicketMaster se basa en engañar al público
Los desarrolladores de software son como los magos y chamanes de la era moderna
Otra mala práctica de TicketMaster
Los artículos relacionados con TicketMaster suelen tener mucho lenguaje exagerado
El problema de los boletos se puede resolver fácilmente
No se puede ser una buena persona mientras se trabaja en una mala empresa
Dudas sobre cómo funciona realmente TicketMaster
Es un problema que solo se pueda entrar a un show usando un teléfono móvil
Es un problema necesitar conexión a internet en un evento