一种数据处理方法、装置、设备及计算机可读存储介质与流程

文档序号:20702597发布日期:2020-05-12 15:56阅读:159来源:国知局
一种数据处理方法、装置、设备及计算机可读存储介质与流程

本发明涉及分布式存储领域,特别是涉及一种数据处理方法,本发明还涉及一种数据处理装置、设备及计算机可读存储介质。



背景技术:

分布式存储系统可以进行数据的存储,并可以供外部设备进行数据读取,在数据存储过程中可能需要对某些数据加密后进行存储,而在外部设备读取分布式存储系统中已加密的数据时也需要对数据进行解密,现有技术中通常会利用数据密钥对数据进行加密以及解密,同时还会用主密钥对数据密钥进行加密以保证数据密钥的安全性,但是主密钥的安全性较差,一旦主密钥被盗,那么数据本身的安全性也受到威胁,如何以一种安全以及低成本的方式对主密钥进行保护是目前的主要问题。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种数据处理方法,提高了主密钥的安全性,且无需额外增加硬件加密成本;本发明的另一目的是提供一种数据处理装置、设备及计算机可读存储介质。

为解决上述技术问题,本发明提供了一种数据处理方法,应用于分布式存储系统,包括:

预先将主密钥通过预设加密算法进行加密;

预先将加密后的所述主密钥分割为预设数目个子段并将所述预设数目个所述子段存储于分布式存储系统的存储池中;

响应于外部设备对于所述主密钥的请求指令,采用与分割方法对应的组合方法将所述预设数目个所述子段组合为加密后的所述主密钥;

将组合得到的加密的所述主密钥采用所述预设算法进行解密并将得到的所述主密钥发送至所述外部设备,以便所述外部设备使用所述主密钥对数据进行加解密。

优选地,所述预先将主密钥通过预设加密算法进行加密之后,所述响应于外部设备对于所述主密钥的请求指令,采用与分割方法对应的组合方法将所述预设数目个所述子段组合为加密后的所述主密钥之前,该数据处理方法还包括:

预先使用验证算法对加密后的所述主密钥进行运算得到初始验证值;

预先将所述初始验证值存储于所述分布式存储系统的存储池中;

则所述采用与分割方法对应的组合方法将所述预设数目个所述子段组合为加密后的所述主密钥之后,所述将组合得到的加密的所述主密钥采用所述预设算法进行解密并将得到的所述主密钥发送至所述外部设备之前,该数据处理方法还包括:

使用所述验证算法对组合得到的加密的所述主密钥进行运算得到当前验证值;

判断所述当前验证值是否等于所述初始验证值;

若是,则执行将组合得到的加密的所述主密钥采用所述预设算法进行解密并将得到的所述主密钥发送至所述外部设备的步骤;

否则控制报警器进行报警。

优选地,所述将所述预设数目个所述子段存储于分布式存储系统的存储池中具体为:

将所述预设数目个所述子段复制为两份并存储于分布式存储系统的存储池中;

所述将所述初始验证值存储于所述分布式存储系统的存储池中具体为:

将所述初始验证值复制为两份并存储于所述分布式存储系统的存储池中;

则所述响应于外部设备对于所述主密钥的请求指令,采用与分割方法对应的组合方法将所述预设数目个所述子段组合为加密后的所述主密钥具体为:

响应于外部设备对于所述主密钥的请求指令,采用与分割方法对应的组合方法将其中一份所述预设数目个所述子段组合为加密后的所述主密钥;

所述判断所述当前验证值是否等于所述初始验证值之后,该数据处理方法还包括:

若否,则将备份的所述预设数目个所述子段组合为加密后的所述主密钥;

使用所述验证算法对组合得到的加密的所述主密钥进行运算得到当前验证值;

判断所述当前验证值是否等于备份的所述初始验证值;

若是,则执行将组合得到的加密的所述主密钥采用所述预设算法进行解密的步骤;

否则控制报警器进行报警。

优选地,所述验证算法为循环冗余校验。

优选地,所述预设加密算法为异或运算。

为解决上述技术问题,本发明还提供了一种一种数据处理装置,应用于分布式存储系统,包括:

加密模块,用于预先将主密钥通过预设加密算法进行加密;

分割模块,用于预先将加密后的所述主密钥分割为预设数目个子段并将所述预设数目个所述子段存储于分布式存储系统的存储池中;

组合模块,用于响应于外部设备对于所述主密钥的请求指令,采用与分割方法对应的组合方法将所述预设数目个所述子段组合为加密后的所述主密钥;

解密模块,用于将组合得到的加密的所述主密钥采用所述预设算法进行解密并将得到的所述主密钥发送至所述外部设备,以便所述外部设备使用所述主密钥对数据进行加解密。

优选地,该数据处理装置还包括:

第一运算模块,用于预先使用验证算法对加密后的所述主密钥进行运算得到初始验证值;

预存模块,用于预先将所述初始验证值存储于所述分布式存储系统的存储池中;

第二运算模块,用于使用所述验证算法对组合得到的加密的所述主密钥进行运算得到当前验证值;

判断模块,用于判断所述当前验证值是否等于所述初始验证值,若是,则触发执行模块,否则触发报警模块;

所述执行模块,用于执行将组合得到的加密的所述主密钥采用所述预设算法进行解密并将得到的所述主密钥发送至所述外部设备的步骤;

所述报警模块,用于控制报警器进行报警。

优选地,所述预设加密算法为异或运算。

为解决上述技术问题,本发明还提供了一种数据处理设备,应用于分布式存储系统,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上任一项所述数据处理方法的步骤。

为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述数据处理方法的步骤。

本发明提供了一种数据处理方法,由于本发明可以将主密钥进行加密后分割为预设数目个子段,窃贼只有在盗取所有的子段并采用与分割方法对应的组合方法进行组合才能得到加密的主密钥,最后将加密的主密钥解密后才能得到主密钥,大大提高了主密钥的安全性,而且预设数目个子段均存储于分布式存储系统的存储池中,无需额外增加硬件加密成本。

本发明还提供了一种数据处理装置、设备及计算机可读存储介质,具有如上数据处理方法相同的有益效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种数据处理方法的流程示意图;

图2为本发明提供的一种数据处理装置的结构示意图;

图3为本发明提供的一种数据处理设备的结构示意图。

具体实施方式

本发明的核心是提供一种数据处理方法,提高了主密钥的安全性,且无需额外增加硬件加密成本;本发明的另一核心是提供一种数据处理装置、设备及计算机可读存储介质。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明提供的一种数据处理方法的流程示意图,包括:

步骤s1:预先将主密钥通过预设加密算法进行加密;

具体的,将主密钥通过预设加密算法进行加密可以提高主密钥的安全性,即使窃贼盗取了加密后的主密钥,由于其不知道主密钥采用了何种加密算法进行加密,也无法知道如何去进行解密,那么窃贼也就无法解密得到主密钥,进而保证了数据的安全性。

其中,本发明实施例中的“预先”均只需执行一次,也即为整个方法的预先准备工作只需执行一次,除非预先执行的内容遭到破坏。

步骤s2:预先将加密后的主密钥分割为预设数目个子段并将预设数目个子段存储于分布式存储系统的存储池中;

具体的,考虑到现在计算机技术的高度发达,不法分子很可能采取某种手段对加密后的主密钥进行解密,一旦其解密成功,那么主密钥以及数据便可被不法分子获取,安全性依然较差,本发明实施例中还可以将加密后的主密钥分割为预设数目个子段,如此一来,首先不法分子很难准确找到所有的子段,依靠不完整的子段显然无法得到主密钥,其次,即使不法分子获取到了所有的子段,由于不法分子并不知道分割加密后的主密钥时采用的分割方式,因此不法分子不能轻易地通过串联组合的方式还原得到完整的加密的主密钥并进一步地进行解密,大大地提高了主密钥以及数据的安全性。

其中,预设数目可以进行自主设定,例如可以将由32位字符组成的主密钥分割为4个8位字符的子段等,本发明实施例在此不做限定。

具体的,分割方法也可以有很多种类型,可以根据需求进行自主选择使用,本发明实施例在此不做限定。

其中,分布式存储系统可以为多种类型,例如可以为分布式对象存储系统等,本发明实施例在此不做限定。

具体的,分布式存储系统的存储池为分布式系统本身就具有的部分,因此本发明实施例中无需额外部署存储器用于存储子段,也就无需额外增加成本,而且通过这种存储方式还可以支持通过对象服务网(当分布式存储系统为分布式对象存储系统时)管对主密钥的并发访问。

步骤s3:响应于外部设备对于主密钥的请求指令,采用与分割方法对应的组合方法将预设数目个子段组合为加密后的主密钥;

具体的,外部设备在对数据进行加密或者对加密后的数据进行解密的过程中可以向分布式存储系统发送对于主密钥的请求指令,以便使用主密钥对加密后的数据密钥进行解密得到数据密钥,最终使用数据密钥对数据进行加解密工作。

具体的,本发明实施例中可以预存有与分割方法对应的组合方法,还预存有与预设加密算法对应的解密方法,可以利用这两个方法顺利地将预设数目个子段还原为主密钥并发送至外部设备,分割方法可以为多种类型,例如为水平分割或者垂直分割等,本发明实施例在此不做限定,不法分子只有在得知分割方法或者对应的组合方法的前提下才能够进行成功组合,提高了主密钥以及数据的安全性。

步骤s4:将组合得到的加密的主密钥采用预设算法进行解密并将得到的主密钥发送至外部设备,以便外部设备使用主密钥对数据进行加解密。

具体的,由于存储于存储池中的主密钥为预设数目个子段的形式,因此首先要将其组合为完整的加密后的主密钥的形式,加密后的主密钥对于外部设备来说也是不可使用的,因此可以采用预设算法对其进行解密以得到主密钥。

值得一提的是,本发明实施例中也可以将预设数目个子段发送至外部设备,可以允许外部设备进行主密钥的还原,当然这种情况下就要允许外部设备获知主密钥的加密算法以及分割方法,以便外部设备能够成功地还原得到主密钥。

本发明提供了一种数据处理方法,由于本发明可以将主密钥进行加密后分割为预设数目个子段,窃贼只有在盗取所有的子段并采用与分割方法对应的组合方法进行组合才能得到加密的主密钥,最后将加密的主密钥解密后才能得到主密钥,大大提高了主密钥的安全性,而且预设数目个子段均存储于分布式存储系统的存储池中,无需额外增加硬件加密成本。

在上述实施例的基础上:

作为一种优选的实施例,预先将主密钥通过预设加密算法进行加密之后,响应于外部设备对于主密钥的请求指令,采用与分割方法对应的组合方法将预设数目个子段组合为加密后的主密钥之前,该数据处理方法还包括:

预先使用验证算法对加密后的主密钥进行运算得到初始验证值;

预先将初始验证值存储于分布式存储系统的存储池中;

则采用与分割方法对应的组合方法将预设数目个子段组合为加密后的主密钥之后,将组合得到的加密的主密钥采用预设算法进行解密并将得到的主密钥发送至外部设备之前,该数据处理方法还包括:

使用验证算法对组合得到的加密的主密钥进行运算得到当前验证值;

判断当前验证值是否等于初始验证值;

若是,则执行将组合得到的加密的主密钥采用预设算法进行解密并将得到的主密钥发送至外部设备的步骤;

否则控制报警器进行报警。

具体的,考虑到存储于存储池中的预设数目个子段可能遭受恶意篡改等攻击,导致将预设数目个子段还原后得不到正确的主密钥,因此便无法成功地对数据进行加解密,本发明实施例中可以首先预先使用验证算法对加密后的主密钥进行运算得到初始验证值,然后将初始验证值同样存储于存储池中,在将预设数目个子段还原为加密后的主密钥形式后,可以首先使用验证算法对组合得到的加密的主密钥进行运算得到当前验证值,然后通过判断当前验证值是否与初始验证值相同来判断数据是否被篡改,当数据被篡改时可以控制报警器进行报警,以便工作人员及时采取应对措施以保证主密钥以及数据的安全性。

当然,也可以改为对未加密的主密钥使用验证算法进行运算得到初始验证值,相应地在还原得到主密钥后然后对其进行运算得到当前验证值并进行对比的步骤,本发明实施例在此不做限定。

作为一种优选的实施例,将预设数目个子段存储于分布式存储系统的存储池中具体为:

将预设数目个子段复制为两份并存储于分布式存储系统的存储池中;

将初始验证值存储于分布式存储系统的存储池中具体为:

将初始验证值复制为两份并存储于分布式存储系统的存储池中;

则响应于外部设备对于主密钥的请求指令,采用与分割方法对应的组合方法将预设数目个子段组合为加密后的主密钥具体为:

响应于外部设备对于主密钥的请求指令,采用与分割方法对应的组合方法将其中一份预设数目个子段组合为加密后的主密钥;

判断当前验证值是否等于初始验证值之后,该数据处理方法还包括:

若否,则将备份的预设数目个子段组合为加密后的主密钥;

使用验证算法对组合得到的加密的主密钥进行运算得到当前验证值;

判断当前验证值是否等于备份的初始验证值;

若是,则执行将组合得到的加密的主密钥采用预设算法进行解密的步骤;

否则控制报警器进行报警。

具体的,本发明还对预设数目个子段以及初始验证值均做了冗余处理,也即当第一次判断当前验证值不等于初始验证值时,由于可能是预设数目个子段以及初始验证值中的至少一者发生了错误,为了保证数据加解密的工作正常的进行,本发明实施例中还可以使用备份的预设数目个子段以及初始验证值继续进行主密钥的还原工作。

当然,还可以对预设数目个子段以及初始验证值做多份冗余处理,本发明实施例在此不做限定。

作为一种优选的实施例,验证算法为循环冗余校验。

具体的,循环冗余校验具有算法简单以及安全性高等优点。

当然,除了循环冗余校验外,验证算法还可以为其他多种类型,本发明实施例在此不做限定。

作为一种优选的实施例,预设加密算法为异或运算。

具体的,异或运算具有算法简单以及安全性高等优点。

当然,除了异或运算外,预设加密算法还可以为其他多种类型,本发明实施例在此不做限定。

请参考图2,图2为本发明提供的一种数据处理装置的结构示意图,应用于分布式存储系统,包括:

加密模块1,用于预先将主密钥通过预设加密算法进行加密;

分割模块2,用于预先将加密后的主密钥分割为预设数目个子段并将预设数目个子段存储于分布式存储系统的存储池中;

组合模块3,用于响应于外部设备对于主密钥的请求指令,采用与分割方法对应的组合方法将预设数目个子段组合为加密后的主密钥;

解密模块4,用于将组合得到的加密的主密钥采用预设算法进行解密并将得到的主密钥发送至外部设备,以便外部设备使用主密钥对数据进行加解密。

作为一种优选的实施例,该数据处理装置还包括:

第一运算模块,用于预先使用验证算法对加密后的主密钥进行运算得到初始验证值;

预存模块,用于预先将初始验证值存储于分布式存储系统的存储池中;

第二运算模块,用于使用验证算法对组合得到的加密的主密钥进行运算得到当前验证值;

判断模块,用于判断当前验证值是否等于初始验证值,若是,则触发执行模块,否则触发报警模块;

执行模块,用于执行将组合得到的加密的主密钥采用预设算法进行解密并将得到的主密钥发送至外部设备的步骤;

报警模块,用于控制报警器进行报警。

作为一种优选的实施例,预设加密算法为异或运算。

对于本发明提供的数据处理装置的介绍请参照前述的数据处理方法的实施例,本发明实施例在此不再赘述。

请参考图3,图3为本发明提供的一种数据处理设备的结构示意图,应用于分布式存储系统,包括:

存储器5,用于存储计算机程序;

处理器6,用于执行计算机程序时实现如前述实施例中数据处理方法的步骤。

对于本发明提供的数据处理设备的介绍请参照前述的数据处理方法的实施例,本发明实施例在此不再赘述。

本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述实施例中数据处理方法的步骤。

对于本发明提供的计算机可读存储介质的介绍请参照前述的数据处理方法的实施例,本发明实施例在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1