基于多云环境下的一种快速数据安全保护算法
文献发布时间:2023-06-19 12:05:39
技术领域
本发明涉及数据安全存储技术领域,特别涉及基于多云环境下的一种快速数据安全保护算法。
背景技术
现有安全分布式云存储主要是通过信息分散技术实现的,信息分散技术包括:Shamir的完美信息分散方案(SSS)、Rabin的信息分散算法(IDA)、Krawczyk的短信息分散算法(SSMS)、Rivest的Aont算法(AONT-RS)、截断式存储、增加存储点存储等;但是这些信息分散技术都存在明显的缺陷,SSS虽然达到了理论的安全,但是对大数据效率很低,仅对小数据有适用性,并且应用场景很少,实际不适合云存储;IDA增加少量冗余可恢复原始数据,但安全性很低;SSMS的安全跟性能完全依赖于它使用的加密和信息分散算法,并且在密钥管理需要消耗大量成本;AONT-RS本身是一种编码方式,但安全性跟加密算法相比弱了很多;截断式存储方式通常会直接暴露了部分数据信息,造成安全性问题;增加存储点存储的存储点增多,进而会导致费用高昂;因此,本发明提供了基于多云环境下的一种快速数据安全保护算法,结合置换、完美分散算法实现多云环境下数据的存储功能,有效解决了现有技术方案中存在的问题,不仅安全性能高,而且存储容量大,速度快,并且成本还低。
发明内容
本发明提供了基于多云环境下的一种快速数据安全保护算法,结合置换、完美分散算法实现多云环境下数据的存储功能,有效解决了现有技术方案中存在的问题,不仅安全性能高,而且存储容量大,速度快,并且成本还低。
本发明提供基于多云环境下的一种快速数据安全保护算法,包括:
将待处理数据按照划分规则进行数据划分,获得数据碎片;
随机生成多个置换数组;
按照异或方式把所述置换数组拆分成置换分散数组;
通过置换分散数组针对所述数据碎片进行加密处理,获得加密数据块;
将置换分散数组分别分散到数据碎片中,与所述加密数据块共同构成加密数据碎片;
将所述加密数据碎片按照平均存储规则存储到云端存储点。
进一步地,所述将待处理数据按照划分规则进行数据划分,获得数据碎片的过程包括:
将待处理数据进行初步划分,得到多个初步划分数据块;
针对每个初步划分数据块进行再次划分,将所述初步划分数据块划分成多个小型数据块;
按照划分规则将所述待处理数据以初步划分数据块为单位平均分成多个数据碎片,使得每个数据碎片由相同个数的小型数据块构成。
进一步地,所述数据碎片的数目是云端存储点数目的倍数,且所述初步划分数据块与所述小型数据块之间的比值恰好与所述数据碎片的数目值大小相等。
进一步地,所述通过置换分散数组针对所述数据碎片进行加密处理的过程中,首先针对所有数据碎片中的第一个初步划分数据块分别进行加密处理,当所有数据碎片中的第一个初步划分数据块都完成数据加密后,再对所有数据碎片中第二个初步划分数据块分别进行加密处理,当所有数据碎片中的第二个初步划分数据块都完成数据加密后,再对所有数据碎片中第三个初步划分数据块分别进行加密处理,直至数据碎片中所有初步划分数据块全部完成加密处理。
进一步地,所述针对所有数据碎片中的第一个初步划分数据块分别进行加密处理的步骤包括:
A1、用所述分散数组中的分散数据按照次序分别对对应次序的数据碎片中第一个初步划分数据块的小型数据块进行加密处理,获得数据碎片的第一加密数据块;
A2、通过所述置换数组按照次序对对应次序的所述数据碎片的第一加密数据块进行位置顺序变换,获得每个数据碎片的第一更新置换分散数组。
进一步地,所述对所有数据碎片中第二个初步划分数据块分别进行加密处理的方法包括如下步骤:
B1、根据相邻数据碎片的第一更新置换分散数组对数据碎片的第二个初步划分数据块中小型数据块进行加密,获得数据碎片的第二加密数据块;
B2、在所述多个置换数组中匹配对应的置换数组;
B3、通过匹配的置换数组对所述数据碎片的第二加密数据块进行位置顺序变换,获得每个数据碎片的第二更新置换分散数组;
所述数据碎片中第二个初步划分数据块以后的初步划分数据块均按照步骤B1至B3进行加密,直至完成数据碎片中所有初步划分数据块的加密,得到加密数据块。
进一步地,所述将置换分散数组分别分散到数据碎片中,与所述加密数据块共同构成加密数据碎片,其过程包括:
通过完美密钥分散方法将加密处理过程中采用的置换分散数组分散匹配数据碎片;
将数据碎片对应的加密数据块与分散匹配的分散数据组共同构成加密数据碎片。
进一步地,将所述构成加密数据碎片按照平均存储规则存储到云端存储点时,相邻的数据碎片的加密数据碎片不存储在同一个云端存储点里。
进一步地,将所述构成加密数据碎片按照平均存储规则存储到云端存储点的过程中,包括:
确定所述加密数据碎片;将所有的加密数据碎片进行汇总,并将所述加密数据碎片的次序打乱,获得随机排列顺序下的加密数据碎片;
将随机排列顺序下的加密数据碎片按照平均规则进行分块,获得多个加密数据碎片单元块;把随机排列顺序下的加密数据碎片按照云端存储点的数目进行分块,使得每个加密数据碎片单元块中加密数据碎片的数目是一致的;
针对每个加密数据碎片单元块进行检验;在每个加密数据碎片单元块中检验加密数据碎片单元块中加密数据碎片对应的原始数据是否存在连续的待处理数据,若不存在连续的加密数据碎片单元块中加密数据碎片对应的原始数据不存在连续的待处理数据,则检验合格,否则针对存在连续的待处理数据的加密数据碎片单元块进行调整后再次进行检验,直至检验合格;
将检验合格的加密数据碎片单元块存储到云端存储点中;通过随机排列组合将加密数据碎片单元块与云端存储点进行搭配,并按照搭配结果进行数据存储。
进一步地,所述针对每个加密数据碎片单元块进行检验的步骤包括:
S1、获取加密数据碎片单元块的信息,将加密数据碎片单元块记为A
A
其中,a
S2、根据下述公式将加密数据碎片进行组合连接;
H
上述公式中,H
S3、根据下述公式获得检验结果;
上述公式中,G
当检验结果为检验不合格时,将加密数据碎片单元块中的加密数据碎片与其它加密数据碎片单元块中的加密数据碎片进行调整后再次进行步骤S1至S3,直至检验合格。
本发明至少具有如下有益效果:
(1)本发明提供的基于多云环境下的一种快速数据安全保护算法,无需针对加密过程中的密钥进行管理,有效降低了成本;而且在进行加密处理时,结合置换算法,增加数据的安全性,使得加密后的数据安全性更高;并且,在加密处理时,不同数据碎片中采用相同加密方法加密的处理的数据可以同时进行加密处理,加快加密处理的速度,提升所述的快速数据安全保护算法的效率,此外,在多云环境下通过多个云端存储点进行存储,具有较大的存储容量,提高了数据存储的容量。
(2)本发明提供的基于多云环境下的一种快速数据安全保护算法,通过分散数组和加密数据块共同构成加密数据,使得分散数组在作为加密过程中的密钥时,与加密数据块共同存储,避免了设置专门的密钥管理单元,有效降低了管理成本。
(3)本发明提供的基于多云环境下的一种快速数据安全保护算法,在进行存储时,通过相邻数据碎片的加密数据碎片不会存储在同一个云端存储点中,使得如果想解密,必须把所有云存储点中的所有加密数据碎片集齐才可以解密,避免通过单个云端存储点获取数据或者盗取数据,提高了数据的安全性。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明所述的一种快速数据安全保护算法的步骤流程图;
图2为本发明所述的基于多云环境下的一种快速数据安全保护算法中步骤一的示意图;
图3为本发明所述的基于多云环境下的一种快速数据安全保护算法的中数据碎片中第一初步划分数据块加密步骤流程图;
图4为本发明所述的基于多云环境下的一种快速数据安全保护算法的中数据碎片中高次序初步划分数据块加密步骤流程图;
图5为本发明所述的基于多云环境下的一种快速数据安全保护算法的中数据碎片中高次序初步划分数据块加密示意图;
图6为本发明所述的基于多云环境下的一种快速数据安全保护算法中步骤六的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供了基于多云环境下的一种快速数据安全保护算法,包括:
步骤一、将待处理数据按照划分规则进行数据划分,获得数据碎片;
步骤二、随机生成多个置换数组;
步骤三、按照异或方式把所述置换数组拆分成置换分散数组;
步骤四、通过置换分散数组针对所述数据碎片进行加密处理,获得加密数据块;
步骤五、将置换分散数组分别分散到数据碎片中,与所述加密数据块共同构成加密数据碎片;
步骤六、将所述加密数据碎片按照平均存储规则存储到云端存储点。
上述技术方案中,在进行数据安全存储时,首先将待处理数据按照划分规则进行数据划分,获得数据碎片;其次,随机生成多个置换数组;以及按照异或方式把所述置换数组拆分成置换分散数组;然后,通过置换分散数组针对所述数据碎片进行加密处理,获得加密数据块;接着,将置换分散数组分别分散到数据碎片中,与所述加密数据块共同构成加密数据碎片;最后,依照平均存储规则将所述加密数据碎片存储到云端存储点。此外在步骤二中,随机生成多个置换数组时,置换数组的数目与存储点的个数相同,例如:有3个存储点,则生成三个随机置换数组,每个置换数组中的元素为1~16的随机排列。通过上述技术方案无需针对加密过程中的密钥进行管理,有效降低了成本;而且在进行加密处理时,结合置换算法,增加数据的安全性,使得加密后的数据安全性更高;并且,在加密处理时,不同数据碎片中采用相同加密方法加密的处理的数据可以同时进行加密处理,加快加密处理的速度,提升所述的快速数据安全保护算法的效率,此外,在多云环境下通过多个云端存储点进行存储,具有较大的存储容量,提高了数据存储的容量。
本发明提供的一个实施例中,所述将待处理数据按照划分规则进行数据划分,获得数据碎片的过程包括:
将待处理数据进行初步划分,得到多个初步划分数据块;
针对每个初步划分数据块进行再次划分,将所述初步划分数据块划分成多个小型数据块;
按照划分规则将所述待处理数据以初步划分数据块为单位平均分成多个数据碎片,使得每个数据碎片由相同个数的小型数据块构成。
上述技术方案中,在获的数据碎片的过程中,首先,将待处理数据进行初步划分,得到多个初步划分数据块;然后,针对每个初步划分数据块进行再次划分,将所述初步划分数据块划分成多个小型数据块;最后,按照划分规则将所述待处理数据以初步划分数据块为单位平均分成多个数据碎片,进而使得每个数据碎片中的初步划分数据块的数目以及小型数据块的数目都是相等的,此外,小型数据块是待处理数据中的最小单位,且大小为1比特。通过上述技术方案能够通过待处理数据进行划分不仅便于进行加密处理,提高加密数据块的安全性,而且能够加快数据处理以及存储的速度,提高数据安全保护算法的效率,并且每个数据碎片中有相同数目的初步划分数据块或者小型数据块能够有效确保数据平衡,进而提高数据的安全性。
根据上述技术方案,在待处理数据d中,先将待处理数据d划分成k倍的初步划分数据块,然后,将初步划分数据块b
本发明提供的一个实施例中,所述数据碎片的数目是云端存储点数目的倍数,且所述初步划分数据块与所述小型数据块之间的比值恰好与所述数据碎片的数目值大小相等。
上述技术方案中,在针对待处理数据进行初步划分时,将划分的数据碎片的数目设置成云端存储点数目的倍数,使得在存储到云端存储点时能够遵循平均规则,保持云端存储点的存储平衡,而且将初步划分数据进行再次划分时,每个初步划分数据块划分成的小型数据块的数目是与数据碎片的数目是保持一致的,使得在进行加密处理后的数据之间的差异性缩小,从而提高数据的安全性。
本发明提供的一个实施例中,所述通过置换分散数组针对所述数据碎片进行加密处理的过程中,首先针对所有数据碎片中的第一个初步划分数据块分别进行加密处理,当所有数据碎片中的第一个初步划分数据块都完成数据加密后,再对所有数据碎片中第二个初步划分数据块分别进行加密处理,当所有数据碎片中的第二个初步划分数据块都完成数据加密后,再对所有数据碎片中第三个初步划分数据块分别进行加密处理,直至数据碎片中所有初步划分数据块全部完成加密处理。
上述技术方案中,通过置换分散数组针对所述数据碎片进行加密处理时,将每个数据碎片中的第一个初步划分数据进行加密之后再针对数据碎片中的第二个初步划分数据进行加密,当每个数据碎片中的第二个初步划分数据加密完成后,再对数据碎片中的第三个初步划分数据进行加密,以此类推直到数据碎片中所有的初步划分数据块全部完成加密。通过上述技术方案能够使得不同数据碎片针对同一次序的初步划分数据块时能够同时进行加密,有效节省加密时间,提高加密处理的效率。
如图3所示,本发明提供的一个实施例中,所述针对所有数据碎片中的第一个初步划分数据块分别进行加密处理的步骤包括:
A1、用所述分散数组中的分散数据按照次序分别对对应次序的数据碎片中第一个初步划分数据块的小型数据块进行加密处理,获得数据碎片的第一加密数据块;
A2、通过所述置换数组按照次序对对应次序的所述数据碎片的第一加密数据块进行位置顺序变换,获得每个数据碎片的第一更新置换分散数组。
上述技术方案中,在针对数据碎片中第一个初步划分数据块进行加密时,用分散数据组的分散数据
如图4所示,本发明提供的一个实施例中,所述对所有数据碎片中第二个初步划分数据块分别进行加密处理的方法包括如下步骤:
B1、根据相邻数据碎片的第一更新置换分散数组对数据碎片的第二个初步划分数据块中小型数据块进行加密,获得数据碎片的第二加密数据块;
B2、在所述多个置换数组中匹配对应的置换数组;
B3、通过匹配的置换数组对所述数据碎片的第二加密数据块进行位置顺序变换,获得每个数据碎片的第二更新置换分散数组;
所述数据碎片中第二个初步划分数据块以后的初步划分数据块均按照步骤B1至B3进行加密,直至完成数据碎片中所有初步划分数据块的加密,得到加密数据块。
上述技术方案中,在对数据碎片中的第二个初步划分数据块进行加密时,如图5所示,用相邻的数据碎片中的第一更新置换分散数组s1依次对数据碎片的第二个初步划分数据块中小型数据块mb
本发明提供的一个实施例中,所述将置换分散数组分别分散到数据碎片中,与所述加密数据块共同构成加密数据碎片,其过程包括:
通过完美密钥分散方法将加密处理过程中采用的置换分散数组分散匹配数据碎片;
将数据碎片对应的加密数据块与分散匹配的分散数据组共同构成加密数据碎片。
上述技术方案中,通过完美分散算法拆分为跟碎片个数相同的置换分散数组,平均分散到每个碎片中,使得加密数据碎片是由分散数组和加密数据块共同构成,分散数组作为加密过程中的密钥,与加密数据块共同存储,避免了设置专门的密钥管理单元,有效降低了管理成本。
本发明提供的一个实施例中,将所述构成加密数据碎片按照平均存储规则存储到云端存储点时,相邻的数据碎片的加密数据碎片不存储在同一个云端存储点里。
上述技术方案中,在进行存储时,每个云端存储点中存储的加密数据碎片的数目是相等的,而且如图6所示,相邻数据碎片的加密数据碎片不会存储在同一个云端存储点中,使得如果想解密,必须把所有云存储点中的所有加密数据碎片集齐才可以解密,避免通过单个云端存储点获取数据或者盗取数据,提高了数据的安全性。
本发明提供的一个实施例中,将所述构成加密数据碎片按照平均存储规则存储到云端存储点的过程中,包括:
确定所述加密数据碎片;将所有的加密数据碎片进行汇总,并将所述加密数据碎片的次序打乱,获得随机排列顺序下的加密数据碎片;
将随机排列顺序下的加密数据碎片按照平均规则进行分块,获得多个加密数据碎片单元块;把随机排列顺序下的加密数据碎片按照云端存储点的数目进行分块,使得每个加密数据碎片单元块中加密数据碎片的数目是一致的;
针对每个加密数据碎片单元块进行检验;在每个加密数据碎片单元块中检验加密数据碎片单元块中加密数据碎片对应的原始数据是否存在连续的待处理数据,若不存在连续的加密数据碎片单元块中加密数据碎片对应的原始数据不存在连续的待处理数据,则检验合格,否则针对存在连续的待处理数据的加密数据碎片单元块进行调整后再次进行检验,直至检验合格;
将检验合格的加密数据碎片单元块存储到云端存储点中;通过随机排列组合将加密数据碎片单元块与云端存储点进行搭配,并按照搭配结果进行数据存储。
上述技术方案中,在将加密数据碎片按照平均存储规则存储到云端存储点时,首先,确定所述加密数据碎片;将所有的加密数据碎片进行汇总,并将所述加密数据碎片的次序打乱,获得随机排列顺序下的加密数据碎片;然后,将随机排列顺序下的加密数据碎片按照平均规则进行分块,获得多个加密数据碎片单元块;接着,针对每个加密数据碎片单元块进行检验;最后,将检验合格的加密数据碎片单元块存储到云端存储点中。通过上述技术方案使得每个云端存储点中的加密数据碎片对应的原始待处理数据中不是连续的,避免通过相邻加密数据块中的数据信息将相邻加密数据块进行解密,暴露数据,进而提升数据的安全性。
本发明提供的一个实施例中,所述针对每个加密数据碎片单元块进行检验的步骤包括:
S1、获取加密数据碎片单元块的信息,将加密数据碎片单元块记为A
A
其中,a
S2、根据下述公式将加密数据碎片进行组合连接;
H
上述公式中,H
S3、根据下述公式获得检验结果;
上述公式中,G
当检验结果为检验不合格时,将加密数据碎片单元块中的加密数据碎片与其它加密数据碎片单元块中的加密数据碎片进行调整后再次进行步骤S1至S3,直至检验合格。
上述技术方案中,通过获取加密数据碎片单元块的信息、将加密数据碎片进行组合连接和获得检验结果对加密数据碎片单元块中加密数据碎片进行检验,从而将按照平均规则进行分块的到的加密数据碎片单元块中存在相邻的加密数据碎片检验出来,使得每个加密数据碎片单元块中都不存在相邻的加密数据碎片,提高了存储在云端存储点的数据的安全性,而且检验结果的计算公式通过存在以及任意作为条件使得检验时更加灵敏,提高检验结果的判断准确性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
- 基于多云环境下的一种快速数据安全保护算法
- 一种多云环境下基于蚁群算法的数据优化存储方法