CN114174978A - 密钥可压缩加密 - Google Patents

密钥可压缩加密 Download PDF

Info

Publication number
CN114174978A
CN114174978A CN202080054790.5A CN202080054790A CN114174978A CN 114174978 A CN114174978 A CN 114174978A CN 202080054790 A CN202080054790 A CN 202080054790A CN 114174978 A CN114174978 A CN 114174978A
Authority
CN
China
Prior art keywords
data
sector
compressed
storage system
encrypted
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
CN202080054790.5A
Other languages
English (en)
Other versions
CN114174978B (zh
Inventor
D.陈
E.兹法迪亚
D.哈尼克
M.法克特
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN114174978A publication Critical patent/CN114174978A/zh
Application granted granted Critical
Publication of CN114174978B publication Critical patent/CN114174978B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

密钥可压缩加密
技术领域
本发明涉及密钥可压缩加密。
背景技术
许多现代存储系统具有用压缩和/或去重技术来节省空间和更好地利用存储的内置数据还原能力。这种做法,取决于正在存储的实际内容,可以大大降低存储成本。然而,数据中心和云存储一个新兴趋势是使用主机侧加密——即在数据离开应用程序服务器时对其进行加密,然后再发送到存储,从而提供端到端加密。这种做法带来了安全上的好处,但到达存储系统的数据已经是加密的形式,无法再压缩(典型的加密数据不具有压缩或去重的可能性)。
由此,当试图提供主机侧加密同时保持压缩和去重的好处时,会出现问题。一种传统方法是在对主机中的数据进行加密之前对其进行压缩。然而,这带来了新的挑战——压缩的数据是可变长度的,并且需要复杂的数据结构/算法来管理存储上的数据布局(诸如日志结构阵列和地址映射)。如果想要支持对数据中扇区的随机读取,则尤其如此。这些映射结构是内置于具有内置压缩支持的存储系统中的机器的类型。然而,这样的机制在主机侧通常是不可用的。
存在在主机侧执行压缩和加密但是泄露关于数据压缩性/去重属性的信息的传统解决方案。因此,当试图在主机和存储系统之间提供通信以使得监听通信的攻击者对数据的可压缩性了解很少时,会出现问题。攻击者可能会使用有关数据可压缩性的信息来获取有关未加密数据的一些信息。
因此,需要有技术来提供主机侧加密,同时保持压缩和去重的好处,同时在主机和存储系统之间提供不会泄漏关于数据可压缩性/去重属性的信息的通信。
发明内容
本系统和方法的实施例可以提供技术以在保持压缩和去重的好处的同时提供主机侧加密,在主机和存储系统之间提供不会泄漏关于数据可压缩性/去重属性的信息的通信。
例如,在实施例中,可以在计算机系统中实现一种方法,所述计算机系统包括处理器、可由所述处理器访问的存储器、存储在所述存储器中且可由所述处理器执行的计算机程序指令以及存储在所述存储器中且可由所述处理器访问的数据,所述方法可以包括:在所述计算机系统处,通过(1)创建由包括元数据的若干字节和可压缩数据填充(例如,零的序列)的第一部分和包括已压缩并用数据加密密钥(DEK)加密的原始数据扇区的第二部分组成的新扇区、以及(2)在所述计算机系统处用数据还原密钥(DRK)来加密新数据扇区来生成新数据扇区,然后在所述计算机系统处将所述加密的新数据扇区发送到存储系统。这些是在主机处的写入操作中的动作,其中被写入的扇区是充分可压缩的。
在实施例中,当原始数据扇区不能被压缩超过预定量时,所述方法可以在计算机系统处使用数据加密密钥(DEK)来加密未压缩的原始数据扇区,并在计算机系统处将加密的未压缩的原始数据扇区发送到存储系统。这些是在写入操作中的主机处的动作,其中正被写入的扇区不是充分可压缩的。
存储系统可以尝试使用DRK密钥对由主机侧发送给它的扇区进行解密。填充数据的存在或不存在可由存储系统用来确定所发送的数据是否为压缩的,并且,如果是,存储系统将存储解密的新数据扇区,如果不是,存储系统将回复到由主机发送的原始扇区,并不加修改地存储原始扇区。这些是存储系统处的写操作中的动作。
当确定由主机侧发送的扇区是否是最初可压缩的时,存储系统可以尝试用DRK来仅解密该扇区的开始。如果扇区的开始不包含可压缩数据模式(例如,零的序列),则存储器不需要解密该扇区的剩余部分,并且可以不加进一步修改地存储该剩余部分。
该方法还可以包括在存储系统处检查所请求的扇区是否包含可压缩的填充数据序列(例如,零的序列),如果是,则用DRK对其进行加密并将其发送到主机,如果不是,则照原样将它发送到主机。这些是在存储系统处的读取操作中的动作。
该方法可以进一步包括在该计算机系统处从该存储系统接收数据扇区,在该计算机系统处使用DRK来解密加密的数据扇区的至少一部分,在该计算机系统处基于可压缩的填充数据的存在或不存在来确定该数据扇区是否包括经压缩的数据。如果确定该扇区为压缩的,则所述方法在所述计算机系统处使用DEK来解密所述压缩数据,并在所述计算机系统处解压所述解密的压缩数据。如果确定该数据扇区并非为压缩的,则该方法在该计算机系统处解密该加密的数据扇区。这些是在主机处的读取操作中的动作。
压缩后的扇区中的元数据可以包括指示已经被压缩的原始数据扇区的压缩长度的值,该值可以由主机用作解压算法的参数。当所述存储系统支持去重时,所述方法可以进一步包括使用DEK和一个初始化向量对数据进行加密,该初始化向量是在所述计算机系统处从所述扇区数据生成(例如,使用带密钥的哈希)的,对于相同数据的各扇区是相同的。
在实施例中,一种系统可以包括处理器、可由处理器访问的存储器、存储在存储器中并且可由处理器执行的计算机程序指令、以及存储在存储器中并且可由处理器访问的数据,用于执行压缩原始数据扇区,生成包括第一部分和第二部分的新数据扇区,所述第一部分包括元数据和填充数据,所述第二部分包括已压缩并用数据加密密钥(DEK)加密的原始数据扇区,用数据还原密钥(DRK)对所述新数据扇区进行加密,以及将加密的新数据扇区发送到存储系统。
在实施例中,一种计算机程序产品可以包括非瞬态计算机可读存储器,该非瞬态计算机可读存储器具有包含在其中的程序指令,这些程序指令可由计算机执行,以便使计算机执行一种方法,该方法包括:在所述计算机系统处压缩原始数据扇区,生成包括第一部分和第二部分的新数据扇区,所述第一部分包括元数据和填充数据,所述第二部分包括已压缩并用数据加密密钥(DEK)加密的原始数据扇区,在所述计算机系统处用数据还原密钥(DRK)对所述新数据扇区进行加密,以及在所述计算机系统处将所述加密的新数据扇区发送到存储系统。
下文描述寻求提供对数据进行加密同时保持压缩和去重的好处并提供不会泄露关于数据可压缩性/去重属性的信息的通信的技术。
附图说明
可以通过参考附图来最好地理解关于本发明的结构和操作的细节,附图中相同的附图标记和名称指代相同的元件。
图1是根据本技术的实施例的系统的示例性框图。
图2是根据本系统和方法的实施例的主机侧的单个扇区的写入操作的示例性伪代码图。
图3是根据本系统和方法的实施例的存储侧的单个扇区的写入操作的示例性伪代码图。
图4是根据本系统和方法的实施例的存储侧的单个扇区的读取操作的示例性伪代码图。
图5是根据本系统和方法的实施例的主机侧的单个扇区的读取操作的示例性伪代码图。
图6是其中可以实现本文所描述的实施例中涉及的过程的计算机系统的示例性框图。
具体实施方式
本系统和方法的实施例可以提供用于在保持压缩和去重的好处的同时提供主机侧加密、同时在主机和存储系统之间提供不会泄漏关于数据可压缩性/去重属性的信息的通信的技术。实施例可以执行“密钥可压缩加密”——一种加密方法,该加密方法可以允许持有数据还原密钥的存储系统获得一些数据压缩和去重好处。进一步,任何不持有数据还原密钥的攻击者都不会了解或很少了解关于数据的数据还原属性的信息。
在实施例中,写入存储控制器的每个加密的扇区都可以用其原始扇区大小和偏移量来写入,保持存储器负责数据布局,并保持主机不知道需要管理被压缩的块。实施例可以压缩数据扇区(如果其是充分可压缩的),并创建由两个部分组成的新扇区(具有与原始扇区相同的长度)。一部分可以包括例如一些元数据字节和可压缩模式(例如,零的序列)。第二部分可以包括用数据加密密钥(DEK)加密的压缩数据。在最一般的设置中,将这两个部分串接起来,然后用数据还原密钥(DRK)进行加密并发送到存储系统。在实施例中,DEK和DRK可以是对称密钥,用于加密和解密两者,而在其他实施例中,可以用非对称或不同密钥进行加密和解密(例如,私钥和公钥)。
持有DRK的存储系统然后可以解密第二加密层并存储数据。如果存储系统具有数据压缩能力,则可以以压缩形式存储扇区(例如,通过移除可压缩填充(padding))。存储系统可能永远不能清楚看到数据并且可能无法访问DEK,但是了解数据的压缩性。窃听者对数据一无所知(就好像其在没有压缩的情况下被加密逸一样)。另一个好处是将数据还原能力绑定到特定存储系统的能力。此外,实施例可以包括许多包括支持去重的优化和性能优化。
在图1中示出根据本技术的实施例的系统100的示例性框图。在该示例中,系统100可以包括主机系统102、存储系统104和网络106。通常,主机系统可以是一个或多个计算机系统,其可以在存储系统104上存储数据,例如扇区108,并且可以从存储系统104检索数据。主机系统102可以包括任何类型的计算机系统,诸如个人计算机、工作站、智能电话、平板计算机、服务器系统等。同样地,存储系统104可以包括任何类型的计算机系统,诸如个人计算机、工作站、智能电话、平板计算机、服务器系统等,但是通常包括用于存储大量数据的服务器系统。网络106可提供主机系统102和存储系统104之间的通信。这样的通信可以是双向的、直接的或间接的,等等。网络106可以包括任何数量和任何组合的网络,诸如局域网、广域网、标准或专有网络、私有或公共网络等,但是通常可以包括英特网。
例如,在扇区写入操作中,主机系统102可以向存储系统104写入扇区108,具体方式是对扇区108执行主机写入处理110并向存储系统104发送经处理的扇区,存储系统104可以对所接收的经处理的扇区执行存储系统写入处理112并将所得数据存储为扇区114。同样地,主机系统102可以从存储系统104读取所存储的扇区116,具体方式是使存储系统104对所存储的扇区118执行存储系统读取处理118并向主机系统102发送经处理的扇区,主机系统102可以对所接收的经处理的扇区执行主机系统读取处理120以获得作为结果的数据,即扇区122。主机系统102上的写入处理110和读取处理120可以使用数据加密密钥(DEK)124来执行,并且在如下所述的一些情况下,可以使用数据还原密钥(DRK)126来执行。在存储系统104上的写入处理112和读取处理118可以使用数据还原密钥(DRK)126来执行。存储系统104不使用、也不知道数据加密密钥(DEK)124。下面参见图2、3、4和5进一步描述系统100的操作。
总的来说,可以在主机处为每个数据块、扇区或组块(chunk)执行处理的实施例。为简要起见,这里可以使用术语扇区,但是应该理解,术语扇区不是仅指物理存储扇区,而是指任何块、扇区、组块或其他数据量。可以使用DEK来压缩和加密数据扇区。然后可以将加密的压缩扇区数据与可压缩填充串接,以形成原始长度的扇区。也可以添加一些元数据,作为填充的一部分。然后,可以将新的经填充的块用DRK进行加密并发送到存储器。
图2示出了根据本技术的将数据写入存储系统104的主机系统过程200的示例性流程图。最好结合图1进行查看。主机侧写入过程200可以始于202,其中可以压缩待存储的数据扇区(或块或组块)108。设x是压缩后该扇区的大小。在204,如果扇区数据108在204处没有被压缩了多于k个字节,那么可以使用数据加密密钥(DEK)124对原始的未压缩扇区108进行加密,并且可以将加密的未压缩扇区发送到存储系统104用于存储。在206,如果扇区108在204处已经被压缩了k个或更多个字节,则可以创建前缀(或后缀,本技术可以应用于任一者或两者),前缀的大小等于原始扇区大小减去压缩后扇区的大小(SECTOR_SIZE–x)(扇区_大小–x)。前缀可以包括元数据(例如,压缩长度的编码)加上例如可压缩的零的序列。在208,可以将大小(SECTOR_SIZE–x)的前缀210与已用DEK加密的压缩扇区的x个字节212串接起来。在214,可以使用数据还原密钥(DRK)126对串接的数据进行加密,并且可以将该加密的压缩扇区数据发送到存储系统104用于存储。
取决于加密方法,可能存在对可以使用DEK加密的消息的大小的限制。如果是这种情况,值x将表示压缩后扇区的大小四舍五入为可以使用DEK加密的大小。
应注意,发送到存储系统的所有字节可由主机加密。因此,对主机与存储系统之间的通信进行监听的攻击者不会获得关于数据的可压缩性的信息。
存储系统写入过程300可以开始于302,其中存储系统104可以接收要存储的数据并且可以使用DRK来解密所接收的数据。在304,存储系统104可以检查解密后的所接收的数据。如果前缀不包含足够长的可压缩序列(例如,零),那么这不是一个可压缩扇区,于是可以存储114DRK解密前的所接收的数据,其是DEK加密的原始扇区。否则,在306,可以存储114解密后的所接收的数据。这就得到包括(SECTOR_SIZE–x)个字节可压缩前缀(未加密的)308的和用DEK 108加密的x个字节的压缩扇区的310的存储的数据114。
注意,写入存储系统的未加密前缀包含可压缩模式(例如,零的序列)。在实施例中,存储系统可以具有数据还原能力,这可以导致空间节省。
此外,实施例可以使用去重友好的加密,其中,可以将(明文的)相同扇区作为相同的加密扇区写入存储系统。在实施例中,存储系统可以具有基于去重的数据还原能力,这可以导致进一步的空间节省。
图4示出了根据本技术的从存储系统104读取数据的过程400的示例性流程图。最好结合图1进行查看。存储系统读取过程400可以从402开始,其中,如果所存储的扇区116包含k字节填充前缀,则可以使用DRK 126对扇区116进行加密,并将其发送到主机102。否则,在404,如果扇区116不具有k字节填充前缀,则不压缩扇区116,并可以将扇区116原样地发送到主机102。
主机侧读取过程500可以从502开始,其中可以使用DRK 126对从存储系统104接收的数据进行解密。在504,如果这产生不包含填充前缀的解密后的扇区,则可以用DEK 124来解密来自存储系统104的(在用DRK解密前的)原始接收的数据(其是DEK加密的扇区),以获得扇区122。
在506,否则,如果解密的扇区确实包括填充前缀,则可以从该前缀获得元数据,例如,指示压缩扇区的大小的两个字节。该元数据可以用作解压的参数。在508,可以用DEK124对压缩扇区进行解密以形成压缩扇区。然后,在508,可以用元数据308来将该压缩扇区解压成完整的SECTOR_SIZE个字节,以形成扇区122。
在许多加密机制中,扇区加密的结果可能取决于数据、加密密钥和初始化向量(IV)。可以用IV来防止将相同的明文扇区加密成相同的加密扇区。在实施例中,可以例如从扇区号计算IV。
本系统和方法的实施例可以以支持去重的方式对可压缩的数据进行加密。为了实现去重,相同的明文扇区应当映射到存储系统上的相同的加密扇区。因此,在实施例中,可以不从扇区号导出IV。相反,实施例可以从明文数据的带密钥哈希(密钥例如是DEK)导出IV。例如,实施例可以使用与扇区数据串接的DEK的SHA256。可以将该IV添加到加密扇区以便允许解密。为此,如果主机和存储系统之间的协议不变,则实施例可以仅对于可压缩数据这样做,因为扇区中的空闲空间可以用于存储IV数据。在实施例中,使用DRK的加密可能隐藏去重机会,因此将使用标准的基于扇区的IV。
实施例可以处理不可压缩的扇区。在写入操作中,如果主机确定某扇区是不可压缩的,则实施例可以如之前那样连同从扇区号导出的IV一起使用DEK来加密该扇区。可以将该加密的扇区发送到存储系统。存储系统可以确定是将该加密的扇区视为压缩扇区还是未压缩扇区。如果它是未压缩的,那么它应该按原样写入。如果它是压缩的,那么前缀扇区可以在写到存储器之前被解密。确定该扇区是否是可压缩的一种方式,是使用DRK尝试解密加密扇区的开始。如果结果包含可压缩模式,则扇区是可压缩的。
可以在本系统和方法的实施例中实现的其它特征可以包括例如性能增强,其中主机可以通过使所有可压缩扇区从一个零字节开始(从而将DRK加密的前缀的大小减小一个字节)来标记可压缩扇区。存储器将确切地知道任何没有以零字节开始的扇区都是不可压缩的。如果存储器接收到一个以零开始的扇区,它有可能是不可压缩的,有可能加密的扇区恰好以零字节开始。存储器可以通过如上所述地尝试使用DRK来解密前缀的开始来做出最终确定。虽然这可能泄露一些关于扇区是否是可压缩的(但不关于可压缩性的水平)的信息,但是它可以大大减少对非可压缩扇区进行不必要的解密尝试的次数。
进一步,实施例可以不是发送1个零字节,而是发送若干个零字节来指示扇区是可压缩的。例如,如果可压缩扇区由3个零字节表示,那么扇区被错误识别为是可压缩的扇区(导致存储系统不必要地尝试用DRK对其进行解密)的几率为256^3分之一。
另一个实施例可以包括指示组块是否是DRK加密的的元数据,以及指示使用了哪个DRK密钥的密钥_ID(key_ID)。例如,可以添加若干位,用于不同的密钥,以允许进行无中断的密钥轮换。
在实施例中,可以改变主机和存储系统之间的协议,以传递例如指示扇区是否可压缩的附加单个位。这将防止用DRK对不可压缩的扇区进行不必要的解密。
实施例可以包括不支持去重的存储系统。在这种实施例中,所有加密可以利用从扇区号导出的IV——没有必要确保相同的明文扇区被转换为相同的加密扇区。在存储系统确实支持去重的实施例中,相同的经加密的扇区可能被转换成相同的经加密的扇区,因此可以再次对经加密的数据进行加密,以防止攻击者(通过识别相同的经加密的扇区)获得关于数据的去重性的信息。因此,在不支持去重的实施例中,主机可以用DRK来仅加密前缀。压缩的数据可以仅用DEK加密一次(没有进一步的DRK加密)。
在实施例中,存储器可以不解密整个前缀。它可以仅解密包括元数据字节和可压缩模式(例如,30个零字节)的短前缀或前缀的一部分。可压缩模式可以充当数据确实被压缩的充分证明,并且可以从元数据确定完全可压缩模式的长度。由此,当存储器已经知道明文是可压缩模式时,就不需要对加密的可压缩模式的剩余部分进行解密。这同样适用于主机侧在读取期间的操作。
在实施例中,存储系统可以利用压缩在主机侧完成的事实,以便提高其数据还原能力的性能。如果存储系统识别出一个压缩扇区,那么它会立即获悉存在一个跟随有压缩和加密数据序列(其不能被进一步压缩)的可压缩模式。存储系统尝试压缩不可压缩数据是没有意义的。使用复杂的压缩算法来尝试压缩可压缩模式(例如,零序列)也没有任何意义,因为可以简单地将可压缩模式移除且可以不存储。在读取时,如果扇区比SECTOR_SIZE短,则存储器可以在用DRK重新加密之前填充填充前缀。
实施例可以包括支持去重的存储系统。在这样的实施例中,压缩扇区的前缀可以包含数据的哈希(初始化向量)。如果存储系统具有去重能力,则其可以利用该哈希进行去重。这可以有两个好处:a)它可以减轻存储系统重新计算哈希的需要;b)存储器通常会使用DRK来解密数据部分,但是如果存储系统确定已经存在相同的扇区(基于哈希的),那么它根本不需要解密压缩的数据。
所描述的密钥可压缩算法允许具有去重能力的存储器识别可压缩扇区中的相同扇区的序列。然而,它不能识别不可压缩扇区之间或可压缩和不可压缩扇区的混合之中的相同扇区的序列。实施例可以通过改变主机和存储系统之间的协议以包括使用DRK加密的不可压缩扇区的哈希来提供该功能。一旦这些哈希在存储系统上被解密,存储系统就可以利用关于可压缩和不可压缩扇区的哈希的信息来执行对所有加密数据的去重。
图5中示出了计算机系统500的示例性框图,其中可以实现本文所述的实施例中涉及的处理。计算机系统500可以使用一个或多个诸如嵌入式处理器、片上系统、个人计算机、工作站、服务器系统、以及小型计算机或大型计算机的编程的通用计算机系统来实现,或者在分布式联网计算环境中实现。计算机系统500可以包括一个或多个处理器(CPU)502A-502N、输入/输出电路504、网络适配器506和存储器508。CPU 502A-502N执行程序指令以便执行本通信系统和方法的功能。通常,CPU 502A-502N是一个或多个微处理器,例如INTEL
Figure BDA0003493650180000091
处理器。图5示出了其中计算机系统500被实现为单个多处理器计算机系统的实施例,其中多个处理器502A-502N共享系统资源,例如存储器508、输入/输出电路504和网络适配器506。然而,本通信系统和方法还包括其中计算机系统500被实现为多个联网计算机系统的实施例,所述多个联网计算机系统可以是单处理器计算机系统、多处理器计算机系统或其组合。
输入/输出电路504提供向计算机系统500输入数据或从计算机系统500输出数据的能力。例如,输入/输出电路可以包括输入设备(诸如键盘、鼠标、触摸板、轨迹球、扫描仪、模数转换器等)、输出设备(诸如视频适配器、监视器、打印机等)和输入/输出设备(诸如调制解调器等)。网络适配器506使设备500与网络510接合。网络510可以是任何公共的或专有的LAN或WAN,包括但不限于因特网。
存储器508存储由CPU 502执行的程序指令以及由CPU 502使用和处理以执行计算机系统500的功能的数据。存储器508例如可以包含诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、闪存之类的电子存储器设备,以及诸如磁盘驱动器、磁带驱动器、光盘驱动器之类的机电存储器,其可以使用集成驱动电子设备(IDE)接口或其变体或增强型,诸如增强型IDE(EIDE)或超直接存储器访问(UDMA)或基于小型计算机系统接口(SCSI)的接口或其变体或增强型,诸如快速SCSI,宽SCSI、快速及宽SCSI等,或串行高级技术附件(SATA),或其变体或增强,或光纤通道仲裁环路(FC-AL)接口。
存储器508的内容可以因计算机系统500被编程以执行的功能而异。在图5所示的示例中,示出了主机系统512和存储系统514的示例性存储器内容。然而,本领域的技术人员将认识到,这些例程连同与这些例程相关的存储器内容可能不包括在一个系统或设备上,而是可基于公知的工程考虑而分布在多个系统或设备中。本通信系统和方法可以包括任何和所有此类安排。
在图5所示的示例中,存储器508可以包括主机系统的读取例程516、写入例程518和待存储数据520,存储系统514的读取例程522、写入例程524和被存储数据526,以及操作系统528。主机系统读取例程516可以包括实施如上所述的主机系统读取过程的软件例程。主机系统写入例程518可以包括实施如上所述的主机系统写入过程的软件例程。如上所述,待存储数据520可以包括主机系统上的要存储到存储系统的数据。存储系统读取例程522可以包括实现如上所述的存储系统读取过程的软件例程。存储系统写入例程524可以包括实施如上所述的存储系统写入过程的软件例程。如上所述的,存储数据526可以包括来自主机系统的、已经被存储到存储系统的数据。操作系统例程528可以提供整体系统功能。
如图5所示,本通信系统和方法可以包括在提供多处理器、多任务、多进程和/或多线程计算的一个或多个系统上的实现,以及在仅提供单处理器、单线程计算的系统上的实现。多处理器计算涉及使用一个以上处理器来执行计算。多任务计算涉及使用一个以上操作系统任务来执行计算。任务是操作系统概念,指的是正在执行的程序和由操作系统使用的簿记信息的组合。程序无论何时被执行,操作系统都会为其创建新任务。该任务就像程序的信封,因为它用任务号来标识程序并且将其他簿记信息附加到其上。包括Linux、
Figure BDA0003493650180000101
Figure BDA0003493650180000102
Figure BDA0003493650180000103
在内的许多操作系统,都能同时运行许多任务,并被称为多任务操作系统。多任务是操作系统同时执行一个以上可执行文件的能力。每个可执行文件在其自身的地址空间中运行,意味着可执行文件无法共享其存储器中的任何存储器。这是有好处的,因为任何程序都不可能破坏系统上运行的任何其他程序的执行。但是,除了通过操作系统(或通过读取存储在文件系统上的文件)之外,程序无法交换任何信息。多进程计算类似于多任务计算,因为术语任务和进程常常可互换地使用,尽管一些操作系统在这两者之间做出区分。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质。计算机可读存储介质可为可保留和存储供指令执行设备使用的指令的有形设备。
计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、诸如穿孔卡或具有记录在其上的指令的槽中的凸出结构之类的机械编码设备、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(诸如Smalltalk、C++等)和过程程序设计语言(诸如“C”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或扇区,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
虽然已经描述了本发明的特定实施例,但是本领域的技术人员将理解,存在等同于所描述的实施例的其他实施例。因此,应当理解,本发明不受具体示出的实施例的限制,而仅受所附权利要求的范围的限制。

Claims (20)

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解密所述加密的数据扇区的至少一个扇区;
基于在所述解密的数据扇区的至少一部分中存在填充数据,确定所述数据扇区是否包括压缩数据;
当所述数据扇区为压缩的时,在所述计算机系统处使用所述DEK解密所述压缩数据并且在所述计算机系统处解压所述解密的压缩数据;以及
当所述数据扇区并非为压缩的时,在所述计算机系统处使用所述DEK解密所述加密的数据扇区而不解压;
其中,所述元数据包括所述原始数据扇区的压缩长度的值,并且所述值可以用于在使用所述DRK解密所述压缩数据之后解压所述压缩数据。
12.根据权利要求11所述的系统,其中,所述存储系统通过以下方式来发送加密的数据扇区:
在所述存储系统处,确定存储的扇区是否包括填充数据;
当所述存储的扇区包括填充数据时,在所述存储系统处使用所述DRK加密所述存储的扇区以形成所述加密的扇区,并且向所述计算机系统发送所述加密的扇区;以及
当所述存储的扇区不包括填充数据时,向所述计算机系统发送所述存储的扇区作为所述加密的扇区。
13.根据权利要求8所述的系统,进一步包括通过以下方式使用所述DEK和初始化向量对数据进行加密:
当将所述数据发送到支持去重的存储系统时,在所述计算机系统处生成对于相同数据的不同扇区相同的初始化向量;以及将所述初始化向量添加为元数据的一部分,以供将来使用DEK进行解密;以及
当所述数据为不可压缩的时,则基于扇区号来生成初始化向量。
14.根据权利要求11所述的系统,其中,所述使用DEK进行解密是使用所述元数据中包括的所述初始化向量执行的。
15.一种计算机程序产品,包括非瞬态计算机可读存储器,所述非瞬态计算机可读存储器具有随其包含的程序指令,所述程序指令可由计算机系统执行以致使所述计算机系统执行一种方法,所述方法包括:
在所述计算机系统处,通过生成包括第一部分和第二部分的新数据扇区来压缩原始数据扇区,所述第一部分包括元数据和填充数据,所述第二部分包括已压缩并用数据加密密钥(DEK)加密的原始数据扇区;
在所述计算机系统处,使用数据还原密钥(DRK)对所述新数据扇区进行加密;以及
在所述计算机系统处,将所述加密的新数据扇区发送到存储系统。
16.根据权利要求15所述的计算机程序产品,进一步包括:
当已被压缩的原始数据扇区已被压缩小于预定量时,不压缩原始数据扇区;
在所述计算机系统处,使用数据加密密钥(DEK)对未压缩的原始数据扇区进行加密;以及
在所述计算机系统处,将所述加密的未压缩的原始数据扇区发送到存储系统。
17.根据权利要求16所述的计算机程序产品,其中:
所述存储系统使用所述DRK对从所述计算机系统发送的所述扇区中的至少一些扇区进行解密,并且使用可压缩模式的存在或不存在来确定所发送的数据是否为压缩的;
当确定所述扇区并非为压缩的时,则存储系统存储未压缩的原始数据扇区而不进行修改;
当确定所述扇区为压缩的时,所述存储系统使用所述DRK解密所述主机发送的所述扇区,并存储解密的新数据扇区;以及
当所述存储系统具有内置压缩能力时,所述存储系统利用所述可压缩模式来节省存储空间。
18.根据权利要求17所述的计算机程序产品,进一步包括:
在所述计算机系统处,从所述存储系统接收加密的数据扇区;
在所述计算机系统处,使用所述DRK解密所述加密的数据扇区的至少一个扇区;
在所述计算机系统处,基于在所述解密的数据扇区的至少一部分中存在填充数据,确定所述数据扇区是否包括压缩数据;
当所述数据扇区为压缩的时,在所述计算机系统处使用所述DEK解密所述压缩数据并且在所述计算机系统处解压所述解密的压缩数据;以及
当所述数据扇区并非为压缩的时,在所述计算机系统处使用所述DEK解密所述加密的数据扇区而不解压;
其中,所述元数据包括所述原始数据扇区的压缩长度的值,并且所述值可以用于在使用所述DRK解密所述压缩数据之后解压所述压缩数据。
19.根据权利要求18所述的计算机程序产品,其中,所述存储系统通过以下方式来发送加密的数据扇区:
在所述存储系统处,确定存储的扇区是否包括填充数据;
当所述存储的扇区包括填充数据时,在所述存储系统处使用所述DRK加密所述存储的扇区以形成所述加密的扇区,并且向所述计算机系统发送所述加密的扇区;以及
当所述存储的扇区不包括填充数据时,向所述计算机系统发送所述存储的扇区作为所述加密的扇区。
20.根据权利要求19所述的计算机程序产品,其中:
所述方法进一步包括通过以下方式使用所述DEK和初始化向量对数据进行加密:
当将所述数据发送到支持去重的存储系统时,在所述计算机系统处生成对于相同数据的不同扇区相同的初始化向量;以及将所述初始化向量添加为元数据的一部分,以供将来使用DEK进行解密;以及
当所述数据为不可压缩的时,则基于扇区号来生成初始化向量;以及
使用所述元数据中包括的所述初始化向量来执行使用所述DEK进行解密。
CN202080054790.5A 2019-08-14 2020-07-31 密钥可压缩加密的方法和系统 Active CN114174978B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/540,088 2019-08-14
US16/540,088 US11372984B2 (en) 2019-08-14 2019-08-14 Key-compressible encryption
PCT/IB2020/057249 WO2021028771A1 (en) 2019-08-14 2020-07-31 Key-compressible encryption

Publications (2)

Publication Number Publication Date
CN114174978A true CN114174978A (zh) 2022-03-11
CN114174978B CN114174978B (zh) 2022-11-18

Family

ID=74567333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080054790.5A Active CN114174978B (zh) 2019-08-14 2020-07-31 密钥可压缩加密的方法和系统

Country Status (6)

Country Link
US (1) US11372984B2 (zh)
JP (1) JP7481076B2 (zh)
CN (1) CN114174978B (zh)
DE (1) DE112020003381T5 (zh)
GB (1) GB2601449B (zh)
WO (1) WO2021028771A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023081407A2 (en) * 2021-11-07 2023-05-11 Ntt Research, Inc. Cryptographic data message expansion for increasing adversarial storage requirements

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1463428A (zh) * 2001-04-13 2003-12-24 索尼公司 数据传送系统及设备、数据记录设备和数据传送方法
US20080065909A1 (en) * 2006-09-07 2008-03-13 Via Technologies, Inc. Virtual disk management methods
US20180322280A1 (en) * 2017-05-03 2018-11-08 International Business Machines Corporation Determining whether to destage write data in cache to storage based on whether the write data has malicious data
US20190004843A1 (en) * 2017-07-01 2019-01-03 Intel Corporation Technologies for memory replay prevention using compressive encryption
US20190050417A1 (en) * 2017-08-08 2019-02-14 Seagate Technology Llc Fixed record media conversion with data compression and encryption
US20190065788A1 (en) * 2017-08-31 2019-02-28 Pure Storage, Inc. Encryption management with host-side data reduction
US20190109869A1 (en) * 2017-10-06 2019-04-11 Carbonite, Inc. Systems and methods for detection and mitigation of malicious encryption

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341164B1 (en) * 1998-07-22 2002-01-22 Entrust Technologies Limited Method and apparatus for correcting improper encryption and/or for reducing memory storage
JP5431148B2 (ja) 2006-05-31 2014-03-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ストレージ用論理データオブジェクトの変換方法およびシステム
US8769311B2 (en) 2006-05-31 2014-07-01 International Business Machines Corporation Systems and methods for transformation of logical data objects for storage
JP5112003B2 (ja) * 2007-10-19 2013-01-09 株式会社日立製作所 ストレージ装置及びこれを用いたデータ格納方法
JP2009135871A (ja) * 2007-11-05 2009-06-18 Sumitomo Electric Ind Ltd 暗号鍵生成方法
US8731190B2 (en) * 2009-06-09 2014-05-20 Emc Corporation Segment deduplication system with encryption and compression of segments
US8200593B2 (en) * 2009-07-20 2012-06-12 Corticaldb Inc Method for efficiently simulating the information processing in cells and tissues of the nervous system with a temporal series compressed encoding neural network
WO2011036020A1 (en) * 2009-09-25 2011-03-31 International Business Machines Corporation Data storage
US8949513B2 (en) * 2011-05-10 2015-02-03 Marvell World Trade Ltd. Data compression and compacting for memory devices
JP2013062616A (ja) 2011-09-12 2013-04-04 Toshiba Corp 記憶装置、データ記憶方法、及びデータコントローラ
JP2014052899A (ja) 2012-09-07 2014-03-20 Toshiba Corp メモリシステムとその制御方法
DE112013006655T5 (de) * 2013-12-12 2015-11-19 Hitachi, Ltd. Speichervorrichtung und Verfahren zum Steuern der Speichervorrichtung
US9397833B2 (en) 2014-08-27 2016-07-19 International Business Machines Corporation Receipt, data reduction, and storage of encrypted data
JP6613568B2 (ja) 2015-01-19 2019-12-04 富士通株式会社 処理プログラム、処理装置および処理方法
US9892053B2 (en) * 2015-03-24 2018-02-13 Intel Corporation Compaction for memory hierarchies
US20160292446A1 (en) * 2015-04-06 2016-10-06 Lawlitt Life Solutions, LLC Data encryption and compression
US10095635B2 (en) * 2016-03-29 2018-10-09 Seagate Technology Llc Securing information relating to data compression and encryption in a storage device
US20180095674A1 (en) * 2016-09-30 2018-04-05 Intel Corporation Selective data compression/decompression for intermemory transfer interface
US10387661B2 (en) * 2017-01-09 2019-08-20 Pure Storage, Inc. Data reduction with end-to-end security
US11307998B2 (en) * 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US10564856B2 (en) * 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
CN107832021B (zh) * 2017-11-29 2020-09-22 厦门市美亚柏科信息股份有限公司 一种电子证据固定方法、终端设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1463428A (zh) * 2001-04-13 2003-12-24 索尼公司 数据传送系统及设备、数据记录设备和数据传送方法
US20080065909A1 (en) * 2006-09-07 2008-03-13 Via Technologies, Inc. Virtual disk management methods
US20180322280A1 (en) * 2017-05-03 2018-11-08 International Business Machines Corporation Determining whether to destage write data in cache to storage based on whether the write data has malicious data
US20190004843A1 (en) * 2017-07-01 2019-01-03 Intel Corporation Technologies for memory replay prevention using compressive encryption
US20190050417A1 (en) * 2017-08-08 2019-02-14 Seagate Technology Llc Fixed record media conversion with data compression and encryption
US20190065788A1 (en) * 2017-08-31 2019-02-28 Pure Storage, Inc. Encryption management with host-side data reduction
US20190109869A1 (en) * 2017-10-06 2019-04-11 Carbonite, Inc. Systems and methods for detection and mitigation of malicious encryption

Also Published As

Publication number Publication date
CN114174978B (zh) 2022-11-18
GB2601449A (en) 2022-06-01
DE112020003381T5 (de) 2022-04-21
WO2021028771A1 (en) 2021-02-18
GB202202785D0 (en) 2022-04-13
US20210049283A1 (en) 2021-02-18
JP2022544009A (ja) 2022-10-17
GB2601449B (en) 2022-10-19
JP7481076B2 (ja) 2024-05-10
US11372984B2 (en) 2022-06-28

Similar Documents

Publication Publication Date Title
US10691340B2 (en) Deduplication of objects by fundamental data identification
US10958416B2 (en) Encrypted and compressed data transmission with padding
US9735962B1 (en) Three layer key wrapping for securing encryption keys in a data storage system
KR101904635B1 (ko) 개인 디바이스 및 클라우드 데이터의 분산된 보안 백업
US11275603B2 (en) Technologies for memory replay prevention using compressive encryption
US8892907B2 (en) Storage and recovery of cryptographic key identifiers
EP3062261B1 (en) Community-based de-duplication for encrypted data
US9195851B1 (en) Offloading encryption to the client
US8401185B1 (en) Systems and methods for securely deduplicating data owned by multiple entities
US8495392B1 (en) Systems and methods for securely deduplicating data owned by multiple entities
CN111857550B (zh) 用于数据去重的方法、设备以及计算机可读介质
EP2759943A1 (en) File encryption method and device, file decryption method and device
US10608813B1 (en) Layered encryption for long-lived data
US11695541B2 (en) Implementing resilient deterministic encryption
CN111698576A (zh) 信息加密方法、解密方法、服务器、客户端及介质
CN114174978B (zh) 密钥可压缩加密的方法和系统
US11494351B2 (en) Deduplication of encrypted data
WO2020044095A1 (zh) 文件加密方法、装置、设备/终端/服务器及计算机可读存储介质
US20230267217A1 (en) Method and system for differential deduplication in untrusted storage
US9734154B2 (en) Method and apparatus for storing a data file
US20170372077A1 (en) Selective data encryption
US20240086335A1 (en) Systems and methods of supporting deduplication and compression of encrypted storage volumes
WO2020076404A2 (en) Initial vector value storage and derivation for encryption of segmented data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant