Skip to main content
這些最佳做法僅作為示範參考。請自行獨立評估您的實作。
保護所有網路通訊 (無論通道或內容為何) 是提升整體遊戲安全性相對簡單但至關重要的方法。它可以限制針對遊戲邏輯、服務與使用者資料的攻擊媒介。 以下三項屬性都必須成立。只要其中任何一項未達成,就會導致不安全的通訊:
  • 機密性
  • 完整性
  • 驗證
例如,具備機密性與完整性但缺乏驗證的通訊,會讓攻擊者得以冒充使用者、裝置或服務,使其他保護措施失效。只保護訊息的一部分或流程的子集,也會使保護措施失效。

機密性

保護通訊免受外部觀察,將可見性限制在參與的通訊夥伴之間。可透過使用強式密碼編譯演算法與加密方式進行訊息加密來達成。只有經過強式加密的訊息,才能保證只有加密/解密金鑰的持有者能夠讀取或產生這些訊息,因此金鑰共用與驗證密切相關。 玩家 IP 位址的機密性也很重要。請透過專用伺服器或轉送伺服器路由通訊,避免單一直接通道 (例如語音聊天) 暴露玩家的 IP。

完整性

偵測傳輸期間的竄改。可透過安全的訊息雜湊加上序號或時間戳記來達成。
  • 安全雜湊會建立訊息摘要,以揭露任何竄改行為。
  • 序號/時間戳記可阻止攻擊者複製及重新傳送訊息。
單靠加密通常無法提供完整性保護。在已知的攻擊中,即使是經過強式加密的訊息,也曾在未被偵測的情況下遭到操控。
除了訊息完整性之外,也請驗證邏輯完整性:檢查收到的訊息或服務要求在目前的遊戲狀態中是否有效 (例如,以無訊息方式捨棄超出遊戲限制的玩家速度更新)。

驗證

安全地驗證通訊夥伴的身分並防止冒充。可透過服務使用可公開驗證的憑證,以及用戶端使用平台驗證權杖來達成。
  • 預設要求所有通訊夥伴都必須經過驗證。
  • 對於公開的唯讀資料 (設定、每日訊息),只驗證來源服務是可以接受的,但請注意不要讓此模式擴散到其他情況。
  • 遊戲平台上的遊戲用戶端應一律使用安全的平台驗證權杖。在用戶端中硬式編碼的密碼並不足夠,因為攻擊者可以猜測或擷取它們。
  • 遊戲服務/帳戶權杖若遵循安全權杖指導方針,且在驗證平台權杖之後才核發,也是可以接受的。

相關 API 文件

另請參閱

Last modified on October 6, 2026