about us

购买加密锁,九条标准请牢记!

发布时间:2020-03-10 16:56:14 访问量:4742

  

加密锁是为软件开发商提供的一种智能型的具有软件保护功能的载体,它包含一个USB硬件设备,及一套适用于各种语言、操作系统的编程接口和工具软件。但是软件厂商在选择加密锁时经常遇到一些问题。

选择加密锁时会遇到哪些问题?

  • 加密锁产品种类繁多。

  • 各大厂商对产品过度吹捧,大肆宣传自家产品亮点。

  • 由于缺乏关键信息,无法正确判断信息的真假。

针对上述问题,我们在这里分享九条参考标准给大家。

01 安全性

选择加密锁初衷是为了保护软件资产,因此安全性是首要关注点。在安全性方面,要考虑三个方面:加密锁芯片、加密工具及配套的安全服务。

安全“心脏”——芯片,选择安全等级高的芯片

市场上的主流加密锁都采用智能卡芯片。而智能卡芯片的安全强度按照等级(CC EAL)划分。CC (Common Criteria) 将评估等级分为EAL1、EAL2、EAL3、EAL4、EAL5、EAL6和EAL7共七个等级,等级越高则表示安全系数越高,等级越低,硬件越容易被克隆。如果您对安全性有要求,那么EAL4以下的加密锁就不要考虑了。如果选择非智能卡的单片机加密锁,更是无法满足软件的安全需求。

安全“宝甲”——加密工具,关注其安全强度

加密工具在软件安全保护的过程中发挥着至关重要的作用。在芯片得到有效防护后,黑客的破解几乎百分之百会从软件入手,虚拟化加壳工具在防止软件工程逆向方面有重要作用,关系到开发商的源代码是否“裸奔”。因此挑选加密锁时,也要格外注意是否有配套的加密工具及其安全性能。这就意味着只提供了一个硬件和几个API的加密锁不需要考虑了。

配套安全服务,考验加密厂商持续对抗能力

安全是相对的,没有永恒的安全,只有持续的破解成本。我们要做的是持续不断的增加黑客的破解成本,让黑客无利可图。在软件发行之后,若出现破解的情况,那么就需要对盗版进行监控追溯,以及进一步提升加密安全性。这中间涉及的工作包括安全评估、设计、方案实施等,任务量巨大。隔行如隔山,软件开发商往往很难自己开发,这时候就非常考验加密厂商技术服务的经验和能力了。

02 方案扩展性

不仅要有加密锁方案,还要考虑是否能兼容云授权和软授权方案

开发商做软件加密,目的是更安全地卖软件,这就意味着开发商和用户之间需要的是一个软件运行的契约,也就是所谓的软件运行许可或授权。从授权管理的角度来看,除了加密锁之外,软件安全方案中还经常使用云授权和软授权的方式(有些客户无法使用硬件锁,或试用软件成本不能接受硬件等场景)。如果您也可能有这方面的需要,那么加密锁厂商能否提供灵活的切换方案也应该考虑。

加密方案的单一性造成的问题

实例:试用版使用软加密版本,正式版使用加密锁版本。由于单个厂商方案扩展性差,需要用到不同厂商的加密方案。硬加密采用了 A 厂商的方案,软加密采用 B 厂商的方案。

后果:加密方案维护两份,产品发布两种版本,代码复杂度也要提升一倍,这对于产品的稳定性是极大的挑战。

03硬件质量

加密锁坏锁率标准:0.05% 以下

选择一款好的加密锁,锁本身的硬件质量一定要过关。某些加密锁用了一段时间就出现断裂,烧坏、读写失败等现象,这都是产品质量不过关的表现。而这些现象给用户带来的影响是“软件无法使用”,也就是影响开发商自己的商誉,从而导致软件开发商的口碑下降,用户流失等。所以大家在选择加密锁时,应该注意加密锁的硬件质量,包括外壳的材质,尽量选择采用合金或者高端PC等耐高温材质的加密锁。此外,好的制造工艺可以减少加密锁的电磁干扰。

04支持范围

选择支持多开发语言和操作系统的加密锁

加密锁硬件的开发接口基本都是基于 C/C++ 开发的,所以开发库可以很好的支持多种开发语言。主流的开发语言例如 C/C++、Java、C#、Delphi、VB、Python 等都应该支持,接口封装得越上层,软件开发商的工作量也就越小。同时,好的加密锁同样支持主流的操作系统。如果有业务需要,也要关注厂商对 Android 和 Arm 的支持。选基础设施有一定前瞻性是很重要的,换加密锁是非常痛苦的一件事。

05存储空间

市面上容量最大的加密锁存储空间可达 512 KB

基于智能卡的加密锁,我们可以认为放到硬件里的数据是安全的,这也是加密锁的核心工作原理,所以理论上硬件里的“秘密”越多,加密方案越好。我们在选择加密锁的时候,在可承受的价格范围内,应该尽量去选择市面上容量较大的加密锁。

很多人总是混淆加密锁和 U 盘的存储功能。U 盘的存储容量是 GB 甚至 TB 级别,而加密锁的存储容量是 KB 级别,市面上 512 KB 的加密锁少之又少,不过通常 256 KB 对一般的加密需求就足够了。

06代码移植

具有代码移植特性的加密锁,助力提升工作效率

“代码移植”或“锁内代码开发”是高端加密锁的一个重要特征。它是指把关键代码放在加密锁内执行,参数由锁外传入,锁内执行结果,计算过程在加密锁内完成,锁内的代码可以认为是不可分析的。对于个性化的加密方案,该功能是必不可少的。有实力的开发商,在选择加密锁的时候可以询问厂家是否支持该功能,一旦有业务需要时,加密灵活性方面就不必担心了。

另外,现在很多厂商实现了“自动代码移植”,就是通过工具直接处理编译好的程序,自动抽取代码到锁内执行。这能极大提高加密方案的安全性,但是需要加密锁硬件和厂商软件技术实力的支持,这点也应该是超高端加密锁的标配。建议不希望开发加密锁底层代码,又想获得高安全性的开发商,选择带此功能的加密锁。

07品牌和服务

首选知名品牌及专业的技术服务

购买一款产品同时也购买了该产品的售后服务。这个服务必须是专业的技术服务,包含:加密方案咨询,设计,实施及事后安全服务。只有实力雄厚的厂商才能够针对客户需求来定制加密方案,所以大家要选择有技术底蕴的厂商购买加密锁。

还有一点大家可以纳入考虑范围,自从中美贸易战以来,国产化的呼声随之越来越高。若是有客户是国企或事业单位,或有类似需求,那么国产化的加密锁是必须要考虑的。

08易用性

操作简便,上手容易

很多情况下,用户拿到一款高安全性的加密锁,却由于不会用而没能将加密锁的作用发挥出来。大家选择加密锁的时候,要优先考虑配套工具界面直观、操作简单的产品,这样能事半功倍,提升加密效率。

09价格

多看评价,综合性价比

目前市场上的加密锁价格从几块钱到几百块钱不等。通常几块的加密锁不可能是高端智能卡的,几百块的加密锁则有过高的品牌溢价。大家在选择加密锁时候,多关注综合性价比。

关于购买加密锁时需要注意的事项,今天就和大家分享到这里。希望这些经验能够帮助大家买到心仪的加密锁。


 

注册开发者账号,获取整套加密 SDK

免费注册  *限时赠送30条许可*