产品选择
圣天诺为开发商提供了多种方案选项,从硬锁系列、软锁(软授权)到云端授权,开发商可根据产品设计的需要、场景的需要或用户的偏好,选择理想的保护、授权方案。
以下是常见的选择偏好类型:
-
适合选择硬锁的场景:在离线环境下,希望即插即用,且不受系统重装或硬件更换的影响;希望为自己的软件产品配一把实体硬件锁;或者配合一把带有时钟芯片的保护锁,可以精准控制软件运行时间等场景。
-
适合选择软授权的场景:在虚拟化、容器化环境下部署的软件;希望将软件与特定硬件设备绑定运行;没有USB接口的设备;用于拓展海外业务(最终用户不喜欢硬锁);希望更便于进行许可的设置和管理的;不希望产生硬件库存管理或邮寄成本的;希望避免疫情期间硬锁无法及时交付给用户等情况。
-
适合选择云授权的场景:在线+离线混合应用场景的;需要在线验证许可,同时需要频繁离线使用的场景;需要部署在容器化、虚拟化、公有云或私有云环境下的场景;希望用户端可以随时、随地的跨设备使用软件;相对会比较频繁出现系统重装或硬件更换的场景(无需软件许可迁移工作);希望管理员可通过基于web页面对用户身份进行一系列权限管理操作的场景;希望可以实时了解产品使用情况等场景。
一般应用程序加密方案
将加密代码写入到源程序代码中,即为内嵌式加密。内嵌式加密将加密代码与源程序代码有效的融为一体,使得代码看起来更加复杂,从而增加了破解的难度。所以,内嵌式加密是我们较为推荐的加密方式。您可以选择如下的加密流程:
- 查找加密狗是否存在
- 由系统产生随机数X,以此作为一次性校验因子
- 将随机数分为两路:一路与用户输入的key值运算,得到校验值;另一路发送给加密狗,通过芯片中的写入数据得到返回值。
- 比较校验值与返回值,当两值相等时继续程序,否则退出程序
上述方案为加密狗的基础性加密流程,当然用户可以利用加密狗的二次开发区实施灵活的加密方案。
二次开发区应用推荐
利用二次开发区不仅可以实现简单的数据、字符读写功能,也可以实现多方案的商业级销售模式。 分模块销售:将软件按功能分成多个模块,设置各模块密码并写入加密狗存储区,当访问此功能模块时需输入正确的对应密码。 租赁式销售:金盾加密狗芯片中自带Counter接口函数,每次调用自动减一,可以实现软件的限次功能,以及远程解除期限。对于功能强大的硬件时钟锁,利用接口函数,可以严格的控制软件使用的时间,尤其适合考试系统等对时间有严格限制的软件。
加密建议
信息加密并不仅仅在于如何使用!更在于如何进行加密?我们可能无法理解并学习加密源码,但是我们可以理解并熟练运用加密程序的各种技巧!素志科技加密狗整理了一些加密狗在使用过程中的技巧分享给大家!
- 在很少使用的代码中调用加密锁。那么看似已破译的程序就会经常发生异常现象。
- 根据时间调用加密锁。如:上午调用的数据下午(或隔日)使用。破译者为了分析这种数据就要花一天或几天的时间。这就可以拖跨破译者。
- 加密锁返回值使用后立即删除。
- 将加密锁返回值作为数组的索引、常量、计算单元和校验码。
- 将加密锁返回值作为指针来控制程序执行或作为在不同表中跳转的索引。
- 使用加密锁返回值来加密或解密部分代码或数据。
- 如果发现加密锁返回值错误,不要显示出错信息。
- 加密锁校验函数不一定要定义为一个单独函数,而可以定义成若干个小函数分散使用。
- 检查程序代码的校验和,以防非法修改。
- 以各种不同的随机访问掩护真实的加密锁访问。对随机询问的答复进行处理,但不真正使用它。
参考文档
thalesgroup
秦志科技
常见问题
解决方案
了解加密狗
软件保护方案
初识软授权
关于软授权