Skip to main content
這些最佳做法僅作為範例參考。請自行獨立評估您的實作。

XBOX 服務通訊

使用 XBOX Services API (XSAPI) 進行 XBOX 服務呼叫。它建置於平台 HTTP 和 WebSocket API 之上,遵循所有建議的安全性做法,並可在多個平台上使用。 請參閱開始使用 XBOX Services API。

PlayFab 服務通訊

使用 PlayFab XplatCPP GDK 程式庫。它遵循建議的安全性做法 (包括驗證),並建置於平台 HTTP 和 WebSocket API 之上。 請參閱私人 Azure PlayFab GDK 程式庫和 XplatCPP SDK 文件。

一般 Web 服務通訊

在 GDK 上請使用 XCurl、libHttpClient 或 WinHTTP。Microsoft 會主動測試並維護這些程式庫。
  • XCurl 會自動強制執行完整的 SSL 憑證驗證。
  • libHttpClient 最適合用於 WebSocket 通訊。
  • 一律使用 HTTPS / WSS。僅限使用 TLS 1.2 或 1.3。
請參閱 Web 要求概觀。
請避免使用協力廠商 HTTP 或 WebSocket 用戶端程式庫。GDK 減少了對系統憑證存放區的 API 存取,而遊戲沙箱化會進一步限制存取。主機會將憑證存放區作業限制為唯讀。協力廠商程式庫本質上比平台 API 更不安全。

Web 服務驗證

使用以平台認可之 CA 為根的公用 SSL 憑證來驗證 Web 服務。請參閱 Microsoft 信任的根參與者。 WinHTTP / XCurl 會自動驗證憑證。自我簽署或不支援 CA 的憑證會導致驗證錯誤。在開發期間,您可以覆寫或減少這些檢查,但絕對不要在發行組建中隨附這些變更。

HTTP 堆疊最佳做法

如果您的遊戲直接使用 WinHTTP 或其他 HTTP 堆疊而非 xCurl,請明確設定安全性,因為 xCurl 的預設值在其他地方不會自動套用。

憑證驗證與信任

  • 驗證完整的憑證鏈結。
  • 驗證伺服器主機名稱,而不只是簽發者。
  • 決定堆疊要使用平台信任模型,還是另外管理的信任套件組合。
載入 Fiddler 類型的偵錯根憑證是在您的堆疊中的明確動作。

Proxy 設定

  • 在適當時探索系統 Proxy 設定。
  • 將 Proxy 設定明確傳遞給 HTTP 程式庫。
  • 測試直接和透過 Proxy 的流量 (特別是本機偵錯時)。
如需非 Schannel 堆疊的 XBOX Proxy 處理方式,請參閱偵錯自訂 HTTP 堆疊。

要檢閱的安全預設值

  • 連線和要求逾時
  • 重新導向處理
  • 要求 / 回應大小限制
  • HTTP 版本行為 (包括 HTTP/2 假設)
  • 標頭、權杖和 URL 的記錄與遙測遮蔽

建議的檢查清單

  • 生產環境流量為 HTTPS 或 WSS。
  • 發行組建中已開啟憑證鏈結和主機名稱驗證。
  • 已決定並記錄信任模型。
  • 支援 Proxy 探索 / 明確設定,以利偵錯工作流程。
  • 已刻意測試憑證失敗、Proxy 失敗和逾時行為 (而不只是正常路徑)。

用戶端驗證

使用 XSTS 驗證權杖驗證 GDK 用戶端。XBOX 服務會建立權杖,並提供使用者、用戶端和權限宣告。當 XSTS 權杖可以被安全驗證時,用戶端可以使用它們來呼叫遊戲服務。 指引:
  • 在 Partner Center 中將 XSTS 驗證宣告設定為遊戲/服務設定的一部分。
  • 不要直接從用戶端傳送使用者/用戶端/權限資訊 (URL 或本文)。一律透過 XSTS 宣告進行驗證。
  • 允許使用遊戲/發行者的自訂權杖,但必須以初始的 XSTS 驗證流程為基礎。請遵循 XSTS 使用的加密 JWT 格式和到期時間。
如需 XSTS 驗證,請參閱 XBOX services 驗證和 GameService 範例。

Web 服務的演算法設定

將 TLS 限制為僅使用強式選項:
  • AES256 或更強
  • CBC 或 GCM 加密
  • SHA256 或更強
AES256 在新式 CPU 上具有硬體加速。其他選項有已知的弱點。 WinHTTP / XCurl 會對所有 SSL 憑證 (包括自我簽署憑證) 強制執行 SHA256 (或更高)。請參閱 Windows 對 SHA1 憑證的強制執行。

SSL 憑證產生

根憑證應為下列其中之一:
  • 鏈結至 Microsoft 信任的根計畫參與者的 CA。不需要針對每個遊戲進行設定。
  • Microsoft CA (包括 Azure VM 和服務中使用的 Azure 憑證)。
免費和付費的憑證選項都有,請選擇適合的。

相關 API 文件

另請參閱

Last modified on October 6, 2026