smart-license 是一款用于安全加固的开源项目。 主要服务于非开源产品、商业软件、具备试用功能的付费软件等,为软件提供授权制的使用方式。
名词解释:
- License:通过 smart-license 生成的授权文件,导/ 6 g k X A入至要授权使用的软件产品中。
- 源数据:需要进行 License 加工处理的基础数据。例如,将软件产品运行的配置文件作为源数据,经由 smart-license 授权处理后生成 License 文件。
- License源文件:生成 Lo k ] &icense 的同时,会自动产生一份文件用于记录:源数据,授权时间,过期时间,秘钥对等信息。由软件授权方持有,当客户遗失 LiceY g u M Xnse 文件之后可以根据License源文件重新生成 License。
更新U . k = a 4 说明:
虽然通过 smart-license 生成的 License 具备防篡改的能力, 但对于有着一定技术功底的用户,依旧可以采用某些手段获得 License 的源数据, 再通过Q c % smart-license 伪造一份\"合法\"的 License 。
为此需要提供一种安全加固策略,防止某些不怀好意的人过于轻松的突破 License 的安全防线。
加固的原理如下图所示,生成License阶段采用非对称加密方式对源数据进行预处理。 而在程序运行时从License中提取到的是密文形式的源数据,需要通过公钥解密还原真实内容。
软件提供商大可将公钥硬编码至程序中,即便通过反编译获| I 4 ; F I得公钥,也无法以此伪造 License。 再则可在程序% f E g C s [ ,中引- , M p i / 1 M入代码混淆机制,增加反编译的破解难度,强化= - 1 +软件的安全系数。
适用场景:
- 非开源产品、商业软件、收费软件。
- 限制产品的传播性,每个客户拥有专属 License。
- 同一款软件发. Z c ( e 4 G行包根据 License 的不同提供不同的服务能力。
- 限定软件授权时效
产品特色:
- 开源,代码完全公开,License的生成原理是透明的。
- 易用,提供二进制包,直接基于命令行生成 License。3 H o 0 t k ]
- 安全,生成的 License 在一定程度上具备防篡改能力 9 D,破解难度大。
- 安全加固A L F 2,采用非对称加密方式对 License源V 3 x P ] I S数据4 k G j V F进行预处理,防止伪造License。
本文系本站编辑转载,文章版权归原作者所有,内容为作者个人观点,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请与本站联系,本站将在第一时间删除内容!