CN109388915B - 一种软件授权方法、装置及系统 - Google Patents

一种软件授权方法、装置及系统 Download PDF

Info

Publication number
CN109388915B
CN109388915B CN201710653538.6A CN201710653538A CN109388915B CN 109388915 B CN109388915 B CN 109388915B CN 201710653538 A CN201710653538 A CN 201710653538A CN 109388915 B CN109388915 B CN 109388915B
Authority
CN
China
Prior art keywords
authorization
software
request
authorization request
cloud
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
Application number
CN201710653538.6A
Other languages
English (en)
Other versions
CN109388915A (zh
Inventor
李拓
刘芳宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Neusoft Corp
Original Assignee
Neusoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Neusoft Corp filed Critical Neusoft Corp
Priority to CN201710653538.6A priority Critical patent/CN109388915B/zh
Publication of CN109388915A publication Critical patent/CN109388915A/zh
Application granted granted Critical
Publication of CN109388915B publication Critical patent/CN109388915B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种软件授权方法、装置及系统,其中的方法包括:软件授权中心接收云端软件的授权请求;所述软件授权中心与云端软件物理隔离;根据所述授权请求的来源校验所述授权请求是否合法;若校验所述授权请求合法,则根据所述授权请求制作授权信息;根据所述授权请求,制作授权信息;将所述授权信息发送给所述云端软件进行授权。本发明用于给云端的软件授权,既保证了云端软件可弹性部署,又能有效防止软件被任意拷贝和非法滥用。

Description

一种软件授权方法、装置及系统
技术领域
本发明涉及云计算技术领域,具体涉及一种软件授权方法、装置及系统。
背景技术
云授权是一种软件运营模式的授权。通常,软件开发商的软件还是在本地运行,但授权许可始终保存在授权服务器——“云端”。云授权要求客户端软件具备连网条件,可以根据具体的情况要求时刻连网或每隔一个固定的时间连一次网,以便跟踪和管理授权。相比本地授权,云授权的核心机制只存在于服务器上,而服务器与应用软件之间采用了高安全性通讯协议,所以安全级别更高。
但是,在一般的云计算场景下,由于场景的不同,软件的运行环境也不同。传统的软件运行环境稳定,而云计算场景下,软件可以运行在虚拟机中。虚拟机具有硬件特征不确定、可整机任意拷贝、可整机删除等特性。因此,传统的基于硬件绑定的本地授权方式并不适用于云计算环境中。而通常的云授权方式,也由于软件运行环境的不确定而仅能保证一般授权方式的安全,不能保证具体的云端内部软件分发授权的安全。
因而,现有技术中的软件授权方式,均不能很好的在云计算场景中应用。针对现有软件授权方式在云计算场景中的种种缺陷,亟需要一种适用于云计算场景的软件授权方案。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的软件授权方法、装置及系统。
根据本发明的一个方面,提供了一种软件授权方法,其包括:
软件授权中心接收云端软件的授权请求;所述软件授权中心与云端软件物理隔离;
根据所述授权请求的来源校验所述授权请求是否合法;
若校验所述授权请求合法,则根据所述授权请求制作授权信息;
将所述授权信息发送给所述云端软件进行授权。
较佳的,所述根据所述授权请求的来源校验所述授权请求是否合法包括:
判断所述授权请求是否来源于本地局域网;
若所述授权请求来源于本地局域网,则确定所述授权请求合法;
若所述授权请求不是来源于本地局域网,则确定所述授权请求不合法。
较佳的,所述判断所述授权请求是否来源于本地局域网包括:
判断所述授权请求的转发次数是否小于预设阈值;
若是所述授权请求的转发次数小于预设阈值,则确定所述授权请求来源于本地局域网;
若是所述授权请求的转发次数大于等于预设阈值,则确定所述授权请求不是来源于本地局域网。
较佳的,所述校验所述授权请求合法之后,所述方法还包括:
判断所述授权请求对应的软件激活数量是否超过用户购买的授权数;
所述根据所述授权请求制作授权信息包括:
若所述授权请求对应的软件激活数量未超过用户购买的授权数,则根据所述授权请求制作授权信息。
较佳的,所述根据所述授权请求制作授权信息包括:
根据所述授权请求中的对应软件运行环境特征信息制作软件授权信息,并对该授权信息进行数字签名;
所述将所述授权信息发送给所述云端软件进行授权包括:
将所述授权信息发送给所述云端软件,由所述云端软件校验所述授权信息的数字签名是否合法,并校验所述授权信息对应软件运行环境特征值是否与本地运行环境特征值相匹配;若校验均通过,则所述云端软件启动。
较佳的,所述方法还包括:
接收所述云端软件发送的续期请求,所述续期请求中包含软件运行环境特征值;
检验收到所述续期请求的时间是否在所述软件运行环境特征值对应的授权时间内;
若在,则向所述云端软件发送续期应答,使得所述云端软件授权续期成功。
较佳的,所述软件授权中心接收云端软件的授权请求之前,所述方法还包括:
所述软件授权中心根据所运行的物理主机的硬件信息生成物理主机的特征值,并将所述特征值发送软件供应商;
接收所述软件供应商根据所述特征值和对应购买的可运行软件副本数量制作并数字签名的授权文件;校验所述授权文件的数字签名以及适用的主机特征值;
若所述授权文件均校验通过,则成功激活所述软件授权中心。
根据本发明的另一方面,提供了一种软件授权装置,与云端软件物理隔离设置,包括:
授权响应单元,用于接收所述云端软件的授权请求;将授权信息发送给所述云端软件进行授权;
合法性校验单元,用于根据所述授权请求的来源校验所述授权请求是否合法;
授权制作单元,用于在校验所述授权请求合法时,根据所述授权请求制作授权信息。
较佳的,所述合法性校验单元,包括:
判断子单元,用于判断所述授权请求是否来源于本地局域网;若所述授权请求来源于本地局域网,则确定所述授权请求合法;若所述授权请求不是来源于本地局域网,则确定所述授权请求不合法。
较佳的,所述判断子单元,包括:
判断模块,用于判断所述授权请求的转发次数是否小于预设阈值;若是所述授权请求的转发次数小于预设阈值,则确定所述授权请求来源于本地局域网;若是所述授权请求的转发次数大于等于预设阈值,则确定所述授权请求不是来源于本地局域网。
较佳的,所述装置还包括:
软件激活数量校验单元,用于判断所述授权请求对应的软件激活数量是否超过用户购买的授权数;
所述授权制作单元还用于:
若所述授权请求对应的软件激活数量未超过用户购买的授权数,则根据所述授权请求制作授权信息。
较佳的,所述授权制作单元,包括:
授权制作子单元,用于根据所述授权请求中的对应软件运行环境特征信息制作软件授权信息,并对该授权信息进行数字签名;
授权发送子单元,用于将所述授权信息发送给所述云端软件;
由所述云端软件校验所述授权信息的数字签名是否合法,并校验所述授权信息对应软件运行环境特征值是否与本地运行环境特征值相匹配;若校验均通过,则所述云端软件启动。
较佳的,所述装置还包括:
授权回收单元,用于根据接收的所述云端软件发送的续期请求,所述续期请求中包含软件运行环境特征值;检验收到所述续期请求的时间是否在所述软件运行环境特征值对应的授权时间内;若在,则通过所述授权响应单元向所述云端软件发送续期应答,使得所述云端软件授权续期成功。
较佳的,所述装置还包括:
授权管理单元,用于根据所运行的物理主机的硬件信息生成物理主机的特征值,并将所述特征值发送软件供应商;
接收所述软件供应商根据所述特征值和对应购买的可运行软件副本数量制作并数字签名的授权文件;校验所述授权文件的数字签名以及适用的主机特征值;
若所述授权文件均校验通过,则成功激活所述软件授权中心。
根据本发明的另一方面,提供了一种软件授权系统,包括:
软件授权中心,与云端软件物理隔离设置;用于接收云端软件的授权请求;根据所述授权请求的来源校验所述授权请求是否合法;若校验所述授权请求合法,则根据所述授权请求制作授权信息;将所述授权信息发送给所述云端软件进行授权;
所述云端软件,用于向软件授权中心发送授权请求;根据接收到的所述授权信息启动。
根据本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
根据本发明的另一方面,提供了一种电子设备,包括:
如上所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的计算机程序。
根据本发明上述的一个或多个技术方案,其提供了一种适用于云计算环境的软件授权方法、装置及系统,软件授权中心接收云端软件的授权请求;所述软件授权中心与云端软件物理隔离。提供与云端软件物理隔离的软件授权中心,用于给云端的软件授权,保证了云端软件可弹性部署,并保证了软件授权的安全性。
进一步的,根据所述授权请求的来源校验所述授权请求是否合法;若校验所述授权请求合法,则根据所述授权请求制作授权信息;将所述授权信息发送给所述云端软件进行授权。通过对授权请求的合法性校验对授权请求进行甄别,确定需要授权的云端软件,对云端软件的授权进行控制,能有效防止软件被任意拷贝和非法滥用。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的软件授权方法的流程图;
图2示出了根据本发明另一个实施例的软件授权方法的流程图;
图3示出了根据本发明一个实施例的软件授权装置的结构示意图;
图4示出了根据本发明另一个实施例的软件授权装置的结构示意图;
图5示出了根据本发明一个实施例的软件授权系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
实施例一
图1示出了本实施例的软件授权方法流程图,参照图1,所述方法可以包括:
步骤11,软件授权中心接收云端软件的授权请求。
在一个实施例中,本发明提供的方案,是由软件授权中心和云端软件两部分组成。其中,软件授权中心运行在一台物理机上,云端软件运行在云计算环境的虚拟机中,软件授权中心与云端软件物理隔离。物理隔离是指软件授权中心与云端软件不能运行于同一虚拟机中,软件授权中心一般独立运行于一台物理机中,不能运行于虚拟机中。软件授权中心和云端软件可以运行在同一物理机中,只是不能运行在同一虚拟机中。通常软件授权中心与云计算环境运行于同一局域网中。
步骤12,根据所述授权请求的来源校验所述授权请求是否合法。
在一个实施例中,授权请求的来源合法性校验主要包括校验该授权请求是否来源于本地局域网,也即校验该授权请求所发出的云端软件是否与软件收取按中心处于同一局域网中。通常认为,软件授权中心仅对本地局域网中的云端软件授权校验,对于本地局域网外的云端软件不进行授权校验。
通常来说,若所述授权请求来源于本地局域网,则确定所述授权请求合法;若所述授权请求不是来源于本地局域网,则确定所述授权请求不合法。
具体来说,来源校验可以通过判断所述授权请求的转发次数是否小于预设阈值来确定;若是所述授权请求的转发次数小于预设阈值,则确定所述授权请求来源于本地局域网;若是所述授权请求的转发次数大于等于预设阈值,则确定所述授权请求不是来源于本地局域网。
在一个实施例中,具体的判断授权请求来源的方案中,可以采用获取授权请求的转发次数来确定。解析所述云端软件发送的授权请求的IP报文,解读其TTL字段,获取所述IP报文曾经被路由器转发的次数;当所述次数小于预设的门限值时,确定所述授权请求的来源合法性校验通过。
确定所述云端软件发送的授权请求对应软件的软件激活数量n小于所述云端软件对应的授权数时,确定所述授权请求的软件激活数量合法性校验通过。
在一个实施例中,具体校验过程包括:
云端软件的授权请求通常是通过IP报文发送的。通过解析承载授权请求的IP报文,解读其TTL字段,判断该报文曾经被路由器转发的次数来校验,公式如下:
报文转发次数=M–TTL。
其中M是操作系统发送IP数据包时TTL的初始值,现有技术中,一般windows系统M=64,Linux系统M=255。
通过对比报文转发次数与预设门限值s,即可判断授权请求是否来源于本地局域网。具体过程如下:
如果报文转发次数<s,则该请求来源于局域网,是合法请求;否则,该请求来源非法。
据此可以判断授权请求是否来源于本局域网内,是否为合法的授权请求,是否通过来源合法性校验。通常,由于软件授权中心与云计算环境运行于同一局域网中,因而,云端软件的授权请求应该是来源于同一局域网的,若是来源于网外的授权请求,通常为非法的。
在一个实施例中,这里的局域网的限定并非必要的,可以根据实际网络的部署情况,确定具体的来源合法性校验的内容和过程,只要能够确保云端软件的合法来源即可通过校验。
步骤13,若校验所述授权请求合法,则根据所述授权请求制作授权信息。
在一个实施例中,具体的制作授权信息的方法,可以根据所述授权请求中的对应软件运行环境特征信息制作软件授权信息,并对该授权信息进行数字签名。之后将所述授权信息发送给所述云端软件,由所述云端软件校验所述授权信息的数字签名是否合法,并校验所述授权信息对应软件运行环境特征值是否与本地运行环境特征值相匹配;若校验均通过,则所述云端软件启动。
步骤14,将所述授权信息发送给所述云端软件进行授权。
在一个实施例中,软件授权中心根据所述授权请求中的对应软件运行环境特征信息制作软件授权信息,并对该授权信息进行数字签名。之后,将所述授权信息发送给所述云端软件,由所述云端软件校验所述授权信息的数字签名是否合法,并校验所述授权信息对应软件运行环境特征值是否与本地运行环境特征值相匹配;若校验均通过,则所述云端软件启动。
进一步的,本实施例在校验所述授权请求合法之后,还包括:
判断所述授权请求对应的软件激活数量是否超过用户购买的授权数,若所述授权请求对应的软件激活数量未超过用户购买的授权数,则根据所述授权请求制作授权信息。
判断软件激活数量是否超过用户购买的授权数,未超过则请求合法,否则认为请求非法。
在一个实施例中,软件激活数量是根据软件运营商或者其它软件授权方授权使用软件的软件副本数量N确定的。也就是用户从软件运营商购买了多少个软件副本数量N,然后判断实际软件激活数量是否小于等于这个N,若是,仍然可以继续授权激活软件,通过校验,否则,已经达到或者超过的软件副本数量N,则不能再继续通过校验。
在一个实施例中,具体的软件激活数量合法性校验由于实现相对简单,可以优先校验。也即,对于授权请求,先校验其软件激活数量的合法性,通过校验的授权请求再进行来源合法性校验,这样可以减轻系统负担。当然,具体的软件激活数量合法性校验和来源合法性校验是没有先后顺序限定的,二者校验顺序可以随意进行,也可以同时进行。
进一步的,在一个实施例中,软件授权中心接收所述云端软件发送的续期请求,所述续期请求中包含软件运行环境特征值;检验收到所述续期请求的时间是否在所述软件运行环境特征值对应的授权时间内;若在,则向所述云端软件发送续期应答,使得所述云端软件授权续期成功。
实施例二
图2示出了本实施例的软件授权方法流程图,参照图2,所述方法可以包括:
步骤21,软件授权中心接收云端软件的授权请求。
本方案是由软件授权中心和云端软件两部分组成。其中,软件授权中心运行在一台物理机上,云端软件运行在云计算环境的虚拟机中,软件授权中心与云端软件物理隔离。物理隔离是指软件授权中心与云端软件不能运行于同一虚拟机中,软件授权中心一般独立运行于一台物理机中,不能运行于虚拟机中。软件授权中心和云端软件可以运行在同一物理机中,只是不能运行在同一虚拟机中。通常软件授权中心与云计算环境运行于同一局域网中。
云端软件在需要获取软件授权时,首先向软件授权中心发送授权请求。软件启动时,根据虚拟机的某些特性,生成软件运行环境特征值eigenvalue,之后根据所述软件运行环境特征值eigenvalue向软件授权中心发送授权请求。
步骤22,根据所述授权请求的来源和/或软件激活数量,进行授权合法性校验。
在一个实施例中,需要根据授权请求进行合法性校验。通常的合法性校验包括根据授权请求的来源以及授权请求对应的软件激活数量来校验。
来源合法性校验主要包括:解析所述云端软件发送的授权请求的IP报文,解读其TTL字段,获取所述IP报文曾经被路由器转发的次数;当所述次数小于预设的门限值时,确定所述授权请求的来源合法性校验通过。
软件激活数量合法性校验主要包括:确定所述云端软件发送的授权请求对应软件的软件激活数量n小于所述云端软件对应的授权数时,确定所述授权请求的软件激活数量合法性校验通过。
在一个实施例中,具体校验过程包括:
来源合法性校验:云端软件的授权请求通常是通过IP报文发送的。通过解析承载授权请求的IP报文,解读其TTL字段,判断该报文曾经被路由器转发的次数来校验,公式如下:
报文转发次数=M–TTL。
其中M是操作系统发送IP数据包时TTL的初始值,现有技术中,一般windows系统M=64,Linux系统M=255。
通过对比报文转发次数与预设门限值s,即可判断授权请求是否来源于本地局域网。具体过程如下:
如果报文转发次数<s,则该请求来源于局域网,是合法请求;否则,该请求来源非法。
据此可以判断授权请求是否来源于本局域网内,是否为合法的授权请求,是否通过来源合法性校验。通常,由于软件授权中心与云计算环境运行于同一局域网中,因而,云端软件的授权请求应该是来源于同一局域网的,若是来源于网外的授权请求,通常为非法的。
在一个实施例中,这里的局域网的限定并非必要的,可以根据实际网络的部署情况,确定具体的来源合法性校验的内容和过程,只要能够确保云端软件的合法来源即可通过校验。
软件激活数量合法性校验:判断软件激活数量n是否超过用户购买的授权数,未超过则请求合法,否则认为请求非法。
在一个实施例中,软件激活数量n是根据软件运营商或者其它软件授权方授权使用软件的软件副本数量N确定的。也就是用户从软件运营商购买了多少个软件副本数量N,然后判断实际软件激活数量n是否小于等于这个N,若是,仍然可以继续授权激活软件,通过校验,否则,已经达到或者超过的软件副本数量N,则不能再继续通过校验。
在一个实施例中,具体的软件激活数量合法性校验由于实现相对简单,可以优先校验。也即,对于授权请求,先校验其软件激活数量的合法性,通过校验的授权请求再进行来源合法性校验,这样可以减轻系统负担。当然,具体的软件激活数量合法性校验和来源合法性校验是没有先后顺序限定的,二者校验顺序可以随意进行,也可以同时进行。
步骤23,根据通过所述授权合法性校验的授权请求,制作授权信息。
在一个实施例中,根据所述授权请求中的云端软件运行环境特征值eigenvalue,制作软件授权信息,并对所述授权信息进行数字签名。
在一个实施例中,待所述云端软件根据所述授权信息激活运行后,所述云端软件的软件激活数量n=n+1。
在一个实施例中,授权信息包括授权时长t,到达所述授权时长t后,终止对所述云端软件的授权;云端软件运行过程中,每隔所述时长t,发送所述授权请求,重新请求授权。
在一个实施例中,如果在授权信息的时长t到期后,超过预定的时间T仍然没有收到所述云端软件发送的授权请求,则停止对所述云端软件的授权,所述云端软件停止运行,软件激活数量n=n–1。
步骤24,将所述授权信息发送给所述云端软件进行授权。
在一个实施例中,云端软件启动时,生成软件运行环境特征值eigenvalue;根据所述软件运行环境特征值eigenvalue发送授权请求。
收到授权信息后,校验所述授权信息的数字签名是否合法,并校验所述授权信息对应软件运行环境特征值eigenvalue是否与本地生成软件运行环境特征值eigenvalue相匹配。
如果所述授权信息通过所述校验,则所述云端软件继续启动;否则,所述云端软件授权失败,退出运行。
在一个实施例中,软件授权中心还需要根据所运行的物理主机的硬件信息通过不可逆哈希算法生成物理主机的特征值;这里的不可逆哈希算法是一种较佳的实施例,实际上,只要能够实现实现类似功能的相应算法均可以用作生成物理主机特征值,本实施例无意限定具体的实现算法。
将所述特征值发送软件供应商;
所述软件供应商根据所述特征值和对应购买的可运行软件副本数量制作license文件,并对所述license文件数字签名;
将所述license文件导入,依次校验所述license文件的数字签名以及所述license文件适用的所述特征值;
将所述license文件以加密的形式保存,用以对所述云端软件的授权请求制作所述授权信息。
在一个实施例中,在软件授权中心每次启动时候,都需要校验所述license文件的合法性。
在一个实施例中,用户将该license文件导入软件授权中心。软件授权中心依次校验license数字签名,以及该license适用的主机特征码,如果均适用,则该授权中心被激活。
软件授权中心激活后,将license以加密的形式保存,以后每次重启,都要再次校验license的合法性。
在一个实施例中,云端软件运行中,设置一个定时器,每隔一段时间t,向软件授权中心发送授权续期请求。授权续期请求中应该包含软件运行环境特征值eigenvalue。如果在规定的时间内收到了授权续期应答,且应答信息中eigenvalue与本机一致且数字签名合法,则授权续期成功。否则在授权宽限期时长T内,多次向软件授权中心请求授权续期,若皆未收到合法应答,则软件退出。
本实施例中,提供了一种适用于云计算环境的软件授权方法、装置及系统,软件授权中心接收云端软件的授权请求;所述软件授权中心与云端软件物理隔离。提供与云端软件物理隔离的软件授权中心,用于给云端的软件授权,保证了云端软件可弹性部署,并保证了软件授权的安全性。
进一步的,根据所述授权请求的来源校验所述授权请求是否合法;若校验所述授权请求合法,则根据所述授权请求制作授权信息;将所述授权信息发送给所述云端软件进行授权。通过对授权请求的合法性校验对授权请求进行甄别,确定需要授权的云端软件,对云端软件的授权进行控制,能有效防止软件被任意拷贝和非法滥用。
实施例三
图3示出了本实施例的软件授权装置的结构示意图。参照图3,所述装置需要与云端软件物理隔离,具体可以包括:
授权响应单元31,用于接收云端软件的授权请求;将授权信息发送给所述云端软件进行授权。
合法性校验单元32,用于根据所述授权请求的来源校验所述授权请求是否合法。
授权制作单元33,用于在校验所述授权请求合法时,根据所述授权请求制作所述授权信息。
在一个实施例中,在所述授权信息中包括授权时长t,到达所述授权时长t后,终止对所述云端软件的授权。
在一个实施例中,所述合法性校验单元32,包括:
判断子单元,用于判断所述授权请求是否来源于本地局域网;若所述授权请求来源于本地局域网,则确定所述授权请求合法;若所述授权请求不是来源于本地局域网,则确定所述授权请求不合法。
在一个实施例中,所述判断子单元,包括:
判断模块,用于判断所述授权请求的转发次数是否小于预设阈值;若是所述授权请求的转发次数小于预设阈值,则确定所述授权请求来源于本地局域网;若是所述授权请求的转发次数大于等于预设阈值,则确定所述授权请求不是来源于本地局域网。
在一个实施例中,如图4所示,上述装置还包括软件激活数量校验单元34,用于判断所述授权请求对应的软件激活数量是否超过用户购买的授权数;
所述授权制作单元33还用于:
若所述授权请求对应的软件激活数量未超过用户购买的授权数,则根据所述授权请求制作授权信息。
在一个实施例中,上述授权制作单元33,包括:
授权制作子单元,用于根据所述授权请求中的对应软件运行环境特征信息制作软件授权信息,并对该授权信息进行数字签名;
授权发送子单元,用于将所述授权信息发送给所述云端软件;
由所述云端软件校验所述授权信息的数字签名是否合法,并校验所述授权信息对应软件运行环境特征值是否与本地运行环境特征值相匹配;若校验均通过,则所述云端软件启动。
在一个实施例中,如图4所示,上述装置还包括授权回收单元35,用于根据接收的所述云端软件发送的续期请求,所述续期请求中包含软件运行环境特征值;检验收到所述续期请求的时间是否在所述软件运行环境特征值对应的授权时间内;若在,则通过所述授权响应单元31向所述云端软件发送续期应答,使得所述云端软件授权续期成功。
授权回收单元35在所述授权信息的时长t到期后,超过预定的时间T仍然没有收到所述云端软件发送的授权请求时,停止对所述云端软件的授权,所述云端软件停止运行,设置软件激活数量n=n–1。
在一个实施例中,如图4所示,上述装置还包括授授权管理单元36,用于根据所运行的物理主机的硬件信息生成物理主机的特征值,并将所述特征值发送软件供应商;
接收所述软件供应商根据所述特征值和对应购买的可运行软件副本数量制作并数字签名的授权文件;校验所述授权文件的数字签名以及适用的主机特征值;
若所述授权文件均校验通过,则成功激活所述软件授权中心。
在一个实施例中,上述授权管理单元36根据所运行的物理主机的硬件信息通过例如不可逆哈希算法等具体算法,生成物理主机的特征值;将所述特征值发送软件供应商;接收所述软件供应商根据所述特征值和对应购买的可运行软件副本数量制作的license文件及所述license文件数字签名;将所述license文件导入,依次校验所述license文件的数字签名以及所述license文件适用的所述特征值;将所述license文件以加密的形式保存,用以对所述云端软件的授权请求制作所述授权信息。
本实施例中,提供了一种软件授权装置,该装置用于对云端软件进行授权,与云端软件物理隔离,用于给云端的软件授权,既保证了云端软件可弹性部署,又能有效防止软件被任意拷贝和非法滥用。
实施例四
图5示出了本实施例的软件授权系统的结构示意图。参照图5,所述系统可以包括:
软件授权中心41,与云端软件物理隔离,用于接收云端软件42的授权请求;根据所述授权请求的来源校验所述授权请求是否合法;若校验所述授权请求合法,则根据所述授权请求制作授权信息;将所述授权信息发送给所述云端软件进行授权;
所述云端软件42,用于向软件授权中心发送授权请求;根据接收到的所述授权信息启动。
具体可以生成软件运行环境特征值eigenvalue;根据所述软件运行环境特征值eigenvalue向软件授权中心41发送授权请求;收到授权信息后,校验所述授权信息的数字签名是否合法,并校验所述授权信息对应软件运行环境特征值eigenvalue是否与所述eigenvalue相匹配;如果所述授权信息通过所述校验,则所述云端软件继续启动;否则,所述云端软件授权失败,退出运行。
在一个实施例中,软件授权中心41校验所述授权请求合法之后,还用于:
判断所述授权请求对应的软件激活数量是否超过用户购买的授权数;
若所述授权请求对应的软件激活数量未超过用户购买的授权数,则根据所述授权请求制作授权信息。
在一个实施例中,所述软件授权中心41还用于根据所运行的物理主机的硬件信息通过不可逆哈希算法生成物理主机的特征值;将所述特征值发送软件供应商;接收所述软件供应商根据所述特征值和对应购买的可运行软件副本数量制作的license文件及所述license文件数字签名;将所述license文件导入,依次校验所述license文件的数字签名以及所述license文件适用的所述特征值;将所述license文件以加密的形式保存,用以对所述云端软件42的授权请求制作所述授权信息。
在一个实施例中,软件授权中心41还用于:接收所述云端软件42发送的续期请求,所述续期请求中包含软件运行环境特征值;检验收到所述续期请求的时间是否在所述软件运行环境特征值对应的授权时间内;若在,则向所述云端软件42发送续期应答;
所述云端软件42,根据所述续期应答续期成功。
软件授权中心41在所述授权信息的时长t到期后,超过预定的时间T仍然没有收到所述云端软件42发送的授权请求时,停止对所述云端软件42的授权,所述云端软件42停止运行,软件激活数量n=n–1。
本实施例中,提供了一种适用于云计算环境的软件授权方法、装置及系统,软件授权中心接收云端软件的授权请求;所述软件授权中心与云端软件物理隔离。提供与云端软件物理隔离的软件授权中心,用于给云端的软件授权,保证了云端软件可弹性部署,并保证了软件授权的安全性。
进一步的,根据所述授权请求的来源校验所述授权请求是否合法;若校验所述授权请求合法,则根据所述授权请求制作授权信息;将所述授权信息发送给所述云端软件进行授权。通过对授权请求的合法性校验对授权请求进行甄别,确定需要授权的云端软件,对云端软件的授权进行控制,能有效防止软件被任意拷贝和非法滥用。
实施例五
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上各个实施例所述方法的步骤。
具体来说,所述方法可以包括:
软件授权中心接收云端软件的授权请求;所述软件授权中心与云端软件物理隔离;
根据所述授权请求的来源校验所述授权请求是否合法;
若校验所述授权请求合法,则根据所述授权请求制作授权信息;
将所述授权信息发送给所述云端软件进行授权。
较佳的,所述根据所述授权请求的来源校验所述授权请求是否合法包括:
判断所述授权请求是否来源于本地局域网;
若所述授权请求来源于本地局域网,则确定所述授权请求合法;
若所述授权请求不是来源于本地局域网,则确定所述授权请求不合法。
较佳的,所述判断所述授权请求是否来源于本地局域网包括:
判断所述授权请求的转发次数是否小于预设阈值;
若是所述授权请求的转发次数小于预设阈值,则确定所述授权请求来源于本地局域网;
若是所述授权请求的转发次数大于等于预设阈值,则确定所述授权请求不是来源于本地局域网。
较佳的,所述校验所述授权请求合法之后,所述方法还包括:
判断所述授权请求对应的软件激活数量是否超过用户购买的授权数;
所述根据所述授权请求制作授权信息包括:
若所述授权请求对应的软件激活数量未超过用户购买的授权数,则根据所述授权请求制作授权信息。
较佳的,所述根据所述授权请求制作授权信息包括:
根据所述授权请求中的对应软件运行环境特征信息制作软件授权信息,并对该授权信息进行数字签名;
所述将所述授权信息发送给所述云端软件进行授权包括:
将所述授权信息发送给所述云端软件,由所述云端软件校验所述授权信息的数字签名是否合法,并校验所述授权信息对应软件运行环境特征值是否与本地运行环境特征值相匹配;若校验均通过,则所述云端软件启动。
较佳的,所述方法还包括:
接收所述云端软件发送的续期请求,所述续期请求中包含软件运行环境特征值;
检验收到所述续期请求的时间是否在所述软件运行环境特征值对应的授权时间内;
若在,则向所述云端软件发送续期应答,使得所述云端软件授权续期成功。
较佳的,所述软件授权中心接收云端软件的授权请求之前,所述方法还包括:
所述软件授权中心根据所运行的物理主机的硬件信息生成物理主机的特征值,并将所述特征值发送软件供应商;
接收所述软件供应商根据所述特征值和对应购买的可运行软件副本数量制作并数字签名的授权文件;校验所述授权文件的数字签名以及适用的主机特征值;
若所述授权文件均校验通过,则成功激活所述软件授权中心。
实施例六
本实施例提供一种电子设备,具体包括:
上述实施例提供的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的计算机程序。所述计算机程序被一个或者多个处理器执行时实现如上各个实施例所述方法的步骤。
本发明各个实施例中,接收云端软件的授权请求;根据所述授权请求的来源和/或软件激活数量,进行授权合法性校验;根据通过所述授权合法性校验的授权请求,制作授权信息;将所述授权信息发送给所述云端软件进行授权。通过独立于云端的软件授权中心,License加载到软件授权中心上,而不是直接加载到云端软件中。根据所述授权请求的来源和/或对应软件的软件激活数量,对所述授权请求进行授权合法性校验;根据通过所述授权合法性校验的授权请求,制作授权信息;将所述授权信息发送给所述云端软件进行授权。通过对授权请求的合法性校验对授权请求进行甄别,确定需要授权的云端软件,对云端软件的授权进行控制,能有效防止软件被任意拷贝和非法滥用。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。
以上所述仅是本发明的具体实施方式,应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明精神的前提下,可以作出若干改进、修改、和变形,这些改进、修改、和变形都应视为落在本申请的保护范围内。

Claims (13)

1.一种软件授权方法,其特征在于,包括:
软件授权中心接收云端软件的授权请求;所述软件授权中心与云端软件物理隔离;
根据所述授权请求的来源校验所述授权请求是否合法;
若校验所述授权请求合法,则根据所述授权请求制作授权信息;
将所述授权信息发送给所述云端软件进行授权,包括:根据所述授权请求中的对应软件运行环境特征信息制作软件授权信息,并对该授权信息进行数字签名;
所述将所述授权信息发送给所述云端软件进行授权包括:
将所述授权信息发送给所述云端软件,由所述云端软件校验所述授权信息的数字签名是否合法,并校验所述授权信息对应软件运行环境特征值是否与本地运行环境特征值相匹配;若校验均通过,则所述云端软件启动;
接收所述云端软件发送的续期请求,所述续期请求中包含软件运行环境特征值;
检验收到所述续期请求的时间是否在所述软件运行环境特征值对应的授权时间内;
若在,则向所述云端软件发送续期应答,使得所述云端软件授权续期成功。
2.根据权利要求1所述的方法,其特征在于,所述根据所述授权请求的来源校验所述授权请求是否合法包括:
判断所述授权请求是否来源于本地局域网;
若所述授权请求来源于本地局域网,则确定所述授权请求合法;
若所述授权请求不是来源于本地局域网,则确定所述授权请求不合法。
3.根据权利要求2所述的方法,其他特征在于,所述判断所述授权请求是否来源于本地局域网包括:
判断所述授权请求的转发次数是否小于预设阈值;
若是所述授权请求的转发次数小于预设阈值,则确定所述授权请求来源于本地局域网;
若是所述授权请求的转发次数大于等于预设阈值,则确定所述授权请求不是来源于本地局域网。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述校验所述授权请求合法之后,所述方法还包括:
判断所述授权请求对应的软件激活数量是否超过用户购买的授权数;
所述根据所述授权请求制作授权信息包括:
若所述授权请求对应的软件激活数量未超过用户购买的授权数,则根据所述授权请求制作授权信息。
5.根据权利要求1所述的方法,其特征在于,所述软件授权中心接收云端软件的授权请求之前,所述方法还包括:
所述软件授权中心根据所运行的物理主机的硬件信息生成物理主机的特征值,并将所述特征值发送软件供应商;
接收所述软件供应商根据所述特征值和对应购买的可运行软件副本数量制作并数字签名的授权文件;校验所述授权文件的数字签名以及适用的主机特征值;
若所述授权文件均校验通过,则成功激活所述软件授权中心。
6.一种软件授权装置,其特征在于,与云端软件物理隔离设置,所述装置包括:
授权响应单元,用于接收所述云端软件的授权请求;将授权信息发送给所述云端软件进行授权;
合法性校验单元,用于根据所述授权请求的来源校验所述授权请求是否合法;
授权制作单元,用于在校验所述授权请求合法时,根据所述授权请求制作授权信息;
所述授权制作单元,包括:
授权制作子单元,用于根据所述授权请求中的对应软件运行环境特征信息制作软件授权信息,并对该授权信息进行数字签名;
授权发送子单元,用于将所述授权信息发送给所述云端软件;
由所述云端软件校验所述授权信息的数字签名是否合法,并校验所述授权信息对应软件运行环境特征值是否与本地运行环境特征值相匹配;若校验均通过,则所述云端软件启动;
授权回收单元,用于根据接收的所述云端软件发送的续期请求,所述续期请求中包含软件运行环境特征值;检验收到所述续期请求的时间是否在所述软件运行环境特征值对应的授权时间内;若在,则通过所述授权响应单元向所述云端软件发送续期应答,使得所述云端软件授权续期成功。
7.根据权利要求6所述的装置,其特征在于,所述合法性校验单元,包括:
判断子单元,用于判断所述授权请求是否来源于本地局域网;若所述授权请求来源于本地局域网,则确定所述授权请求合法;若所述授权请求不是来源于本地局域网,则确定所述授权请求不合法。
8.根据权利要求7所述的装置,其特征在于,所述判断子单元,包括:
判断模块,用于判断所述授权请求的转发次数是否小于预设阈值;若是所述授权请求的转发次数小于预设阈值,则确定所述授权请求来源于本地局域网;若是所述授权请求的转发次数大于等于预设阈值,则确定所述授权请求不是来源于本地局域网。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
软件激活数量校验单元,用于判断所述授权请求对应的软件激活数量是否超过用户购买的授权数;
所述授权制作单元还用于:
若所述授权请求对应的软件激活数量未超过用户购买的授权数,则根据所述授权请求制作授权信息。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
授权管理单元,用于根据所运行的物理主机的硬件信息生成物理主机的特征值,并将所述特征值发送软件供应商;
接收所述软件供应商根据所述特征值和对应购买的可运行软件副本数量制作并数字签名的授权文件;校验所述授权文件的数字签名以及适用的主机特征值;
若所述授权文件均校验通过,则成功激活所述软件授权中心。
11.一种软件授权系统,其特征在于,包括:
软件授权中心,与云端软件物理隔离设置;用于接收云端软件的授权请求;根据所述授权请求的来源校验所述授权请求是否合法;若校验所述授权请求合法,则根据所述授权请求制作授权信息;将所述授权信息发送给所述云端软件进行授权,包括:根据所述授权请求中的对应软件运行环境特征信息制作软件授权信息,并对该授权信息进行数字签名;所述将所述授权信息发送给所述云端软件进行授权包括:将所述授权信息发送给所述云端软件,由所述云端软件校验所述授权信息的数字签名是否合法,并校验所述授权信息对应软件运行环境特征值是否与本地运行环境特征值相匹配;若校验均通过,则所述云端软件启动;
软件授权中心还用于接收所述云端软件发送的续期请求,所述续期请求中包含软件运行环境特征值;检验收到所述续期请求的时间是否在所述软件运行环境特征值对应的授权时间内;若在,则向所述云端软件发送续期应答;
所述云端软件,用于向软件授权中心发送授权请求;根据接收到的所述授权信息启动。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任一项所述方法的步骤。
13.一种电子设备,其特征在于,包括:
权利要求12所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的计算机程序。
CN201710653538.6A 2017-08-02 2017-08-02 一种软件授权方法、装置及系统 Active CN109388915B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710653538.6A CN109388915B (zh) 2017-08-02 2017-08-02 一种软件授权方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710653538.6A CN109388915B (zh) 2017-08-02 2017-08-02 一种软件授权方法、装置及系统

Publications (2)

Publication Number Publication Date
CN109388915A CN109388915A (zh) 2019-02-26
CN109388915B true CN109388915B (zh) 2021-02-05

Family

ID=65412836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710653538.6A Active CN109388915B (zh) 2017-08-02 2017-08-02 一种软件授权方法、装置及系统

Country Status (1)

Country Link
CN (1) CN109388915B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11995158B2 (en) * 2021-03-05 2024-05-28 Adobe Inc. Techniques for predicting leakage of a serial number

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110996319B (zh) * 2019-11-01 2024-05-28 北京握奇智能科技有限公司 一种对软件服务做激活授权管理的系统及方法
CN112202772B (zh) * 2020-09-29 2021-06-29 北京海泰方圆科技股份有限公司 一种授权管理方法、装置、电子设备及介质
CN112650979B (zh) * 2020-12-17 2024-03-22 艾普阳科技(深圳)有限公司 软件控制方法及相关设备
CN112836183B (zh) * 2020-12-31 2023-03-24 上海移为通信技术股份有限公司 授权方法、网络设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100470575C (zh) * 2006-04-12 2009-03-18 北京金山软件有限公司 一种软件使用许可的方法和系统
CN103139268A (zh) * 2011-12-01 2013-06-05 上海博腾信息科技有限公司 应用于云计算的许可证管理系统
CN105323284A (zh) * 2014-07-28 2016-02-10 上海博泰悦臻网络技术服务有限公司 一种车载云端app应用终端与方法及服务系统与方法
US10015236B2 (en) * 2015-01-30 2018-07-03 Ricoh Company, Ltd. Cloud application activation and update service

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11995158B2 (en) * 2021-03-05 2024-05-28 Adobe Inc. Techniques for predicting leakage of a serial number

Also Published As

Publication number Publication date
CN109388915A (zh) 2019-02-26

Similar Documents

Publication Publication Date Title
CN109388915B (zh) 一种软件授权方法、装置及系统
CN107085675B (zh) 受控安全代码验证
US20180248702A1 (en) System and method for managing installation of an application package requiring high-risk permission access
CN109819049B (zh) 远程控制车辆的方法、系统及装置
CN104426669B (zh) 用于受保护地传送数据的方法
CN107426235B (zh) 基于设备指纹的权限认证方法、装置及系统
EP1872231A4 (en) SECURE STARTING
US9767264B2 (en) Apparatus, method for controlling apparatus, and program
CN104539634A (zh) 一种移动应用安全增强授权与认证的方法
CN106357694B (zh) 一种访问请求处理方法及装置
CN101160915B (zh) 一种在数字版权管理中实现准确计费的方法及装置
CN111125677A (zh) 设备授权方法及系统
CN114363008A (zh) 一种虚拟设备认证方法、装置、电子设备及存储介质
US10158623B2 (en) Data theft deterrence
CN110324283B (zh) 基于非对称加密的许可方法、装置及系统
JP6813442B2 (ja) 検証装置
EP3706387B1 (en) Vehicle control device, vehicle control device start-up method, and recording medium
CN112632481A (zh) 用于对软件进行授权的方法、终端设备及存储介质
CN111079155A (zh) 数据处理方法、装置、电子设备和计算机存储介质
CN116707758A (zh) 可信计算设备的认证方法、设备和服务器
KR102236282B1 (ko) 차량용 통신 데이터 인증 방법 및 시스템
CN115563588A (zh) 一种软件离线鉴权的方法、装置、电子设备和存储介质
CN112887099B (zh) 数据签名方法、电子设备及计算机可读存储介质
JP6676065B2 (ja) 接続された装置による認証連鎖
CN105592048B (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