一种云环境中虚拟机可信保障的方法技术

技术编号:10141454 阅读:206 留言:0更新日期:2014-06-30 12:31
本发明专利技术提出了一种云环境中虚拟机可信保障的方法,属于信息安全领域,其特征在于将虚拟可信根模块从云环境中的每台服务器上分离出来,集中到一台设备中,这台设备含有物理可信根并且完成可信根虚拟化,为云环境中虚拟机提供可信计算相关工作,主要内容包括可信根设备与云服务器之间通信机制建立和虚拟机可信保障方法两部分内容。本发明专利技术提供的方法中由于虚拟可信根与虚拟机不在同一平台,只需要进行虚拟机迁移,然后在虚拟机迁移后重新关联虚拟机和虚拟可信根,这样有效地解决了虚拟机迁移问题。

【技术实现步骤摘要】
一种云环境中虚拟机可信保障的方法
本专利技术是一种云环境中虚拟机可信保障的方法,以云计算和可信计算技术为基础,为云平台用户提供安全可信的解决方案,属于信息安全领域。
技术介绍
云计算作为一种新兴的计算模式,以按需付费、降低成本、随时随地、节能降耗等优势,掀起新一轮产业浪潮。在云计算模式下,用户需要将自己的数据和应用程序转移到云服务器或虚拟机上进行存储或者运行。然而这些数据和应用程序可能会遭受到来自于云中其他用户的恶意窃取、篡改、威胁。可信计算技术和安全芯片技术的不断进步为解决这些安全问题提出了新思路。可信计算技术的基本思想是先在计算机系统中建立一个信任根,信任根可信性由物理安全、技术安全与管理安全共同确保;再建立一条信任链,从信任根开始,到硬件平台,到操作系统,再到应用,一级度量认证一级,一级信任一级,把这种信任扩展到整个计算机系统。目前研究最多的是IBM提出的虚拟可信根体系架构,即在每一台云服务器上都设置一个管理级别的虚拟机用来虚拟可信根,然后使用虚拟可信根完成虚拟机的可信性度量。这样会带来一些问题,首先云平台中虚拟机迁移时,其对应的虚拟可信根也要迁移,目前的虚拟可信根与物理可信根的绑定是通过使用物理可信根的存储根密钥和身份认证密钥来直接保护和签名虚拟背书密钥及虚拟身份认证密钥,这使得虚拟背书密钥及虚拟身份认证密钥成为不可迁移密钥,因此虚拟机迁移到目的平台后需要重新生成这些密钥。并且可信平台模块规范中规定身份认证密钥只能对可信平台模块内部产生的信息进行签名,而虚拟身份认证密钥不属可信平台模块内部信息,不符合规范。其次需要设计迁移协议,保证迁移过程中数据的机密性、完整性、不可抵赖性。最后,虚拟可信根模块和虚拟机处在同一服务器,服务器除了向用户提供服务外,还要向虚拟可信根模块提供计算能力,计算压力较大。本专利技术提出的云环境中虚拟机可信保障方法,在保障云中虚拟机可信的基础上,主要解决以下技术问题:(1)虚拟机迁移过程中存在的问题。现有技术方案虚拟机迁移时,其对应的虚拟可信根也要迁移,然而虚拟可信根与物理可信根的绑定导致虚拟背书密钥及虚拟身份认证密钥成为不可迁移密钥。可信平台模块规范中规定身份认证密钥只能对可信平台模块内部产生的信息进行签名,而虚拟身份认证密钥不属可信平台模块内部信息,不符合规范。本专利技术中虚拟可信根不需要随着虚拟机迁移,只需要虚拟机迁移后,重新建立与虚拟可信根关联关系。(2)云服务器的计算压力问题。现有的架构中,虚拟可信根模块和虚拟机处在同一服务器,服务器除了向用户提供服务外,还要向虚拟可信根模块提供计算能力,压力较大。本专利技术中使用独立设备完成对云平台虚拟机的可信计算相关工作,可以减轻云平台可信相关计算的压力,提高性能。
技术实现思路
本专利技术提出了一种云环境中虚拟机可信保障的方法。其特征在于将虚拟可信根模块从云服务器中分离出来,集中到一台设备上,这台设备含有物理可信根并完成可信根的虚拟化,为云虚拟机提供可信计算相关工作。虚拟出的可信根都符合可信根规范,向虚拟机提供与可信根相同的功能和接口集,从虚拟机角度看,虚拟可信根实例就是它的可信根。本专利技术提出的云环境虚拟机可信保障方法,主要内容包括可信根设备与云服务器之间通信机制建立和虚拟机可信保障方法两部分。所述的可信根设备与云服务器之间的通信机制,包括如下步骤:步骤1:通信双方提出建立通信机制并进行身份验证,由于每一个平台中可信根模块都有用于身份标识的身份认证密钥,所以可以使用身份认证密钥进行身份认证。步骤1.1:源端向目的端发送身份认证密钥证书;步骤1.2:目的端验证证书是否过期,通过验证后,向源端发送自身的身份认证密钥证书,同时产生随机数Nd32-bit,使用源端的身份认证密钥公钥加密Nd,并发送给源端,只有源端的身份认证密钥私钥才能正确解密得到这个随机数;步骤1.3:源端验证目的端身份认证密钥证书是否过期,验证通过后,使用身份认证密钥私钥解密得到随机数Nd,源端也产生一个随机数Ns32-bit,使用目的端身份认证密钥公钥加密Ns和Nd,然后用自己的身份认证密钥私钥签名,发送给目的端;步骤1.4目的平台验证收到的Nd是否为自己发出的,如果是则使用源端身份认证密钥公钥加密Ns,然后用自己的身份认证密钥私钥签名,发送给源端;步骤1.5:源端验证收到的Ns是否为自己发出的,如果是则双方身份验证完成;步骤2:会话密钥协商阶段,采用D-H算法;步骤2.1:源端和目的端协商两个全局公开的参数;步骤2.2:源端计算出一个D-H公钥A,发送给目的端;步骤2.3:目的端计算出一个D-H公钥B,发送给源端;步骤2.4:源端根据B计算共享密钥,并对共享密钥进行哈希运算,发送给目的端,目的端根据A计算出共享密钥,并对共享密钥进行哈希运算,比较与收到的哈希值是否相同,如果相同则会话密钥有效;步骤3:数据传输步骤3.1:源端使用自身计算的共享密钥对数据进行加密,同时产生一个随机数,加密结果与随机数构成一个数据包,对数据包进行哈希计算,哈希值与数据包一起发送给目的端;步骤3.2:目的端接收到消息后,进行完整性验证。如果验证成功则通知目的端,数据接收正常;虚拟机可信保障是通过可信链的建立与传递实现的,包括如下步骤:步骤4.1:当某个虚拟机需要实例化时,虚拟机管理器向虚拟可信根管理器发出请求,虚拟可信根管理器在虚拟机启动之前创建并初始化一个新的虚拟可信根,与之关联,这样核心可信度量根能够度量虚拟机代码的初始部分,然后将结果返回虚拟机管理器;步骤4.2:当虚拟机系统启动时,执行核心可信度量根这段代码,调用虚拟可信根的SHA-1功能模块对加电自检代码求摘要,得到其摘要值,然后存到虚拟平台配置寄存器中,通过与同期值相比较,确定是否进入下一步,如果相同则进行步骤4.3,如果不同,则进行步骤4.7;步骤4.3:当系统运行加电自检程序时,已经说明对加电自检信任已经建立,信任边界已经到加电自检部分,加电自检程序是可信的,加电自检程序继续调用虚拟可信根的SHA-1功能对基本输入输出系统代码求摘要,得到其摘要值,然后存于虚拟平台配置寄存器中,通过与同期值相比较,确定是否进入下一步,如果相同则进行步骤4.4,如果不同,则进行步骤4.7;步骤4.4:当系统运行基本输入输出系统扩展程序时,已经说明对基本输入输出系统扩展程序信任已经建立,信任边界已经到基本输入输出系统扩展程序部分,基本输入输出系统扩展程序是可信的,基本输入输出系统扩展程序继续调用虚拟可信根的SHA-1功能对引导加载扩展代码求摘要,得到其摘要值,然后存于虚拟平台配置寄存器中,通过与同期值相比较,确定是否进入下一步,如果相同则进行步骤4.5,如果不同,则进行步骤4.7;步骤4.5:当系统运行引导加载扩展程序时,已经说明对引导加载扩展程序信任已经建立,信任边界已经到引导加载扩展程序部分,引导加载扩展程序是可信的,引导加载扩展程序继续调用虚拟可信根的SHA-1功能对操作系统扩展代码求摘要,得到其摘要值,然后存于虚拟平台配置寄存器中,通过与同期值相比较,确定是否进入下一步,如果相同则进行步骤4.6,如果不同,则进行步骤4.7;步骤4.6:当系统运行操作系统扩展程序时,已经说明对操作系统扩展程序信任已经建立,信任边界已经到操作系统扩展程序部分,操本文档来自技高网
...
一种云环境中虚拟机可信保障的方法

【技术保护点】
本专利技术提出了一种云环境中虚拟机可信保障的方法,其特征在于将虚拟可信根模块从云环境中的每台服务器上分离出来,集中到一台设备中,这台设备含有物理可信根并且完成可信根虚拟化,为云环境中虚拟机提供可信计算相关工作,内容主要包括设备与云服务器通信机制,虚拟机可信保障方法——可信链的建立与传递两部分,虚拟可信根符合可信根规范,向虚拟机提供与可信根相同的功能和接口集,从虚拟机角度看,虚拟可信根实例就是它的可信根; 所述的可信根设备与云服务器之间的通信机制,包括如下步骤: 步骤1:通信双方提出建立通讯机制并进行身份验证,由于每一个平台中可信根模块都有用于身份标识的身份认证密钥,所以可以使用身份认证密钥进行身份认证; 步骤1.1:源端向目的端发送身份认证密钥证书; 步骤1.2:目的端验证证书是否过期,通过验证后,向源端发送自身的身份认证密钥证书,同时产生随机数Nd32‑bit,使用源端的身份认证密钥公钥加密Nd,并发送给源端,只有源端的身份认证密钥私钥才能正确解密得到这个随机数; 步骤1.3:源端验证目的端身份认证密钥证书是否过期,验证通过后,使用身份认证密钥私钥解密得到随机数Nd,源端也产生一个随机数Ns,使用目的端身份认证密钥公钥加密Ns和Nd,然后用自己的身份认证密钥私钥签名,发送给目的端; 步骤1.4目的平台验证收到的Nd是否为自己发出的,如果是则使用源端身份认证密钥公钥加密Ns,然后用自己的身份认证密钥私钥签名,发送给源端; 步骤1.5:源端验证收到的Ns是否为自己发出的,如果是则双方身份验证完成; 步骤2:会话密钥协商阶段,采用D‑H算法; 步骤2.1:源端和目的端协商两个全局公开的参数; 步骤2.2:源端计算出一个D‑H公钥A,发送给目的端; 步骤2.3:目的端计算出一个D‑H公钥B,发送给源端; 步骤2.4:源端根据B计算共享密钥,并对共享密钥进行哈希运算,发送给目的端,目的端根据A计算出共享密钥,并对共享密钥进行哈希运算,比较与收到的哈希值是否相同,如果相同则会话密钥有效; 步骤3:数据传输 步骤3.1:源端使用自身计算的共享密钥对数据进行加密,同时产生一个随机数,加 密结果与随机数构成一个数据包,对数据包进行哈希计算,哈希值与数据包一起发送给目的端; 步骤3.2:目的端接收到消息后,进行完整性验证,如果验证成功则通知目的端,数据接收正常; 所述的虚拟机可信保障方法——可信链的建立与传递包括如下步骤: 步骤4.1:当某个虚拟机需要实例化时,虚拟机管理器向可信根管理器发出请求,虚拟可信根管理器能够在虚拟机启动之前创建并初始化一个新的虚拟可信根,与之关联,这样核心可信度量根能够度量虚拟机代码的初始部分,然后将结果返回虚拟机管理器; 步骤4.2:当虚拟机系统启动时,执行核心可信度量根这段代码,调用虚拟可信根的SHA‑1功能模块对加电自检代码求摘要,得到其摘要值,然后存到虚拟平台配置寄存器中,通过与同期值相比较,确定是否进入下一步,如果相同则进行步骤4.3,如果不同,则进行步骤4.7; 步骤4.3:当系统运行加电自检程序时,已经说明对加电自检信任已经建立,信任边界已经到加电自检部分,加电自检程序是可信的,加电自检程序继续调用虚拟可信根的SHA‑1功能对基本输入输出系统代码求摘要,得到其摘要值,然后存于虚拟平台配置寄存器中,通过与同期值相比较,确定是否进入下一步,如果相同则进行步骤4.4,如果不同,则进行步骤4.7; 步骤4.4:当系统运行基本输入输出系统扩展程序时,已经说明对基本输入输出系统扩展程序信任已经建立,信任边界已经到基本输入输出系统扩展程序部分,基本输入输出系统扩展程序是可信的,基本输入输出系统扩展程序继续调用虚拟可信根的SHA‑1功能对引导加载扩展代码求摘要,得到其摘要值,然后存于虚拟平台配置寄存器中,通过与同期值相比较,确定是否进入下一步,如果相同则进行步骤4.5,如果不同,则进行步骤4.7; 步骤4.5:当系统运行引导加载扩展程序时,已经说明对引导加载扩展程序信任已经建立,信任边界已经到引导加载扩展程序部分,引导加载扩展程序是可信的,引导加载扩展程序继续调用虚拟可信根的SHA‑1功能对操作系统扩展代码求摘要,得到其摘要值,然后存于虚拟平台配置寄存器中,通过与同期值相比较,确定是否进入下一步,如果相同则进行步骤4.6,如果不同,则进行步骤4.7; 步骤4.6:当系统运行操作系统扩展程序时,已经说明对操作系统扩展程序信任已经 建立,信任边界已经到操作系统扩展程序部分,操作系统扩展程序是可信的,操作系统扩展程序继续调用虚拟可信根的SHA‑1功能对可执行程序、脚本、打开的文件、载入的内核模块和共享库求摘要,得到其摘要值,然后存于虚拟平台配置寄存器中,通过与同期值相比较,确定是否进入下一步,如果相同则虚拟机和应用程序都是可信的,...

【技术特征摘要】
1.一种云环境中虚拟机可信保障的方法,其特征在于将虚拟可信根模块从云环境中的每台云服务器上分离出来,集中到一台可信根设备中,这台可信根设备含有物理可信根并且完成可信根虚拟化,为云环境中虚拟机提供可信计算相关工作,所述方法包括可信根设备与云服务器通信机制,虚拟机可信保障方法——可信链的建立与传递两部分,虚拟可信根向虚拟机提供与物理可信根相同的功能和接口集,从虚拟机角度看,虚拟可信根就是它的可信根;所述的可信根设备与云服务器之间的通信机制,包括如下步骤:步骤1:通信双方提出建立通讯机制并进行身份验证,由于每一个平台中物理可信根都有用于身份标识的身份认证密钥,所以使用身份认证密钥进行身份认证;步骤1.1:源端向目的端发送身份认证密钥证书;步骤1.2:目的端验证证书是否过期,通过验证后,向源端发送自身的身份认证密钥证书,同时产生随机数Nd,使用源端的身份认证密钥公钥加密Nd,并发送给源端,只有源端的身份认证密钥私钥才能正确解密得到这个随机数;步骤1.3:源端验证目的端身份认证密钥证书是否过期,验证通过后,使用自己的身份认证密钥私钥解密得到随机数Nd,源端也产生一个随机数Ns,使用目的端身份认证密钥公钥加密Ns和Nd,然后用自己的身份认证密钥私钥签名,发送给目的端;步骤1.4目的端验证收到的Nd是否为自己发出的,如果是则使用源端身份认证密钥公钥加密Ns,然后用自己的身份认证密钥私钥签名,发送给源端;步骤1.5:源端验证收到的Ns是否为自己发出的,如果是则双方身份验证完成;步骤2:会话密钥K协商阶段,采用D-H算法;步骤2.1:源端和目的端协商两个全局公开的参数;步骤2.2:源端计算出一个D-H公钥A,发送给目的端;步骤2.3:目的端计算出一个D-H公钥B,发送给源端;步骤2.4:源端根据B计算共享密钥K2,并对共享密钥K2进行哈希运算,发送给目的端,目的端根据A计算出共享密钥K1,并对共享密钥K1进行哈希运算,比较与收到的哈希值是否相同,如果相同则会话密钥K有效,K=K1=K2;步骤3:数据传输;步骤3.1:源端使用自身计算的共享密钥对数据进行加密,同时产生一个随机数,加密结果与随机数构成一个数据包,对数据包进行哈希计算,哈希值与数据包一起发送给目的端;步骤3.2:目的端接收到哈希值与数据包后,进行完整性验证,如果验证成功则通知源端,数据接收正常;所述的虚拟机可信保障方法——可信链的建立与传递包括如下步骤:步骤4.1:当某个虚拟机需要实例化时,虚拟机管理器向虚拟可信根管理器发出请求,虚拟可信根管理器能够在虚拟机启动之前创建并初始化一个新的虚拟可信根,与虚拟机关联,这样核心可信度量根能够度量虚拟机代码的初始部分,然后将结果返回虚拟机管理器;步骤4.2:当虚拟机系统启动时,执行核心可信度量根这段代码,调用虚拟可信根的SHA-1功能模块对加电自检代码求摘要,得到其摘要值,然后存到虚拟平台配置寄存器中,通过与同期值相比较,确定是...

【专利技术属性】
技术研发人员:王冠张少华庄俊玺周珺梁社静
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1