首页> 中国专利> 用于至少部分更新使用全或无加密方案加密的数据的方法和系统

用于至少部分更新使用全或无加密方案加密的数据的方法和系统

摘要

本发明涉及一种用于至少部分地更新使用全或无加密方案加密的存储在一个或多个服务器上的数据的方法,包括步骤:a)将包括第一数量m个明文块的数据划分为第二数量N个大小相等的数据片,其中第二数量基于要在其上存储所述数据的服务器的数量,使得每个数据片包括m/N个明文块,b)使用加密密钥利用全或无加密方案加密每个数据片,其中每个数据片的附加随机值被嵌入到全或无加密方案中,以及针对每个数据片输出多个密文块,c)将加密数据片存储在N个服务器上,使得每个加密数据片的第i个密文块存储在第i个服务器上,其中针对所有加密数据片对所述随机值执行的预定函数的结果与每个加密数据片一起存储,d)确定需要更新的一个或多个数据片(如果有的话)的一个或多个部分,e)通过访问所有数据片以获取所确定的一个或多个数据片的随机值来恢复所述函数,f)基于步骤e)的结果解密所确定的数据片,g)更新解密的数据片,h)使用所述全或无加密方案重新加密更新后的数据片,以及i)根据步骤c)存储重新加密的数据片。

著录项

  • 公开/公告号CN106576039A

    专利类型发明专利

  • 公开/公告日2017-04-19

    原文格式PDF

  • 申请/专利权人 NEC欧洲有限公司;

    申请/专利号CN201480081433.2

  • 发明设计人 加桑·卡拉米;

    申请日2014-09-30

  • 分类号H04L9/06;

  • 代理机构中科专利商标代理有限责任公司;

  • 代理人唐文静

  • 地址 德国海德堡

  • 入库时间 2023-06-19 01:53:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-28

    授权

    授权

  • 2018-02-02

    专利申请权的转移 IPC(主分类):H04L9/06 登记生效日:20180112 变更前: 变更后: 申请日:20140930

    专利申请权、专利权的转移

  • 2017-05-17

    实质审查的生效 IPC(主分类):H04L9/06 申请日:20140930

    实质审查的生效

  • 2017-04-19

    公开

    公开

说明书

技术领域

本发明涉及一种用于至少部分地更新使用全或无加密方案加密的存储在一个或多个服务器上的数据的方法。

本发明还涉及一种用于至少部分地更新使用全或无加密方案加密的存储在一个或多个服务器上的数据的系统。

背景技术

将关于云安全网络基础设施来描述本发明,尽管本发明可应用于任何种类的网络基础设施中的服务器。

云安全在当今的许多应用和服务中越来越重要。“全或无加密”(All-or-NothingEncryption,简称AONE)已成为可用于加强数据保密性的方法之一。全或无加密AONE提供数据的语义安全,同时确保当且仅当所有密文块都可供给定客户端下载时才能恢复数据。这样,全或无加密AONE不仅仅依赖于加密的保密性,而且任何对手要获得输入明文的任何有意义的比特需要能够访问所有数据。因此,全或无加密AONE确保了透明的密钥管理过程,并补充了可用于将数据有效地存储在分布式存储器(如云)中的信息分散技术。

全或无加密方案例如公开于以下非专利文献中:1997年的Proceedings of FastSoftware Encryption中的第210-218页的R.Rivest的“All-or-Nothing Encryption andThe Package Transform”;2000年的Proceedings of CRYPTO中的Anand Desai的“TheSecurity of All-Or-Nothing Encryption:Protecting Against Exhaustive KeySearch”;以及可从网址http://eprint.iacr.org/2014/556.pdf获得的Ghassan Karame、Claudio Soriente、Krzysztof Lichota、Srdjan Capkun的技术报告。

这样的全或无加密AONE可以通过以下过程来执行

-密钥生成:在输入安全参数时,密钥生成算法输出密钥K。

-加密例程:在输入明文p(该明文p由m个大小均为1比特的块构成)并且输入加密密钥K时,加密例程AONEnc输出密文的n=m+1个块。

-解密例程。在输入密钥K和全部密文块时,解密算法AONDec输出明文块P。如果不是所有的密文块都可用,则该解密算法输出NULL。

全或无加密AONE使得数据的每个加密块必需取决于其整体数据,使得执行文件更新变得困难。例如5TB大小的明文文件不容易被更新,因为在每次需要执行新的文件更新时简单地解密和重新加密整个5TB是不可行的。

例如在图1中示出了一种常规方法,其依赖于作为威慑物的服务器侧的访问控制层。然而,缺点之一是全或无的概念是宽松的。实际上,全或无加密的每个块输出仅取决于对m/N个其它块的加密,因此加密数据的安全性不高。

发明内容

因此,本发明的目的是提供用于至少部分更新使用全或无加密方案加密的数据的方法和系统,其支持对已经使用全或无加密AONE加密的内容进行部分文件更新。

本发明的另一目的是提供一种用于至少部分更新使用全或无加密方案加密的数据的方法和系统,其加强了加密数据的整体安全性。

本发明的又一的目的是提供一种用于至少部分更新使用全或无加密方案加密的数据的方法和系统,其使得能够以容易的方式实现并且具有足够的性能。

上述目的通过权利要求1的方法和权利要求8的系统来实现。

在权利要求1中,定义了一种用于至少部分地更新使用全或无加密方案加密的存储在一个或多个服务器上的数据的方法。

根据权利要求1,该方法的特征在于包括步骤:

a)将包括第一数量m个明文块的数据划分为第二数量N个大小相等的数据片,其中第二数量基于要在其上存储所述数据的服务器的数量,使得每个数据片包括m/N个明文块,

b)利用全或无加密方案使用加密密钥来加密每个数据片,其中每个数据片的附加随机值被嵌入到全或无加密方案中;并且为每个数据片输出多个密文块,

c)将加密数据片存储在N个服务器上,使得每个加密数据片的第i个密文块存储在第i个服务器上,并且其中针对所有加密数据片对所述随机值执行的预定函数的结果与每个加密数据片一起存储,

d)确定需要更新的一个或多个数据片(如果有的话)的一个或多个部分,

e)通过访问所有数据片以获取所确定的一个或多个数据片的随机值来恢复所述函数,

f)基于步骤e)的结果解密所确定的数据片,

g)更新解密的数据片,

h)使用所述全或无加密方案重新加密更新的数据片,以及

i)根据步骤c)存储重新加密的数据片。

在权利要求8中,定义了一种用于至少部分地更新使用全或无加密方案加密的存储在一个或多个服务器上的数据的系统。

根据权利要求8,该系统的特征在于更新实体,所述更新实体布置为执行以下步骤:

a)将包括第一数量m个明文块的数据划分为第二数量N个大小相等的数据片,其中所述第二数量基于要在其上存储所述数据的服务器的数量,使得每个数据片包括m/N个明文块,

b)利用全或无加密方案使用加密密钥来加密每个数据片,其中每个数据片的附加随机值被嵌入到全或无加密方案中;并且为每个数据片输出多个密文块,

c)将加密数据片存储在N个服务器上,使得每个加密数据片的第i个密文块存储在第i个服务器上,并且其中针对所有加密数据片对所述随机值执行的预定函数的结果与每个加密数据片一起存储,

d)确定需要更新的一个或多个数据片(如果有的话)的一个或多个部分,

e)通过访问所有数据片以获取所确定的一个或多个数据片的随机值来恢复所述函数,

f)基于步骤e)的结果解密所确定的数据片,

g)更新解密的数据片,

h)使用所述全或无加密方案重新加密更新的数据片,以及

i)根据步骤c)存储重新加密的数据片。

根据本发明,已经认识到,固有地支持特别是仅部分的文件更新。

根据本发明,甚至进一步认识到,提供了与常规全或无加密方案的常规安全规定相比更高级别的安全性。

根据本发明,甚至已经进一步认识到,由于被经常访问、更新和修改的文件可以在不需要解密和重新加密完整文件的情况下更容易地更新且不会降低安全级别,因此提高了效率。

根据本发明,甚至已经进一步认识到,提供了对可以窃取加密/解密过程的内部存储器中的一部分低的内部对手的抵抗。

根据本发明,甚至已经进一步认识到,提供了用于更新文件的简单且易于实现的方法和系统。

其他的特征、优点和优选实施例在下面的从属权利要求中进行描述。

根据优选实施例,所述随机值用作全或无加密方案的AONE初始化向量(IVAONE)的初始种子。这增强了全或无原则,因此增强了安全性。

根据另一个优选实施例,IVAONE是从所述随机值导出的。这提供了用于提供分别导出IVAONE的简单且有效的方式。

根据另一优选实施例,基于对第i个数据片的IVAONE执行散列函数来确定第(i+1)个数据片的IVAONE,其中,通过针对随机值计算所述散列函数来确定第一数据片的IVAONE。这允许以容易且有效的方式从随机值导出IVAONE。

根据另一优选实施例,使用步骤b)中输出的所有密文块的XOR组合作为加密密钥(XOREK)来对随机值进行加密,并且所述加密的随机值存储在所有的服务器中,在所述服务器处XOREK被用于根据步骤e)进行解密。这确保了该实体需要访问所有块才能计算XOR组合并解密随机值,其中所述随机值然后用于解密每个下层的全或无加密AONE。

根据另一优选实施例,在使用AONE进行加密之前或之后应用快速傅里叶变换全或无变换(FFT-AONT)。因此,快速傅里叶变换过程和加密过程被执行。这确保已被撤销的实体为了恢复部分数据需要存储随机值、加密密钥和数据片的所有块,而不是仅有权访问所有块:例如,如果实体另外存储了随机值和加密密钥以及附加内部状态,则实体可以部分解密数据。

根据另一优选实施例,使用在所述一个或多个服务器上存储的利用全或无加密方案加密的所有数据被确定要被更新。这确保了有权访问数据并且后来被撤销该权利的对手为了恢复信息的任何比特需要存储加密密钥和所有数据块。

存在以有利的方式设计和进一步开发本发明的教导的若干方式。为此,一方面参考专利权利要求1的从属专利权利要求,并且另一方面下面的参考由附图所示的作为示例的本发明的优选实施例的说明。将结合借助附图的对本发明的优选实施例的说明,解释本发明教导的一般优选实施例和另外的发展。

附图说明

在附图中:

图1示出了常规系统;

图2示出了根据本发明第一实施例的系统;

图3示出了根据本发明的第二实施例的系统,以及

图4示出了根据本发明的第三实施例的方法的步骤。

具体实施方式

图1示出了常规系统。

在图1中,提供了实现文件的部分更新的基于访问控制的常规系统。

在图1中,更新实体UE想要部分更新文件F。文件F已经通过以下步骤加密并存储在多个服务器SV1-SV4上:

在第一步骤中并且假设它们是N个服务器,此处在图1中N=4个服务器SV1-SV4,原始明文文件F被划分为原始m个明文块,其继而被划分为N个相等大小的数据片,使得每个数据片包含m/N个原始明文块,并且其中N是服务器的数量,此处为4。

在第二步骤中,全或无加密AONE被应用到每个单独的数据片C上,优选通过使用如在可从网址http://eprint.iacr.org/2014/556.pdf获得的Ghassan Karame、ClaudioSoriente、Krzysztof Lichota、Srdjan Capkun的技术报告之类的非专利文献中公开的全或无加密方案来实现。当然任何全或无加密方案可被使用。

在另一步骤中,全或无加密方案为每个数据片输出多个密文块(表示为cij),其中索引i表示密文块的序号,并且索引j表示数据片。对于所有数据片j=1,...,N,第i个密文块cij存储在服务器Si中。

如果确定数据片j中的某个部分需要更新,则仅数据片j使用全或无加密AONE进行解密和重新加密,然后适当地存储在服务器SV1-SV4上。对手需要闯入所有服务器SV1-SV4并获取加密密钥,才可能能够解密任何明文比特。这例如有助于抵抗可能危及内部存储器的对手。使用全或无加密方案,例如在可从网址http://eprint.iacr.org/2014/556.pdf获得的Ghassan Karame、Claudio Soriente、Krzysztof Lichota、Srdjan Capkun的技术报告之类的非专利文献中公开的全或无加密方案,对手必须牵连128N比特的数据,才能够访问以后选择的任何密文。

图2示出了根据本发明的第一实施例的系统。

图1中所示的方法允许对文件进行部分更新,但放宽了全或无原则的概念。图1的全或无加密的每个输出块仅取决于对m/N个其他块的加密。在下文中,示出了根据本发明的实施例的基于轻量级密码术的方法:

本实施例的第一步骤与图1中公开的第一步骤相同。

在第二步骤中,使用加密密钥K对每个单独的数据片C应用全或无加密AONE。除了图1中公开的方法之外,还在创建每个全或无加密AONE时嵌入附加的随机值R。随机值R用作所有的全或无加密AONE中的初始化向量IV的初始种子。在下文中,初始化向量不是包括在密文中,而是仅从随机值R导出。

例如,第一数据片的初始化向量可以设置为H(R),即,针对随机值R计算散列函数。数据片2的初始化向量是H(H(R)),以此类推。

在针对每个数据片的下一步骤中,计算所有块的XOR运算。通过用Ti表示数据片i中的所有块的XOR,使用作为所有Ti的XOR组合,T1 XOR T2 XOR...XOR Tn,的新密钥来加密随机值R。加密的随机值存储在所有服务器SV1-SV4上。这确保对手实体需要访问所有块,才能计算T1 XOR T2 XOR...XOR Tn,并解密随机值R,所述随机值R然后被用于解密每个下层的全或无加密AONE。

图2中所示的方法固有地支持部分文件更新。如果数据片j中的某个部分需要更新,则仅数据片j要使用AONE进行解密和重新加密,然后适当地存储在服务器SV1-SV4上。

图3示出了根据本发明的第二实施例的系统。

根据图2的实施例的方法确保了:为了单个明文块,任何实体必须能够访问所有密文块。然而,一旦实体已经访问了所有块一次,例如如果实体另外存储了随机值R和加密密钥K以及附加内部状态,则该实体能够部分地解密数据。

在下文中,示出了一个实施例,其确保已被撤销的实体需要存储随机值R、加密密钥K和数据片的所有块才可能恢复部分数据。通常,图3中所示的方法的实施例包括与图2的描述中描述的步骤相同的步骤。然而,与图2中的方法形成对比的是,提供了对每个数据片的快速傅里叶变换全或无加密。此外,快速傅里叶变换全或无加密可以应用于数据整体。这确保了已经访问过数据且随后撤销的对手需要存储加密密钥和所有数据块才可能恢复任何信息比特。

在下文中,示出了用于执行快速傅立叶变换全或无变换的过程。假设E(X,Y,Z)是使用密钥X对(Y||Z)进行加密的块密码。

算法1;FFT-AONT的算法。这里,我们假设E(X,Y,Z)是使用密钥X对Y||Z进行加密的块密码。

图4示出了根据本发明的第三实施例的方法的步骤。

在图4中,在第一步骤S1中,将包括第一数量m个明文块的数据划分为第二数量N个大小相等的数据片,其中第二数量基于要在其上存储所述数据的服务器的数量,使得每个数据片包括m/N个明文块。

在第二步骤S2中,使用加密密钥利用全或无加密方案对每个数据片进行加密,其中每个数据片的附加随机值被嵌入到全或无加密方案中;并且针对每个数据片输出多个密文块。

在第三步骤S3中,将加密数据片存储在N个服务器上,使得每个加密数据片的第i个密文块存储在第i个服务器上,其中针对所有加密数据片对所述随机值执行的预定函数的结果与每个加密数据片一起存储。

在第四步骤S4中,确定需要更新的一个或多个数据片(如果有的话)的一个或多个部分。

在第五步骤S5中,通过访问所有数据片以获取所述确定的一个或多个数据片的随机值来恢复所述函数。

在第六步骤S6中,基于步骤S5的结果对所述确定的数据片进行解密。

在第七步骤S7中,更新经解密的数据片。

在第八步骤S8中,使用所述全或无加密方案对更新后的数据片进行重新加密,以及

在第九步骤S9中,根据步骤S3存储重新加密后的数据片。

图1-3中所示的服务器SV1-SV4可以例如是利用多个商品云提供商的多云存储系统的一部分,目的是在不同的管理域之间分配信任。这样的“云中云”模型当今正在受到日益增长的关注,导致云存储提供商提供多云系统的产品。

在图1-4中,假设了4个存储服务器SV1、SV2、SV3、SV4构成的系统,由更新实体UE表示的用户集合,以及服务器SV1-SV4适当地认证用户。

总之,本发明使得能够利用轻量级加密技术提供全或无加密方案的使用,以便有效地支持对已经使用全或无加密技术加密的数据的部分文件更新。

此外,本发明通过访问控制机制和轻量级密码术的组合来增强现有的全或无加密方案,以抵抗可能窃取加密/解密例程的内部存储器的一部分的内部对手。

本发明尤其具有以下优点:本发明使得能够增强“热文件(hot files)”的安全性。这些“热文件”经常被访问、更新和修改。

本发明还具有以下优点:固有地支持部分文件更新,并且当与传统的全或无加密方案的安全规定相比时仍然保持相当好的安全级别。

受益于在前面的描述和相关附图中呈现的教导,本发明所属领域的普通技术人员将想到本文阐述的本发明的许多修改和其它实施例。因此,应当理解本发明不局限于所公开的具体实施例,并且修改和其他实施例旨在被包括在所附权利要求的范围内。虽然本文使用了特定术语,但是其用于一般性和描述性意义,且不用于限制目的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号