モノトーンの伝説日記

Apex Legends, Splatoon, Programming, and so on...

“ストリームスナイプ” をできる限り対策する方法

 技術的にどうやれば実現できるのか。脆弱性があるかもしれませんが… こんな風にすれば一応実現できるなぁ,と。

1. 第三者機関の設立

 配信サイトにもゲームプラットフォームにも属さない第三者機関(ここでは期待も込めて以後 Fair Games と呼びましょう)を設立します。この機関では以下のようなものを管理します。

  • 生ID (自動生成。例えば 256-bit 以上のバイナリー等)
  • 本名
  • 生年月日
  • 年齢
  • 電話番号
  • 住所

 もちろんこれらは身分証明書を使って,正しいものであると Fair Games で承認する必要があります。最近では eKYC というオンラインでの本人確認も出てきているので,昔と違ってハガキで 1 週間かかるといったことにはならないでしょう。

 将来的には

  • 声紋

といった生体情報も認証の必須要件にしていくとよいでしょう。

2. 第三者機関 Fair Games との連携

 ゲーム配信サイトやゲームプラットフォームを利用するには,この Fair Games でのログインが必須というのがこの仕組みの一番重要な部分です。

 ユーザーでは以下の手順を追加するだけで実現可能になります。

  1. サービス側で Fair Games へのログインに誘導する
  2. Fair Games でログイン&認証
  3. ログイン完了

 実際には,この裏側で

  • Fair Games 側でサービスごとに暗号鍵を作成すること
  • その暗号鍵を用いて生 ID を暗号化された形にすること
    • サービス側で生 ID を使用できないようにし,他サービスとの同一性把握を不可能にします
  • サービス側には一切の個人情報は提供しないこと

が必要要件になります。

3. 要件

3.1 ゲームサービス側

  • マッチングが完了し試合が開始または終了されると,ユーザーの IPアドレスと暗号化 ID を Fair Games に通知すること
  • Fair Games から今マッチキューに待機しているユーザーがどの配信を見ているかを受信すること
    • マッチメイキング中に配信者と配信を見てるユーザー(配信を閉じてから 15 分経過したユーザーなどの一定のディレイは必要)はマッチングしないように暗号化 ID を比較すること

3.2 配信サービス側

  • 配信を視聴し始めると,ユーザーの IPアドレスと暗号化 ID を Fair Games に通知すること
  • 配信を視聴しようとすると,Fair Games から試合中であるかを受信すること
    • 仮に同じ試合にいる場合,そもそも配信を再生できないようにすること
  • Fair Games を有効にしている配信では非ログインユーザーや非 Fair Games ログインユーザーの視聴を制限すること
    • これらのユーザーはリアルタイム(低遅延)ではなく 3 分遅延のみみれるなどの制限を課すことによって,アカウントを作りたくない人でも視聴は可能なようにできる。

4. 副次的な効果

  • 1 つのサービスにつき 1 つのアカウントでしかログインできないことにするようによってサブアカウントの作成を禁じることができること(スマーフ対策)
  • チーターなどの悪質行為をしている場合,Fair Games 側で BAN することで,ほかの Fair Games を利用しているゲームサービスのアカウントも停止することができること

おまけ「声紋」

 1 に「声紋」と書いてありましたが,これはゲーム開始前にマイクを使って声の送信を必須にすることにより,第三者がプレイできないように制限することを実現するために追加するものです。つまり,ゲーム開始前に「以下の文章を読み上げてください: 今日の天気は晴れです。大変心地が良いです」みたいな文章をユーザーに読み上げさせ,声紋を抽出し,サーバー側で声紋が一致するかを判定するためにです。

 ただし,配信者などの声のリソースがありふれているユーザーにとって,録音したボイスを使用すること(ボーカロイドなどのツールを使うとある程度再現できる可能性が高そうです)ができますし,完全な対策にはなりません。しかし,ゲーム開始前の本人確認として非常に手軽な仕組みとは言えます。

あとがき

 こういうことをすればストリームスナイプ自体は対策できるな~ って軽く思ってて,でも実際やるにはお金の問題があるわけですよ。そもそも第三者機関はお金にならないわけですよね。しかも顧客の重要な個人情報を管理する必要があって。あまりにも現実的じゃないというか。ただまあゲーム業界全体で PvP における問題を解決するなら,PvP ゲーム作ってるところで出資しあってこういう機関作ったほうがいいとは思いますね。それこそ,配信サイトでのバッドマナーも Fair Games のスコアとして記録していく形で行けばいいかと。

 実はここに書いた方法だと 1 つだけ悪用する方法があって,ランクマッチで強いやつと当たりたくないから強い人の配信を全部開いておくみたいなことですね。それをされると,この仕組みは公正なランクマッチの仕組みを破壊するので,ランクマッチではマッチメイキングを制限しない代わりに配信自体を見れなくなるといった応用の方向になるかもしれません。