android – 这个Google LVL策略实施是否合理安全?

Google在License Verification Library中提供的默认ServerManagedPolicy依赖于服务器响应来确定许可证重新验证间隔.这导致需要永久重新验证每隔几天.这不仅仅是用户的烦恼,对于长时间没有连接的用户来说,这是一个严重的问题. (我们刚刚收到了一个希望在几周内没有Internet连接的用户的询问,这是什么促使了这个问题.)

总而言之,我正在寻找一个可以完成两件事情的算法:

>与ServerManagedPolicy相比,大大降低了连接性要求;
>提供相同水平的反盗版保护.

this question的答案中,建议的策略算法是忽略Google服务器响应中提供的时间,而不是使用大约一个月的许可有效期,每隔几天尝试许可证检查(延长到期期限,如果获得许可的答复).

虽然这种方法部分解决了第一个目标,但仍然要求用户在使用应用程序时每个月连接一次,因此对于(至少其中一个)用户来说,它不起作用.

以下算法实现了第一个目标,但我不知道第二个目标.任何意见都指出了该算法的缺点,或者针对另一种方法提出的建议.

>首次运行时,执行许可证检查,并在提供完整功能之前坚持许可回复.一旦收到,设置相对较短的到期期限(但比Google Play提供的退款期限长,目前为15分钟).还要注册几天之内的宽限期.
>应用程序将在许可证到期后重新开始检查.如果连接失败(飞机模式等),它仍然可以运行,直到宽限期到期.
>宽限期结束后,在允许正常应用程序运行之前,坚持第二个许可回应.
>在收到第二个许可的响应后,永久启用应用程序的所有功能,并且再也不打扰.
>如果在任何时候收到未经许可的回复,则永久禁用所有功能. (当然,用户可以通过删除所有应用数据来恢复到步骤1).

附加要点:

>有人建议放弃第一次许可证检查,并在执行许可证检查之前等待返回期限到期.坚持第一个许可答复的目的是为了防止漏洞利用,在许可证检查失败后,用户只需停止应用程序进程,清除应用程序数据并重新启动应用程序. (该应用程序提供价值,即使一次只能使用15分钟.)
>坚持第二个许可答复的目的是绕过买回运行备份 – 恢复恢复漏洞.
>我不是问是否回拨许可证检查是一个好主意(这是Google提供的代替他们弃用的复制保护机制).我也很清楚,没有反盗版保护是万无一失的,Google的整个授权机制可以被规避(在这种情况下,所有关于策略算法设计的问题都是无关紧要的).这个问题的要点是与其他策略(如ServerManagedPolicy)相比,上述算法的相对风险(给我们)和利益(给用户).

在盗版方面,总会有风险,没有任何事情会完全阻止.

与其他风险相反,您可能会因使用无法使用的应用程式来挫折您的客户.

我会期待很多不满意的客户的0 *评论,甚至不能使用他们付款的应用程序,因为它被禁用,而免费获得该应用程序的人可能没有中断.这就像购买DVD并让你的脸充满了版权警告,当海盗接收到不间断的观看.

购买应用程序时,我会坚持获得许可的响应,而不用第二次响应.如果有人可以绕过一个回应,他们会发现他们在第二个.

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

http://stackoverflow.com/questions/11693100/would-this-google-lvl-policy-implementation-be-reasonably-secure

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:android – 这个Google LVL策略实施是否合理安全?