用户:如何保护您的游戏和用户?避免盗版横行?

在打造出一款优秀的游戏后 , 开发者们都希望能够网罗四海玩家 , 并为他们带去流畅安心的预期体验 。不过 , 开发者们也同时面临着喜忧参半的困境: 游戏越受欢迎 , 就越容易引起攻击者和滥用者的注意 。人们会出于各种目的尝试篡改您的游戏或者滥用您的分发及获利渠道: 其中一些可能相对无害 , 而另一些则可能会对您的玩家和业务产生负面影响 。
因此 , 制定正确的反滥用策略并根据目标迅速采取行动非常重要 。虽然目前还没有方案能够完美解决游戏的安全问题 , 不过我们建议大家在规划整体战略时 , 不妨参考以下推荐的 Google Play 工具和服务 , 为您的游戏和玩家带去更强大的安全防护 。
完整性
对游戏和玩家的攻击通常来自不受信任的环境 , 例如修改后的 APK、模拟器、遭到入侵或者获得 root 权限的设备 。尽管这些环境本身可能并无害 , 但是通过检测它们 , 您便可以依据自身的目标为游戏选择最佳的应对方案 。例如 , 阻止盗版者体验付费游戏;或者 , 如果是免费网络游戏 , 您可能会想把所有疑似使用模拟器的玩家全部转移到同一个服务器上 。Google Play 提供了许多适用于网络游戏的 API , 让您能够更加轻松地发现滥用问题并采取正确的应对措施 。此外 , Google Play 还新推出了一款自动完整性保护的开发者预览版工具 , 以减少单机/网络游戏的二次打包问题 。
在服务器端手动检查完整性
Google Play 应用许可服务能够确保玩家使用从 Google Play 安装的未经修改的二进制文件 。SafetyNet attestation 则可用于评估运行设备的状态 。
用户:如何保护您的游戏和用户?避免盗版横行?
文章图片

文章图片

开发者可将这些检查集成到一项或多项关键操作 (如启动、登录、匹配、购买等) 上 , 以便能够在由服务器驱动的网络游戏内顺利运行这些检查 。如果在客户端执行检查却不与关键操作进行绑定 , 将很容易被攻击者移除 。建议各位开发者按照下列步骤 , 将检查逐步集成到游戏中:
生成 Nonce: 在您的服务器上生成一个 Nonce 以启动检查 。Nonce 是您为各项检查附加的唯一随机字符串 , 它可确保攻击者难以在重放攻击中复制一个正响应 。请尽量使用特定于请求的信息 (如用户 ID 的哈希值) , 以确保不会重复使用同一个 Nonce;
请求响应: 请将生成的 Nonce 附加到游戏检查中 , 并调用应用许可和 SafetyNet API 。您必须使用 API 密钥才能集成 SafetyNet , 且每天的默认请求配额为 10,000 次 。如果您的应用需要增加配额 , 请提出请求;
接收响应: API 与 Google 服务器进行通信时 , Google 服务器通过返回一个响应 , 告知您当前用户是否从 Google Play 获得应用许可 , 以及设备是否为通过兼容性测试的 Android 实体设备 。为避免过度调用 , SafetyNet 有时会出现响应超时的情况 , 因此 , 还请您针对该意外情况进行规划并做好相应的准备;
传输响应: 您的游戏会将 Google 响应和 Nonce 一同发送回您的服务器上 。请务必在服务器端执行验证流程 , 使攻击者更难从游戏中移除检查;
评估响应: 您的服务器应确保所有内容有效 , 包括 Nonce、应用包名称及哈希值、时间戳 , 然后再根据 Google 的响应对许可与设备进行评估 。例如 , 若用户拥有有效许可且设备可信 , 则允许用户继续游戏 。
想知道这些 API 在游戏中的实战表现吗?可以到腾讯视频平台搜索''Google Play 如何保证游戏完整性''聆听来自 Ravio 和 Supercell 的精彩案例分享 。
用户:如何保护您的游戏和用户?避免盗版横行?
文章图片

文章图片

Ravio 利用上述 API 优化了《愤怒的小鸟 2》玩家排行榜;Supercell 则在《荒野乱斗》beta 版发布前大幅削减了非授权玩家的数量 。


推荐阅读