这个Google LVL政策实施是否合理安全?

问题描述 投票:15回答:1

Google在其ServerManagedPolicy中提供的默认License Verification Library依赖于服务器响应来确定许可证重新验证间隔。这导致需要每隔几天重新确认一次,永久性。这不仅对用户造成麻烦,对于长时间没有连接的用户来说,这可能是一个严重的问题。 (我们刚刚接到一位用户的询问,该用户预计几周内没有互联网连接,这就是推动这个问题的原因。)

总之,我正在寻找一种能够完成两件事的算法:

  1. ServerManagedPolicy相比,大大降低了连接要求;
  2. 提供相同级别的反盗版保护。

在对this question的回答中,建议的策略算法是忽略来自Google服务器的响应中提供的时间,而是使用大约一个月的许可有效期,每隔几天尝试一次许可检查(如果是,则延长有效期)收到许可的回复)。

虽然这种方法部分地解决了第一个目标,但它仍然要求用户在使用应用程序时每月连接一次,因此它不适用于(至少一个)我们的用户。

以下算法完成了第一个目标,但我不知道第二个目标。任何评论指出该算法的弱点,或建议另一种方法,将是受欢迎的。

  1. 首次运行时,请执行许可检查并在提供完整功能之前坚持许可响应。收到后,设置相对较短的有效期(但比Google Play提供的退款期限长,目前为15分钟)。同时注册一个超过几天的宽限期。
  2. 应用程序将在许可证到期后再次开始检查。如果连接失败(飞行模式等),它将一直有效,直到宽限期到期。
  3. 在宽限期到期后,在允许正常的应用程序运行之前,坚持第二个许可响应。
  4. 收到第二个LICENSED响应后,永久启用应用程序的所有功能,再也不用费心检查。
  5. 如果在任何时候收到UNLICENSED响应,则永久禁用完整功能。 (当然,用户可以通过删除所有应用数据恢复到第1步。)

附加要点:

  • 建议放弃第一次许可检查,并等待返回期限到期,然后再进行许可检查。坚持第一个LICENSED响应的目的是防止利用漏洞,在许可证检查失败后,用户只需停止应用程序进程,清除应用程序数据,然后重新启动应用程序。 (该应用程序即使一次只能使用15分钟也能提供价值。)
  • 坚持第二个LICENSED响应的目的是绕过buy-run-backup-return-restore漏洞。
  • 我不是在问回叫许可证是否是个好主意(这就是谷歌提供的代替他们弃用的复制保护机制)。我也很清楚,没有反盗版保护是万无一失的,谷歌的整个许可机制都可以被规避(在这种情况下,所有关于策略算法设计的问题都是无关紧要的)。这个问题的主要观点是与其他政策(如ServerManagedPolicy)相比,上述算法的相对风险(对我们而言)和对用户的好处。
android algorithm google-play android-lvl access-rights
1个回答
5
投票

在盗版方面,总会有风险,你所做的一切都不会完全阻止它。

与其他风险相反,您可能会使用他们无法使用的应用程序来扰乱您的客户。

我希望从不满意的客户那里得到很多0 *的评论,他们甚至无法使用他们付费的应用程序,因为它已被禁用,而免费获得应用程序的人可能没有中断。当盗版者不间断地观看时,就像购买DVD并让你的脸上充满了版权警告。

购买应用程序时,我会坚持获得许可响应,而不是第二个响应。如果有人可以找到一个响应的方式,他们会发现他们离开了第二个。

编辑:我同意kcoppock购买后20分钟的许可支票会对客户造成最小的干扰并避免您提到的退款错误

© www.soinside.com 2019 - 2024. All rights reserved.