我听说今天有人就他们出售的框架进行营销宣传,以防止应用程序盗版(我知道,你做不到)。以下是高级概述:
注册流程:
使用服务器的公钥对手机进行加密:手机的IMEI号码和安装的应用程序的唯一ID(由应用程序开发人员分配)到服务器,即
Reg_request = Encrypt(Server_PublicKey, (IMEI||AppID))
服务使用解密函数及其自己的私钥解密Reg_request
以提取IMEI和AppID
serial number
IMEI||AppID
serial number
,然后将其发送给用户。serial number
。IMEI||AppID
传递给自己的哈希函数以获取临时验证序列号。 serial number
匹配,则激活成功。我对加密知之甚少,但这看起来像传统的公钥密码术。这种方法有多健全,或者说攻击者为了打破这种方式有多困难?传统的基于桌面的软件是否使用更复杂的方法?
答案 0 :(得分:3)
您描述的方案没有什么特别之处,事实上,如果您用HTTPS之类的东西替换所有公钥加密,语义就不会发生变化。
我的猜测是,这是经典案例的一个实例,其中管理人员指示开发人员将加密技术添加到产品中以使其更安全,或者仅仅因为它听起来很酷,但他们都不熟悉加密技术。
答案 1 :(得分:1)
非对称加密在许可证密钥生成方面至少有一个优势。私钥可用于加密许可证数据并生成许可证密钥,而公钥用于验证许可证数据。私钥将保密,仅由许可证生成器或许可证激活服务使用。使用这种方法,为那些试图篡改你的应用程序的人创建“密钥生成器”并不容易。
最后,人们应该明白,创建一个可以完全防止盗版的方案是非常困难的(如果不是不可能的话)。您只能阻止最终用户执行“随意盗版”。