基于机器指纹和USBkey的终端软件授权系统及方法与流程

专利检索2022-05-11  13


基于机器指纹和usbkey的终端软件授权系统及方法
技术领域
1.本发明涉及信息系统软件的技术领域,具体地,涉及一种基于机器指纹和usbkey的终端软件授权系统及方法。


背景技术:

2.为了应对软件被恶意复制及非法利用等相关问题,对具有知识产权的软件进行安全授权是保障软件安全的有效手段。按照工作方式和原理的不同,国内外常见的软件保护技术分为两种,一种是基于软件的软加密技术,一种是需要特定硬件配合的硬加密技术。然而不论是软加密还是硬加密,都有不可避免的劣势。硬加密的缺点在于:

容易引起硬件冲突,操作要求高;

随着软件的升级,加密锁也需要不断更换,成本高;

需要附加专业硬件设备,灵活性差。软加密的缺点在于:

授权过程依赖于网络;

获得授权码后需要对软件手动激活;

使用的keyfile和序列号的格式大同小异,容易被篡改。
3.相关技术中,何永瑾,郭肖旺,赵德政.基于注册码的软件授权保护系统的设计与实现[j].信息技术与网络安全,2020,39(5):42-45,50.。摘要:目前国内软件加密授权技术的发展较为缓慢,针对传统的软件保护方式单一,软件授权方式不灵活的问题,提出了基于注册码的软件授权保护方案,设计了软件的加密授权和检验流程,对软件加密授权的各环节进行优化和改进。该方案不仅为用户提供了软件的授权保护机制,如时间授权、功能授权等,还能在离线环境下增强软件的保护作用,具有较高的安全性和实用性。技术要点比较:该方法采用软授权方式,需要通过网络访问服务器获取激活码,不支持离线终端软件授权。
[0004]
相关技术中,金美玉,汤亚玲,张学锋.dpapi与rsa混合加密算法.计算机系统应用,2020,29(11):151

156.。摘要:为了应对软件被恶意复制及非法利用等相关问题,对具有知识产权的软件进行安全授权是保障软件安全的有效手段。在软件授权过程中,对授权数据采用高度安全的加密算法尤为重要。文中提出一种新的授权加密方法,即dpapi加密算法和rsa数字签名算法的混合加密算法。该算法利用dpapi加密算法加密客户端申请授权的信息,在实现加密的同时保证软件授权的正确性,再利用rsa数字签名算法对服务器端的授权信息进行数字签名,以保证授权信息的不可伪造性。通过对该混合加密算法的验证可知,该算法在软件授权过程中具有一定的可行性。技术要点比较:1、该文章注重对加密算法进行优化,加密过程依赖网络,不支持离线终端软件授权;2、没有提到获取机器指纹,无法保证“一机一码”。
[0005]
相关技术中,欧阳雪,周寰,邓锦洲,任江春.一种面向软件生命周期的授权保护系统设计与实现[j].计算机工程与科学,2013,35(04):59-64.。摘要:当今软件行业开发模式由独立开发转向协同开发,销售形式由软件整体销售转向权限控制销售,原有的加密狗、注册码等单项软件保护技术已很难适应当前软件在开发、销售及使用等过程中各环节对产权保护所提出的新需求,软件侵权问题日益严重。针对以上情况,设计了一种面向软件生命周期的新型软件授权保护系统,该系统综合使用u-key技术、身份认证及数字签名技术、证书链和硬件加密技术,并采用了可由开发商自填写的组件功能模板和以组件为基本授权实体
的许可证文件技术加以实现。实现表明,系统结构合理,各项功能正确,可以满足软件在开发、销售和使用环节上对安全性的需求。技术要点比较:1、提到的基于硬件的加密方式加密狗,兼容性差、使用成本高;无法实现“按需购买”;无法有效地跟踪和管理软件的授权等;2、提出的面向软件生命周期的授权保护方法依赖于网络,不支持离线授权。
[0006]
公开号为cn112685698a的中国发明专利文献公开了一种基于usb key的软件授权方法及系统,本发明包括通过注册程序对被授权计算机进行注册的步骤:调用插入被授权计算机的usb key设备中的算号程序,通过该算号程序基于被授权计算机的机器码生成授权码;将生成的授权码写入被授权计算机。
[0007]
针对上述中的相关技术,发明人认为上述方法授权过程较为复杂,适配性和灵活性较低,成本较高,授权过程依赖网络,不支持离线终端软件授权,且安全性较弱。


技术实现要素:

[0008]
针对现有技术中的缺陷,本发明的目的是提供一种基于机器指纹和usbkey的终端软件授权系统及方法。
[0009]
根据本发明提供的一种基于机器指纹和usbkey的终端软件授权系统,包括如下模块:
[0010]
硬件信息采集模块:采集硬件信息,并发送硬件信息;
[0011]
授权模块:接收所述硬件信息,并对硬件信息进行组合,生成授权文件;
[0012]
激活校验模块:对所述授权文件进行校验;
[0013]
应用安装模块:在所述授权文件通过校验后进行应用软件安装和数据部署。
[0014]
优选的,在所述硬件信息采集模块中,采集的硬件信息包括机器指纹信息,机器指纹信息包括终端设备的mac地址信息、北斗模块序列号信息和磁盘序列号信息。
[0015]
优选的,该系统还包括加解密模块;在所述授权模块中,接收机器指纹信息,对机器指纹信息进行组合,调用加解密模块对组合后的机器指纹信息进行加密,生成授权文件。
[0016]
优选的,在所述激活校验模块中,获取到授权文件,调用加解密模块对授权文件进行解密操作,校验授权文件内容的正确性,进行授权码校验和时间校验。
[0017]
优选的,在所述硬件信息采集模块中,通过adb指令读取终端设备的机器指纹信息。
[0018]
根据本发明提供的一种基于机器指纹和usbkey的终端软件授权方法,包括如下步骤:
[0019]
硬件信息采集步骤:采集硬件信息,并发送硬件信息;
[0020]
授权步骤:接收所述硬件信息,并对硬件信息进行组合,生成授权文件;
[0021]
激活校验步骤:对所述授权文件进行校验;
[0022]
应用安装步骤:在所述授权文件通过校验后进行应用软件安装和数据部署。
[0023]
优选的,在所述硬件信息采集步骤中,采集的硬件信息包括机器指纹信息,机器指纹信息包括终端设备的mac地址信息、北斗步骤序列号信息和磁盘序列号信息。
[0024]
优选的,在所述授权步骤中,接收机器指纹信息,对机器指纹信息进行组合,对组合后的机器指纹信息进行加密,生成授权文件。
[0025]
优选的,在所述激活校验步骤中,获取到授权文件,对授权文件进行解密操作,校
验授权文件内容的正确性,进行授权码校验和时间校验。
[0026]
优选的,在所述硬件信息采集模块中,通过adb指令读取终端设备的机器指纹信息。
[0027]
与现有技术相比,本发明具有如下的有益效果:
[0028]
1、本发明授权过程简单易用,采用独立usbkey进行授权,不依赖其它硬件;
[0029]
2、本发明适配性和灵活性高,成本低;
[0030]
3、本发明解决授权过程对网络的依赖,授权过程不依赖于网络,实现离线授权;
[0031]
4、本发明授权文件与机器指纹实现一一对应,授权码绑定机器指纹,实现“一机一码”,确保安全性;
[0032]
5、授权完成后,usbkey可自动实现软件安装和数据部署,操作简单。
附图说明
[0033]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0034]
图1为本发明usb-key功能模块图;
[0035]
图2为本发明usb-key功能流程图;
[0036]
图3为本发明终端应用运行图。
具体实施方式
[0037]
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0038]
本发明实施例公开了一种基于机器指纹和usbkey的终端软件授权系统,如图1和图2所示,包括硬件信息采集模块、授权模块、激活校验模块、应用安装模块和加解密模块。
[0039]
硬件信息采集模块:采集硬件信息,并发送硬件信息。采集的硬件信息包括机器指纹信息,通过adb指令读取终端设备的机器指纹信息。机器指纹信息包括终端设备的mac地址信息、北斗模块序列号信息和磁盘序列号信息。硬件信息采集模块,其用于采集可以唯一标识设备身份的硬件信息(即机器指纹),自动提取终端设备的mac地址、北斗模块序列号、磁盘序列号等信息,并将提取到的机器指纹信息发送至授权模块。adb英文译文为android debug bridge,中文译文为安卓调试桥,是android sdk中的一个工具,使用adb可以直接操作管理android模拟器或者真实的andriod设备。
[0040]
加解密模块,其用于生成授权文件,激活校验时需要的相关加解密操作。
[0041]
授权模块:接收硬件信息,并对硬件信息进行组合,生成授权文件。接收机器指纹信息,对机器指纹信息进行组合,调用加解密模块对组合后的机器指纹信息进行加密,在终端设备的指定位置生成授权文件。授权模块,其用于接收机器指纹信息,对硬件信息进行组合,调用加解密模块的加密算法对信息进行加密,生成授权文件。
[0042]
激活校验模块:对授权文件进行校验。获取到终端设备处的授权文件进行校验,调用加解密模块对授权文件进行解密操作,校验授权文件内容的正确性,进行授权码校验和
时间校验。激活校验模块,其用于对授权文件进行校验,获取到授权文件信息后校验内容的正确性,包括授权码校验和时间校验。
[0043]
应用安装模块:在授权文件通过校验后对终端设备进行应用软件安装和数据部署。应用安装模块,其用于应用软件的安装和数据部署。调用激活校验模块对授权文件进行判定,通过校验后可自动实现应用软件安装和数据部署。
[0044]
机器指纹的选取:终端设备中,可以作为指纹的能读取的硬件信息有:mac地址,cpu序列号,设备序列号等。mac地址具有唯一性;如果是同一批次同一配置的移动终端设备,cpu序列号存在重复的可能;设备序列号理论上是独一无二的,但是对于终端厂商而言可以对设备序列号进行修改;本方案应用的终端设备为北斗用户机,其中的北斗模块序列号具有唯一性。所以本方案usbkey硬件信息采集模块通过adb指令读取终端设备的mac地址、设备序列号和北斗模块序列号作为机器指纹信息。
[0045]
本系统包括usbkey,usbkey包括硬件信息采集模块、加解密模块、授权模块、激活校验模块和应用安装模块。本发明授权过程简单易用,采用独立usbkey进行授权,不依赖其它硬件;适配性和灵活性高,成本低;解决授权过程对网络的依赖,授权过程不依赖于网络,实现离线授权;授权文件与机器指纹实现一一对应,授权码绑定机器指纹,实现“一机一码”,确保安全性;授权完成后,usbkey可自动实现软件安装和数据部署,操作简单。
[0046]
usbkey设计:usbkey具体设计如表1所示。tea英文全称为tiny encryption algorithm,中文译文为微型加密算法。
[0047]
表1 usbkey设计
[0048][0049]
本发明实施例还提供了一种基于机器指纹和usbkey的终端软件授权方法,如图1和图2所示,包括如下步骤:硬件信息采集步骤:采集硬件信息,并发送硬件信息。采集的硬件信息包括机器指纹信息,通过adb指令读取终端设备的机器指纹信息。机器指纹信息包括
终端设备的mac地址信息、北斗步骤序列号信息和磁盘序列号信息。
[0050]
授权步骤:接收所述硬件信息,并对硬件信息进行组合,生成授权文件。接收机器指纹信息,对机器指纹信息进行组合,对组合后的机器指纹信息进行加密,生成授权文件。
[0051]
激活校验步骤:对所述授权文件进行校验。获取到授权文件,对授权文件进行解密操作,校验授权文件内容的正确性,进行授权码校验和时间校验。
[0052]
应用安装步骤:在所述授权文件通过校验后进行应用软件安装和数据部署。
[0053]
如图2所示,该方法还包括usbkey步骤,usbkey步骤包括如下步骤:步骤1.1:终端设备接入usbkey。步骤1.2:自动读取终端设备机器指纹信息。步骤1.3:若该设备未授权,选择“授权”操作,执行步骤1.4至步骤1.6,若该设备已经授权,选择“应用安装”操作,执行步骤1.7至步骤1.9。
[0054]
步骤1.4:将获取到的机器指纹信息进行组合,加密,生成授权码。步骤1.5:在终端设备指定位置中生成授权文件,写入授权码。步骤1.6:提示用户授权操作成功。
[0055]
步骤1.7:读取终端设备指定位置的授权文件内容。步骤1.8:对读取到的信息进行授权校验操作。步骤1.9:若校验成功,说明为合法授权文件,进行安装应用和数据部署操作。若校验失败,提示用户未授权,“应用安装”操作退出。结束。
[0056]
步骤1.4至步骤1.6的目的是对终端进行授权,是在终端的指定位置生成了一个授权文件。步骤1.7至步骤1.9的目的是对终端进行应用安装,应用安装的第一步步骤1.7就是去判断该终端设备是否已经被授权(也就是是否之前成功执行过步骤1.4至步骤1.6操作)。只有被授权过才能进行应用安装,否则不执行应用安装。步骤1.4至步骤1.6的授权操作和步骤1.7至步骤1.9的应用安装是并列的两个不同操作。二者有可能不是在同一时间点执行的,所以每次在进行应用安装时都需要经过步骤1.7至步骤1.9进行校验。
[0057]
如图3所示,该方法还包括终端运行步骤,终端运行步骤包括如下步骤:步骤2.1:运行应用程序。步骤2.2:首选读取终端设备指定位置的授权文件内容。步骤2.3:对读取到的信息进行授权校验操作。步骤2.4:若校验成功,说明为合法授权文件,应用正常执行。若校验失败,提示用户“软件未授权”,应用退出。结束。
[0058]
授权文件只有唯一一个,所以应用安装和执行时读取、检测的授权文件是一致的。在应用安装时是usbkey去读取检测授权文件,而应用执行时是在终端设备上安装好的具体应用软件去读取、检测授权文件。
[0059]
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
[0060]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
转载请注明原文地址:https://win.8miu.com/read-950024.html

最新回复(0)