CN112422478A - 一种虚拟机安全认证方法及系统 - Google Patents

一种虚拟机安全认证方法及系统 Download PDF

Info

Publication number
CN112422478A
CN112422478A CN201910776053.5A CN201910776053A CN112422478A CN 112422478 A CN112422478 A CN 112422478A CN 201910776053 A CN201910776053 A CN 201910776053A CN 112422478 A CN112422478 A CN 112422478A
Authority
CN
China
Prior art keywords
virtual machine
security authentication
tpm
security
host
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.)
Granted
Application number
CN201910776053.5A
Other languages
English (en)
Other versions
CN112422478B (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.)
Wuhan Fiberhome Integration Technologies Co ltd
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Wuhan Fiberhome Integration Technologies Co ltd
Fiberhome Telecommunication Technologies 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 Wuhan Fiberhome Integration Technologies Co ltd, Fiberhome Telecommunication Technologies Co Ltd filed Critical Wuhan Fiberhome Integration Technologies Co ltd
Priority to CN201910776053.5A priority Critical patent/CN112422478B/zh
Publication of CN112422478A publication Critical patent/CN112422478A/zh
Application granted granted Critical
Publication of CN112422478B publication Critical patent/CN112422478B/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/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种虚拟机安全认证方法及系统,涉及虚拟机安全认证技术领域,该方法包括以下步骤:基于virtio通用框架,分别建立宿主机与各虚拟机之间的安全认证通道,且各安全认证通道相互独立;各虚拟机进行TPM安全策略配置初始化;对各虚拟机进行可信安全认证。本发明该方法基于virtio通用框架,建立安全认证通道,为虚拟机安全认证工作提供保密可靠以及适用面广的优势。

Description

一种虚拟机安全认证方法及系统
技术领域
本发明涉及虚拟机安全认证技术领域,具体涉及一种虚拟机安全认证方法及系统。
背景技术
随着云计算的发展,基于云化网络的各种应用和云平台的发展,基于虚拟化的云环境已经处处可见,大量的专用硬件设备被虚拟机替代,应用APP在虚拟机里运行,云化网络已经大量应用到我们日常生活当中,而云平台的安全性关系到虚拟机的安全性和用户应用数据的安全性,如何保证云平台的安全性是制约云计算和虚拟化应用的关键。
基于TPM芯片的服务器可信认证,是目前服务器虚拟化最常用的云平台可信认证方法,通过宿主机X86服务器上的TPM芯片,在HOST的BIOS和HOST内核里进行TPM的安全认证,保障X86宿主机服务器的可信启动,而虚拟机的可信启动,一般需要通过VTPM虚拟机的TPM芯片来实现,由虚拟化层为每个虚拟机提供一个虚拟的TPM芯片进行虚拟机的可信启动;
但由于云平台管理的虚拟机数量众多,需要统一管理VTPM的可信策略和可信行为,设计一个有效的基于VTPM的虚拟机安全认证系统是解决虚拟机可信安全问题的关键。
而virtio是半虚拟化hypervisor中位于设备之上的抽象层,基于virtio建立的通信通道是隔离和安全的,且其适用范围广;
因此,急需一种结合virtio的虚拟机安全认证方法来解决当前的技术问题。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种虚拟机安全认证方法及系统,该方法基于virtio通用框架,建立安全认证通道,为虚拟机安全认证工作提供保密可靠以及适用面广的优势。
为达到以上目的,本发明采取的技术方案是:
第一方面,本发明公开一种虚拟机安全认证方法,所述方法包括以下步骤:
基于virtio通用框架,分别建立宿主机与各虚拟机之间的安全认证通道,且各安全认证通道相互独立;
各所述虚拟机进行TPM安全策略配置初始化;
对各所述虚拟机进行可信安全认证。
在上述技术方案的基础上,基于virtio框架,分别建立宿主机与各虚拟机之间的安全认证通道,包括宿主机端建立流程以及虚拟机端建立流程,所述宿主机端建立流程包括以下步骤:
所述宿主机加载物理TPM驱动,增加virtio初始化接口,注册virtio服务端socket初始化接口;
所述宿主机监听所述虚拟机的VTPM socket连接请求以及TPM的配置下发socket连接请求;
所述虚拟机端建立流程包括以下步骤:
所述虚拟机加载VTPM驱动,进行VTPM设备初始化;
注册virtio客户端socket初始化接口;
向所述宿主机发送所述VTPM socket连接请求。
在上述技术方案的基础上,基于virtio框架,分别建立宿主机与各虚拟机之间的安全认证通道,还包括以下步骤:
响应于所述VTPM socket连接请求,所述宿主机与所述虚拟机连接成功,完成安全认证通道的建立;
响应于所述VTPM socket连接请求,所述宿主机与所述虚拟机连接超时,记录连接超时事件。
在上述技术方案的基础上,所述方法还包括以下步骤:
响应于所述TPM的配置下发socket连接请求,所述宿主机向所述虚拟机下发TPM安全策略配置,所述虚拟机根据所述TPM安全策略配置进行TPM安全策略初始化;
响应于所述TPM的配置下发socket连接请求,所述宿主机向所述虚拟机下发TPM安全策略配置,所述虚拟机接收所述TPM安全策略配置失败,记录配置接收失败事件。
在上述技术方案的基础上,所述对各所述虚拟机进行可信安全认证具体包括以下步骤:
将第一PCR寄存器数值与各第二PCR寄存器数值进行对比,并结合预设的安全认证策略对各所述虚拟机进行可信安全认证;
其中,所述第一PCR寄存器数值为所述宿主机的TPM的PCR寄存器的值,所述第二PCR寄存器数值为所述虚拟机的VTPM的PCR寄存器的值。
在上述技术方案的基础上,若所述第一PCR寄存器数值不小于第二PCR寄存器数值,结合预设的安全认证策略,判定所述第二PCR寄存器数值对应的虚拟机通过可信安全认证。
在上述技术方案的基础上,所述方法还包括安全认证预备流程,所述安全认证预备流程包括以下步骤:
启动安全认证数据库,其用于查询以及记录安全认证事件;
启动日志数据库,其用于记录以及查询文件下发事件;
向所述虚拟机下发所述安全认证策略。
在上述技术方案的基础上,所述方法还包括以下步骤:
响应于所述安全认证策略的下发失败,在所述日志数据库中记录安全认证策略下发失败事件。
第二方面,本发明还公开一种虚拟机安全认证系统,所述系统包括:
安全认证通道建立单元,其用于基于virtio通用框架,分别建立宿主机与各虚拟机之间的安全认证通道,且各安全认证通道相互独立;
TPM安全策略配置单元,其用于根据所述宿主机下发的TPM安全策略配置,对各所述虚拟机对进行TPM安全策略配置初始化;
可信安全认证单元,其用于将第一PCR寄存器数值与各所述虚拟机的第二PCR寄存器数值进行对比,并结合预设的安全认证策略对各所述虚拟机进行可信安全认证;
其中,各所述安全认证通道相互独立,所述第一PCR寄存器数值为所述宿主机的TPM的PCR寄存器的值,所述第二PCR寄存器数值为所述虚拟机的VTPM的PCR寄存器的值。
在上述技术方案的基础上,所述安全认证通道建立单元包括:
宿主机端通道建立单元,其用于在所述宿主机内加载物理TPM驱动,增加virtio初始化接口,注册virtio服务端socket初始化接口,并监听所述虚拟机的VTPM socket连接请求以及TPM的配置下发socket连接请求;
虚拟机端通道建立单元,其用于在所述虚拟机加载VTPM驱动,进行VTPM设备初始化,并注册virtio客户端socket初始化接口,向所述宿主机发送所述VTPM socket连接请求。
与现有技术相比,本发明的优点在于:
本发明基于virtio通用框架,建立安全认证通道,为虚拟机安全认证工作提供保密可靠以及适用面广的优势。
附图说明
图1为本发明实施例中虚拟机安全认证方法的步骤流程图;
图2为本发明实施例中数据库工作流程的步骤流程图;
图3为本发明实施例中虚拟机安全认证流程的步骤流程图;
图4为本发明实施例中虚拟机安全认证系统的结构框图;
图中:1、安全认证通道建立单元;10、宿主机端通道建立单元;11、虚拟机端通道建立单元;2、TPM安全策略配置单元;3、可信安全认证单元;4、虚拟机初始化单元。
具体实施方式
术语解释:
Virtio:是半虚拟化hypervisor中位于设备之上的抽象层;
Hypervisor,又称虚拟机监视器(virtual machine monitor,缩写为VMM),是用来建立与执行虚拟机器的软件、固件或硬件;
TPM:Trusted Platform Module芯片;
VTPM:Vitrual Trusted Platform Module芯片;
C/S:C/S结构,Client/Server结构,即客户机和服务器结构;
Socket:网络上的两个程序通过一个双向的通信连接实现数据的交换,连接的端称为一个socket;
PCR寄存器:程序控制暂存器简称PCR,英文全称:program control register。
以下结合附图对本发明的实施例作进一步详细说明。
为达到上述技术效果,本申请的总体思路如下:
一种虚拟机安全认证方法,该方法包括以下步骤:
S1、基于virtio通用框架,分别建立宿主机与各虚拟机之间的安全认证通道,且各安全认证通道相互独立;
S2、各虚拟机进行TPM安全策略配置初始化;
S3、对各虚拟机进行可信安全认证。
本发明实施例,基于virtio通用框架,建立安全认证通道,为虚拟机安全认证工作提供保密可靠以及适用面广的优势。
参见图1至3所示,本发明的方法实施例提供一种虚拟机安全认证方法,该方法包括以下步骤:
S1、基于virtio通用框架,分别建立宿主机与各虚拟机之间的安全认证通道,且各安全认证通道相互独立;
S2、各虚拟机进行TPM安全策略配置初始化;
S3、对各虚拟机进行可信安全认证;
本发明实施例中,首先基于virtio通用框架,具体还是基于C/S结构的socket通信模式,分别建立宿主机与各虚拟机之间的安全认证通道,由于安全认证通道是基于virtio通用框架的socket通信通道,故而各安全认证通道之间是相互独立的,即相互隔离,具有较好的保密安全性,各虚拟机之间泄密风险低,而且任意虚拟机配置均可适配该安全认证通道,具有一定的通用性;
进而,宿主机向各虚拟机发送TPM安全策略配置,各虚拟机根据TPM安全策略配置,进行TPM安全策略配置初始化;
而后,待TPM安全策略配置初始化完成后,宿主机对各虚拟机进行可信安全认证;
最后,宿主机对通过可信安全认证的虚拟机进行初始化,以便开展后续工作。
本发明实施例,基于virtio通用框架,建立安全认证通道,为虚拟机安全认证工作提供保密可靠以及适用面广的优势。
另外,由于虚拟机的VTPM基于virtio框架进行数据通信,故而安全认证数据保存在磁盘,掉电不会丢失,安全性得到提升;
由于本返实施例的具有较好的通用性,故而可以批量对虚拟机进行安全认证策略管理,也可以对不同虚拟机实施差异化的安全认证策略管理,提高了认证效率;
虚拟机和宿主机及虚拟机之间安全认证通道基于virtio通道,通道相互隔离,系统每次启动都会重新建立通道,提高了认证通道本身的安全性,相比共享内存的通信方式,安全性有了极大的提高;
虚拟机的安全认证通道基于C/S架构的socket通信,和虚拟机的具体配置无关,应用的通用性得到提高;
由于采用了virtio的通信通道,可以实现云平台跨域的TPM安全认证策略下发,实现了云平台多域安全认证的一致性。
需要说明的是TPM安全策略配置是定义不同虚拟机安全认证控制准则,比如虚拟机安全认证次数、安全认证算法、安全认证失败后的行为控制等安全认证策略定义,作用是可以动态控制不同虚拟机的不同安全级别及行为控制,从而使得安全认证更加灵活通用。
同样,不同的虚拟机运行不用的业务功能,对安全等级定义是不同的,需要对不同虚拟机可以定义不同的安全认证策略,从而为安全认证的判断提供依据。
需要说明的是,VTPM是vitual trusted platform module,虚拟可信平台模块,是一个虚拟的可信模块芯片,交予虚拟机使用,模拟一个真实的TPM芯片,用于虚拟机的安全认证,VTPM的安全认证受宿主机的物理TPM芯片的配合和控制。
具体的,本发明实施例中的另一种实施方式,基于virtio框架,分别建立宿主机与各虚拟机之间的安全认证通道,包括宿主机端建立流程以及虚拟机端建立流程,宿主机端建立流程包括以下步骤:
A1、宿主机加载物理TPM驱动,增加virtio初始化接口,注册virtio服务端socket初始化接口;
A2、宿主机监听虚拟机的VTPM socket连接请求以及TPM的配置下发socket连接请求;
虚拟机端建立流程包括以下步骤:
B1、虚拟机加载VTPM驱动,进行VTPM设备初始化;
B2、注册virtio客户端socket初始化接口;
B3、向宿主机发送VTPM socket连接请求;
当虚拟机向宿主机发送VTPM socket连接请求后,宿主机响应于VTPM socket连接请求,宿主机与虚拟机连接,若连接成功,则完成安全认证通道的建立;
而当虚拟机向宿主机发送VTPM socket连接请求后,宿主机响应于VTPM socket连接请求,宿主机与虚拟机连接超时,即连接失败时,记录连接超时事件;
其中,注册virtio客户端socket初始化接口,具体做法可以是加载virtio客户端功能,初始化soket通信接口。
需要说明的是,虚拟机向宿主机发送VTPM socket连接请求,具体可以是向宿主机的virtio server发送连接请求,即向宿主机的virtio服务端socket初始化接口;
其中,virtio server具体为virtio驱动,即virtio服务端,主要包括网卡以及磁盘的驱动,从而能够在虚拟机以及主机之间进行通信,具体可用于接收主机下发的TPM配置策略。
进一步的,本发明实施例中的另一种实施方式,步骤S2中的各虚拟机进行TPM安全策略配置初始化,具体包括以下步骤:
响应于TPM的配置下发socket连接请求,宿主机向虚拟机下发TPM安全策略配置,虚拟机根据TPM安全策略配置进行TPM安全策略初始化;
响应于TPM的配置下发socket连接请求,宿主机向虚拟机下发TPM安全策略配置,虚拟机接收TPM安全策略配置失败,记录配置接收失败事件。
具体的,本发明实施例中的另一种实施方式,对各虚拟机进行可信安全认证具体包括以下步骤:
将第一PCR寄存器数值与各第二PCR寄存器数值进行对比,并结合预设的安全认证策略对各虚拟机进行可信安全认证;
其中,第一PCR寄存器数值为宿主机的TPM的PCR寄存器的值,第二PCR寄存器数值为虚拟机的VTPM的PCR寄存器的值;
在具体操作时,预设的安全认证策略可以是第一PCR寄存器数值不小于第二PCR寄存器数值时,即表示虚拟机的认证状态为虚拟机包含在宿主机范围内,则表示虚拟机安全认证通过;
故而,若第一PCR寄存器数值不小于第二PCR寄存器数值,结合预设的安全认证策略,判定第二PCR寄存器数值对应的虚拟机通过可信安全认证。
具体的,在此给出一种实际操作时的具体实施方式,将第一PCR寄存器数值与各第二PCR寄存器数值进行对比具体可以是:
接收宿主机的TPM的PCR寄存器的值,即第一PCR寄存器数值,存储到全局数组变量PCR_HOST[];
读取虚拟机的VTPM的PCR寄存器的值,即第二PCR寄存器数值,存储到全局数组变量PCR_VM[];
对比PCR_HOST和PCR_VM的值。
而实际操作是,具体是由宿主机内的安全认证程序获取TPM芯片的PCR寄存器的值,虚拟机的安全认证程序获取VTPM芯片的PCR寄存器的值,另外,根据TPM的工作状态,它们的值会进行安全状态表示。
进一步的,本发明实施例中的另一种实施方式,方法还包括安全认证预备流程,安全认证预备流程包括以下步骤:
启动安全认证数据库,其用于查询以及记录安全认证事件;
启动日志数据库,其用于记录以及查询文件下发事件;
向虚拟机下发安全认证策略。
进一步的,本发明实施例中的另一种实施方式,该方法还包括以下步骤:
响应于安全认证策略的下发失败,在日志数据库中记录安全认证策略下发失败事件。
另外,本发明实施例中的另一种实施方式,给出一个具体的数据库工作流程,具体工作流程如下:
P1、启动安全认证数据库的服务程序,安全认证数据库用于查询以及记录安全认证事件;
P2、启动日志数据库的服务程序,日志数据库用于记录以及查询文件下发事件;
P3、监听是否需要向虚拟机下发安全认证策略;
P4、向虚拟机下发安全认证策略;
P5、判断安全认证策略是否下发失败;
P6、当安全认证策略下发失败时,记录安全认知失败日志到数据库。
具体的,本发明实施例中的另一种实施方式,给出一个具体的虚拟机安全认证流程:
Q1、虚拟机加载VTPM驱动,进行VTPM设备初始化;
Q2、加载virtio客户端功能,初始化soket通信接口;
Q3、向宿主机发送VTPM socket连接请求;
Q40、若超时,记录超时事件到虚拟机安全认证日志;
Q41、若连接成功,则接收宿主机下发的TPM安全策略配置;
Q50、若TPM安全策略配置接收失败,记录配置接收失败事件到虚拟机安全认证日志;
Q51、若TPM安全策略配置接收成功,进行TPM安全策略初始化。
Q6、接收宿主机的TPM的PCR寄存器的值到全局数组变量PCR_HOST[],读取虚拟机的VTPM的PCR寄存器的值到全局数组变量PCR_VM[];
Q7、对比PCR_HOST和PCR_VM的值,结合预设的安全认证策略进行可信安全认证;
Q80、可信认证通过,通过安全认证通道发送安全认证成功日志给宿主机,继续执行虚拟机初始化脚本,虚拟机认证成功,程序结束。
Q81、可信认证失败,通过安全认证通道发送安全认证成功日志给宿主机;
Q9、重启虚拟机,转入Q1,触发虚拟机二次安全认证。
基于同一发明构思,本发明的系统实施例提供了一种虚拟机安全认证系统的实施例,具体如下:
如图4所示,一种虚拟机安全认证系统,该系统包括:
安全认证通道建立单元1,其用于基于virtio通用框架,分别建立宿主机与各虚拟机之间的安全认证通道,且各安全认证通道相互独立;
TPM安全策略配置单元2,其用于根据宿主机下发的TPM安全策略配置,对各虚拟机对进行TPM安全策略配置初始化;
可信安全认证单元3,其用于将第一PCR寄存器数值与各虚拟机的第二PCR寄存器数值进行对比,并结合预设的安全认证策略对各虚拟机进行可信安全认证;
虚拟机初始化单元4,其用于对通过可信安全认证的虚拟机进行初始化;
其中,各安全认证通道相互独立,第一PCR寄存器数值为宿主机的TPM的PCR寄存器的值,第二PCR寄存器数值为虚拟机的VTPM的PCR寄存器的值。
本发明实施例中,首先基于virtio通用框架,具体还是基于C/S结构的socket通信模式,分别建立宿主机与各虚拟机之间的安全认证通道,由于安全认证通道是基于virtio通用框架的socket通信通道,故而各安全认证通道之间是相互独立的,即相互隔离,具有较好的保密安全性,各虚拟机之间泄密风险低,而且任意虚拟机配置均可适配该安全认证通道,具有一定的通用性;
进而,宿主机向各虚拟机发送TPM安全策略配置,各虚拟机根据TPM安全策略配置,进行TPM安全策略配置初始化;
而后,待TPM安全策略配置初始化完成后,宿主机对各虚拟机进行可信安全认证;
最后,宿主机对通过可信安全认证的虚拟机进行初始化。
本发明实施例,基于virtio通用框架,建立安全认证通道,为虚拟机安全认证工作提供保密可靠以及适用面广的优势。
需要说明的是,VTPM是vitual trusted platform module,虚拟可信平台模块,是一个虚拟的可信模块芯片,交予虚拟机使用,模拟一个真实的TPM芯片,用于虚拟机的安全认证,VTPM的安全认证受宿主机的物理TPM芯片的配合和控制。
本发明实施例中的另一种实施方式,安全认证通道建立单元1包括:
宿主机端通道建立单元10,其用于在宿主机内加载物理TPM驱动,增加virtio初始化接口,注册virtio服务端socket初始化接口,并监听虚拟机的VTPM socket连接请求以及TPM的配置下发socket连接请求;
虚拟机端通道建立单元11,其用于在虚拟机加载VTPM驱动,进行VTPM设备初始化,并注册virtio客户端socket初始化接口,向宿主机发送VTPM socket连接请求;
当虚拟机向宿主机发送VTPM socket连接请求后,宿主机响应于VTPM socket连接请求,宿主机与虚拟机连接,若连接成功,则完成安全认证通道的建立;
而当虚拟机向宿主机发送VTPM socket连接请求后,宿主机响应于VTPM socket连接请求,宿主机与虚拟机连接超时,即连接失败时,记录连接超时事件。
需要说明的是,虚拟机向宿主机发送VTPM socket连接请求,具体可以是向宿主机的virtio server发送连接请求;
其中,virtio server具体为virtio驱动,主要包括网卡以及磁盘的驱动,从而能够在虚拟机以及主机之间进行通信,具体可用于接收主机下发的TPM配置策略。
进一步的,本发明实施例中的另一种实施方式,各虚拟机进行TPM安全策略配置初始化,具体包括以下步骤:
响应于TPM的配置下发socket连接请求,宿主机向虚拟机下发TPM安全策略配置,虚拟机根据TPM安全策略配置进行TPM安全策略初始化;
响应于TPM的配置下发socket连接请求,宿主机向虚拟机下发TPM安全策略配置,虚拟机接收TPM安全策略配置失败,记录配置接收失败事件。
具体的,本发明实施例中的另一种实施方式,对各虚拟机进行可信安全认证具体包括以下步骤:
将第一PCR寄存器数值与各第二PCR寄存器数值进行对比,并结合预设的安全认证策略对各虚拟机进行可信安全认证;
其中,第一PCR寄存器数值为宿主机的TPM的PCR寄存器的值,第二PCR寄存器数值为虚拟机的VTPM的PCR寄存器的值;
在具体操作时,预设的安全认证策略可以是第一PCR寄存器数值不小于第二PCR寄存器数值时,即表示虚拟机的认证状态为虚拟机包含在宿主机范围内,则表示虚拟机安全认证通过;
故而,若第一PCR寄存器数值不小于第二PCR寄存器数值,结合预设的安全认证策略,判定第二PCR寄存器数值对应的虚拟机通过可信安全认证。
具体的,在此给出一种实际操作时的具体实施方式,将第一PCR寄存器数值与各第二PCR寄存器数值进行对比具体可以是:
接收宿主机的TPM的PCR寄存器的值,即第一PCR寄存器数值,存储到全局数组变量PCR_HOST[];
读取虚拟机的VTPM的PCR寄存器的值,即第二PCR寄存器数值,存储到全局数组变量PCR_VM[];
对比PCR_HOST和PCR_VM的值。
而实际操作是,具体是由宿主机内的安全认证程序获取TPM芯片的PCR寄存器的值,虚拟机的安全认证程序获取VTPM芯片的PCR寄存器的值,另外,根据TPM的工作状态,它们的值会进行安全状态表示。
进一步的,本发明实施例中的另一种实施方式,方法还包括安全认证预备流程,安全认证预备流程包括以下步骤:
启动安全认证数据库,其用于查询以及记录安全认证事件;
启动日志数据库,其用于记录以及查询文件下发事件;
向虚拟机下发安全认证策略。
进一步的,本发明实施例中的另一种实施方式,该方法还包括以下步骤:
响应于安全认证策略的下发失败,在日志数据库中记录安全认证策略下发失败事件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、服务器和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种虚拟机安全认证方法,其特征在于,所述方法包括以下步骤:
基于virtio通用框架,分别建立宿主机与各虚拟机之间的安全认证通道,且各安全认证通道相互独立;
各所述虚拟机进行TPM安全策略配置初始化;
对各所述虚拟机进行可信安全认证。
2.如权利要求1所述的方法,其特征在于,基于virtio框架,分别建立宿主机与各虚拟机之间的安全认证通道,包括宿主机端建立流程以及虚拟机端建立流程,所述宿主机端建立流程包括以下步骤:
所述宿主机加载物理TPM驱动,增加virtio初始化接口,注册virtio服务端socket初始化接口;
所述宿主机监听所述虚拟机的VTPM socket连接请求以及TPM的配置下发socket连接请求;
所述虚拟机端建立流程包括以下步骤:
所述虚拟机加载VTPM驱动,进行VTPM设备初始化;
注册virtio客户端socket初始化接口;
向所述宿主机发送所述VTPM socket连接请求。
3.如权利要求2所述的方法,其特征在于,基于virtio框架,分别建立宿主机与各虚拟机之间的安全认证通道,还包括以下步骤:
响应于所述VTPM socket连接请求,所述宿主机与所述虚拟机连接成功,完成安全认证通道的建立;
响应于所述VTPM socket连接请求,所述宿主机与所述虚拟机连接超时,记录连接超时事件。
4.如权利要求2所述的方法,其特征在于,所述方法还包括以下步骤:
响应于所述TPM的配置下发socket连接请求,所述宿主机向所述虚拟机下发TPM安全策略配置,所述虚拟机根据所述TPM安全策略配置进行TPM安全策略初始化;
响应于所述TPM的配置下发socket连接请求,所述宿主机向所述虚拟机下发TPM安全策略配置,所述虚拟机接收所述TPM安全策略配置失败,记录配置接收失败事件。
5.如权利要求1所述的方法,其特征在于,所述对各所述虚拟机进行可信安全认证具体包括以下步骤:
将第一PCR寄存器数值与各第二PCR寄存器数值进行对比,并结合预设的安全认证策略对各所述虚拟机进行可信安全认证;
其中,所述第一PCR寄存器数值为所述宿主机的TPM的PCR寄存器的值,所述第二PCR寄存器数值为所述虚拟机的VTPM的PCR寄存器的值。
6.如权利要求5所述的方法,其特征在于:若所述第一PCR寄存器数值不小于第二PCR寄存器数值,结合预设的安全认证策略,判定所述第二PCR寄存器数值对应的虚拟机通过可信安全认证。
7.如权利要求1所述的方法,其特征在于,所述方法还包括安全认证预备流程,所述安全认证预备流程包括以下步骤:
启动安全认证数据库,其用于查询以及记录安全认证事件;
启动日志数据库,其用于记录以及查询文件下发事件;
向所述虚拟机下发所述安全认证策略。
8.如权利要求7所述的方法,其特征在于,所述方法还包括以下步骤:
响应于所述安全认证策略的下发失败,在所述日志数据库中记录安全认证策略下发失败事件。
9.一种虚拟机安全认证系统,其特征在于,所述系统包括:
安全认证通道建立单元,其用于基于virtio通用框架,分别建立宿主机与各虚拟机之间的安全认证通道,且各安全认证通道相互独立;
TPM安全策略配置单元,其用于根据所述宿主机下发的TPM安全策略配置,对各所述虚拟机对进行TPM安全策略配置初始化;
可信安全认证单元,其用于将第一PCR寄存器数值与各所述虚拟机的第二PCR寄存器数值进行对比,并结合预设的安全认证策略对各所述虚拟机进行可信安全认证;
其中,各所述安全认证通道相互独立,所述第一PCR寄存器数值为所述宿主机的TPM的PCR寄存器的值,所述第二PCR寄存器数值为所述虚拟机的VTPM的PCR寄存器的值。
10.如权利要求9所述的管理系统,其特征在于,所述安全认证通道建立单元包括:
宿主机端通道建立单元,其用于在所述宿主机内加载物理TPM驱动,增加virtio初始化接口,注册virtio服务端socket初始化接口,并监听所述虚拟机的VTPM socket连接请求以及TPM的配置下发socket连接请求;
虚拟机端通道建立单元,其用于在所述虚拟机加载VTPM驱动,进行VTPM设备初始化,并注册virtio客户端socket初始化接口,向所述宿主机发送所述VTPM socket连接请求。
CN201910776053.5A 2019-08-21 2019-08-21 一种虚拟机安全认证方法及系统 Active CN112422478B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910776053.5A CN112422478B (zh) 2019-08-21 2019-08-21 一种虚拟机安全认证方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910776053.5A CN112422478B (zh) 2019-08-21 2019-08-21 一种虚拟机安全认证方法及系统

Publications (2)

Publication Number Publication Date
CN112422478A true CN112422478A (zh) 2021-02-26
CN112422478B CN112422478B (zh) 2022-10-21

Family

ID=74779073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910776053.5A Active CN112422478B (zh) 2019-08-21 2019-08-21 一种虚拟机安全认证方法及系统

Country Status (1)

Country Link
CN (1) CN112422478B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461678A (zh) * 2014-11-03 2015-03-25 中国科学院信息工程研究所 一种在虚拟化环境中提供密码服务的方法和系统
CN105487916A (zh) * 2015-11-24 2016-04-13 上海君是信息科技有限公司 一种桌面云环境下的虚拟机安全加固方法
CN105786588A (zh) * 2016-02-22 2016-07-20 中南大学 一种净室可信虚拟机监控器的远程认证方法
CN105933123A (zh) * 2016-04-26 2016-09-07 浪潮电子信息产业股份有限公司 一种kvm虚拟机通信方法
EP3217310A1 (en) * 2016-03-09 2017-09-13 Huawei Technologies Co., Ltd. Hypervisor-based attestation of virtual environments
CN109213572A (zh) * 2018-09-10 2019-01-15 郑州云海信息技术有限公司 一种基于虚拟机的可信度确定方法及服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461678A (zh) * 2014-11-03 2015-03-25 中国科学院信息工程研究所 一种在虚拟化环境中提供密码服务的方法和系统
CN105487916A (zh) * 2015-11-24 2016-04-13 上海君是信息科技有限公司 一种桌面云环境下的虚拟机安全加固方法
CN105786588A (zh) * 2016-02-22 2016-07-20 中南大学 一种净室可信虚拟机监控器的远程认证方法
EP3217310A1 (en) * 2016-03-09 2017-09-13 Huawei Technologies Co., Ltd. Hypervisor-based attestation of virtual environments
CN105933123A (zh) * 2016-04-26 2016-09-07 浪潮电子信息产业股份有限公司 一种kvm虚拟机通信方法
CN109213572A (zh) * 2018-09-10 2019-01-15 郑州云海信息技术有限公司 一种基于虚拟机的可信度确定方法及服务器

Also Published As

Publication number Publication date
CN112422478B (zh) 2022-10-21

Similar Documents

Publication Publication Date Title
US9471355B2 (en) Secure operations for virtual machines
US9690498B2 (en) Protected mode for securing computing devices
US10754955B2 (en) Authenticating a boot path update
US8909928B2 (en) Securing customer virtual machines in a multi-tenant cloud
US11323259B2 (en) Version control for trusted computing
US7392403B1 (en) Systems, methods and computer program products for high availability enhancements of virtual security module servers
EP2973171B1 (en) Context based switching to a secure operating system environment
US9021546B1 (en) Systems and methods for workload security in virtual data centers
US11012449B2 (en) Methods and cloud-based systems for detecting malwares by servers
US10691475B2 (en) Security application for a guest operating system in a virtual computing environment
WO2009085977A2 (en) Virtual computing management systems and methods
EP4006726A1 (en) Method for virtual machine migration with checkpoint authentication in virtualization environment
CN109583212B (zh) 一种基于Intel Whitley平台的固件文件保护方法与系统
KR20110051028A (ko) 보안 기능이 구비된 클라우드 컴퓨팅 시스템
US11875174B2 (en) Method and apparatus for virtual machine emulator upgrading virtualization emulator
CN114116026B (zh) 一种云平台信任链分层模型构建方法
WO2021023173A1 (zh) 数据处理方法、装置、系统、存储介质和计算机设备
CN117806777B (zh) 虚拟环境启动完整性验证方法、装置、系统、设备及介质
CN112422478B (zh) 一种虚拟机安全认证方法及系统
EP4002114B1 (en) Method for virtual machine migration with artificial intelligence accelerator status validation in virtualization environment
WO2015131607A1 (zh) 可信环境创建方法和装置及基站异常恢复方法和装置
US20230066427A1 (en) Distributed trusted platform module key management protection for roaming data
Song et al. App’s auto-login function security testing via android os-level virtualization
US11025594B2 (en) Secret information distribution method and device
US20160246637A1 (en) Determining Trustworthiness of a Virtual Machine Operating System Prior To Boot UP

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