当前位置: 首页 > 专利查询>SAP欧洲公司专利>正文

计算机实现的方法、计算机系统及计算机可读存储介质技术方案

技术编号:11504251 阅读:93 留言:0更新日期:2015-05-27 04:32
实施例提供了对平均复杂度的数据的理想安全的保序加密(OPE),从而允许处理加密的数据(例如,在数据库服务器处响应于接收到查询)。具体的实施例通过按照已经可用于数据库的、现有压缩字典所保持的顺序来处理明文,来实现高加密效率。加密是基于对n个节点的二叉搜索树的使用,以构造具有Ω(n)复杂度,甚至在平均情况下具有O(n)复杂度,的保序加密方案。通过利用被证明的二叉搜索树的高度倾向于紧紧围绕O(log n),计算密集型更新(这使得常规OPE对于理想安全变得不切实际)的概率被大大减少。在包括n个元素的列存储内存数据库架构的上下文中描述利用这样的加密方案的实施例。根据实施例的OPE与可调整的加密方式兼容。

【技术实现步骤摘要】
计算机实现的方法、计算机系统及计算机可读存储介质
本专利技术涉及加密,并且更具体地,涉及允许对加密形式的数据进行处理的加密。
技术介绍
除非在本文中另外指明,否则本部分中描述的方法不是本申请中权利要求的现有技术,也并不因包含在本部分中而被承认为现有技术。保序加密(Order-preservingencryption,OPE)允许对加密的数据执行多个查询(包括范围查询),而不需要对数据库引擎进行修改。这样的查询可以在性能方面是实用的,例如,提供对存在于云上的加密的数据执行搜索的能力。之前已经提出多种保序加密方案。然而,这些方案的安全性仍在讨论中。直观地说,理想安全的保序加密提供按序选择明文攻击下的不可区分性(indistinguishabilityunderorderedchosenplaintextattack,IND-OCPA)方案,只泄露顺序。即,明文{7,12,19}的理想加密是{1,2,3},即,恰好为它们的顺序。然而,这样的IND-OCPA加密很难实现。例如,在以上的理想的保序加密中,13和19的密文发生冲突。已经证明了在加密方案是静态和无状态的情况下,不能利用线性长度密文来设计这样的加密方案。因此,一些研究人员提出较弱安全概念(随机保序函数)。然而,该安全定义可能泄漏至少一半的比特。另一种方法修改了加密方案(称它为编码方案)的结构。这种方法假设即使加密函数可以是有状态的,也不可能构建加密方案。于是这种方法使用交互协议,其更新对插入内容的加密。虽然这种方法达到理想安全的目标,但是它要求在插入新值时更新密文。这样的更新是必要的,但是导致高通信成本,因为任何不可变的加密方案必须具有指数(exponential)密文大小。因此,需要提供用于保序加密的新颖方式的系统和方法。
技术实现思路
实施例提供了对平均复杂度的数据的理想安全的保序加密(OPE),从而允许处理加密的数据(例如,在数据库服务器处响应于接收到查询)。具体的实施例通过按照已经可用于数据库的、现有压缩字典所保持的顺序来处理明文,来实现高加密效率。加密是基于对n个节点的二叉搜索树的使用,以构造具有Ω(n)复杂度,甚至在平均情况下具有O(n)复杂度,的保序加密方案。通过利用被证明的二叉搜索树的高度倾向于紧紧围绕O(logn),计算密集型更新(这使得常规OPE对于理想安全变得不切实际)的概率被大大减少。在包括n个元素的列存储内存的数据库架构的上下文中描述利用这样的加密方案的实施例。根据实施例的OPE与可调整的加密方法兼容。计算机实现的方法实施例包括使客户端上的引擎创建保持服务器上的数据库中存储的数据的顺序的字典拷贝。使引擎根据所述顺序执行对字典拷贝上的数据进行加密的算法,而且使引擎根据更新概率更新存储在数据库中的数据。使引擎从加密的数据创建进一步加密的数据,使引擎发送进一步加密的数据到服务器,并且使引擎发送加密密钥以允许对进一步加密的数据进行解密。非临时性计算机可读存储介质的实施例包含用于执行方法的计算机程序,所述方法包括使客户端上的引擎创建保持服务器上的数据库中存储的数据的顺序的字典拷贝。使引擎根据所述顺序执行对字典拷贝上的数据进行加密的算法。使引擎根据更新概率更新存储在数据库中的数据。使引擎从加密的数据创建进一步加密的数据,使引擎发送进一步加密的数据到服务器,并且使引擎发送加密密钥以允许对进一步加密的数据进行解密。计算机系统的实施例包括一个或多个处理器,以及可在所述计算机系统上执行的软件程序。该软件程序被配置为使客户端上的引擎创建保持服务器上的数据库中存储的数据的顺序的字典拷贝。该软件程序被配置为使引擎根据所述顺序执行对字典拷贝上的数据进行加密的算法。该软件程序被配置为使引擎根据更新概率更新存储在数据库中的数据。该软件程序被配置为使引擎从加密的数据创建进一步加密的数据,使引擎发送进一步加密的数据到服务器,并且使引擎发送加密密钥以允许对进一步加密的数据进行解密。在某些实施例中,所述算法包括构建包含n个节点的二叉搜索树。根据一些实施例,所述算法还包括将至少2logn位的缓冲区(buffer)添加到加密的数据,以减少更新概率。在各种实施例中,所述进一步加密的数据是使用同态加密创建的以允许在数据库上聚合。在特定实施例中,所述进一步加密的数据是使用确定性加密创建的以允许在数据库上选择。根据一些实施例,所述数据库基于结构化查询语言(SQL)的。在某些实施例中,所述数据库包含列存储内存数据库。提供下面的详细描述和附图以便于更好地理解各种实施例的本质和优点。附图说明图1示出了根据实施例的客户端和数据库集成的架构。图2是示出根据实施例的过程的简化流程图。图3A示出了根据实施例的加密算法。图3B示出了图3A的加密算法中引用的更新过程(procedure)。图3C示出了根据实施例的解密算法。图4A是示出根据实施例的理想安全保序加密的简化示意图。图4B是示出具有更低安全性的常规保序加密的简化示意图。图5示出了根据实施例的被配置为实施加密的专用计算机的硬件。图6示出了计算机系统的例子。具体实施方式本文描述了提供加密的技术。在下面的描述中,出于解释的目的,许多例子和具体细节被阐述以便彻底理解本专利技术。然而,对于本领域技术人员将显而易见的是,由权利要求书所限定的本专利技术可以单独包括这些实施例中的一些或所有特征,或者与下面描述的其它特征组合使用,并且可以进一步包括这里所描述的特征和构思的修改和等同物。首先,根据各种实施例的加密可以被实现为加密、内存、列存储的数据库的一部分。因此,现在将介绍这样的数据库结构的特点。列存储的数据库对于分析型工作负荷展示出良好性能。为了做到这一点,它们按列,而不是按行,存储数据。由此可以快速地访问和处理某列的所有数据。此外,如果数据存储在主存储器中,则可以进一步增强处理的速度。多种这样的内存数据库架构可供选择,包括但不限于:来自德国沃尔多夫的SAP公司提供的HANA数据库;也可以从SAPAG得到的SybaseIQ数据库;可以从华盛顿州雷蒙德市的微软公司获得的数据库嵌入式SQLC语言(EmbeddedSQLforC,ESQL/C);以及可以从加利福尼亚州的红木海岸的甲骨文公司获得的Exalytics内存数据库。内存、列存储的数据库(in-memory,column-storedatabase)处理对于诸如选择的操作处理整列的数据。因此,从主存储器向CPU传送数据的速度可能成为瓶颈。一种提高速度的优化是对数据进行压缩。这可以显著提高处理性能。常见的压缩技术是保序字典压缩。在字典压缩中,数据值被数据标识符替换。它们的关系被存储在字典中。下面示出了用于货币值的字典的一个例子。如果数据标识符的顺序关系与数据值的顺序关系相同,则字典是保序的。保序本文档来自技高网
...

【技术保护点】
一种计算机实现的方法,包括:使客户端上的引擎创建保持服务器上的数据库中存储的数据的顺序的字典拷贝;使引擎根据所述顺序执行对字典拷贝上的数据进行加密的算法;使引擎根据更新概率更新存储在数据库中的数据;使引擎从加密的数据创建进一步加密的数据;使引擎向服务器发送进一步加密的数据;以及使引擎发送加密密钥以允许对进一步加密的数据进行解密。

【技术特征摘要】
2013.11.22 US 14/088,1231.一种计算机实现的方法,包括:
使客户端上的引擎创建保持服务器上的数据库中存储的数据的顺序的字典拷贝;
使引擎根据所述顺序执行对字典拷贝上的数据进行加密的算法;
使引擎以一更新概率更新存储在数据库中的数据;
使引擎从加密的数据创建进一步加密的数据;
使引擎向服务器发送进一步加密的数据;以及
使引擎发送加密密钥以允许对进一步加密的数据进行解密,
其中,所述算法包括构建包含n个节点的二叉搜索树,其中,密文的最大长度与二叉搜索树的高度对应,密文来自二叉搜索树,最先插入的明文元素是根,随后的明文依赖于它们的顺序关系被放置到根的左或右,
其中,所述算法还包括将至少2logn位的缓冲区添加到密文长度,以减少更新概率,
其中,所述进一步加密的数据是使用同态加密创建的以允许在数据库上聚合,
其中,所述进一步加密的数据是使用确定性加密创建的以允许在数据库上选择。


2.如权利要求1所述的计算机实现的方法,其中,所述数据库是基于结构化查询语言(SQL)的。


3.如权利要求1所述的计算机实现的方法,其中,所述数据库包含列存储的内存数据库。


4.一种包含用于执行方法的计算机程序的非临时性计算机可读存储介质,所述方法包括:
使客户端上的引擎创建保持服务器上的数据库中存储的数据的顺序的字典拷贝;
使引擎根据所述顺序执行对字典拷贝上的数据进行加密的算法;
使引擎以一更新概率更新存储在数据库中的数据;
使引擎从加密的数据创建进一步加密的数据;
使引擎向服务器发送进一步加密的数据;以及
使引擎发送加密密钥以允许对进一步加密的数据进行解密,
其中,所述算法包括构建包含n个节点的二叉搜索...

【专利技术属性】
技术研发人员:F克施鲍姆A施罗普弗P格罗菲格I汉格M黑特里奇M科勒A沙德W泰泽特
申请(专利权)人:SAP欧洲公司
类型:发明
国别省市:德国;DE

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

1