CN110058820B - 基于固态盘阵列的数据安全写入、删除、读取方法及装置 - Google Patents

基于固态盘阵列的数据安全写入、删除、读取方法及装置 Download PDF

Info

Publication number
CN110058820B
CN110058820B CN201910327205.3A CN201910327205A CN110058820B CN 110058820 B CN110058820 B CN 110058820B CN 201910327205 A CN201910327205 A CN 201910327205A CN 110058820 B CN110058820 B CN 110058820B
Authority
CN
China
Prior art keywords
data
solid
state disk
disk array
sub
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.)
Active
Application number
CN201910327205.3A
Other languages
English (en)
Other versions
CN110058820A (zh
Inventor
柴红刚
曾令仿
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.)
Wuhan Huidi Sen Information Technology Co ltd
Original Assignee
Wuhan Huidi Sen Information Technology Co ltd
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 Wuhan Huidi Sen Information Technology Co ltd filed Critical Wuhan Huidi Sen Information Technology Co ltd
Priority to CN201910327205.3A priority Critical patent/CN110058820B/zh
Publication of CN110058820A publication Critical patent/CN110058820A/zh
Application granted granted Critical
Publication of CN110058820B publication Critical patent/CN110058820B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0614Improving the reliability of 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
    • G06F3/0622Securing storage systems in relation to access
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

本发明适用于数据安全技术领域,提供一种基于固态盘阵列的数据安全写入、删除、读取方法及装置,本发明利用固态盘阵列中固态盘可并行操作的特点,采用秘密共享算法对密钥进行分割,利用纠删码算法对数据进行编码,当固态盘阵列中单个或多个固态盘上的部分数据丢失时,通过执行数据重构程序,对丢失的数据进行重构恢复,提升了固态盘阵列中数据的可靠性,通过结合使用秘密共享算法和纠删码算法保障数据可靠性和安全性,大大提升了存储空间利用率。

Description

基于固态盘阵列的数据安全写入、删除、读取方法及装置
技术领域
本发明属于数据安全技术领域,尤其涉及一种基于固态盘阵列的数据安全写入、删除、读取方法及装置。
背景技术
目前,基于闪存的固态盘(SSD)已成为磁盘的有力替代品,并且得到了学术界和工业界的广泛关注。固态盘除了应用于桌面机之外,也渐渐应用于服务器和企业级数据存储系统中。在企业级数据存储系统中,单个固态盘显然无法满足服务对存储系统容量、性能和可靠性的要求。因此,将磁盘阵列(RAID)算法应用到固态盘存储系统中,构建大容量、高性能和高可靠的存储系统非常有必要,即固态盘阵列。类似于RAID,固态盘阵列的性能也受到阵列中性能最差的成员盘的影响。因此,单个固态盘的不可靠将使得固态盘阵列表现出严重的性能波动。
固态盘阵列中的固态盘在内部都采用异地更新的操作方式,当用户使用安全软件对固态盘中的文件进行安全删除时,对目标数据的覆盖操作全部都被转移到新的空闲物理页。因此,敏感的目标数据不会被物理覆盖或擦除,而仅仅是在固态盘内被标记为无效数据。也就是说,文件内容依然会存在于闪存之中。所有的改变仅仅是,从原来的逻辑地址无法读取到目标文件的数据而已,此类被删除的数据很容易被恢复,数据的安全性无法保障。
基于闪存芯片的固态盘中数据安全删除问题研究,现有的主要手段是通过主机对设备目标数据进行数据填充的方式来实现数据的销毁或清除。这种方法对于闪存型存储器存在两方面问题:①该方法需要通过写操作来完成,而在闪存中写操作过程繁琐,耗时较长,时间开销很大;②出于对闪存寿命及磨损平衡的考虑,存储器保留有用于备份的冗余块,该方法在使用过程中会导致数据残留在备份块中。
发明内容
鉴于上述问题,本发明的目的在于提供一种种基于固态盘阵列的数据安全写入、删除、读取方法及装置,旨在解决现有技术中由于固态盘的异地更新特性导致数据无法安全删除,固态盘阵列的数据存储安全问题,以及大量覆盖写影响闪存寿命及磨损平衡等问题。
一方面,所述基于固态盘阵列的数据安全写入方法包括下述步骤:
生成一个随机秘钥,对待处理的源数据通过所述随机秘钥进行加密,得到加密数据;
通过秘密共享算法share(n,k)将所述随机秘钥进行冗余编码,得到n个子秘密,这里k为重构能力,即为可进行重构的子秘密的份额数量,任意k-1个子秘密无法恢复所述随机秘钥,n>k>0;
采用纠删码算法encode(n,k)对所述加密数据进行冗余编码,得到n个编码子数据,这里k为重构能力,即为可进行重构的编码子数据的份额数量,任意k-1个编码子数据无法恢复所述加密数据,n>k>0;
将n个所述子秘密和n个所述编码子数据一一对应组合,得到n个数据包,每个数据包包含一个子秘密和一个编码子数据,将所述n个数据包一一对应存放至固态盘阵列的n个固态盘中。
另一方面,所述基于固态盘阵列的数据安全删除方法,所述删除方法包括下述步骤:
将破坏冗余能力的至少n-(k-1)个固态盘上的数据包删除,即可完成源数据的安全删除。
进一步的,所述固态盘上的数据包删除采用全零覆写物理页的方式进行。
第三方面,所述基于固态盘阵列的数据安全读取方法,包括下述步骤:
根据秘密共享算法和纠删码算法的重构能力k,分别读取固态盘阵列中至少k个固态盘上的数据包;
对所有数据包中的子编码数据通过纠删码算法encode(n,k)对应的解码算法decode(n,k),重构得到加密数据;
对所有数据包中的子秘密通过秘密共享算法share(n,k)对应的合并算法combine(n,k),重构得到随机秘钥;
用重构得到的所述随机秘钥对所述加密数据进行反向解密,得到源数据,完成数据读取过程。
第四方面,所述基于固态盘阵列的数据安全写入装置包括:
加密单元,用于生成一个随机秘钥,对待处理的源数据通过所述随机秘钥进行加密,得到加密数据;
共享处理单元,用于通过秘密共享算法share(n,k)将所述随机秘钥进行冗余编码,得到n个子秘密,这里k为重构能力,即为可进行重构的子秘密的份额数量,任意k-1个子秘密无法恢复所述随机秘钥,n>k>0;
纠删码单元,用于采用纠删码算法encode(n,k)对所述加密数据进行冗余编码,得到n个编码子数据,这里k为重构能力,即为可进行重构的编码子数据的份额数量,任意k-1个编码子数据无法恢复所述加密数据,n>k>0;
数据存储单元,用于将n个所述子秘密和n个所述编码子数据一一对应组合,得到n个数据包,每个数据包包含一个子秘密和一个编码子数据,将所述n个数据包一一对应存放至固态盘阵列的n个固态盘中。
第五方面,所述基于固态盘阵列的数据安全删除装置包括:
安全删除单元,用于将破坏冗余能力的至少n-(k-1)个固态盘上的数据包删除,即可完成源数据的安全删除。
进一步的,所述固态盘上的数据包删除采用全零覆写物理页的方式进行。
第六方面,所述基于固态盘阵列的数据安全读取装置,包括:
数据读取单元,用于根据秘密共享算法和纠删码算法的重构能力k,分别读取固态盘阵列中至少k个固态盘上的数据包;
第一重构单元,用于对所有数据包中的子编码数据通过纠删码算法encode(n,k)对应的解码算法decode(n,k),重构得到加密数据;
第二重构单元,用于对所有数据包中的子秘密通过秘密共享算法share(n,k)对应的合并算法combine(n,k),重构得到随机秘钥;
反向解密单元,用于用重构得到的所述随机秘钥对所述加密数据进行反向解密,得到源数据,完成数据读取过程。
本发明的有益效果是:本发明利用固态盘阵列中固态盘可并行操作的特点,采用秘密共享算法对密钥进行分割,利用纠删码算法对数据进行编码,当固态盘阵列中单个或多个固态盘上的部分数据丢失时,通过执行数据重构程序,对丢失的数据进行重构恢复,提升了固态盘阵列中数据的可靠性,通过结合使用秘密共享算法和纠删码算法保障数据可靠性和安全性,大大提升了存储空间利用率;同时,利用冗余编码的特性,对数据的删除不再需要对整个数据进行覆盖写,而是删除部分数据块来保证数据无法恢复,破坏了数据的完整性,删除过程减小了擦除开销以及对固态盘的磨损,残余数据被加密保护,即使攻击者得到数据,也不能获取明文,达到数据安全删除的目的。
附图说明
图1是固态盘阵列的硬件结构图;
图2是本发明第一实施例提供的基于固态盘阵列的数据安全写入方法的流程图;
图3是本发明第一实施例提供的基于固态盘阵列的数据安全读取方法的流程图;
图4是密钥分割及数据编码过程示意图;
图5是本发明第二实施例提供的的基于固态盘阵列的数据安全写入装置的结构方框图;
图6是本发明第二实施例提供的的基于固态盘阵列的数据安全读取装置的结构方框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明方法基于如图1所示的固态盘阵列的硬件结构实现,包括主机、阵列控制器以及固态盘阵列,其中阵列控制器在各个固态盘之间进行总线调度,对固态盘进行直接控制,多个固态盘之间相互独立。从硬件结构上看,固态盘阵列可以通过多个固态盘并行操作,来达到极高的数据吞吐率,并且在各固态盘内部可以通过对多个数据通道进行并行操作,使数据传输率接近通道的最大传输速度。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图2示出了本发明实施例提供的基于固态盘阵列的数据安全写入方法的流程,为了便于说明仅示出了与本发明实施例相关的部分。
如图2所示,本实施例提供的述基于固态盘阵列的数据安全写入方法包括下述步骤:
步骤S21、生成一个随机秘钥,对待处理的源数据通过所述随机秘钥进行加密,得到加密数据。
假设随机秘钥是key,即key=generateSecretkey();源数据为X,本实施例不限定具体的加密算法,如AES加密算法,假设加密函数为E,最后得到的加密数据e=E(X,key)。
步骤S22、通过秘密共享算法share(n,k)将所述随机秘钥进行冗余编码,得到n个子秘密,这里k为重构能力,即为可进行重构的子秘密的份额数量,任意k-1个子秘密无法恢复所述随机秘钥,n>k>0。
秘密共享算法(secret sharing)将输入数据秘密(secret)转换成编码后的输出数据份额(shares),目的在于保障秘密的容错性和保密性。秘密共享算法通过两个参数(w,p)进行定义:该算法将秘密编码为w个份额(s>p>0),(i)秘密可以通过任何p个份额进行重构,(ii)秘密不能通过任何(p-1)个份额推断出来。秘密共享算法的安全性通常由每个份额所包含的秘密的信息以及(p-1)个份额所包含的信息保证。当(p-1)个份额没有提供任何关于隐藏的秘密的信息时,就是一个完备的秘密共享方案。在完备的秘密共享方案中,任意恶意的用户拥有(p-1)个份额时,猜出秘密的可能性和没有任何份额时是一样的。
因此根据上述秘密共享算法思想,本发明通过秘密共享算法所述随机秘钥key进行冗余编码,假设秘密共享算法为share(n,k),n,k为参数,总共得到n个子秘密,分别为S1,S2,…,Sn;这里k为重构能力,即为可进行重构的子秘密的份额数量,因此任意k-1个子秘密无法恢复所述随机秘钥,n>k>0。
步骤S23、采用纠删码算法encode(n,k)对所述加密数据进行冗余编码,得到n个编码子数据,这里k为重构能力,即为可进行重构的编码子数据的份额数量,任意k-1个编码子数据无法恢复所述加密数据,n>k>0。
纠删码算法主要是将原始的数据进行编码得到冗余,并将数据和冗余一并存储起来,以达到容错的目的。其基本思想是将r块原始的数据元素通过一定的计算,得到m块冗余元素(校验块)。对于这r+m块的元素,当其中任意的m块元素出错(包括原始数据和冗余数据)时,均可以通过对应的重构算法恢复出原来的r块数据。生成校验的过程被成为编码(encoding),恢复丢失数据块的过程被称为解码(decoding)。磁盘利用率为r/(r+m)。基于纠删码的方法与多副本方法相比具有冗余度低、磁盘利用率高等优点。
因此根据上述纠删码算法思想,本发明通过纠删码算法对所述加密数据进行冗余编码,得到n个编码子数据,分别为V1,V2,…,Vn,假设纠删码算法为encode(n,k),n,k为参数,这里k为重构能力,即为可进行重构的编码子数据的份额数量,即任意k-1个编码子数据无法恢复所述加密数据,n>k>0。
步骤S24、将n个所述子秘密和n个所述编码子数据一一对应组合,得到n个数据包,每个数据包包含一个子秘密和一个编码子数据,将所述n个数据包一一对应存放至固态盘阵列的n个固态盘中。
n个所述子秘密和n个所述编码子数据一一对应组合后的数据包为(Si,Vi),其中i为第i个数据包,i=1,2,…,n。然后将这n个数据包一一对应存放在n个固态盘上,即数据包(Si,Vi)存放在第i个固态盘上。
因此,根据这种数据存储模式,当需要读取数据时,如图3所示,具体过程如下:
步骤S31、根据秘密共享算法和纠删码算法的重构能力k,分别读取固态盘阵列中至少k个固态盘上的数据包;
步骤S32、对所有数据包中的子编码数据通过纠删码算法encode(n,k)对应的解码算法decode(n,k),重构得到加密数据e;
步骤S33、对所有数据包中的子秘密通过秘密共享算法share(n,k)对应的合并算法combine(n,k),重构得到随机秘钥key;
步骤S34、用重构得到的所述随机秘钥对所述加密数据进行反向解密,得到源数据X=D(e,key),完成数据读取过程。
当所述固态盘阵列中单个或多个固态盘的部分数据丢失时,只要剩下固态盘的数据冗余能力n-(k-1)没被破坏,也就是说,n个固态盘中,只要少于n-(k-1)个固态盘的数据被破坏,可选择执行数据重构程序,对丢失的数据进行重构恢复。
当需要删除固态盘上数据时,根据所述秘密共享算法和纠删码技术的冗余能力n-(k-1),将达到破坏冗余能力n-(k-1)的固态盘数目上的数据包删除,即可完成源数据的安全删除。即将不少于n-(k-1)个固态盘的数据包删除,对固态盘上数据的删除可采取全零覆写物理页的方式进行。
本发明将秘密共享算法和纠删码算法的基本原理引入其中,分别用于分割密钥和数据信息,通过破坏固态盘阵列中各固态盘数据的冗余能力,结合数据转换处理操作,在破坏数据完整性后,剩余数据均已加密,即使攻击者得到部分编码数据,也不能获取明文,从而达到安全删除数据的目的,相应地可有效解决现有技术中由于固态盘的异地更新特性导致数据无法安全删除,固态盘阵列的数据存储安全问题,以及大量覆盖写影响闪存寿命及磨损平衡等问题。本实施例打破常规思维,传统方案中冗余技术是用来保障数据可靠性,在本发明中利用其数据冗余能力被破坏后数据不可获取的特性,实现了数据安全删除。
为了便于理解,下面列举一具体实例,如图4所示,实施例中,以n=4,k=3为例。利用密钥key加密(如AES加密算法)源数据X,对加密后的数据e使用纠删码技术(如Reed-Solomon码)编码,产生n个子编码数据v1、v2、v3、v4,对密钥key使用秘密共享算法(如shamir)进行分割,得到n个子密码s1、s2、s3、s4,而v1s1、v2s2、v3s3和v4s4代表每一个组合后的数据包,它们分别由一个子编码数据和一个子密码组成。将所有数据包分发到固态盘阵列的n个固态盘上,根据该实例的特性,通过2个份额是无法推断出源数据的,故当执行数据安全删除时,破坏其中两个份额即可,剩下的份额已被加密保护,达到数据安全删除的目的。在这里描述的是一个源数据分割为4份的情况,只是一个实例,实际上源数据可以分割为n份,也可以采用其他加密算法、纠删码技术和秘密共享机制。
实施例二:
图5示出了本发明实施例提供的述基于固态盘阵列的数据安全写入装置的结构,为了便于说明仅示出了与本发明实施例相关的部分。
本实施例提供的基于固态盘阵列的数据安全写入装置,如图5所示,包括:
加密单元501,用于生成一个随机秘钥,对待处理的源数据通过所述随机秘钥进行加密,得到加密数据;
共享处理单元502,用于通过秘密共享算法share(n,k)将所述随机秘钥进行冗余编码,得到n个子秘密,这里k为重构能力,即为可进行重构的子秘密的份额数量,任意k-1个子秘密无法恢复所述随机秘钥,n>k>0;
纠删码单元503,用于采用纠删码算法encode(n,k)对所述加密数据进行冗余编码,得到n个编码子数据,这里k为重构能力,即为可进行重构的编码子数据的份额数量,任意k-1个编码子数据无法恢复所述加密数据,n>k>0;
数据存储单元504,用于将n个所述子秘密和n个所述编码子数据一一对应组合,得到n个数据包,每个数据包包含一个子秘密和一个编码子数据,将所述n个数据包一一对应存放至固态盘阵列的n个固态盘中。
上述各功能单元501-504对应了实施例一种的步骤S21-S24,具体实现时,通过加密单元生成一个随机秘钥,并对源数据加密,共享处理单元通过秘密共享算法对随机秘钥进行冗余编码,纠删码单元通过纠删码技术对加密后的数据进行冗余编码,最后数据存储单元将子秘密和编码子数据一一对应组合生成多个数据包,每个数据包存储在对应的一个固态盘中。
当需要读取数据时,通过固态盘阵列的数据安全读取装置实现,如图6所示,具体包括:
数据读取单元601,用于根据秘密共享算法和纠删码算法的重构能力k,分别读取固态盘阵列中至少k个固态盘上的数据包;
第一重构单元602,用于对所有数据包中的子编码数据通过纠删码算法encode(n,k)对应的解码算法decode(n,k),重构得到加密数据;
第二重构单元603,用于对所有数据包中的子秘密通过秘密共享算法share(n,k)对应的合并算法combine(n,k),重构得到随机秘钥;
反向解密单元604,用于用重构得到的所述随机秘钥对所述加密数据进行反向解密,得到源数据,完成数据读取过程。
上述各个功能单元601-604对应实现了实施例一中的步骤S31-S34,数据读取是数据写入的反向过程,这里不再赘述。
当需要删除数据时,通过基于固态盘阵列的数据安全删除装置实现,改装置包括:
安全删除单元,用于将破坏冗余能力的至少n-(k-1)个固态盘上的数据包删除,即可完成源数据的安全删除。所述固态盘上的数据包删除采用全零覆写物理页的方式进行。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于固态盘阵列的数据安全写入方法,所述固态盘阵列中有n个固态盘,其特征在于,所述数据安全写入方法包括下述步骤:
生成一个随机秘钥,对待处理的源数据通过所述随机秘钥进行加密,得到加密数据;
通过秘密共享算法share(n,k)将所述随机秘钥进行冗余编码,得到n个子秘密,这里k为重构能力,即为可进行重构的子秘密的份额数量,任意k-1个子秘密无法恢复所述随机秘钥,n>k>0;
采用纠删码算法encode(n,k)对所述加密数据进行冗余编码,得到n个编码子数据,这里k为重构能力,即为可进行重构的编码子数据的份额数量,任意k-1个编码子数据无法恢复所述加密数据,n>k>0;
将n个所述子秘密和n个所述编码子数据一一对应组合,得到n个数据包,每个数据包包含一个子秘密和一个编码子数据,将所述n个数据包一一对应存放至固态盘阵列的n个固态盘中。
2.一种基于固态盘阵列的数据安全删除方法,其特征在于,所述固态盘阵列按照如权利要求1所述数据安全写入方法存放有n个数据包,所述删除方法包括下述步骤:
将破坏冗余能力的至少n-(k-1)个固态盘上的数据包删除,即可完成源数据的安全删除。
3.如权利要求2所述基于固态盘阵列的数据安全删除方法,其特征在于,所述固态盘上的数据包删除采用全零覆写物理页的方式进行。
4.一种基于固态盘阵列的数据安全读取方法,所述固态盘阵列按照如权利要求1所述数据安全写入方法存放有n个数据包,所述读取方法包括下述步骤:
根据秘密共享算法和纠删码算法的重构能力k,分别读取固态盘阵列中至少k个固态盘上的数据包;
对所有数据包中的子编码数据通过纠删码算法encode(n,k)对应的解码算法decode(n,k) ,重构得到加密数据;
对所有数据包中的子秘密通过秘密共享算法share(n,k)对应的合并算法combine(n,k),重构得到随机秘钥;
用重构得到的所述随机秘钥对所述加密数据进行反向解密,得到源数据,完成数据读取过程。
5.一种基于固态盘阵列的数据安全写入装置,所述固态盘阵列中有n个固态盘,其特征在于,所述数据安全写入装置包括:
加密单元,用于生成一个随机秘钥,对待处理的源数据通过所述随机秘钥进行加密,得到加密数据;
共享处理单元,用于通过秘密共享算法share(n,k)将所述随机秘钥进行冗余编码,得到n个子秘密,这里k为重构能力,即为可进行重构的子秘密的份额数量,任意k-1个子秘密无法恢复所述随机秘钥,n>k>0;
纠删码单元,用于采用纠删码算法encode(n,k)对所述加密数据进行冗余编码,得到n个编码子数据,这里k为重构能力,即为可进行重构的编码子数据的份额数量,任意k-1个编码子数据无法恢复所述加密数据,n>k>0;
数据存储单元,用于将n个所述子秘密和n个所述编码子数据一一对应组合,得到n个数据包,每个数据包包含一个子秘密和一个编码子数据,将所述n个数据包一一对应存放至固态盘阵列的n个固态盘中。
6.一种基于固态盘阵列的数据安全删除装置,其特征在于,所述固态盘阵列按照如权利要求5所述数据安全写入装置存放有n个数据包,所述删除装置包括:
安全删除单元,用于将破坏冗余能力的至少n-(k-1)个固态盘上的数据包删除,即可完成源数据的安全删除。
7.如权利要求6所述基于固态盘阵列的数据安全删除装置,其特征在于,所述固态盘上的数据包删除采用全零覆写物理页的方式进行。
8.一种基于固态盘阵列的数据安全读取装置,所述固态盘阵列中有n个固态盘,其特征在于,所述固态盘阵列按照如权利要求5所述数据安全写入装置存放有n个数据包,所述读取装置包括:
数据读取单元,用于根据秘密共享算法和纠删码算法的重构能力k,分别读取固态盘阵列中至少k个固态盘上的数据包;
第一重构单元,用于对所有数据包中的子编码数据通过纠删码算法encode(n,k)对应的解码算法decode(n,k) ,重构得到加密数据;
第二重构单元,用于对所有数据包中的子秘密通过秘密共享算法share(n,k)对应的合并算法combine(n,k),重构得到随机秘钥;
反向解密单元,用于用重构得到的所述随机秘钥对所述加密数据进行反向解密,得到源数据,完成数据读取过程。
CN201910327205.3A 2019-04-23 2019-04-23 基于固态盘阵列的数据安全写入、删除、读取方法及装置 Active CN110058820B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910327205.3A CN110058820B (zh) 2019-04-23 2019-04-23 基于固态盘阵列的数据安全写入、删除、读取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910327205.3A CN110058820B (zh) 2019-04-23 2019-04-23 基于固态盘阵列的数据安全写入、删除、读取方法及装置

Publications (2)

Publication Number Publication Date
CN110058820A CN110058820A (zh) 2019-07-26
CN110058820B true CN110058820B (zh) 2022-05-17

Family

ID=67320142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910327205.3A Active CN110058820B (zh) 2019-04-23 2019-04-23 基于固态盘阵列的数据安全写入、删除、读取方法及装置

Country Status (1)

Country Link
CN (1) CN110058820B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995420A (zh) * 2019-11-27 2020-04-10 支付宝(杭州)信息技术有限公司 一种数据处理方法和系统
CN111176883B (zh) * 2019-12-24 2022-05-20 中山大学 基于纠删码的闪存固态盘数据主动重构方法及读取方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8774410B1 (en) * 2011-12-23 2014-07-08 Emc Corporation Secret sharing in cryptographic devices via controlled release of plaintext information
CN104704504A (zh) * 2012-09-26 2015-06-10 净睿存储股份有限公司 生成加密密钥的多驱动器协作
CN105516340A (zh) * 2015-12-30 2016-04-20 中国农业大学 一种云存储数据可恢复性验证方法及系统
CN105608394A (zh) * 2015-12-22 2016-05-25 华中科技大学 一种基于闪存的固态盘的数据安全删除方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103188081A (zh) * 2006-11-07 2013-07-03 安全第一公司 用于分发数据和保护数据安全的系统和方法
US20100131752A1 (en) * 2008-11-26 2010-05-27 Ulrich Flegel Method and system for invalidation of cryptographic shares in computer systems
US8918897B2 (en) * 2009-11-24 2014-12-23 Cleversafe, Inc. Dispersed storage network data slice integrity verification
DE102011010613B4 (de) * 2011-02-08 2020-09-10 Fujitsu Ltd. Verfahren zum Speichern und Wiederherstellen von Daten, Verwendung der Verfahren in einer Storage Cloud, Speicherserver und Computerprogrammprodukt
US10331519B2 (en) * 2012-10-08 2019-06-25 International Business Machines Corporation Application of secret sharing schemes at multiple levels of a dispersed storage network
CN103118089A (zh) * 2013-01-22 2013-05-22 华中科技大学 一种基于多个云存储系统的安全存储方法及其系统
US10230529B2 (en) * 2015-07-31 2019-03-12 Microsft Technology Licensing, LLC Techniques to secure computation data in a computing environment
US10089178B2 (en) * 2016-02-29 2018-10-02 International Business Machines Corporation Developing an accurate dispersed storage network memory performance model through training
CN109213420A (zh) * 2017-06-29 2019-01-15 杭州海康威视数字技术股份有限公司 数据存储方法、装置及系统
CN108809652B (zh) * 2018-05-21 2021-07-23 安徽航天信息有限公司 一种基于秘密共享的区块链加密账本
CN109324756A (zh) * 2018-08-22 2019-02-12 华中科技大学 一种基于固态盘阵列的数据安全删除方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8774410B1 (en) * 2011-12-23 2014-07-08 Emc Corporation Secret sharing in cryptographic devices via controlled release of plaintext information
CN104704504A (zh) * 2012-09-26 2015-06-10 净睿存储股份有限公司 生成加密密钥的多驱动器协作
CN105608394A (zh) * 2015-12-22 2016-05-25 华中科技大学 一种基于闪存的固态盘的数据安全删除方法
CN105516340A (zh) * 2015-12-30 2016-04-20 中国农业大学 一种云存储数据可恢复性验证方法及系统

Also Published As

Publication number Publication date
CN110058820A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
US11233643B1 (en) Distributed data storage system data decoding and decryption
US8744071B2 (en) Dispersed data storage system data encryption and encoding
US9819659B2 (en) Iterative data secret-sharing transformation
KR100858304B1 (ko) 데이터 보호 시스템, 방법 및 프로그램을 기록한 컴퓨터로판독가능한 기록매체
US7865440B2 (en) Method, system, and program for securely providing keys to encode and decode data in a storage cartridge
US9483656B2 (en) Efficient and secure data storage utilizing a dispersed data storage system
US6993661B1 (en) System and method that provides for the efficient and effective sanitizing of disk storage units and the like
US8135958B2 (en) Method, system, and apparatus for dynamically validating a data encryption operation
US8656187B2 (en) Dispersed storage secure data decoding
CN108701197A (zh) 高效的秘密密钥加密的安全切片
US20050050342A1 (en) Secure storage utility
CN105608394B (zh) 一种基于闪存的固态盘的数据安全删除方法
CN103620690A (zh) 加密传输固态盘控制器
CN103118089A (zh) 一种基于多个云存储系统的安全存储方法及其系统
CN101484905A (zh) 为存储装置提供安全实现的方法和系统
US9323943B2 (en) Decrypt and encrypt data of storage device
CN110058820B (zh) 基于固态盘阵列的数据安全写入、删除、读取方法及装置
US9235532B2 (en) Secure storage of full disk encryption keys
JP2020038650A (ja) ベクトルプロセッサ格納
CN104484126A (zh) 一种基于纠删码的数据安全删除方法和系统
JP2005250866A (ja) 秘密情報保管システム
KR20080076721A (ko) 부호화 장치 및 부호화 방법
CN109324756A (zh) 一种基于固态盘阵列的数据安全删除方法
US9450617B2 (en) Distribution and replication of erasure codes
US20160026582A1 (en) Encrypt data of storage device

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