3 puntos por GN⁺ 2024-07-09 | 1 comentarios | Compartir por WhatsApp
  • 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

 
GN⁺ 2024-07-09
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

    • Podrían haber documentado el cifrado de los códigos QR de los boletos y expuesto la app y la API para verificar y rotar los secretos de los boletos
    • En cambio, eligieron pelear contra los estafadores con problemas legales
    • Porque obtienen más ingresos con el monopolio de la reventa
  • El modelo de negocio de TicketMaster se basa en engañar al público

    • Taylor Swift quiere que sus fans puedan comprar boletos a precios bajos
    • Su mánager quiere obtener la mayor cantidad posible de ingresos
    • En colaboración con TicketMaster, venden algunos boletos baratos y luego venden el resto a precios más altos en sitios de reventa
  • Los desarrolladores de software son como los magos y chamanes de la era moderna

    • Deben usar ese poder con moderación e integridad
    • Es necesario para recuperar el control de la sociedad de manos de quienes solo están obsesionados con la codicia y la explotación
  • Otra mala práctica de TicketMaster

    • Al revender un boleto, incluso después de que el comprador completa la compra, retienen los fondos del vendedor durante 7 a 14 días hábiles después de que termina el evento
    • Afirman que es para verificar la validez del boleto
    • Pero TicketMaster posee el boleto, y la lógica para verificar su validez no es complicada
    • Retienen tanto el dinero del comprador como el del vendedor y así ganan por partida doble
  • Los artículos relacionados con TicketMaster suelen tener mucho lenguaje exagerado

    • Hay una parte que explica cómo duplicar boletos
    • Eso no perjudica a nadie
    • Los códigos de barras rotativos siguen siendo más seguros que los códigos de barras estáticos
  • El problema de los boletos se puede resolver fácilmente

    • Es un problema que se resuelve millones de veces al día en los aeropuertos
    • Basta con proporcionar el nombre de cada asistente al concierto al comprar los boletos y luego presentar el boleto junto con una identificación
  • No se puede ser una buena persona mientras se trabaja en una mala empresa

  • Dudas sobre cómo funciona realmente TicketMaster

    • Funciona de maneras distintas según el evento
    • TicketMaster podría ser solo un proveedor de servicios
    • El organizador del evento elige el producto que quiere del catálogo de TicketMaster
    • Podría llamarse "Maldad como servicio"
    • Las prácticas monopólicas de TicketMaster son un problema, pero los organizadores de eventos y los artistas también tienen responsabilidad
  • Es un problema que solo se pueda entrar a un show usando un teléfono móvil

    • Si se acaba la batería o se rompe la pantalla, surgen problemas
    • Cuanto más avanza la tecnología, peor se usa
    • Para romper el monopolio, habría que abstenerse de comprar boletos de TicketMaster
  • Es un problema necesitar conexión a internet en un evento

    • En eventos masivos es difícil tener conexión a internet
    • La app debería funcionar también sin conexión
    • TicketMaster actualiza los boletos 20 horas antes del evento para prever el caso de no tener internet durante el mismo