基于硬件事务内存的vTPM安全保护方法

文档序号:9911538阅读:1043来源:国知局
基于硬件事务内存的vTPM安全保护方法
【专利说明】基于硬件事务内存的νΤΡΜ安全保护方法
[0001]
技术领域
[0002]本发明涉及云计算和可信计算技术领域,尤其涉及一种基于硬件事务内存的虚拟化可信平台模块隐私信息保护方法。
[0003]
【背景技术】
[0004]虚拟化可信平台模块νΤΡΜ
虚拟化技术以合理的资源共享、良好的隔离机制、易维护和低成本等优点得到了广泛应用,但虚拟机系统也面临着诸如数据安全存储、敏感信息保护和完整性度量等问题。可信计算技术的目标是为计算机系统建立安全验证体系,嵌入到物理设备主板上的可信平台模块TPM(Trusted Platform Module)可为计算机系统提供基于硬件的可信度量、可信证明和可信封装等安全功能。因此,将虚拟化与可信计算相结合,是技术发展的必然结果,其中,最重要的就是TPM的虚拟化。
[0005]虚拟可信平台模块νΤΡΜ(虚拟化可信平台模块)是TPM(可信平台模块)虚拟化的一种实现方式,为运行在主机上的多个虚拟机提供可信计算功能。利用相关程序借助νΤΡΜ(虚拟化可信平台模块)可以获取虚拟机的完整性度量信息,并实现虚拟机数据的安全存储,以解决硬件虚拟化快速发展带来的安全问题。
[0006]硬件事务性内存Hardware Transact1nal Memory
事务的概念源自于数据库管理系统中数据库事务的概念,其本身满足原子性、一致性,隔离性和持久性。硬件事务内存是一种基于硬件实现的无锁同步机制的并行程序设计的方式。其使用原子操作和同步故障来完成线程间同步的功能,这种方法规避了使用锁时出现的问题并极大地提高了并行度。该机制基于SMP结构,通过增加事务Cache(高速缓冲存储),添加读集和写集并修改Cache(高速缓冲存储)一致性协议来实现。为实现多线程编程,并发访问,同步访问,共享资源等目的,将不同并行执行的线程事务化,在同一进程内能实现互斥操作,不同进程间不能进行攻击。特别是硬件事务内存机制根据用户的需要,可以将事务占用的CPU Cache(高速缓冲存储)划分成读集和写集,进而进行相应的冲突检测以保证事务的正确执行。其中写集中的数据,只允许该事务内部的操作来进行读写,该事务之外的任何操作均会造成冲突。一旦检测到冲突,事务所使用的Cache (高速缓冲存储)行就会被清空,保证了事务内存中运行程序以及存储内容的安全。事务内存不仅避免了传统锁机制带来的一系列问题,增强了线程间的并行度,而且简化了并行程序开发的过程,更利于程序模块的组合。
[0007]我们利用硬件事务内存自身的特点,将νΤΡΜ(虚拟化可信平台模块)相关操作放进事务内存中执行,这样可以保证在操作执行过程中,其中间数据信息只出现在CPU Cache(高速缓冲存储)中,可以抵御内存泄露攻击;如果操作被其他进程或者恶意攻击者打断,依靠事务内存的良好特性,其中间状态信息会被清除,使得基于内存泄露的攻击无法成功。
[0008]事务同步扩展指令集IntelTSX
英特尔事务同步扩展TSX(Transact1nal Synchronizat1n Extens1n)提供了一组指令集扩展,为事务内存提供了完整的硬件可用支持。程序员只需要指定事务执行的临界区,处理器会自动检测事务冲突,并相应地执行提交或者回滚操作。Intel TSX技术的实现基于CPU Cache(高速缓冲存储)的特性,保证了事务中修改过但是尚未提交的中间数据只出现在Cache(高速缓冲存储)中,这个特性可以抵御内存泄露攻击。
[0009]同时,TSX将允许程序员指定事务型同步代码空间,使得目前使用粗粒度线程锁定的程序更自由地使用细粒度线程锁定,进而提高多线程效率和性能。程序员可以使用这些扩展以较少的努力来实现更高的性能。
[0010]现有技术的缺失
随着信息时代的快速发展,网络虚拟化、软件定义网络、智慧数据等“新鲜”名词也都应运而生。其中虚拟化可信平台模块是维护虚拟化网络安全的重要手段。由于现在还没有相应的技术可以保护相关隐私信息如非易失性随机访问存储以及敏感操作如:PCR操作,授权操作等,找到解决虚拟化可信平台模块的隐私信息保护问题的技术变得迫在眉睫。
[0011]

【发明内容】

[0012]本发明的目的是提供一种基于硬件事务内存的νΤΡΜ(虚拟化可信平台模块)安全保护方法,用硬件事务内存来保护对νΤΡΜ存储文件(NVRAM)的读写操作,为云环境下虚拟机用户提供一个安全可信根。
[0013]为达到上述目的,本发明采用如下的技术方案:
如图1,一种基于硬件事务内存的νΤΡΜ安全保护方法,本方法从两个方面实现对νΤΡΜ虚拟化可信平台模块的保护,一方面为νΤΡΜ虚拟化可信平台模块的存储保护,包括NVRAM非易失性随机访问存储的文件保护,分为以下几个步骤:
步骤1.NVRAM非易失性随机访问存储文件保护准备阶段,包括以下准备步骤:
步骤1.1.AES主密钥导入:将已设定的AES Master Key高级加密标准主密钥导入CPU内各个Core中的debug调试寄存器;
步骤1.2为每个虚拟机用户生成对应的NVRAM非易失性随机访问存储文件。
[0014]步骤1.3为每个虚拟机用户生成一个公私钥对PubKey公私密钥对中的公玥和Pr iKey公私密钥对中的私玥,所述的公钥用来加密该用户的NVRAM非易失性随机访问存储文件内容;所述的私钥经过CPU Core中的AES主密钥加密后,存放在服务器磁盘上;
步骤1.4将要写入NVRAM非易失性随机访问存储的数据用每个用户对应的公钥PubKey进行加密;
步骤1.5将从NVRAM非易失性随机访问存储中读出的数据用每个用户对应的私钥PriKey进行解密;
步骤2对NVRAM非易失性随机访问存储的读写操作进行保护;
如图2,另一方面对基于硬件事务内存的νΤΡΜ虚拟化可信平台模块进行操作保护,包括:加解密操作保护;授权操作保护和PCR相关操作保护。
[0015]
优选的,所述的步骤2中,NVRAM非易失性随机访问存储的读写操作保护阶段;包括以下步骤:
步骤2.1 NVRAM非易失性随机访问存储读操作保护;为虚拟机用户提供NVRAM非易失性随机访问存储文件的读取功能,具体包括利用硬件事务内存技术,为NVRAM非易失性随机访问存储的安全读写提供一个安全计算事务,从NVRAM非易失性随机访问存储中读取出密文数据,在CPU Cache高速缓冲存储内部解密其内容,最后将数据的明文结果提供给用户;步骤2.2 NVRAM非易失性随机访问存储写操作保护;为虚拟机用户提供NVRAM非易失性随机访问存储文件的读取功能,具体包括利用硬件事务内存技术,为NVRAM非易失性随机访问存储的安全读写提供一个安全计算事务,为虚拟机用户提供NVRAM非易失性随机访问存储文件的写入功能,具体包括将要写入的数据用每个用户对应的公钥PubKey进行加密,之后写入NVRAM非易失性随机访问存储文件中。
[0016]
优选的,所述的加解密操作安全保护包括以下步骤:
1.加密操作安全保护准备阶段;
1.1数据导入;将需要加密的数据和存于VTPM虚拟化可信平台模块外部的已经过加密的密钥通过API导入创建的事务内存单元,并在事务内存中执行加密函数。
[0017]1.2 SRK导入;使用νΤΡΜ虚拟化可信平台模块存储安全保护方法中NVRAM非易失性随机访问存储读取操作读取NVRAM非易失性随机访问存储文件用于加密外部密钥的存储根密钥SRK,将其导入创建的事务内存单元中;
2.加密操作;使用1.1和1.2导入的数据和SRK,再使用明文密钥加密目标数据;操作若顺利完成,事务将擦除所有相关的Cache高速缓冲存储行;若中途遇到意外中断或外部攻击,事务会马上停止工作,并擦除所有痕迹;
3.解密操作安全保护准备;
3.1数据
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1