一种用于密文存储的分布式密钥管理方法

文档序号:7754565阅读:695来源:国知局
专利名称:一种用于密文存储的分布式密钥管理方法
技术领域
本发明属于计算机存储安全领域,具体涉及一种用于密文存储的分布式密钥管理 方法。该方法将有效的管理分布式环境下的各个加密存储设备的密钥,它不仅具有易扩展 性、可用性、密钥的独立性等特点,而且能达到向前和向后的安全性及访问控制的效果。
背景技术
传统的数据存储一般采取文件形式的存储,当文件需要加密处理时,不同的文件 加密,需要的密钥不同。那么当大量的文件需要加密时,会产生大量的密钥,这样会对密钥 管理造成巨大的困难。所以我们必须采取另外的一种加密存储方式,现有的虚拟磁盘技术能够很好的解 决这一点。通过将一块内存虚拟成磁盘,然后对这个磁盘的所有写入操作都通过某特定的 算法和密钥进行加密,同时对这个磁盘的读取操作使用同样的算法和密钥进行解密,那么 在该程序运行时,操作系统和用户自己都可以看到正确的数据,而在这个程序不工作时,无 论是谁去企图读这个磁盘都只能看到被加密的数据。这种特点使得这种磁盘可以存放各种 不同的机密文件,而这些文件的加密算法和密钥都是相同的,极大的减轻了密钥管理的负 担。现在,虚拟磁盘的技术已经十分成熟,在单机环境下,已有广泛的运用。但是我们 想要将这种技术得到最大化的运用,就必须和分布式发生联系。也就是说,我们将虚拟磁盘 技术运用到分布式环境中,以此来为用户提供更安全可靠的服务。用户向服务器发出请求, 请求存储自己需要安全存储的数据文件。服务器得到请求后,通过计算分配用户的密钥以 及存储分区,然后将用户文件分配存储到后端存储器的虚拟盘上的某个分区上。同时,服务 器记录下用户文件存储的元数据信息、加密密钥、路径等等信息,这样用户可以随时读取自 己的文件。分布式环境下的文件加密存储就必须考虑到网络密钥管理。因为每个存储节点的 加密密钥是不一样的,同时还要考虑到新的存储节点的加入、旧的存储节点的退出等情形 下密钥的变动处理。另外,密钥更新也是需要解决的问题。所以,该分布式密钥管理方法采 用动态分组式的密钥管理方式。该密钥管理方案容易扩展,分组后每个组密钥只影响它所 在的分组,有效避免了 1-affects-n问题。大部分的加密采用对称加密算法,资源消耗少。密钥管理方法的理论背景是数论中的中国剩余定理。中国剩余定理的形式描述 为若有一定数量的两两互质的正整数U1, U2, ...,Uffl,则对于任意整数k1; k2,. . .,km,联立 一次同余方程组X 三 Ic1 (mod U1)X Ekn (mod un)对模Ul,u2, ... , Um有唯一解。这个唯一解,可以根据公式得到
mx = Yj km(modM)
其中,M = U1. · · um,Mi = MAii,MiM/互为模Ui的乘法逆元素。

发明内容
本发明的目的在于提供一种用于密文存储的分布式密钥管理方法,该方法可以实 现对分布式配置的密文数据的密钥信息的管理和保护,既具有密钥高安全性管理的特点, 又具有高网络数据访问效率、低系统性能影响的优点。本发明提供的一种用于密文存储的分布式密钥管理方法,包括密钥分发过程和密 钥更新过程;所述密钥分发过程包括下述步骤(Al) (A8)(Al)用户向元数据服务器请求虚拟磁盘空间,元数据服务器为其提供η个存储服 务器来存放用户上传的文件,在每个存储服务器上都格式化一块存储空间,η由用户申请设 置或者由它支付的费用决定,存储空间的大小不小于分区头部的大小;(Α2)元数据服务器为每个用户生成一个虚拟磁盘加密密钥K,用来加密所有的存 储空间;(A3)设m = nd+l,d为2的幂;设置m个校验密钥Ui,校验密钥是从一组两两互素 的正整数中选取的,且满足“中国剩余定理”中的模数要求,其中,第1至η个校验密钥分配 给用户的每个存储空间,并被写入各自存储空间的分区头部中;第η至m个校验密钥是元数 据服务器为未来要申请的存储空间预分配的;(A4)元数据服务器对于每个校验密钥Ui进行运算!^=!^十ΚΘΡ,1彡i彡m;p为 每个用户登录到存储系统时使用的口令,保存在元数据服务器中。将i取值为n+1至m的 h保存到元数据服务器;(A5)元数据服务器建立一次同余式组,X = Iii (mod Ui),i = 1,2. . .,m,根据中国
m
剩余定理的公式Z =计算出X,其中,设M为步骤(A3)中设置的m个校验
i=\
密钥的乘积,Mi = M/Ui,M/为Mi在模Ui下的乘法逆元素;(A6)元数据服务器通过安全数据通道将X传输给用户,作为用户存取数据的控制 信息;系统销毁K ;(A7)元数据服务器将X的哈希校验值H(X)和分配给用户的存储空间的元数据保
存在一起;(A8)用户访问分配给用户的存储空间时,向元数据服务器发送X,元数据服务器 再任意读取一个空间分区头部的Ui和利用公式K = (X mod U1)④U1^P恢复出κ,元数据 服务器进行相应的加密解密数据操作;(A9)结束;所述密钥更新过程包括下述步骤(Bi) (BlO)(Bi)在两种情况下,会发生用户请求密钥更新或者系统自动密钥更新当用户的 数据增大,需要新增存储空间时,转至(B2);当某存储空间被入侵时,转至(B5);(B2)如果新增存储空间后,存储空间的个数不超过m,则转至(B3);如果超过m,则 转至(B4);(B3)设新增存储空间为用户的第w个添加的存储空间,元数据服务器对步骤(A4)中得到的kw进行运算!!^!^④尺④卩,得到第W个空间的校验密钥uw,n+l ^ w^m,uw被写 入新增存储空间的分区头部中,则转入步骤(B13);(B4)元数据服务器为用户新增存储空间分配一个校验密钥U’ s,s > N,这些密钥 是从一组两两互素的正整数中选取的,满足“中国剩余定理”的一次同余式解法的模数要 求;u’ s被写入新存储空间的分区头部中;转步骤(B7);(B5)当系统发觉某存储服务器被攻击,撤销该存储服务器上所有用户的存储空 间。然后,元数据服务器删除该存储空间原有对应的校验密钥;(B6) SL = md’ +1,d’为2的幂;设置L个校验密钥U’」,校验密钥是从一组两两 互素的正整数中选取的,且满足“中国剩余定理”中的模数要求,其中,第1至m个校验密钥 分配给用户的每个存储空间,并被写入各自存储空间的分区头部中;第m至L个校验密钥是 元数据服务器为未来要申请的存储空间预分配的;(B7)元数据服务器为用户随机选取虚拟磁盘新的加密密钥K’ ;(B8)管理这些存储空元数据服务器对于每个校验密钥U’」进行运算 1^=ιι’」ΘΚ’ΘΡ,j = 1,2,...,L ;Ρ为每个用户登录到存储系统时使用的口令,保存在元
数据服务器中;将j取值为n+1至m的k’ j保存到元数据服务器;(B9)管理该用户所有存储服务器的元数据服务器建立新的一次同余式组X’ = k,j (mod u,j), j = 1,2,...,L;根据中国剩余定理计算出新的X’ ;(BlO)元数据服务器通过安全数据通道将X’传输给用户,作为用户存取数据的控 制信息;系统销毁K’ ;(Bll)元数据服务器将V的哈希校验值H(X’ )和这些存储空间的元数据保存在 一起;(B12)用户访问存储空间时,向元数据服务器发送X’;元数据服务器再读取某空间 分区头部的U’ J和利用公式K’= (X’ mod u’j)十u’j P就能恢复K’ ;元数据服务器进行相
应的加密解密数据操作;(B 13)结束。针对目前分布式存储系统安全元数据管理的流程复杂和运算开销大的缺陷,本发 明提出了一种综合考虑密钥方案管理的简易性和实施的高效性方法。其主要思想是利用中 国剩余定理中一次同余式组在模下解的唯一性和异或操作运算方便的性质。一次同余式 组的解唯一性使得用户多个存储空间的加密信息最终依赖于单一数据,由用户保存和用户 一一对应。这样密钥的管理和用户的管理(访问控制)就比较容易了,同时也为密钥管理 的分布式实现提供了基础;真正加密数据的密钥在密钥分发完成后就在系统中销毁了,这 样保证了很高的安全性,但是这样就需要从其它信息中恢复数据加密密钥。这种间接恢复 的方法往往带来额外的系统效率损失,但是利用异或操作的方便快捷,实施这种方法对系 统整体的运行影响也就微乎其微。同时,由于异或操作运算快捷,当扩展密钥时,也是十分 容易的。与现有的一些密钥管理保护技术不同之处在于,本发明采用简单快速的密钥管理 方法,使得安全元数据的管理可以很容易与文件系统原有普通元数据的管理相融合,不需 要额外的系统配置;并且节省系统为保证安全性而带来的开销,提高系统安全元数据的安 全性。


图1为虚拟磁盘数据分布和密钥分发结构示意图;图2为存储空间分区头部结构示意图;图3为密钥分发的流程图;图4为密钥更新的流程图;图5为用户安全访问数据的流程图。
具体实施例方式本发明方法是基于以下系统配置情况,图1所示一、系统注册用户的数据分别存放在不同的存储服务器中,这些存储空间通过网 络文件共享技术共同构成用户的虚拟磁盘空间,每块空间相当于虚拟磁盘的一个分区;二、每块存储空间是用其所在存储服务器的IP信息和机器名的摘要值进行标识 区别的。当用户上传文件内容的摘要值和存储空间的标识相同时,该文件就存放入有次标 识的存储服务器中;三、每块存储空间分两部分分区头部和数据区域。分区头部存放该存储空间的信 息,如数据区域大小,空间目录树信息和密钥信息等。数据区域用来存放文件数据。如图2 所示。四、系统利用元数据服务器接受用户命令请求,并管理存储服务器,它们是实施密 钥方案的主体。用户在进入系统开始请求服务时,会在它所处的局部网络范围内按照路由 距离最短的原则选取一个元数据服务器。以后的密钥分发和密钥更新都依赖该元数据服务
ο本发明提供的密钥管理方法,主要包括密钥分发过程和密钥更新过程。下面结合 附图和实例作进一步详细的说明。如图3所示,本发明提供的密钥管理方法的密钥分发过程包括下述步骤(Al)用户向元数据服务器请求虚拟磁盘空间,元数据服务器为其提供η个存储服 务器来存放用户上传的文件,在每个服务器上都格式化一块存储空间。η由用户申请设置或 者由它支付的费用决定,存储空间的大小不小于分区头部的大小;(Α2)元数据服务器为每个用户生成一个虚拟磁盘加密密钥K,用来加密所有的存 储空间。K是由元数据服务器对每个用户随机选取的;(A3)设m = nd+l,d为2的幂;设置m个校验密钥Ui,校验密钥是从一组两两互素 的正整数中选取的,且满足“中国剩余定理”中的模数要求,其中,第1至η个校验密钥分配 给用户的每个存储空间,并被写入各自存储空间的分区头部中;第η至m个校验密钥是元数 据服务器为未来要申请的存储空间预分配的;(A4)元数据服务器对于每个校验密钥Ui进行运算让产识④尺④卩,1彡i彡m ;P为 每个用户登录到存储系统时使用的口令,保存在元数据服务器中。将i取值为n+1至m的 h保存到元数据服务器;(A5)元数据服务器建立一次同余式组,X = Mmod Ui), i = 1,2. . .m,根据中国剩
m
余定理的公式计算出X。其中,设M为步骤(A3)中设置的m个校验密钥的乘积,Mi = M/Ui,M/为Mi在模Ui下的乘法逆元素;(A6)元数据服务器通过安全数据通道将X传输给用户,作为用户存取数据的控制 信息,安全数据通道可以是公开密钥体系。系统销毁K;(A7)元数据服务器将X的哈希校验值H(X)和分配给用户的存储空间的元数据保
存在一起;(A8)用户访问分配给用户的存储空间时,向元数据服务器发送X。元数据服务器 再任意读取一个空间分区头部的Ui和利用公式K = (X mod U1 U1十P就能恢复出K。元 数据服务器进行相应的加密解密数据操作如图4所示,本发明提供的密钥管理方法的密钥更新过程包括下述步骤(Bi)在两种情况下,会发生用户请求密钥更新或者系统自动密钥更新当用户的 数据增大,需要新增存储空间时,转至步骤(Β2);当某存储空间被入侵时,转至步骤(Β5);(Β2)当用户数据量增大,请求密钥更新时,如果新增存储空间后,存储空间的个数 不超过m,则转至步骤(B3);如果超过m,则转至步骤(B4);(B3)由于预分配了校验密钥,系统可以直接把保存的密钥分配给新的存储空间, 从而提高了效率。元数据服务器根据新存储空间是用户的第w个添加的存储空间,而对存 储的1^进行运算Uw=kw K P得到第w个空间的校验密钥uw,n+l彡w彡m。 被写入新 存储空间的分区头部中。则过程结束。(B4)元数据服务器为用户新增存储空间分配一个校验密钥U’ s,s > N,这些密钥 是从一组两两互素的正整数中选取的,满足“中国剩余定理”的一次同余式解法的模数要 求。u’ s被写入新存储空间的分区头部中。在系统没受到攻击的情况下,其它存储分区仍 保持原有的校验密钥,可以减少系统负载;转至步骤(B7);(B5)当系统发觉某存储服务器被攻击,撤销该存储服务器上所有用户的存储空 间。然后进行密钥更新,元数据服务器删除该存储空间对应的校验密钥。(B6) SL = md’ +1,d’为2的幂;设置L个校验密钥U’」,校验密钥是从一组两两 互素的正整数中选取的,且满足“中国剩余定理”中的模数要求,其中,第1至m个校验密钥 分配给用户的每个存储空间,并被写入各自存储空间的分区头部中;第m至L个校验密钥是 元数据服务器为未来要申请的存储空间预分配的;(B7)元数据服务器为用户随机选取虚拟磁盘新的加密密钥K’ ;(B8)管理这些存储空间的元数据服务器对于每个校验密钥U’」进行运算 1^=ιι’」ΘΚ’ΘΡ,j = 1,2,...,L0 P为每个用户登录到存储系统时使用的口令,保存在元 数据服务器中。将j取值为n+1至m的k’ j保存到元数据服务器;(B9)管理该用户所有存储服务器的元数据服务器建立新的一次同余式组X’ =
k’ j (mod u’ ρ,j = 1,2,. . .,L0根据中国剩余定理的公式义’二;!^^^^“^^!^^计算出
Z=I
X’。其中,设M为步骤(B7)中设置的L个校验密钥的乘积,Mi = MzVpMi'为Mi在模u’ J 下的乘法逆元素;(BlO)元数据服务器通过安全数据通道将X’传输给用户,作为用户存取数据的控 制信息。系统销毁K’ ;(Bll)元数据服务器将V的哈希校验值H(X’ )和这些存储空间的元数据保存在一起;(B12)用户访问存储空间时,向元数据服务器发送X’。元数据服务器再读取某空 间分区头部的U’」和利用公式尺’=(\’1110(111’」) 11’」 卩就能恢复1(’。元数据服务器进 行相应的加密解密数据操作如图4所示,系统用户安全访问其虚拟磁盘中的数据的过程包括下述步骤(Cl)用户登录系统,以用户名和口令模式与元数据服务器建立安全数据通道。用 户将自己的X发送给元数据服务器;(C2)元数据服务器将接受到的X进行哈希函数操作,该操作与密钥分发过程中执 行的操作时一致的,如MD5等函数。并将结果与密钥分发时保存的H(X)比较。如果相同, 转入步骤(C3),如果不同,转入步骤(C9);(C3)元数据服务器读取各存储空间的分区头部,获取该分区的目录树信息,包括 所有的文件夹层次和所有的文件信息;(C4)等所有信息收集完毕后,元数据服务器将各分区的目录树信息整合起来,组 成用户全部的目录和文件信息,即完整视图信息,通过安全数据通道发送给用户;(C5)用户根据磁盘完整视图信息找到需要操作的文件,再向元数据服务器发送访 问命令包;(C6)由于数据在各个存储空间中的分布是按照数据内容的摘要值来决定,所以元 数据服务器可以根据访问涉及的范围(需要读取或修改文件内容的摘要值)决定哪些存储 空间需要访问;(C7)每个涉及到的存储空间所在的存储服务器利用公式K = (X mod ιΟθι^ΘΡ恢复得到K,并解密存储空间。该过程是并行的;(C8)每个涉及到的存储空间所在的存储服务器对明文数据进行用户指定的操 作;(C9)命令执行完成用户也可以采用其它现有的方法对访问其虚拟磁盘中的数据。以上所述为本发明的较佳实施例而已,但本发明不应该局限于该实施例和附图所 公开的内容。所以凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保 护的范围。
权利要求
一种用于密文存储的分布式密钥管理方法,包括密钥分发过程和密钥更新过程,所述密钥分发过程包括下述步骤(A1)~(A8)(A1)用户向元数据服务器请求虚拟磁盘空间,元数据服务器为其提供n个存储服务器来存放用户上传的文件,在每个存储服务器上都格式化一块存储空间,n由用户申请设置或者由它支付的费用决定,存储空间的大小不小于分区头部的大小;(A2)元数据服务器为每个用户生成一个虚拟磁盘加密密钥K,用来加密所有的存储空间;(A3)设m=nd+1,d为2的幂;设置m个校验密钥ui,校验密钥是从一组两两互素的正整数中选取的,且满足“中国剩余定理”中的模数要求,其中,第1至n个校验密钥分配给用户的每个存储空间,并被写入各自存储空间的分区头部中;第n至m个校验密钥是元数据服务器为未来要申请的存储空间预分配的;(A4)元数据服务器对于每个校验密钥ui进行运算1≤i≤m;P为每个用户登录到存储系统时使用的口令,保存在元数据服务器中。将i取值为n+1至m的ki保存到元数据服务器;(A5)元数据服务器建立一次同余式组,X=ki(mod ui),i=1,2...,m,根据中国剩余定理的公式计算出X,其中,设M为步骤(A3)中设置的m个校验密钥的乘积,Mi=M/ui,Mi’为Mi在模ui下的乘法逆元素;(A6)元数据服务器通过安全数据通道将X传输给用户,作为用户存取数据的控制信息;系统销毁K;(A7)元数据服务器将X的哈希校验值H(X)和分配给用户的存储空间的元数据保存在一起;(A8)用户访问分配给用户的存储空间时,向元数据服务器发送X,元数据服务器再任意读取一个空间分区头部的ui和利用公式恢复出K,元数据服务器进行相应的加密解密数据操作;(A9)结束;所述密钥更新过程包括下述步骤(B1)~(B10)(B1)在两种情况下,会发生用户请求密钥更新或者系统自动密钥更新当用户的数据增大,需要新增存储空间时,转至(B2);当某存储空间被入侵时,转至(B5);(B2)如果新增存储空间后,存储空间的个数不超过m,则转至(B3);如果超过m,则转至(B4);(B3)设新增存储空间为用户的第w个添加的存储空间,元数据服务器对步骤(A4)中得到的kw进行运算得到第w个空间的校验密钥uw,n+1≤w≤m,uw被写入新增存储空间的分区头部中,则转入步骤(B13);(B4)元数据服务器为用户新增存储空间分配一个校验密钥u’s,s>N,这些密钥是从一组两两互素的正整数中选取的,满足“中国剩余定理”的一次同余式解法的模数要求;u’s被写入新存储空间的分区头部中;之后转步骤(B7);(B5)当系统发觉某存储服务器被攻击,撤销该存储服务器上所有用户的存储空间;然后,元数据服务器删除该存储空间原有对应的校验密钥;B(B6)设L=md’+1,d’为2的幂;设置L个校验密钥u’j,校验密钥是从一组两两互素的正整数中选取的,且满足“中国剩余定理”中的模数要求,其中,第1至m个校验密钥分配给用户的每个存储空间,并被写入各自存储空间的分区头部中;第m至L个校验密钥是元数据服务器为未来要申请的存储空间预分配的;(B7)元数据服务器为用户随机选取虚拟磁盘新的加密密钥K’;(B8)管理这些存储空间的元数据服务器对于每个校验密钥u’j进行运算j=1,2,...,L;P为每个用户登录到存储系统时使用的口令,保存在元数据服务器中;将j取值为n+1至m的k’j保存到元数据服务器;(B9)管理该用户所有存储服务器的元数据服务器建立新的一次同余式组X’=k’j(mod u’j),j=1,2,...,L;根据中国剩余定理计算出新的X’;(B10)元数据服务器通过安全数据通道将X’传输给用户,作为用户存取数据的控制信息;系统销毁K’;(B11)元数据服务器将X’的哈希校验值H(X’)和这些存储空间的元数据保存在一起;(B12)用户访问存储空间时,向元数据服务器发送X’;元数据服务器再读取某空间分区头部的u’j和利用公式就能恢复K’;元数据服务器进行相应的加密解密数据操作;(B13)结束。FDA0000023623180000011.tif,FDA0000023623180000012.tif,FDA0000023623180000021.tif,FDA0000023623180000022.tif,FDA0000023623180000023.tif,FDA0000023623180000031.tif,FDA0000023623180000032.tif
全文摘要
本发明公开了一种用于密文存储的分布式密钥管理方法,该方法利用中国剩余定理中一次同余式组在模下解的唯一性和异或操作运算方便的性质。一次同余式组的解唯一性使得用户多个存储空间的加密信息最终依赖于单一数据,由用户保存和用户一一对应。这样密钥的管理和用户的管理就比较容易了,同时也为密钥管理的分布式实现提供了基础;真正加密数据的密钥在密钥分发完成后就在系统中销毁了,这样保证了很高的安全性,但是这样就需要从其它信息中恢复数据加密密钥。本发明方法,使得安全元数据的管理可以很容易与文件系统原有普通元数据的管理相融合,不需要额外的系统配置;并且节省系统为保证安全性而带来的开销,提高系统安全元数据的安全性。
文档编号H04L9/08GK101917403SQ20101023113
公开日2010年12月15日 申请日期2010年7月23日 优先权日2010年7月23日
发明者刘晨光, 孟涛, 曹强, 谢长生, 黄建忠 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1