选型及加密指南

选型及加密指南

一个加密锁的安全性主要由以下二项指标决定:

1、  防xx能力

2、  防复制能力

一:防xx能力:

现在常用的加密锁分两类,一类是在程序中使用验证的方式(可以是算法或数据验证的方式,也可以是直接验证,或间接验证的方式)检查是否存在加密锁,我们这里统称为验证型加密锁。另一种是将程序的部分代码放到锁中,在锁中运行,没有锁,就相当于程序少了部分代码,从而达到防止xx的目前的,我们这里统称为代码型加密锁。

A、验证型加密锁:

验证型加密锁开发相对容易,但加密强度一般,价钱相对较低。

验证型加密锁要增加加密强度主要就是防止程序被反编译,以防止黑客将程序中验证部分的代码跳过,要防止程序被反编译,就要对程序进行加壳或混淆,所以对于验证型加密锁,加密强度采决于壳或混淆的强度。

壳有两种方式,一种是虚拟壳,一种是整体壳。虚拟壳的安全性更高,因为代码被虚拟了,所以相对不容易被解。

验证型加密锁如何有效地加强防xx?

1、源代码加密,在源代码加密中可以使用直接验证加密锁及间接验证的方式结合使用。

2、在源代码加密时{zh0}是使用算法验证及数据验证相结合的方式,而不是简单的数据验证。

3、除了源代码加密外,建议再加壳。

4、加壳时建议使用带虚拟机的壳,我们的外壳加密工具10都有虚拟机这个选项,建议选中

5、加密shou段越多,被xx的可能性就越小,别人xx的难道就越大,xx的时间就越长,成本就越高,只要使得别人xx的成本要远远大于购一个软件或自己写一个软件的成本就足够了。

 

B、代码型加密锁:

代码型加密锁开发相对复杂,因为要做代码的移值工作,要将程序中的部分代码移到锁中运行,但加密强度高,价钱相对较高。

代码型加密锁,加密强度采决于有效的代移值码量。有效就是指在锁中运行的代码本身就是程序中的一部分,而不是代码在锁中运算后,再在程序中进行验证这样的代码,是能与程序有效结合的代码。在锁中运行的代码越多,越复杂,就越难xx或不能xx。由于加密锁的CPU的运算速度远小于电脑的CPU及加密锁的内存也远小于电脑的内存,且加密锁的CPU与电脑的CPU是相互独立的,加密锁的不能直接操作电脑的CPU及内存,所以并不是所有的代码都可以移值到加密锁中。

要衡量代码型加密锁的性能,取决于加密锁中的指令(即可以移值的代码)及可以移值的代码量。

 对于加密锁指令(即可以移值的代码),指令越多,就能使用得更多的程序代码可以移值到锁中(因为前面提到,不是所有的程序中的所有代码都可以移值到锁中在锁中运行)。例如我们的经济易用型(UEL-1M),只有有限的指令集:赋值,移位,与、或及异或运算,只能操作字节;专业型(UPL-E)除了赋值,移位,与、或及异或运算外,还增加了加,减运算。而下载型智能锁(DSMART),支持所有的字符操作及数学运算操作,可以操作任意数据。最强大的32位智能锁(UPL-32C/R)及易用型智能锁(UPL-8)除了支持所有的字符操作及数学运算操作,还可以在锁中调用外部程序的函数及外部DLL及外部控件,这样就使得代码的移值工作更容易,更有效地与程序结合起来,安全性越高。

对于可以移值的代码量,除了下载型智能锁(DSMART)由于使用的是将代码直接下载到锁中,是固定的,所有代码量是有限制的,目前最多只能是{zd0}可以下载24K的代码到锁中。其它型号的代码型加密锁都是使用动态的方式,在需要的时候动态地加装,在不需要的时候动态地卸载,所以代码量不受限制,是可以无限的。

代码型加密锁如何有效地加强防xx?

1、尽量地将程序中的部分代码移到锁中运行,在锁中运行的代码越多,越复杂就越安全。

2、在锁中运行的代码尽量不要返回固定的数据,{zh0}是随着输入变量的不同,返回不同的结果的代码。

3、如果程序可以移值到锁中的代码不多,可以使用在锁中运行部分自定义算法进行对变量加密,然后在程序中将变量进行加密,然后再加壳或混淆。

4、建议加壳或混淆

5、加密shou段越多,被xx的可能性就越小,别人xx的难道就越大,xx的时间就越长,成本就越高,只要使得别人xx的成本要远远大于购一个软件或自己写一个软件的成本就足够了。

另一个重要的衡量一个加密锁的性的重要指标是,当软件被xx后的后续解决方案,即加密锁是否具备二次防xx能力

由于软件开发商大多都不太具备专业的加密知识,一般专注于软件的开发,所以可能花在加密上面的时间不太多,所以即便是好的加密锁,如果使用不当,也容易出现被xx的可能。那程序被xx后,能否有效地在新的升级版本防止盗版用户继续使用新的升级软件,是一个很重要的指标。如果新的升级版本,可以使用得正版用户不受影响,而盗版用户不能再使用新的升级版本,这样那些盗版用户就会有潜在成为正版用户的可能,从而更大的保护及增加开发商的利益。

我们的32位智能锁(UPL-32R/C),易用版智能锁UPL-8及下载型智能锁(DSAMRT), 经济易用型(UEL-1M)及专业型(UPL-E)代码型加密锁都有这样的二次防xx能力。当旧版程序由于加密不当被xx后,开发商只需要使用相同的密钥,重新生成新的加密单元,重新进行正确的加密,这样新加密后的程序,原正版用户可以正常使用,而盗版用户不能使用,这样当盗版用户有升级的要求时,而原有的使用习惯不能改变时就会有升级正版的可能。

防复制能力:

复制又分软复制及硬复制。

1、软复制:

软复制是指黑客得到了用户设置在加密锁的相关数据,然后在软件开发商中采购相同型号的空白锁,将原来的数据设置到锁中。黑客是如何得到用户设置在加密锁的相关数据呢?

黑客主要是通用对程序进行xx或使用数据拦截等技术得到加密锁的相关数据。如果用户加密不当,就很容易被复制。例如用户只是简单地将某一数据设置到锁的数据区中,然后读出进行判断。这样黑客就可以很轻易地使用拦截技术(因为将加密锁的数据返回到程序中要经过很多中间层,任何一层进行拦载都可以)得到程序想要的数据。

 

如何有效地防止被软复制:

1、 对于YT699加密锁,因为他只有一个增强算法,所以要防止软复制,就要对程序加壳或混淆,加壳时建议选中虚拟机。

2、对于YT88加密锁,只要设置好普通算法,同时设置增强算法一及增强算法二,就可以有效地防止加密锁被模拟。普通算法及增强算法密钥{zh0}不要太简单,因为如果太简单的话,就容易被别人猜出。

3、对于其它型号来说,只要密钥不要太简单,密钥不让别人猜出的话,黑客就不能进行软复制。

 

2、硬复制:

硬复制是指直接在硬件上克隆一个xx相同的锁。

1、除了32位智能锁(UPL-32C/R)及易用型智能锁(UPL-8)外,所有的型号的锁都不能防止被硬复制,原因是:随着科技的不断进步,现在的科技连人的胚胎都可以复制,原子都可以移动,何况这些是人大量生产出来的东西,主要是看复制的成本。我们的32位智能锁(UPL-32C/R)及易用型智能锁(UPL-8)不是不能复制,而是复制后不能使用,主要是他的工作原理不一样,采用了独有的防克隆技术。

2、对于其它型号,智能芯片要比普通单片机的防复制能力要强很多,即复制成本要比单机片的强很多或目前阶段不能硬复制,我们的智能锁芯片系列加密锁安全级别达EAL4+,所以如果价钱可以接受的话,推荐使用智能芯片的型号,我们所有的系列型号的锁都有智能芯片可选。

 

 

郑重声明:资讯 【选型及加密指南】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——