CN112631735B - 一种虚拟机授权管理方法、装置,电子设备及存储介质 - Google Patents

一种虚拟机授权管理方法、装置,电子设备及存储介质 Download PDF

Info

Publication number
CN112631735B
CN112631735B CN202011643046.7A CN202011643046A CN112631735B CN 112631735 B CN112631735 B CN 112631735B CN 202011643046 A CN202011643046 A CN 202011643046A CN 112631735 B CN112631735 B CN 112631735B
Authority
CN
China
Prior art keywords
authorization
host
information
virtual machine
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
CN202011643046.7A
Other languages
English (en)
Other versions
CN112631735A (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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202011643046.7A priority Critical patent/CN112631735B/zh
Publication of CN112631735A publication Critical patent/CN112631735A/zh
Application granted granted Critical
Publication of CN112631735B publication Critical patent/CN112631735B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种虚拟机授权管理方法、装置,电子设备及存储介质。该方法包括:接收搭载在所述宿主机中的目标虚拟机发送的保活信息;基于所述保活信息以及获取的授权文件,判断所述宿主机中的虚拟机的数量是否小于预设数量;其中,所述授权文件中包括所述宿主机中可运行的虚拟机的最大数量以及业务授权信息,所述最大数量为所述预设数量;当所述宿主机中的虚拟机的数量小于所述预设数量时,向所述目标虚拟机发送所述业务授权信息。通过该方式,能够有效的对宿主机中的虚拟机进行授权管控,避免出现大量复制的虚拟机。

Description

一种虚拟机授权管理方法、装置,电子设备及存储介质
技术领域
本申请涉及虚拟技术领域,具体而言,涉及一种虚拟机授权管理方法、装置,电子设备及存储介质。
背景技术
随着网络的发展和硬件资源的性能提升,越来越多的业务以虚拟机形式运行。虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。一台宿主机可运行多台虚拟机,虚拟机启停方便、成本较低,维护成本也就较低,因此虚拟机逐渐成为一种趋势。
由于虚拟机运行所依赖的所有硬件资源都是模拟出的,因此,通过一台已授权的虚拟机,可以复制出多台具备同样授权功能的虚拟机,而目前却没有能够对虚拟机的使用进行合理管控的方式。
发明内容
本申请实施例的目的在于提供一种虚拟机授权管理方法、装置,电子设备及存储介质,以改善“由于目前没有能够对虚拟机的使用进行合理管控的方式,导致出现大量复制的虚拟机”的问题。
本发明是这样实现的:
第一方面,本申请实施例提供一种虚拟机授权管理方法,应用于宿主机,所述方法包括:接收搭载在所述宿主机中的目标虚拟机发送的保活信息;基于所述保活信息以及获取的授权文件,判断所述宿主机中的虚拟机的数量是否小于预设数量;其中,所述授权文件中包括所述宿主机中可运行的虚拟机的最大数量以及业务授权信息,所述最大数量为所述预设数量;当所述宿主机中的虚拟机的数量小于所述预设数量时,向所述目标虚拟机发送所述业务授权信息。
在本申请实施例中,宿主机需要获取包括宿主机中可运行的虚拟机的最大数量以及业务授权信息的授权文件,而虚拟机需要与宿主机之间通过保活信息确定是否连接。进而使得宿主机能够基于授权文件以及该保活信息确定搭载的虚拟机的数量是否小于可运行的最大数量,只有在虚拟机的数量小于最大数量时,才向发送保活信息的虚拟机提供业务授权。通过该方式,能够有效的对宿主机中的虚拟机进行授权管控,避免出现大量复制的虚拟机。此外,由于该方式仅需依靠授权文件和接收虚拟机发送的保活信息来实现对虚拟机的授权管控,其控制成本也相对较低。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述保活信息包括经混淆、加密后的目标字符串,所述目标字符串由所述目标虚拟机基于当前时间戳生成,相应的,所述向所述目标虚拟机发送所述业务授权信息,还包括:基于与所述目标虚拟机预先约定的混淆算法以及加密算法,对所述保活信息进行反混淆、解密,得到所述目标字符串;判断所述目标字符串是否有效;当所述目标字符串有效时,向所述目标虚拟机发送所述业务授权信息。
在本申请实施例中,目标虚拟机在向宿主机发送保活信息时,保活信息中包括经混淆、加密后的目标字符串,且该目标字符串由虚拟机基于当前时间戳所生成的。进而使得后续宿主机在接收到保活信息时,需要对解密后的目标字符串进行验证。通过该方式,能够对虚拟机的身份进行有效性验证,提高了宿主机与虚拟机连接过程中的安全性。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述判断所述目标字符串是否有效,包括:判断所述目标字符串是否与存储于数据库中的字符串相同;其中,所述数据库中存储有之前接收到的虚拟机发送的保活信息中的字符串;其中,当所述目标字符串与存储于所述数据库中的字符串不相同时,则表征所述目标字符串有效。
在本申请实施例中,宿主机在接收到虚拟机所发送保活信息后,将解密后的字符串存储在数据库中,然后在下一次解密目标虚拟机发送的保活信息得到目标字符串之后,将目标字符串与存储于数据库中的字符串进行匹配,若是目标虚拟机未存储于数据库中,则表征目标字符串有效,若是目标字符串存储于数据库中,则表征受到重放攻击。通过该方式,能够对攻击者的重放攻击进行有效的防护,提高了宿主机与虚拟机连接过程中的安全性与可靠性。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,在所述基于所述保活信息以及获取的授权文件,判断所述宿主机中的虚拟机的数量是否小于预设数量之后,所述方法还包括:当所述宿主机中的虚拟机的数量不小于所述预设数量时,生成无授权信息;将所述无授权信息发送至所述目标虚拟机。
在本申请实施例中,当宿主机中的虚拟机的数量不小于预设数量时,则向目标虚拟机发送无授权信息,进而使得目标虚拟机无法正常的运行业务。通过该方式,能够使得复制出的大于最大数量的虚拟机失效,进而实现对宿主机中的虚拟机进行授权管控。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述方法还包括:向授权管理终端发送所述授权文件的获取请求;接收所述授权管理终端发送的所述授权文件。
在本申请实施例中,宿主机能够向授权管理终端发送授权文件的获取请求,进而通过接收的授权文件完成对宿主机中可运行的虚拟机的最大数量以及业务授权信息的动态更新。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述获取请求包括经加密的所述宿主机的硬件信息;相应的,所述接收所述授权管理终端发送的所述授权文件,包括:接收所述授权管理终端发送的加密授权文件;其中,所述加密授权文件为所述授权管理终端通过所述宿主机的硬件信息对所述授权文件进行加密得到的文件;所述授权管理终端在接收到所述获取请求后,基于与所述宿主机预先约定的密钥对所述获取请求进行解密,得到所述宿主机的硬件信息;提取所述宿主机的硬件信息,基于所述宿主机的硬件信息对所述加密授权文件进行解密,得到所述授权文件。
在本申请实施例中,宿主机发送的获取请求中包括经加密的宿主机的硬件信息,进而使得授权管理终端根据约定的密钥解密获取请求得到宿主机的硬件信息,再通过宿主机的硬件信息对授权文件进行加密,得到加密授权文件,进而将加密授权文件发送至宿主机。通过该方式,能够对宿主机的硬件信息进行加密传输,提高了宿主机与授权管理终端连接过程中的安全性,避免了拦截者对传输数据的篡改。此外,由于不同的宿主机的硬件信息不同,因此,针对每个宿主机的授权文件的密钥也不同,进而使得每个宿主机只能解密用自身的硬件信息加密后的授权文件。通过该方式,进一步的保证了授权文件的安全性。
第二方面,本申请实施例提供一种虚拟机授权管理方法,应用于授权管理终端,所述方法包括:接收宿主机发送的授权文件的获取请求;向所述宿主机发送所述授权文件,以使所述宿主机在接收到搭载在所述宿主机中的目标虚拟机发送的保活信息之后;基于所述保活信息以及所述授权文件,判断所述宿主机中的虚拟机的数量是否小于预设数量;其中,所述授权文件中包括所述宿主机中可运行的虚拟机的最大数量以及业务授权信息,所述最大数量为所述预设数量;当所述宿主机的虚拟机的数量小于所述预设数量时,向所述目标虚拟机发送所述业务授权信息。
第三方面,本申请实施例提供一种虚拟机授权管理装置,应用于宿主机,所述装置包括:第一接收模块,用于接收搭载在所述宿主机中的目标虚拟机发送的保活信息;判断模块,用于基于所述保活信息以及获取的授权文件,判断所述宿主机中的虚拟机的数量是否小于预设数量;其中,所述授权文件中包括所述宿主机中可运行的虚拟机的最大数量以及业务授权信息,所述最大数量为所述预设数量;发送模块,用于当所述宿主机中的虚拟机的数量小于所述预设数量时,向所述目标虚拟机发送所述业务授权信息。
第四方面,本申请实施例提供一种虚拟机授权管理装置,应用于授权管理终端,所述装置包括:接收模块,用于接收宿主机发送的授权文件的获取请求;发送模块,用于向所述宿主机发送所述授权文件,以使所述宿主机在接收到搭载在所述宿主机中的目标虚拟机发送的保活信息之后;基于所述保活信息以及所述授权文件,判断所述宿主机中的虚拟机的数量是否小于预设数量;其中,所述授权文件中包括所述宿主机中可运行的虚拟机的最大数量以及业务授权信息,所述最大数量为所述预设数量;当所述宿主机的虚拟机的数量小于所述预设数量时,向所述目标虚拟机发送所述业务授权信息。
第五方面,本申请实施例提供一种宿主机,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于调用存储在所述存储器中的程序,执行如上述第一方面实施例提供的方法。
第六方面,本申请实施例提供一种宿主机,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于调用存储在所述存储器中的程序,执行如上述第一方面实施例提供的方法。
第七方面,本申请实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序在被处理器运行时执行如上述第一方面实施例和/或上述第一方面实施例提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种宿主机的结构示意图。
图2为本申请实施例提供的一种虚拟机授权管理方法的步骤流程图。
图3为本申请实施例提供的一种宿主机与授权管理终端的交互示意图。
图4为本申请实施例提供的一种虚拟机授权管理装置的模块框图。
图5为本申请实施例提供的另一种虚拟机授权管理装置的模块框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参阅图1,本申请实施例提供的一种应用虚拟机授权管理方法、装置的宿主机100的示意性结构框图。本申请实施例中,宿主机100可以是,但不限于个人电脑(PersonalComputer、PC)、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、移动上网设备(Mobile Internet Device,MID)等。在结构上,宿主机100可以包括处理器110和存储器120。
处理器110与存储器120直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。虚拟机授权管理装置包括至少一个可以软件或固件(Firmware)的形式存储在存储器120中或固化在宿主机100的操作系统(Operating System,OS)中的软件模块。处理器110用于执行存储器120中存储的可执行模块,例如,虚拟机授权管理装置所包括的软件功能模块及计算机程序等,以实现虚拟机授权管理方法。处理器110可以在接收到执行指令后,执行计算机程序。
其中,处理器110可以是一种集成电路芯片,具有信号处理能力。处理器110也可以是通用处理器,例如,可以是中央处理器(Central Processing Unit,CPU)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。此外,通用处理器可以是微处理器或者任何常规处理器等。
存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM),以及电可擦编程只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)。存储器120用于存储程序,处理器110在接收到执行指令后,执行该程序。
应当理解,图1所示的结构仅为示意,本申请实施例提供的宿主机100还可以具有比图1更少或更多的组件,或是具有与图1所示不同的配置。此外,图1所示的各组件可以通过软件、硬件或其组合实现。
请参阅图2,图2为本申请实施例提供的虚拟机授权管理方法的步骤流程图,该方法应用于图1所示的宿主机100中。需要说明的是,本申请实施例提供的虚拟机授权管理方法不以图2及以下所示的顺序为限制。该方法包括:步骤S101-步骤S103。
步骤S101:接收搭载在宿主机中的目标虚拟机发送的保活信息。
其中,宿主机中可以搭载多个虚拟机。每个虚拟机通过定期的向宿主机发送保活信息来确定与宿主机的是否正常连接以及接收宿主机发送的业务授权信息。因此,宿主机每隔一段时间将会接收搭载的虚拟机所发送的保活信息。于本申请实施例中,以一个目标虚拟机与宿主机的交互进行说明,也即,宿主机首先接收目标虚拟机发送的保活信息。
步骤S102:基于保活信息以及获取的授权文件,判断宿主机中的虚拟机的数量是否小于预设数量;其中,授权文件中包括宿主机中可运行的虚拟机的最大数量以及业务授权信息,最大数量为预设数量。
在每次获取到保活信息后,宿主机根据获取的授权文件对当前宿主机中的虚拟机的数量是否已达到预设数量进行判断。其中,预设数量即为授权文件中可运行的虚拟机的最大数量,比如,预设数量可以是3个、4个,本申请不作限定。
作为第一种判断的方式,可以通过虚拟机与宿主机之间建立的TCP(TransmissionControl Protocol,传输控制协议)连接数量来判断宿主机中的虚拟机的数量。具体的,每个虚拟机在向宿主机发送保活信息时,会先创建TCP连接(会话),在虚拟机生命周期内,虚拟机与宿主机的TCP连接是一直存在的,宿主机记录TCP连接个数,如果TCP连接个数为N,则运行虚拟机个数为N,此时通过TCP连接个数来判断宿主机中的虚拟机的数量。如连接个数N大于预设数量,则宿主机中的虚拟机个数超过了最大数量。
作为第二种判断的方式,可以通过预设的时间间隔内接收到的保活信息的数量来判断宿主机中的虚拟机的数量,比如,预先设定虚拟机一分钟发送一次保活信息,也即预设的时间间隔为一分钟。当宿主机中仅搭载一个虚拟机时,则在一分钟内,仅会接收一次保活信息。若是,在一分钟内接收了两次保活信息,则说明宿主机中此时搭载了两个虚拟机。需要说明的是,复制的虚拟机也是一分钟发送一次保活信息。上述的预设的时间间隔仅为示例,可以根据实际需求设定虚拟机间隔发送保活信息的时间,比如三十秒、五分钟等等。
作为第三种判断的方式,还可以通过每个虚拟机的身份信息来判断宿主机中的虚拟机的数量,如通过虚拟机的ID(Identity Document、身份标识号)或其他的标识信息等。本申请不作限定。
步骤S103:当宿主机中的虚拟机的数量小于预设数量时,向目标虚拟机发送业务授权信息。
通过前述方式,即可对宿主机中的搭载的虚拟机的数量进行判断,当宿主机中的虚拟机的数量小于预设数量时,则表征当前还可以对目标虚拟机进行授权控制,进而将授权文件中的业务授权信息发送至目标虚拟机,以使得目标虚拟机根据接收的业务授权信息执行对应的业务功能。比如,通过目标虚拟机运行对应的应用、游戏等等。
相应的,当宿主机中的虚拟机的数量不小于预设数量时,则表征此时宿主机中的虚拟机的数量已经饱和,无法再新增加虚拟机。此时,不向目标虚拟机发送业务授权信息。
可选的,当宿主机中的虚拟机的数量不小于预设数量时,该方法还包括:生成无授权信息;并将无授权信息发送至目标虚拟机。
其中,无授权信息可以是停止运行信息或者停止业务信息。也即,当宿主机中的虚拟机的数量已经不小于预设数量时,会向目标虚拟机发送无授权信息,使得目标虚拟机直接停止运行或停止当前业务。通过该方式,能够使得复制出大于最大数量的虚拟机失效或无法执行相应的业务功能,进而实现对宿主机中的虚拟机进行授权管控。
在本申请实施例中,宿主机需要获取包括宿主机中可运行的虚拟机的最大数量以及业务授权信息的授权文件,而虚拟机需要与宿主机之间通过保活信息确定是否连接。进而使得宿主机能够基于授权文件以及该保活信息确定搭载的虚拟机的数量是否小于可运行的最大数量,只有在虚拟机的数量小于最大数量时,才向发送保活信息的虚拟机提供业务授权。通过该方式,能够有效的对宿主机中的虚拟机进行授权管控,避免出现大量复制的虚拟机。此外,由于该方式仅需依靠授权文件和接收虚拟机发送的保活信息来实现对虚拟机的授权管控,其控制成本也相对较低。
下面结合具体的示例对上述虚拟机授权管理方法进行说明。
作为一种可选的实施方式,目标虚拟机在向宿主机发送保活信息时,该保活信息包括经混淆、加密后的目标字符串。该目标字符串由目标虚拟机基于当前时间戳生成。也即,目标虚拟机首先生成基于时间戳的目标字符串,其中,时间戳表示从1970年开始计时的秒数,通常精确到微秒级别。然后,再将该目标字符串进行混淆、加密,即可得到保活信息。其中,混淆指通过变换手段,将原本简单易懂的字符串转化为复杂的字符串。从而达到对抗逆向分析者对字符串的静态逆向分析,最终达到保护字符串不被攻击者掌握,避免造成不可挽回的损失。加密是指原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”。
相应的,宿主机在接收到该保活信息时,会需要进行验证,也即,步骤S103在向目标虚拟机发送业务授权信息时,还包括:基于与目标虚拟机预先约定的混淆算法以及加密算法,对保活信息进行反混淆、解密,得到目标字符串;判断目标字符串是否有效;当目标字符串有效时,向目标虚拟机发送业务授权信息。
也即,宿主机与虚拟机之间会预先约定好混淆算法以及加密算法,进而通过预先约定的算法实现对目标字符串的加解密。示例性的,预先约定的加密算法可以是3DES(Triple DES,三重数据加密)算法,哈希加密算法,消息熵要算法,对此,本申请不作限定。示例性的,混淆的方式可以具体包括:目标虚拟机基于时间戳生成目标字符串S,该目标字符串S的长度为L。然后记该目标虚拟机向宿主机发送保活信息的次数为N,N占一个字节,N取值小于等于128,如果大于128,则N从1重新开始计数。然后将N和S一起混淆,N作为首个字节,得到总长度为L+1的字符串S1。具体的混淆算法为:取出字符串S的每个字节,加上N,然后与N合并即可得到新字符串S1。例如,N=3,S=12345,则混淆后的字符串S1即为345678。
相应的,反混淆的方式即为读取字符串S1中的第一个字节N的数值,然后从第二字节开始每个字节值减N,最后取出第一个字节N即可得到目标字符串。
宿主机在获取到目标字符串后,判断目标字符串是否有效,只有目标字符串有戏,才向目标虚拟机发送业务授权信息。通过该方式,能够对虚拟机的身份进行有效性验证,提高了宿主机与虚拟机连接过程中的安全性。
于本申请实施例中,宿主机在接收到保活信息后,是先判断宿主机中的虚拟机的数量是否小于预设数量,若宿主机中的虚拟机的数量小于预设数量,则对保活信息进行解密,得到目标字符串。然后再对目标字符串进行验证。也即,该方式是先判断宿主机中是否还可以新增可以执行业务的虚拟机,然后再判断目标虚拟机是否有效。通过该方式能够节约判断流程,提高验证过程的合理性。
当然,在其他实施例中,也可以是先对保活信息进行解密,得到目标字符串,然后对目标字符串进行验证。当目标字符串有效时,再判断宿主机中的虚拟机的数量是否小于预设数量。对此,本申请不作限定。
可选地,作为第一种判断目标字符串是否有效的方式,该方法包括:判断目标字符串是否与存储于数据库中的字符串相同;其中,数据库中存储有之前接收到的虚拟机发送的保活信息中的字符串;当目标字符串与存储于数据库中的字符串不相同时,则表征目标字符串有效。
需要说明的是,宿主机在接收到虚拟机所发送保活信息后,将解密后的字符串存储在自身的数据库中,然后在下一次解密目标虚拟机发送的保活信息得到目标字符串之后,将目标字符串与存储于数据库中的字符串进行匹配,若是目标虚拟机未存储于数据库中,则表征目标字符串有效,若是目标字符串存储于数据库中,则表征受到重放攻击。需要说明的是,重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。通过该方式,能够对攻击者的重放攻击进行有效的防护,提高了宿主机与虚拟机连接过程中的安全性与可靠性。
作为第二种判断目标字符串是否有效的方式,该方式包括:判断目标字符串转换为时间后与当前时间的差值是否小于预设阈值。当目标字符串转换为时间后与当前时间的差值大于预设阈值时,则表征目标字符串无效。
需要说明的是,预设阈值可以根据实际情况而定,设置预设阈值的目的是验证当前得到的目标字符串对应的时间戳是否符合时间精度,比如当前年限是2020年,但目标字符串转换为时间后的时间是2040年,显然,与当前时间不符合,因此,目标字符串无效。
在上述步骤S102中,获取的授权文件可以是预先存储于宿主机的,比如宿主机在配置虚拟机时,就已经将与该虚拟机所对应的授权文件进行存储。当然,为了能够及时的更新授权文件,于本申请实施中,可以通过如下步骤获取授权文件,该方法包括:向授权管理终端发送授权文件的获取请求;接收授权管理终端发送的授权文件。
请参阅图3,需要说明的是,图3仅是为了便于理解各组件之间的交互,在实际情况中,虚拟机是搭载在宿主机中的。通过上述方式,可以实现宿主机动态的更新授权文件,也即,当宿主机需要更新授权文件时,仅需向授权管理终端发送请求即可。
其中,宿主机可以在接收搭载在宿主机中的目标虚拟机发送的保活信息之前,主动的向授权管理终端发送授权文件的获取请求,进而接收授权管理终端发送的授权文件。也可以是在接收到搭载在宿主机中的目标虚拟机发送的保活信息之后,被动的向授权管理终端发送授权文件的获取请求,进而接收授权管理终端发送的授权文件。对此,本申请不作限定。
上述的授权管理终端可以是服务器、计算机、也可以是可以任意可以进行授权管理的终端设备,比如手机。在结构上,授权管理终端可以也包括处理器以及存储器。授权管理终端的结构说明可以参考前述对宿主机的结构说明,对此,不作重复赘述。
可选地,为了提高了宿主机与授权管理终端连接过程中的安全性,避免拦截者对传输数据的篡改。于本申请实施例中,上述宿主机所发送的获取请求中包括经加密的宿主机的硬件信息。相应的,授权管理终端在接收到获取请求后,基于与宿主机预先约定的密钥对获取请求进行解密,得到宿主机的硬件信息,然后授权管理终端通过宿主机的硬件信息对授权文件进行加密得到加密授权文件。最后,授权管理终端向宿主机发送该加密授权文件。然后,宿主机接收授权管理终端发送的加密授权文件,提取宿主机的硬件信息,基于宿主机的硬件信息对加密授权文件进行解密,得到授权文件。
其中,宿主机的硬件信息可以是宿主机中的处理器信息、硬盘信息,内存信息等等,比如,宿主机的硬件信息为宿主机中处理器的序列号。当然后也可以是将宿主机的硬件信息进行汇总,得到宿主机的唯一标识。示例性的,获取宿主机的物理网卡的MAC(MediaAccess Control,媒体存取控制)地址,记为M,读取宿主机的处理器序列号C、读取宿主机的主板的序列号B。计算M+C+B的总长度L,如果长度L<32字节,则填充特定字符,使总长度达到32字节。最后,M+C+B+填充字符一起构成了宿主机的唯一标识。该唯一标识即为宿主机所要传输的硬件信息。然后对该唯一标识进行加密,加密得到的是32字节的字符,加密字符是二进制的,再经过base64(一种编码方式)计算后得到可视化的字符串,即可生成获取请求。
需要说明的是,由于不同的宿主机的硬件信息不同,因此,针对每个宿主机的授权文件的密钥也不同,进而使得每个宿主机只能解密用自身的硬件信息加密后的授权文件。通过该方式,进一步的保证了授权文件的安全性。
上述预先约定的密钥对应的加密算法可以是哈希加密算法,消息熵要算法,对此,本申请不作限定。
此外,上述方案是以宿主机与授权管理终端通过网络连接的方式进行交互来说明的。在其他实施例中,宿主机与授权管理终端也可以通过离线传输的方式进行交互。示例性的,宿主机提取自身的硬件信息,得到唯一标识码,然后将其进行加密,生成获取请求码,然后通过人工拷贝(如移动硬盘)的方式将其拷贝到授权管理终端,授权管理终端在得到获取请求码时,基于获取请求码生成加密授权文件,然后将其拷贝至宿主机上,进而实现离线交互。
基于同一发明构思,本申请实施例还提供另一种虚拟机授权管理方法,该方应用于授权管理终端。该方法包括:接收宿主机发送的授权文件的获取请求;向所述宿主机发送所述授权文件,以使所述宿主机在接收到搭载在所述宿主机中的目标虚拟机发送的保活信息之后;基于所述保活信息以及所述授权文件,判断所述宿主机中的虚拟机的数量是否小于预设数量;其中,所述授权文件中包括所述宿主机中可运行的虚拟机的最大数量以及业务授权信息,所述最大数量为所述预设数量;当所述宿主机的虚拟机的数量小于所述预设数量时,向所述目标虚拟机发送所述业务授权信息。
需要说明的是,上述的另一种虚拟机授权管理方法在前述实施例中已有阐述,相同部分互相参考即可,为了避免累赘,此处不作重复阐述。
请参阅图4,基于同一发明构思,本申请实施例还提供一种虚拟机授权管理装置200,该装置包括:第一接收模块201、判断模块202以及发送模块203。
第一接收模块201,用于接收搭载在所述宿主机中的目标虚拟机发送的保活信息。
判断模块202,用于基于所述保活信息以及获取的授权文件,判断所述宿主机中的虚拟机的数量是否小于预设数量;其中,所述授权文件中包括所述宿主机中可运行的虚拟机的最大数量以及业务授权信息,所述最大数量为所述预设数量。
发送模块203,用于当所述宿主机中的虚拟机的数量小于所述预设数量时,向所述目标虚拟机发送所述业务授权信息。
可选地,所述保活信息包括经混淆、加密后的目标字符串,所述目标字符串由所述目标虚拟机基于当前时间戳生成,相应的,所述发送模块203还用于基于与所述目标虚拟机预先约定的混淆算法以及加密算法,对所述保活信息进行反混淆、解密,得到所述目标字符串;判断所述目标字符串是否有效;当所述目标字符串有效时,向所述目标虚拟机发送所述业务授权信息。
所述发送模块203还具体用于判断所述目标字符串是否与存储于数据库中的字符串相同;其中,所述数据库中存储有之前接收到的虚拟机发送的保活信息中的字符串;其中,当所述目标字符串与存储于所述数据库中的字符串不相同时,则表征所述目标字符串有效。
所述发送模块203还具体用于当所述宿主机的虚拟机的数量不小于所述预设数量时,生成无授权信息;将所述无授权信息发送至所述目标虚拟机。
可选地,该装置还包括:第二接收模块204。
第二接收模块204用于向授权管理终端发送所述授权文件的获取请求;接收所述授权管理终端发送的所述授权文件。
可选地,所述获取请求包括经加密的所述宿主机的硬件信息,第二接收模块204具体用于接收所述授权管理终端发送的加密授权文件;其中,所述加密授权文件为所述授权管理终端通过所述宿主机的硬件信息对所述授权文件进行加密得到的文件;所述授权管理终端在接收到所述获取请求后,基于与所述宿主机预先约定的密钥对所述获取请求进行解密,得到所述宿主机的硬件信息;提取所述宿主机的硬件信息,基于所述宿主机的硬件信息对所述加密授权文件进行解密,得到所述授权文件。
请参阅图5,基于同一发明构思,本申请实施例还提供另一种虚拟机授权管理装置300,该装置包括:接收模块301、发送模块302。
接收模块301,用于接收宿主机发送的授权文件的获取请求。
发送模块302,用于向所述宿主机发送所述授权文件,以使所述宿主机在接收到搭载在所述宿主机中的目标虚拟机发送的保活信息之后;基于所述保活信息以及所述授权文件,判断所述宿主机中的虚拟机的数量是否小于预设数量;其中,所述授权文件中包括所述宿主机中可运行的虚拟机的最大数量以及业务授权信息,所述最大数量为所述预设数量;当所述宿主机的虚拟机的数量小于所述预设数量时,向所述目标虚拟机发送所述业务授权信息。
需要说明的是,由于所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,其上存储有计算机程序,计算机程序在被运行时执行上述实施例中提供的方法。
该存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (6)

1.一种虚拟机授权管理方法,其特征在于,应用于宿主机,所述方法包括:
接收搭载在所述宿主机中的目标虚拟机发送的保活信息;
基于所述保活信息以及获取的授权文件,判断所述宿主机中的虚拟机的数量是否小于预设数量;其中,所述授权文件中包括所述宿主机中可运行的虚拟机的最大数量以及业务授权信息,所述最大数量为所述预设数量;其中,通过预设的时间间隔内接收到的保活信息的数量来判断宿主机中的虚拟机的数量;
当所述宿主机中的虚拟机的数量小于所述预设数量时,向所述目标虚拟机发送所述业务授权信息;
其中,所述保活信息包括经混淆、加密后的目标字符串,所述目标字符串由所述目标虚拟机基于当前时间戳生成,相应的,所述向所述目标虚拟机发送所述业务授权信息,还包括:
基于与所述目标虚拟机预先约定的混淆算法以及加密算法,对所述保活信息进行反混淆、解密,得到所述目标字符串;
判断所述目标字符串是否有效;
当所述目标字符串有效时,向所述目标虚拟机发送所述业务授权信息;
在接收搭载在所述宿主机中的目标虚拟机发送的保活信息之前,所述方法还包括:
向授权管理终端发送所述授权文件的获取请求;所述获取请求包括经加密的所述宿主机的硬件信息;
接收所述授权管理终端发送的加密授权文件;其中,所述加密授权文件为所述授权管理终端通过所述宿主机的硬件信息对所述授权文件进行加密得到的文件;所述授权管理终端在接收到所述获取请求后,基于与所述宿主机预先约定的密钥对所述获取请求进行解密,得到所述宿主机的硬件信息;
提取所述宿主机的硬件信息,基于所述宿主机的硬件信息对所述加密授权文件进行解密,得到所述授权文件。
2.根据权利要求1所述的虚拟机授权管理方法,其特征在于,所述判断所述目标字符串是否有效,包括:
判断所述目标字符串是否与存储于数据库中的字符串相同;其中,所述数据库中存储有之前接收到的虚拟机发送的保活信息中的字符串;
其中,当所述目标字符串与存储于所述数据库中的字符串不相同时,则表征所述目标字符串有效。
3.根据权利要求1所述的虚拟机授权管理方法,其特征在于,在所述基于所述保活信息以及获取的授权文件,判断所述宿主机中的虚拟机的数量是否小于预设数量之后,所述方法还包括:
当所述宿主机中的虚拟机的数量不小于所述预设数量时,生成无授权信息;
将所述无授权信息发送至所述目标虚拟机。
4.一种虚拟机授权管理装置,其特征在于,应用于宿主机,所述装置包括:
第一接收模块,用于接收搭载在所述宿主机中的目标虚拟机发送的保活信息;
判断模块,用于基于所述保活信息以及获取的授权文件,判断所述宿主机中的虚拟机的数量是否小于预设数量;其中,所述授权文件中包括所述宿主机中可运行的虚拟机的最大数量以及业务授权信息,所述最大数量为所述预设数量;其中,通过预设的时间间隔内接收到的保活信息的数量来判断宿主机中的虚拟机的数量;
发送模块,用于当所述宿主机中的虚拟机的数量小于所述预设数量时,向所述目标虚拟机发送所述业务授权信息;
其中,所述保活信息包括经混淆、加密后的目标字符串,所述目标字符串由所述目标虚拟机基于当前时间戳生成,所述发送模块,具体用于基于与所述目标虚拟机预先约定的混淆算法以及加密算法,对所述保活信息进行反混淆、解密,得到所述目标字符串;判断所述目标字符串是否有效;当所述目标字符串有效时,向所述目标虚拟机发送所述业务授权信息;
第二接收模块,用于在接收搭载在所述宿主机中的目标虚拟机发送的保活信息之前,向授权管理终端发送所述授权文件的获取请求;所述获取请求包括经加密的所述宿主机的硬件信息;接收所述授权管理终端发送的加密授权文件;其中,所述加密授权文件为所述授权管理终端通过所述宿主机的硬件信息对所述授权文件进行加密得到的文件;所述授权管理终端在接收到所述获取请求后,基于与所述宿主机预先约定的密钥对所述获取请求进行解密,得到所述宿主机的硬件信息;提取所述宿主机的硬件信息,基于所述宿主机的硬件信息对所述加密授权文件进行解密,得到所述授权文件。
5.一种宿主机,其特征在于,包括:处理器和存储器,所述处理器和所述存储器连接;
所述存储器用于存储程序;
所述处理器用于运行存储在所述存储器中的程序,执行如权利要求1-3中任一项所述的方法。
6.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序在被计算机运行时执行如权利要求1-3中任一项所述的方法。
CN202011643046.7A 2020-12-30 2020-12-30 一种虚拟机授权管理方法、装置,电子设备及存储介质 Active CN112631735B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011643046.7A CN112631735B (zh) 2020-12-30 2020-12-30 一种虚拟机授权管理方法、装置,电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011643046.7A CN112631735B (zh) 2020-12-30 2020-12-30 一种虚拟机授权管理方法、装置,电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112631735A CN112631735A (zh) 2021-04-09
CN112631735B true CN112631735B (zh) 2024-06-21

Family

ID=75290544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011643046.7A Active CN112631735B (zh) 2020-12-30 2020-12-30 一种虚拟机授权管理方法、装置,电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112631735B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113552A (zh) * 2014-07-28 2014-10-22 百度在线网络技术(北京)有限公司 一种平台授权方法、平台服务端及应用客户端和系统
CN108932166A (zh) * 2018-07-25 2018-12-04 浪潮电子信息产业股份有限公司 一种云管理平台架构下的资源使用控制方法、装置及设备
CN110737884A (zh) * 2019-10-10 2020-01-31 武汉普利商用机器有限公司 一种跨平台的终端授权管理方法及系统
CN111901124A (zh) * 2020-07-29 2020-11-06 北京天融信网络安全技术有限公司 一种通信安全防护方法、装置及电子设备
CN112016055A (zh) * 2020-08-06 2020-12-01 苏州浪潮智能科技有限公司 基于硬件特征的软件授权激活码生成方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923616A (zh) * 2010-08-03 2010-12-22 鸿富锦精密工业(深圳)有限公司 版权保护中的服务提供装置、用户终端及版权保护方法
CN106355052A (zh) * 2016-11-03 2017-01-25 广东浪潮大数据研究有限公司 一种授权集中管理方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113552A (zh) * 2014-07-28 2014-10-22 百度在线网络技术(北京)有限公司 一种平台授权方法、平台服务端及应用客户端和系统
CN108932166A (zh) * 2018-07-25 2018-12-04 浪潮电子信息产业股份有限公司 一种云管理平台架构下的资源使用控制方法、装置及设备
CN110737884A (zh) * 2019-10-10 2020-01-31 武汉普利商用机器有限公司 一种跨平台的终端授权管理方法及系统
CN111901124A (zh) * 2020-07-29 2020-11-06 北京天融信网络安全技术有限公司 一种通信安全防护方法、装置及电子设备
CN112016055A (zh) * 2020-08-06 2020-12-01 苏州浪潮智能科技有限公司 基于硬件特征的软件授权激活码生成方法和系统

Also Published As

Publication number Publication date
CN112631735A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN111708991B (zh) 服务的授权方法、装置、计算机设备和存储介质
TWI620087B (zh) 驗證伺服器、驗證方法及其電腦程式產品
US20070257813A1 (en) Secure network bootstrap of devices in an automatic meter reading network
CN109921902B (zh) 一种密钥管理方法、安全芯片、业务服务器及信息系统
JP2013516685A (ja) コンピューターポリシーを施行するためのシステムおよび方法
CN109558739B (zh) 程序运行方法、装置、终端及可读介质
JP2010514000A (ja) 電子装置にプログラム状態データをセキュアに記憶するための方法
JPWO2008035450A1 (ja) ワンタイムidによる認証
CN112187741B (zh) 基于运维审计系统的登录认证方法、装置和电子装置
CN105099705A (zh) 一种基于usb协议的安全通信方法及其系统
CN113986470B (zh) 一种用户无感知的虚拟机批量远程证明方法
CN111783078A (zh) Android平台安全芯片控制系统
CN115473655B (zh) 接入网络的终端认证方法、装置及存储介质
CN117240625B (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN104104650A (zh) 数据文件访问方法及终端设备
CN114244508A (zh) 数据加密方法、装置、设备及存储介质
CN114338091B (zh) 数据传输方法、装置、电子设备及存储介质
EP3720042B1 (en) Method and device for determining trust state of tpm, and storage medium
CN113329004B (zh) 一种认证方法、系统及装置
CN117668783A (zh) 一种基于服务器中基板管理控制器的处理方法
CN114553566B (zh) 数据加密方法、装置、设备及存储介质
CN112631735B (zh) 一种虚拟机授权管理方法、装置,电子设备及存储介质
CN113784342A (zh) 一种基于物联网终端的加密通讯方法及系统
KR20040048161A (ko) 무선통신망에서의 부가단말기를 위한 drm 적용 방법
CN115514507B (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