3 ポイント 投稿者 GN⁺ 2024-07-09 | 1件のコメント | WhatsAppで共有
  • 最近Ticketmasterでコンサートチケットを購入した。Ticketmasterは通常の印刷可能なPDFチケットの代わりに、モバイル入場(Mobile Entry)、つまりSafeTixというシステムでチケットを発行している。これはTicketmasterのWebアプリやAndroid/iOSアプリ内で回転するバーコードの形で提供される。
  • 以前はオンラインでもオフラインでも購入したチケットを印刷できた。PDFチケットはほぼあらゆるデバイスで見られ、携帯電話がインターネットに接続されていなくてもアクセスでき、携帯電話がなくても紙のチケットとして使えた。公式販売元で購入したものであれば本物だということも分かる。
  • 昨年、似たような回転QRコードのチケットシステムを使ったコンサートに行ったとき、多くの人が入場で問題を抱えていた。主な問題は、携帯電話にインターネット接続がなくてQRコードが読み込まれなかったことだった。現場スタッフにも助ける方法はなかった。

マーケティング

  • TicketmasterはSafeTix技術を、詐欺師やダフ屋に対する万能薬であるかのように宣伝している。
  • 数秒ごとに自動更新される固有のバーコードにより、盗難やコピーが不可能で、ダフ屋のリスクを大幅に減らし、安全を保証すると主張している。
  • バーコードが動くのは単なるCSSアニメーションであり、スクリーンショットのスキャンを防げない。

動機

  • SafeTixは、Ticketmasterの閉鎖的で高マージンな転売市場の外でチケットを再販しにくくしている。
  • ユーザーにTicketmasterの独占的なアプリをインストールするよう強制している。
  • Ticketmasterの外にチケットを保存して転送することができないため、友人の連絡先情報をTicketmasterに渡さなければならない。

矛盾

  • チケットをオフラインで保存できると言いながら、Ticketmasterの外へ転送できないというのは矛盾している。
  • データをコピーできるなら転送でき、転送できるなら共有や販売も可能だ。
  • チケットに強力なDRMがあると言いながら、オフラインで見られるということ自体が矛盾している。

リバースエンジニアリング

  • バーコード自体を調べたところ、PDF417バーコードであり、UTF-8テキストをエンコードしていた。
  • バーコードは15秒ごとに変化し、Base64データ、2つの6桁の数字、Unixタイムスタンプで構成されていた。
  • 2つの6桁の数字はTime-based One-Time Passwords(TOTP)のように動作する。
  • Base64データは48バイト長のランダムデータに見え、チケット所持者とチケットを識別する一種のランダムなベアラートークンだと推測している。

秘密の秘密

  • TOTPを生成するには、共有秘密鍵(バイト配列)と動作する時計さえあればよい。
  • バーコード内にTOTPが2つあるので、共有秘密鍵も2つあるはずだ。ベアラートークンと組み合わせれば、好きなだけ有効なバーコードを生成できる。

Webアプリのデバッグ

  • Android端末のChromeブラウザをデスクトップPCのChrome DevToolsに接続し、Ticketmaster APIとソースコードを調べた。
  • /api/render-ticket/secure-barcode APIエンドポイントで関心のあるリクエストを発見した。
  • レスポンスデータにはBase64でエンコードされたtokenプロパティがあり、デコードするとJSONオブジェクトだった。
  • eventKeyek)とcustomerKeyck)がTOTP秘密鍵だと推測した。
  • Webアプリのソースコードを調べると、generateSignedTokenという関数を見つけ、そこでバーコードデータを生成していた。
  • 2つのTOTPは15秒の時間間隔で生成され、それ以外は通常のSHA-1 TOTPと同じ方法で構成されている。

チケットの海賊行為

  • これで独自アプリでTicketmasterのバーコードを複製するのに必要なことはすべて分かった。
  • 公式Ticketmasterアプリと見分けがつかないPDF417バーコードを生成できる。
  • TicketmasterはバーコードレンダラーコンポーネントがWebページにマウントされる際にtokenをブラウザコンソールへ自動記録するため、トークンの抽出は容易だ。

寿命

  • rawTokenの寿命は分からない。Ticketmasterアカウントごとに1つのトークンだけが有効である可能性がある。
  • Ticketmasterの開発者向けAPIドキュメントによれば、イベント開始20時間前にトークンを更新する必要がある。
  • オフラインでチケットを保存するには十分だ。SafeTixバーコードをレンダリングするExpoアプリTicketGimpを作成した。

結論

  • Ticketmasterは技術的弱者を排除している。
  • こうしたダークパターンを安全対策として装っている。
  • 冷酷なビジネス慣行を支える企業だ。
  • ソフトウェア開発者はこうした力を正しく使わなければならない。
  • Ticketmasterを解体しよう。

GN⁺の意見

  • この記事は、TicketmasterのSafeTix技術をリバースエンジニアリングした過程をよく示している。技術的に非常に興味深い内容だ。
  • ただし、このような行為が合法なのかについては疑問が残る。Ticketmasterのシステムを無断でハックして悪用するのは違法である可能性が高い。
  • Ticketmasterのやり方が消費者に不利だという点には同意するが、技術を誤用して対抗するのは望ましくない。合法的な方法で問題提起し、解決策を模索する必要がある。
  • 技術が進歩するにつれて、この種のDRMや消費者統制の試みはさらに増えていくだろう。プライバシー保護と消費者の権利を守るための社会的議論と規制改善が重要に見える。
  • 開発者として私たちは、技術の力を使って社会に前向きな変化をもたらす責任がある。単に技術を実装するだけでなく、その技術がどのような影響を与えるかを深く考えなければならない。

1件のコメント

 
GN⁺ 2024-07-09
Hacker Newsの意見
  • TicketMaster と AXS にはチケットの再販・譲渡プラットフォームを支援する機会があったが、それを選ばなかった

    • チケットの QR コード暗号化を文書化し、アプリや API を公開することで、チケットの秘密情報を検証・ローテーションできたはずだった
    • その代わりに、法的手段で詐欺師と戦うことを選んだ
    • 再販の独占でより多くの利益を得られるからだ
  • TicketMaster のビジネスモデルは、大衆を欺くことに基づいている

    • Taylor Swift はファンが安い価格でチケットを買えることを望んでいる
    • 彼女のマネージャーは可能な限り多くの収益を得ようとしている
    • TicketMaster と協力して一部のチケットを安く売った後、残りのチケットを再販サイトでより高値で販売する
  • ソフトウェア開発者は現代の魔法使いであり呪術師のようなものだ

    • この力は節度と誠実さをもって使うべきだ
    • 貪欲と搾取にしか関心のない人々から社会の統制権を取り戻すために必要だ
  • TicketMaster のもう一つの悪質な慣行

    • チケットを再販すると、買い手が購入した後でも売り手の資金をイベント終了後 7〜14 営業日まで保留する
    • チケットの有効性を確認するためだと主張している
    • しかし TicketMaster はチケットを所有しており、有効性確認のロジックは複雑ではない
    • 買い手と売り手の双方の資金を保留し、二重に利益を得ている
  • TicketMaster に関する記事には誇張表現が多い

    • チケットの複製方法を説明している部分がある
    • これは誰にも害を与えない
    • 回転バーコードは、それでも静的バーコードより安全だ
  • チケットの問題は簡単に解決できる

    • 空港で毎日何百万回も解決されている問題だ
    • チケット購入時に各コンサート参加者の名前を提出し、チケットと身分証明書を一緒に提示すればよい
  • 悪い会社で働きながら、良い人間でいることはできない

  • TicketMaster の実際の動作方式への疑問

    • さまざまなイベントで異なる方式で動作する
    • TicketMaster は単なるサービス提供者にすぎない可能性がある
    • イベント主催者が TicketMaster のカタログから望む製品を選ぶ
    • 「Evil as a Service」と呼べるかもしれない
    • TicketMaster の独占的な慣行は問題だが、イベント主催者やアーティストにも責任がある
  • 携帯電話を使わなければショーに入場できないのは問題だ

    • バッテリーが切れたり画面が割れたりした場合に問題が起きる
    • 技術は進歩するほど、より悪い用途に使われている
    • 独占を打ち破るため、TicketMaster でのチケット購入を控えるべきだ
  • イベントでインターネット接続が必要なのは問題だ

    • 大規模イベントではインターネット接続が難しい
    • アプリはオフラインでも動作すべきだ
    • TicketMaster はイベントの 20 時間前にチケットを更新し、インターネットがない場合に備える