1、*系统概要设计说明书技术文件 文档编号:*73040C-04-XXXXXXX文档版本号:V1.0文件修订记录21系统功能设计31.1软件使用授权管理31.1.1业务目标31.1.2业务分析31.1.3业务流程设计61.1.4功能模块设计111.1.5现有授权管理功能121.1.6改进设计131.1.7附录14软件授权管理组件软件设计说明书 编制: * 日期: 审核: 日期: 批准: 日期: 汇签: 文件修订记录版本状态修订内容日期编制审核批准V1.0起草目录1 系统功能设计1.1 软件使用授权管理1.1.1 业务目标为保护厂家的知识产权、专利技术,防止系统被非法使用,为保护合法客户的正当权利以
2、及生产厂家、代理厂商的合法利益,本系统建设授权管理功能,为系统的各利益方提供利益保障。软件授权是软件保护概念的延伸和发展。对于软件保护来说,其核心理念是防止软件不被盗版;而软件授权的目标是让软件用户按照购买许可来使用软件,涉及软件的安装份数,使用时间,应用范围以及功能模块等内容。1.1.2 业务分析软件保护的概念是站在开发商的角度出发的,它强调的是软件加密和不被盗版。常用的软件保护方式有软件加密和硬件加密两种。软件授权的概念则是同时考虑了开发商和最终用户两方面的感受而提出的。从软件保护发展到软件授权,主要基于以下几个原因: 1.软件的功能及模块越来越多,软件开发商按照功能模块来销售软件。 2.
3、软件的按需使用销售模式的发展,用户希望按照使用时间,次数等来购买和使用软件。 3.软件用户数量的的增长和软件版本的增加,开发商需要更好地管理软件购买和使用。1.1.2.1 软件保护的标准从理论上说,只要拥有足够的资源和时间,所有的软件保护技术都可以被破解。但是,如果一种保护技术的安全强度达到了让破解者付出比购买软件还要高的成本,这种保护技术就是成功的,值得使用。1.1.2.2 软件授权的要素软件加密:软件授权依然需要提供使用户按授权内容使用软件的技术手段。不同的是,软件授权所需要的软件加密方案要更灵活,能够满足不同授权需求和业务模式的需要。 授权管理:授权必然要涉及到管理。为每个软件用户提供不
4、同的授权方案并根据需要进行升级,需要一个完整的系统,将授权保护与设计,发放,升级,统计等内容进行集成。如果说软件保护主要是一个软件应用的客户端的技术,授权管理则是一个系统架构。 中央服务:软件授权要求建立中央授权服务系统,以用于授权的设计和发放,并为所有软件用户授权服务。1.1.2.3 软件授权的主要模式在线授权:这是Flexera和北京比特安索信息技术有限公司独有的授权方式。它使用在线加密的方式进行授权保护,所有的安全算法和数据都使用网络方法来实现和提供。 离线授权:离线授权只需要在软件激活的时候连接服务器,进行认证及获取授权。一旦激活成功,今后就一般不再需要与服务器连接,软件用户可以离线使
5、用。 集团授权:相对于单机授权而言,集团授权使用集团内部的许可服务器为整个集团提供授权及管理界面。 试用授权:试用授权允许软件开发商发行软件的试用版本。试用版本可以在任何计算机上进行安装,但软件只能在试用期内使用。1.1.2.4 软件授权保护的常用措施常用的软件保护方式一般分为软加密和硬加密两种。软加密一般采用与计算机硬件特征绑定的电子许可证形式。硬加密主要是指加密狗或加密锁。传统的使用电子许可证和加密锁保护软件的方案一般并不包括授权和用户管理的功能,软件开发商往往需要自行开发初始化工具和用户管理工具。单纯的软件保护功能无法满足互联网时代的软件电子化发行以及按需销售的要求。软件授权是软件保护概
6、念的延伸和发展。其目标对象同时涵盖了开发商和最终用户两个方面。其目是在保护软件不被盗版的同时,为开发商创造更方便、更灵活的销售模式。 软件授权在实现软件保护技术的基础上,能够提供从软件授权的设计、开发集成、调试,到软件授权的生成、分发、管理一整套完善的解决方案。从传统的软件保 护过渡到软件授权,不仅是软件保护在互联网时代发展的必然结果,也是开发商降低软件的保护和发行成本,更快响应用户需求和市场的变化的强烈愿望。1.1.2.5 软件授权的主要模式根据授权文件是存在本机还是服务器上云端,软件授权主要分本地授权和云授权两大类。 一、本地授权本地授权是指软件的使用许可在客户端,主要为传统的软件保护模式
7、所使用。最常用的两种本地授权形式是前面提到的硬件加密锁和电子许可证。硬件加密锁的优点是授权发放简单、可移动。但是随着互联网的使用越来越普及,也暴露出不少缺点:1.适用于传统的一次性永久授权,无法实现试用版本和按需购买。2.硬件的存在带来额外的生产、初始化、物流、安装和维护的成本。3.安装驱动和客户端组件以及额外的硬件设备影响了客户的使用体验。4.无法实现基于互联网的电子化发行。5.难以进行升级、跟踪及售后管理。电子许可证是在获得了机器的硬件特征后,以某种机制将授权与该机器硬件特征绑定后发给客户使用。结合了服务器验证的“双因素”电子授权的安全机制,在整体架构的安全性和安全效果上相比加密锁具有更多
8、的优势。电子许可证在客户端没有硬件,也无需安装驱动和客户端组件,可靠性兼容性好,可实现软件的电子化发行,为开发商节省大量的软件保护和发行成本。但它从本质上仍然属于本地授权方式,不具有下面介绍的“云授权”方式实时授权、云存储、可移动以及超高安全性的特点。二、云授权 云授权是一种SaaS模式的授权。开发商的软件还是在本地运行,但授权许可始终保存在授权服务器“云端”。云授权要求客户端软件具备连网条件,可以 根据具体的情况要求时刻连网或每隔一个固定的时间连一次网,以便跟踪和管理授权。相比本地授权,云授权的安全级别要更高,这是因为授权的核心机制只存在于 服务器上,而服务器与应用软件之间采用了高安全性通讯
9、协议。云授权的突出优点是:1.保护开发商对当前产品的投资和技术积累,实现已有的产品和技术向未来的云计算模式的平滑过渡。2.超高安全性。3.客户端可移动,不与计算机或加密锁绑定。4.实时用户管理和授权管理。5.软件配置和用户配置的云存储。1.1.2.6 本系统的授权保护措施要求1、 暂时不需要硬件锁,软件加密保护即可2、 加密解密需分开,在客户端运行的程序不能包含加密算法或加密密码3、 需限定客户的公司名称4、 支持但不限制基于硬件指纹授权5、 支持使用期限和试用期,允许无限期的授权模式6、 支持功能分模块组件授权,未授权的功能阻止使用7、 能较好防止通讯拦截8、 能较好防止本地反编译9、 支持
10、中央集中授权10、 授权管理成本低1.1.3 业务流程设计1.1.3.1 总流程客户方目标软件系统厂方集中授权管理机构系统安装追加功能授权授权申请授权信息管理授权检测集中授权授权文件管理1.1.3.2 发起申请授权流程安装取得公司名称取得硬件指纹已加密注册文件取得安装时间信息加密并制作成注册文件连接集中授权服务器非对程加密Internet自动发送注册文件提示其它渠道发送注册文件取得授权方式结束所需功能集、许可类型取联系人信息解密注册文件1.1.3.3 集中授权流程解密注册文件开始校验注册信息有效性成功?报文件无效,并通知管理人员结束人工校验授权策略合理性有效?报注册信息无效,生成授权文件提示注
11、册信息错误并交由管理人员处理结束接收注册文件将客户名称和/或硬件指纹、授权的模块、使用期限加密生成授权文件有效?由管理人员录入,生成授权文件提示注册信息错误结束人工或自动发送授权文件给客户结束1.1.3.4 授权校验流程登陆触发查找缓存的授权信息存在?有授权文件?安装授权文件是否申请授权?搜索授权文件库解密并解析授权文件成功缓存授权信息报授权文件错误发起申请授权流程同意申请?谢谢使用功能模块启动触发核查授权信息有效性:客户名称、硬件指纹、可用功能、有效时间通过?允许正常使用报权限受限1.1.3.5 安装授权流程启动授权管理是否申请授权?解密并解析授权文件成功缓存授权信息报授权文件错误同意申请?
12、核查授权信息有效性:客户名称、硬件指纹、可用功能、有效时间通过?报授权信息错误安装授权文件保存到授权文件库缓存授权信息提示安装成功发起申请授权流程谢谢使用1.1.4 功能模块设计1.1.4.1 模块图授权文件库信息加解密器授权信息缓存池授权校验器申请文件提交器email发送者硬件指纹提取器授权文件生成/解析器客户授权信息管理器1.1.4.2 信息加解密器调用公共加解密算法,采取非对称密码对申请文件和授权文件进行加解密,并负责保管加密私钥,用私钥加密,公钥解密。1.1.4.3 授权文件库管理客户已有的授权文件,支持多个授权文件共存1.1.4.4 授权信息缓存池管理和缓存授权信息,提高授权校验性能
13、,并防止授权信息在内存中被篡改1.1.4.5 硬件指纹提取器取得软件宿主服务器的硬件指纹,包括网卡ID、CPU ID、硬盘序列号等指纹性质的标识1.1.4.6 授权校验器调用信息加解密器解密授权信息(客户名、硬件指纹、授权功能清单、授权期限),并执行使用权限检查。1.1.4.7 授权文件生成/解析器将授权申请和授权书文件按固定格式组织,并负责解析出授权信息(客户名、硬件指纹、授权功能清单、授权期限)1.1.4.8 客户授权信息管理器在厂方的集中授权管理机构运行的信息管理器,管理客户的申请记录、授权情况、授权历史等,供商务授权管理机构人员查询。1.1.4.9 申请文件提交器能完成申请文件自动发送
14、到厂方的集中授权管理机构的软件,如邮件发送器。该功不是本组件的必须,利用第三方软件。1.1.5 现有授权管理功能1.1.5.1 功能机制1、Key File 保护Key File(注册文件)是一种利用文件来注册软件的保护方式。Key File一般是一个小文件,可以是纯文本文件,也可以是包含不可显示字符的二进制文件,其内容是一些加密过或未加密的数据,其中可能有用户名、注册码等信 息。文件格式则由软件作者自己定义。试用版软件没有注册文件,当用户向作者付费注册之后,会收到作者寄来的注册文件,其中可能包含用户的个人信息。用户只 要将该文件放入指定的目录,就可以让软件成为正式版。该文件一般是放在软件的安
15、装目录中或系统目录下。软件每次启动时,从该文件中读取数据,然后利用某种 算法进行处理,根据处理的结果判断是否为正确的注册文件,如果正确则以注册版模式来运行。目前我们软件采用的就是注册文件的方式。用户每次登录系统时,从key File读取授权信息进行检验。2、对使用时间限制在key File中存储了软件允许使用的期限,就是到具体的哪个日期之前可以使用,快到期时提醒客户联系厂家续费事宜,到期后则关闭功能并提示续费。目前已实现的授权管理3、对客户公司名称做限制客户名称作为授权要素,业务上要求客户必须使用客户公司的名称,如打印的票据不可能借用其它公司名称,因此把客户公司名称作为授权要素,授权检查包含客
16、户名称的一致性检查,名称相同的客户公司名称才被认为是合法客户4、未与机器硬件信息结合用户得到(买到或从网上下载)软件后,安装时软件从用户的机器上取得该机器的一些硬件信息(如硬盘序列号、BOIS序列号等等),然后把这些信息和 用户的序列号、用户名等进行计算,从而在一定程度上将软件和硬件部分绑定。用户需要把这一序列号用Email、电话或邮寄等方法寄给软件提供商或开发商, 软件开发商利用注册机(软件)产生该软件的注册号寄给用户即可。软件加密虽然加密强度比硬件方法较弱,但它具有非常廉价的成本、方便的使用方法等优点。非 常适合做为采用光盘(CDROM)等方式发授软件的加密方案。此种加密算法的优点 不同机
17、器注册码不同。用户获得一个密码只能在一台机器上注册使用软件。不同于目前大多软件采用的注册方法,即只要知道注册码,可在任何机器上安装注册。 不需要任何硬件或软盘 可以选择控制软件运行在什么机器、运行多长时间或次数等 可让软件在不注册前的功能为演示软件,只能运行一段时间或部分功能。注册后就立即变为正式软件 采用特别技术,解密者很难找到产生注册号码的规律 在使用注册号产生软件(注册机)时可采用使用密码、密钥盘、总次数限制等方法 方便易用,价格低廉。这种加密还有以下特点1、 注册加密的软件,只能在一台机器上安装使用。把软件拷贝到其它机器上不能运行。2、 若用户想在另一机器上安装运行,必须把软件在这一机
18、器上运行时的序列号,寄给软件出版商换取注册密码。当然应再交一份软件费用。3、 此加密方法特别适应在因特网上发布的软件及用光盘发布的软件。目前的功能未采用机器硬件限制技术,不具备该功能。根据讨论决策来定是否采用该技术。1.1.5.2 使用指南厂商授权客户安装授权1.1.6 改进设计1.1.6.1 改进列表:1、 改用公开密钥(非对称)算法2、 建设厂家集中授权管理机构及软件1.1.7 附录1.1.7.1 主要的软件保护和授权方案提供商Flexera Software:著名的Flex NET许可证管理系统的提供商,具有多年的软件保护和授权管理经验。北京比特安索:成立于2009年,提供业界领先的基于互联网的软件保护和授权解决方案。SafeNet:国际领先的硬件加密锁提供商,拥有Sentinel,HASP及加密狗品牌,但在软件授权方面的产品目前还不成熟。加密锁:国内做加密锁的企业比较多,著名的如深思洛克和飞天诚信等。SafeNet公司的加密锁在国际市场处于垄断地位,但是在国内,深思、飞天等厂商的产品因价格低、市场反应迅速以及本地化优势而占领了大部分的市场。14