宏狗、圣天狗、Rockey6、HASP加密锁性能体验与分析

这几款加密锁都具备执行内嵌代码的能力,似乎安全性都很高。本文以质疑的态度对它们的性能加以分析。 

一、硬件反克隆能力

1. 宏狗

1.1 安全数据通道

没有内嵌类似RSA这样的公钥加密算法,因此,无法建立和计算机之间高安全级别的数据通道。可以认为,宏狗和计算机之间的交换的数据从技术上是可以被截获并解密的。

结论-1 宏狗数据通道安全性不高。

1.2 执行内嵌代码

Safenet称用户自定义算法可以写入宏狗,也可以被删除,但是无法读出来。不过我认为,这种“禁读”的保护措施是纯软件实现的。原因很简单,自定义算法和和数据文件一样保存在物理可读写存储区。既然数据文件可读,算法文件一定也可以读。

结论-2 用户自定义算法有可能以纯软件的方法复制出来。

2. 圣天狗

2.1 安全数据通道

圣天狗支持内嵌ECC公钥加密算法,可以建立和计算机之间的高安全级别数据通道。

2.2 执行内嵌代码

用户可以调用圣天狗内嵌的ECC和AES算法。

结论-3 圣天狗的数据通道是可靠的。

由于密钥可以自己定义,带来了一个安全漏洞。原因和宏狗一样,因为密钥保存在物理可读的存储区,尽管Safenet似乎没有提供任何读取密钥的软件接口。

结论-4 圣天狗用户自定义ECC算法密钥、AES算法密钥可以用软件方法复制。

结论-5 由于ECC和AES算法是公开的,除非圣天狗对ECC和AES算法进行了某种变形,否则其内嵌ECC和AES算法有可能用软件方法克隆。

3. Rockey6

3.1 安全数据通道

Rockey6支持RSA算法,可以建立安全数据通道。

结论-6 Rockey6可以建立安全数据通道。

3.2 执行内嵌代码

Rockey6可以内嵌用户自定义算法,在自定义算法中可以调用加密锁内嵌加密算法,原理上可以提供很好的软件加密保障。但实际上,由于算法文件、密钥与普通数据文件一样存放在物理可读存储区,因此,存在用纯软件方法破解的可能性。

另外Rockey6采用C51单片机编程语言,用第三方编译器编译,一旦破解者得到算法文件,有可能人工反编译算法文件。

结论-7 Rockey6内嵌式代码机制有可能用软件方法克隆。

4. Hasp

4.1 安全数据通道

Hasp不支持内嵌公钥加密算法,不能建立安全数据通道。

结论-8 Hasp数据通道不安全。

4.2 执行内嵌代码

Hasp支持内嵌AES算法,算法密钥保存在加密锁内,计算机无法对其修改和读取。因此,Hasp的AES算法机制安全性比较高。

结论-9 Hasp内嵌式加密算法无法用软件方式克隆,除非能够读出其密钥。

另外,Hasp还提供了一款“软”形式的加密锁,通过授权可以和硬件锁完全等价。这一方面给开发商带来了便利,另一方面,有可能泄露开发商的加密密钥。

结论-10 Hasp的SL“软”加密锁可能泄露AES密钥,如果用户需要发行基于SL的试用件,最好另购和正式发行的HL硬加密锁不一样开发商代码的开法套装。

 

二、软件系统性能

 

前面讨论的硬件锁在防止“克隆”方面的差异。不过,克隆硬件的代价一般会很高。下面我们排出硬件系统被“克隆”的可能性,下面分析软件系统的性能。

1. 宏狗

提供内嵌式自定义算法,但是,内嵌式算法不能访问加密锁内的数据文件,无法制作安全的试用或租用加密算法。但作为一次性发行的加密软够用了。

可恶的是,宏狗的自定义算法一直都存在BUG,尽管经历过一次硬件升级,消除了部分BUG,但是长整型乘法运算仍然经常出现计算错误(计算结果和Intel CPU不一样)。

2. 圣天狗

不支持自定义算法,但是提供了ECC和AES内嵌是算法。实际上,这种机制从数学的角度来看,可以等价于内嵌式自定义算法,我会另外写一篇文章来论述这个话题。

ECC和AES算法可以被设置某种授权限制,例如使用次数和试用期等。因为使用次数和试用期的判断是在加密锁内部进行的,从软件角度来讲,这个机制相当不错,因为破解者无法在计算机内存看到相关代码。

圣天狗软件系统不是很容易理解,用户文档也不够清晰,总起来讲熟悉以后还是不错的。但是,让人不满意的是软件加壳后,启动速度巨慢,一般的延迟数秒钟。

3. Rockey6

产品设计思路不错,甚至没提供外壳加密程序。从理论上讲,性能良好的内嵌式算法的确不需要外壳的保护。

内嵌式自定义算法可以访问加密锁内的其它数据文件,也可以调用内嵌的加密算法,这是很棒的功能。

不过,整个配套软件系统的设计似乎是硬件开发人员策划的,硬件技术色彩很浓,抽象程度远远不够。程序的远程升级机制相比宏狗和圣天狗,也有些不足。比如,软件死锁后可能无法远程维护。

Rockey6的软件系统是个拼盘,系统设计没有跳出底层硬件的层次,向软件开发人员提供更高层次的开发接口。自定义算法采用第三方编译系统。

4. Hasp

Hasp提供了一套软件公司开发、生产、销售管理的网络版软件,有规模的软件公司用起来应该不错,可以有效对整个软件的开发、销售进行监管。对于个人用户来讲,这样的功能有显得有些复杂化。好在,这个软件不算很复杂。

Hasp支持内嵌AES算法,而且可以对AES算法进行使用次数、时间等限制,可以设计安全的试用或租用功能。

感觉Hasp定位比较明确,在满足加密需求的前提下,没有去做多余的功能。其实许多功能可以由软件开发商自己来做,加密锁成家需要提供一个可靠的基础就够了。就此而论,Hasp做的相当好。

三、关于内嵌式自定义算法和内嵌式AES算法的等价性

最初接触的是宏狗,感觉内嵌式自定义算法是一个很好的概念,后来又用了Rockey6,感觉也很不错。但是,二者的硬件安全问题始终让我放心不下。

后来看到圣天狗和Hasp都采用定义API特性的方法运行应用程序调用加密锁内嵌的AES等加密算法,感觉这种机制从硬件上是安全的,而且方便开发试用/租用产品。

圣天狗对内嵌式加密算法如何用于实际加密工作,提出的查询/响应机制。其实,这个概念容易误导程序员,让大家以为这类加密锁只能建立在查询/响应的机制之上。

事实上,内嵌式加密算法机制和内嵌式自定义算法机制,从数学的决渎来看是等价的。利用圣天狗和Hasp提供的AES加密功能完全可以做出和宏狗、Rockey6在软件级别上一样可靠的“自定义算法”,而在硬件级别上,安全性则远远超过宏狗和Safenet.

关于加密算法和自定义算法等价性的探讨,我会另写文章介绍。

 

结论

 

如果您问我会选择哪款产品,我可以说出我的判断。我曾经用过圣天狗、Rockey6,目前正在用宏狗(使用量还很大)。未来的软件产品,出于理想主义情节,我可能会选择Hasp。

原因很简单,Hasp的AES加密密钥是安全的,无法由计算机读出(根据目前了解的资料推断)。具备内嵌式AES算法,可以做出安全的“自定义算法”。

当然,如果选择Hasp的话,最好不去用它的SL“软”加密锁,因为这会泄露您的加秘密钥。

 

圣天狗我不满意的地方是用户自定义密钥机制卡能导致密钥泄露(基于目前掌握资料),如果Safenet在圣天狗内部算法是用ECC和AES之后又作了某种变形,比如说没有直接用用户自定义密钥加密,它的安全性就应该与Hasp一样好。

 

 宏狗是个很不错的产品,软件系统设计非常合理,包括远程升级维护。我们目前一直在用这款产品。毕竟价钱比圣天狗和Hasp都便宜很多,而且克隆宏狗硬件代价也是巨高的。以后在公司的中低端产品上肯定会继续使用宏狗的。

 

Rockey6设计理念相当不错,可惜在产品设计方面我觉得比较失败。缺乏合理的配套软件系统,产品外形也给人一个次品的感觉,感觉有些可惜了。其实其硬件机制,基本的设计思路都是可取的,把水烧到99度,就差最后一度了,难道没有燃料了?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许野平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值