控制密钥-值存储的验证制造技术

技术编号:20882150 阅读:24 留言:0更新日期:2019-04-17 13:16
对托管在不可信模块(UM)处的数据集的数据操作的完整性的延迟验证被控制。控制包括生成对数据集的数据操作的请求。该请求包括认证部分。向UM发送请求。从UM接收对请求的响应。响应包括密码验证信息,密码验证信息证明:数据操作关于对数据集的先前数据操作的完整性。响应包括来自可信模块(TM)处的延迟验证的结果。

【技术实现步骤摘要】
【国外来华专利技术】控制密钥-值存储的验证
技术介绍
电子设备的用户经常需要访问数据存储系统(例如,密钥-值存储),以获取各种类型的信息和/或执行各种操作。已经设计了很多不同的技术,用于控制数据存储系统中的数据项的存储和检索。数据操作的完整性是持续关注的问题,因为数据所有者可能不知道对他们的数据存储或对他们的数据的操作的功能的篡改。
技术实现思路
根据一个总体方面,一种用于对数据操作的完整性的验证进行控制的系统可以包括至少一个硬件设备处理器,以及存储器,存储客户端安全密钥值,并且存储可执行指令,可执行指令在被执行时引起至少一个硬件设备处理器中的一个或多个硬件设备处理器:对被托管在不可信模块(UM)处的数据集上的数据操作的完整性的延迟验证进行控制。该控制包括:生成对数据集上的至少一个数据操作的请求,请求包括认证部分。从UM接收对请求的响应。响应包括密码验证信息,密码验证信息证明:至少一个数据操作关于对数据集的先前数据操作的完整性,响应包括:来自可信模块(TM)处的延迟验证的结果。根据另一方面,通过以下来对被托管在不可信模块(UM)处的数据集上的数据操作的完整性的验证进行控制:在可信模块(TM)处接收第一消息,第一消息指示:来自与TM共享密码密钥的客户端的请求,请求针对数据集上的至少一个数据操作,请求包括来自客户端的认证部分。发送指示对所接收的请求的响应的第二消息,响应包括密码验证信息,密码验证信息证明:至少一个数据操作关于对数据集的先前数据操作的完整性。根据另一方面,一种系统包括至少一个服务器,该至少一个服务器包括至少一个硬件设备处理器;以及不可信模块(UM),该UM包括存储数据集并且存储可执行指令的存储器,可执行指令在被执行时引起至少一个硬件设备处理器中的一个或多个硬件设备处理器:从客户端接收对数据集上的至少一个数据操作的请求,请求包括认证部分。从可信模块(TM)接收对请求的响应,响应包括密码验证信息,密码验证信息证明:至少一个数据操作关于对数据集的先前数据操作的完整性。TM包括与客户端共享的密码密钥。向客户端转发对请求的所接收的响应。提供本“
技术实现思路
”是为了以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“
技术实现思路
”不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。在附图和以下描述中阐述了一个或多个实现的细节。根据说明书和附图以及权利要求,其他特征将是很清楚的。附图说明图1是用于控制示例数据存储系统中的数据安全性的示例架构的框图。图2是使用示例索引的示例不可信模块(UM)密钥-值数据库的框图。图3示出了用于示例可信模块(TM)查找操作的示例伪代码。图4示出了示例TM插入操作的示例伪代码。图5示出了示例TM删除操作的示例伪代码。图6示出了用于存储器操作的示例读取和写入的示例伪代码。图7示出了用于示例历元(epoch)转变的示例伪代码。图8是由示例UM生成的、用于TM处理的示例分批的框图。图9是使用现场可编程门阵列(FPGA)的示例TM的示例实现的框图。图10是示出示例可能攻击的示例客户端工作流的框图。图11是用于控制加密数据库管理系统中的安全性的示例系统的示例架构的框图。图12示出了示例MERKLE树实现。图13示出了工作负载A的吞吐量的示例实验结果。图14示出了工作负载B的吞吐量的示例实验结果。图15示出了工作负载C的吞吐量的示例实验结果。图16示出了工作负载D的吞吐量的示例实验结果。图17示出了工作负载C的吞吐量的示例实验结果,其改变UM核和TM核的数目。图18示出了PCIe利用的示例实验结果。图19示出了等待时间的示例实验结果。图20示出了在延迟验证下吞吐量的示例实验结果。图21A-图21C是示出图11的系统的示例操作的流程图。图22A-图22E是示出图11的系统的示例操作的流程图。图23A-图23C是示出图11的系统的示例操作的流程图。具体实施方式I.导言硬件平台的最新发展已经利用各种处理器和各种存储设备来努力提供更高的性能(例如,速度、效率)和更安全的机密数据处理。数据操作的完整性是持续关注的问题,因为数据所有者可能不知道对他们的数据存储或对他们的数据的操作的功能的篡改。本文中讨论的示例技术可以提供密钥-值存储,该密钥-值存储提供强大的完整性保证,同时有利地保持与可能不提供这种保证的当前系统可竞争的高性能。如本文中使用的,“完整性保证”是指以下保证,该保证使得可以可证实地检测对密钥-值存储(例如,数据库)或其功能的任何篡改。本文中讨论的示例技术可以高度并行地来高效处理并发操作,并且可以使用小的可信计算基础(例如,安全的可信的计算基础)。本文中讨论的示例技术可以提供不可信-可信功能的设计,以最小化可信功能痕迹(例如,可信计算基础)。本文中讨论的示例技术可以提供用于实现不可信功能的优化。此外,本文中讨论的示例技术可以提供用于实现可信功能的优化。此外,本文中讨论的示例技术可以提供可信功能的并行化。本文中讨论的示例技术可以包括用于在现场可编程门阵列(FPGA)上实现可信功能的技术。设计防篡改数据库系统的示例目标是:使用密码技术确保未授权和潜在恶意用户不能改变数据库的状态。常规方法可以使用MERKLE树;然而,这种技术可能涉及最多每秒数百次量级的操作的性能。本文中讨论的示例技术可以提供:可以每秒处理数百万次操作的防篡改系统。这样的示例方法可以基于FPGA安全协处理器和定期验证数据库完整性的协议。这样的示例方法可以高度并行化,以处理并发请求。这样的示例方法可以进一步有利地涉及小的、可验证的可信代码库,使得漏洞可以不太可能危及系统的安全性。完整性是很多云提供商可能希望向其客户提供的安全保证的示例。如本文中讨论的,实现完整性的系统检测未被授权的用户是否对服务状态(诸如文件系统、数据库系统或密钥-值存储)进行改变。例如,完整性保护措施可以检测:在运行这样的服务的计算机上获取根访问权限的攻击者是否改变HR(人力资源)数据库中员工的工资。例如,完整性还可以提供针对“回放攻击”的帮助,其中未被授权用户试图回滚(rollback)服务状态,从而消除诸如电子支付等最近变化的影响。用于实现完整性的常规技术可以依赖于密码散列和MERKLE树。例如,系统状态(数据值)的密码散列可以存储在安全位置,该安全位置通常可以是客户端。散列的无冲突属性表示:对数据的任何未被授权的改变也改变其散列,并且因此可以通过将新计算的散列与存储在安全位置的散列进行比较来检测。MERKLE树是一种示例技术,其可以使这种密码散列增量可更新并且在本地可验证;因此,没有必要扫描整个数据库,以更新或验证散列。这种方法可以提供针对实质上强大的攻击者(诸如对服务和运行该服务的计算机具有根访问权限的系统管理员和数据库管理员)的完整性保证。在云方案中,这表示云提供商对于完整性验证是不可信的。这种方法的基础假定包括:散列的无冲突属性和存储散列的位置的安全性。然而,基于MERKLE树的方法可能在以高效方式实现该方法的努力方面提出挑战。例如,最近的基于MERKLE树的实现(参见例如Proceedingsofthe29thIEEEInternationalConferenceonDataEngineering(ICDE),2本文档来自技高网
...

【技术保护点】
1.一种用于对数据操作的完整性的验证进行控制的系统,所述系统包括:至少一个硬件设备处理器;以及存储器,存储客户端安全密钥值,并且存储可执行指令,所述可执行指令在被执行时引起所述至少一个硬件设备处理器中的一个或多个硬件设备处理器:对被托管在不可信模块(UM)处的数据集上的数据操作的完整性的延迟验证进行控制,所述控制包括:生成对所述数据集上的至少一个数据操作的请求,所述请求包括认证部分;以及向所述UM发送所述请求;以及从所述UM接收对所述请求的响应,所述响应包括密码验证信息,所述密码验证信息证明:所述至少一个数据操作关于对所述数据集的先前数据操作的所述完整性,所述响应包括:来自可信模块(TM)处的延迟验证的结果。

【技术特征摘要】
【国外来华专利技术】2016.06.30 US 15/199,6731.一种用于对数据操作的完整性的验证进行控制的系统,所述系统包括:至少一个硬件设备处理器;以及存储器,存储客户端安全密钥值,并且存储可执行指令,所述可执行指令在被执行时引起所述至少一个硬件设备处理器中的一个或多个硬件设备处理器:对被托管在不可信模块(UM)处的数据集上的数据操作的完整性的延迟验证进行控制,所述控制包括:生成对所述数据集上的至少一个数据操作的请求,所述请求包括认证部分;以及向所述UM发送所述请求;以及从所述UM接收对所述请求的响应,所述响应包括密码验证信息,所述密码验证信息证明:所述至少一个数据操作关于对所述数据集的先前数据操作的所述完整性,所述响应包括:来自可信模块(TM)处的延迟验证的结果。2.根据权利要求1所述的系统,其中:生成所述请求包括:生成对被包括在密钥-值存储中的所述数据集上的所述至少一个数据操作的请求,所述请求包括:加密的认证部分,所述加密的认证部分包括基于与可信模块(TM)共享的密码密钥的MAC,其中接收对所述请求的所述响应包括:经由所述UM的转发,从所述TM接收对所述请求的所述响应。3.一种方法,包括:通过以下来对被托管在不可信模块(UM)处的数据集上的数据操作的完整性的验证进行控制:在可信模块(TM)处接收第一消息,所述第一消息指示:来自与所述TM共享密码密钥的客户端的请求,所述请求针对所述数据集上的至少一个数据操作,所述请求包括来自所述客户端的认证部分;以及发送指示对所接收的所述请求的响应的第二消息,所述响应包括密码验证信息,所述密码验证信息证明:所述至少一个数据操作关于对所述数据集的先前数据操作的完整性。4.根据权利要求3所述的方法,其中:所述第一消息包括操作标识符、密钥的值、与被存储在所述UM中的经验证的存储器单元相对应的证明单元、以及被包括在来自所述客户端的加密的认证部分中的操作密码散列,其中所述方法包括:确定由所述请求指示的第一数据操作的操作类型。5.根据权利要求4所述的方法,其中:确定所述操作类型包括:确定查找操作类型,其中所述方法包括:通过使用所接收的所述操作密码散列,来验证所述查找操作的完整性,针对所接收的所述密钥的所述值,来验证所接收的所述证明单元的正确性,以及基于所接收的所述证明单元中的密钥的值与所接收的所述密钥的所述值的比较,来确定所述查找操作的成功值。6.根据权利要求4所述的方法,其中:确定所述操作类型包括:确定查找操作类型,其中所述方法包括:通过使用所接收的所述操作密码散列,来验证所述查找操作的完整性,针对所接收的所述密钥的所述值,来验证所接收的所述证明单元的正确性,以及基于确定所接收的所述证明单元中的密钥值与所接收的所述密钥的所述值不相等,确定所述查找操作的失败值。7.根据权利要求4所述的方法,其中:确定所述操作类型包括:确定插入操作类型,其中所述方法包括:通过使用所接收的所述操作密码散列,来验证所述插入操作的完整性...

【专利技术属性】
技术研发人员:A·阿拉苏K·埃古罗R·考施克D·科斯曼R·拉马莫西孟平凡V·潘迪
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

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

1