我今天听到有人就他们正在销售以防止应用程序盗版的框架进行营销宣传(我知道,你不能)。这是高级概述:
注册过程:
手机使用服务器的公钥加密:手机的 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
从服务器接收到的数字匹配,则激活成功。
我对密码学知之甚少,但这对我来说就像传统的公钥密码学。这种方法有多合理,或者更确切地说,攻击者要破解它有多困难?而且,传统的基于桌面的软件是否使用更复杂的方法?