【发明内容】
基于此,有必要提供能够提高数据安全性的以数据分布特征为密码的云安全方法。
一种以数据分布特征为密码的云安全方法,包括以下步骤:
获取用户数据和用户设定的第一密码;
获取用户数据的切分数量、切分后的各数据块所存放的节点信息;
根据所述第一密码、所述用户数据的切分数量及切分后的各数据块所存放的节点信息生成第二密码;
根据所述第一密码和第二密码进行密码验证。
优选的,在根据第一密码和第二密码进行密码验证的步骤之前还包括:
根据所述第一密码生成切分后的各数据块在各节点上的存放路径;
根据所述存放路径将各数据块存放到各节点的相应路径上;
记录各节点上存放的数据块的大小。
优选的,所述根据第一密码和第二密码进行密码验证的步骤为:
获取用户输入的第一密码和第二密码;
根据所述第一密码和第二密码计算得到分布在各节点上的数据块的数量和各数据块所存放的节点信息;
根据所述第一密码计算得到各数据块在各节点上的存放路径;
根据所述计算得到的存放路径获取各节点上的数据块的大小;
判断所述获取的数据块的大小与所述记录的数据块的大小是否相同,若是,则验证通过,否则验证失败。
优选的,所述判断获取的数据块的大小与所述记录的数据块的大小是否相同的步骤为:判断获取的所有数据块的大小总和与所述记录的所有数据块的大小总和是否相同。
优选的,所述节点信息包括节点和节点中的磁盘信息。
此外,还有必要提供能够提高数据安全性的以数据分布特征为密码的云安全系统。
一种以数据分布特征为密码的云安全系统,包括:
第一密码获取模块,用于获取用户数据和用户设定的第一密码;
第一分布特征获取模块,用于获取用户数据的切分数量、切分后的各数据块所存放的节点信息;
密码生成模块,用于根据所述第一密码、所述用户数据的切分数量及切分数量、切分后的各数据块所存放的节点信息生成第二密码;
密码验证模块,用于根据所述第一密码和第二密码进行密码验证。
优选的,所述系统还包括:
第一路径生成模块,用于根据所述第一密码生成切分后的各数据块在各节点上的存放路径;
调度模块,用于根据所述存放路径将各数据块存放到各节点的相应路径上;
记录模块,用于记录各节点上存放的数据块的大小。
优选的,所述密码验证模块包括:
第二密码获取模块,用于获取用户输入的第一密码和第二密码;
第二分布特征获取模块,用于根据所述第一密码和第二密码计算得到分布在各节点上的数据块的数量和各数据块所在的节点信息;
第二路径生成模块,用于根据所述第一密码计算得到各数据块在各节点上的存放路径;
数据块大小获取模块,用于根据所述计算得到的存放路径获取各节点上的数据块的大小;
判断模块,用于判断所述获取的数据块的大小与所述记录的数据块的大小是否相同,若是,则验证通过,否则验证失败。
优选的,所述判断模块还用于判断获取的所有数据块的大小总和与所述记录的所有数据块的大小总和是否相同。
优选的,所述节点信息包括节点和节点中的磁盘信息。
上述以数据分布特征为密码的云安全方法及系统,根据用户设定的第一密码、用户数据的切分数量及切分后的各数据块所存放的节点信息来生成第二密码,根据第一密码和第二密码进行密码验证。由于第二密码是通过用户数据的分布特征来生成的,因此服务器端不需要保存第二密码也不需要保存用户数据的分布特征,根据第二密码即可获取到各分布的节点上存放的数据块,因此提高了数据安全性。
【具体实施方式】
如图1所示,在一个实施例中,一种以数据分布特征为密码的云安全方法,包括以下步骤:
步骤S102,获取用户数据和用户设定的第一密码。
在生成或上传数据时,用户需设定第一密码,第一密码决定了切分用户数据后形成的各数据块在节点上的存放路径。
步骤S104,获取用户数据的切分数量、切分后的各数据块所存放的节点信息。
云计算中,用户数据需要进行分布式的处理和存储,因此需要将用户数据进行切分,并将切分后形成的各个数据块存放到不同的节点,用户数据需要切分为多少个数据块以及各数据块所存放的节点信息是根据用户数据本身以及各节点的资源,如网络资源、计算资源、存储资源等来决定的。切分后的各数据块所存放的节点信息包括节点和节点中的磁盘信息,例如节点的CPU处理能力、磁盘剩余空间、网络带宽大小等。
步骤S106,根据第一密码、用户数据的切分数量及切分后的各数据块所存放的节点信息生成第二密码。
本实施例中,将用户设定的第一密码、用户数据的切分数量及上述得到的节点信息一起编码,形成第二密码。
在一个实施例中,还可根据第一密码生成切分后的各数据块在各节点上的存放路径。用户数据切分后,形成多个数据块,这些数据块存放在不同的节点上,对第一密码进行适当变形后加入到路径中一起形成各数据块在各节点上的存放路径,然后根据存放路径将各数据块存放到各节点的相应路径上,并记录各节点上存放的数据块的大小。在一个实施例中,也可以记录所有节点上存放的用户数据切分后的各数据块的总大小,即各数据块的字节数总和。
步骤S108,根据第一密码和第二密码进行密码验证。
在一个实施例中,如图2所示,步骤S108的具体过程为:
步骤S118,获取用户输入的第一密码和第二密码。
用户访问数据时,需要进行密码验证,用户通过输入框输入第一密码和第二密码,则获取用户输入的第一密码和第二密码。
步骤S128,根据第一密码和第二密码计算得到分布在各节点上的数据块的数量和各数据块所存放的节点信息。
由于第一密码是通过第一密码、用户数据的切分数量及切分后的各数据块所存放的节点信息进行编码形成,因此根据第一密码和第二密码进行计算,就可以得到用户数据分布在各节点上的数据块的数量和各数据块所存放的节点信息。该节点信息包括节点及节点中的磁盘信息,例如节点的CPU处理能力、磁盘剩余空间、网络带宽大小等。
步骤S138,根据第一密码计算得到各数据块在各节点上的存放路径。
如上所述,切分用户数据所形成的各个数据块在各节点上的存放路径是参考了第一密码的,因此根据第一密码同样可计算得到各数据块在各节点上的存放路径。
步骤S148,根据计算得到的存放路径获取各节点上的数据块的大小。
根据步骤S138中计算得到的存放路径则可在相应的路径上查找到对应的数据块,从而获取到各数据块的大小。
步骤S158,判断获取的数据块的大小与记录的数据块的大小是否相同,若是,则进入步骤S168,否则进入步骤S178。
在一个实施例中,可将获取的各数据块的大小与上述记录的各数据块的大小进行一一对比,若都相同,则验证通过。在另一个实施例中,也可以获取各数据块的大小总和,即各数据块的字节数总和,与上述记录的数据块的大小总和进行对比,若相同,则验证通过。
步骤S168,验证通过。用户可以访问用户数据。
步骤S178,验证失败。不允许用户访问用户数据。
由于根据第一密码可以计算得到切分后的各数据块在各节点上的存放路径,且用户数据的切分数量及切分后的各数据块所存放的节点信息也可通过第一密码和第二密码计算得到,这样,存放路径、切分数量及节点信息这些用户数据的分布特征不需要保存在服务器端,因此不会被恶意人员获取到,有效提高了用户数据的安全性。在访问用户数据时,根据第一密码和第二密码就可以得到用户数据的分布特征,因此不会影响用户数据的访问,并且访问用户数据必须通过第一密码和第二密码来实现,提高了数据访问的安全性。
如图3所示,在一个实施例中,一种以数据分布特征为密码的云安全系统,包括第一密码获取模块102、第一分布特征获取模块104、密码生成模块106和密码验证模块108,其中:
第一密码获取模块102用于获取用户数据和用户设定的第一密码。
第一分布特征获取模块104用于获取用户数据的切分数量、切分后的各数据块所存放的节点信息。
云计算中,用户数据需要进行分布式的处理和存储,因此需要将用户数据进行切分,并将切分后形成的各个数据块存放到不同的节点,用户数据需要切分为多少个数据块以及各数据块所存放的节点信息是根据用户数据本身以及各节点的资源,如网络资源、计算资源、存储资源等来决定的。切分后的各数据块所存放的节点信息包括节点和节点中的磁盘信息,例如节点的CPU处理能力、磁盘剩余空间、网络带宽大小等。
密码生成模块106用于根据第一密码、用户数据的切分数量及切分后的各数据块所存放的节点信息生成第二密码。
本实施例中,将用户设定的第一密码、用户数据的切分数量及上述得到的节点信息一起编码,形成第二密码。
密码验证模块108用于根据第一密码和第二密码进行密码验证。
在一个实施例中,如图4所示,上述系统还包括第一路径生成模块110、调度模块112和记录模块114,其中:
第一路径生成模块110用于根据第一密码生成切分后的各数据块在各节点上的存放路径。
调度模块112用于根据存放路径将各数据块存放到各节点的相应路径上。
记录模块114用于记录各节点上存放的数据块的大小。
用户数据切分后,形成多个数据块,这些数据块存放在不同的节点上,对第一密码进行适当变形后加入到路径中一起形成各数据块在各节点上的存放路径,然而根据存放路径将各数据块存放到各节点的相应路径上,并记录各节点上存放的数据块的大小。在一个实施例中,也可以记录所有节点上存放的用户数据切分后的各数据块的总大小,即各数据块的字节数总和。
在一个实施例中,如图5所示,密码验证模块108包括第二密码获取模块118、第二分布特征获取模块128、第二路径生成模块138、数据块大小获取模块148和判断模块158,其中:
第二密码获取模块118用于获取用户输入的第一密码和第二密码。
第二分布特征获取模块128用于根据第一密码和第二密码计算得到分布在各节点上的数据块的数量和各数据块所存放的节点信息。
由于第一密码是通过第一密码、用户数据的切分数量及切分后的各数据块所存放的节点信息进行编码形成,因此根据第一密码和第二密码进行计算,就可以得到用户数据分布在各节点上的数据块的数量和各数据块所存放的节点信息。该节点信息包括节点及节点中的磁盘信息,例如节点的CPU处理能力、磁盘剩余空间、网络带宽大小等。
第二路径生成模块138用于根据第一密码计算得到各数据块在各节点上的存放路径。
如上所述,切分用户数据所形成的各个数据块在各节点上的存放路径是参考了第一密码的,因此根据第一密码同样可计算得到各数据块在各节点上的存放路径。
数据块大小获取模块148用于根据计算得到的存放路径获取各节点上的数据块的大小。
判断模块158用于判断获取的数据块的大小与记录的数据块的大小是否相同,若是,则验证通过,否则验证失败。
在一个实施例中,判断模块158可将获取的各数据块的大小与上述记录的各数据块的大小进行一一对比,若都相同,则验证通过。在另一个实施例中,判断模块158也可以获取各数据块的大小总和,即各数据块的字节数总和,与上述记录的数据块的大小总和进行对比,若相同,则验证通过。
由于根据第一密码可以计算得到切分后的各数据块在各节点上的存放路径,且用户数据的切分数量及切分后的各数据块所存放的节点信息也可通过第一密码和第二密码计算得到,这样,存放路径、切分数量及节点信息这些用户数据的分布特征不需要保存在服务器端,因此不会被恶意人员获取到,有效提高了用户数据的安全性。在访问用户数据时,根据第一密码和第二密码就可以得到用户数据的分布特征,因此不会影响用户数据的访问,并且访问用户数据必须通过第一密码和第二密码来实现,提高了数据访问的安全性。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。