一种云平台虚拟机之间的安全数据交换方法与流程

文档序号:25543242发布日期:2021-06-18 20:40阅读:191来源:国知局
一种云平台虚拟机之间的安全数据交换方法与流程

本申请涉及到计算机领域,特别是涉及到一种云平台虚拟机之间的安全数据交换方法。



背景技术:

云平台虚拟机技术的发展带来了许多便利,但由于云平台虚拟机技术不可避免的云端存储和云端数据传输等特性,使得其数据安全性(例如,在两个云平台虚拟机之间进行数据交换时的数据安全性)难以得到保证。因此,目前缺少提高云平台虚拟机之间进行安全数据交换的方案。



技术实现要素:

本申请提出一种云平台虚拟机之间的安全数据交换方法,包括以下步骤:

s1、第一虚拟机获取待传输的第一真实数据,并以所述第一真实数据为模板,生成第一仿制数据;

s2、将所述第一仿制数据置入预设的第一数据集合中,再根据预设的第一数据拆分规则,对所述第一数据集合进行第一数据拆分处理,以得到多个第一仿制子数据;其中,在初始状态下,所述第一数据集合为空集;

s3、根据预设的哈希计算方法,对所述第一数据集合中的所有数据分别进行哈希计算处理,从而对应得到多个哈希值;

s4、根据预设的数据分类方法,以哈希值为依据进行第一次数据分类处理,以将第一数据集合中的至少部分数据划分至预设的第二数据集合中;其中,所述第二数据集合中所有数据对应的哈希值均具有预设的第一共性,所述第一数据集合中所有数据对应的哈希值不具有所述第一共性;在初始状态下,所述第二数据集合为空集;

s5、依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理,使得第一数据集合变为空集;其中,p为大于等于1的整数;

s6、将所述第二数据集合中的所有数据提取出来并按顺序排列,从而得到第一仿制子数据序列;

s7、将所述第一真实数据依次进行p+1次数据拆分处理,以得到多个第一真实子数据;其中,所述p+1次数据拆分处理中的第一次采用的拆分规则与所述第一数据拆分规则相同,所述p+1次数据拆分处理中的剩余p次采用的拆分规则分别与所述p次数据拆分处理采用的数据拆分规则相同;

s8、根据所述哈希计算方法,对所述多个第一真实子数据分别进行哈希计算,并判断计算得到的哈希值是否具有所述第一共性;

s9、若计算得到的哈希值不具有所述第一共性,则将所述多个第一真实子数据顺序排列,以得到第一真实子数据序列;

s10、将所述第一仿制子数据序列中的部分子数据,与所述第一真实子数据序列中的对应位置的子数据进行置换,并去除数据序列中的分隔符,以得到两个混淆数据;

s11、通过预设的第一通信通道,将两个混淆数据直接发送至预设的第二虚拟机,并判断所述第二虚拟机是否也发送了数据;

s12、若所述第二虚拟机也发送了数据,则获取与所述第一虚拟机的第一控制终端,以及获取与所述第二虚拟机的第二控制终端,并通过预设的第二通信通道,将所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,发送至所述第二虚拟机,从而完成安全数据交换;其中,所述第二通信通道途经第一虚拟机、第一控制终端、第二控制终端和第二虚拟机。

进一步地,所述根据预设的哈希计算方法,对所述第一数据集合中的所有数据分别进行哈希计算处理,从而对应得到多个哈希值的步骤s3,包括:

s301、根据预设的sha256算法,对所述第一数据集合中的所有数据分别进行哈希计算处理,从而对应得到多个包括256位二进制符号的哈希值;

所述根据预设的数据分类方法,以哈希值为依据进行第一次数据分类处理,以将第一数据集合中的至少部分数据划分至预设的第二数据集合中的步骤s4,包括:

s401、分别提取所述多个包括256位二进制符号的哈希值的前n位二进制符号,并判断所有提取出的前n位二进制符号是否均包括m个以上的1值符号;其中,n为大于等于5且小于等于256的整数,m为小于n的正整数;

s402、若所有提取出的前n位二进制符号不均包括m个以上的1值符号,则将包括m个以上的1值符号的前n位二进制符号对应的哈希值记为指定哈希值;

s403、将所述指定哈希值对应的第一仿制子数据划分至预设的第二数据集合中;其中,所述第二数据集合中所有数据对应的哈希值均具有的第一共性为,哈希值的前n位二进制符号包括m个以上的1值符号。

进一步地,所述依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理,使得第一数据集合变为空集的步骤s5中,

所述p次数据拆分处理分别采用的数据拆分规则,与所述第一数据拆分规则各不相同;

所述p次哈希计算分别采用的哈希算法,与所述哈希计算方法均相同;

所述p次数据分类处理分别采用的数据分类方法,与所述第一次数据分类处理采用的数据分类方法相同。

进一步地,所述通过预设的第一通信通道,将两个混淆数据直接发送至预设的第二虚拟机,并判断所述第二虚拟机是否也发送了数据的步骤s11之前,包括:

s101、第二虚拟机获取待传输的第二真实数据,并以所述第二真实数据为模板,生成第二仿制数据;

s102、将所述第二仿制数据置入预设的第三数据集合中,再对所述第三数据集合进行数据拆分处理,以得到多个第二仿制子数据;其中,在初始状态下,所述第三数据集合为空集;

s103、对所述第三数据集合中的所有数据分别进行哈希计算处理,从而对应得到多个哈希值;

s104、以哈希值为依据进行数据分类处理,以将第三数据集合中的至少部分数据划分至预设的第四数据集合中;其中,所述第四数据集合中所有数据对应的哈希值均具有预设的第二共性,所述第三数据集合中所有数据对应的哈希值不具有第二共性;在初始状态下,所述第四数据集合为空集;

s105、依次继续进行k次数据拆分处理、k次哈希计算和k次数据分类处理,使得第三数据集合变为空集;其中,k为大于等于1的整数;

s106、将所述第四数据集合中的所有数据提取出来并按顺序排列,从而得到第二仿制子数据序列;

s107、将所述第二真实数据依次进行k+1次数据拆分处理,以得到多个第二真实子数据;

s108、对所述多个第二真实子数据分别进行哈希计算,并判断计算得到的哈希值是否具有第二共性;

s109、若计算得到的哈希值不具有第二共性,则将所述多个第二真实子数据顺序排列,以得到第二真实子数据序列;

s1010、将所述第二仿制子数据序列中的部分子数据,与所述第二真实子数据序列中的对应位置的子数据进行置换,并去除数据序列中的分隔符,以得到两个混淆数据;

s1011、将两个混淆数据直接发送至第一虚拟机。

进一步地,所述若所述第二虚拟机也发送了数据,则获取与所述第一虚拟机的第一控制终端,以及获取与所述第二虚拟机的第二控制终端,并通过预设的第二通信通道,将所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,发送至所述第二虚拟机,从而完成安全数据交换的步骤s12之后,包括:

s121、第二虚拟机根据所述第一数据拆分规则和所述p次数据拆分处理采用的数据拆分规则,对接收到的两个混淆数据分别进行p+1次数据拆分处理,以得到两个混淆子数据序列;

s122、根据所述哈希计算方法,对两个混淆子数据序列中的所有子数据分别进行哈希计算,以得到多个验证用哈希值;

s123、以是否具有所述第一共性为划分标准,将所述多个验证用哈希值划分为第一哈希值和第二哈希值;其中,所述第一哈希值具有所述第一共性,而所述第二哈希值不具有所述第一共性;

s124、将所述第二哈希值对应的子数据记为指定子数据,从两个混淆子数据序列提取出所有的指定子数据,并将指定子数据顺序排列以得到所述第一真实数据。

本申请提供一种云平台虚拟机之间的安全数据交换装置,包括:

第一仿制数据生成单元,用于第一虚拟机获取待传输的第一真实数据,并以所述第一真实数据为模板,生成第一仿制数据;

第一仿制子数据生成单元,用于将所述第一仿制数据置入预设的第一数据集合中,再根据预设的第一数据拆分规则,对所述第一数据集合进行第一数据拆分处理,以得到多个第一仿制子数据;其中,在初始状态下,所述第一数据集合为空集;

第一哈希计算单元,用于根据预设的哈希计算方法,对所述第一数据集合中的所有数据分别进行哈希计算处理,从而对应得到多个哈希值;

第一次数据分类单元,用于根据预设的数据分类方法,以哈希值为依据进行第一次数据分类处理,以将第一数据集合中的至少部分数据划分至预设的第二数据集合中;其中,所述第二数据集合中所有数据对应的哈希值均具有预设的第一共性,所述第一数据集合中所有数据对应的哈希值不具有所述第一共性;在初始状态下,所述第二数据集合为空集;

继续拆分单元,用于依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理,使得第一数据集合变为空集;其中,p为大于等于1的整数;

第一仿制子数据序列获取单元,用于将所述第二数据集合中的所有数据提取出来并按顺序排列,从而得到第一仿制子数据序列;

第一真实子数据生成单元,用于将所述第一真实数据依次进行p+1次数据拆分处理,以得到多个第一真实子数据;其中,所述p+1次数据拆分处理中的第一次采用的拆分规则与所述第一数据拆分规则相同,所述p+1次数据拆分处理中的剩余p次采用的拆分规则分别与所述p次数据拆分处理采用的数据拆分规则相同;

第二哈希计算单元,用于根据所述哈希计算方法,对所述多个第一真实子数据分别进行哈希计算,并判断计算得到的哈希值是否具有所述第一共性;

第一真实子数据序列生成单元,用于s9、若计算得到的哈希值不具有所述第一共性,则将所述多个第一真实子数据顺序排列,以得到第一真实子数据序列;

混淆数据生成单元,用于将所述第一仿制子数据序列中的部分子数据,与所述第一真实子数据序列中的对应位置的子数据进行置换,并去除数据序列中的分隔符,以得到两个混淆数据;

混淆数据发送单元,用于通过预设的第一通信通道,将两个混淆数据直接发送至预设的第二虚拟机,并判断所述第二虚拟机是否也发送了数据;

第一共性发送单元,用于若所述第二虚拟机也发送了数据,则获取与所述第一虚拟机的第一控制终端,以及获取与所述第二虚拟机的第二控制终端,并通过预设的第二通信通道,将所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,发送至所述第二虚拟机,从而完成安全数据交换;其中,所述第二通信通道途经第一虚拟机、第一控制终端、第二控制终端和第二虚拟机。

本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本申请的云平台虚拟机之间的安全数据交换方法、装置、计算机设备和存储介质,生成第一仿制数据;进行第一数据拆分处理,以得到多个第一仿制子数据;进行哈希计算处理,从而对应得到多个哈希值;进行第一次数据分类处理;依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理,使得第一数据集合变为空集;得到第一仿制子数据序列;将第一真实数据依次进行p+1次数据拆分处理,以得到多个第一真实子数据;分别进行哈希计算;若计算得到的哈希值不具有所述第一共性,则得到第一真实子数据序列;子数据进行置换,并去除数据序列中的分隔符,以得到两个混淆数据;通过第一通信通道,将两个混淆数据直接发送至第二虚拟机;通过第二通信通道,将所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,发送至所述第二虚拟机,从而提高了云平台虚拟机之间的数据交换的安全性。

本申请的特点在于:

1、采用了仿制数据并混淆的设计,克服了哈希算法难以用于数据安全性保证的缺陷(由于哈希算法的不可逆特性,使得其一般难以用于数据安全性保证等用途,而本申请的特殊方案却能够利用哈希算法提高数据传输的安全),变相提高了传输数据的安全性;

2、采用了真实数据与仿制数据为基础的混淆数据,保证了数据传输过程的信息安全;

3、利用了云平台虚拟机的特性:一个虚拟机存在对应的控制终端,从而利用两条通信通道分别传输混淆数据和所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,进一步保障了数据安全。

附图说明

图1-2为本申请一实施例的云平台虚拟机之间的安全数据交换方法的流程示意图;

图3为本申请一实施例的计算机设备的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1和2,本申请实施例提供一种云平台虚拟机之间的安全数据交换方法,包括以下步骤:

s1、第一虚拟机获取待传输的第一真实数据,并以所述第一真实数据为模板,生成第一仿制数据;

s2、将所述第一仿制数据置入预设的第一数据集合中,再根据预设的第一数据拆分规则,对所述第一数据集合进行第一数据拆分处理,以得到多个第一仿制子数据;其中,在初始状态下,所述第一数据集合为空集;

s3、根据预设的哈希计算方法,对所述第一数据集合中的所有数据分别进行哈希计算处理,从而对应得到多个哈希值;

s4、根据预设的数据分类方法,以哈希值为依据进行第一次数据分类处理,以将第一数据集合中的至少部分数据划分至预设的第二数据集合中;其中,所述第二数据集合中所有数据对应的哈希值均具有预设的第一共性,所述第一数据集合中所有数据对应的哈希值不具有所述第一共性;在初始状态下,所述第二数据集合为空集;

s5、依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理,使得第一数据集合变为空集;其中,p为大于等于1的整数;

s6、将所述第二数据集合中的所有数据提取出来并按顺序排列,从而得到第一仿制子数据序列;

s7、将所述第一真实数据依次进行p+1次数据拆分处理,以得到多个第一真实子数据;其中,所述p+1次数据拆分处理中的第一次采用的拆分规则与所述第一数据拆分规则相同,所述p+1次数据拆分处理中的剩余p次采用的拆分规则分别与所述p次数据拆分处理采用的数据拆分规则相同;

s8、根据所述哈希计算方法,对所述多个第一真实子数据分别进行哈希计算,并判断计算得到的哈希值是否具有所述第一共性;

s9、若计算得到的哈希值不具有所述第一共性,则将所述多个第一真实子数据顺序排列,以得到第一真实子数据序列;

s10、将所述第一仿制子数据序列中的部分子数据,与所述第一真实子数据序列中的对应位置的子数据进行置换,并去除数据序列中的分隔符,以得到两个混淆数据;

s11、通过预设的第一通信通道,将两个混淆数据直接发送至预设的第二虚拟机,并判断所述第二虚拟机是否也发送了数据;

s12、若所述第二虚拟机也发送了数据,则获取与所述第一虚拟机的第一控制终端,以及获取与所述第二虚拟机的第二控制终端,并通过预设的第二通信通道,将所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,发送至所述第二虚拟机,从而完成安全数据交换;其中,所述第二通信通道途经第一虚拟机、第一控制终端、第二控制终端和第二虚拟机。

本申请的云平台虚拟机之间的安全数据交换方法,指的是保证云平台虚拟机之间进行数据交换的安全性的方法。

如上述步骤s1-s3所述,第一虚拟机获取待传输的第一真实数据,并以所述第一真实数据为模板,生成第一仿制数据;将所述第一仿制数据置入预设的第一数据集合中,再根据预设的第一数据拆分规则,对所述第一数据集合进行第一数据拆分处理,以得到多个第一仿制子数据;其中,在初始状态下,所述第一数据集合为空集;根据预设的哈希计算方法,对所述第一数据集合中的所有数据分别进行哈希计算处理,从而对应得到多个哈希值。

其中,由于第一仿制数据是以第一真实数据为模板而生成的,因此所述第一仿制数据与所述第一真实数据具有相同的数据结构。所述第一仿制数据的生成方式可为任意可行方式,例如对第一真实数据中的部分数值进行随机修改而生成。另外,本申请生成第一仿制数据的目的在于,使得可能的数据窃听者纵使窃取到数据,也无法从中得到有用的数据(这将结合后续混淆数据等步骤来实现)。并且,在此需要点明的一点在于,虽然本申请只在此提及生成第一仿制数据,但实际上,第一仿制数据将受后续几次步骤s1-s5的进一步限定,即本申请还具有隐含技术特征(由步骤s1-s5毫无疑义决定的):第一仿制数据在依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理后,能够使得第一数据集合变为空集,也即第一仿制数据在所有的数据拆分处理之后得到的子数据,均具有所述第一共性。而要实现这个要求,可通过两个方向来实现:第一方向就是调节数据拆分的次数和第一共性的难易程度;第二方向就是增加第一仿制数据的尝试次数。先对第一方向来进行说明,第一共性越难达成,则数据安全性越高,但需要更高的算力来作为代价,因为需要增加数据拆分的次数(这是因为哈希计算的输入与输出之间只有一一对应的关系,却难以通过调节输入的方式对输出进行微调),因此当第一共性达成的难度过高时,可能出现经过过多的数据拆分,也不能使所有的子数据对应的哈希值都满足第一共性的条件。再对第二方向来进行说明,当某个第一仿制数据无法在依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理后,使得第一数据集合变为空集时,此时若继续进行数据拆分处理,会使得子数据的数据粒度过小,并且不能保证后续拆分的子数据仍能满足第一共性,因此,还可以采用重新生成一个仿制子数据,再进行多次数据拆分处理、多次哈希计算和多次数据分类处理,以使得第一数据集合变为空集。

经由上述说明,进一步地,所述依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理的步骤之后,包括:

判断第一数据集合是否变为空集;

若第一数据集合未变为空集,则重新生成新的第一仿制数据,并对新的第一仿制数据重新进行步骤s1-s4的处理,并进行步骤s5中的依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理的处理,直到使得第一数据集合变为空集。

本申请的第一数据集合具有一个特性,即第一数据集合中的所有数据对应的哈希值均不具有所述第一共性,而这个第一共性是少数数据才具有的,因此先将第一仿制数据置于其中。再根据预设的第一数据拆分规则,对所述第一数据集合进行第一数据拆分处理,以得到多个第一仿制子数据。需要注意的是,此时是对数据拆分规则具有第一的编号,这是因为后续步骤中还要进行多次数据拆分,而每次数据拆分的规则可以均不相同,优选均不相同。所述第一数据拆分规则可为任意可行规则,例如按预设的比例进行硬性拆分,例如按每10%的比例,将第一仿制数据拆分为十个子数据。

再根据预设的哈希计算方法,对所述第一数据集合中的所有数据分别进行哈希计算处理,从而对应得到多个哈希值。其中,哈希计算方法可为任意可行算法,例如为sha-1、sha-224、sha-256、sha-384、sha-512等。其中,哈希算法是一种摘要算法,其能够将任意长度的输入进行处理为固定长度的输出,例如sha256算法能够输出256位的二进制字符串。并且,哈希算法是不可逆的,即无法以输出为依据逆向算出对应的输入,这也是无法将哈希算法作为加密算法以提高数据安全的原因。本申请却以哈希算法作为基础与前提,实现了数据安全提高的目的,具体实现的过程与原理将结合后续步骤进行解释。

进一步地,所述根据预设的哈希计算方法,对所述第一数据集合中的所有数据分别进行哈希计算处理,从而对应得到多个哈希值的步骤s3,包括:

s301、根据预设的sha256算法,对所述第一数据集合中的所有数据分别进行哈希计算处理,从而对应得到多个包括256位二进制符号的哈希值;

所述根据预设的数据分类方法,以哈希值为依据进行第一次数据分类处理,以将第一数据集合中的至少部分数据划分至预设的第二数据集合中的步骤s4,包括:

s401、分别提取所述多个包括256位二进制符号的哈希值的前n位二进制符号,并判断所有提取出的前n位二进制符号是否均包括m个以上的1值符号;其中,n为大于等于5且小于等于256的整数,m为小于n的正整数;

s402、若所有提取出的前n位二进制符号不均包括m个以上的1值符号,则将包括m个以上的1值符号的前n位二进制符号对应的哈希值记为指定哈希值;

s403、将所述指定哈希值对应的第一仿制子数据划分至预设的第二数据集合中;其中,所述第二数据集合中所有数据对应的哈希值均具有的第一共性为,哈希值的前n位二进制符号包括m个以上的1值符号。

以对第一共性进行限定,即将第一共性限定为:哈希值的前n位二进制符号包括m个以上的1值符号。由于采用的是sha256算法,因此输出的是256位二进制符号。对于任意一个输入,其sha256算法的计算结果都是不可知的,因此其第一位二进制符号有可能为0,也有可能为1,机率各为50%;其第二位二进制符号也为特定符号时,机率就降为了25%。因此,所述多个包括256位二进制符号的哈希值的其中部分会满足所述第一共性,但是其他部分仍不能满足所述第一共性,对应的子数据将被保留在第一数据集合中,并继续进行数据划分处理。其中,n与m可为任意可行数值,n与m的值越接近且越大,代表着第一共性越难达成,但是数据安全性更好。需要注意的是,第一共性实质上还会受第一真实数据的影响,这是因为,若在后续步骤中,对第一真实数据进行数据拆分、哈希计算得到的多个哈希值,若满足第一共性,那么将重新选择第一仿制数据,或者重新选择数据拆分规则。因此第一共性的难易程度可以调节。另外,本申请实际上是以第一虚拟机的算力为代价,来保证数据安全性的,但是耗费的算力处于可接受范围内,因为单次哈希计算的速度极快,常见的硬件设备足以满足亿次,乃至万亿次每秒的哈希计算的需求。

如上述步骤s4-s6所述,根据预设的数据分类方法,以哈希值为依据进行第一次数据分类处理,以将第一数据集合中的至少部分数据划分至预设的第二数据集合中;其中,所述第二数据集合中所有数据对应的哈希值均具有预设的第一共性,所述第一数据集合中所有数据对应的哈希值不具有所述第一共性;在初始状态下,所述第二数据集合为空集;依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理,使得第一数据集合变为空集;其中,p为大于等于1的整数;将所述第二数据集合中的所有数据提取出来并按顺序排列,从而得到第一仿制子数据序列。

与数据拆分规则不同,本申请的数据分类方法没有特殊编号,实际上,在本申请的第一虚拟机中,采用的多次数据分类处理的数据分类方法都是相同的,其数据分类方法即是将符合第一共性的哈希值对应的数据划分至第二数据集合中,而不符合第一共性的哈希值对应的数据划分至第一数据集合中。再依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理,使得第一数据集合变为空集;其中,p为大于等于1的整数。依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理的对象为第一数据集合,这从后续的限定,使得第一数据集合变为空集,可以确知。通过这样处理,将第一仿制数据完美地拆分为多个特别的子数据,这些子数据的哈希值具有第一共性。再将所述第二数据集合中的所有数据提取出来并按顺序排列,从而得到第一仿制子数据序列,从而达成第一阶段的目的:获取合适的替代数据,并且这些替代数据在一定条件下能够被识别出来。

进一步地,所述依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理,使得第一数据集合变为空集的步骤s5中,

所述p次数据拆分处理分别采用的数据拆分规则,与所述第一数据拆分规则各不相同;

所述p次哈希计算分别采用的哈希算法,与所述哈希计算方法均相同;

所述p次数据分类处理分别采用的数据分类方法,与所述第一次数据分类处理采用的数据分类方法相同。

这也是本申请对于数据拆分规则采用编号,而对于哈希算法,数据分类方法不另行编号的原因。采用这种设置,在保证数据安全的前提下,简化了最终数据还原的难度。

如上述步骤s7-s9所述,将所述第一真实数据依次进行p+1次数据拆分处理,以得到多个第一真实子数据;其中,所述p+1次数据拆分处理中的第一次采用的拆分规则与所述第一数据拆分规则相同,所述p+1次数据拆分处理中的剩余p次采用的拆分规则分别与所述p次数据拆分处理采用的数据拆分规则相同;根据所述哈希计算方法,对所述多个第一真实子数据分别进行哈希计算,并判断计算得到的哈希值是否具有所述第一共性;若计算得到的哈希值不具有所述第一共性,则将所述多个第一真实子数据顺序排列,以得到第一真实子数据序列。

其中,第一真实数据的整个处理过程与第一仿制数据的处理过程相比,其只需要进行数据拆分处理和哈希计算,但不需要进行数据分类,这是因为,只要存在任意一个由第一真实数据拆分出的子数据对应的哈希值具有第一共性,那么将导致第一真实数据与第一仿制数据无法区分,进而无法实施本申请的方案,无法达成本申请的目的。因此,本申请对于第一真实数据的处理过程仅包括数据拆分和哈希计算,并且需要注意的是,数据拆分的次数以及依据的拆分规则与第一仿制数据的数据拆分过程中对应的拆分规则相同,即,所述p+1次数据拆分处理中的第一次采用的拆分规则与所述第一数据拆分规则相同,所述p+1次数据拆分处理中的剩余p次采用的拆分规则分别与所述p次数据拆分处理采用的数据拆分规则相同,这点是极为重要的,目的在于保证子数据之间的位置对应关系,从而使得后续进行数据混淆而生成的两个混淆数据能够具有与第一真实数据相同的数据结构,更能够使得后续获取混淆数据的第二虚拟机能够对混淆数据进行对应次数的数据拆分处理。另外,第一真实子数据的哈希计算方法与第一仿制数据的哈希计算方法相同。再判断计算得到的哈希值是否具有所述第一共性;若计算得到的哈希值不具有所述第一共性,表明能够借助这个特点,在后续步骤中进行数据辨别,从而还原真实数据,因此将所述多个第一真实子数据顺序排列,以得到第一真实子数据序列,以作为混淆数据的另一个来源。

进一步地,所述根据所述哈希计算方法,对所述多个第一真实子数据分别进行哈希计算,并判断计算得到的哈希值是否具有所述第一共性的步骤s8之后,包括:

若计算得到的哈希值中至少有一者具有所述第一共性,则生成新的第一仿制数据,再执行步骤s2-s8。

如上述步骤s10-s12所述,将所述第一仿制子数据序列中的部分子数据,与所述第一真实子数据序列中的对应位置的子数据进行置换,并去除数据序列中的分隔符,以得到两个混淆数据;通过预设的第一通信通道,将两个混淆数据直接发送至预设的第二虚拟机,并判断所述第二虚拟机是否也发送了数据;若所述第二虚拟机也发送了数据,则获取与所述第一虚拟机的第一控制终端,以及获取与所述第二虚拟机的第二控制终端,并通过预设的第二通信通道,将所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,发送至所述第二虚拟机,从而完成安全数据交换;其中,所述第二通信通道途经第一虚拟机、第一控制终端、第二控制终端和第二虚拟机。

进行子数据置换的目的是为了得到两个数据结构相同的混淆数据,而生成两个混淆数据的目的在于保护数据安全。假设存在数据窃听方,其窃听到了传输的两个混淆数据,由于两个混淆数据之中均混杂了仿制子数据,因此真实数据难以辨别,从而保证了数据安全。另外,去除数据序列中的分隔符的目的是使得数据窃听方无法得知子数据的拆分状况,因此不可能采用逆向工程的方式进行硬性破解。再通过预设的第一通信通道,将两个混淆数据直接发送至预设的第二虚拟机,并判断所述第二虚拟机是否也发送了数据。在虚拟机之间的数据传输是很快的,若是仅通过虚拟机之间的第一通信通道,不仅传输两个混淆数据,还传输数据拆分规则等信息,则一旦同时被窃听,则数据安全无法保证。其中,所述第一通信通道是指由第一虚拟机指向第二虚拟机的通信通道。另外,本申请是对等的两个虚拟机之间的数据交换,因此还需要第二虚拟机也发送了数据。

此后,再获取与所述第一虚拟机的第一控制终端,以及获取与所述第二虚拟机的第二控制终端,并通过预设的第二通信通道,将所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,发送至所述第二虚拟机,从而完成安全数据交换。本申请的另一个特性在于中,应用于云平台的虚拟机,因此虚拟机对应有控制终端,从而具有另外一条与第一通信通道不同的第二通信通道,即所述第二通信通道途经第一虚拟机、第一控制终端、第二控制终端和第二虚拟机。而通过这两个通信通道分别传输的混淆数据和数据拆分规则以及第一共性,能够进一步地保护数据安全。

进一步地,所述通过预设的第一通信通道,将两个混淆数据直接发送至预设的第二虚拟机,并判断所述第二虚拟机是否也发送了数据的步骤s11之前,包括:

s101、第二虚拟机获取待传输的第二真实数据,并以所述第二真实数据为模板,生成第二仿制数据;

s102、将所述第二仿制数据置入预设的第三数据集合中,再对所述第三数据集合进行数据拆分处理,以得到多个第二仿制子数据;其中,在初始状态下,所述第三数据集合为空集;

s103、对所述第三数据集合中的所有数据分别进行哈希计算处理,从而对应得到多个哈希值;

s104、以哈希值为依据进行数据分类处理,以将第三数据集合中的至少部分数据划分至预设的第四数据集合中;其中,所述第四数据集合中所有数据对应的哈希值均具有预设的第二共性,所述第三数据集合中所有数据对应的哈希值不具有第二共性;在初始状态下,所述第四数据集合为空集;

s105、依次继续进行k次数据拆分处理、k次哈希计算和k次数据分类处理,使得第三数据集合变为空集;其中,k为大于等于1的整数;

s106、将所述第四数据集合中的所有数据提取出来并按顺序排列,从而得到第二仿制子数据序列;

s107、将所述第二真实数据依次进行k+1次数据拆分处理,以得到多个第二真实子数据;

s108、对所述多个第二真实子数据分别进行哈希计算,并判断计算得到的哈希值是否具有第二共性;

s109、若计算得到的哈希值不具有第二共性,则将所述多个第二真实子数据顺序排列,以得到第二真实子数据序列;

s1010、将所述第二仿制子数据序列中的部分子数据,与所述第二真实子数据序列中的对应位置的子数据进行置换,并去除数据序列中的分隔符,以得到两个混淆数据;

s1011、将两个混淆数据直接发送至第一虚拟机。

从而实现了等价的数据交换,即第二虚拟机也进行与第一虚拟机相似的数据处理,以相同机制的安全数据传输手段,完成了混淆数据的发送。进一步地,在所述将两个混淆数据直接发送至第一虚拟机的步骤s1011之后,还包括:

将生成所述多个第二仿制子数据的拆分规则、所述k次数据拆分处理采用的拆分规则和所述第二共性通过另一个通信通道发送给第一虚拟机。

进一步地,所述若所述第二虚拟机也发送了数据,则获取与所述第一虚拟机的第一控制终端,以及获取与所述第二虚拟机的第二控制终端,并通过预设的第二通信通道,将所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,发送至所述第二虚拟机,从而完成安全数据交换的步骤s12之后,包括:

s121、第二虚拟机根据所述第一数据拆分规则和所述p次数据拆分处理采用的数据拆分规则,对接收到的两个混淆数据分别进行p+1次数据拆分处理,以得到两个混淆子数据序列;

s122、根据所述哈希计算方法,对两个混淆子数据序列中的所有子数据分别进行哈希计算,以得到多个验证用哈希值;

s123、以是否具有所述第一共性为划分标准,将所述多个验证用哈希值划分为第一哈希值和第二哈希值;其中,所述第一哈希值具有所述第一共性,而所述第二哈希值不具有所述第一共性;

s124、将所述第二哈希值对应的子数据记为指定子数据,从两个混淆子数据序列提取出所有的指定子数据,并将指定子数据顺序排列以得到所述第一真实数据。

从而实现了第一真实数据的还原。本申请的第二虚拟机还原出第一真实数据的过程,并非是完全逆向处理,而是类似的正向数据拆分处理,并将不具有所述第一共性的第二哈希值对应的子数据记为指定子数据,而指定子数据即为由第一真实数据拆分出来的真实子数据,据此再顺序排列即可得到第一真实数据。在整个数据还原过程中,只需要顺序执行步骤即可,无需采用尝试算法,速度快,安全性和效率均有所保证。

本申请的云平台虚拟机之间的安全数据交换方法,生成第一仿制数据;进行第一数据拆分处理,以得到多个第一仿制子数据;进行哈希计算处理,从而对应得到多个哈希值;进行第一次数据分类处理;依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理,使得第一数据集合变为空集;得到第一仿制子数据序列;将第一真实数据依次进行p+1次数据拆分处理,以得到多个第一真实子数据;分别进行哈希计算;若计算得到的哈希值不具有所述第一共性,则得到第一真实子数据序列;子数据进行置换,并去除数据序列中的分隔符,以得到两个混淆数据;通过第一通信通道,将两个混淆数据直接发送至第二虚拟机;通过第二通信通道,将所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,发送至所述第二虚拟机,从而提高了云平台虚拟机之间的数据交换的安全性。

本申请实施例提供一种云平台虚拟机之间的安全数据交换装置,包括:

其中上述单元分别用于执行的操作与前述实施方式的云平台虚拟机之间的安全数据交换方法的步骤一一对应,在此不再赘述。

本申请的云平台虚拟机之间的安全数据交换装置,生成第一仿制数据;进行第一数据拆分处理,以得到多个第一仿制子数据;进行哈希计算处理,从而对应得到多个哈希值;进行第一次数据分类处理;依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理,使得第一数据集合变为空集;得到第一仿制子数据序列;将第一真实数据依次进行p+1次数据拆分处理,以得到多个第一真实子数据;分别进行哈希计算;若计算得到的哈希值不具有所述第一共性,则得到第一真实子数据序列;子数据进行置换,并去除数据序列中的分隔符,以得到两个混淆数据;通过第一通信通道,将两个混淆数据直接发送至第二虚拟机;通过第二通信通道,将所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,发送至所述第二虚拟机,从而提高了云平台虚拟机之间的数据交换的安全性。

参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储云平台虚拟机之间的安全数据交换方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种云平台虚拟机之间的安全数据交换方法。

上述处理器执行上述云平台虚拟机之间的安全数据交换方法,其中所述方法包括的步骤分别与执行前述实施方式的云平台虚拟机之间的安全数据交换方法的步骤一一对应,在此不再赘述。

本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请的计算机设备,生成第一仿制数据;进行第一数据拆分处理,以得到多个第一仿制子数据;进行哈希计算处理,从而对应得到多个哈希值;进行第一次数据分类处理;依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理,使得第一数据集合变为空集;得到第一仿制子数据序列;将第一真实数据依次进行p+1次数据拆分处理,以得到多个第一真实子数据;分别进行哈希计算;若计算得到的哈希值不具有所述第一共性,则得到第一真实子数据序列;子数据进行置换,并去除数据序列中的分隔符,以得到两个混淆数据;通过第一通信通道,将两个混淆数据直接发送至第二虚拟机;通过第二通信通道,将所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,发送至所述第二虚拟机,从而提高了云平台虚拟机之间的数据交换的安全性。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现云平台虚拟机之间的安全数据交换方法,其中所述方法包括的步骤分别与执行前述实施方式的云平台虚拟机之间的安全数据交换方法的步骤一一对应,在此不再赘述。

本申请的计算机可读存储介质,生成第一仿制数据;进行第一数据拆分处理,以得到多个第一仿制子数据;进行哈希计算处理,从而对应得到多个哈希值;进行第一次数据分类处理;依次继续进行p次数据拆分处理、p次哈希计算和p次数据分类处理,使得第一数据集合变为空集;得到第一仿制子数据序列;将第一真实数据依次进行p+1次数据拆分处理,以得到多个第一真实子数据;分别进行哈希计算;若计算得到的哈希值不具有所述第一共性,则得到第一真实子数据序列;子数据进行置换,并去除数据序列中的分隔符,以得到两个混淆数据;通过第一通信通道,将两个混淆数据直接发送至第二虚拟机;通过第二通信通道,将所述第一数据拆分规则、所述p次数据拆分处理采用的数据拆分规则和所述第一共性,发送至所述第二虚拟机,从而提高了云平台虚拟机之间的数据交换的安全性。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序或指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

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