CN105493097A - 用于远程存储的数据的保护方案 - Google Patents

用于远程存储的数据的保护方案 Download PDF

Info

Publication number
CN105493097A
CN105493097A CN201380079191.9A CN201380079191A CN105493097A CN 105493097 A CN105493097 A CN 105493097A CN 201380079191 A CN201380079191 A CN 201380079191A CN 105493097 A CN105493097 A CN 105493097A
Authority
CN
China
Prior art keywords
data
encryption
equipment
cryptographic services
virtual machine
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
CN201380079191.9A
Other languages
English (en)
Other versions
CN105493097B (zh
Inventor
H·内利特尔塔
S·迪帕克
T·兰加拉詹
A·S·凯沙瓦穆尔蒂
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN105493097A publication Critical patent/CN105493097A/zh
Application granted granted Critical
Publication of CN105493097B publication Critical patent/CN105493097B/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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及一种用于远程存储的数据的保护方案。系统可以包括,例如包括至少一个虚拟机(VM)的至少一个设备;以及受信的执行环境(TEE)。TEE可以包括用于对从至少一个VM接收的数据进行加密和解密的加密服务。在一个实施例中,该至少一个虚拟机可以包括用于与加密服务中的接口进行交互的加密代理。例如,加密代理可以向加密服务注册,此时,可以生成与该至少一个VM相对应的加密密钥。在验证加密代理的注册之后,加密服务可以利用于该至少一个VM相对应的加密密钥来对从加密代理接收的数据进行加密和解密。加密服务可以随后将加密后或解密后的数据返回给加密代理。

Description

用于远程存储的数据的保护方案
技术领域
本公开涉及数据安全,并且更加具体而言,涉及用于保护存储在诸如云存储系统等的远程资源上的数据的安全的方案。
背景技术
电子设备(例如,计算设备)中的数据管理朝向更加分布式的架构发展。例如,尽管传统上数据被存储在设备本地的永久存储器中,但是现在数据可以被远程地存储在远程资源中。示例远程资源可以是基于云的计算解决方案,其包括经由诸如互联网等的广域网(WAN)可访问的至少一个计算设备(例如,服务器)。当使用远程存储的数据架构时,存在可以被实现的多种好处。例如,数据不仅可以对生成该数据的设备是可访问的,还对可以得益于能够访问数据而不考虑数据的位置的其它设备(例如,移动计算设备、移动通信设备等)是可访问的。其它设备可以经由到互联网的有线或无线连接来访问远程资源上的数据。此外,远程存储的数据可以对诸如火灾、天气紧急状态、停电等的灾难事件更容忍,这是因为基于云的资源通常被建立为利用更加实质的事件保护、备份资源等来对这样的事件负责。
尽管远程存储的数据的益处可能是显而易见的,但是也存在一些风险。例如,将各种数据(例如,该数据可以包括机密信息)存储在单个位置中用户向可能具有恶意意图的黑客呈现了诱人的目标。在将数据存储在远程资源上之前对该数据进行加密可以帮助防止黑客获得访问,然而,用于执行加密的工具也必须被保护。例如,当用户负责在将数据存储在远程资源上之前对数据进行加密时,恶意软件(rootkit)和其它高特权的攻击可能能够获得对存储在用户的设备上的加密密钥的访问。将对数据加密的责任移动至远程资源(例如,基于云的存储设备提供者)不能缓解该问题,这是因为相同类型的攻击可能用于访问存储在远程资源(例如,服务器)中的加密密钥。
附图说明
随着以下的具体实施方式的展开并且根据对附图的参照,所要求保护的主题的各种实施例的特征和优点将变得显而易见,其中,相同的附图标记指代相同的部件,并且在附图中:
图1示出了根据本公开的至少一个实施例的用于针对远程存储的数据的保护方案的示例配置;
图2示出了根据本公开的至少一个实施例的用于设备的示例配置;
图3示出了根据本公开的至少一个实施例的用于针对远程存储的数据的保护方案的第二示例配置;
图4示出了根据本公开的至少一个实施例的用于针对远程存储的数据的保护方案的第三示例配置;
图5示出了根据本公开的至少一个实施例的用于虚拟机启动的示例操作;
图6示出了根据本公开的至少一个实施例的用于加密服务启动的示例操作;以及
图7示出了根据本公开的至少一个实施例的用于针对远程存储的数据的保护方案的示例操作。
尽管将参照说明性实施例展开以下的具体实施方式,但是这些实施例的许多替换、修改和变形对本领域技术人员来说将是显而易见的。
具体实施方式
本公开涉及用于远程存储的数据的保护方案。示例系统可以包括至少一个设备,其包括至少一个虚拟机。该至少一个虚拟机可以用于处理数据,处理数据可以包括将数据存储在远程资源上。在这方面,该至少一个设备还可以包括加密服务可以在其中执行的受信的执行环境。加密服务可以用于对从至少一个虚拟机接收的数据进行加密或解密。在一个实施例中,至少一个虚拟机可以包括加密代理。加密代理可以用于将数据提供给加密服务器以用于加密或解密。例如,加密代理可以向加密服务注册,此时,可以生成与该至少一个虚拟机的相对应的加密密钥。在验证加密代理已经被注册之后,加密服务可以利用与至少一个虚拟机相对应的加密密钥来对从加密代理接收的数据进行加密或解密,并且随后将加密后或解密后的数据返回给加密代理。
在一个实施例中,至少一个设备可以包括例如至少一个虚拟机以及受信的执行环境。该至少一个虚拟机可以用于对该至少一个设备中的数据进行处理。受信的执行环境可以至少包括加密服务,其用于对从至少一个虚拟机被提供至该加密服务的数据进行加密或解密。
在相同或不同的实施例中,该至少一个虚拟机可以包括用于将数据提供给加密服务的加密代理。加密服务可以至少包括例如加密接口和解密接口,以用于与加密代理进行交互。加密服务还可以用于在接受来自至少一个虚拟机的用于加密或解密的数据之前,对加密代理进行注册。受信的执行环境还可以包括与至少一个虚拟机相对应的加密密钥,当加密代理被注册时,由加密服务生成该加密密钥。根据本公开,为了至少保护加密服务和加密密钥,受信的执行环境可以基于安全飞地技术。加密服务还可以用于使用加密密钥来对由加密代理提供的数据进行加密或解密。
在相同或不同的实施例中,至少一个设备还可以包括通信模块,其用于将加密后的数据发送给远程资源,或者接收来自远程资源的加密后的数据。远程资源可以包括例如经由广域网可访问的多个网络化的计算设备,所述多个网络化的计算设备至少包括用于存储加密后的数据的存储器模块。在可替换的配置中,至少一个设备可以包括至少经由广域网可访问的多个网络化的计算设备,所述多个网络化的计算设备还至少包括用于存储加密后的数据的存储器模块。根据本公开的至少一个实施例的示例方法可以包括在受信的执行环境内执行的加密服务上接收来自至少一个虚拟机的数据,对在加密服务中接收到的数据进行加密或解密,以及将加密或解密后的数据提供给至少一个虚拟机。
图1示出了根据本公开的至少一个实施例的用于针对远程存储的数据的保护方案的示例配置。系统100可以包括例如设备102和远程资源104。设备102可以包括包含了能够处理和存储数据的资源在内的任何设备。设备102的示例可以包括但不限于,移动通信设备(例如,基于操作系统、操作系统、操作系统、操作系统、操作系统等的蜂窝手持设备或智能电话等)、移动计算设备(例如,像GalaxyKindle等的平板计算机、包括由英特尔公司制造的低功率芯片组的上网本、笔记本计算机、膝上型计算机、掌上型计算机、智能手表等)、通常固定的计算设备(例如,桌上型计算机、机顶盒设备、智能电视(TV)、音频和/或视频电子会议系统等)。远程资源104可以包括例如经由例如互联网等的WAN(例如,“基于云”的数据存储解决方案)可访问的至少一个计算设备(例如,服务器)。重要的是注意到,尽管图1仅公开了与远程资源104进行交互的单个设备102,但根据本公开,一个以上的设备102(例如,多个设备)同时与远程资源104进行交互是可能的。
设备102可以包括例如至少一个虚拟机(VM)102和受信的执行环境(TEE)106A。VM106可以是在计算设备中的被呈现给设备102中的应用层的硬件的基于软件的抽象。由此,VM106A、VM106B、……、VM106n(下文中的VM106A…n)中的每个可以操作作为设备102内的单独的计算设备。设备102中的虚拟机管理器(VMM)或“管理程序(hypervisor)”可以监视和控制VM106A…n的操作。TEE108可以包括设备102中的安全工作空间,在该安全工作空间中,已知的好的程序可以执行、机密信息可以以安全的方式被存储等。例如,TEE108可以基于由英特尔公司开发的安全飞地技术。SE可以提供安全的和硬件加密的计算以及系统存储器内部的存储区域,该存储区域中的内容不能由特权代码解密或者甚至通过到存储器总线的硬件探针的应用来解密。当TEE108驻留在SE内部时,根据本公开的实施例使得入侵者无法对TEE108的内容进行解密。
例如,SE可以被可视化为用于保护应用程序、数据等的虚拟安全区。应用程序开发者可以指定必须被保护的存储器区域,这创造了安全区。这时候,存在可用的安全区,但是没有值被存储在其内部。应用程序开发者可以随后将代码置于受保护的存储器区域中并且可以初始化任何必要的数据。这时候,代码和数据可能已经被置于安全区的内部,但是还都不是秘密的,因为任何人可能已经观察到什么被置入到安全区中,这是由于“安全门”仍然是打开的。应用程序可以随后初始化SE,这可以被认为等价于将安全区的门关闭并且锁上。从这里往后,飞地代码仅可以在安全区内执行,并且在该飞地内部运行的代码可以生成安全密钥(例如,受保护的数据)。在SE的外部不能观察到受保护的数据值,并且由此,在SE外部,代码和数据是不可访问的。
在TEE108驻留在SE内的示例实现中,程序的标识(例如,基于每个程序的内容的加密散列测量)可以被签名并且被存储在每个程序中。当程序随后被加载时,处理器验证程序的测量(例如,由处理器计算的测量)与之前嵌入在该程序内部的测量是一致的。用于对嵌入的测量进行签名的签名也是可验证的,这是因为处理器被提供有用于在程序加载时间对签名进行验证的公钥。这样,恶意软件就不能篡改程序而还不改变程序的可验证的测量。恶意软件同样不能假冒签名,因为进行签名的密钥与程序的作者在一起是安全的。由此,软件不会被任何恶意软件读取、写入或改变。此外,数据也可以在TEE108中被保护。例如,TEE108中的已知的好的程序可以对诸如密钥、密码、许可证等的数据进行加密,以使得只有被验证的好的程序可以对该信息进行解密。尽管在设备102中仅仅公开了一个TEE108,但是存在多个TEE108也是可能的。多个TEE108的使用可以提高设备102中的安全性,因为如果一个TEE108被损坏,则其余的单独的TEE108的安全性保持为待用的。
VM106A…n中的每个可以包括加密代理110A、110B、……、110n(下文中的加密代理110A…n)。加密代理110A…n可以负责与116中的加密服务116进行交互。交互可以包括例如将数据提供给加密服务116以用于加密或解密。根据上文所讨论的示例虚拟化环境,加密服务116可以被包括为管理程序的部件。可替换地,在非虚拟化的环境中,加密服务116可以是驻留在设备102的操作系统中的安全模块,其被配置为实施针对在操作系统中执行的应用程序的数据加密和解密。根据本公开的至少一个目标是确保由VM106A…n存储在远程资源104中的所有数据以如下的方式被加密,以使得用于加密/解密的工具(例如,加密程序和密钥)和数据两者都被保护免于未授权的访问。在这方面,加密服务116可以包括用于对要存储在远程资源104中的数据进行加密,或者用于对从远程资源104中取回的加密后的数据进行解密的被测量的(例如,已知的好的)程序。在用于对要被置于远程资源104上的数据进行加密的操作的示例中,加密代理110A可以将数据112A提供给加密服务116。在一个实施例中,加密服务116可以包括至少两个接口,例如,用于接受要被加密的数据或接受要被解密的数据的应用程序编程接口(API)。加密服务116可以随后利用加密密钥118来对数据进行加密(例如,将其转换成加密后的数据114A)。加密后的数据114A可以随后被返回给加密代理110A。VM106A可以随后使得加密后的数据114A被存储(例如,加密后的数据114A可以被发送给远程资源104以用于存储)。以上的示例操作还可以逆向地操作,其中,VM106A从远程资源104获取加密后的数据114A,并且将其提供给加密服务116以用于解密。
在一个实施例中,加密密钥118可以包括与每个VM106A…n相对应的加密密钥。加密密钥118可以通过在TEE108内被生成并且被全部存储而被保护。这意味着加密密钥118的生成可以通过被测量的程序(例如,加密服务116)来完成,并且加密密钥118可以以仅可以由被测量的程序解密的加密格式被存储。在一个实施例中,加密密钥的生成可以在每个加密代理110A…n向加密服务116注册时发生。客户端应用程序(例如,加密代理110A…n)与加密服务116之间的安全通道可以用于确保只有被认证的客户端应用程序可以从加密服务116请求数据加密或解密。注册可以在每个加密代理110…n在VM106A…n中被启动之后发生,并且可以包括加密代理110A…n的认证。认证可以包括加密代理110A…n将信息提供给加密服务116,所述信息例如是用于测量已知的好的程序的散列值、用于在密钥交换协议或挑战握手认证协议(CHAP)中使用的暂时密钥等。在每个加密代理110A…n被注册后,加密服务116可以生成针对加密代理110A…n在其中进行操作的VM106A…n的加密密钥118。在至少一个实施例中,加密密钥118还能够在组成远程资源104的计算设备(例如,服务器)之间被迁移(例如,对于信息技术即服务(ITaaS)或者基础设施即服务(IaaS)类型的部署)。
图2示出了根据本公开的至少一个实施例的用于设备的示例配置。特别地,设备102’能够执行例如在图1中所公开的示例功能。然而,设备102’仅是要作为可用于根据本公开的实施例中的装备的示例,并且不是要将这些各种实施例限制为任何特定方式的实现。
设备102’可以包括被配置为对设备操作进行管理的系统模块200。系统模块200可以包括例如处理模块202、存储器模块204、电源模块206、用户接口模块208以及可以被配置为与通信模块212进行交互的通信接口模块210。设备102’还可以包括TEE108’,其用于至少与处理模块202、存储器模块204进行交互并且可选地与通信模块212进行交互。尽管已经将通信模块212和TEE108’示出为与系统模块200分离,但在本文中设备102’的示例实现仅是出于解释说明的原因被提供。与通信模块212和/或TEE108’相关联的功能中的一些或全部还可以被集成在系统模块200内。
在设备102’中,处理模块202可以包括位于单独的部件中的一个或多个处理器,或者可替换地,可以包括实现在单个部件中(例如,在片上系统(SoC)配置中)的一个或多个处理内核以及任何处理器有关的支持电路(例如,桥接接口等)。示例处理器可以包括但不限于,可以从英特尔公司获取的各种基于x86的微处理器(包括在Pentium、Xeon、Itanium、Celeron、Atom、Corei系列中的产品家族中的那些处理器)、高级RISC(例如,精简指令集计算)机器或“ARM”处理器等。支持电路的示例可以包括被配置为提供接口的芯片组(例如,可以从英特尔公司获取的北桥、南桥等),通过所述接口,处理模块202可以与在设备102’中以不同的速度、在不同的总线上等操作的其它系统部件进行交互。通常与支持电路相关联的功能中的一些或全部还可以被包括在与处理器相同的物理封装中(例如,在可以从英特尔公司获取的处理器的SandyBridge家族中)。
处理模块202可以被配置为在设备102’中执行各种指令。指令可以包括被配置为使得处理模块202执行与读取数据、写入数据、处理数据、格式化数据、转换数据、变换数据等有关的活动的程序代码。信息(例如,指令、数据等)可以被存储在存储器模块204中。存储器模块204可以包括以固定或可移动格式的随机存取存储器(RAM)或只读存储器(ROM)。RAM可以包括被配置为在设备102’操作期间保存信息的存储器,例如,静态RAM(SRAM)或动态RAM(DRAM)。ROM可以包括被配置为当设备102’激活时提供指令的诸如Bios或统一可扩展固件接口(UEFI)存储器等的存储器、诸如电可编程ROM(EPROMS)等的可编程存储器、闪速存储器等。其它固定的和/或可移动的存储器可以包括诸如软盘、硬盘驱动器等的磁存储器;诸如固态闪速存储器(例如,嵌入式多媒体卡(eMMC)等)、可移动存储器卡或棒(例如,微存储设备(uSD)、USB等)等的电存储器;诸如基于压缩盘的ROM(CD-ROM)等的光学存储器等。电源模块206可以包括内部电源(例如,电池)和/或外部电源(例如,机电或太阳能发电机、电力网、燃料电池等),以及被配置为供给设备102’运行所需的电能的有关电路。
用户接口模块208可以包括允许用户与设备102’进行交互的装备和/或软件,例如,各种输入机制(例如,麦克风、开关、按钮、把手、键盘、扬声器、触敏表面、被配置为捕获图像和/或感应接近、距离、运动、姿势、方向的一个或多个传感器等)以及各种输出机制(例如,扬声器、显示器、发光/闪光指示器、用于振动、运动的机电部件等)。用户接口模块208中的装备可以被集成在设备102’内,和/或可以经由有线或无线通信介质耦合到设备102’。
通信接口模块210可以被配置为处理用于通信模块212的分组路由和其它控制功能,该通信接口模块210可以包括被配置为支持有线和/或无线通信的资源。有线通信可以包括串行和并行的有线介质,例如,以太网、通用串行总线(USB)、火线、数字视频接口(DVI)、高分辨率多媒体接口(HDMI)等。无线通信可以包括例如近距离无线介质(例如,诸如基于近场通信(NFC)标准等的射频(RF)、红外(IR)、光学字符识别(OCR)、磁字符感应等)、短距离无线介质(例如,蓝牙、WLAN、Wi-Fi等)以及长距离无线介质(例如,蜂窝广域无线通信技术、基于卫星的通信等)。在一个实施例中,通信接口模块210可以被配置为防止通信模块212中的活动的无线通信相互干扰。在执行该功能中,通信接口模块210可以基于例如等待传输的消息的相对优先级来对通信模块212的活动进行调度。
在图2中所示出的实施例中,TEE108’可以被配置为至少与用户处理模块202、存储器模块203进行交互,并且可选地与通信模块212进行交互。在操作的示例中,驻留在存储器模块204中的VM106A…n的每个可以包括由处理模块202执行的加密代理110A…n。加密代理110A…n中的任何一个都可以经由例如接口来将数据提供给TEE108’中的加密服务116’。加密服务116’可以访问加密密钥118’以对由加密代理110A…n提供的数据进行加密或解密。在一个实施例中,加密服务116’可以随后将加密后或解密后的数据返回给加密代理106A…n。在可替换的配置中,加密服务116’可以与通信模块212进行交互以直接发送或接收来自远程资源104的加密后的数据114A…n。由此,VM106A…n将不再直接与远程资源104进行交互,这可以通过降低与远程资源104的整体交互来改进系统安全性。示例交互可以随后包括加密代理110A请求加密服务116’对数据112A进行加密和将加密后的数据114A存储在远程资源104中二者,或者请求加密服务116’从远程资源104中取回加密后的数据114A以及随后将加密后的数据114A解密成解密后的数据112A以用于由VM106A使用二者。
图3示出了根据本公开的至少一个实施例的用于针对远程存储的数据的保护方案的第二示例配置。图3展示了将与图1中的设备102相关联的功能集成在远程资源104’中是可能的。在系统100’中,数据的加密和解密完全在远程资源104’内执行,从而在同时降低消耗数据112A…n的设备上的处理负担时,确保加密后的数据104’和加密密钥118的安全性。这种类型的实现在消耗设备具有有限的资源(例如,有限的处理能力、存储空间、电量等)的情况下可能是有益的,例如在移动计算设备或移动通信设备中。涉及加密/解密的数据处理的大部分可以随后被移动到远程资源104’(例如,基于云的存储解决方案)以降低消耗设备的负担。系统100’中的至少一个不利因素是在远程资源104’与消耗设备之间交换解密后的数据112A…n,使得数据拦截成为可能(例如,在中间人攻击中)。
图4示出了根据本公开的至少一个实施例的用于针对远程存储的数据的保护方案的第三示例配置。系统100”可以至少包括设备102”和远程资源104。设备102”可以包括VM106A’…n’,其中,每个VM106A’…n’可以包括单独的TEE108(例如,TEE108A’…n’)。每个单独的TEE108A’…n’可以包括相对应的加密服务116A’…n’和加密密钥118A’…n’。一般地,可以将系统100”认为是“分布式”解决方案,其中,每个VM106A’…n’包括用于保护数据114A…n的其自己的安全数据加密/解密资源(例如,TEE108A’…n’中的加密服务116A’…n’和加密密钥118A’…n’)。由于数据112A…n可以被直接提交给每个单独的加密服务116A’…n’,因此在系统100”中已经消除了对加密代理110A…n的需求。除了通过消除加密代理与服务之间的交互来降低通信负担之外,系统100”可以比其它实现更加鲁棒,因为由TEE108A’…n’中的任何一个经历的问题将不会影响其余的TEE108A’…n’的性能。通过这种方式,通信量和其它吞吐量问题可以被本地化为承受重的负载,以及任何TEE108A’…n’的故障和破坏的特定的VM106A’…n’。然而,改进的数据流、容错等的潜力可能使增加的系统复杂度成为必要,以用于维护每个VM106A’…n’的单独的安全加密资源。
图5示出了根据本公开的至少一个实施例的用于虚拟机启动的示例操作。VM可以在操作500中被启动。VM可以驻留在与可以存储数据的远程资源分离的设备中(例如,如在系统100中),或者可以驻留在远程资源中(例如,如在系统100’中)。在操作502中,数据存储服务和加密代理的启动可以在VM的启动之后。数据存储服务可以是可以使得将数据存储在远程资源中的任何功能。数据存储服务的示例可以包括但不限于,用于在远程资源中创建本地存储的数据的副本的备份功能、用于存储由用户交互生成的信息的数据库功能、用于自动存储日志信息以在问题解决中使用的存档功能等。在操作502中的加密代理启动之后,可以随后在操作504中进行加密代理的注册。加密代理504可以通过将验证信息(例如,测量信息、密钥等)提供给加密服务来向设备中的TEE内的加密服务注册。随后可以在操作506中做出关于加密代理是否成功地向加密服务注册的确定。如果在操作506中确定代理注册失败,则在操作508中可以针对VM禁止对加密服务的访问(例如,加密服务将不会对与注册失败的加密代理相对应的VM的数据进行加密或解密)。可选地,在操作508之后,可以返回到操作504以重新尝试注册。如果在操作506中确定注册成功,则在操作510中,可以使得能够进行针对与通过注册的加密代理相对应的VM的数据存储和取回。这意味着加密服务将响应来自加密代理的加密/解密请求。
图6示出了根据本公开的至少一个实施例的用于加密服务启动的示例操作。在操作600中,TEE可以在设备中被启动。例如,在启动期间,受信的程序可以启动并且测量作为TEE的一部分的所有后续程序。在操作602中,可以在启动时测量的程序中的一个是加密服务。在加密服务的启动之后,在操作604中,在设备上的VM中操作的加密代理可以向加密服务注册。与VM相对应的加密密钥可以由针对成功注册的每个加密代理的加密服务生成。与具有注册过的加密代理的每个VM相对应的加密密钥随后可以(例如,以加密的形式)存储在TEE内。在操作606中,可以在加密服务中启用加密和解密接口,允许注册过的加密代理从加密服务请求加密或解密(例如,利用加密密钥)。
图7示出了根据本公开的至少一个实施例的用于针对远程存储的数据的保护方案的示例操作。在操作700中,数据可以在设备中的TEE内操作的加密服务中接收。该数据可以从在设备中的VM内操作的加密代理接收。随后可以在操作702中做出关于加密代理是否已经向加密服务注册的确定。如果在操作702中确定加密代理没有被注册,则在操作704中,可以针对特定的加密代理,禁止对加密服务的访问。可替换地,如果在操作702中,确定加密代理被注册,则在操作706中可以做出关于被提供给加密服务的数据是否要求加密的确定(例如,在存储在远程资源上之前)。操作706中的确定可以基于加密服务中的例如由加密代理用来提交数据的接口。如果在操作706中确定数据要求加密,则在操作708中,可以使用与加密代理在其上操作的VM相对应的加密密钥来对数据进行加密。随后在操作710中,可以将加密后的数据返回给最初提供数据的加密代理。如果在操作706中,确定由加密代理提供的数据不要求加密(例如,数据要求解密),则在操作712中,可以使用与加密代理在其上操作的VM相对应的加密密钥来对数据进行解密。在操作712之后可以返回到操作710,其中,可以将解密后的数据返回给最初提供数据的加密代理。
尽管图5到图7示出了根据不同的实施例的操作,但是应当理解的是,对于其它实施例,不是在图5到图7中所描绘的所有操作都是必需的。实际上,在本文中充分考虑了,在本公开的其它实施例中,图5到7中所描绘的操作和/或在本文中所描述的其它操作可以以没有在附图的任何一个中具体示出的方式来组合,但是仍然完全与本公开相一致。由此,涉及没有在一个附图中精确地示出的特征和/或操作的权利要求被视为在本公开的范围和内容之内。
如在本申请和权利要求中所使用的,由术语“和/或”连接的一系列项目可以表示所列出的项目的任何组合。例如,短语“A、B和/或C”可以表示A;B;C;A和B;A和C;B和C;或者A、B和C。如在本申请和权利要求中所使用的,由术语“中的至少一个”连接的一系列的项目可以表示所列出的项目的任何组合。例如,短语“A、B或C中的至少一个”可以表示A;B;C;A和B;A和C;B和C;或者A、B和C。
如在本文的任何实施例中所使用的,术语“模块”可以指的是被配置为执行前述操作中的任何一个的软件、固件和/或电路。软件可以被实现为记录在非暂时性的计算机可读存储介质上的软件包、代码、指令、指令集和/或数据。固件可以被实现为被硬编码(例如,非易失性的)在存储器设备中的代码、指令或指令集和/或数据。如在本文的任何实施例中所使用的,“电路”可以例如包括单个地或任何组合的硬连线电路、可编程电路(例如,包括一个或多个单独的指令处理核心的计算机处理器)、状态机电路、和/或存储由可编程电路执行的指令的固件。模块可以共同地或单独地被实现为形成更大的系统的一部分的电路,所述更大的系统例如是集成电路(IC)、片上系统(SoC)、桌上型计算机、膝上型计算机、平板计算机、服务器、智能电话等。
在本文中所描述的操作中的任何一个可以实现在包括一个或多个存储介质的系统中,其中所述存储介质具有单独地或者组合地存储在其上的指令,所述指令当由一个或多个处理执行时完成方法。这里,处理器可以包括例如服务器CPU、移动设备CPU、和/或其它可编程电路。此外,要表示的是,在本文中所描述的操作可以分布在多个物理设备上,例如,在一个以上的不同的物理位置处的处理结构。存储介质可以包括任何类型的有形介质,例如,任何类型的盘(包括硬盘、软盘、光盘、压缩盘只读存储器(CD-ROM)、可重写压缩盘(CD-RW)、以及磁-光盘)、半导体设备(例如,只读存储器(ROM)、诸如动态和静态RAM的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、固态硬盘(SSD)、嵌入式多媒体卡(eMMC)、安全数字输入/输出(SDIO)卡、磁或光学卡、或者适用于存储电子指令的任何类型的介质)。其它实施例可以被实现为由可编程控制设备执行的软件模块。
因此,本公开涉及针对远程存储的数据的保护方案。系统可以包括例如至少一个设备,该至少一个设备包括至少一个虚拟机(VM);以及受信的执行环境(TEE)。TEE可以包括用于对从至少一个VM中接收的数据进行加密或解密的加密服务。在一个实施例中,至少一个VM可以包括用于与加密服务中的接口进行交互的加密代理。例如,加密代理可以向加密服务注册,这时,可以生成与至少一个VM相对应的加密密钥。在对加密代理的注册进行验证之后,加密服务可以利用与至少一个VM相对应的加密密钥来对从加密代理接收的数据进行加密或解密。加密服务可以随后将加密后或解密后的数据返回给加密代理。
以下的示例涉及进一步的实施例。如在下文中所提供的,本公开的以下的示例可以包括诸如设备、方法、用于存储当被执行时使得机器基于所述方法来实施动作的指令的至少一个机器可读介质、用于基于所述方法来实施动作的单元和/或用于针对远程存储的数据的保护方案的系统等主题。
示例1
根据该示例,提供了一种设备,包括至少一个虚拟机,用于处理至少一个设备中的数据;以及受信的执行环境,其至少包括加密服务,用于对从至少一个虚拟机被提供给加密服务的数据进行加密或解密。
示例2
该示例包括示例1的元素,其中,至少一个虚拟机包括用于将数据提供给加密服务的加密代理。
示例3
该示例包括示例2的元素,其中,加密服务至少包括用于与加密代理进行交互的加密接口和解密接口。
示例4
该示例包括示例2到3中的任何一个的元素,其中,加密服务还用于在接受来自至少一个虚拟机的用于加密或解密的数据之前,对加密代理进行注册。
示例5
该示例包括示例4的元素,其中,注册包括对由加密代理提供的识别信息、程序验证信息或至少一个密钥中的至少一个进行认证。
示例6
该示例包括示例4到5中的任何一个的元素,其中,受信的执行环境还包括与至少一个虚拟机相对应的加密密钥,该加密密钥在加密代理被注册时由加密服务生成。
示例7
该示例包括示例6的元素,其中,受信的执行环境基于安全飞地技术来至少保护加密服务和加密密钥。
示例8
该示例包括示例6到7中的任何一个的元素,其中,加密服务用于使用加密密钥对由加密代理提供的数据进行加密和解密。
示例9
该示例包括示例1到8中的任何一个的元素,还包括通信模块,其用于将加密后的数据发送到远程资源、以及从远程资源接收加密后的数据。
示例10
该示例包括示例9的元素,其中,远程资源包括至少能够经由广域网访问的多个网络化的计算设备,多个网络化的计算设备至少包括用于存储加密后的数据的存储器模块。
示例11
该示例包括示例1到10中的任何一个的元素,其中,至少一个设备包括至少能够经由广域网访问的多个网络化的计算设备,多个网络化的计算设备还至少包括用于存储加密后的数据的存储器模块。
示例12
该示例包括示例1到11中的任何一个的元素,其中,至少一个设备包括多个虚拟机,多个虚拟机中的每个包括至少包含加密服务的单独的受信的执行环境。
示例13
该示例包括示例1到12中的任何一个的元素,还包括通信模块,其用于将加密后的数据发送到远程资源、以及从远程资源接收加密后的数据,该远程资源包括能够至少经由广域网访问的多个网络化的计算设备,多个网络化的计算设备至少包括用于存储加密后的数据的存储器模块。
示例14
该示例包括示例1到13中的任何一个的元素,其中,至少一个设备包括移动通信设备。
示例15
该示例包括示例1到13中的任何一个的元素,其中,至少一个设备包括移动计算设备。
示例16
该示例包括示例1到13中的任何一个的元素,其中,至少一个设备包括通常为固定的计算设备。
示例17
根据该示例,提供了一种方法,其包括在受信的执行环境内执行的加密服务从从至少一个虚拟机接收数据,在加密服务中对接收的数据进行加密或解密,以及将加密后或解密后的数据提供给至少一个虚拟机。
示例18
该示例包括示例17的元素,其中,所述数据是经由所述加密服务中的加密接口或解密接口中的至少一个来接收的。
示例19
该示例包括示例17到18中的任何一个的元素,还包括在至少一个设备中启动受信的执行环境,以及在受信的执行环境内启动加密服务。
示例20
该示例包括示例17到19中的任何一个的元素,还包括在加密服务中接收用于对至少一个虚拟机中的加密代理进行注册的请求,至少基于在请求中提供的信息来确定是否对加密代理进行注册,以及如果确定加密代理应该被注册,则在加密服务中对该加密代理进行注册。
示例21
该示例包括示例20的元素,其中,确定是否对加密代理进行注册包括对由加密代理提供的识别信息、程序版本信息或至少一个密钥中的至少一个进行认证。
示例22
该示例包括示例20到21中的任何一个的元素,还包括基于加密代理的注册,在受信的执行环境中生成与至少一个虚拟机相对应的加密密钥。
示例23
该示例包括示例22的元素,其中,受信的执行环境基于安全飞地技术来至少保护加密服务和加密密钥。
示例24
该示例包括示例22到23中的任何一个的元素,其中,对所接收的数据进行加密或解密包括确定在对接收的数据进行加密或解密之前在至少一个虚拟机中的加密代理是否被注册,其中数据是从至少一个虚拟机中接收的。
示例25
该示例包括示例9的元素,还包括,如果加密代理被确定为注册的,则利用加密密钥来对接收的数据进行加密或解密。
示例26
该示例包括示例17到25中的任何一个的元素,还包括在加密服务中接收用于对至少一个虚拟机中的加密代理进行注册的请求,至少基于在请求中提供的信息来确定是否对加密代理进行注册,如果确定加密代理应该被注册,则在加密服务中注册该加密代理,并且基于加密代理的注册,在受信的执行环境中生成与至少一个虚拟机相对应的加密密钥。
示例27
该示例包括示例26的元素,其中,对所接收的数据进行加密或解密包括在对所接收的数据进行加密和解密之前确定至少一个虚拟机中的加密代理是否被注册,其中,从所述至少一个虚拟机接收数据,并且如果确定加密代理被注册,则使用加密密钥来对所接收的数据进行加密或解密。
示例28
根据该示例,提供了包括至少一个设备的一种系统,该系统被布置为执行示例17到27中的任何一个的方法。
示例29
根据该示例,提供了一种芯片组,其被布置为执行示例17到27中的任何一个的方法。
示例30
根据该示例,提供了至少一个机器可读介质,包括多个指令,多个指令响应于在计算设备上被执行,使得计算设备实施根据示例17到27中的任何一个的方法。
示例31
根据该示例,提供了至少一个设备,其被配置为用于针对远程存储的数据的保护方案,该设备被布置为执行示例17到27中的任何一个的方法。
示例32
根据该示例,提供了一种设备,具有用于执行示例17到27中的任何一个的方法的单元。
在本文中已经采用的术语和表述被用作描述的而非限制的术语,并且不是要通过使用这样的术语和表述来排除所示出和所描述的特征(或其一部分)的任何等价物,并且应当认识到,在权利要求的范围内的各种修改是可能的。因此,权利要求旨在覆盖所有这样的等价物。

Claims (24)

1.至少一个设备,包括:
至少一个虚拟机,用于处理所述至少一个设备中的数据;以及
受信的执行环境,其至少包括加密服务,所述加密服务用于对从所述至少一个虚拟机被提供给所述加密服务的数据进行加密或解密。
2.根据权利要求1所述的至少一个设备,其中,所述至少一个虚拟机包括用于将所述数据提供给所述加密服务的加密代理。
3.根据权利要求2所述的至少一个设备,其中,所述加密服务至少包括用于与所述加密代理进行交互的加密接口和解密接口。
4.根据权利要求2所述的至少一个设备,其中,所述加密服务还用于在接受来自所述至少一个虚拟机的用于加密或解密的数据之前,对所述加密代理进行注册。
5.根据权利要求4所述的至少一个设备,其中,所述受信的执行环境还包括与所述至少一个虚拟机相对应的加密密钥,所述加密密钥是在所述加密代理被注册时由所述加密服务生成的。
6.根据权利要求5所述的至少一个设备,其中,所述受信的执行环境基于安全飞地技术来至少保护所述加密服务和所述加密密钥。
7.根据权利要求5所述的至少一个设备,其中,所述加密服务用于使用所述加密密钥来对由所述加密代理提供的所述数据进行加密和解密。
8.根据权利要求1所述的至少一个设备,还包括通信模块,其用于将加密后的数据发送到远程资源、以及从远程资源接收加密后的数据。
9.根据权利要求8所述的至少一个设备,其中,所述远程资源包括至少能够经由广域网访问的多个网络化的计算设备,所述多个网络化的计算设备至少包括用于存储加密后的数据的存储器模块。
10.根据权利要求1所述的至少一个设备,其中,所述至少一个设备包括至少能够经由广域网访问的多个网络化的计算设备,所述多个网络化的计算设备还至少包括用于存储加密后的数据的存储器模块。
11.根据权利要求1所述的至少一个设备,其中,所述至少一个设备包括多个虚拟机,所述多个虚拟机中的每个虚拟机包括单独的受信的执行环境,所述单独的受信的执行环境至少包括加密服务。
12.一种方法,包括:
在受信的执行环境内执行的加密服务处从至少一个虚拟机接收数据;
在所述加密服务中对接收的数据进行加密或解密;以及
将加密后的数据或解密后的数据提供给所述至少一个虚拟机。
13.根据权利要求12所述的方法,其中,所述数据经由所述加密服务中的加密接口或解密接口中的至少一个来进行接收。
14.根据权利要求12所述的方法,还包括:
在至少一个设备中启动所述受信的执行环境;以及
在所述受信的执行环境内启动所述加密服务。
15.根据权利要求12所述的方法,还包括:
在所述加密服务中接收用于对所述至少一个虚拟机中的加密代理进行注册的请求;
至少基于在所述请求中提供的信息来确定是否对所述加密代理进行注册;以及
如果确定所述加密代理应该被注册,则在所述加密服务中对所述加密代理进行注册。
16.根据权利要求15所述的方法,还包括:
基于所述加密代理的所述注册,在所述受信的执行环境中生成与所述至少一个虚拟机相对应的加密密钥。
17.根据权利要求16所述的方法,其中,所述受信的执行环境基于安全飞地技术来至少保护所述加密服务和所述加密密钥。
18.根据权利要求16所述的方法,其中,对所述接收的数据进行加密或解密包括在对所述接收的数据进行加密或解密之前确定所述至少一个虚拟机中的所述加密代理是否被注册,其中,所述数据是从所述至少一个虚拟机中接收的。
19.根据权利要求18所述的方法,还包括:
如果所述加密代理被确定为是注册的,则使用所述加密密钥来对所述接收的数据进行加密或解密。
20.包括至少一个设备的一种系统,所述系统被布置为执行权利要求12到19中的任何一项所述的方法。
21.一种芯片组,其被布置为执行权利要求12到19中的任何一项所述的方法。
22.包括多个指令的至少一个机器可读介质,所述多个指令响应于在计算设备上执行,使得所述计算设备实施根据权利要求12到19中的任何一项所述的方法。
23.至少一个设备,其被配置用于针对远程存储的数据的保护方案,所述设备被布置为执行权利要求12到19中的任何一项所述的方法。
24.一种设备,具有用于执行权利要求12到19中的任何一项所述的方法的单元。
CN201380079191.9A 2013-09-27 2013-09-27 用于远程存储的数据的保护方案 Active CN105493097B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/062067 WO2015047285A1 (en) 2013-09-27 2013-09-27 Protection scheme for remotely-stored data

Publications (2)

Publication Number Publication Date
CN105493097A true CN105493097A (zh) 2016-04-13
CN105493097B CN105493097B (zh) 2019-08-27

Family

ID=52744190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380079191.9A Active CN105493097B (zh) 2013-09-27 2013-09-27 用于远程存储的数据的保护方案

Country Status (4)

Country Link
US (1) US9852299B2 (zh)
EP (1) EP3049989B1 (zh)
CN (1) CN105493097B (zh)
WO (1) WO2015047285A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268303A (zh) * 2017-01-03 2018-07-10 北京润信恒达科技有限公司 一种操作请求方法、装置及系统
CN108600182A (zh) * 2018-03-29 2018-09-28 深圳前海微众银行股份有限公司 区块链密钥管理方法、系统及密钥管理设备、存储介质
CN110249336A (zh) * 2017-01-26 2019-09-17 微软技术许可有限责任公司 使用签名密钥对可信执行环境的寻址
CN111934885A (zh) * 2020-07-23 2020-11-13 武汉珈港科技有限公司 一种基于代理机制的密码设备安全虚拟化方法及系统
CN112333150A (zh) * 2020-10-12 2021-02-05 成都安易迅科技有限公司 一种数据解密方法、装置、存储介质及计算设备

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9930066B2 (en) 2013-02-12 2018-03-27 Nicira, Inc. Infrastructure level LAN security
US9294503B2 (en) 2013-08-26 2016-03-22 A10 Networks, Inc. Health monitor based distributed denial of service attack mitigation
KR102132218B1 (ko) * 2013-09-24 2020-07-09 삼성전자 주식회사 신뢰하는 실행 환경에서의 보안 도메인 관리 방법 및 장치
US11087006B2 (en) 2014-06-30 2021-08-10 Nicira, Inc. Method and apparatus for encrypting messages based on encryption group association
US9756071B1 (en) 2014-09-16 2017-09-05 A10 Networks, Inc. DNS denial of service attack protection
US9537886B1 (en) 2014-10-23 2017-01-03 A10 Networks, Inc. Flagging security threats in web service requests
US9584318B1 (en) 2014-12-30 2017-02-28 A10 Networks, Inc. Perfect forward secrecy distributed denial of service attack defense
US9900343B1 (en) 2015-01-05 2018-02-20 A10 Networks, Inc. Distributed denial of service cellular signaling
US9848013B1 (en) 2015-02-05 2017-12-19 A10 Networks, Inc. Perfect forward secrecy distributed denial of service attack detection
US10063591B1 (en) * 2015-02-14 2018-08-28 A10 Networks, Inc. Implementing and optimizing secure socket layer intercept
US9892265B1 (en) * 2015-03-31 2018-02-13 Veritas Technologies Llc Protecting virtual machine data in cloud environments
US10230529B2 (en) * 2015-07-31 2019-03-12 Microsft Technology Licensing, LLC Techniques to secure computation data in a computing environment
CN106464488A (zh) * 2015-08-28 2017-02-22 华为技术有限公司 信息传输方法及移动设备
US10505984B2 (en) 2015-12-08 2019-12-10 A10 Networks, Inc. Exchange of control information between secure socket layer gateways
US10469594B2 (en) 2015-12-08 2019-11-05 A10 Networks, Inc. Implementation of secure socket layer intercept
US10581617B2 (en) * 2015-12-23 2020-03-03 Mcafee, Llc Method and apparatus for hardware based file/document expiry timer enforcement
CN107038128B (zh) * 2016-02-03 2020-07-28 华为技术有限公司 一种执行环境的虚拟化、虚拟执行环境的访问方法及装置
CA3020734A1 (en) * 2016-04-12 2017-10-19 Walmart Apollo, Llc Systems and methods for virtualization in distributed computing environment including a mobile monitor
FR3050295B1 (fr) * 2016-04-13 2018-05-25 Centre National De La Recherche Scientifique Systeme de traitement de donnees avec transfert d’energie
US10116634B2 (en) * 2016-06-28 2018-10-30 A10 Networks, Inc. Intercepting secure session upon receipt of untrusted certificate
US10158666B2 (en) 2016-07-26 2018-12-18 A10 Networks, Inc. Mitigating TCP SYN DDoS attacks using TCP reset
US10798073B2 (en) 2016-08-26 2020-10-06 Nicira, Inc. Secure key management protocol for distributed network encryption
US10235304B2 (en) 2016-10-01 2019-03-19 Intel Corporation Multi-crypto-color-group VM/enclave memory integrity method and apparatus
US10338957B2 (en) * 2016-12-27 2019-07-02 Intel Corporation Provisioning keys for virtual machine secure enclaves
CN110383277B (zh) * 2017-03-07 2021-09-14 华为技术有限公司 虚拟机监视器测量代理
US10972277B2 (en) * 2017-03-15 2021-04-06 Intel Corporation Confidential verification of FPGA code
CN107577516B (zh) * 2017-07-28 2020-08-14 华为技术有限公司 虚拟机密码重置方法、装置和系统
US10841089B2 (en) 2017-08-25 2020-11-17 Nutanix, Inc. Key managers for distributed computing systems
US10657071B2 (en) 2017-09-25 2020-05-19 Intel Corporation System, apparatus and method for page granular, software controlled multiple key memory encryption
US10848474B2 (en) 2018-02-26 2020-11-24 Red Hat, Inc. Firmware validation for encrypted virtual machines
US10956569B2 (en) 2018-09-06 2021-03-23 International Business Machiness Corporation Proactive ransomware defense
US10956600B2 (en) * 2018-10-31 2021-03-23 Salesforce.Com, Inc. Highly available encryption framework for multiple different computing environments
US11048800B2 (en) * 2018-12-17 2021-06-29 Intel Corporation Composable trustworthy execution environments
US11139983B2 (en) * 2019-07-11 2021-10-05 Cyber Armor Ltd. System and method of verifying runtime integrity
CN110929266B (zh) * 2019-11-29 2021-09-03 广州小鹏汽车科技有限公司 基于安全加固架构的系统、加解密方法、车联网终端和车辆
CN113672973B (zh) * 2021-07-20 2024-04-16 深圳大学 基于可信执行环境的risc-v架构的嵌入式设备的数据库系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120691A1 (en) * 2001-02-23 2002-08-29 Basavaraj Patil Service control device and method
US20100146267A1 (en) * 2008-12-10 2010-06-10 David Konetski Systems and methods for providing secure platform services
CN101897211A (zh) * 2007-12-17 2010-11-24 微软公司 计算机秘密的迁移
CN102726027A (zh) * 2011-12-28 2012-10-10 华为技术有限公司 虚拟机全盘加密下预启动时的密钥传输方法和设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249866B1 (en) * 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
US7428636B1 (en) * 2001-04-26 2008-09-23 Vmware, Inc. Selective encryption system and method for I/O operations
US7454756B2 (en) * 2004-03-05 2008-11-18 Intel Corporation Method, apparatus and system for seamlessly sharing devices amongst virtual machines
US20070056039A1 (en) * 2005-09-07 2007-03-08 Hormuzd Khosravi Memory filters to aid system remediation
US8181025B2 (en) * 2006-10-31 2012-05-15 Intel Corporation Method and apparatus for registering agents onto a virtual machine monitor
US8782403B1 (en) * 2007-03-28 2014-07-15 Symantec Corporation Method and apparatus for securing confidential data for a user in a computer
JP5397691B2 (ja) * 2007-05-23 2014-01-22 日本電気株式会社 情報共有システム、コンピュータ、プロジェクト管理サーバ及びそれらに用いる情報共有方法
JP4782871B2 (ja) 2007-10-03 2011-09-28 富士通株式会社 デバイスアクセス制御プログラム、デバイスアクセス制御方法および情報処理装置
US8307215B2 (en) * 2008-01-23 2012-11-06 Noam Camiel System and method for an autonomous software protection device
US9313041B2 (en) * 2009-09-02 2016-04-12 Google Technology Holdings LLC Network attached DVR storage
US8990582B2 (en) 2010-05-27 2015-03-24 Cisco Technology, Inc. Virtual machine memory compartmentalization in multi-core architectures
EP2577539B1 (en) * 2010-06-02 2018-12-19 VMware, Inc. Securing customer virtual machines in a multi-tenant cloud
US20110314303A1 (en) * 2010-06-21 2011-12-22 Shevchenko Oleksiy Yu Computing device configured for operating with instructions in unique code
GB201018836D0 (en) * 2010-11-08 2010-12-22 Hewlett Packard Development Co Data manager
US8850593B2 (en) 2011-05-12 2014-09-30 Hewlett-Packard Development Company, L.P. Data management using a virtual machine-data image
US8375221B1 (en) * 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
US8694781B1 (en) * 2012-03-30 2014-04-08 Emc Corporation Techniques for providing hardware security module operability

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120691A1 (en) * 2001-02-23 2002-08-29 Basavaraj Patil Service control device and method
CN101897211A (zh) * 2007-12-17 2010-11-24 微软公司 计算机秘密的迁移
US20100146267A1 (en) * 2008-12-10 2010-06-10 David Konetski Systems and methods for providing secure platform services
CN102726027A (zh) * 2011-12-28 2012-10-10 华为技术有限公司 虚拟机全盘加密下预启动时的密钥传输方法和设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268303A (zh) * 2017-01-03 2018-07-10 北京润信恒达科技有限公司 一种操作请求方法、装置及系统
CN110249336A (zh) * 2017-01-26 2019-09-17 微软技术许可有限责任公司 使用签名密钥对可信执行环境的寻址
CN110249336B (zh) * 2017-01-26 2023-05-30 微软技术许可有限责任公司 使用签名密钥对可信执行环境的寻址
CN108600182A (zh) * 2018-03-29 2018-09-28 深圳前海微众银行股份有限公司 区块链密钥管理方法、系统及密钥管理设备、存储介质
CN108600182B (zh) * 2018-03-29 2021-03-19 深圳前海微众银行股份有限公司 区块链密钥管理方法、系统及密钥管理设备、存储介质
CN111934885A (zh) * 2020-07-23 2020-11-13 武汉珈港科技有限公司 一种基于代理机制的密码设备安全虚拟化方法及系统
CN111934885B (zh) * 2020-07-23 2023-07-04 武汉珈港科技有限公司 一种基于代理机制的密码设备安全虚拟化方法及系统
CN112333150A (zh) * 2020-10-12 2021-02-05 成都安易迅科技有限公司 一种数据解密方法、装置、存储介质及计算设备

Also Published As

Publication number Publication date
EP3049989A4 (en) 2017-03-08
EP3049989A1 (en) 2016-08-03
US9852299B2 (en) 2017-12-26
CN105493097B (zh) 2019-08-27
EP3049989B1 (en) 2021-03-03
WO2015047285A1 (en) 2015-04-02
US20150220745A1 (en) 2015-08-06

Similar Documents

Publication Publication Date Title
CN105493097A (zh) 用于远程存储的数据的保护方案
US9935773B2 (en) Trusted platform module certification and attestation utilizing an anonymous key system
US10069826B2 (en) Secure sensor data transport and processing
US9768951B2 (en) Symmetric keying and chain of trust
US9407636B2 (en) Method and apparatus for securely saving and restoring the state of a computing platform
US9832172B2 (en) Content protection for data as a service (DaaS)
US10536274B2 (en) Cryptographic protection for trusted operating systems
US20150263855A1 (en) Symmetric keying and chain of trust
US9571280B2 (en) Application integrity protection via secure interaction and processing
KR20140099325A (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
US11520859B2 (en) Display of protected content using trusted execution environment
EP3221996B1 (en) Symmetric keying and chain of trust
CN107077560B (zh) 用于建立安全工作空间的所有权的系统
US10423767B2 (en) Content protection system using biometric authentication

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