1. 怎么样能把我的软件通过加密锁和授权号来授权别人使用
加密狗就可以呀,不过好象是要付钱的
进入新世纪,中国的软件保护行业正面临着巨大的震荡,软件盗版风潮有愈演愈烈之势!这种局面逐步导致目前大量的软件开发商面对盗版几乎到了束手无策的地步!
造成这种局面的主要原因是由于多年来软件加密保护行业的无序价格竞争使技术发展停滞不前,参与竞争的技术厂商越来越少;在IT信息产业领域,像这样靠一个产品就能卖5年以上,技术水平3年才升级一次的低层次竞争行业已不多见。而随着计算机工业的进步,计算机处理速度的加快和芯片物理攻击技术水平的提高,加密技术产品在与盗版解密技术的比拼中已经完全处于下风。
进入2002年,软件保护行业终于迎来了一次较高层次的技术升级。这次技术升级浪潮的突出特点,就是突破性地将在金融、军队、网络身份认证等对安全性、稳定性要求极高的领域广泛使用的智能卡(Smart Card)技术运用于了商业软件的保护。以智能卡技术为核心构建的新一代的软件加密系统,真正对用户的软件代码和重要数据提供了全方位、高安全度的保护。
这次技术升级的标志性产品是我们深思洛克新近推出的精锐IV型加密锁和美国彩虹天地公司的智能狗。
下面,我们从技术层面对精锐IV型加密锁这种以智能卡技术为核心构建的新一代软件加密系统和目前的主流软件加密产品作一番比较。
(一)目前主流软件加密锁的不足
对软件加密保护产品而言,使用者最关心的是加密的有效性,产品的兼容性和稳定性目前市场上主要的软件加密锁硬件内部均含有单片机,即所谓内置CPU,软件厂商主要是利用算法功能进行加密。加密锁通常还增加了一些辅助功能,比如倒计数器、远程升级等通过对这些软件锁进行分析,我们认为从安全性上讲他们至少有三方面致命的薄弱点:
薄弱点1:设计原理有很大缺陷
目前主流的加密锁硬件提供了读、写和算法变换功能,且算法变换关系难以破解和穷举。但这类加密锁最大的缺陷是算法不向软件厂商公开,锁内的变换算法在出厂时已经固定,软件加密者只能设置算法的参数。这样就限制了厂商对算法的使用,要么预先记录算法结果然后在软件运行时核对(使用码表),要么在软件中至少变换两次然后比较结果是否一致;如果解密者截获这些数据,通过统计、分析就有可达到解密目的
薄弱点2:加密锁受处理能力的限制,无法为软件提供强有力的保护
市场上曾先后推出了几款"可编程"加密锁这类型加密锁最大的特点就是可以让用户自行设计专用算法。"可编程"加密锁的出现的确是软件加密技术的一次进步。深思洛克的"深思Ⅲ"、飞天诚信的"Rockey4"均属此类产品。
但由于成本限制,这类型加密锁往往只能采用10~20元人民币的通用8位单片机或同档次的ASIC芯片作为核心微处理器。这种低档单片机的处理运算能力是相当弱的,这就给 "可编程"加密锁造成了很大的局限性,主要表现在:1、算法变换的复杂度不够高,2、指令编码空间较小,3、程序区的空间较小。这些局限性使得用户根本不可能利用"可编程"加密锁实现理想的高强度加密方案。
薄弱点3:硬件本身抵抗恶意攻击的能力较弱
随着集成电路设计、生产技术的发展,安全产品的核心芯片硬件本身受到攻击的可能性越来越大。典型的硬件攻击手段有电子探测攻击(如SPA和DPA)和物理攻击(探测,如采用SiShell技术),下面我们就这方面进行简要的分析。
电子探测(SPA和DPA)攻击技术的原理是:单片机芯片是一个活动的电子元器件,当它执行不同的指令时,对应的电功率消耗也相应的变化。通过使用特殊的电子测量仪和数学统计技术,来检测和分析这些变化,从中得到单片机中的特定关键信息。
物理攻击的方法有:通过扫描电子显微镜对芯片内部存储器或其它逻辑直接进行分析读取;通过测试探头读取存储器内容;通过从外部无法获取的接口(例如厂家测试点)对存储器或处理器进行直接数据存取;再激活单片机的测试功能等。
由于通用低档单片机并非定位于制作安全类产品,没有提供有针对性的防范物理攻击手段,因此比较容易通过电子探测(SPA和DPA)攻击直接读出存储器内的数据。虽然大多数普通单片机都具有熔丝烧断保护单片机内代码的功能,但此类芯片应用场合广、发行批量大,随着厂商间委托加工与频繁技术转让,使得利用该类芯片下载程序的设计漏洞,利用厂商的芯片测试接口,通过特殊的烧写时序和数据读出信息成为比较容易的事情。
ASIC芯片是完全根据用户需求而特别定做,属于小批量生产。由于其采用特殊的逻辑电路且不会轻易公开测试功能接口,因此只要以其为基础开发的系统不是保存重要的信息或者不用于高级别的安全场合还是可以防范一般情况下的物理攻击。
(二)以智能卡技术为核心构建的新一代加密锁的安全特征
IC智能卡以其可靠的安全保障性能广泛应用于军事、金融、保险等国民生计的重要领域以智能卡技术为核心构建的新一代高强度加密产品,也因此具备了极为优越的安全性能。
改进之一:重要软件代码完全移植到硬件中运行
精锐IV加密锁的工作原理请参考图1、图2。
由图1、2中可以看出,在精锐IV型锁软件保护的方案中,PC端应用软件的关键代码和数据"消失"了,被安全地移植到精锐IV型锁的硬件中保护起来。在需要使用时,应用软件可以通过功能调用引擎来指令精锐IV运行硬件中的关键代码和数据并返回结果,从而依然可以完成整个软件全部的功能。
由于这些代码和数据在PC端没有副本存在,因此解密者无从猜测算法或窃取数据,从而极大程度上保证了整个软件系统的安全性
精锐IV最多可提供总计高达32~64K字节的程序和数据空间,可容纳近万行的C语言代码
从而依然可以完成整个软件全部的功能
改进二:强大的运算处理能力
采用智能卡技术构建的精锐IV加密锁具有强大的运算和数据处理能力,能够支持浮点运算库、数学函数库、安全服务库、标准输入和输出库等;这些对提高加密强度起着至关重要的作用。
改进三:智能卡芯片具有极高的安全性
智能卡芯片具有很高的集成度,与普通低档的单片机不同,只有已通过国际安全机构检测和认证(EAL 4+和IT SEC认证)的专业安全芯片制造商才能提供智能卡芯片。
智能卡芯片能够有效抵御电子探测攻击(SPA和DPA)和物理攻击(SiShell),其在硬件设计阶段就提供了完善的安全保护措施。它通过芯片厂商开发,通过产生额外的噪声和干扰信号,或通过增加滤波电路来消除噪声,再加上若干保护层,采用特殊的材料(对电子束敏感的材料)等,使监测芯片内执行的指令序列不可能实现。同时智能卡芯片提供了硬件随机数发生器,在CPU 的控制下,每次芯片与外界数据传输中,产生的随机数可以保证数据不会重复。
为了保证智能卡芯片的可靠性和可用性,国际权威技术标准管理机构ISO为此专门制定测试标准--ISO/IEC 10373,其中就明确了智能卡在紫外线、X射线、电磁场下的测试要求。1999年,ISO推出了安全芯片技术的新标准ISO/IEC 15408,新标准对智能卡芯片的防物理攻击能力提出明确要求。
符合以上标准的智能卡芯片具有以下防物理攻击的功能:
◆ 通过烧断熔丝,使测试功能不可再激活(测试功能是智能卡芯片制造商提供的对智能卡芯片进行全面检测的功能,这一功能对智能卡芯片具有较大的操作性,不能激活测试功能将大大提高智能卡芯片的安全性);
◆ 高/低电压的检测;低时钟工作频率的检测;
◆ 防止地址和数据总线的截取;
◆ 逻辑实施对物理存储器的保护(存取密码等);
◆ 总线和存储器的物理保护层等。
此外,智能卡芯片还具有一些对软件保护来说极为有用的安全功能:
芯片自锁功能--软件对芯片的访问首先由PIN码保护,PIN码的尝试次数可由软件开发商设定当非法用户利用字典攻击的情况出现时,如果次数超过设定值以后,芯片会自我锁定,外界一切对芯片的操作均被停止。
全球唯一序列号--智能卡芯片具有全球唯一序列号,不可更改这可以杜绝冒用的情况发生,同时也可以对已发行的产品进行有效管理。如果软件开发商与加密技术供应商合作,可以获得提供特殊序列码区段控制服务,这几乎可以从根本上解决硬件的复制仿冒问题。
硬件随机数发生器(白噪声技术)--用于产生高强度随机数。除对称算法生成密钥需要外,随机数在安全加密领域具有非常重要和广泛的应用,因此,硬件本身带有高强度随机数发生器对安全而言意义重大。
硬件时钟定时器 --是软件计时使用、反跟踪等常用软件保护手段中必备的功能。
改进四:智能卡技术的核心--操作系统COS
COS(卡片操作系统Card Operating System)存放在智能卡芯片上,是一个比较小但非常完整、严密的系统。COS管理着智能卡的一举一动,智能卡整套系统的安全性除一部分由芯片设计生产厂商保证外,大都由COS开发商实现。
COS 主要分为四部分:通讯管理、文件管理、安全管理和应用管理国际标准化组织 ISO 已经对智能卡的物理和电器指标以及应用标准做出较详尽的规定--ISO7816,有关智能卡与外界交换信息的电气指标以及指令格式在ISO7816--3&4中有详细的规定。
开发COS系统是有相当大的难度和工作量的,需要投入很大的人力、物力;任何不按标准快速开发出的芯片控制系统很可能存在导致巨大安全隐患的设计缺陷。而采用第三方厂商的COS系统组合而成的产品由于其核心技术不太可能由加密锁厂商完全掌握控制,系统的安全性依赖于第三方COS厂商,由此也增大了用户的安全风险
2. 浪潮软件可以装在另外异地的电脑上吗
可以。如果是浪潮软件网络版可以安装个客户端,单机版的话看什么加密方式了,加密狗的话,只能在一个电脑上使用的,不可以两个电脑同时用。