Java 应用内计费验证

Java 应用内计费验证,java,android,security,Java,Android,Security,我正在尝试向我的应用添加应用内订阅,如果我正确理解谷歌的指导原则,验证应用内购买的正确方法如下: 我的应用程序从谷歌的计费API查询活动订阅 我的应用将活动订阅详细信息发送到我的服务器 我的服务器将详细信息发送给谷歌,谷歌会回复这些信息是否有效 我的服务器会回复我的应用程序,告知详细信息是否有效 我的应用程序现在知道用户是否合法订阅 我对网络安全不是很熟悉,但这个过程显然是安全的,因为另一种方法是仅在应用程序中验证订阅,攻击者可以对其进行反向工程并找出背后的逻辑。但我看不出从服务器接收“是/否”

我正在尝试向我的应用添加应用内订阅,如果我正确理解谷歌的指导原则,验证应用内购买的正确方法如下:

  • 我的应用程序从谷歌的计费API查询活动订阅
  • 我的应用将活动订阅详细信息发送到我的服务器
  • 我的服务器将详细信息发送给谷歌,谷歌会回复这些信息是否有效
  • 我的服务器会回复我的应用程序,告知详细信息是否有效
  • 我的应用程序现在知道用户是否合法订阅

  • 我对网络安全不是很熟悉,但这个过程显然是安全的,因为另一种方法是仅在应用程序中验证订阅,攻击者可以对其进行反向工程并找出背后的逻辑。但我看不出从服务器接收“是/否”响应如何更好。如果攻击者愿意,他们不能欺骗我的服务器的响应吗?或者至少修改解释“是/否”响应的代码?

    简短的回答是,你是对的,他们可以。移动应用程序中的任何功能都可供其用户使用,而无需考虑应用程序中的任何保护。这可能不是那么简单,但最终情况就是这样。