License设计

What is License Management


      License是对软件使用的许可,可分为资源型和功能性许可。

      资源型License

                对软件使用数量,内存,容量,期限等使用资源的限制或许可。

      功能型License

                对软件的功能列表的限制或许可。

Design Principles 设计原则


       (1) License的许可规则不可篡

       (2)许可必须与机器绑定,一份许可对应一台机器

算法设计要点


      (1)针对License的许可规则不可篡改

        非对称算法的私钥加密后的数据不可被篡改,例如RSA的私钥加密。一般用法是用私钥加密,公钥验签。但是公钥的作用不只是验签,它也可以解密私钥加密后的数据,得到明文。许可规则被加密后,私钥保存在商家,加密后的许可规则与公钥放在一起,使用时用公钥解密,获取许可规则供被许可的程序使用。

        上述方式也有漏洞,既然公钥和加密的许可规则在一块,那么用户完全可以用公钥解密,获取到许可规则明文,再修改许可规则,最后用用户自己的密钥对替换掉原先的许可规则,完成偷天换日。针对该漏洞,程序可用不可逆加密算法,例如SHA,将许可规则加密后的密文,写死在程序中,仅有通过验证的许可规则,方可被程序使用。(该方式虽然安全,但不能响应许可规则的变更)

      (2)激活机制可以实现许可与机器的绑定。例如首先用对称算法加密许可规则,加密的许可规则不可直接使用;采取机器的MAC,CPU等信息生成特征码,然后用特征码与商家的密钥根据特定算法生成激活码;最后通过激活码激活程序。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值