CN110798466B - 一种虚拟机场景下软件license的验证方法及系统 - Google Patents

一种虚拟机场景下软件license的验证方法及系统 Download PDF

Info

Publication number
CN110798466B
CN110798466B CN201911038590.6A CN201911038590A CN110798466B CN 110798466 B CN110798466 B CN 110798466B CN 201911038590 A CN201911038590 A CN 201911038590A CN 110798466 B CN110798466 B CN 110798466B
Authority
CN
China
Prior art keywords
license
software
authentication server
hardware information
virtual machine
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
CN201911038590.6A
Other languages
English (en)
Other versions
CN110798466A (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.)
Xi'an Leifeng Electronic Technology Co ltd
Original Assignee
Xi'an Leifeng Electronic Technology Co ltd
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 Xi'an Leifeng Electronic Technology Co ltd filed Critical Xi'an Leifeng Electronic Technology Co ltd
Priority to CN201911038590.6A priority Critical patent/CN110798466B/zh
Publication of CN110798466A publication Critical patent/CN110798466A/zh
Application granted granted Critical
Publication of CN110798466B publication Critical patent/CN110798466B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种虚拟化场景下软件license的验证方法及系统,包括:S1、使虚拟机与license验证服务器之间可以进行网络通信;S2、给软件配置license验证服务器地址;S3、软件通过网络获取license验证服务器硬件信息,并使用获取到的硬件信息生成license申请文件;S4、使用license申请文件制作license授权文件;S5、软件将license授权文件中的硬件信息和自身进程ID一起发送给license验证服务器来验证license的有效性。本发明能够有效防止license因为虚拟机复制导致被非法复用,同时又不会占用过多物理硬件资源。

Description

一种虚拟机场景下软件license的验证方法及系统
技术领域
本发明涉及虚拟化技术领域,尤其是涉及一种虚拟化场景下软件license的验证方法及系统。
背景技术
传统的软件license验证方法使用本地硬件信息作为保证license唯一性的手段,但是随着虚拟化技术的发展,越来越多的用户使用虚拟机作为软件的运行环境,虚拟硬件本身可以被复制,可以使多台虚拟机拥有完全相同的硬件信息,导致license存在被复用的风险。
发明内容
为克服上述现有技术的不足,本发明的目的是提供一种虚拟化场景下软件license的验证方法及系统,该验证方法既可以防止license因为虚拟机复制导致被非法复用,又不会占用过多物理硬件资源。
为了达到上述目的,本发明提供如下技术方案:
一种虚拟化场景下软件license的验证方法,包括如下步骤:
S1、使虚拟机与license验证服务器之间可以进行网络通信;
S2、给软件配置license验证服务器地址;
S3、软件通过网络获取license验证服务器硬件信息,并使用获取到的硬件信息生成license申请文件;
S4、使用license申请文件制作license授权文件;
S5、软件将license授权文件中的硬件信息和自身进程ID一起发送给license验证服务器来验证license的有效性。
进一步地,S1中,虚拟机可以通过特定端口访问到license验证服务器的IP地址;其中,虚拟机与license验证服务器可以在/不在同一个局域网内。
进一步地,S2中,具体地,将license验证服务器的IP地址设置到软件的配置信息中并保存。
进一步地,S3中,具体地,软件访问license验证服务器的特定端口,发送请求获取license验证服务器的硬件信息,并将获取到的硬件信息加密保存为license申请文件。
进一步地,S4中,具体地,具体地,软件供应商依据license申请文件制作license授权文件,license授权文件中加密存储license验证服务器的硬件信息和license授权文件的UUID;其中,每个license授权文件中的UUID均是唯一的。
进一步地,S5中,具体地,用户将license授权文件导入到软件中,软件读取license授权文件中的硬件信息,然后发送到license验证服务器,license验证服务器将软件进程ID与license授权文件的UUID做绑定,并验证license是否有效,同时在返回消息中携带license授权的验证结果,软件接收返回消息并根据验证结果决定用户是否可以正常使用软件。
本发明还提供一种使用上述的虚拟化场景下软件license的验证方法的验证系统,所述验证系统包括通过网络连接的虚拟机和license验证服务器,还包括运行在所述虚拟机中的软件,所述软件包括系统软件和/或应用软件;
所述license验证服务器包括物理计算机硬件、license验证服务模块、license管理模块;其中,所述license验证服务模块完成license验证服务器硬件信息提取请求、license绑定请求、license验证请求、license有效期查询请求的响应功能;license管理模块完成license授权文件的UUID与软件进程的绑定、license有效期计算的功能。
本发明的虚拟化场景下软件license的验证方法及系统,实现了防止用户通过复制虚拟机的手段来非法复用license的功能,同时一台license验证服务器可以供多个虚拟机激活license使用,用户可以使用一个license申请文件给多台虚拟机同时申请多个license授权文件,节省了物理硬件资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明中的验证方法步骤示意图;
图2是本发明中的license申请和验证流程图。
具体实施方式
下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据图1-2所示,说明本发明的一种虚拟化场景下软件license的验证方法,包括如下步骤:
S1、使虚拟机与license验证服务器之间可以进行网络通信;
具体地,虚拟机可以通过网络访问到license验证服务器提供的网络服务,虚拟机与license验证服务器既可以在同一个局域网内,也可以不在同一个局域网内,只需要虚拟机可以通过特定端口访问到服务器的IP地址即可。
S2、给软件配置license验证服务器地址;
具体地,将license验证服务器的IP地址设置到软件的配置信息中并保存起来。
S3、软件通过网络获取license验证服务器硬件信息,并使用获取到的硬件信息生成license申请文件;
具体地,软件访问license验证服务器的特定端口,发送请求获取license验证服务器的硬件信息,并将获取到的硬件信息加密保存为license申请文件。
S4、使用license申请文件制作license授权文件;
具体地,软件供应商依据license申请文件制作license授权文件,license授权文件中加密存储license验证服务器的硬件信息和license授权文件的UUID;其中,license文件的UUID是独一无二的,即使同一个申请文件两次制作出来的授权文件中的UUID也不一样,因此,每个license授权文件中的UUID均是唯一的。
S5、软件将license授权文件中的硬件信息和自身进程ID一起发送给license验证服务器来验证license的有效性。
具体地,用户将license授权文件导入到软件中,软件读取license授权文件中的硬件信息,然后发送到license验证服务器,license验证服务器将软件进程ID与license授权文件的UUID做绑定,并验证license是否有效,同时在返回消息中携带license授权的验证结果,软件接收返回消息并根据验证结果决定用户是否可以正常使用软件。
具体地,用户将license授权文件导入到软件中,软件的验证过程如下:
用户导入license授权文件或者进程刚刚启动时,发送绑定请求到license验证服务器,绑定请求中包含license验证服务器的硬件信息、license授权文件的UUID、软件进程的进程ID。license验证服务器收到绑定请求之后首先校验硬件信息是否与本机一致,如果不一致则返回绑定失败;将license授权文件的UUID作为索引,检查是否已经和软件进程ID保存为一对绑定信息,如果有则删除已有的绑定信息,之后将license授权文件的UUID作为索引和软件进程的进程ID保存为一对绑定信息,绑定完成后返回绑定成功。如下任一场景判定为激活失败:未配置license验证服务器、无法连接到license验证服务器、license验证服务器返回绑定失败。
软件非导入license也非刚刚启动的场景下,启动一个线程,周期性的发送校验请求到license验证服务器验证license的有效性,校验请求中包含license验证服务器的硬件信息、license授权文件的UUID、软件进程的进程ID。license验证服务器收到校验请求之后首先校验硬件信息是否与本机一致,如果不一致则返回校验失败;将license授权文件的UUID作为索引,检查是否已经和软件进程ID保存为一对绑定信息,如果已经保存的软件进程ID与校验请求中的软件进程ID不一致,则返回校验失败,未检测到绑定信息也返回校验失败;license已过期也返回校验失败。所有信息检查通过之后返回校验成功。如下任一场景判定为license失效:未配置license验证服务器、无法连接到license验证服务器、license验证服务器返回校验失败。
软件根据绑定和校验的结果决定用户是否可以正常使用软件。
本发明还提供一种使用上述的虚拟化场景下软件license的验证方法的验证系统,所述验证系统包括通过网络连接的虚拟机和license验证服务器,还包括运行在所述虚拟机中的软件,所述软件包括系统软件和/或应用软件;
上述虚拟机是运用虚拟化技术生成的虚拟计算机,虚拟化服务器是虚拟机的宿主机,虚拟机运行在虚拟化服务器上,为用户提供和个人电脑相同的办公、娱乐等功能,是软件的运行环境;
上述的运行在虚拟机中的软件包括系统软件或应用软件,这些软件需要通过license授权才能使用;考虑到虚拟机里的虚拟硬件可以被复制,软件授权时不能采集本地硬件信息进行授权。
上述license验证服务器包括物理计算机硬件、license验证服务模块、license管理模块;其中,所述license验证服务模块完成license验证服务器硬件信息提取请求、license绑定请求、license验证请求、license有效期查询请求的响应功能;license管理模块完成license授权文件的UUID与软件进程的绑定、license有效期计算的功能。上述的物理计算机硬件既可以是虚拟机所在的宿主计算机,也可以是一台与虚拟机无关的独立计算机。
上述UUID是通用唯一识别码(UniversallyUniqueIdentifier)的缩写,是一种软件建构的标准。UUID是一个128比特的数值,是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的,标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(8-4-4-4-12)。UUID用来识别属性类型,在所有空间和时间上被视为唯一的标识。一般来说,可以保证这个值是真正唯一的,任何地方产生的任意一个UUID都不会有相同的值。UUID的特性决定了每个license授权文件都能拥有无论时间还是空间上都是唯一的身份标识。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (6)

1.一种虚拟化场景下软件license的验证方法,其特征在于:包括如下步骤:
S1、使虚拟机与license验证服务器之间可以进行网络通信;
S2、给软件配置license验证服务器地址;
S3、软件通过网络获取license验证服务器硬件信息,并使用获取到的硬件信息生成license申请文件;
S4、使用license申请文件制作license授权文件;
S5、软件将license授权文件中的硬件信息和自身进程ID一起发送给license验证服务器来验证license的有效性;
S5中,具体地,用户将license授权文件导入到软件中,软件读取license授权文件中的硬件信息,然后发送到license验证服务器,license验证服务器将软件进程ID与license授权文件的UUID做绑定,并验证license是否有效,同时在返回消息中携带license授权的验证结果,软件接收返回消息并根据验证结果决定用户是否可以正常使用软件。
2.根据权利要求1所述的虚拟化场景下软件license的验证方法,其特征在于:S1中,虚拟机可以通过特定端口访问到license验证服务器的IP地址;其中,虚拟机与license验证服务器可以在/不在同一个局域网内。
3.根据权利要求1所述的虚拟化场景下软件license的验证方法,其特征在于:S2中,具体地,将license验证服务器的IP地址设置到软件的配置信息中并保存。
4.根据权利要求1所述的虚拟化场景下软件license的验证方法,其特征在于:S3中,具体地,软件访问license验证服务器的特定端口,发送请求获取license验证服务器的硬件信息,并将获取到的硬件信息加密保存为license申请文件。
5.根据权利要求1所述的虚拟化场景下软件license的验证方法,其特征在于:S4中,具体地,软件供应商依据license申请文件制作license授权文件,license授权文件中加密存储license验证服务器的硬件信息和license授权文件的UUID;其中,每个license授权文件中的UUID均是唯一的。
6.一种使用如权利要求1至5任一项所述的虚拟化场景下软件license的验证方法的验证系统,其特征在于:所述验证系统包括通过网络连接的虚拟机和license验证服务器,还包括运行在所述虚拟机中的软件,所述软件包括系统软件和/或应用软件;
所述license验证服务器包括物理计算机硬件、license验证服务模块、license管理模块;其中,所述license验证服务模块完成license验证服务器硬件信息提取请求、license绑定请求、license验证请求、license有效期查询请求的响应功能;license管理模块完成license授权文件的UUID与软件进程的绑定、license有效期计算的功能。
CN201911038590.6A 2019-10-29 2019-10-29 一种虚拟机场景下软件license的验证方法及系统 Active CN110798466B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911038590.6A CN110798466B (zh) 2019-10-29 2019-10-29 一种虚拟机场景下软件license的验证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911038590.6A CN110798466B (zh) 2019-10-29 2019-10-29 一种虚拟机场景下软件license的验证方法及系统

Publications (2)

Publication Number Publication Date
CN110798466A CN110798466A (zh) 2020-02-14
CN110798466B true CN110798466B (zh) 2021-11-19

Family

ID=69442064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911038590.6A Active CN110798466B (zh) 2019-10-29 2019-10-29 一种虚拟机场景下软件license的验证方法及系统

Country Status (1)

Country Link
CN (1) CN110798466B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737660B (zh) * 2020-06-28 2023-11-17 浙江大华技术股份有限公司 软件授权的实现方法、系统和存储介质
CN112511399B (zh) * 2020-11-03 2021-12-24 杭州迪普科技股份有限公司 用户数量控制方法、装置、设备及计算机可读存储介质
CN112751832B (zh) * 2020-12-18 2022-08-02 湖南麒麟信安科技股份有限公司 一种虚拟机操作系统在线授权认证方法、设备和存储介质
CN112836183B (zh) * 2020-12-31 2023-03-24 上海移为通信技术股份有限公司 授权方法、网络设备和存储介质
CN113157340A (zh) * 2021-04-25 2021-07-23 马上消费金融股份有限公司 一种程序启动方法、程序授权方法、装置和电子设备
CN113486305B (zh) * 2021-09-08 2021-12-17 深圳市信润富联数字科技有限公司 一种基于过滤、拦截及加密技术的软件License验证方法及系统
CN113949516B (zh) * 2021-09-22 2023-07-18 杭州海兴泽科信息技术有限公司 一种统一认证许可方法、系统和存储介质
CN114024881B (zh) * 2021-10-30 2023-08-08 江苏信而泰智能装备有限公司 Ip协议仿真测试仪的硬件识别方法与系统
CN115022065B (zh) * 2022-06-15 2023-06-20 聚好看科技股份有限公司 License认证方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077345A (zh) * 2012-12-27 2013-05-01 深信服网络科技(深圳)有限公司 基于虚拟机的软件授权方法及系统
CN103207965A (zh) * 2013-03-13 2013-07-17 杭州华三通信技术有限公司 一种虚拟环境下License认证的方法及装置
CN103902878A (zh) * 2012-12-28 2014-07-02 杭州华三通信技术有限公司 一种虚拟环境下的License认证方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2472422A1 (en) * 2010-12-27 2012-07-04 Siemens Aktiengesellschaft Improved management of software licenses in a computer network
CN109063423B (zh) * 2018-07-16 2020-12-11 北京知道创宇信息技术股份有限公司 应用软件授权方法及系统
CN109840398A (zh) * 2019-02-14 2019-06-04 北京儒博科技有限公司 软件授权方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077345A (zh) * 2012-12-27 2013-05-01 深信服网络科技(深圳)有限公司 基于虚拟机的软件授权方法及系统
CN103902878A (zh) * 2012-12-28 2014-07-02 杭州华三通信技术有限公司 一种虚拟环境下的License认证方法和装置
CN103207965A (zh) * 2013-03-13 2013-07-17 杭州华三通信技术有限公司 一种虚拟环境下License认证的方法及装置

Also Published As

Publication number Publication date
CN110798466A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
CN110798466B (zh) 一种虚拟机场景下软件license的验证方法及系统
CN110912938B (zh) 入网终端接入验证方法、装置、存储介质及电子设备
JP6574168B2 (ja) 端末識別方法、ならびにマシン識別コードを登録する方法、システム及び装置
JP5747981B2 (ja) 仮想機械を用いた電子ネットワークにおける複数のクライアントの遠隔保守のためのシステム及び方法
CN109033857B (zh) 一种访问数据的方法、装置、设备及可读存储介质
CN110417730B (zh) 多应用程序的统一接入方法及相关设备
CN109474600B (zh) 一种账号绑定方法、系统、装置及其设备
CN111355713A (zh) 一种代理访问方法、装置、代理网关及可读存储介质
CN111339524A (zh) 多租户权限控制方法及装置
CN107566329A (zh) 一种访问控制方法及装置
CN114579951A (zh) 业务访问方法、电子设备及存储介质
CN113676548B (zh) 基于配置分流部署的微服务流量切换方法、装置和介质
CN113114623B (zh) 数据连接方法、装置、终端设备和计算机可读存储介质
CN103559430B (zh) 基于安卓系统的应用账号管理方法和装置
CN110971609A (zh) Drm客户端证书的防克隆方法、存储介质及电子设备
CN109063461B (zh) 一种第三方免密登录方法及系统
CN114554251B (zh) 多媒体数据的请求方法和装置、存储介质及电子装置
WO2022062688A1 (zh) 消息推送方法、电子设备及存储介质
CN115426155A (zh) 集群节点的访问方法、装置、设备及存储介质
CN113849802A (zh) 一种设备认证方法、装置、电子设备及存储介质
CN113326483A (zh) 应用程序授权方法及相关产品
CN110992022A (zh) 一种验证结果的获取方法及装置
CN117834312B (zh) 网络接入方法、网络接入设备以及计算机可读存储介质
CN114499977B (zh) 一种认证方法及装置
CN113157207B (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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A verification method and system of software license in virtual machine scene

Effective date of registration: 20220318

Granted publication date: 20211119

Pledgee: Xi'an Science and Technology Financial Service Center Co.,Ltd.

Pledgor: XI'AN LEIFENG ELECTRONIC TECHNOLOGY Co.,Ltd.

Registration number: Y2022610000096

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230411

Granted publication date: 20211119

Pledgee: Xi'an Science and Technology Financial Service Center Co.,Ltd.

Pledgor: XI'AN LEIFENG ELECTRONIC TECHNOLOGY Co.,Ltd.

Registration number: Y2022610000096