基于磁盘加密的数据共享方法、装置、设备及存储介质转让专利

申请号 : CN202310845858.7

文献号 : CN116578505B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘海伟

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本发明涉及数据安全技术领域,公开了一种基于磁盘加密的数据共享方法、装置、设备及存储介质,包括:获取目标加密磁盘的磁盘信息以及目标数据访问口令,磁盘信息包括管理员口令及第一密文;基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥;基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中;若接收到的访问指令携带有目标数据访问口令,基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥;基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享;本发明可以在保护用户数据隐私及数据安全的基础上,进行用户间的数据共享。

权利要求 :

1.一种基于磁盘加密的数据共享方法,其特征在于,所述方法包括:获取目标加密磁盘的磁盘信息以及目标数据访问口令,所述磁盘信息包括管理员口令、环境参数及第一密文,所述目标数据访问口令是通过注册得到的,所述环境参数包括随机盐值以及迭代次数,所述随机盐值用于防止彩虹表破解,所述迭代次数用于表征各密钥生成前与随机盐值的迭代次数;

基于管理员口令生成第一解密密钥,以从所述第一密文中解密出存储主密钥;

基于所述目标数据访问口令生成第二加密密钥,以对所述存储主密钥进行加密得到第二密文,并将所述第二密文存储至所述目标加密磁盘中;

若接收到的访问指令携带有目标数据访问口令,基于携带的目标数据访问口令对所述第二密文进行解密得到所述存储主密钥;

基于解密得到的所述存储主密钥对所述目标加密磁盘中的加密数据进行解密共享,所述加密数据是通过所述存储主密钥对目标数据加密后得到的。

2.根据权利要求1所述的方法,其特征在于,所述磁盘信息还包括原始存储密钥摘要。

3.根据权利要求2所述的方法,其特征在于,所述环境参数包括第一环境参数,基于管理员口令生成第一解密密钥,以从所述第一密文中解密出存储主密钥,包括:基于所述第一环境参数及所述管理员口令生成第一解密密钥;

基于所述第一解密密钥对所述第一密文进行解密,得到第一解密结果;

基于所述原始存储密钥摘要对所述第一解密结果进行验证;

若验证通过,确定所述第一解密结果为所述存储主密钥。

4.根据权利要求3所述的方法,其特征在于,所述环境参数还包括第二环境参数,所述基于所述原始存储密钥摘要对所述第一解密结果进行验证,包括:基于所述第二环境参数计算所述存储主密钥的存储密钥摘要;

将所述存储密钥摘要与所述原始存储密钥摘要进行比对;

当所述存储密钥摘要与所述原始存储密钥摘要相同时,确定所述第一解密结果为所述存储主密钥。

5.根据权利要求4所述的方法,其特征在于,基于所述目标数据访问口令生成第二加密密钥,以对所述存储主密钥进行加密得到第二密文,并将所述第二密文存储至所述目标加密磁盘中,包括:基于所述第二环境参数及所述目标数据访问口令生成第二加密密钥;

通过所述第二加密密钥对所述存储主密钥进行加密,得到所述第二密文;

将所述第二密文存储在所述目标加密磁盘的第二密钥存储空间中。

6.根据权利要求5所述的方法,其特征在于,确定接收到的访问指令携带有目标数据访问口令,包括:获取所述访问指令中所携带的访问口令;

基于所述第二环境参数及所述访问口令生成第二解密密钥;

基于所述第二解密密钥对所述第二密文进行解密,得到第二解密结果;

基于所述原始存储密钥摘要对所述第二解密结果进行验证;

若验证通过,确定接收到的访问指令携带有目标数据访问口令。

7.根据权利要求6所述的方法,其特征在于,所述环境参数还包括第三环境参数,基于所述原始存储密钥摘要对所述第二解密结果进行验证,包括:基于所述第三环境参数计算所述存储主密钥的存储密钥摘要;

将所述存储密钥摘要与所述原始存储密钥摘要进行比对;

当所述存储密钥摘要与所述原始存储密钥摘要相同时,确定接收到的访问指令携带有目标数据访问口令。

8.根据权利要求5所述的方法,其特征在于,基于携带的目标数据访问口令对所述第二密文进行解密得到所述存储主密钥,包括:基于所述第二环境参数及所述目标数据访问口令生成第二解密密钥;

基于所述第二解密密钥对所述第二密文进行解密,得到所述存储主密钥。

9.根据权利要求1至8任一项所述的方法,其特征在于,基于解密得到的所述存储主密钥对所述目标加密磁盘中的加密数据进行解密共享,包括:获取所述访问指令中所携带的访问请求;

基于所述访问请求从所述目标加密磁盘中获取所述加密数据;

基于解密得到的所述存储主密钥对所述加密数据进行解密,得到明文数据;

对所述明文数据中的目标数据进行共享。

10.根据权利要求9所述的方法,其特征在于,生成所述加密数据包括:获取待加密明文数据中的所述目标数据;

基于所述存储主密钥对所述目标数据进行加密,得到所述加密数据。

11.根据权利要求3所述的方法,其特征在于,所述第一密文的生成方法,包括:获取所述存储主密钥;

基于所述第一环境参数及所述管理员口令生成第一加密密钥;

通过所述第一加密密钥对所述存储主密钥进行加密,得到所述第一密文;其中,所述第一密文存储于所述目标加密磁盘的第一密钥存储空间中。

12.根据权利要求11所述的方法,其特征在于,获取所述存储主密钥,包括:获取随机数;

将所述随机数作为所述存储主密钥。

13.根据权利要求11所述的方法,其特征在于,获取所述存储主密钥,还包括:获取所述磁盘信息中所携带的信息值;

基于动态生成的随机矩阵与所述信息值生成所述存储主密钥。

14.根据权利要求7所述的方法,其特征在于,生成所述原始存储密钥摘要,包括:基于所述第三环境参数及所述管理员口令,生成所述存储主密钥的原始存储密钥摘要;其中,所述原始存储密钥摘要及所述第三环境参数存储在所述目标加密磁盘的第三密钥存储空间。

15.根据权利要求1所述的方法,其特征在于,创建所述目标加密磁盘包括:获取通用唯一识别码;

基于所述通用唯一识别码创建虚拟磁盘;

在所述虚拟磁盘内创建密钥存储空间及数据存储空间,并定义所述数据存储空间内存储数据的结构及密钥存储空间存储的密文和环境参数;

将所述密钥存储空间与数据存储空间进行关联,得到所述目标加密磁盘。

16.根据权利要求5或7所述的方法,其特征在于,确定所述存储密钥摘要与所述原始存储密钥摘要相同,包括:从所述存储密钥摘要中读取字节范围信息和摘要值信息;

对所述原始存储密钥摘要中,基于所述字节范围信息限定的内容确定目标摘要值,并将所述目标摘要值与所述存储密钥摘要中携带的摘要值进行对比;

若所述目标摘要值与所述存储密钥摘要中携带的摘要值相同,确定所述存储密钥摘要与所述原始存储密钥摘要相同。

17.根据权利要求5或7所述的方法,其特征在于,确定所述存储密钥摘要与所述原始存储密钥摘要相同,还包括:获取所述存储密钥摘要的摘要内容;

对所述摘要内容进行编码,以获取所述摘要内容的摘要特征向量;

将所述摘要特征向量与所述原始存储密钥摘要中所携带的目标摘要特征向量进行比对;

当所述摘要特征向量与所述目标摘要特征向量相同时,确定所述存储密钥摘要与所述原始存储密钥摘要相同。

18.一种基于磁盘加密的数据共享装置,其特征在于,所述装置包括:信息获取模块,用于获取目标加密磁盘的磁盘信息以及目标数据访问口令,所述磁盘信息包括管理员口令、环境参数及第一密文,所述目标数据访问口令是通过注册得到的;所述环境参数包括随机盐值以及迭代次数,所述随机盐值用于防止彩虹表破解,所述迭代次数用于表征各密钥生成前与随机盐值的迭代次数;

第一解密模块,用于基于管理员口令生成第一解密密钥,以从所述第一密文中解密出存储主密钥;

密钥加密模块,用于基于所述目标数据访问口令生成第二加密密钥,以对所述存储主密钥进行加密得到第二密文,并将所述第二密文存储至所述目标加密磁盘中;

第二解密模块,用于若接收到的访问指令携带有目标数据访问口令,基于携带的目标数据访问口令对所述第二密文进行解密得到所述存储主密钥;

解密共享模块,用于基于解密得到的所述存储主密钥对所述目标加密磁盘中的加密数据进行解密共享,所述加密数据是通过所述存储主密钥对目标数据加密后得到的。

19.一种计算机设备,其特征在于,包括:

存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至17中任一项所述的方法。

20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至17中任一项所述的方法。

说明书 :

基于磁盘加密的数据共享方法、装置、设备及存储介质

技术领域

[0001] 本发明涉及数据安全技术领域,具体涉及一种基于磁盘加密的数据共享方法、装置、设备及存储介质。

背景技术

[0002] 随着人工智能技术的日趋成熟,越来越多的人工智能技术被广泛地应用于各行各业。数据作为人工智能算法的样本,在人工智能落地的过程中起着至关重要的作用。目前,各行业及机构之间都存在着海量用户隐私数据,形成多个数据孤岛。一方面,这些分散的数据针对人工智能发展,都具有很大的数据挖掘价值。另一方面,由于数据隐私及数据安全问题,不同机构、不同行业之间,很难进行数据共享。因此,如何在保护数据隐私和数据安全的情况下,进行数据共享,成为行业亟待解决的问题。

发明内容

[0003] 有鉴于此,本发明提供了一种基于磁盘加密的数据共享方法、装置、设备及存储介质,以解决现有用户之间由于数据隐私及数据安全问题,不同用户之间,很难进行数据共享的问题。
[0004] 第一方面,本发明提供了一种基于磁盘加密的数据共享方法,该方法包括:获取目标加密磁盘的磁盘信息以及目标数据访问口令,磁盘信息包括管理员口令及第一密文,目标数据访问口令是通过注册得到的;基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥;基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中;若接收到的访问指令携带有目标数据访问口令,基于携带的目标数据访问口令对第二密文进行解密得到所述存储主密钥;基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享,加密数据是通过存储主密钥对目标数据加密后得到的。通过上述过程,可以在保护用户数据隐私及数据安全的基础上,进行用户间的数据共享。
[0005] 在一种可选的实施方式中,磁盘信息还包括环境参数以及原始存储密钥摘要,环境参数包括随机盐值以及迭代次数,随机盐值用于防止彩虹表破解,迭代次数用于表征各密钥生成前与随机盐值的迭代次数。
[0006] 在一种可选的实施方式中,环境参数包括第一环境参数,基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥,包括:
[0007] 基于第一环境参数及管理员口令生成第一解密密钥;
[0008] 基于第一解密密钥对第一密文进行解密,得到第一解密结果;
[0009] 基于原始存储密钥摘要对第一解密结果进行验证;
[0010] 若验证通过,确定第一解密结果为存储主密钥。
[0011] 在一种可选的实施方式中,环境参数还包括第二环境参数,基于原始存储密钥摘要对第一解密结果进行验证,包括:
[0012] 基于第二环境参数计算存储主密钥的存储密钥摘要;
[0013] 将存储密钥摘要与原始存储密钥摘要进行比对;
[0014] 当存储密钥摘要与原始存储密钥摘要相同时,确定第一解密结果为存储主密钥。
[0015] 在一种可选的实施方式中,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中,包括:
[0016] 基于第二环境参数及目标数据访问口令生成第二加密密钥;
[0017] 通过第二加密密钥对存储主密钥进行加密,得到第二密文;
[0018] 将第二密文存储在目标加密磁盘的第二密钥存储空间中。
[0019] 在一种可选的实施方式中,确定接收到的访问指令携带有目标数据访问口令,包括:
[0020] 获取访问指令中所携带的访问口令;
[0021] 基于第二环境参数及访问口令生成第二解密密钥;
[0022] 基于第二解密密钥对第二密文进行解密,得到第二解密结果;
[0023] 基于原始存储密钥摘要对第二解密结果进行验证;
[0024] 若验证通过,确定接收到的访问指令携带有目标数据访问口令。
[0025] 在一种可选的实施方式中,环境参数还包括第三环境参数,基于原始存储密钥摘要对第二解密结果进行验证,包括:
[0026] 基于第三环境参数计算存储主密钥的存储密钥摘要;
[0027] 将存储密钥摘要与原始存储密钥摘要进行比对;
[0028] 当存储密钥摘要与原始存储密钥摘要相同时,确定收到的访问指令携带有目标数据访问口令。
[0029] 在一种可选的实施方式中,基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥,包括:
[0030] 基于第二环境参数及目标数据访问口令生成第二解密密钥;
[0031] 基于第二解密密钥对第二密文进行解密,得到存储主密钥。
[0032] 在一种可选的实施方式中,基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享,包括:
[0033] 获取访问指令中所携带的访问请求;
[0034] 基于访问请求从目标加密磁盘中获取加密数据;
[0035] 基于解密得到的存储主密钥对加密数据进行解密,得到明文数据;
[0036] 对明文数据中的目标数据进行共享。
[0037] 在一种可选的实施方式中,生成加密数据包括:
[0038] 获取待加密明文数据中的目标数据;
[0039] 基于存储主密钥对目标数据进行加密,得到加密数据。
[0040] 在一种可选的实施方式中,第一密文的生成方法,包括:
[0041] 获取存储主密钥;
[0042] 基于第一环境参数及管理员口令生成第一加密密钥;
[0043] 通过第一加密密钥对存储主密钥进行加密,得到第一密文;其中,第一密文存储于目标加密磁盘的第一密钥存储空间中。
[0044] 在一种可选的实施方式中,获取存储主密钥,包括:
[0045] 获取随机数;
[0046] 将随机数作为存储主密钥。
[0047] 在一种可选的实施方式中,获取存储主密钥,还包括:
[0048] 获取磁盘信息中所携带的信息值;
[0049] 基于动态生成的随机矩阵与信息值生成存储主密钥。
[0050] 在一种可选的实施方式中,生成原始存储密钥摘要,包括:
[0051] 基于第三环境参数及管理员口令,生成存储主密钥的原始存储密钥摘要;其中,原始存储密钥摘要及第三环境参数存储在目标加密磁盘的第三密钥存储空间。
[0052] 在一种可选的实施方式中,创建目标加密磁盘包括:
[0053] 获取通用唯一识别码;
[0054] 基于通用唯一识别码创建虚拟磁盘;
[0055] 在虚拟磁盘内创建密钥存储空间及数据存储空间,并定义数据存储空间内存储数据的结构及密钥存储空间存储的密文和环境参数;
[0056] 将密钥存储空间与数据存储空间进行关联,得到目标加密磁盘。
[0057] 在一种可选的实施方式中,确定存储密钥摘要与原始存储密钥摘要相同,包括:
[0058] 从存储密钥摘要中读取字节范围信息和摘要值信息;
[0059] 对原始存储密钥摘要中,基于字节范围信息限定的内容确定目标摘要值,并将目标摘要值与存储密钥摘要中携带的摘要值进行对比;
[0060] 若目标摘要值与存储密钥摘要中携带的摘要值相同,确定存储密钥摘要与原始存储密钥摘要相同。
[0061] 在一种可选的实施方式中,确定存储密钥摘要与原始存储密钥摘要相同,还包括:
[0062] 获取存储密钥摘要的摘要内容;
[0063] 对摘要内容进行编码,以获取摘要内容的摘要特征向量;
[0064] 将摘要特征向量与原始存储密钥摘要中所携带的目标摘要特征向量进行比对;
[0065] 当摘要特征向量与目标摘要特征向量相同时,确定存储密钥摘要与原始存储密钥摘要相同。
[0066] 第二方面,本发明提供了一种基于磁盘加密的数据共享装置,该装置主要包括:信息获取模块、第一解密模块、密钥加密模块、第二解密模块、及解密共享模块;其中,信息获取模块,用于获取目标加密磁盘的磁盘信息以及目标数据访问口令,磁盘信息包括管理员口令及第一密文,目标数据访问口令是通过注册得到的;第一解密模块,用于基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥;密钥加密模块,用于基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中;第二解密模块,用于若接收到的访问指令携带有目标数据访问口令,基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥;解密共享模块,用于基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享,加密数据是通过存储主密钥对目标数据加密后得到的。通过上述过程,可以在保护用户数据隐私及数据安全的基础上,进行用户间的数据共享。
[0067] 第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的基于磁盘加密的数据共享方法。
[0068] 第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的基于磁盘加密的数据共享方法。

附图说明

[0069] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0070] 图1是本发明实施例的一种应用环境的示意图;
[0071] 图2是本发明实施例的基于磁盘加密的数据共享方法的流程示意图;
[0072] 图3是本发明实施例目标加密磁盘的架构示意图;
[0073] 图4是本发明实施例的管理员口令注册数据流图;
[0074] 图5是本发明实施例的管理员口校验数据流图;
[0075] 图6是本发明实施例的目标数据访问口令注册数据流图;
[0076] 图7是本发明实施例的目标数据访问口令校验数据流图;
[0077] 图8是本发明实施例的数据共享数据流图;
[0078] 图9是本发明实施例的另一基于磁盘加密的数据共享方法的流程示意图;
[0079] 图10是本发明实施例的又一基于磁盘加密的数据共享方法的流程示意图;
[0080] 图11是本发明实施例的再一基于磁盘加密的数据共享方法的流程示意图;
[0081] 图12是本发明实施例的基于磁盘加密的数据共享装置的结构框图;
[0082] 图13是本发明实施例的计算机设备的硬件结构示意图。

具体实施方式

[0083] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0084] 本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本发明中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本发明实施例不做限制。
[0085] 请参阅图1,图1是本发明实施例提供的一种应用环境的示意图,该示意图包括磁盘管理服务器100中可以包含有显示器101、处理器102和存储器103。磁盘管理服务器100可以通过网络300与授权管理服务器200进行通信连接,该授权管理服务器200可用于为磁盘管理服务器上安装的计算程序提供服务(如管理服务等),可在授权管理服务器200上或独立于授权管理服务器200设置数据库201,用于为授权管理服务器200提供数据存储服务。此外,授权管理服务器200中可以运行有处理引擎202,该处理引擎202可以用于执行由授权管理服务器200所执行的步骤。
[0086] 可选的,磁盘管理服务器100可以但不限于为可以计算数据的终端,如移动终端(例如平板电脑)、笔记本电脑、PC(Personal Computer,个人计算机)机等终端上,上述网络可以包括但不限于无线网络或有线网络。其中,该无线网络包括:蓝牙、WIFI(Wireless Fidelity,无线保真)及其他实现无线通信的网络。上述有线网络可以包括但不限于:广域网、城域网、服务器集群。上述授权管理服务器200可以包括但不限于任何可以进行计算的硬件设备。
[0087] 此外,在本实施例中,上述基于磁盘加密的数据共享方法还可以但不限于应用于处理能力较强大的独立的处理设备中,而无需进行数据交互。例如,该处理设备可以但不限于为处理能力较强大的终端设备,即,上述基于磁盘加密的数据共享方法中的各个操作可以集成在一个独立的处理设备中。上述仅是一种示例,本实施例中对此不作任何限定。
[0088] 可选的,在本实施例中,上述基于磁盘加密的数据共享方法可以由授权管理服务器200来执行,也可以由磁盘管理服务器100来执行,还可以是由授权管理服务器200和磁盘管理服务器100共同执行。其中,磁盘管理服务器100执行本发明实施例的基于磁盘加密的数据共享方法也可以是由安装在其上的客户端来执行。
[0089] 具体应用时,首先建立授权管理服务器与磁盘管理服务器的通信连接。其中授权管理服务器用于接收用户输入的管理员口令,且管理员口令是加密存储在授权管理服务器的数据库中。当需要给指定用户分配数据访问权限时,首先校验该用户的账号和密码,该账号和密码需通过登录到授权管理服务器进行校验,通过校验后,授权管理服务器将该用户输入的目标数据访问口令和记录在授权管理服务器的数据库中的管理员口令传入到磁盘管理服务器中,用于该用户数据访问口令的注册。当用户通过授权管理服务器输入的访问指令时,将该访问指令输入磁盘管理服务器判断访问指令中的访问口令是否有效,只有当访问口令有效时才能进行数据的加密写入和解密读取。
[0090] 根据本发明实施例,提供了一种基于磁盘加密的数据共享方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0091] 在本实施例中提供了一种基于磁盘加密的数据共享方法,可用于上述的磁盘管理服务器,图2是根据本发明实施例的基于磁盘加密的数据共享方法的流程图,如图2所示,该流程包括如下步骤:
[0092] 步骤S201,获取目标加密磁盘的磁盘信息以及目标数据访问口令。
[0093] 本实施例中,通过获取目标加密磁盘的磁盘信息以及目标数据访问口令,以便于基于目标加密磁盘的磁盘信息完成对目标数据访问口发授权访问。其中,磁盘信息包括管理员口令及第一密文,目标数据访问口令是通过注册得到的。
[0094] 进一步地,磁盘信息还包括环境参数以及原始存储密钥摘要,环境参数包括随机盐值以及迭代次数,随机盐值用于防止彩虹表破解,迭代次数用于表征各密钥生成前与随机盐值的迭代次数。
[0095] 具体的,随机盐值可以由随机数生成,同时也可以由随机数与目标加密磁盘的通用唯一识别码生成。即,随机盐值与目标加密磁盘的加密环境信息相关,以抵御“彩虹表”的攻击能力。迭代次数可以为默认值,也可以采用与目标加密磁盘的加密环境信息相关的迭代次数。如:可以先获取一次哈希迭代的耗时,并将该耗时作为度量单位T;如果该度量单位T大于第一阈值500毫秒(表示该加密环境下1秒内,最大可以正向计算2次),则迭代次数为默认的2000次;如果该度量单位T小于第二阈值100毫秒(表示该环境下1秒内,至少可以正向计算10次),则迭代次数为默认的2000次乘以10,即20000次;如果该度量单位T,大于第二阈值100毫秒,小于第一阈值500毫秒(表示该加密环境下1秒内,最少可以正向计算2次,最多可以正向计算10次),则迭代次数为默认的2000*2000/T。
[0096] 综上,当该加密环境的计算能力越强,迭代次数需要设置的越大;当该加密环境的计算能力越弱,迭代次数可以设置的越小(最大20000次,最小2000次)。即加密环境的计算能力与迭代次数之间呈线性关系。
[0097] 请参阅图3,一种可选的实施方式中,首选获取通用唯一识别码UUID(Universally Unique Identifier);然后基于通用唯一识别码创建虚拟磁盘,并在虚拟磁盘内创建密钥存储空间及数据存储空间,并定义数据存储空间内存储数据的结构(如加密的目标数据)及密钥存储空间存储的密文和环境参数;最后将密钥存储空间与数据存储空间进行关联,得到目标加密磁盘。
[0098] 其中,上述环境参数分为存储于第一密钥存储空间中的第一环境参数,存储在第二密钥存储空间的第二环境参数,以及存储在第三密钥存储空间的第三环境参数。其中,第一环境参数、第二环境参数及第三环境参数均包括随机盐值和迭代次数。随机盐值用于防止彩虹表破解,迭代次数用于表征各密钥生成前与随机盐值的迭代次数,可根据实际需求调整。
[0099] 具体实施时,第一密钥存储空间可以包括存储第一环境参数及第一密文的0号密钥槽;第一环境参数存储在0号密钥槽的Key0槽中,第一密文存储在0号密钥槽的KM0槽中,KM0槽具有密钥映射功能。第二密钥存储空间可以包括存储第二环境参数及第二密文的N号密钥槽,N号密钥槽中的各槽编号可以为Key1槽至KeyN槽,KM1槽至KMN槽;第二环境参数存储在N号密钥槽的KeyN槽中,第二密文存储在N号密钥槽的KMN槽中,每个用户所使用的密钥槽相互独立,互不干扰,互不依赖。第三密钥存储空间可以包括存储第三环境参数及原始存储密钥摘要的磁盘头部。同时,为便于描述,将第一环境参数包括的随机盐值和迭代次数定义为:第一随机盐值ks.salt1及第一迭代次数ks.iterators1;将第二环境参数包括的随机盐值和迭代次数定义为:第二随机盐值ks.salt2及第二迭代次数ks.iterators2;第三环境参数包括的随机盐值和迭代次数定义为:第三随机盐值ks.salt3及第三迭代次数ks.iterators3。
[0100] 一种可选的实施方式中,在存储主密钥的获取过程中,可以首先通过随机数发生器生成一随机数,然后将该随机数作为存储主密钥,以实现存储主密钥获取的随机性及可靠性,避免人为输入的存储主密钥的密钥等级无法达到预定等级,且存在泄露风险的问题。
[0101] 一种可选的实施方式中,在存储主密钥的获取过程中,还可以先获取磁盘信息中所携带的信息值,然后基于动态生成的随机矩阵与信息值生成存储主密钥,以进一步提升存储主密钥的安全等级。其中,磁盘信息所携带的信息值可以通过哈希算法计算磁盘信息所对应的内容得到。可以理解的,通过信息值和生成的随机矩阵进一步增强了存储主密钥的随机性,以及安全性。
[0102] 一种可选的实施方式中,在第一密文生成的过程中,可以先获取存储主密钥;基于第一环境参数及管理员口令生成第一加密密钥,从而提高第一加密密钥的安全性,避免彩虹表破解;然后通过第一加密密钥对存储主密钥进行加密,得到第一密文,并将第一密文存储于目标加密磁盘的第一密钥存储空间中,如存储在KM0中,从而进一步提升了存储主密钥的安全性。
[0103] 一种可选的实施方式中,在生成原始存储密钥摘要的过程中,可以基于管理员口令及存储在第三密钥存储空间的第三环境参数,生成存储主密钥的原始存储密钥摘要。
[0104] 请参阅图4,具体实施时,首先根据授权管理服务器输入的管理员口令(管理员password),基于密钥派生函数对管理员口令(管理员password)及第一随机盐值ks.salt1迭代第一迭代次数ks.iterators1(如2000次迭代)后,产生第一加密密钥pwd‑PBKDF2‑ed10。然后,将获取的随机数,作为存储主密钥MasterKey,同时利用第一加密密钥pwd‑PBKDF2‑ed10对存储主密钥MasterKey进行加密,生成第一密文Encrypt‑MasterKey1;再将第一密文Encrypt‑MasterKey1存储到0号密钥槽的KM0槽中。最后根据产生的存储主密钥MasterKey,基于密钥派生函数对存储主密钥MasterKey及第三随机盐值ks.salt3迭代第三迭代次数mk.iterators3(如2000次迭代)后,得到存储主密钥MasterKey的原始存储密钥摘要MasterKey‑abs,并把该原始存储密钥摘要MasterKey‑abs记录到第三密钥存储空间,如磁盘头部。
[0105] 可以理解的,本实施例的管理员口令用于加密存储主密钥等相关初始化工作。后续只有输入正确的管理员口令,才能添加用户的数据访问口令到目标加密磁盘的密钥槽中。管理员的口令是加密存储记录在授权管理服务器的数据库中,当需要给指定用户新建数据访问口令时,必须出示正确的管理员口令。
[0106] 步骤S202,基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥。
[0107] 本实施例中,通过基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥,从而为目标数据访问口令的注册及授权提供必要条件。
[0108] 一种可选的实施方式中,可以首先基于第一环境参数及管理员口令生成第一解密密钥;然后基于第一解密密钥对第一密文进行解密,得到第一解密结果;再基于原始存储密钥摘要对第一解密结果进行验证;若验证通过,确定第一解密结果为存储主密钥。可以理解的,通过对第一解密结果的验证,以确定第一解密结果是否为存储主密钥,即对第一解密结果的正确性进行验证,从而为目标数据访问口令的授权提供可靠条件。
[0109] 可选的,基于原始存储密钥摘要对第一解密结果进行验证时,可以基于第二环境参数计算存储主密钥的存储密钥摘要;将存储密钥摘要与原始存储密钥摘要进行比对;当存储密钥摘要与原始存储密钥摘要相同时,确定第一解密结果为存储主密钥。
[0110] 请参阅图5,具体实施时,首选通过授权管理服务器输入管理员口令(管理员password),基于密钥派生函数对管理员口令(管理员password)及第一随机盐值ks.salt1迭代第一迭代次数ks.iterators1(如2000次迭代)后,产生第一解密密钥pwd‑PBKDF2‑ed11;然后从0号密钥槽的KM0槽读取出加密存储主密钥MasterKey所得到的第一密文Encrypt‑MasterKey1,并通过第一解密密钥pwd‑PBKDF2‑ed11对第一密文Encrypt‑MasterKey1进行解密,得到第一解密结果MasterKey1。接着,基于密钥派生函数对第一解密结果MasterKey1及第三随机盐值ks.salt3迭代第三迭代次数ks.iterators3(如2000次迭代)后,得到存储密钥摘要MasterKey‑abs1;将存储密钥摘要MasterKey‑abs1与原始存储密钥摘要MasterKey‑abs进行比对,确定该存储密钥摘要MasterKey‑abs1是否正确。
[0111] 步骤S203,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中。
[0112] 本实施例中,当存储密钥摘要与原始存储密钥摘要相同时,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中,从而完成对目标数据访问口令的授权,为后期通过目标数据访问口令进行解密数据的读取提供必要条件。
[0113] 一种可选的实施方式中,可以先基于第二环境参数及目标数据访问口令生成第二加密密钥;然后通过第二加密密钥对存储主密钥进行加密,得到第二密文;再将第二密文存储在目标加密磁盘的第二密钥存储空间中。
[0114] 请参阅图6,具体实施时,当存储密钥摘要与原始存储密钥摘要相同时,通过授权管理服务器输入目标数据访问口令(数据访问password),基于密钥派生函数对目标数据访问口令(数据访问 password)及第二随机盐值ks.salt2迭代第二迭代次数ks.iterators2(如2000次迭代)后,得到第二加密密钥pwd‑PBKDF2‑ed20,并通过第二加密密钥pwd‑PBKDF2‑ed20对存储主密钥MasterKey进行加密,得到第二密文Encrypt‑MasterKey2,并将第二密文Encrypt‑MasterKey2存储在N号密钥槽的KeyN槽中。
[0115] 可以理解的,本实施例中当需要给指定用户分配数据访问权限时,首先校验该用户的账号和密码,该账号和密码是登录到授权管理服务器的,通过校验后,授权管理服务器把该用户输入的目标数据访问口令和记录在授权管理服务器的数据库中的管理员口令传入到磁盘管理服务器中,用于该用户目标数据访问口令的注册。该用户的目标数据访问口令并不记录到授权管理服务器的数据库中,通过此方式来保证目标数据访问口令的机密性。
[0116] 步骤S204,若接收到的访问指令携带有目标数据访问口令,基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥。
[0117] 本实施例中,若接收到的访问指令携带有目标数据访问口令,则基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥,从而实现根据存储主密钥进行目标数据的加密写入及解密读取。
[0118] 一种可选的实施方式中,可以先获取访问指令中所携带的访问口令;然后基于第二环境参数及访问口令生成第二解密密钥;基于第二解密密钥对第二密文进行解密,得到第二解密结果;再基于原始存储密钥摘要对第二解密结果进行验证;若验证通过,确定接收到的访问指令携带有目标数据访问口令;此时,则基于第二环境参数及目标数据访问口令生成第二解密密钥;基于第二解密密钥对第二密文进行解密,得到存储主密钥。
[0119] 可选的,基于原始存储密钥摘要对第二解密结果进行验证时,可以基于第三环境参数计算存储主密钥的存储密钥摘要;将存储密钥摘要与原始存储密钥摘要进行比对;当存储密钥摘要与原始存储密钥摘要相同时,确定收到的访问指令携带有目标数据访问口令。
[0120] 请参阅图7,具体实施时,首选通过授权管理服务器获取访问指令中所携带的访问口令(user password),然后基于密钥派生函数对访问口令及第二随机盐值ks.salt2迭代第二迭代次数ks.iterators2(如2000次迭代)后,产生第二解密密钥pwd‑PBKDF2‑ed21;然后从N号密钥槽的KMN槽读取出加密存储主密钥MasterKey所得到的第二密文Encrypt‑MasterKey2,并通过第二解密密钥pwd‑PBKDF2‑ed21对第二密文Encrypt‑MasterKey2进行解密,得到第二解密结果MasterKey2。接着,基于密钥派生函数对第二解密结果MasterKey2及第三随机盐值ks.salt3迭代第三迭代次数ks.iterators3(如2000次迭代)后,得到存储密钥摘要MasterKey‑abs1;将存储密钥摘要MasterKey‑abs1与原始存储密钥摘要MasterKey‑abs进行比对,确定该存储密钥摘要MasterKey‑abs1是否正确。当存储密钥摘要与原始存储密钥摘要相同时,确定收到的访问指令携带有目标数据访问口令。此时则基于第二环境参数及目标数据访问口令生成第二解密密钥;基于第二解密密钥对第二密文进行解密,得到存储主密钥MasterKey。
[0121] 步骤S205,基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享。
[0122] 本实施例中,确定接收到的访问指令携带有目标数据访问口令时,基于第二环境参数及目标数据访问口令生成第二解密密钥;基于第二解密密钥对第二密文进行解密;基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享,从而在保护用户数据隐私及数据安全的基础上,进行用户间的数据共享,实现了相同的加密数据可用而各自口令不需可见的目的。
[0123] 请参阅图8,一种可选的实施方式中,可以先获取访问指令中所携带的访问请求;基于访问请求从目标加密磁盘中获取加密数据;然后基于解密得到的存储主密钥MasterKey对加密数据进行解密,得到明文数据,最终实现对明文数据中的目标数据进行共享。生成加密数据时,首选获取待加密明文数据中的目标数据;然后基于存储主密钥MasterKey对目标数据进行加密,得到加密数据。
[0124] 可以理解的,本发明可以允许多个用户使用不同的口令,每个用户不需要知道其他人的口令就可以完成数据的加密存储和解密访问,从而实现了数据可用而口令不可见的需求。因此,可以实现在多个数据提供方之间进行安全共享数据,从而实现多方的数据分析和数据挖掘。
[0125] 本实施例提供的基于磁盘加密的数据共享方法,首先通过获取目标加密磁盘的磁盘信息以及目标数据访问口令,以便于基于目标加密磁盘的磁盘信息完成对目标数据访问口发授权访问;通过基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥,从而为目标数据访问口令的注册及授权提供必要条件;当存储密钥摘要与原始存储密钥摘要相同时,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中,从而完成对目标数据访问口令的授权,为后期通过目标数据访问口令进行解密数据的读取提供必要条件;若接收到的访问指令携带有目标数据访问口令,则基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥,从而实现根据存储主密钥进行目标数据的加密写入及解密读取;基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享,从而在保护用户数据隐私及数据安全的基础上,进行用户间的数据共享。
[0126] 在本实施例中提供了一种基于磁盘加密的数据共享方法,可用于上述的磁盘管理服务器,图9是根据本发明实施例的基于磁盘加密的数据共享方法的流程图,如图9所示,该流程包括如下步骤:
[0127] 步骤S901,获取目标加密磁盘的磁盘信息以及目标数据访问口令。
[0128] 本实施例中,通过获取目标加密磁盘的磁盘信息以及目标数据访问口令,以便于基于目标加密磁盘的磁盘信息完成对目标数据访问口发授权访问。其中,磁盘信息包括管理员口令及第一密文,目标数据访问口令是通过注册得到的。
[0129] 详细请参见图2所示实施例的步骤S201,在此不再赘述。
[0130] 步骤S902,基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥。
[0131] 本实施例中,通过基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥,从而为目标数据访问口令的注册及授权提供必要条件。
[0132] 具体的,上述步骤S902,包括:
[0133] 步骤S9021,基于第一环境参数及管理员口令生成第一解密密钥。
[0134] 本实施例中,通过基于第一环境参数及管理员口令生成第一解密密钥,以便于基于第一解密密钥对第一密文进行解密。
[0135] 具体实施时,首选通过授权管理服务器输入管理员口令(管理员password),基于密钥派生函数对管理员口令及第一随机盐值ks.salt1迭代第一迭代次数ks.iterators1(如2000次迭代)后,产生第一解密密钥pwd‑PBKDF2‑ed11。
[0136] 步骤S9022,基于第一解密密钥对第一密文进行解密,得到第一解密结果。
[0137] 本实施例中,通过基于第一解密结果对第一密文进行解密,从而为目标数据访问口令的授权提供必要条件。
[0138] 具体实施时,从0号密钥槽的KM0槽中读取出加密存储主密钥MasterKey所得到的第一密文Encrypt‑MasterKey1,并通过第一解密密钥pwd‑PBKDF2‑ed11对第一密文Encrypt‑MasterKey1进行解密,得到第一解密结果MasterKey1。
[0139] 步骤S9023,基于原始存储密钥摘要对第一解密结果进行验证。
[0140] 本实施例中,通过基于原始存储密钥摘要对第一解密结果进行验证,以确定第一解密结果是否为存储主密钥。
[0141] 一种可选的实施方式中,可以基于第二环境参数计算存储主密钥的存储密钥摘要;将存储密钥摘要与原始存储密钥摘要进行比对;当存储密钥摘要与原始存储密钥摘要相同时,确定第一解密结果为存储主密钥。
[0142] 具体实施时,基于密钥派生函数对第一解密结果MasterKey1及第三随机盐值ks.salt1迭代第三迭代次数ks.iterators3(如2000次迭代)后,得到存储密钥摘要MasterKey‑abs1;将存储密钥摘要MasterKey‑abs1与原始存储密钥摘要MasterKey‑abs进行比对,确定该存储密钥摘要MasterKey‑abs1是否正确。
[0143] 一种可选的实施方式中,确定存储密钥摘要与原始存储密钥摘要相同时,可以从存储密钥摘要中读取字节范围信息和摘要值信息;对原始存储密钥摘要中,基于字节范围信息限定的内容确定目标摘要值,并将目标摘要值与存储密钥摘要中携带的摘要值进行对比;若目标摘要值与存储密钥摘要中携带的摘要值相同,确定存储密钥摘要与原始存储密钥摘要相同。
[0144] 具体实施时,从存储密钥摘要中读取字节范围信息和摘要值信息;对原始存储密钥摘要中,基于字节范围信息限定的内容进行散列运算,根据运算结果确定目标摘要值,并将目标摘要值与存储密钥摘要中携带的摘要值进行对比;若目标摘要值与存储密钥摘要中携带的摘要值相同,确定存储密钥摘要与原始存储密钥摘要相同。
[0145] 一种可选的实施方式中,确定存储密钥摘要与原始存储密钥摘要相同时,还可以获取存储密钥摘要的摘要内容;对摘要内容进行编码,以获取摘要内容的摘要特征向量;将摘要特征向量与原始存储密钥摘要中所携带的目标摘要特征向量进行比对;当摘要特征向量与目标摘要特征向量相同时,确定存储密钥摘要与原始存储密钥摘要相同。
[0146] 具体实施时,对摘要内容进行编码3‑gram编码,并进行哈希值计算,以获取该摘要内容的特征向量,然后通过相似度算法计算摘要特征向量与原始存储密钥摘要中所携带的目标摘要特征向量的相似度,当摘要特征向量与目标摘要特征向量的相似度为100%时,确定存储密钥摘要与原始存储密钥摘要相同。
[0147] 一种可选的实施方式中,确定存储密钥摘要与原始存储密钥摘要相同时,还可以获取存储密钥摘要的摘要信息;将存储密钥摘要的摘要信息作为候选的摘要信息;将候选的摘要信息与原始存储密钥摘要的摘要信息按照顺序逐一比对;当候选的摘要信息与原始存储密钥摘要的摘要信息完全相同时,确定存储密钥摘要与原始存储密钥摘要相同。
[0148] 步骤S9024,若验证通过,确定第一解密结果为存储主密钥。
[0149] 本实施例中,若验证通过,则确定第一解密结果为存储主密钥,即实现了第一解密结果正确性的验证,从而为目标数据访问口令的授权提供可靠条件。
[0150] 步骤S903,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中。
[0151] 本实施例中,当存储密钥摘要与原始存储密钥摘要相同时,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中,从而完成对目标数据访问口令的授权,为后期通过目标数据访问口令进行解密数据的读取提供必要条件。
[0152] 步骤S904,若接收到的访问指令携带有目标数据访问口令,基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥。
[0153] 本实施例中,若接收到的访问指令携带有目标数据访问口令,则基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥,从而实现根据存储主密钥进行目标数据的加密写入及解密读取。
[0154] 详细请参见图2所示实施例的步骤S204,在此不再赘述。
[0155] 步骤S905,基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享。
[0156] 本实施例中,确定接收到的访问指令携带有目标数据访问口令时,基于第二环境参数及目标数据访问口令生成第二解密密钥;基于第二解密密钥对第二密文进行解密;基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享,从而在保护用户数据隐私及数据安全的基础上,进行用户间的数据共享。
[0157] 详细请参见图2所示实施例的步骤S205,在此不再赘述。
[0158] 可以理解的,本发明可以允许多个用户使用不同的口令,每个用户不需要知道其他人的口令就可以完成数据的加密存储和解密访问,从而实现了数据可用而口令不可见的需求。因此,可以实现在多个数据提供方之间进行安全共享数据,从而实现多方的数据分析和数据挖掘。
[0159] 本实施例提供的基于磁盘加密的数据共享方法,首先通过获取目标加密磁盘的磁盘信息以及目标数据访问口令,以便于基于目标加密磁盘的磁盘信息完成对目标数据访问口发授权访问;通过基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥,从而为目标数据访问口令的注册及授权提供必要条件;当存储密钥摘要与原始存储密钥摘要相同时,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中,从而完成对目标数据访问口令的授权,为后期通过目标数据访问口令进行解密数据的读取提供必要条件;若接收到的访问指令携带有目标数据访问口令,则基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥,从而实现根据存储主密钥进行目标数据的加密写入及解密读取;基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享,从而在保护用户数据隐私及数据安全的基础上,进行用户间的数据共享。
[0160] 在本实施例中提供了一种基于磁盘加密的数据共享方法,可用于上述的磁盘管理服务器,图10是根据本发明实施例的基于磁盘加密的数据共享方法的流程图,如图10所示,该流程包括如下步骤:
[0161] 步骤S101,获取存储主密钥。
[0162] 本实施例中,通过获取存储主密钥,为第一密文的生成提供必要条件。
[0163] 一种可选的实施方式中,可以首先通过随机数发生器生成一随机数,然后将该随机数作为存储主密钥,以实现存储主密钥获取的随机性及可靠性,避免人为输入的存储主密钥的密钥等级无法达到预定等级,且存在泄露风险的问题。
[0164] 一种可选的实施方式中,还可以先获取磁盘信息中所携带的信息值,然后基于动态生成的随机矩阵与信息值生成存储主密钥,以进一步提升存储主密钥的安全等级。其中,磁盘信息所携带的信息值可以通过哈希算法计算磁盘信息所对应的内容得到。可以理解的,通过信息值和生成的随机矩阵进一步增强了存储主密钥的随机性,以及安全性。
[0165] 步骤S102,基于第一环境参数及管理员口令生成第一加密密钥。
[0166] 本实施例中,通过基于第一环境参数及管理员口令生成第一加密密钥,为存储主密钥的加密提供必要条件。
[0167] 具体实施时,可以基于密钥派生函数对管理员口令(管理员password)及第一随机盐值ks.salt1迭代第一迭代次数ks.iterators1(如2000次迭代)后,产生第一加密密钥pwd‑PBKDF2‑ed10。
[0168] 步骤S103,通过第一加密密钥对存储主密钥进行加密,得到第一密文。
[0169] 本实施例中,通过第一加密密钥对存储主密钥进行加密,得到第一密文,从而进一步提升了存储主密钥的安全性。
[0170] 具体实施时,利用第一加密密钥pwd‑PBKDF2‑ed10对存储主密钥MasterKey进行加密,生成第一密文Encrypt‑MasterKey1。再将第一密文Encrypt‑MasterKey1存储到第一密钥存储空间的KM0槽中。最后根据产生的存储主密钥MasterKey,基于密钥派生函数对存储主密钥MasterKey及第三随机盐值ks.salt3迭代第三迭代次数mk.iterators(如2000次迭代)后,得到存储主密钥MasterKey的原始存储密钥摘要MasterKey‑abs,并把该原始存储密钥摘要MasterKey‑abs记录到第三密钥存储空间,如磁盘头部。
[0171] 详细请参见图2所示实施例的步骤S201,在此不再赘述。
[0172] 步骤S104,基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥。
[0173] 本实施例中,通过基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥,从而为目标数据访问口令的注册及授权提供必要条件。
[0174] 详细请参见图9所示实施例的步骤S902,在此不再赘述。
[0175] 步骤S105,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中。
[0176] 本实施例中,当存储密钥摘要与原始存储密钥摘要相同时,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中,从而完成对目标数据访问口令的授权,为后期通过目标数据访问口令进行解密数据的读取提供必要条件。
[0177] 详细请参见图2所示实施例的步骤S203,在此不再赘述。
[0178] 步骤S106,若接收到的访问指令携带有目标数据访问口令,基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥。
[0179] 本实施例中,若接收到的访问指令携带有目标数据访问口令,则基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥,从而实现根据存储主密钥进行目标数据的加密写入及解密读取。
[0180] 详细请参见图2所示实施例的步骤S204,在此不再赘述。
[0181] 步骤S107,基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享。
[0182] 本实施例中,确定接收到的访问指令携带有目标数据访问口令时,基于第二环境参数及目标数据访问口令生成第二解密密钥;基于第二解密密钥对第二密文进行解密;基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享,从而在保护用户数据隐私及数据安全的基础上,进行用户间的数据共享。
[0183] 详细请参见图2所示实施例的步骤S205,在此不再赘述。
[0184] 可以理解的,本发明可以允许多个用户使用不同的口令,每个用户不需要知道其他人的口令就可以完成数据的加密存储和解密访问,从而实现了数据可用而口令不可见的需求。因此,可以实现在多个数据提供方之间进行安全共享数据,从而实现多方的数据分析和数据挖掘。
[0185] 本实施例提供的基于磁盘加密的数据共享方法,首先通过获取存储主密钥,基于第一环境参数及管理员口令生成第一加密密钥,通过第一加密密钥对存储主密钥进行加密,得到第一密文,从而进一步提升了存储主密钥的安全性;通过获取目标加密磁盘的磁盘信息以及目标数据访问口令,以便于基于目标加密磁盘的磁盘信息完成对目标数据访问口发授权访问;通过基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥,从而为目标数据访问口令的注册及授权提供必要条件;当存储密钥摘要与原始存储密钥摘要相同时,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中,从而完成对目标数据访问口令的授权,为后期通过目标数据访问口令进行解密数据的读取提供必要条件;若接收到的访问指令携带有目标数据访问口令,则基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥,从而实现根据存储主密钥进行目标数据的加密写入及解密读取;基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享,从而在保护用户数据隐私及数据安全的基础上,进行用户间的数据共享。
[0186] 在本实施例中提供了一种基于磁盘加密的数据共享方法,可用于上述的磁盘管理服务器,图11是根据本发明实施例的基于磁盘加密的数据共享方法的流程图,如图11所示,该流程包括如下步骤:
[0187] 步骤S111,获取目标加密磁盘的磁盘信息以及目标数据访问口令。
[0188] 本实施例中,通过获取目标加密磁盘的磁盘信息以及目标数据访问口令,以便于基于目标加密磁盘的磁盘信息完成对目标数据访问口发授权访问。其中,磁盘信息包括管理员口令及第一密文,目标数据访问口令是通过注册得到的。
[0189] 详细请参见图2所示实施例的步骤S201,在此不再赘述。
[0190] 步骤S112,基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥。
[0191] 本实施例中,通过基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥,从而为目标数据访问口令的注册及授权提供必要条件。
[0192] 详细请参见图9所示实施例的步骤S902,在此不再赘述。
[0193] 步骤S113,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中。
[0194] 本实施例中,当存储密钥摘要与原始存储密钥摘要相同时,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中,从而完成对目标数据访问口令的授权,为后期通过目标数据访问口令进行解密数据的读取提供必要条件。
[0195] 详细请参见图2所示实施例的步骤S203,在此不再赘述。
[0196] 步骤S114,若接收到的访问指令携带有目标数据访问口令,基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥。
[0197] 本实施例中,若接收到的访问指令携带有目标数据访问口令,则基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥,从而实现根据存储主密钥进行目标数据的加密写入及解密读取。
[0198] 详细请参见图2所示实施例的步骤S204,在此不再赘述。
[0199] 步骤S115,获取目标数据中的待加密明文数据,基于存储主密钥对待加密明文数据进行加密得到加密数据,并将加密数据存储至目标加密磁盘中。
[0200] 本实施例中,若接收到的访问指令携带有目标数据访问口令,基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥。此时,从访问指令中获取目标数据中的待加密明文数据,基于存储主密钥对待加密明文数据进行加密得到加密数据,并将加密数据存储至目标加密磁盘中,为后续数据的共享提供安全保证。
[0201] 步骤S116,基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享。
[0202] 本实施例中,确定接收到的访问指令携带有目标数据访问口令时,基于第二环境参数及目标数据访问口令生成第二解密密钥;基于第二解密密钥对第二密文进行解密;基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享,从而在保护用户数据隐私及数据安全的基础上,进行用户间的数据共享。
[0203] 详细请参见图2所示实施例的步骤S205,在此不再赘述。
[0204] 可以理解的,本发明可以允许多个用户使用不同的口令,每个用户不需要知道其他人的口令就可以完成数据的加密存储和解密访问,从而实现了数据可用而口令不可见的需求。因此,可以实现在多个数据提供方之间进行安全共享数据,从而实现多方的数据分析和数据挖掘。
[0205] 本实施例提供的基于磁盘加密的数据共享方法,首先通过获取目标加密磁盘的磁盘信息以及目标数据访问口令,以便于基于目标加密磁盘的磁盘信息完成对目标数据访问口发授权访问;通过基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥,从而为目标数据访问口令的注册及授权提供必要条件;当存储密钥摘要与原始存储密钥摘要相同时,基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中,从而完成对目标数据访问口令的授权,为后期通过目标数据访问口令进行解密数据的读取提供必要条件;若接收到的访问指令携带有目标数据访问口令,则基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥,从而实现根据存储主密钥进行目标数据的加密写入及解密读取;基于存储主密钥对待加密明文数据进行加密得到加密数据,并将加密数据存储至目标加密磁盘中,为后续数据的共享提供安全保证;基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享,从而在保护用户数据隐私及数据安全的基础上,进行用户间的数据共享。
[0206] 在本实施例中还提供了一种基于磁盘加密的数据共享装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0207] 本实施例提供一种基于磁盘加密的数据共享装置,如图12所示,包括:
[0208] 信息获取模块121,用于获取目标加密磁盘的磁盘信息以及目标数据访问口令,磁盘信息包括管理员口令及第一密文,目标数据访问口令是通过注册得到的。
[0209] 其中,磁盘信息还包括环境参数以及原始存储密钥摘要。环境参数分为存储于第一密钥存储空间中的第一环境参数,存储在第二密钥存储空间的第二环境参数,以及存储在第三密钥存储空间的第三环境参数。其中,第一环境参数、第二环境参数及第三环境参数均包括随机盐值和迭代次数。随机盐值用于防止彩虹表破解,迭代次数用于表征各密钥生成前与随机盐值的迭代次数。
[0210] 在一些可选的实施方式中,信息获取模块121包括:
[0211] 第一主密钥获取单元,用于获取随机数;将随机数作为存储主密钥。
[0212] 第二主密钥获取单元,用于获取磁盘信息中所携带的信息值;基于动态生成的随机矩阵与信息值生成存储主密钥。
[0213] 第一解密模块122,用于基于管理员口令生成第一解密密钥,以从第一密文中解密出存储主密钥。
[0214] 在一些可选的实施方式中,第一解密模块122包括:
[0215] 第一解密密钥单元,用于基于第一环境参数及管理员口令生成第一解密密钥。
[0216] 第一解密单元,用于基于第一解密密钥对第一密文进行解密,得到第一解密结果。
[0217] 第一解密结果验证单元,用于基于原始存储密钥摘要对第一解密结果进行验证。
[0218] 可选的,基于第二环境参数计算存储主密钥的存储密钥摘要;将存储密钥摘要与原始存储密钥摘要进行比对;当存储密钥摘要与原始存储密钥摘要相同时,确定第一解密结果为存储主密钥。
[0219] 具体的,可以从存储密钥摘要中读取字节范围信息和摘要值信息;对原始存储密钥摘要中,基于字节范围信息限定的内容确定目标摘要值,并将目标摘要值与存储密钥摘要中携带的摘要值进行对比;若目标摘要值与存储密钥摘要中携带的摘要值相同,确定存储密钥摘要与原始存储密钥摘要相同。
[0220] 具体的,可以先获取存储密钥摘要的摘要内容;对摘要内容进行编码,以获取摘要内容的摘要特征向量;将摘要特征向量与原始存储密钥摘要中所携带的目标摘要特征向量进行比对;当摘要特征向量与目标摘要特征向量相同时,确定存储密钥摘要与原始存储密钥摘要相同。加密密钥单元,用于基于第二环境参数及目标数据访问口令生成第二加密密钥。第二密文生成单元,用于通过第二加密密钥对存储主密钥进行加密,得到第二密文。
[0221] 主密钥确定单元,用于若验证通过,确定第一解密结果为存储主密钥。
[0222] 密钥加密模块123,用于基于目标数据访问口令生成第二加密密钥,以对存储主密钥进行加密得到第二密文,并将第二密文存储至目标加密磁盘中。
[0223] 在一些可选的实施方式中,密钥加密模块123包括:
[0224] 目标访问指令确定单元,用于获取访问指令中所携带的访问口令;基于第二环境参数及访问口令生成第二解密密钥;基于第二解密密钥对第二密文进行解密,得到第二解密结果;基于原始存储密钥摘要对第二解密结果进行验证;若验证通过,确定接收到的访问指令携带有目标数据访问口令。
[0225] 可选的,目标访问指令确定单元包括:
[0226] 密钥摘要计算子单元,用于基于第三环境参数计算存储主密钥的存储密钥摘要。
[0227] 密钥摘要比对子单元,用于将存储密钥摘要与原始存储密钥摘要进行比对。
[0228] 访问指令确定子单元,用于当存储密钥摘要与原始存储密钥摘要相同时,确定收到的访问指令携带有目标数据访问口令。
[0229] 可选的,可以从存储密钥摘要中读取字节范围信息和摘要值信息;对原始存储密钥摘要中,基于字节范围信息限定的内容确定目标摘要值,并将目标摘要值与存储密钥摘要中携带的摘要值进行对比;若目标摘要值与存储密钥摘要中携带的摘要值相同,确定存储密钥摘要与原始存储密钥摘要相同。
[0230] 可选的,可以先获取存储密钥摘要的摘要内容;对摘要内容进行编码,以获取摘要内容的摘要特征向量;将摘要特征向量与原始存储密钥摘要中所携带的目标摘要特征向量进行比对;当摘要特征向量与目标摘要特征向量相同时,确定存储密钥摘要与原始存储密钥摘要相同。加密密钥单元,用于基于第二环境参数及目标数据访问口令生成第二加密密钥。第二密文生成单元,用于通过第二加密密钥对存储主密钥进行加密,得到第二密文。
[0231] 第二密文存储单元;将第二密文存储在目标加密磁盘的第二密钥存储空间中。
[0232] 第二解密模块124,用于若接收到的访问指令携带有目标数据访问口令,基于携带的目标数据访问口令对第二密文进行解密得到存储主密钥。
[0233] 在一些可选的实施方式中,第二解密模块124包括:
[0234] 第二解密密钥单元,用于基于第二环境参数及目标数据访问口令生成第二解密密钥。
[0235] 第二解密单元,用于基于第二解密密钥对第二密文进行解密,得到存储主密钥。
[0236] 解密共享模块125,用于基于解密得到的存储主密钥对目标加密磁盘中的加密数据进行解密共享,加密数据是通过存储主密钥对目标数据加密后得到的。
[0237] 在一些可选的实施方式中,解密共享模块125包括:
[0238] 访问指令获取单元,用于获取访问指令中所携带的访问请求。
[0239] 目标数据获取单元,用于基于访问请求从目标加密磁盘中获取加密数据。
[0240] 第三解密单元,用于基于解密得到的存储主密钥对加密数据进行解密,得到明文数据。
[0241] 解密共享单元,用于对明文数据中的目标数据进行共享。
[0242] 加密数据生成单元,用于获取待加密明文数据中的目标数据;基于存储主密钥对目标数据进行加密,得到加密数据。
[0243] 在一些可选的实施方式中,上述装置还包括:
[0244] 第一密文的生成模块,用于获取存储主密钥;基于第一环境参数及管理员口令生成第一加密密钥;通过第一加密密钥对存储主密钥进行加密,得到第一密文;其中,第一密文存储于目标加密磁盘的第一密钥存储空间中。
[0245] 原始存储密钥摘要生成模块,用于基于第三环境参数及管理员口令,生成存储主密钥的原始存储密钥摘要;其中,原始存储密钥摘要及第三环境参数存储在目标加密磁盘的第三密钥存储空间。
[0246] 目标加密磁盘创建模块,用于获取通用唯一识别码;基于通用唯一识别码创建虚拟磁盘;在虚拟磁盘内创建密钥存储空间及数据存储空间,并定义数据存储空间内存储数据的结构及密钥存储空间的环境参数;将密钥存储空间与数据存储空间进行关联,得到目标加密磁盘。
[0247] 上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
[0248] 本实施例中的基于磁盘加密的数据共享装置是以功能单元的形式来呈现,这里的单元是指ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
[0249] 本发明实施例还提供一种计算机设备,具有上述图12所示的基于磁盘加密的数据共享装置。
[0250] 请参阅图13,图13是本发明可选实施例提供的一种计算机设备的结构示意图,如图13所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图13中以一个处理器10为例。
[0251] 处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
[0252] 其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
[0253] 存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、服务器集群、移动通信网及其组合。
[0254] 存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
[0255] 该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
[0256] 本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
[0257] 虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。