zoukankan      html  css  js  c++  java
  • 从软件加密到软件授权保护

    一直在关注软件授权保护相关的技术内容,发现一些基本概念经常容易被我们混淆,比如软件保护,软件加密,硬件加密,软件授权等,下面就阐述一下我对上述概念的理解,以及它们之间的关系。
     

    软件保护

    软件保护这个概念简单讲就是维护软件所有者的权益,这既包括了技术保护,也涵盖了法律保护,今天这里我们探讨的是技术层面的软件保护。在技术层面,软件保护一般采用硬件加密(也称硬加密)和软件加密(也称软加密)两种手段,软加密正在被越来越多的企业和个人用户所关注。
     

    硬件加密

    硬件加密是指通过专用加密芯片或独立的处理芯片等实现密码运算。将加密芯片、专有电子钥匙(我们也称之为软件狗)、硬盘一一对应到一起时,加密芯片将把加密芯片信息、专有钥匙信息、硬盘信息进行对应并做加密运算,同时写入硬盘的主分区表。这时加密芯片、专有电子钥匙、硬盘就绑定在一起,缺少任何一个都将无法使用。经过加密后硬盘如果脱离相应的加密芯片和电子钥匙,在计算机上就无法识别分区,更无法得到任何数据。
     

    硬件加密的优点是保密性强,但其也有无法规避的缺点:

    • 软件狗易丢失,并且一旦丢失,软件将无法使用
    • 兼容性差,加密锁一般都需要安装驱动程序,经常会碰到使用不了的情况
    • 使用成本高,不仅有硬件成本,还有初始化、物流、管理和维护成本
    • 无法方便实现“先试后买”和“按需购买”
    • 一旦被破解,就可以大量复制,无法补救
    • 在特定应用环境,无法满足客户的需求,比如客户不允许外接设备的情况将完全无法使用硬件加密
    • 在互联网极为流行的今天,仍然无法有效地跟踪和管理软件的授权
    软件加密
    软件加密指用户在发送信息前,先调用信息安全模块对信息进行加密,然后发送,到达接收方后,由用户使用相应的解密软件或算法进行解密并还原。
    采用软件加密方式可以解决硬件加密所有的上述缺点,还可以提供灵活的在线授权,离线授权,浮动授权和试用授权等。
    这里尤其是浮动授权,可以极大的方便企业用户,可不限制用户安装软件的数量,只通过控制同一时间使用用户数。
    软件加密对应的就是破解, 从理论上,任何软件加密技术都可以破解。只是破解的难度不同而已。有的要让最高明的破解者忙上几个月,有的可能不费吹灰之力,就被破解了。所以加密就是要增加破解者的破解难度。让他们花费在破解软件上的成本,比他破解这个软件的获利还要高。这样破解工作就变得没有意义。
     

    软件授权

    软件授权是软件保护概念的延伸和发展。
    软件授权包括了软件加密,授权管理和授权服务三个关键要素:软件授权依然需要提供用户按授权内容使用软件的技术手段。不同的是,软件授权所需要的软件加密方案要更灵活,能够满足不同授权需求和业务模式的需要;授权必然要涉及到管理。为每个软件用户提供不同的授权方案并根据需要进行升级,需要一个完整的系统,将授权保护与设计,发放,升级,统计等内容进行集成。如果说软件保护主要是一个软件应用的客户端的技术,授权管理则是一个系统架构;软件授权要求建立中央授权服务系统,以用于授权的设计和发放,并为所有软件用户授权服务。
     

    对于软件保护来说,其核心理念是防止软件不被盗版;而软件授权的目标是让软件用户按照购买许可来使用软件,涉及软件的安装份数,使用时间,应用范围以及功能模块等内容。

    软件加密(软件保护)与软件授权其实并不冲突,软件加密我们也可以理解为方法,手段,而软件授权则是策略,二者应该是相辅相成的关系。

    从软件保护发展到软件授权,主要基于以下几个原因推动了其发展:
    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平台。

    万炳宏(Kevin Wan)

    Avizo/Amira技术交流,欢迎加我微信:13911850365或QQ:17842153

  • 相关阅读:
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第三节 梯度下降法 (上)理解篇
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第二节 线性回归算法 (下)实操篇
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第二节 线性回归算法 (上)理解篇
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第一节 KNN算法 (下)实操篇
    萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第一节 KNN算法 (上)理解篇
    萌新向Python数据分析及数据挖掘 第二章 pandas 第五节 Getting Started with pandas
    Oracle数据库安装和授权
    c# 如何获取JSON文件以及如何获取Config文件(framework 和 net .Core)
    C#Core查询数据库存储EXCEL文件
    如何在WINDOW系统下编译P12证书制作
  • 原文地址:https://www.cnblogs.com/wanbinghong/p/2318508.html
Copyright © 2011-2022 走看看