This document is about: FUSION 2
SWITCH TO

接続の暗号化

概要

Photon Fusionは、既存のPhoton Realtimeの暗号化システムの機能を強化・拡張し、Fusionのクライアントとサーバー間のエンドツーエンド暗号化に対応しています。

安全な接続ハンドシェイク・鍵の生成と交換・実際にネットワークで送信されるパケットの暗号化/複合化は、すべてFusionの暗号化システムによって処理されます。最小の処理コストで、ゲームセッション内の対象のピアのみがデータを解読できることが保証されています。

Fusionのピアが維持できる接続タイプを、以下の図に示します。

  1. Cloud Connection:ローカルピアとPhoton Cloud間の接続になります。この接続は必須で、主にマッチメイキングや、必要に応じたリレー機能の提供に使用されます。すべてのモード(シングルプレイヤーモードを除く)は、少なくともこの接続を維持しています。
  2. Direct Connection:Fusionのサーバーとクライアント間で直接通信するために確立される接続です。
fusion peers connections
Fusionのピアの接続

基本セットアップ

暗号化のセットアップは簡単で、必要なステップは2つのみです。

1. Photon Cloud 接続の暗号化

PhotonAppSettingsアセットのEncryption Modeで、Datagram Encryption GCMを選択してください。 これによって、ローカルピアとPhoton Cloud間の接続が、データグラムレベルで暗号化されることが保証されます。 この設定は、特に共有モードでの暗号化をカバーします。

Encryption Modeの詳細は、ドキュメントのEncryptionModeをご覧ください。

network project config - encryption enabled
PhotonAppSettingsから暗号化を有効にする

2. Photon Fusion ダイレクト接続の暗号化

NetworkProjectConfigアセットから、Fusionの暗号化システムを有効にしてください。 これによって、Fusionのサーバーとクライアント間の接続が暗号化して確立されます。

これは、ホストモード(ClientHostServerAutoHostOrClient)にのみ影響します。共有モードは、ローカルピアとPhoton Cloud間の接続のみです。

network project config - encryption enabled
NetworkProjectConfigから暗号化を有効にする

暗号化システムについて

Fusionの暗号化システムは、以下の有名なアルゴリズムを適用することで実現しています。

  • Advanced Encryption Standard (AES) (doc page):
    • Key Size: 256 bits;
    • Mode: CipherMode.CBC (doc page).
  • Message Authentication Code (HMAC):
    • Using the HMACSHA256 function (doc page).

データ暗号化プロセスは、以下のような流れになります。

  1. データの暗号化:
    1. 上記のアルゴリズムを使用して、全体のバッファを暗号化する
    2. パケットに内容に基づいたハッシュが生成され、バッファに追加される
  2. データの復号化:
    1. ハッシュを検証して、不正なパケットを破棄する
    2. 受信したバッファを復号化する
Back to top