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

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

Info

Publication number
CN105678173B
CN105678173B CN201511014269.6A CN201511014269A CN105678173B CN 105678173 B CN105678173 B CN 105678173B CN 201511014269 A CN201511014269 A CN 201511014269A CN 105678173 B CN105678173 B CN 105678173B
Authority
CN
China
Prior art keywords
nvram
random access
vtpm
storage
key
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
CN201511014269.6A
Other languages
English (en)
Other versions
CN105678173A (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 University WHU
Original Assignee
Wuhan University WHU
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 University WHU filed Critical Wuhan University WHU
Priority to CN201511014269.6A priority Critical patent/CN105678173B/zh
Publication of CN105678173A publication Critical patent/CN105678173A/zh
Application granted granted Critical
Publication of CN105678173B publication Critical patent/CN105678173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • G06F9/467Transactional memory

Abstract

本发明公开了一种基于硬件事务内存的vTPM安全保护方法;本方法从两个方面实现对vTPM虚拟化可信平台模块的保护,一方面为vTPM虚拟化可信平台模块的存储保护,另一方面对基于硬件事务内存的vTPM虚拟化可信平台模块进行操作保护;本方法对NVRAM非易失性随机访问存储文件的读写操作具有强原子性,攻击者无法打断操作获取中间数据;对NVRAM非易失性随机访问存储进行解密的私钥不会以明文形式出现在内存中,能够抵御内存泄露攻击。

Description

基于硬件事务内存的vTPM安全保护方法
技术领域
本发明涉及云计算和可信计算技术领域,尤其涉及一种基于硬件事务内存的虚拟化可信平台模块隐私信息保护方法。
背景技术
虚拟化可信平台模块vTPM
虚拟化技术以合理的资源共享、良好的隔离机制、易维护和低成本等优点得到了广泛应用,但虚拟机系统也面临着诸如数据安全存储、敏感信息保护和完整性度量等问题。可信计算技术的目标是为计算机系统建立安全验证体系,嵌入到物理设备主板上的可信平台模块TPM(Trusted Platform Module)可为计算机系统提供基于硬件的可信度量、可信证明和可信封装等安全功能。因此,将虚拟化与可信计算相结合,是技术发展的必然结果,其中,最重要的就是TPM的虚拟化。
虚拟可信平台模块vTPM(虚拟化可信平台模块)是TPM(可信平台模块)虚拟化的一种实现方式,为运行在主机上的多个虚拟机提供可信计算功能。利用相关程序借助vTPM(虚拟化可信平台模块)可以获取虚拟机的完整性度量信息,并实现虚拟机数据的安全存储,以解决硬件虚拟化快速发展带来的安全问题。
硬件事务性内存Hardware Transactional Memory
事务的概念源自于数据库管理系统中数据库事务的概念,其本身满足原子性、一致性,隔离性和持久性。硬件事务内存是一种基于硬件实现的无锁同步机制的并行程序设计的方式。其使用原子操作和同步故障来完成线程间同步的功能,这种方法规避了使用锁时出现的问题并极大地提高了并行度。该机制基于SMP结构,通过增加事务Cache(高速缓冲存储),添加读集和写集并修改Cache(高速缓冲存储)一致性协议来实现。为实现多线程编程,并发访问,同步访问,共享资源等目的,将不同并行执行的线程事务化,在同一进程内能实现互斥操作,不同进程间不能进行攻击。特别是硬件事务内存机制根据用户的需要,可以将事务占用的CPU Cache(高速缓冲存储)划分成读集和写集,进而进行相应的冲突检测以保证事务的正确执行。其中写集中的数据,只允许该事务内部的操作来进行读写,该事务之外的任何操作均会造成冲突。一旦检测到冲突,事务所使用的Cache(高速缓冲存储)行就会被清空,保证了事务内存中运行程序以及存储内容的安全。事务内存不仅避免了传统锁机制带来的一系列问题,增强了线程间的并行度,而且简化了并行程序开发的过程,更利于程序模块的组合。
我们利用硬件事务内存自身的特点,将vTPM(虚拟化可信平台模块)相关操作放进事务内存中执行,这样可以保证在操作执行过程中,其中间数据信息只出现在CPU Cache(高速缓冲存储)中,可以抵御内存泄露攻击;如果操作被其他进程或者恶意攻击者打断,依靠事务内存的良好特性,其中间状态信息会被清除,使得基于内存泄露的攻击无法成功。
事务同步扩展指令集Intel TSX
英特尔事务同步扩展TSX(Transactional Synchronization Extension)提供了一组指令集扩展,为事务内存提供了完整的硬件可用支持。程序员只需要指定事务执行的临界区,处理器会自动检测事务冲突,并相应地执行提交或者回滚操作。Intel TSX技术的实现基于CPU Cache(高速缓冲存储)的特性,保证了事务中修改过但是尚未提交的中间数据只出现在Cache(高速缓冲存储)中,这个特性可以抵御内存泄露攻击。
同时,TSX将允许程序员指定事务型同步代码空间,使得目前使用粗粒度线程锁定的程序更自由地使用细粒度线程锁定,进而提高多线程效率和性能。程序员可以使用这些扩展以较少的努力来实现更高的性能。
现有技术的缺失
随着信息时代的快速发展,网络虚拟化、软件定义网络、智慧数据等“新鲜”名词也都应运而生。其中虚拟化可信平台模块是维护虚拟化网络安全的重要手段。由于现在还没有相应的技术可以保护相关隐私信息如非易失性随机访问存储以及敏感操作如:PCR操作,授权操作等,找到解决虚拟化可信平台模块的隐私信息保护问题的技术变得迫在眉睫。
发明内容
本发明的目的是提供一种基于硬件事务内存的vTPM(虚拟化可信平台模块)安全保护方法,用硬件事务内存来保护对vTPM存储文件(NVRAM)的读写操作,为云环境下虚拟机用户提供一个安全可信根。
为达到上述目的,本发明采用如下的技术方案:
如图1,一种基于硬件事务内存的vTPM安全保护方法,本方法从两个方面实现对vTPM虚拟化可信平台模块的保护,一方面为vTPM虚拟化可信平台模块的存储保护,包括NVRAM非易失性随机访问存储的文件保护,分为以下几个步骤:
步骤1. NVRAM非易失性随机访问存储文件保护准备阶段,包括以下准备步骤:
步骤1.1. AES主密钥导入:将已设定的AES Master Key高级加密标准主密钥导入CPU内各个Core中的debug调试寄存器;
步骤1.2为每个虚拟机用户生成对应的NVRAM非易失性随机访问存储文件。
步骤1.3为每个虚拟机用户生成一个公私钥对,分别是PubKey公私密钥对中的公钥和PriKey公私密钥对中的私钥,所述的公钥用来加密该用户的NVRAM非易失性随机访问存储文件内容;所述的私钥经过CPU Core中的AES主密钥加密后,存放在服务器磁盘上;
步骤1.4将要写入NVRAM非易失性随机访问存储的数据用每个用户对应的公钥PubKey进行加密;
步骤1.5将从NVRAM非易失性随机访问存储中读出的数据用每个用户对应的私钥PriKey进行解密;
步骤2对NVRAM非易失性随机访问存储的读写操作进行保护;
如图2,另一方面对基于硬件事务内存的vTPM虚拟化可信平台模块进行操作保护,包括:加解密操作保护;授权操作保护和PCR相关操作保护。
优选的,所述的步骤2中,NVRAM非易失性随机访问存储的读写操作保护阶段;包括以下步骤:
步骤2.1 NVRAM非易失性随机访问存储读操作保护;为虚拟机用户提供NVRAM非易失性随机访问存储文件的读取功能,具体包括利用硬件事务内存技术,为NVRAM非易失性随机访问存储的安全读写提供一个安全计算事务,从NVRAM非易失性随机访问存储中读取出密文数据,在CPU Cache高速缓冲存储内部解密其内容,最后将数据的明文结果提供给用户;
步骤2.2 NVRAM非易失性随机访问存储写操作保护;为虚拟机用户提供NVRAM非易失性随机访问存储文件的读取功能,具体包括利用硬件事务内存技术,为NVRAM非易失性随机访问存储的安全读写提供一个安全计算事务,为虚拟机用户提供NVRAM非易失性随机访问存储文件的写入功能,具体包括将要写入的数据用每个用户对应的公钥PubKey进行加密,之后写入NVRAM非易失性随机访问存储文件中。
优选的,所述的加解密操作保护包括以下步骤:
1).加密操作安全保护准备阶段;
1.1)数据导入;将需要加密的数据和存于vTPM虚拟化可信平台模块外部的已经过加密的密钥通过API导入创建的事务内存单元,并在事务内存中执行加密函数。
1.2)SRK导入;使用vTPM虚拟化可信平台模块存储安全保护方法中NVRAM非易失性随机访问存储读取操作读取NVRAM非易失性随机访问存储文件用于加密外部密钥的存储根密钥SRK,将其导入创建的事务内存单元中;
2).加密操作;使用1.1)和1.2)导入的数据和SRK,再使用明文密钥加密目标数据;操作若顺利完成,事务将擦除所有相关的Cache高速缓冲存储行;若中途遇到意外中断或外部攻击,事务会马上停止工作,并擦除所有痕迹;
3).解密操作安全保护准备;
3.1)数据导入:将需要解密的数据和存于vTPM虚拟化可信平台模块外部的已经过加密的密钥通过API导入创建的事务内存单元,同时读入解密函数相关代码;
3.2)SRK导入;使用vTPM虚拟化可信平台模块存储安全保护方法中NVRAM非易失性随机访问存储读取操作读取NVRAM非易失性随机访问存储文件用于解密外部密钥的存储根密钥SRK,将其导入创建的事务内存单元中;
4).解密操作:使用3.2)导入的SRK解出外部密钥的明文,再使用明文密钥解密3.1)导入的需要解密的数据;
5).操作若顺利完成,事务将擦除所有相关的Cache高速缓冲存储行;若中途遇到意外中断或外部攻击,事务会马上停止工作,并擦除所有痕迹。
优选的,所述的授权操作保护包括如下步骤:
①.数据导入:将新创建的vTPM虚拟化可信平台模块的NVRAM非易失性随机访问存储文件读入创建的事务内存单元中,并将密钥生成函数调入事务内存单元;
②.密钥生成:在事务内存中,调用①中导入的密钥生成函数生成和与授权信息相关的vTPM虚拟化可信平台模块的EK授权密钥以及SRK存储根密钥;
③.根据②中得到的EK和SRK加密后写入NVRAM非易失性随机访问存储文件。
优选的,所述的PCR相关操作保护具体的是:将vTPM虚拟化可信平台模块中的PCR操作放入已创建的事务内存单元中,保护PCR操作不受其他进程影响;操作若顺利完成,事务将擦除所有相关的Cache高速缓冲存储的行;若中途遇到意外中断或外部攻击,事务会马上停止工作,并擦除所有痕迹。
本发明具有以下优势:
1)对NVRAM(非易失性随机访问存储)文件的读写操作具有强原子性,攻击者无法打断操作获取中间数据。
2)对NVRAM(非易失性随机访问存储)进行解密的私钥不会以明文形式出现在内存中,能够抵御内存泄露攻击。
3)将授权、加解密、PCR扩展等vTPM(虚拟化可信平台模块)相关操作放到事务内存中执行,
4)编程使用Intel TSX技术,使得实现较为容易。
附图说明
图1为本发明安全保护方法的整体流程图;
图2为本发明vTPM虚拟化可信平台模块操作保护的流程图。
具体实施方式
本方法选用支持硬件事物内存的CPU,如Haswell(英特尔五代核心处理器架构)系列。
本发明从两个方面实现对vTPM(虚拟化可信平台模块)的保护:
Ⅰ. vTPM(虚拟化可信平台模块)存储保护,主要指NVRAM(非易失性随机访问存储)文件保护,可分为以下几个步骤:
步骤1. NVRAM(非易失性随机访问存储)文件保护准备阶段,包括以下几个准备步骤:
步骤1.1 AES主密钥导入:将已设定的AES Master Key(高级加密标准主密钥)导入CPU内各个Core中的debug(调试寄存器)。
步骤1.2为每个虚拟机用户生成对应的NVRAM(非易失性随机访问存储)文件。
步骤1.3为每个虚拟机用户生成一个公私钥对,分别是PubKey(公私密钥对中的公钥)和PriKey(公私密钥对中的私钥),其公钥用来加密该用户的NVRAM(非易失性随机访问存储)文件内容;私钥经过CPU Core中的AES主密钥加密后,存放在服务器磁盘上。
步骤1.4将要写入NVRAM(非易失性随机访问存储)的数据用每个用户对应的公钥PubKey(公私密钥对中的公玥)进行加密。
步骤1.5将从NVRAM(非易失性随机访问存储)中读出的数据用每个用户对应的私钥PriKey(公私密钥对中的私玥)进行解密。
步骤2.1 NVRAM(非易失性随机访问存储)读操作保护:为虚拟机用户提供NVRAM(非易失性随机访问存储)文件的读取功能,具体包括利用硬件事务内存技术,为NVRAM(非易失性随机访问存储)的安全读写提供一个安全计算事务,从NVRAM(非易失性随机访问存储)中读取出密文数据,在CPU Cache(高速缓冲存储)内部解密其内容,最后将数据的明文结果提供给用户,以此来保护NVRAM(非易失性随机访问存储)内容的机密性、完整性和一致性,并使得内存泄露攻击无效化。
步骤2.2 NVRAM(非易失性随机访问存储)写操作保护:为虚拟机用户提供NVRAM(非易失性随机访问存储)文件的读取功能,具体包括利用硬件事务内存技术,为NVRAM(非易失性随机访问存储)的安全读写提供一个安全计算事务,为虚拟机用户提供NVRAM(非易失性随机访问存储)文件的写入功能,具体包括将要写入的数据用每个用户对应的公钥PubKey(公私密钥对中的公玥)进行加密,之后写入NVRAM(非易失性随机访问存储)文件中,以此来保护NVRAM(非易失性随机访问存储)内容的机密性、完整性和一致性,并使得内存泄露攻击无效化。
Ⅱ.基于硬件事务内存的vTPM(虚拟化可信平台模块)操作保护,主要包括:
①.加解密操作保护
1).加密操作安全保护准备阶段:
1.1)数据导入:将需要加密的数据和存于vTPM(虚拟化可信平台模块)外部的已经过加密的密钥通过API导入创建的事务内存单元,并在事务内存中执行加密函数。
1.2)SRK导入:使用vTPM(虚拟化可信平台模块)存储安全保护方法中NVRAM(非易失性随机访问存储)读取操作读取NVRAM(非易失性随机访问存储)文件用于加密外部密钥的存储根密钥SRK,将其导入创建的事务内存单元中。
2).加密操作:使用步骤1.1)和1.2)导入的数据和SRK,再使用明文密钥加密目标数据。操作若顺利完成,事务将擦除所有相关的Cache(高速缓冲存储)行;若中途遇到意外中断或外部攻击,事务会马上停止工作,并擦除所有痕迹。
3).解密操作安全保护准备:
3.1)数据导入:将需要解密的数据和存于vTPM(虚拟化可信平台模块)外部的已经过加密的密钥通过API导入创建的事务内存单元,同时读入解密函数相关代码。
3.2)SRK导入:使用vTPM(虚拟化可信平台模块)存储安全保护方法中NVRAM(非易失性随机访问存储)读取操作读取NVRAM(非易失性随机访问存储)文件用于解密外部密钥的存储根密钥SRK,将其导入创建的事务内存单元中。
4).解密操作:使用步骤3.2)导入的SRK解出外部密钥的明文,再使用明文密钥解密步骤3.1)导入的需要解密的数据。
5).操作若顺利完成,事务将擦除所有相关的Cache(高速缓冲存储)行;若中途遇到意外中断或外部攻击,事务会马上停止工作,并擦除所有痕迹。
②.授权操作保护:
1>数据导入:将新创建的vTPM(虚拟化可信平台模块)的NVRAM(非易失性随机访问存储)文件读入创建的事务内存单元中,并将密码生成函数调入事务内存单元。
2>密钥生成:在事务内存中,调用步骤1>中导入的密钥生成函数生成和与授权信息相关的vTPM(虚拟化可信平台模块)的EK授权密钥以及SRK存储根密钥。
3>这里根据NVRAM存储保护中步骤2>将EK SRK加密后写入NVRAM(非易失性随机访问存储)的操作。
③.PCR操作保护:将vTPM(虚拟化可信平台模块)中的PCR操作放入已创建的事务内存单元中,保护PCR操作不受其他进程影响。操作若顺利完成,事务将擦除所有相关的Cache(高速缓冲存储)行;若中途遇到意外中断或外部攻击,事务会马上停止工作,并擦除所有痕迹。
基于硬件事务内存的vTPM(虚拟化可信平台模块)创建时初始化及其授权机制工作情况:
Ⅰ. vTPM(虚拟化可信平台模块)初始化;包括:
I/O初始化:即初始化总线协议并为实现编码和译码以及vTPM与外部的信息交换做好准备工作。
密码库初始化:初始化vTPM(虚拟化可信平台模块)内部各式密钥,诸如AIK,SK等主要配置RSA非对称密码算法的密钥以及使用ECC或者DSA等密码算法的密钥。初始化基于SHA-1的用于形成数据摘要辅助数字签名和认证等应用的Hash函数消息认证码的HMAC及其使用库模拟的相关加速引擎。与此同时初始化库模拟的密钥生成部件以及用于产生密码学随机数随机数发生器以及相应的用于加速非对称密码的运算和为其产生密钥的硬件加速引擎。
NVRAM(非易失性随机访问存储)初始化:初始化用于存储嵌入式操作系统以及其文件系统,存储授权密钥(EK),存储根密钥(SRK),所有者授权数据和持久性标志等重要数据的非易失性NVRAM(非易失性随机访问存储)存储文件。
自检以及全局初始化:使用TPM-OISP,TPM-OSAP初始化会话对象。
Ⅱ. vTPM(虚拟化可信平台模块)授权数据保护机制:
授权数据保护机制(采用授权数据以及平台关联的机制对密钥和数据实施保护)用于平台所有权的建立,对象的迁移,对受TPM(可信平台模块)保护的不透明(加密的)对象的访问控制。TPM(可信平台模块)中EK授权密钥以及SRK密钥还有授权信息将通过安全的渠道传输到NVRAM(非易失性随机访问存储)中。密钥使用者必须拥有该密钥的在产生时就设定的160位授权数据的SHA-1的摘要值的验证码并通过验证。OISP,OSAP用于把授权数据从行为请求者传递给TPM(可信平台模块),建立授权会话上下文对象。OISP支持任意实体进行多重授权会话。OASP支持单一实体建立会话。ADIP支持在创建一个实体时,插入一个新的授权数据。ADCP,AACP允许对一个实体的授权数据进行更改,老授权数据就不存在了。HMAC,Rolling Nonce,MGF1来保证消息的完整性和秘密性,防止重放攻击和中间人攻击,密码机制配合授权数据机制共同确保TPM(可信平台模块)的安全。

Claims (5)

1.一种基于硬件事务内存的vTPM安全保护方法,其特征在于:本方法从两个方面实现对vTPM虚拟化可信平台模块的保护,一方面为vTPM虚拟化可信平台模块的存储保护,包括NVRAM非易失性随机访问存储的文件保护,分为以下几个步骤:
步骤1.NVRAM非易失性随机访问存储文件保护准备阶段,包括以下准备步骤:
步骤1.1.AES主密钥导入:将已设定的AES Master Key高级加密标准主密钥导入CPU内各个Core中的debug调试寄存器;
步骤1.2为每个虚拟机用户生成对应的NVRAM非易失性随机访问存储文件;
步骤1.3为每个虚拟机用户生成一个公私钥对,分别是PubKey公私密钥对中的公钥和PriKey公私密钥对中的私钥,所述的公钥用来加密该用户的NVRAM非易失性随机访问存储文件内容;所述的私钥经过CPU Core中的AES主密钥加密后,存放在服务器磁盘上;
步骤1.4将要写入NVRAM非易失性随机访问存储的数据用每个用户对应的公钥PubKey进行加密;
步骤1.5将从NVRAM非易失性随机访问存储中读出的数据用每个用户对应的私钥PriKey进行解密;
步骤2对NVRAM非易失性随机访问存储的读写操作进行保护;
另一方面对基于硬件事务内存的vTPM虚拟化可信平台模块进行操作保护,包括:加解密操作保护;授权操作保护和PCR相关操作保护。
2.根据权利要求1所述的一种基于硬件事务内存的vTPM安全保护方法,其特征在于,所述的步骤2中,NVRAM非易失性随机访问存储的读写操作保护阶段;包括以下步骤:
步骤2.1 NVRAM非易失性随机访问存储读操作保护;为虚拟机用户提供NVRAM非易失性随机访问存储文件的读取功能,具体包括利用硬件事务内存技术,为NVRAM非易失性随机访问存储的安全读写提供一个安全计算事务,从NVRAM非易失性随机访问存储中读取出密文数据,在CPU Cache高速缓冲存储内部解密其内容,最后将数据的明文结果提供给用户;
步骤2.2 NVRAM非易失性随机访问存储写操作保护;为虚拟机用户提供NVRAM非易失性随机访问存储文件的读取功能,具体包括利用硬件事务内存技术,为NVRAM非易失性随机访问存储的安全读写提供一个安全计算事务,为虚拟机用户提供NVRAM非易失性随机访问存储文件的写入功能,具体包括将要写入的数据用每个用户对应的公钥PubKey进行加密,之后写入NVRAM非易失性随机访问存储文件中。
3.根据权利要求1所述的一种基于硬件事务内存的vTPM安全保护方法,其特征在于:所述的加解密操作保护包括以下步骤:
1).加密操作安全保护准备阶段;
1.1)数据导入;将需要加密的数据和存于vTPM虚拟化可信平台模块外部的已经过加密的密钥通过API导入创建的事务内存单元,并在事务内存中执行加密函数;
1.2)SRK导入;使用vTPM虚拟化可信平台模块存储安全保护方法中NVRAM非易失性随机访问存储读取操作读取NVRAM非易失性随机访问存储文件用于加密外部密钥的存储根密钥SRK,将其导入创建的事务内存单元中;
2).加密操作;使用1.1)和1.2)导入的数据和SRK,再使用明文密钥加密目标数据;操作若顺利完成,事务将擦除所有相关的Cache高速缓冲存储行;若中途遇到意外中断或外部攻击,事务会马上停止工作,并擦除所有痕迹;
3).解密操作安全保护准备;
3.1)数据导入:将需要解密的数据和存于vTPM虚拟化可信平台模块外部的已经过加密的密钥通过API导入创建的事务内存单元,同时读入解密函数相关代码;
3.2)SRK导入;使用vTPM虚拟化可信平台模块存储安全保护方法中NVRAM非易失性随机访问存储读取操作读取NVRAM非易失性随机访问存储文件用于解密外部密钥的存储根密钥SRK,将其导入创建的事务内存单元中;
4).解密操作:使用3.2)导入的SRK解出外部密钥的明文,再使用明文密钥解密3.1)导入的需要解密的数据;
5).操作若顺利完成,事务将擦除所有相关的Cache高速缓冲存储行;若中途遇到意外中断或外部攻击,事务会马上停止工作,并擦除所有痕迹。
4.根据权利要求1所述的一种基于硬件事务内存的vTPM安全保护方法,其特征在于:所述的授权操作保护包括如下步骤:
①.数据导入:将新创建的vTPM虚拟化可信平台模块的NVRAM非易失性随机访问存储文件读入创建的事务内存单元中,并将密钥生成函数调入事务内存单元;
②.密钥生成:在事务内存中,调用①中导入的密钥生成函数生成和与授权信息相关的vTPM虚拟化可信平台模块的EK授权密钥以及SRK存储根密钥;
③.根据②中得到的EK和SRK加密后写入NVRAM非易失性随机访问存储文件。
5.根据权利要求1所述的一种基于硬件事务内存的vTPM安全保护方法,其特征在于,所述的PCR相关操作保护具体的是:将vTPM虚拟化可信平台模块中的PCR操作放入已创建的事务内存单元中,保护PCR操作不受其他进程影响;操作若顺利完成,事务将擦除所有相关的Cache高速缓冲存储的行;若中途遇到意外中断或外部攻击,事务会马上停止工作,并擦除所有痕迹。
CN201511014269.6A 2015-12-31 2015-12-31 基于硬件事务内存的vTPM安全保护方法 Active CN105678173B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511014269.6A CN105678173B (zh) 2015-12-31 2015-12-31 基于硬件事务内存的vTPM安全保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511014269.6A CN105678173B (zh) 2015-12-31 2015-12-31 基于硬件事务内存的vTPM安全保护方法

Publications (2)

Publication Number Publication Date
CN105678173A CN105678173A (zh) 2016-06-15
CN105678173B true CN105678173B (zh) 2018-06-29

Family

ID=56297826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511014269.6A Active CN105678173B (zh) 2015-12-31 2015-12-31 基于硬件事务内存的vTPM安全保护方法

Country Status (1)

Country Link
CN (1) CN105678173B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3607443A1 (en) * 2017-04-19 2020-02-12 Huawei Technologies Co., Ltd. Hardware transactional memory (htm) assisted database transactions
US11507668B2 (en) * 2017-09-19 2022-11-22 Hewlett-Packard Development Company, L.P. Cryptographic key security
CN107844362B (zh) * 2017-11-14 2021-10-15 浪潮(北京)电子信息产业有限公司 虚拟化tpm设备的系统、方法、虚拟机及可读存储介质
CN109460282B (zh) * 2018-10-17 2021-07-30 郑州云海信息技术有限公司 一种vTPM时钟安全保障的方法及系统
CN109522736B (zh) * 2018-12-13 2021-12-10 中国科学院信息工程研究所 一种在操作系统中进行密码运算的方法和系统
CN110659509B (zh) * 2019-08-29 2021-10-22 北京浪潮数据技术有限公司 一种内存快照文件的生成方法、装置、电子设备及介质
CN114679253B (zh) * 2022-04-22 2023-03-14 四川大学 一种vTPM2.0的中国商用密码算法扩展方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110197A (zh) * 2009-12-25 2011-06-29 中国科学院计算技术研究所 多核处理器的计算环境中实现tmp的方法及其系统
CN103927488A (zh) * 2014-04-04 2014-07-16 西安电子科技大学 一种针对可信嵌入式系统的可信平台模块
CN103995732A (zh) * 2014-05-26 2014-08-20 华为技术有限公司 一种虚拟可信平台模块功能实现方法和管理设备
CN104715183A (zh) * 2013-12-13 2015-06-17 中国移动通信集团公司 一种虚拟机运行时的可信验证方法和设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120151209A1 (en) * 2010-12-09 2012-06-14 Bae Systems National Security Solutions Inc. Multilevel security server framework

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110197A (zh) * 2009-12-25 2011-06-29 中国科学院计算技术研究所 多核处理器的计算环境中实现tmp的方法及其系统
CN104715183A (zh) * 2013-12-13 2015-06-17 中国移动通信集团公司 一种虚拟机运行时的可信验证方法和设备
CN103927488A (zh) * 2014-04-04 2014-07-16 西安电子科技大学 一种针对可信嵌入式系统的可信平台模块
CN103995732A (zh) * 2014-05-26 2014-08-20 华为技术有限公司 一种虚拟可信平台模块功能实现方法和管理设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Ng-vTPM:新一代TPM虚拟化框架设计;杨永娇 等;《武汉大学学报(理学版)》;20150430;第61卷(第2期);全文 *
基于TPM的可信嵌入式平台的设计与实现;李然;《中国优秀硕士学位论文全文数据库》;20150415(第4期);全文 *
基于可信计算的嵌入式Linux内核安全性加固的研究;郭晋;《中国优秀硕士学位论文全文数据库》;20111215(第12期);全文 *

Also Published As

Publication number Publication date
CN105678173A (zh) 2016-06-15

Similar Documents

Publication Publication Date Title
CN105678173B (zh) 基于硬件事务内存的vTPM安全保护方法
Zhao et al. Sectee: A software-based approach to secure enclave architecture using tee
CN103026347B (zh) 多核架构中的虚拟机内存划分
US10325118B2 (en) Cryptographic cache lines for a trusted execution environment
US9734355B2 (en) System and method for an efficient authentication and key exchange protocol
JP5443599B2 (ja) セキュアなアプリケーションの実行を提供する方法および装置
Li et al. {CIPHERLEAKS}: Breaking Constant-time Cryptography on {AMD}{SEV} via the Ciphertext Side Channel
Lapid et al. Cache-attacks on the ARM TrustZone implementations of AES-256 and AES-256-GCM via GPU-based analysis
CN109858265A (zh) 一种加密方法、装置及相关设备
CN103038746A (zh) 用于基础设施即服务云环境中的可信执行的方法和装置
CN108762887A (zh) 用于虚拟机的测量的信任根
JP7464586B2 (ja) メモリ完全性チェックのための完全性ツリー
WO2016109558A1 (en) System and method for secure code entry point control
CN104883256A (zh) 一种抵抗物理攻击和系统攻击的密钥保护方法
Zhao et al. vsgx: Virtualizing sgx enclaves on amd sev
Benadjila et al. Wookey: Designing a trusted and efficient USB device
Xu et al. Architectural protection of application privacy against software and physical attacks in untrusted cloud environment
US9202056B2 (en) Inter-processor attestation hardware
JP6068325B2 (ja) セキュアなアプリケーションの実行を提供するプロセッサ
Wen et al. Multi-processor architectural support for protecting virtual machine privacy in untrusted cloud environment
US20230058863A1 (en) Countermeasures against side-channel attacks on secure encrypted virtualization (sev)-secure nested paging (sev-snp) processors
Kim et al. CAFE: A virtualization-based approach to protecting sensitive cloud application logic confidentiality
JP6777288B2 (ja) プロセッサ
WO2022051189A1 (en) Creating, using, and managing protected cryptography keys
Tseng et al. Encrypted Data Processing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant