密钥可压缩加密制造技术

技术编号:32624570 阅读:22 留言:0更新日期:2022-03-12 17:57
本系统和方法的实施例可以提供技术以提供主机侧加密,同时保持压缩和去重的好处并且在主机和存储系统之间提供不会泄露关于数据可压缩性/去重属性的信息的通信。例如,在实施例中,一种方法可以包括:在计算机系统处压缩原始数据扇区,生成包括第一部分和第二部分的新数据扇区,所述第一部分包括元数据和填充数据,所述第二部分包括已压缩并用数据加密密钥(DEK)加密的原始数据扇区;在所述计算机系统处使用数据还原密钥(DRK)对所述新数据扇区进行加密;以及在所述计算机系统处将所述加密的新数据扇区发送到存储系统。新数据扇区发送到存储系统。新数据扇区发送到存储系统。

【技术实现步骤摘要】
【国外来华专利技术】密钥可压缩加密


[0001]本专利技术涉及密钥可压缩加密。

技术介绍

[0002]许多现代存储系统具有用压缩和/或去重技术来节省空间和更好地利用存储的内置数据还原能力。这种做法,取决于正在存储的实际内容,可以大大降低存储成本。然而,数据中心和云存储一个新兴趋势是使用主机侧加密——即在数据离开应用程序服务器时对其进行加密,然后再发送到存储,从而提供端到端加密。这种做法带来了安全上的好处,但到达存储系统的数据已经是加密的形式,无法再压缩(典型的加密数据不具有压缩或去重的可能性)。
[0003]由此,当试图提供主机侧加密同时保持压缩和去重的好处时,会出现问题。一种传统方法是在对主机中的数据进行加密之前对其进行压缩。然而,这带来了新的挑战——压缩的数据是可变长度的,并且需要复杂的数据结构/算法来管理存储上的数据布局(诸如日志结构阵列和地址映射)。如果想要支持对数据中扇区的随机读取,则尤其如此。这些映射结构是内置于具有内置压缩支持的存储系统中的机器的类型。然而,这样的机制在主机侧通常是不可用的。
[0004]存在在主机侧执行压缩和加密但是泄露关于数据压缩性/去重属性的信息的传统解决方案。因此,当试图在主机和存储系统之间提供通信以使得监听通信的攻击者对数据的可压缩性了解很少时,会出现问题。攻击者可能会使用有关数据可压缩性的信息来获取有关未加密数据的一些信息。
[0005]因此,需要有技术来提供主机侧加密,同时保持压缩和去重的好处,同时在主机和存储系统之间提供不会泄漏关于数据可压缩性/去重属性的信息的通信。

技术实现思路

[0006]本系统和方法的实施例可以提供技术以在保持压缩和去重的好处的同时提供主机侧加密,在主机和存储系统之间提供不会泄漏关于数据可压缩性/去重属性的信息的通信。
[0007]例如,在实施例中,可以在计算机系统中实现一种方法,所述计算机系统包括处理器、可由所述处理器访问的存储器、存储在所述存储器中且可由所述处理器执行的计算机程序指令以及存储在所述存储器中且可由所述处理器访问的数据,所述方法可以包括:在所述计算机系统处,通过(1)创建由包括元数据的若干字节和可压缩数据填充(例如,零的序列)的第一部分和包括已压缩并用数据加密密钥(DEK)加密的原始数据扇区的第二部分组成的新扇区、以及(2)在所述计算机系统处用数据还原密钥(DRK)来加密新数据扇区来生成新数据扇区,然后在所述计算机系统处将所述加密的新数据扇区发送到存储系统。这些是在主机处的写入操作中的动作,其中被写入的扇区是充分可压缩的。
[0008]在实施例中,当原始数据扇区不能被压缩超过预定量时,所述方法可以在计算机
系统处使用数据加密密钥(DEK)来加密未压缩的原始数据扇区,并在计算机系统处将加密的未压缩的原始数据扇区发送到存储系统。这些是在写入操作中的主机处的动作,其中正被写入的扇区不是充分可压缩的。
[0009]存储系统可以尝试使用DRK密钥对由主机侧发送给它的扇区进行解密。填充数据的存在或不存在可由存储系统用来确定所发送的数据是否为压缩的,并且,如果是,存储系统将存储解密的新数据扇区,如果不是,存储系统将回复到由主机发送的原始扇区,并不加修改地存储原始扇区。这些是存储系统处的写操作中的动作。
[0010]当确定由主机侧发送的扇区是否是最初可压缩的时,存储系统可以尝试用DRK来仅解密该扇区的开始。如果扇区的开始不包含可压缩数据模式(例如,零的序列),则存储器不需要解密该扇区的剩余部分,并且可以不加进一步修改地存储该剩余部分。
[0011]该方法还可以包括在存储系统处检查所请求的扇区是否包含可压缩的填充数据序列(例如,零的序列),如果是,则用DRK对其进行加密并将其发送到主机,如果不是,则照原样将它发送到主机。这些是在存储系统处的读取操作中的动作。
[0012]该方法可以进一步包括在该计算机系统处从该存储系统接收数据扇区,在该计算机系统处使用DRK来解密加密的数据扇区的至少一部分,在该计算机系统处基于可压缩的填充数据的存在或不存在来确定该数据扇区是否包括经压缩的数据。如果确定该扇区为压缩的,则所述方法在所述计算机系统处使用DEK来解密所述压缩数据,并在所述计算机系统处解压所述解密的压缩数据。如果确定该数据扇区并非为压缩的,则该方法在该计算机系统处解密该加密的数据扇区。这些是在主机处的读取操作中的动作。
[0013]压缩后的扇区中的元数据可以包括指示已经被压缩的原始数据扇区的压缩长度的值,该值可以由主机用作解压算法的参数。当所述存储系统支持去重时,所述方法可以进一步包括使用DEK和一个初始化向量对数据进行加密,该初始化向量是在所述计算机系统处从所述扇区数据生成(例如,使用带密钥的哈希)的,对于相同数据的各扇区是相同的。
[0014]在实施例中,一种系统可以包括处理器、可由处理器访问的存储器、存储在存储器中并且可由处理器执行的计算机程序指令、以及存储在存储器中并且可由处理器访问的数据,用于执行压缩原始数据扇区,生成包括第一部分和第二部分的新数据扇区,所述第一部分包括元数据和填充数据,所述第二部分包括已压缩并用数据加密密钥(DEK)加密的原始数据扇区,用数据还原密钥(DRK)对所述新数据扇区进行加密,以及将加密的新数据扇区发送到存储系统。
[0015]在实施例中,一种计算机程序产品可以包括非瞬态计算机可读存储器,该非瞬态计算机可读存储器具有包含在其中的程序指令,这些程序指令可由计算机执行,以便使计算机执行一种方法,该方法包括:在所述计算机系统处压缩原始数据扇区,生成包括第一部分和第二部分的新数据扇区,所述第一部分包括元数据和填充数据,所述第二部分包括已压缩并用数据加密密钥(DEK)加密的原始数据扇区,在所述计算机系统处用数据还原密钥(DRK)对所述新数据扇区进行加密,以及在所述计算机系统处将所述加密的新数据扇区发送到存储系统。
[0016]下文描述寻求提供对数据进行加密同时保持压缩和去重的好处并提供不会泄露关于数据可压缩性/去重属性的信息的通信的技术。
附图说明
[0017]可以通过参考附图来最好地理解关于本专利技术的结构和操作的细节,附图中相同的附图标记和名称指代相同的元件。
[0018]图1是根据本技术的实施例的系统的示例性框图。
[0019]图2是根据本系统和方法的实施例的主机侧的单个扇区的写入操作的示例性伪代码图。
[0020]图3是根据本系统和方法的实施例的存储侧的单个扇区的写入操作的示例性伪代码图。
[0021]图4是根据本系统和方法的实施例的存储侧的单个扇区的读取操作的示例性伪代码图。
[0022]图5是根据本系统和方法的实施例的主机侧的单个扇区的读取操作的示例性伪代码图。
[0023]图6是其中可以实现本文所描述的实施例中涉及的过程的计算机系统的示例性框图。
具体实施方式
[0024]本系统和方法的实施例可以提供用于在保持压缩和去重的好处的同时提供主机侧加密、同时在主机和存储系统之间提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种在计算机系统中实施的方法,所述计算机系统包括处理器、可由所述处理器访问的存储器、存储在所述存储器中且可由所述处理器执行的计算机程序指令以及存储在所述存储器中且可由所述处理器访问的数据,所述方法包括:在所述计算机系统处,通过生成包括第一部分和第二部分的新数据扇区来压缩原始数据扇区,所述第一部分包括元数据和填充数据,所述第二部分包括已压缩并用数据加密密钥(DEK)加密的原始数据扇区;在所述计算机系统处,使用数据还原密钥(DRK)对所述新数据扇区进行加密;以及在所述计算机系统处,将所述加密的新数据扇区发送到存储系统。2.根据权利要求1所述的方法,进一步包括:当已被压缩的原始数据扇区已被压缩小于预定量时,不压缩原始数据扇区;在所述计算机系统处,使用数据加密密钥(DEK)对未压缩的原始数据扇区进行加密;以及在所述计算机系统处,将所述加密的未压缩的原始数据扇区发送到存储系统。3.根据权利要求2所述的方法,其中:所述存储系统使用所述DRK对从所述计算机系统发送的所述扇区中的至少一些扇区进行解密,并且使用可压缩模式的存在或不存在来确定所发送的数据是否为压缩的;当确定所述扇区并非为压缩的时,则存储系统存储未压缩的原始数据扇区而不进行修改;当确定所述扇区为压缩的时,所述存储系统使用所述DRK解密所述主机发送的所述扇区,并存储解密的新数据扇区;以及当所述存储系统具有内置压缩能力时,所述存储系统利用所述可压缩模式来节省存储空间。4.根据权利要求3所述的方法,进一步包括:在所述计算机系统处,从所述存储系统接收加密的数据扇区;在所述计算机系统处,使用所述DRK解密所述加密的数据扇区的至少一个扇区;在所述计算机系统处,基于在所述解密的数据扇区的至少一部分中存在填充数据,确定所述数据扇区是否包括压缩数据;当所述数据扇区为压缩的时,在所述计算机系统处使用所述DEK解密所述压缩数据并且在所述计算机系统处解压所述解密的压缩数据;以及当所述数据扇区并非为压缩的时,在所述计算机系统处使用所述DEK解密所述加密的数据扇区而不解压;其中,所述元数据包括所述原始数据扇区的压缩长度的值,并且所述值可以用于在使用所述DRK解密所述压缩数据之后解压所述压缩数据。5.根据权利要求4所述的方法,其中,所述存储系统通过以下方式来发送加密的数据扇区:在所述存储系统处,确定存储的扇区是否包括填充数据;当所述存储的扇区包括填充数据时,在所述存储系统处使用所述DRK加密所述存储的扇区以形成所述加密的扇区,并且向所述计算机系统发送所述加密的扇区;以及当所述存储的扇区不包括填充数据时,向所述计算机系统发送所述存储的扇区作为所
述加密的扇区。6.根据权利要求1所述的方法,进一步包括使用所述DEK和初始化向量对数据进行加密,从而使得:当将所述数据发送到支持去重的存储系统时,在所述计算机系统处生成对于相同数据的不同扇区相同的初始化向量;以及将所述初始化向量添加为元数据的一部分,以供将来使用DEK进行解密;以及当所述数据为不可压缩的时,则基于扇区号来生成初始化向量。7.根据权利要求6所述的方法,其中,所述使用DEK进行解密是使用所述元数据中包括的所述初始化向量执行的。8.一种系统,包括处理器、可由所述处理器访问的存储器、存储在所述存储器中且可由所述处理器执行的计算机程序指令、以及存储在所述存储器中且可由所述处理器访问以执行以下操作的数据:通过生成包括第一部分和第二部分的新数据扇区来压缩原始数据扇区,所述第一部分包括元数据和填充数据,所述第二部分包括已压缩并用数据加密密钥(DEK)加密的原始数据扇区;使用数据还原密钥(DRK)对所述新数据扇区进行加密;以及将所述加密的新数据扇区发送到存储系统。9.根据权利要求8所述的系统,进一步包括:当已被压缩的原始数据扇区已被压缩小于预定量时,不压缩原始数据扇区;使用数据加密密钥(DEK)对未压缩的原始数据扇区进行加密;以及将所述加密的未压缩的原始数据扇区发送到存储系统。10.根据权利要求9所述的系统,其中:所述存储系统使用所述DRK对从所述计算机系统发送的所述扇区中的至少一些扇区进行解密,并且使用可压缩模式的存在或不存在来确定所发送的数据是否为压缩的;当确定所述扇区并非为压缩的时,则存储系统存储未压缩的原始数据扇区而不进行修改;当确定所述扇区为压缩的时,所述存储系统使用所述DRK解密所述主机发送的所述扇区,并存储解密的新数据扇区;以及当所述存储系统具有内置压缩能力时,所述存储系统利用所述可压缩模式来节省存储空间。11.根据权利要求10所述的系统,进一步包括:从所述存储系统接收加密的数据扇区;使用所述DRK解密所述加密的数据扇区的至少一个扇区;基于在所述解密的数据扇区的至...

【专利技术属性】
技术研发人员:D陈E兹法迪亚D哈尼克M法克特
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1