使用服务器请求防止 Android 盗版 [英] Android piracy prevention with server requests

查看:28
本文介绍了使用服务器请求防止 Android 盗版的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个需要服务器来完成大部分繁重工作的应用程序.我想防止盗版客户端向该服务器发送请求.有没有办法在请求中发送一些标识符,以便我的服务器可以询问 Android Market 是否有具有该 ID 的人实际购买了该应用程序?我该怎么做?

I'm working on an application that requires a server to do most of the heavy lifting. I want to prevent pirated clients from sending requests to that server. Is there a way to send some identifier with the requests so that my server can ask the Android Market if someone with that id actually bought the app? How would I go about doing that?

请注意,仅使用 LVL 保护应用程序是行不通的,因为人们可以相当轻松地编写应用程序与服务器交互,并且仍然提供与付费应用程序相同的功能.

Note that just protecting the app with LVL won't work, because people could fairly easily write an application to interface with the server and still provide the same functionality as the paid app.

推荐答案

第一:在不受您控制的设备(例如 Android 设备)上运行的任何内容都没有 100% 的安全性.

您可以通过多种措施使滥用"更难:

You could make "abuse" harder by several measures:

  • 在有时间限制的成功登录后发出随机会话密钥(加密安全),因此需要在经过一定时间后重新登录
  • 为每次使用后立即失效的每个通信步骤发出一个随机交互密钥(加密安全)
  • 当成功登录发生时,终止与在该登录之前可能处于活动状态的相同凭据关联的任何其他会话
  • 节流"用法,即限制每分钟/小时或类似情况下允许的调用次数(根据具体应用可能无法实现)

如果您真的想让它变得非常困难,您可以颁发特定于设备的客户端证书(当客户端购买您的应用程序时)并使用基于证书的客户端身份验证(在 SSL 标准中定义) - 您可以使证书无效与该设备相关联,如果您发现其他设备的合法用户没有受到任何伤害...

IF you really really want to make it very hard you can issue a device-specific client-certificate (when the client buys your app) and use cert-based client authentication (defined in SSL standard) - you can invalidate the cert associated with the device if you see abuse without harm for the legitimate users of other devices...

这篇关于使用服务器请求防止 Android 盗版的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆