CN114547656A - 一种云环境下基于Intel SGX的两阶段远程证明方法 - Google Patents

一种云环境下基于Intel SGX的两阶段远程证明方法 Download PDF

Info

Publication number
CN114547656A
CN114547656A CN202210182259.7A CN202210182259A CN114547656A CN 114547656 A CN114547656 A CN 114547656A CN 202210182259 A CN202210182259 A CN 202210182259A CN 114547656 A CN114547656 A CN 114547656A
Authority
CN
China
Prior art keywords
remote attestation
measurement
cloud computing
remote
service center
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.)
Pending
Application number
CN202210182259.7A
Other languages
English (en)
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 University of Technology
Original Assignee
Beijing University of Technology
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 University of Technology filed Critical Beijing University of Technology
Priority to CN202210182259.7A priority Critical patent/CN114547656A/zh
Publication of CN114547656A publication Critical patent/CN114547656A/zh
Pending legal-status Critical Current

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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种云环境下基于Intel SGX的两阶段远程证明方法属于信息安全领域。(1)远程证明代理服务中心VRAC的创建与安全初始化。(2)虚拟节点与vTPM的创建与安全初始化。(3)自适应周期度量模块运行。(4)双阶段远程证明安全执行。通过修改KVM的vTPM架构并引入Intel SGX技术创建可信执行环境TEE来构建安全的远程证明代理中心VRAC。本方法将软件模拟的vTPM实例创建在远程证明代理服务中心内部,利用Intel SGX保护vTPM实例和NVRAM数据免受内存泄露攻击和破解攻击。通过新的两阶段远程证明协议保证挑战者与证明方之间免受中间人攻击。通过自适应周期动态度量方案既保证云计算节点的运行安全,又降低了引入动态度量带来的性能开销。

Description

一种云环境下基于Intel SGX的两阶段远程证明方法
技术领域
本发明属于信息安全领域,涉及云计算技术,远程证明技术,Intel SGX技术。
背景技术
云计算作为一种新型的计算模式,经过近十年的发展,已经走进了人们的日常生活,对人们的工作、学***台。
虚拟化技术的概念最早在上世纪60年代就已经提出。目前主流的虚拟机***有VMware、Xen、KVM等,从底层到顶层主要包括指令级虚拟化、硬件抽象层虚拟化、操作***级虚拟化、编程语言级虚拟化、程序库级虚拟化。其中在云计算领域应用最广的就是硬件抽象层的虚拟化技术,硬件抽象层虚拟化就是指在用一个硬件指令级上模拟多个计算机,进而提高物理宿主机平台的计算效率。而要实现这个目的,就必须实现具有特权级别的管理软件,如虚拟机管理器 VMM或者虚拟机监视器Hypervisor,对底层CPU处理器、内存等关键硬件进行管理,对上层操作***提供调用的API。
目前随着云计算领域的高速发展,暴露出很多安全问题,对于使用云计算服务的使用者来说,如果无法确认请求服务的云计算节点是否可信就贸然交互,在该节点完整性已经被攻击者破坏或节点被劫持的情况下,很可能造成巨大的损失。可信计算中的一个重要技术组成远程证明技术刚好可以用于解决上述问题,但目前主流虚拟机广泛使用的远程证明方法仍然存在一定的缺陷。一方面只采用静态度量的远程证明方案安全性无法保证云节点的运行时完整性,而直接引入按需认证的实时动态度量所带来的安全成本过高和无法防范“来去匆匆”的问题,另一方面双代理的远程证明方案无法防范布谷鸟攻击,也无法防范针对 vTPM实例的内存泄露攻击,也无法提供vTPM实例与虚拟机节点的绑定关系,信任链无法扩展到云节点。
Intel SGX(Intel Software Guard Extensions)技术是Intel 公司提出的一套处理器安全扩展技术。该技术并不是类似于杀毒软件靠识别和隔离***中的恶意软件和病毒进行工作,而是通过支持为应用程序的一些重要的敏感操作和数据封装到一个称为Enclave的安全区中,通过对该安全区施加硬件隔离和访问控制来保证可信区内部操作和数据的安全性。这也为vTPM实例的保护提供了新的解决思路。
Intel SGX技术相对其他技术主要有以下几点优势。
(1)普适性和较强的运算性能。Intel SGX技术能够在很低的***性能开销的前提下,提供可靠的代码和数据的隐私性、完整性保障。
(2)Intel SGX的TCB(可信计算基)非常小,TCB内的软件复杂度较低,***的稳定性更高。
国内外的研究学者针对云计算环境下的远程证明提出了很多改进的方案,主要有以下几种:
(1)在远程证明的证据收集阶段,使用虚拟机监控器Hypervisor 提供的VMI虚拟机自省技术直接获取宿主机与VM的度量值和度量日志,删除虚拟节点内部的远程证明代理程序,防范布谷鸟攻击。
VMI这种技术用于获取vTPM实例的PCR值是通过远程证明代理在 Hypervisor层截获虚拟机内核的TPM_TIS驱动和vTPM后端设备交互的消息,然后判断当前执行的TPM命令,如果是vPCR相关的操作,远程证明代理则通过执行读取PCR的操作更新其维护的vPCR列表。该方法经过测试后,获取vTCR值的操作需要不断进行轮询和判断,性能开销较大,安全成本过高。
(2)在远程证明的完整性度量阶段,使用Intel SGX技术保护云计算节点内的vTPM实例,防止针对vTPM实例的内存泄露攻击和针对NVRAM文件的非易失数据的破解攻击。
传统Xen虚拟机架构和KVM虚拟机架构都将vTPM实例创建在虚拟节点内部,攻击者能够登录到虚拟节点,并获取Enclave初始化的代码和数据,同时还可以获取该节点的内存布局并多次观察记录Enclave攻击面获取数据,推导获得控制流和数据流信息,最终获取Enclave的代码和数据。
通过分析云计算环境下的远程证明过程可知,云计算节点的可信性主要取决于以下3点:
(1)初始化阶段需要保证vTPM实例与NVRAM数据的安全,保证虚拟节点VM与vTPM的强制绑定关系。
(2)度量阶段不仅需要保证Hypervisor与VM加载时完整性,还需要保证Hypervisor与VM的运行时完整性。
(3)证据收集阶段需要保证可信证据不能被篡改或破解,保证信任链从宿主机上电传递到云计算节点。
发明内容
本发明的主要内容是通过新提出的自适应周期动态度量模型与远程证明***架构,结合KVM虚拟化方案与Intel SGX技术构建一种云环境下基于 Intel SGX的两阶段远程证明方法。主要功能是加强远程证明的安全性,扩展远程证明过程的信任链,降低引入动态度量所带来的的性能开销。
为了实现上述发明的目的:本发明提供了如下技术方案:一种云环境下基于IntelSGX的两阶段远程证明方法。在硬件层面上,支持Intel SGX 技术的处理器通过指令扩展和高级访问控制策略实现了对Enclave的内存隔离, Enclave中的代码和数据存储于处理器保留内存区PRM中,PRM作为DRAM子集不允许其他软件直接访问,以此在Hypervisor层构建一个可信执行环境TEE,。在软件层面上将远程证明代理服务中心VRAC的相关服务运行在由硬件构建的TEE 中,包括vTPM安全保护模块、远程证明会话密钥存储模块、自适应周期动态度量调度模块、远程证明请求处理模块。该方案确保:SGX密封机制保障NVRAM数据与第二阶段远程证明会话密钥RASK(Remote Attestation Session Key)的持久化存储安全性,攻击者无法通过虚拟节点为跳板获取RASK非对称密钥的私钥。RASK非对称密钥保障挑战方与证明方的通信安全并提供证明方与VM的绑定关系,私钥由远程证明服务中心RASC委托保管,公钥在第一阶段远程证明过程中派发给挑战方用于第二阶段远程证明。自适应周期动态度量在尽可能减少性能开销的前提下保障云计算节点的运行时安全。
其特征在于,包括以下步骤:(1)远程证明代理服务中心VRAC的创建与安全初始化。(2)虚拟节点与vTPM的创建与安全初始化。(3)结合负载程度的自适应周期度量模块运行。(4)双阶段远程证明安全执行。
(1)远程证明代理服务中心VRAC的创建与安全初始化包括:在 Hypervisor层检查远程证明代理服务中心VRAC的各程序的完整性,确认无误后对远程证明代理服务中心各程序进行安全配置并启动。
(2)虚拟节点与vTPM的创建与安全初始化包括:远程证明代理服务中心VRAC验证云计算节点的***镜像文件的完整性,确认无误后创建该云计算节点,同时Hypervisor在vTPM安全保护模块中创建与之对应的vTPM实例。
(3)结合负载程度的自适应周期度量模块运行包括:使用度量记录表记录所有云计算节点周期度量成功与度量失败的次数、云计算节点的负载程度、上一次度量时间点以及根据自适应算法计算而出的下一次度量时间点,并按照度量记录表对云计算节点进行基于行为的动态度量,接下来对度量结果进行验证并更新度量记录表。
(4)双阶段远程证明安全执行包括:第一阶段是在Hypervisor 层挑战方与远程证明代理服务中心VRAC的远程证明过程,第二阶段是在VM层挑战方与验证方的远程证明过程。
进一步的,步骤(1)远程证明代理中心VRAC的创建与安全初始化具体步骤包括:
(1-1):首先由可信计算技术为云计算宿主机构建一条从信任根到 BIOS、BootLoader、宿主机操作***OS、虚拟机监控器Hypervisor的信任链,一级度量一级、一级认证一级、一级信任一级,将信任关系扩展到Hypervisor 层。其中vTPM安全保护模块、远程证明会话密钥存储模块、远程证明请求处理模块的核心功能在由SGX Enclave安全区保障的可信执行环境TEE中运行。
(1-2):在Hypervisor层计算远程证明代理服务中心各程序的摘要值(SHA-256),并与该程序发布版本的标准摘要值进行比对,检查远程证明代理服务中心VRAC的各程序的完整性。检查无误后进入下一步,否则终止该云计算节点的部署。
(1-3):远程证明代理服务中心的vTPM安全保护模块、远程证明会话密钥存储模块、远程证明请求处理模块的核心功能代码部署在SGX Enclave 安全区保障的可信执行环境TEE中运行。
进一步的,步骤(2)虚拟节点与vTPM的创建与安全初始化具体步骤包括:
(2-1):在Hypervisor层计算云计算节点镜像文件的的摘要值 (SHA-256),并与该镜像文件发布版本的标准摘要值进行比对,验证云计算节点的***镜像文件的完整性,检查无误后进入下一步,否则终止该云计算节点的部署。
(2-2):镜像完整性检查无误后,SGX Driver创建一个包含 Libtpms2.0的vTPM库的Enclave区域作为vTPM安全保护模块。
(2-3):在vTPM安全保护模块中创建与之对应的软件模拟的vTPM 实例。
进一步的,步骤(3)结合负载程度的自适应周期度量模块运行具体步骤包括:
(3-1):首先按照度量记录表对云计算节点进行基于行为的动态度量。用度量记录表记录所有云计算节点周期度量成功与度量失败的次数、云计算节点的负载程度、上一次度量时间点以及根据自适应算法计算而出的下一次度量时间点,并按照度量记录表对云计算节点进行基于行为的动态度量,接下来对度量结果进行验证并更新度量记录表。
(3-2):通过虚拟机自省VMI技术获取该虚拟机内进程的上下文信息,通过事先构建的行为规则库对虚拟机内进程进行行为跟踪,同时产生动态度量值和度量日志。
(3-3):在云计算节点的远程证明过程中将度量值和度量日志与证书中心CA中的预设标准值进行比对验证,如果验证结果合法,则更新该云计算节点度量成功次数加1,否则更新该云计算节点度量失败次数加1。
(3-4)根据当前云计算节点的度量记录通过自适应算法计算出下一次度量时间点,并更新到度量记录表中。
进一步的,步骤(4)双阶段远程证明安全执行具体步骤包括:
(4-1):挑战方VM1向远程证明代理服务中心发起挑战,请求验证 VMM的可信性。远程证明代理服务中心的请求处理模块与VM1建立TLS连接,同时远程证明代理服务中心将宿主机TPM的PCR值、AIK公钥和度量记录表中VM2 的上一次动态度量结果使用AIK私钥签名SIG(TPMPCR,PUBAIK,DMRvm2),并向证书中心CA申请封装为AIK证书,最后通过VM1的公钥进行加密生成加密的AIK证书。通过TLS连接将加密的AIK证书传输到VM1,VM1使用自己的私钥进行解密获取AIK证书,然后使用证书中心CA的公钥拆装出宿主机的AIK公钥和签名的 PCR值,然后通过AIK公钥解签出宿主机的PCR值和VM2的上一次动态度量结果并进行验证,如果PCR值与预设标准值相同且VM2的上一次动态度量结果也为成功则证明宿主机Hypervisor层可信且VM2此时的运行环境可信,此时返回值1 并保持该TLS连接,继续进行下一阶段远程证明。
(4-2):远程证明代理服务中心的会话密钥存储模块生成一套非对称会话密钥供第二阶段远程证明使用,会话密钥的私钥只由远程证明代理服务中心的会话密钥模块保存在Enclave中,公钥通过远程证明代理服务中心与挑战方的TLS连接传递给VM1。
(4-3):挑战方VM1向VM2发起挑战,首先发出挑战请求VM2用会话密钥的私钥签名VM2的vPCR值,VM2内部远程证明代理收到挑战后将该挑战委托给远程证明代理服务中心的会话密钥管理模块签名,此时远程证明代理服务中心首先确认委托挑战的验证方身份,如果验证方是VM2,则下一步则会话密钥管理模块与VM2对应的vTPM通过SGX的本地认证建立连接,本地认证通过并建立连接后,会话密钥管理模块获取到VM2的vPCR值,并将该vPCR值通过之前生成的会话密钥的私钥进行签名SIG(vPCRvm2)后传输给VM2的远程证明代理,最后通过VM1与VM2的远程证明连接传输该签名,挑战方VM1收到后,通过会话密钥公钥解签出VM2的vPCR值并与预设标准值进行比对。如果比对结果相同,则云计算节点VM2平台可信,此时通过VM1与远程证明代理服务中心的TLS连接返回值1并关闭连接。
附图说明
图1是本发明的总体框架图。
图2是本发明的自适应周期动态度量执行流程图。
图3是本发明的两阶段远程证明流程图。
具体实施方式
本发明的目的是提供一种云环境下基于Intel SGX的两阶段远程证明方法,该方案的整体架构如图1所示,主要包括:安全初始化模块,自适应周期动态度量模块,双阶段远程证明服务模块。接下来将会对以上三个模块进行详细介绍:
一、安全初始化模块
该模块主要是完成远程证明代理服务中心和云计算虚拟节点***署,然后在可信执行环境TEE中部署vTPM实例,为后续双阶段远程证明做准备。主要实施步骤如下:
步骤1:启动宿主机,从宿主机上电开始构建一条从信任根到BIOS、 BootLoader、宿主机操作***OS、虚拟机监控器Hypervisor的可信链。
步骤2:在Hypervisor层计算远程证明代理服务中心各程序的摘要值(SHA-256),并与该程序发布版本的标准摘要值进行比对,检查远程证明代理服务中心VRAC的各程序的完整性。
步骤3:将远程证明代理服务中心的vTPM安全保护模块、远程证明会话密钥存储模块、远程证明请求处理模块的核心功能代码部署在SGX Enclave安全区保障的可信执行环境TEE中运行。
步骤4:在Hypervisor层计算云计算节点镜像文件的的摘要值 (SHA-256),并与该镜像文件发布版本的标准摘要值进行比对,验证云计算节点的***镜像文件的完整性。
步骤5:SGX Driver创建一个包含Libtpms2.0的vTPM库的Enclave 区域作为vTPM安全保护模块。
步骤6:在vTPM安全保护模块中创建与之对应的软件模拟的vTPM 实例。
二、自适应周期动态度量模块
该模块主要是完成对所有云计算节点的动态度量,并将挑战方与证明方远程证明过程的结果存储。主要实施步骤如下:
步骤1:根据度量记录表中的Next Time轮询需要动态度量的云计算节点。
步骤2:对到达动态度量时间点的云计算节点进行基于行为的动态度量。
步骤3:通过虚拟机自省VMI技术获取该虚拟机内进程的上下文信息,通过事先构建的行为规则库对虚拟机内进程进行行为跟踪,同时产生动态度量值和度量日志。
步骤4:在云计算节点的远程证明过程中将度量值和度量日志与证书中心CA中的预设标准值进行比对验证,如果验证结果合法,则更新该云计算节点度量成功次数加1,否则更新该云计算节点度量失败次数加1。
三、双阶段远程证明服务模块
该模块主要是服务远程证明过程,并使用Intel SGX的本地认证和密封机制保证远程证明过程中会话密钥私钥的使用安全,在新的远程证明框架下保证远程证明过程的安全。主要实施步骤如下:
步骤1:挑战方VM1向远程证明代理服务中心发起挑战,请求验证 VMM的可信性。
步骤2:远程证明代理服务中心的请求处理模块与VM1建立TLS连接,同时远程证明代理服务中心将宿主机TPM的PCR值、AIK公钥和度量记录表中VM2的上一次动态度量结果使用AIK私钥签名SIG(TPMPCR,PUBAIK,DMRvm2),并向证书中心CA申请封装为AIK证书,最后通过VM1的公钥进行加密生成加密的 AIK证书。
步骤3:通过TLS连接将加密的AIK证书传输到VM1,VM1使用自己的私钥进行解密获取AIK证书。
步骤4:使用证书中心CA的公钥拆装出宿主机的AIK公钥和签名的PCR值,然后通过AIK公钥解签出宿主机的PCR值和VM2的上一次动态度量结果并进行验证。
步骤5:远程证明代理服务中心的会话密钥存储模块生成一套非对称会话密钥供第二阶段远程证明使用,会话密钥的私钥只由远程证明代理服务中心的会话密钥模块保存在Enclave中,公钥通过远程证明代理服务中心与挑战方的TLS连接传递给VM1。
步骤6:挑战方VM1向VM2发起挑战,发出挑战请求VM2用会话密钥的私钥签名VM2的vPCR值。
步骤7:VM2内部远程证明代理收到挑战后将该挑战委托给远程证明代理服务中心的会话密钥管理模块签名。
步骤8:会话密钥管理模块与VM2对应的vTPM通过SGX的本地认证建立连接,本地认证通过并建立连接后,会话密钥管理模块获取到VM2的vPCR 值,并将该vPCR值通过之前生成的会话密钥的私钥进行签名SIG(vPCRvm2)后传输给VM2的远程证明代理。
步骤9:通过VM1与VM2的远程证明连接传输该签名,挑战方VM1 收到后,通过会话密钥公钥解签出VM2的vPCR值并与预设标准值进行验证。
为了引入动态度量保证云计算环境运行时的安全性,本文创新的提出了一种云计算环境的结合云计算节点负载状态和历史度量数据的自适应周期度量模型。自适应周期度量模块维护着一个动态度量记录表(Dynamic Measurement Record Form),度量记录表用于描述各个云计算节点周期度量的情况和状态,表设计如下表4所示。
Figure BDA0003522079660000081
表动态度量记录表
虚拟机ID表示云计算节点在宿主机中的唯一标识。State表示当前节点的安全状态,True代表可信,False代表不可信。Sn(Success Number)表示该节点从上次初始化开始到现在累计成功度量次数。Fn(File Number)表示该节点从上次初始化开始到现在累计失败度量次数。LS(Load State)表示当前虚拟节点的负载程度(主要由CPU使用率、内存使用率、I/O使用率综合计算而来), LS从Level1-Level3共3个等级,等级越高代表该云计算机此时的负载程度越大,以此类推。根据动态度量算法可以尽量延长下一次度量点的时间。Last Time 和Next Time分别是上一次动态度量时间和下一次计划度量时间。
结合云计算节点负载状态和历史度量数据的自适应周期度量算法中关于度量点NT(Next Time)计算公式如下:
NT=LT+SMP*IF
其中SMP(Standard Measurement Period)标准度量周期可以由管理员手动设置,为了研究方便当前设置为固定的60S,IF(Influence Factor)影响因子的计算公式为:
Figure BDA0003522079660000091
算法1:结合云计算节点负载状态和历史度量数据的自适应周期度量算法
输入:被度量的虚拟机vIDs,基于行为的平台状态证明,通过事件截获***调用和VMI技术获取此时虚拟机内进程的上下文信息VMC(Virtual Machine Context),通过行为规则库对虚拟机的进程列表BTL(Behavior Tracking List)中的关键进程的一些行为进行“行为跟踪”,并利用这些行为变化特征BC(Behavioural raits)验证虚拟机在运行时的可信性。
输出:DMHash(Dynamic Measurement)动态度量散列值
1.初始化
VMC=HypervisorContentRead(vIDs);//读取此时指定ID的虚拟机上下文
2.初始化SProcess=SpecialProcessFilter(VMC,BTL);//根据读取的虚拟机上下文信息筛选出行为跟踪列表BTL中的进程
3.初始化BC=new ArrayList<String>();
4.HypervisorBehaviorMonitor(BC,SProcess);//通过Hypervisor对指定行为跟踪进程的行为变化进行监听,通过I/O多路复用读取到BC中
5.DMHash=TPM_SHA-1(BC);//调用TPM对监听获取的行为特征数组BC 的每一项进行Hash运算并返回值
6.Return DMHash。

Claims (5)

1.一种云环境下基于Intel SGX的两阶段远程证明方法,其特征在于,包括以下步骤:(1)远程证明代理服务中心VRAC的创建与安全初始化;(2)虚拟节点与vTPM的创建与安全初始化;(3)结合负载程度的自适应周期度量模块运行;(4)双阶段远程证明安全执行;
远程证明代理服务中心VRAC的创建与安全初始化包括:在Hypervisor层检查远程证明代理服务中心VRAC的各程序的完整性,确认无误后对远程证明代理服务中心各程序进行安全配置并启动;
虚拟节点与vTPM的创建与安全初始化包括:远程证明代理服务中心VRAC验证云计算节点的***镜像文件的完整性,确认无误后创建该云计算节点,同时Hypervisor在vTPM安全保护模块中创建与之对应的vTPM实例;
结合负载程度的自适应周期度量模块运行包括:使用度量记录表记录所有云计算节点周期度量成功与度量失败的次数、云计算节点的负载程度、上一次度量时间点以及根据自适应算法计算而出的下一次度量时间点,并按照度量记录表对云计算节点进行基于行为的动态度量,接下来对度量结果进行验证并更新度量记录表;
双阶段远程证明安全执行包括:第一阶段是在Hypervisor层挑战方与远程证明代理服务中心VRAC的远程证明过程,第二阶段是在VM层挑战方与验证方的远程证明过程。
2.根据权利要求1所述的基于Intel SGX的两阶段远程证明方法,其特征在于,远程证明代理中心VRAC的创建与安全初始化具体步骤包括:
步骤1:首先由可信计算技术为云计算宿主机构建一条从信任根到BIOS、BootLoader、宿主机操作***OS、虚拟机监控器Hypervisor的信任链,一级度量一级、一级认证一级、一级信任一级,将信任关系扩展到Hypervisor层;其中vTPM安全保护模块、远程证明会话密钥存储模块、远程证明请求处理模块的核心功能在由SGX Enclave安全区保障的可信执行环境TEE中运行;
步骤2:在Hypervisor层计算远程证明代理服务中心各程序的摘要值(SHA-256),并与该程序发布版本的标准摘要值进行比对,检查远程证明代理服务中心VRAC的各程序的完整性;检查无误后进入下一步,否则终止该云计算节点的部署;
步骤3:远程证明代理服务中心的vTPM安全保护模块、远程证明会话密钥存储模块、远程证明请求处理模块的核心功能代码部署在SGX Enclave安全区保障的可信执行环境TEE中运行。
3.根据权利要求1所述的基于Intel SGX的两阶段远程证明方法,其特征在于,所述虚拟节点与vTPM的创建与安全初始化具体步骤包括:
步骤1:在Hypervisor层计算云计算节点镜像文件的的摘要值(SHA-256),并与该镜像文件发布版本的标准摘要值进行比对,验证云计算节点的***镜像文件的完整性,检查无误后进入下一步,否则终止该云计算节点的部署;
步骤2:镜像完整性检查无误后,SGX Driver创建一个包含Libtpms2.0的vTPM库的Enclave区域作为vTPM安全保护模块;
步骤3:在vTPM安全保护模块中创建与之对应的软件模拟的vTPM实例。
4.根据权利要求1所述的基于Intel SGX的两阶段远程证明方法,其特征在于,所述结合负载程度的自适应周期度量模块运行具体步骤包括:
步骤1:首先按照度量记录表对云计算节点进行基于行为的动态度量;用度量记录表记录所有云计算节点周期度量成功与度量失败的次数、云计算节点的负载程度、上一次度量时间点以及根据自适应算法计算而出的下一次度量时间点,并按照度量记录表对云计算节点进行基于行为的动态度量,接下来对度量结果进行验证并更新度量记录表;
步骤2:通过虚拟机自省VMI技术获取该虚拟机内进程的上下文信息,通过事先构建的行为规则库对虚拟机内进程进行行为跟踪,同时产生动态度量值和度量日志;
步骤3:在云计算节点的远程证明过程中将度量值和度量日志与证书中心CA中的预设标准值进行比对验证,如果验证结果合法,则更新该云计算节点度量成功次数加1,否则更新该云计算节点度量失败次数加1;
步骤4:根据当前云计算节点的度量记录通过自适应算法计算出下一次度量时间点,并更新到度量记录表中。
5.根据权利要求1所述的基于Intel SGX的两阶段远程证明方法,其特征在于,所述双阶段远程证明安全执行具体步骤包括:
步骤1:挑战方VM1向远程证明代理服务中心发起挑战,请求验证VMM的可信性;远程证明代理服务中心的请求处理模块与VM1建立TLS连接,同时远程证明代理服务中心将宿主机TPM的PCR值、AIK公钥和度量记录表中VM2的上一次动态度量结果使用AIK私钥签名SIG(TPMPCR,PUBAIK,DMRvm2),并向证书中心CA申请封装为AIK证书,最后通过VM1的公钥进行加密生成加密的AIK证书;通过TLS连接将加密的AIK证书传输到VM1,VM1使用自己的私钥进行解密获取AIK证书,然后使用证书中心CA的公钥拆装出宿主机的AIK公钥和签名的PCR值,然后通过AIK公钥解签出宿主机的PCR值和VM2的上一次动态度量结果并进行验证,如果PCR值与预设标准值相同且VM2的上一次动态度量结果也为成功则证明宿主机Hypervisor层可信且VM2此时的运行环境可信,此时返回值1并保持该TLS连接,继续进行下一阶段远程证明;
步骤2:远程证明代理服务中心的会话密钥存储模块生成一套非对称会话密钥供第二阶段远程证明使用,会话密钥的私钥只由远程证明代理服务中心的会话密钥模块保存在Enclave中,公钥通过远程证明代理服务中心与挑战方的TLS连接传递给VM1;
步骤3:挑战方VM1向VM2发起挑战,首先发出挑战请求VM2用会话密钥的私钥签名VM2的vPCR值,VM2内部远程证明代理收到挑战后将该挑战委托给远程证明代理服务中心的会话密钥管理模块签名,此时远程证明代理服务中心首先确认委托挑战的验证方身份,如果验证方是VM2,则下一步则会话密钥管理模块与VM2对应的vTPM通过SGX的本地认证建立连接,本地认证通过并建立连接后,会话密钥管理模块获取到VM2的vPCR值,并将该vPCR值通过之前生成的会话密钥的私钥进行签名SIG(vPCRvm2)后传输给VM2的远程证明代理,最后通过VM1与VM2的远程证明连接传输该签名,挑战方VM1收到后,通过会话密钥公钥解签出VM2的vPCR值并与预设标准值进行比对;如果比对结果相同,则云计算节点VM2平台可信,此时通过VM1与远程证明代理服务中心的TLS连接返回值1并关闭连接。
CN202210182259.7A 2022-02-26 2022-02-26 一种云环境下基于Intel SGX的两阶段远程证明方法 Pending CN114547656A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210182259.7A CN114547656A (zh) 2022-02-26 2022-02-26 一种云环境下基于Intel SGX的两阶段远程证明方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210182259.7A CN114547656A (zh) 2022-02-26 2022-02-26 一种云环境下基于Intel SGX的两阶段远程证明方法

Publications (1)

Publication Number Publication Date
CN114547656A true CN114547656A (zh) 2022-05-27

Family

ID=81679223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210182259.7A Pending CN114547656A (zh) 2022-02-26 2022-02-26 一种云环境下基于Intel SGX的两阶段远程证明方法

Country Status (1)

Country Link
CN (1) CN114547656A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115168872A (zh) * 2022-09-07 2022-10-11 南方科技大学 基于去中心化信任的公有云下tee状态连续性保护方法
CN118101201A (zh) * 2024-04-19 2024-05-28 麒麟软件有限公司 一种基于DICE和pKVM的隐私数据保护***和方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115168872A (zh) * 2022-09-07 2022-10-11 南方科技大学 基于去中心化信任的公有云下tee状态连续性保护方法
CN115168872B (zh) * 2022-09-07 2023-01-10 南方科技大学 基于去中心化信任的公有云下tee状态连续性保护方法
WO2024050869A1 (zh) * 2022-09-07 2024-03-14 南方科技大学 基于去中心化信任的公有云下tee状态连续性保护方法
CN118101201A (zh) * 2024-04-19 2024-05-28 麒麟软件有限公司 一种基于DICE和pKVM的隐私数据保护***和方法

Similar Documents

Publication Publication Date Title
US9690498B2 (en) Protected mode for securing computing devices
Schiffman et al. Seeding clouds with trust anchors
US9501665B2 (en) Method and apparatus for remotely provisioning software-based security coprocessors
KR100930218B1 (ko) 소프트웨어 기반 보안 코프로세서를 제공하는 방법, 장치및 처리 시스템
Ibrahim et al. Trusted cloud computing architectures for infrastructure as a service: Survey and systematic literature review
US8151262B2 (en) System and method for reporting the trusted state of a virtual machine
McCune et al. Flicker: An execution infrastructure for TCB minimization
US8850212B2 (en) Extending an integrity measurement
US7636442B2 (en) Method and apparatus for migrating software-based security coprocessors
US7571312B2 (en) Methods and apparatus for generating endorsement credentials for software-based security coprocessors
CN111158906B (zh) 一种主动免疫可信云***
US20100161998A1 (en) Associating a Signing key with a Software Component of a Computing Platform
EP3125149A1 (en) Systems and methods for securely booting a computer with a trusted processing module
CN102244684B (zh) 基于usbkey的efi可信云链引导方法
JP2009015818A (ja) 動的信頼管理
CN108595983B (zh) 一种基于硬件安全隔离执行环境的硬件架构、及应用上下文完整性度量方法
CN107704308B (zh) 虚拟平台vTPM管理***、信任链构建方法及装置、存储介质
CN114547656A (zh) 一种云环境下基于Intel SGX的两阶段远程证明方法
Muñoz et al. TPM, a pattern for an architecture for trusted computing
US20220129591A1 (en) Protection of a secured application in a cluster
Schiffman et al. Justifying integrity using a virtual machine verifier
Krautheim Building trust into utility cloud computing
Feng et al. The theory and practice in the evolution of trusted computing
Dyer et al. Security issues relating to inadequate authentication in MapReduce applications
Pedone et al. Trusted computing technology and proposals for resolving cloud computing security problems

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