更新时间:2017-2-26

作为以盈利为目的游戏,安全设计极为重要,虽然开发者利用了大量客户端加密、通讯加密方法加密游戏逻辑和协议,但在集成第三方SDK过程中往往会疏忽安全设计。此文将介绍开发商在接入TypeSDK过程中所需要注意的安全设计。

可能存在的风险


  1. 客户端被破解修改。
  2. 手机内存被修改。
  3. 网络通讯被劫持修改。

可信区域和不可信区域


可信区域:游戏服务端 不可信区域:游戏客户端、渠道服务器、TypeSDK服务器

可信区域.png

客户端


  1. 用户登录 完成登录后作为由第三方客户端直接返回的结果数据,存在被串改的可能,故不可直接使用,需要进行验证。

  2. 支付 完成支付后TypeSDK通常会进行支付结果回调(部分渠道不提供回调,不可依赖客户端回调进行刷新数据逻辑,否则可能出现流程卡死),但回调仅表示支付完成,不能做为支付成功结果依据。返回结果也可能被篡改。需要等待游戏服务器接受到支付成功回调后才能确认。

服务端


  1. 用户登录验证 客户端提供的用户信息可能被篡改,需要通过TypeSDK服务器对登录token进行验证,因为是同步请求,并且有签名校验,游戏服务端可用相信验证返回获取用户信息。

  2. 支付结果回调 在支付成功后TypeSDK服务端将支付结果回调给游戏服务器,虽然TypeSDK服务端会进行渠道签名、金额验证核对,但游戏服务器可能收到伪造的TypeSDK回调,故游戏服务器需要利用TypeSDK服务端提供的验证接口进行订单核实,并再次核对金额。