基于UKEY的授权方法及系统
文献发布时间:2023-06-19 12:25:57
技术领域
本发明涉及软件授权解密技术领域,尤其是涉及一种基于UKEY的授权方法及系统。
背景技术
在商业软件行业,为了保护开发商的合法权益,经常需要对软件进行授权,只有授权的用户才能使用相应的商业软件。目前常用的授权方法有几种:一种是在线授权,需要授权的设备将设备信息和授权码发送到云端的授权中心,授权中心校验信息正确性后进行授权;一种是离线授权,将授权信息加密写入UKEY硬件设备上,运行商业软件时,必须插入相应的授权UKEY,当UKEY一旦拔下,就无法继续使用了。对于在线授权,需要被授权设备必须联网,但是对于某些军工行业、保密单位,是不允许设备联网,在线授权完全不可行。离线UKEY授权虽然不用联网,但需要UKEY一直保持插入的状态,这样既不美观,也存在UKEY被拔掉之后导致商用软件无法正常运行产生业务中断的风险。
发明内容
本发明的目的在于克服上述技术不足,提出一种基于UKEY的授权方法及系统,以解决上述问题。
为达到上述技术目的,本发明的技术方案第一方面提供一种基于UKEY的授权方法,其包括如下步骤:
在UKEY中设置只读区和读写区,将授权控制信息进行加密并写入到UKEY中的只读区;
在待授权设备中加载授权服务程序,从待授权设备的本地配置文件中加载本地配置的待授权项目信息;
授权服务程序加载UKEY中的授权控制信息并解析授权控制信息,根据授权控制信息校验待授权项目信息的正确性,并在判断待授权项目信息正确后结合待授权项目信息生成设备的硬件指纹信息;
授权服务程序根据设备的硬件指纹信息生成授权文件,完成授权工作。
本发明第二方面提供一种基于UKEY的授权系统,其包括如下功能模块:
UKEY设置模块,用于在UKEY中设置只读区和读写区,将授权控制信息进行加密并写入到UKEY中的只读区;
本地设置模块,用于在待授权设备中加载授权服务程序,从待授权设备的本地配置文件中加载本地配置的待授权项目信息;
解密加载模块,用于授权服务程序加载UKEY中的授权控制信息并解析授权控制信息,根据授权控制信息校验待授权项目信息的正确性,并在判断待授权项目信息正确后结合待授权项目信息生成设备的硬件指纹信息;
授权完成模块,用于授权服务程序根据设备的硬件指纹信息生成授权文件,完成授权工作。
与现有技术相比,本发明所述基于UKEY的授权方法及系统具有如下有益效果:
1.在离线授权的同时能收集被授权设备的硬件信息,方便日后比对授权信息是否存在重复的问题;
2.提高了授权效率,方便进行批量授权;极大减少了人工干预,避免人为操作失误的可能。
3.基于UKEY中的授权控制信息生成授权文件,保存到被授权设备中,不需要一直将UKEY插在设备上,减少了UKEY的使用,也避免了对设备USB接口的占用,以及避免可能产生的USB被拔掉或损坏导致商用软件无法使用导致业务中断的潜在风险;
4.更加安全,授权正确通过加壳程序进行了加密,只有UKEY认证正确后,才会进行解密授权程序,提高了授权程序的安全性。
附图说明
图1是本发明实施例所述的基于UKEY的授权方法的流程框图;
图2是本发明实施例所述基于UKEY的授权方法的步骤流程图;
图3是本发明实施例所述的基于UKEY的授权系统的模块框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1和图2所示,本发明的实施例提供了一种基于UKEY的授权方法,其包括如下步骤:
S1、在UKEY中设置只读区和读写区,将授权控制信息进行加密并写入到UKEY中的只读区。
具体的,UKEY具备只读区和读写区,其中只读区用于保存有加密后的授权控制信息,具体的,所述授权控制信息存储在授权控制信息列表中。下表为授权控制信息列表的示例:
所述读写区用于记录存储历史授权设备的硬件指纹信息,和用于读取历史授权设备的硬件指纹信息,以及记录和读取其他历史授权相关信息;另外,所述读写区还存储已经授权的数量,授权一次,授权数量自动加一。
将授权控制信息写入UKEY中步骤说明如下:
首先将授权控制信息按照一定格式写入文件中,然后启动UKEY写入工具,加载授权控制信息文件,最后将授权控制信息进行加密并写入到UKEY中的只读区。
S2、在待授权设备中加载授权服务程序,从待授权设备的本地配置文件中加载本地配置的待授权项目信息。
所述授权服务程序用于读取UKEY中的授权控制信息并解密,对当前设备进行授权;也可以导出UKEY中保存的所有硬件指纹信息。
所述待授权项目信息包括客户名称,产品名称等信息。
S3、授权服务程序加载UKEY中的授权控制信息并解析授权控制信息,根据授权控制信息校验待授权项目信息的正确性,并在判断待授权项目信息正确后结合待授权项目信息生成设备的硬件指纹信息。
在授权服务程序加载UKEY中的授权控制信息并进行解密之前,授权服务程序实时检测判断UKEY是否插入,当授权服务程序实时检测判断UKEY插入时,所述授权服务程序校验UKEY的正确性,并在判断为授权UKEY后加载UKEY中的授权控制信息并进行解密。
在解析授权控制信息后,需要对UKEY中的授权控制信息进行校验,具体包括如下步骤:
根据授权控制信息中的授权额度信息判断是否有授权额度,如果没有授权额度,记录错误日志,并提示授权失败;
在判断UKEY有授权额度后,根据授权控制信息中的授权时间信息判断UKEY授权控制信息是否进行永久授权,如果是永久授权,则进行下一步;
在判断UKEY授权控制信息不是永久授权时,校验系统当前时间是否在授权时间范围内;如果不在授权时间范围内,提示授权失败。如果在授权时间范围内或是永久授权,则进行下一步。
同时,在解析授权控制信息后,要把授权控制信息写入待授权设备的日志文件中,方便用户了解当前UKEY中剩余的授权额度。
所述根据授权控制信息校验待授权项目信息的正确性,具体是校验授权控制信息中的客户名和产品名是否和待授权设备上配置的客户名和产品名一致;当授权控制信息中的客户名和产品名与待授权设备上配置的客户名和产品名一致时,结合待授权项目信息生成设备的硬件指纹信息,所述硬件指纹信息中包括了CPU型号、CPU序列号、网口数量、网口MAC地址、网口类型信息。
S4、授权服务程序根据设备的硬件指纹信息生成授权文件,完成授权工作。
在结合待授权项目信息生成设备的授权信息之前,比对当前设备的硬件指纹和UKEY中保存的硬件指纹信息中的硬件指纹是否一致来判断该设备是否授权过,对于曾经授权过的设备,直接调取UKEY的读写区中存储的相应设备的历史硬件指纹信息生成授权文件。
在授权服务程序根据设备的硬件指纹信息生成授权文件后,将硬件指纹存储到UKEY的读写区中。
本发明所述基于UKEY的授权方法,其通过在UKEY中增设读写区,使之在离线授权的同时能收集被授权设备的硬件信息,并通过读取历史授权设备的硬件指纹信息,简化历史授权设备的授权流程,提高授权效率,另外通过将授权服务程序加载在本地设置中,使基于UKEY中的授权控制信息生成授权文件保存在被授权设备中,从而不需要一直将UKEY插在设备上,减少了UKEY的使用,也避免了对设备USB接口的占用,同时还能够对同一设备中的多个商业软件进行同步授权。
基于上述基于UKEY的授权方法,本发明还提供一种基于UKEY的授权系统,如图3所示,其包括如下功能模块:
UKEY设置模块10,用于在UKEY中设置只读区和读写区,将授权控制信息进行加密并写入到UKEY中的只读区;
本地设置模块20,用于在待授权设备中加载授权服务程序,从待授权设备的本地配置文件中加载本地配置的待授权项目信息;
解密加载模块30,用于授权服务程序加载UKEY中的授权控制信息并解析授权控制信息,根据授权控制信息校验待授权项目信息的正确性,并在判断待授权项目信息正确后结合待授权项目信息生成设备的硬件指纹信息;
授权完成模块40,用于授权服务程序根据设备的硬件指纹信息生成授权文件,完成授权工作。
本实施例一种基于UKEY的授权系统的执行方式与上述基于UKEY的授权方法基本相同,故不作详细赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实施例的模块、单元和/或方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
- 基于UKEY的授权方法及系统
- 一种基于税务Ukey盘组的开票服务系统及方法