软件保护
软件保护这个概念简单讲就是维护软件所有者的权益,这既包括了技术保护,也涵盖了法律保护,今天这里我们探讨的是技术层面的软件保护。在技术层面,软件保护一般采用硬件加密(也称硬加密)和软件加密(也称软加密)两种手段,软加密正在被越来越多的企业和个人用户所关注。
硬件加密
硬件加密是指通过专用加密芯片或独立的处理芯片等实现密码运算。将加密芯片、专有电子钥匙(我们也称之为软件狗)、硬盘一一对应到一起时,加密芯片将把加密芯片信息、专有钥匙信息、硬盘信息进行对应并做加密运算,同时写入硬盘的主分区表。这时加密芯片、专有电子钥匙、硬盘就绑定在一起,缺少任何一个都将无法使用。经过加密后硬盘如果脱离相应的加密芯片和电子钥匙,在计算机上就无法识别分区,更无法得到任何数据。
硬件加密的优点是保密性强,但其也有无法规避的缺点:
•软件狗易丢失,并且一旦丢失,软件将无法使用
•兼容性差,加密锁一般都需要安装驱动程序,经常会碰到使用不了的情况
•使用成本高,不仅有硬件成本,还有初始化、物流、管理和维护成本
•无法方便实现“先试后买”和“按需购买”
•一旦被破解,就可以大量复制,无法补救
•在特定应用环境,无法满足客户的需求,比如客户不允许外接设备的情况将完全无法使用硬件加密
•在互联网极为流行的今天,仍然无法有效地跟踪和管理软件的授权
软件加密
软件加密指用户在发送信息前,先调用信息安全模块对信息进行加密,然后发送,到达接收方后,由用户使用相应的解密软件或算法进行解密并还原。
采用软件加密方式可以解决硬件加密所有的上述缺点,还可以提供灵活的在线授权,离线授权,浮动授权和试用授权等。
这里尤其是浮动授权,可以极大的方便企业用户,可不限制用户安装软件的数量,只通过控制同一时间使用用户数。
软件加密对应的就是破解, 从理论上,任何软件加密技术都可以破解。只是破解的难度不同而已。有的要让***明的破解者忙上几个月,有的可能不费吹灰之力,就被破解了。所以加密就是要增加破解者的破解难度。让他们花费在破解软件上的成本,比他破解这个软件的获利还要高。这样破解工作就变得没有意义。
软件授权
软件授权是软件保护概念的延伸和发展。
软件授权包括了软件加密,授权管理和授权服务三个关键要素:软件授权依然需要提供用户按授权内容使用软件的技术手段。不同的是,软件授权所需要的软件加密方案要更灵活,能够满足不同授权需求和业务模式的需要;授权必然要涉及到管理。为每个软件用户提供不同的授权方案并根据需要进行升级,需要一个完整的系统,将授权保护与设计,发放,升级,统计等内容进行集成。如果说软件保护主要是一个软件应用的客户端的技术,授权管理则是一个系统架构;软件授权要求建立中央授权服务系统,以用于授权的设计和发放,并为所有软件用户授权服务。
对于软件保护来说,其核心理念是防止软件不被盗版;而软件授权的目标是让软件用户按照购买许可来使用软件,涉及软件的安装份数,使用时间,应用范围以及功能模块等内容。
软件加密(软件保护)与软件授权其实并不冲突,软件加密我们也可以理解为方法,手段,而软件授权则是策略,二者应该是相辅相成的关系
从软件保护发展到软件授权,主要基于以下几个原因推动了其发展:
1.当前IT企业的并购日益频繁(即使是大型的IT企业收购或被收购都很常见),这样在企业并购完成后,就会涉及到并购企业间的产品整合问题,也就引来软件授权的整合和管理。
2.软件的功能及模块越来越丰富,软件开发商需要按照功能模块来销售软件,按照不同的客户或市场划分,提供不同功能的软件产品,比如提供全功能版本,有限功能版或者是试用版等。
3.软件的按需使用销售模式的发展,用户希望按照使用人数,时间,次数等来购买和使用软件,软件开发商需要提供丰富的授权类型以满足不同用户的需求。
4.软件版本的增加,软件开发商迫切需要更好地管理软件不同版本的授权。
5.软件用户数量的增长,软件开发商既需要增加新用户,也要推动既有的老客户将产品升级到新版本,以此提供更好的软件服务给客户。
在中国国内的软件开发过程中,早期采用硬件加密的占大多数,在随着商业环境的变化,软件产品需要满足不同用户的需求,并且相同产品的不同版本授权管理也越来越复杂,一些拥有自主知识产权的产品也逐销往海外,或者与国外厂商的其他产品绑定销售,也引来了软件授权技术与国际接轨的问题。
目前,在国外,软件授权方案主要的供应商是Flexera Software的FlexNet授权技术,支持Windows,Mac OS,IBM AIX,HP-UX,Linux,Solaris等多种系统平台,由于FlexNet技术成熟,所以很多大的软件厂商的软件授权方案都用FlexNet技术,被我们国内开发者所熟悉的是FlexNet的前身 FLEXlm。随着Flexera Software软加密及软授权技术被越来越广泛的使用,国内目前也有越来越多的软件开发商选择Flexera Software的授权方案来提高他们开发产品的竞争力。目前Flexera Software软件授权方案包括FlexNet Publisher,FlexNet Operation,FlexNet Connect,FlexNet Delivery等模块,其中FlexNet Publisher是提供软件授权功能的核心模块;针对嵌入式平台,还有对应的FlexNet Embedded授权模块。 其他厂商有主做硬件加密的SafeNet等,目前也在推出软件授权方案,并正在进一步完善中,主要支持Windows平台。