セキュリティ
MAJACLOUD が保護する範囲と、開発者が責任を持つ範囲について説明します。
コードのコメントと API 名は、SDK と一致させるため英語のままにしています。
キー#
- クライアントキーはプロジェクトを識別するだけです。プレイヤー向けのエンドポイントには、そのプレイヤー自身のトークンも必要です。
- シークレットキーは SHA-256 ハッシュとして保存され、表示は一度だけです。どちらのキーも API キーページで再発行できます。クライアントキーを再発行すると、古いキーを使っているビルドは動作しなくなります。
シークレットキー(
sk_live_…)は、ゲームのビルドや Web ページに絶対に含めないでください。プレイヤーに配布したものは、すべて読み取られる可能性があります。プレイヤートークン#
- アクセストークンは 1 時間で期限切れになり、ローテーションされるリフレッシュトークンによって自動的に更新されます。
- 古いリフレッシュトークンを再利用すると、そのセッションはすべての場所で失効します。
HTTPS#
- API は localhost からのリクエストを除いて平文の HTTP を拒否し、HTTPS では HSTS を送信します。
サーバー権威#
- スコア、報酬、ウォレットはサーバーで検証され、クライアントから送られた値をそのまま信頼することはありません。
- クライアントが読み取れるものは、すべて解析される可能性があります。秘密情報や権威的なロジックは、シークレットキーを使ってサーバー側に置いてください。
署名付きコンフィグ#
- リモートコンフィグは RSA-SHA256 で署名され、使用前にデバイス上で検証されます。そのため、プロキシや改ざんされたネットワークレスポンスによって値が変更されることはありません。
プレイヤーデータ#
- ダッシュボードで任意のプレイヤーを確認・削除できます。プロジェクトを削除すると、そのデータはすべて削除されます。ログ内の IP アドレスは鍵付きハッシュとして保存されます。