CN113761478B - 一种软件产品的授权方法及装置 - Google Patents
一种软件产品的授权方法及装置 Download PDFInfo
- Publication number
- CN113761478B CN113761478B CN202111047793.9A CN202111047793A CN113761478B CN 113761478 B CN113761478 B CN 113761478B CN 202111047793 A CN202111047793 A CN 202111047793A CN 113761478 B CN113761478 B CN 113761478B
- Authority
- CN
- China
- Prior art keywords
- authorization
- authorized
- module
- current module
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013475 authorization Methods 0.000 title claims abstract description 288
- 238000000034 method Methods 0.000 title claims abstract description 154
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 abstract description 29
- 230000006870 function Effects 0.000 description 19
- 238000004088 simulation Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 239000004973 liquid crystal related substance Substances 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 241001674048 Phthiraptera Species 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种软件产品的授权方法及装置,应用于目标软件,所述目标软件中的各个模块不存在关联,所述方法包括:在接收到对所述目标软件的授权请求的情况下,获取所述授权请求中包含的各个待授权模块;其中,所述预设授权方法包括:文件授权、硬件加密狗授权和网络授权;基于所述目标预设授权方法对当前待授权模块进行授权。上述过程中,并没有针对目标软件的整体进行授权,而是基于授权请求,确定了各个待授权模块,针对每个待授权模块,采用对应的授权方法进行授权,在访问目标软件的过程,用户针对目标软件中的每个模块的访问权限是不同的,保证了软件访问的安全性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种软件产品的授权方法及装置。
背景技术
伴随着网络技术的飞速发展,各种软件层出不穷,为了保证软件访问安全性,需要对软件进行授权。
现有的软件授权过程中,对软件的整体进行授权,但是,软件中的部分模块是开发者或者用户不希望用户访问的,在用户对软件访问的过程中,如果用户具有访问权限,可以对软件中的各个模块进行访问,因此,无法保证软件访问的安全性。
发明内容
有鉴于此,本发明提供了一种软件产品的授权方法及装置,用以解决对软件的整体进行授权,但是,软件中的部分模块是开发者或者用户不希望用户访问的,在用户对软件访问的过程中,如果用户具有访问权限,可以对软件中的各个模块进行访问,因此,无法保证软件访问的安全性的问题。具体方案如下:
一种软件产品的授权方法,应用于目标软件,所述目标软件中的各个模块不存在关联,所述方法包括:
在接收到对所述目标软件的授权请求的情况下,获取所述授权请求中包含的各个待授权模块;
针对每个待授权模块,在预设授权方法中选取目标预设授权方法,其中,所述预设授权方法包括:文件授权、硬件加密狗授权和网络授权;
基于所述目标预设授权方法对当前待授权模块进行授权。
上述的方法,可选的,在所述目标授权方法为文件授权的情况下,基于所述目标预设授权方法对当前待授权模块进行授权,包括:
确定所述当前待授权模块的第一原文,其中,所述第一原文包括:第一MAC地址、所述当前待授权模块名称和所述当前待授权模块的授权截止日期;
基于预设的加密算法对所述第一原文进行加密得到第一密文;
运行所述目标软件,将所述第一密文存储到所述目标软件的第一预设位置,基于预设解密算法对所述第一密文进行解密,得到所述授权截止日期;
基于所述授权截止日期确定所述当前待授权模块的授权状态。
上述的方法,可选的,在所述目标授权方法为硬件加密狗授权的情况下,基于所述目标预设授权方法对当前待授权模块进行授权,包括:
确定所述当前待授权模块的第二原文,其中,所述第二原文包括:所述当前待授权模块的编码和授权截止日期;
基于预设的加密方法对所述第二原文进行加密,得到第二密文;
将所述第二密文写入硬件加密狗,在检测到所述硬件加密狗插入终端的情况下,对所述第二密文进行机密,得到所述授权截止日期;
基于所述授权截止日期确定所述当前待授权模块的授权状态。
上述的方法,可选的,在所述目标授权方法为网络授权的情况下,基于所述目标预设授权方法对当前待授权模块进行授权,包括:
确定所述当前模块的第三原文,其中,所述第三原文包括:第二MAC地址,所述当前授权模块编码和所述当前授权模块截止日期;
基于预设的加密方法对所述第三原文进行加密,得到第三密文,将所述第三密文导入所述目标软件中;
若接收到的终端发送的请求授权指令的数量小于终端阈值,基于所述预设的解密方法对所述第三密文进行解密,得到所述授权截止日期;
基于所述授权截止日期确定所述当前待授权模块的授权状态。
上述的方法,可选的,基于所述授权截止日期确定所述当前待授权模块的授权状态,包括:
获取当前日期,将所述当前日期与所述授权截止日期进行比较;
若所述授权截止日期早与所述当前日期,则判定所述当前待授权模块未授权,对所述当前待授权模块禁用;
若所述授权截止日期晚于所述当前日期,则判定所述当前待授权模块授权,对所述当前待授权模块使能。
一种软件产品的授权装置,应用于目标软件,所述目标软件中的各个模块不存在关联,所述装置包括:
获取模块,用于在接收到对所述目标软件的授权请求的情况下,获取所述授权请求中包含的各个待授权模块;
选取模块,用于针对每个待授权模块,在预设授权方法中选取目标预设授权方法,其中,所述预设授权方法包括:文件授权、硬件加密狗授权和网络授权;
授权模块,用于基于所述目标预设授权方法对当前待授权模块进行授权。
上述的装置,可选的,在所述目标授权方法为文件授权的情况下,所述授权模块包括:
第一确定单元,用于确定所述当前待授权模块的第一原文,其中,所述第一原文包括:第一MAC地址、所述当前待授权模块名称和所述当前待授权模块的授权截止日期;
第一加密单元,用于基于预设的加密算法对所述第一原文进行加密得到第一密文;
第一解密单元,用于运行所述目标软件,将所述第一密文存储到所述目标软件的第一预设位置,基于预设解密算法对所述第一密文进行解密,得到所述授权截止日期;
状态确定单元,用于基于所述授权截止日期确定所述当前待授权模块的授权状态。
上述的装置,可选的,在所述目标授权方法为硬件加密狗授权的情况下,所述授权模块包括:
第二确定单元,用于确定所述当前待授权模块的第二原文,其中,所述第二原文包括:所述当前待授权模块的编码和授权截止日期;
第二加密单元,用于基于预设的加密方法对所述第二原文进行加密,得到第二密文;
第二解密单元,用于将所述第二密文写入硬件加密狗,在检测到所述硬件加密狗插入终端的情况下,对所述第二密文进行机密,得到所述授权截止日期;
状态确定单元,用于基于所述授权截止日期确定所述当前待授权模块的授权状态。
上述的装置,可选的,在所述目标授权方法为网络授权的情况下,所述授权模块包括:
第三确定单元,用于确定所述当前模块的第三原文,其中,所述第三原文包括:第二MAC地址,所述当前授权模块编码和所述当前授权模块截止日期;
第三加密单元,用于基于预设的加密方法对所述第三原文进行加密,得到第三密文,将所述第三密文导入所述目标软件中;
第三解密单元,用于若接收到的终端发送的请求授权指令的数量小于终端阈值,基于所述预设的解密方法对所述第三密文进行解密,得到所述授权截止日期;
状态确定单元,基于所述授权截止日期确定所述当前待授权模块的授权状态。
上述的装置,可选的,所述状态确定单元包括:
比较子单元,用于获取当前日期,将所述当前日期与所述授权截止日期进行比较;
禁用子单元,用于若所述授权截止日期早与所述当前日期,则判定所述当前待授权模块未授权,对所述当前待授权模块禁用;
使能子单元,用于若所述授权截止日期晚于所述当前日期,则判定所述当前待授权模块授权,对所述当前待授权模块使能。
与现有技术相比,本发明包括以下优点:
本发明公开了一种软件产品的授权方法及装置,应用于目标软件,所述目标软件中的各个模块不存在关联,所述方法包括:在接收到对所述目标软件的授权请求的情况下,获取所述授权请求中包含的各个待授权模块;其中,所述预设授权方法包括:文件授权、硬件加密狗授权和网络授权;基于所述目标预设授权方法对当前待授权模块进行授权。上述过程中,并没有针对目标软件的整体进行授权,而是基于授权请求,确定了各个待授权模块,针对每个待授权模块,采用对应的授权方法进行授权,在访问目标软件的过程,用户针对目标软件中的每个模块的访问权限是不同的,保证了软件访问的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种软件产品的授权方法流程图;
图2为本申请实施例公开的一种软件产品的网络授权方法时序图;
图3为本申请实施例公开的一种软件产品的授权方法又一流程图;
图4为本申请实施例公开的一种软件产品的授权装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明公开了一种软件产品的授权方法及装置,应用于软件产品的授权过程中,现有技术中软件产品的授权都是基于软件整体进行授权,一旦用户获得授权,可以访问软件中的各个模块,但是,针对不同的用户或者不同的应用场景软件产品的开发者并不希望软件产品中的全部模块被用户访问,因此,本发明提供了一种软件产品的授权方法,所述方法应用于目标软件,所述目标软件中的各个模块不存在关联,即所述目标软件的各个模块的输入和输出不存在依赖关系,本发明实施例中,以所述目标软件为GCAir软件产品为例进行说明,所述GCAir软件产品基于FMI国际标准协议,主要面向航空、航天领域的多源异构模型交互性仿真、测试软件。它成功解决了市面上多种软件开发的模型间软件接口兼容性,以及仿真系统接口规范数字化的问题,为复杂仿真系统的协作开发与集成测试提供工具支撑。
GCAir软件平台基于FMI标准、着眼于复杂系统架构设计与模型的规范性、兼容性问题,从整体性角度考虑模型间的集成工作,其主要功能可分为如下七大类:
架构设计功能:主要包括子系统的接口定义,模型模板导出、模型导入与连接、执行分组与排序等;
模型相关功能:主要包括模型模块的增加和删除,对模型信息的加载和显示等;
配置相关功能:主要包括设置FMU参数功能、FMU模块间变量的映射关系、仿真工程中的系统参数设置等;
仿真相关功能:主要包括仿真过程的控制,仿真数据的管理和保存,仿真过程中外部信息的动态干预,仿真过程中断点的应用和调试等;
实时仿真功能:主要包括实时仿真引擎,Linux下FMU自动重编译,硬件接口板卡支持等;
数据处理功能:主要包括仿真数据的显示和分析,快速傅里叶变换(FFT)的计算和显示,参数化定制型组合面板的快速加入,实时输入介入、显示结果等;
批量测试功能:主要包括测试用例脚本加载,仿真模型加载,结果评估脚本加载,参数化报表生成等;
其它功能:包括使用外部硬件实时输入,连接FlightGear、Unity3D定制工具进行3D动画同步演示,通过COM机制被其它计算机编程语言进行调用等。
GCAir关键功能模块如表1所示:
表1
序号 | 模块功能描述 | 模块名称 | 模块编号 |
1 | GCAir基础操作模块 | GCAirBase | 001 |
2 | 摇杆功能 | Joystick | 002 |
3 | 固定翼功能 | FixedWing | 003 |
4 | 航空虚拟面板 | AviationVirtualPanel | 004 |
5 | 航空3D视景 | Aviation3DView | 005 |
6 | TCP通讯模块 | TCP | 006 |
7 | SimulinkFmu导出插件 | SimulinkFmuPlugin | 007 |
8 | 航天地球场景 | SpaceFlightEarth | 008 |
9 | 航天太阳系场景 | SpaceFlightSun | 009 |
10 | CAN总线通讯模块 | CAN | 010 |
11 | 1553总线通讯模块 | 1553 | 011 |
12 | 仅示例工程运行模式 | RunOnly | 012 |
所述方法的执行流程如图1所示,包括步骤:
S101、在接收到对所述目标软件的授权请求的情况下,获取所述授权请求中包含的各个待授权模块;
本发明实施例中,在接收到对所述目标软件的授权请求的情况下,解析所述授权请求,获取所述授权请求中包含的各个待授权模块,其中,所述各个待授权模块的选取是基于用户的需求、具体的应用场景或者其它选取条件进行确定的。
S102、针对每个待授权模块,在预设授权方法中选取目标预设授权方法,其中,所述预设授权方法包括:文件授权、硬件加密狗授权和网络授权;
本发明实施例中,针对每个待授权模块,在文件授权、硬件加密狗授权和网络授权中选取目标授权方法,其中,所述目标授权方法的选取可以基于经验或者具体情况进行选取,本发明实施例中,对具体的选取方法不进行限定。
进一步的,文件授权的话,是生成一个GCAir.lic文件,放在指定路径下,启动GCAir,GCAir就会去指定路径下读取文件内容获得密文;硬件加密狗授权的话,是把密文写入一个类似于U盘的介质,软件启动之前就已经插在电脑的USB接口了。GCAir启动时会去读取里面的内容;网络软件许可授权是先设置好服务器,把授权文件配置在服务器上,从GCAir预先配置好服务器的ip地址,重启GCAir之后,GCAir通过tcp通讯获得配置好的服务器上的密文。
S103、基于所述目标预设授权方法对当前待授权模块进行授权。
本发明实施例中,针对每个待授权模块,在选取与其对应的目标授权方法后,基于所述目标授权方法对所述当前待授权模块进行授权,例如,仅对某一台指定电脑授权,那么可以用文件授权的形式,每个授权许可文件仅仅适用一台电脑。同时只有一台电脑被授权,但是不固定是哪一台电脑,用户的电脑有可用的usb接口,可以用硬件加密狗授权的形式,加密狗插在哪台机器上,哪台机器的GCAir就可以被授权。同时可以有多台电脑被授权,这些电脑处于同一个局域网中,但是不固定是某几台电脑,可以用网络软授权形式,通过在局域网中搭建服务器和客户端的环境,给服务器授权从而使得客户端多台电脑也被授权。
本发明公开了一种软件产品的授权方法,应用于目标软件,所述目标软件中的各个模块不存在关联,所述方法包括:在接收到对所述目标软件的授权请求的情况下,获取所述授权请求中包含的各个待授权模块;其中,所述预设授权方法包括:文件授权、硬件加密狗授权和网络授权;基于所述目标预设授权方法对当前待授权模块进行授权。上述过程中,并没有针对目标软件的整体进行授权,而是基于授权请求,确定了各个待授权模块,针对每个待授权模块,采用对应的授权方法进行授权,在访问目标软件的过程,用户针对目标软件中的每个模块的访问权限是不同的,保证了软件访问的安全性。
本发明实施例中,在所述目标授权方法为文件授权的情况下,基于所述目标预设授权方法对当前待授权模块进行授权的授权过程如下:
1.1运行GCAir,读取本台计算机终端的MAC地址。
1.2用GCAir配套的license文件制作工具,生成第一原文,所述第一原文包括:第一MAC地址+表1中的各个待授权模块名称+对应待授权模块授权截止日期。所述第一原文基于对应的软件应用程序,在表格中填写模块编码+授权截止日期生成,若存在多个当前待授权模块,依次填写完所有当前待授权模块即可。
1.3设计一段加密密钥“xxx11xx”,把所述原文通过预设加密算法加密后生成GCAir.lic文件,本发明实施例中,对所述预设加密算法不进行限定,优选的,所述预设加密方法可以为MD5加密算法,其中,加密密钥的设计原则如下:所述加密密钥不小于预设字符数,优选的,所述预设字符数可以为50,所述加密密钥可以是中文英文字符。MD5加密算法加密后,把所述第一原文加密成第一密文,其实所述第一密文也是一个字符串,调用写文件的接口,把所述第一密文写入某指定路径下的GCAir.lic文件。
1.4打开GCAir软件,配置授权方式为文件授权模式,点击导入License菜单,可以把GCAir.lic文件导入到正确的路径下。
1.5读取所述第一密文后,用加密密钥和本机所有第一MAC地址依次组成对应的字符集合,每一种集合都调用一下MD5加密接口生成一段密文,这些密文依次和GCAir.lic的开头对比,若否,认为该lic文件并非给本机授权,若是GCAir.lic的开头一串字符,那么认为该lic文件是给本机授权的,可以进一步进行模块授权日期的解析,GCAir软件根据当前的GCAir.lic文件内容,使用MD5和密钥“xxx11xx”进行解密,得到所述授权截止日期,获取当前日期,将所述当前日期与所述授权截止日期进行比较,若所述授权截止日期早与所述当前日期,则判定所述当前待授权模块未授权,对所述当前待授权模块禁用;若所述授权截止日期晚于所述当前日期,则判定所述当前待授权模块授权,对所述当前待授权模块使能。这样GCAir就解析出各个模块当前的授权状态(使能/禁用)。
1.6 GCAir软件根据当前模块的授权状态(使能/禁用),在UI界面使能/禁用对应功能按钮,从而实现了软件产品的分模块授权。
本发明实施例中,所述目标授权方法为硬件加密狗授权的情况下,基于所述目标预设授权方法对当前待授权模块进行授权的授权过程如下:
2.1 GCAir软件配置GCAir的授权方式为加密狗模式
2.2用GCAir配套的加密狗写入工具,生成第二原文,所述第二原文包括:当前待授权模块的编码+该模块授权截止日期。所述第二原文的具体生成过程如下:GCAir配套的加密狗写入工具,先把加密狗插在电脑上,然后打开对应的软件应用程序,在表格中填写模块编码+授权截止日期,依次填写完所有要授权的模块即可,所述第二原文存在加密狗里。
2.3设计一段加密密钥“xxx22xx”,把原文通过MD5加密算法对所述第二原文进行加密,得到第二密文。其中,所述第二密文的加密过程和所述加密密钥的设计原则与1.3中所述第一密文相同,在此不再赘述。
2.4将所述第二密文写入硬件加密狗,所述硬件加密狗插在被授权电脑的usb接口上。
2.5 GCAir软件检测到所述硬件加密狗存在,读取所述硬件加密狗中的信息,使用MD5算法和密钥“xxx22xx”对所述第二密文进行解密。其中,所述第二密文的解密过程与1.5中所述第一密文的解密过程相同,在此不再赘述。
2.6解密后得到待授权模块的授权情况,在GCAir软件的UI按钮进行对应的使能禁止,从而实现了分模块授权。
本发明实施例中,在所述目标授权方法为网络授权的情况下,基于所述目标预设授权方法对当前待授权模块进行授权的授权过程如下:
3.1 GCAir软件配置GCAir的授权方式为网络软授权模式。
3.2服务器许可配置:用GCAir配套的网络软授权文件制作工具,生成第三原文,其中,所述第三原文包括:第二MAC地址(服务器MAC地址)+当前待授权模块的编码+待授权模块授权截止日期。所述第三原文基于对应的软件应用程序,在表格中填写模块编码+授权截止日期生成,若存在多个当前待授权模块,依次填写完所有当前待授权模块即可。
3.3设计一段加密密钥“xxx33xx”,把所述第三原文通过MD5加密算法加密,得到第三密文保存为rc后缀的文件,导入服务器的GCAir中。所述第三密文的加密过程和所述加密密钥的设计原则与1.3中所述第一密文相同,在此不再赘述。
3.4配置客户端GCAir的授权方式为网络授权模式,指定服务器ip地址(服务器ip必须和本机器位于同一个局域网内)。
3.5服务器在接收到所述第三密文后,判断接收到所述第三密文的数量是否大于预设的终端阈值N,客户端启动GCAir,客户端与服务器通过TCP通讯,客户端向服务器请求授权,服务器判断当前授权机器数<N,服务器上的GCAir使用MD5算法和密钥“xxx33xx”对所述第三密文进行解密,得到每个功能模块的授权情况。所述第三密文的解密过程与1.5中所述第一密文的解密过程相同,在此不再赘述。服务器记录当前在线授权机器数+1,在客户端GCAir根据此授权信息对UI按钮进行使能禁止,从而实现了服务器对客户端GCAir的授权;若客户端向服务器请求授权,服务器判断当前授权机器数>=N,则向客户端发送当前已授权机器超过设定上限的信息,客户端不能被授权。
在所述目标授权方法为网络授权的情况下,客户端GCAir与服务器GCAir的交互流程如图2所示:针对客户端GCAir,预配置网络授权客户端,针对服务器GCAir,启动GCAir,配置为网络授权服务器端,准备就绪,设置count=0,针对客户端GCAir,启动GCAir,与服务器GCAir建立tcp连接,客户端GCAir发送请求授权密文(第三密文),服务器GCAir收到请求,判断是否count<N,若是,应答当前在网数已经超出N,所述客户端GCAir接收到应答,若否,应答授权密文,count++,所述客户端GCAir接收到应答,所述客户端GCAir用密钥和特定算法解密密文,若没有密文则按照都禁用解析,得到各个模块的授权状态,各功能菜单初始化,GCAir启动完成,退出GCAir前tcp给服务器发送退出消息,退出GCAir,服务器GCAir接收到退出消息后,count--,等待下一个客户端连接。
本发明实施例中,加密密钥“xxx11xx”“xxx22xx”“xxx33xx”并不是真实的GCAir产品的加密密钥,只是为了方便描述写成这种形式。注意每一种授权形式都需要有一个单独的许可证制作工具生成许可证授权。
本发明实施例中,所述授权的执行流程如图3所示,授权方式已确定,许可证准备就绪,启动GCAir,判断是否文件授权,若是,用密钥xxx11xx和MD5解密第一密文,获得各个模块的授权状态,存放在对应的列表中,GCAir的界面各功能菜单在初始化是授权状态列表内容初始化为使能/禁止,GCAir启动完毕,若不是文件授权,判断是否为硬件加密狗授权,若是,从加密狗中读取第二密文,密钥xxx22xx和MD5解密第二密文,GCAir的界面各功能菜单在初始化是授权状态列表内容初始化为使能/禁止,GCAir启动完毕,若不是硬件加密狗授权,则判断是否为网络授权,若是,向服务器请求授权状态,是否收到服务器应答,若是,用密钥xxx33xx和MD5解密第三密文,若没有第三密文按照都禁用解析,各个模块的授权状态均设为禁用。
基于上述的一种软件产品的授权方法,本发明实施例中还提供了一种软件产品的授权装置,用于目标软件,所述目标软件中的各个模块不存在关联,所述装置的结构框图如图4所示,包括:
获取模块201、选取模块202和授权模块203。
其中,
所述获取模块201,用于在接收到对所述目标软件的授权请求的情况下,获取所述授权请求中包含的各个待授权模块;
所述选取模块202,用于针对每个待授权模块,在预设授权方法中选取目标预设授权方法,其中,所述预设授权方法包括:文件授权、硬件加密狗授权和网络授权;
所述授权模块203,用于基于所述目标预设授权方法对当前待授权模块进行授权。
本发明公开了一种软件产品的授权装置,应用于目标软件,所述目标软件中的各个模块不存在关联,所述装置包括:在接收到对所述目标软件的授权请求的情况下,获取所述授权请求中包含的各个待授权模块;其中,所述预设授权方法包括:文件授权、硬件加密狗授权和网络授权;基于所述目标预设授权方法对当前待授权模块进行授权。上述过程中,并没有针对目标软件的整体进行授权,而是基于授权请求,确定了各个待授权模块,针对每个待授权模块,采用对应的授权方法进行授权,在访问目标软件的过程,用户针对目标软件中的每个模块的访问权限是不同的,保证了软件访问的安全性。
本发明实施例中,在所述目标授权方法为文件授权的情况下,所述授权模块包括:
第一确定单元204、第一加密单元205、第一解密单元206和状态确定单元207。
其中,
所述第一确定单元204,用于确定所述当前待授权模块的第一原文,其中,所述第一原文包括:第一MAC地址、所述当前待授权模块名称和所述当前待授权模块的授权截止日期;
所述第一加密单元205,用于基于预设的加密算法对所述第一原文进行加密得到第一密文;
所述第一解密单元206,用于运行所述目标软件,将所述第一密文存储到所述目标软件的第一预设位置,基于预设解密算法对所述第一密文进行解密,得到所述授权截止日期;
所述状态确定单元207,用于基于所述授权截止日期确定所述当前待授权模块的授权状态。
本发明实施例中,在所述目标授权方法为硬件加密狗授权的情况下,所述授权模块包括:
第二确定单元208、第二加密单元209、第二解密单元210和状态确定单元207
所述第二确定单元208,用于确定所述当前待授权模块的第二原文,其中,所述第二原文包括:所述当前待授权模块的编码和授权截止日期;
所述第二加密单元209,用于基于预设的加密方法对所述第二原文进行加密,得到第二密文;
所述第二解密单元210,用于将所述第二密文写入硬件加密狗,在检测到所述硬件加密狗插入终端的情况下,对所述第二密文进行机密,得到所述授权截止日期;
所述状态确定单元207,用于基于所述授权截止日期确定所述当前待授权模块的授权状态。
本发明实施例中,在所述目标授权方法为网络授权的情况下,所述授权模块包括:
第三确定单元211、第三加密单元212、第三解密单元213和状态确定单元207。
其中,
所述第三确定单元211,用于确定所述当前模块的第三原文,其中,所述第三原文包括:第二MAC地址,所述当前授权模块编码和所述当前授权模块截止日期;
所述第三加密单元212,用于基于预设的加密方法对所述第三原文进行加密,得到第三密文,将所述第三密文导入所述目标软件中;
所述第三解密单元213,用于若接收到的终端发送的请求授权指令的数量小于终端阈值,基于所述预设的解密方法对所述第三密文进行解密,得到所述授权截止日期;
所述状态确定单元207,基于所述授权截止日期确定所述当前待授权模块的授权状态。
本发明实施例中,所述状态确定单元207包括:
比较子单元214,禁用子单元215和使能子单元216。
其中,
所述比较子单元214,用于获取当前日期,将所述当前日期与所述授权截止日期进行比较;
所述禁用子单元215,用于若所述授权截止日期早与所述当前日期,则判定所述当前待授权模块未授权,对所述当前待授权模块禁用;
所述使能子单元216,用于若所述授权截止日期晚于所述当前日期,则判定所述当前待授权模块授权,对所述当前待授权模块使能。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (4)
1.一种软件产品的授权方法,其特征在于,应用于目标软件,所述目标软件中的各个模块不存在关联,所述方法包括:
在接收到对所述目标软件的授权请求的情况下,解析所述授权请求,获取所述授权请求中包含的各个待授权模块;
针对每个待授权模块,在预设授权方法中选取目标预设授权方法,其中,所述预设授权方法包括:文件授权、硬件加密狗授权和网络授权;其中,若对一台指定电子设备进行授权,则选取文件授权;若对一台不固定电子设备进行授权,则选取硬件加密狗授权;若对多台电子设备进行授权,则选取网络授权;
基于所述目标预设授权方法对当前待授权模块进行授权;
其中,在所述目标预设授权方法为文件授权的情况下,基于所述目标预设授权方法对当前待授权模块进行授权,包括:
确定所述当前待授权模块的第一原文,其中,所述第一原文包括:第一MAC地址、所述当前待授权模块名称和所述当前待授权模块的授权截止日期;
基于预设的加密算法对所述第一原文进行加密得到第一密文;
运行所述目标软件,将所述第一密文存储到所述目标软件的第一预设位置,基于预设解密算法对所述第一密文进行解密,得到所述授权截止日期;
基于所述授权截止日期确定所述当前待授权模块的授权状态;
其中,在所述目标预设授权方法为硬件加密狗授权的情况下,基于所述目标预设授权方法对当前待授权模块进行授权,包括:
确定所述当前待授权模块的第二原文,其中,所述第二原文包括:所述当前待授权模块的编码和授权截止日期;
基于预设的加密方法对所述第二原文进行加密,得到第二密文;
将所述第二密文写入硬件加密狗,在检测到所述硬件加密狗插入终端的情况下,对所述第二密文进行解密,得到所述授权截止日期;
基于所述授权截止日期确定所述当前待授权模块的授权状态;
其中,在所述目标预设授权方法为网络授权的情况下,基于所述目标预设授权方法对当前待授权模块进行授权,包括:
确定所述当前待授权模块的第三原文,其中,所述第三原文包括:第二MAC地址,所述当前待授权模块编码和所述当前待授权模块截止日期;
基于预设的加密方法对所述第三原文进行加密,得到第三密文,将所述第三密文导入所述目标软件中;
若接收到的终端发送的请求授权指令的数量小于终端阈值,基于所述预设的解密方法对所述第三密文进行解密,得到所述当前待授权模块截止日期;
基于所述当前待授权模块截止日期确定所述当前待授权模块的授权状态。
2.根据权利要求1所述的方法,其特征在于,基于所述授权截止日期确定所述当前待授权模块的授权状态,包括:
获取当前日期,将所述当前日期与所述授权截止日期进行比较;
若所述授权截止日期早与所述当前日期,则判定所述当前待授权模块未授权,对所述当前待授权模块禁用;
若所述授权截止日期晚于所述当前日期,则判定所述当前待授权模块授权,对所述当前待授权模块使能。
3.一种软件产品的授权装置,其特征在于,应用于目标软件,所述目标软件中的各个模块不存在关联,所述装置包括:
获取模块,用于在接收到对所述目标软件的授权请求的情况下,解析所述授权请求,获取所述授权请求中包含的各个待授权模块;
选取模块,用于针对每个待授权模块,在预设授权方法中选取目标预设授权方法,其中,所述预设授权方法包括:文件授权、硬件加密狗授权和网络授权;其中,若对一台指定电子设备进行授权,则选取文件授权;若对一台不固定电子设备进行授权,则选取硬件加密狗授权;若对多台电子设备进行授权,则选取网络授权;
授权模块,用于基于所述目标预设授权方法对当前待授权模块进行授权;
其中,在所述目标预设授权方法为文件授权的情况下,所述授权模块包括:
第一确定单元,用于确定所述当前待授权模块的第一原文,其中,所述第一原文包括:第一MAC地址、所述当前待授权模块名称和所述当前待授权模块的授权截止日期;
第一加密单元,用于基于预设的加密算法对所述第一原文进行加密得到第一密文;
第一解密单元,用于运行所述目标软件,将所述第一密文存储到所述目标软件的第一预设位置,基于预设解密算法对所述第一密文进行解密,得到所述授权截止日期;
状态确定单元,用于基于所述授权截止日期确定所述当前待授权模块的授权状态;
其中,在所述目标预设授权方法为硬件加密狗授权的情况下,所述授权模块包括:
第二确定单元,用于确定所述当前待授权模块的第二原文,其中,所述第二原文包括:所述当前待授权模块的编码和授权截止日期;
第二加密单元,用于基于预设的加密方法对所述第二原文进行加密,得到第二密文;
第二解密单元,用于将所述第二密文写入硬件加密狗,在检测到所述硬件加密狗插入终端的情况下,对所述第二密文进行解密,得到所述授权截止日期;
第一状态确定单元,用于基于所述授权截止日期确定所述当前待授权模块的授权状态;
其中,在所述目标预设授权方法为网络授权的情况下,所述授权模块包括:
第三确定单元,用于确定所述当前待授权模块的第三原文,其中,所述第三原文包括:第二MAC地址,所述当前待授权模块编码和所述当前待授权模块截止日期;
第三加密单元,用于基于预设的加密方法对所述第三原文进行加密,得到第三密文,将所述第三密文导入所述目标软件中;
第三解密单元,用于若接收到的终端发送的请求授权指令的数量小于终端阈值,基于所述预设的解密方法对所述第三密文进行解密,得到所述当前待授权模块截止日期;
状态确定单元,基于所述当前待授权模块截止日期确定所述当前待授权模块的授权状态。
4.根据权利要求3所述的装置,其特征在于,所述状态确定单元包括:
比较子单元,用于获取当前日期,将所述当前日期与所述授权截止日期进行比较;
禁用子单元,用于若所述授权截止日期早与所述当前日期,则判定所述当前待授权模块未授权,对所述当前待授权模块禁用;
使能子单元,用于若所述授权截止日期晚于所述当前日期,则判定所述当前待授权模块授权,对所述当前待授权模块使能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111047793.9A CN113761478B (zh) | 2021-09-08 | 2021-09-08 | 一种软件产品的授权方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111047793.9A CN113761478B (zh) | 2021-09-08 | 2021-09-08 | 一种软件产品的授权方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113761478A CN113761478A (zh) | 2021-12-07 |
CN113761478B true CN113761478B (zh) | 2023-11-03 |
Family
ID=78793691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111047793.9A Active CN113761478B (zh) | 2021-09-08 | 2021-09-08 | 一种软件产品的授权方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113761478B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117146854B (zh) * | 2023-10-26 | 2024-01-26 | 北京世冠金洋科技发展有限公司 | 配置车辆移动轨迹的方法及其相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866404A (zh) * | 2010-06-13 | 2010-10-20 | 用友软件股份有限公司 | 软件系统模块独立授权控制方法和装置 |
CN103906054A (zh) * | 2012-12-28 | 2014-07-02 | 上海农业信息有限公司 | 物联网软件功能模块授权方法及系统 |
CN104700002A (zh) * | 2013-12-05 | 2015-06-10 | 航天信息软件技术有限公司 | 一种软件保护、授权和注册的方法 |
WO2018119644A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳配天智能技术研究院有限公司 | 一种软件授权方法、系统及设备 |
-
2021
- 2021-09-08 CN CN202111047793.9A patent/CN113761478B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866404A (zh) * | 2010-06-13 | 2010-10-20 | 用友软件股份有限公司 | 软件系统模块独立授权控制方法和装置 |
CN103906054A (zh) * | 2012-12-28 | 2014-07-02 | 上海农业信息有限公司 | 物联网软件功能模块授权方法及系统 |
CN104700002A (zh) * | 2013-12-05 | 2015-06-10 | 航天信息软件技术有限公司 | 一种软件保护、授权和注册的方法 |
WO2018119644A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳配天智能技术研究院有限公司 | 一种软件授权方法、系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113761478A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108810894B (zh) | 终端授权方法、装置、计算机设备和存储介质 | |
CN105408912B (zh) | 处理认证和资源许可 | |
US10547601B2 (en) | System and method to allow third-party developer to debug code in customer environment | |
JP3753885B2 (ja) | 国際暗号体系のホストシステム要素 | |
WO2018113596A1 (zh) | 应用程序审核操作权限处理方法、装置和存储介质 | |
US8353046B2 (en) | System and method for delivery of a modular operating system | |
CN111767095A (zh) | 微服务生成方法、装置、终端设备及存储介质 | |
KR20140109130A (ko) | 암호 설정 방법 및 장치와, 락 해제 방법 및 장치 | |
CN110213276A (zh) | 一种微服务架构下的授权验证方法、服务器、终端及介质 | |
CN108304698B (zh) | 产品授权使用方法、装置、计算机设备和存储介质 | |
KR101742900B1 (ko) | 제3자를 통한 임의의 애플리케이션으로의 안전한 자동 인증 액세스 | |
US10664585B2 (en) | Authentication using multiple mobile devices | |
US11057219B2 (en) | Timestamped license data structure | |
US20080172750A1 (en) | Self validation of user authentication requests | |
CN104104650B (zh) | 数据文件访问方法及终端设备 | |
CN107239691B (zh) | 对接入计算设备的外置设备进行控制的方法、装置及系统 | |
CN113761478B (zh) | 一种软件产品的授权方法及装置 | |
CN107688756B (zh) | 硬盘控制方法、设备及可读存储介质 | |
CN114139114A (zh) | 一种基于前端低代码开发维护系统及方法 | |
US10866711B1 (en) | Providing account information to applications | |
CN109784073A (zh) | 数据访问方法及装置、存储介质、计算机设备 | |
CN109889342A (zh) | 接口测试鉴权方法、装置、电子设备及存储介质 | |
CN111177752B (zh) | 一种基于静态度量的可信文件存储方法、装置及设备 | |
CN114036491A (zh) | 软件管理方法、系统和存储介质 | |
CN109167785A (zh) | 一种虚拟可信根的调用方法和业务服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |