一种云环境下保护文件隐私的数据加密和检索方法与流程

文档序号:15846346发布日期:2018-11-07 09:05阅读:213来源:国知局
一种云环境下保护文件隐私的数据加密和检索方法与流程

本发明涉及信息安全技术领域,具体涉及一种云环境下保护文件隐私的数据加密和检索方法。

背景技术

云存储可以提供按需,可扩展的和满足qos的存储资源,数据访问用户可以随时对数据进行操作。面对云存储如此强大而有吸引力的优势,很多人和企业却不愿将自己的数据迁移到云存储中。主要原因就是害怕失去对数据的控制,一些发生过的云存储中数据泄露和丢失情况验证人们的担心。因此在云计算的应用过程更中,安全成为数据拥有者最先考虑的问题。而在云存储系统中,数据拥有者制定的访问结构可能被不可信的云存储服务器窃取,造成身份和敏感信息的泄露,也有可能为了利益将数据泄露给第三方。因此,云存储需要提供支持隐私保护的数据存储和密文检索问题。

目前已经提出了一些解决方案,如利用密钥共享策略设计一种云计算环境下的分布式加密方案,针对不可信的云计算服务提供商,能有效降低数据泄露的威胁;如提出一种安全访问外包数据的方案,利用二叉树建立索引结构,通过密钥推导技术管理密钥,并结合再加密和惰性撤销来处理访问权限变更和数据动态变化。然而二叉树存储结构并不能充分反映数据的逻辑关系,而且用户访问权的变更会增加额外的通信开销,数据的更新会占用额外的存储资源,并且被撤销的数据访问用户有可能跟服务提供者合谋泄露信息;如构建一种支持隐私保护的云存储方案,区分数据拥有者和数据使用者,确保数据在云存储服务器中的安全问题,但是数据拥有者可以很容易地获取数据访问用户的身份信息,造成数据访问用户身份信息的泄露;如基于对称密钥和非对称密钥设计密钥推导策略,开发一个支持隐私保护的电子健康记录系统,但是没有考虑到用户访问权的变更和数据的动态操作对于密钥推导的影响。

因此针对以上解决方案的不足,我们需要提出一种云环境下保护文件隐私的数据加密和检索方法,除了要确保数据在云存储服务器中的安全,还要从整体上考虑密钥推导和管理,用户访问权的动态变化,数据共享以及文件检索问题,并且还要保护数据访问用户身份信息的隐私性。



技术实现要素:

发明目的:本发明提供一种云环境下保护文件隐私的数据加密和检索方法,采用多叉树构建文件检索索引,通过密钥推导算法进行密钥的分发和管理,利用bloomfilter构造基于关键词的文件检索索引实现了密文检索,在减少存储开销和通信开销的同时,能够实现对文件的高效检索。

技术方案:本发明提供一种云环境下保护文件隐私的数据加密和检索方法,包括以下步骤:

(1):数据拥有者向云可信中心提出访问申请,云可信中心验证数据拥有者的身份信息合法后,为合法的数据拥有者发放授权证书,并通过密钥推导算法kgabod为其文件名fn的文件fi产生密钥ki;

(2):合法的数据拥有者向云存储服务器提出上传文件申请,在云存储服务器审核其授权证书有效后,合法数据拥有者用文件fi的密钥ki加密要上传的文件fi,然后将文件fi的加密文件到云存储服务器;

(3):云存储服务器接收合法数据拥有者上传的文件fi的密文,然后采用多叉树索引结构为合法数据拥有者创建一个基于关键词的文件检索索引;

(4):云存储服务器加密文件fi的文件编号fni,并利用bloomfilter加密云存储服务器为合法数据拥有者创建的基于关键词的文件检索索引;

(5):数据访问用户向云可信中心提出访问申请,云可信中心验证数据访问用户的身份信息合法后为其发放授权证书,并在合法的数据访问用户的访问权限内,推导出其可以访问文件的密钥;

(6)数据访问用户向云存储服务器提出访问申请并提交云可信中心为其发放的授权证书,云存储服务器验证授权证书的合法性后,合法数据访问用户上传检索文件fi的多个关键词,云存储服务器通过基于关键词的文件检索索引检索到文件fi的密文,返回给合法数据用户,合法数据用户解密文件fi的密文获取明文;

进一步的,所述步骤(1)的具体过程为:

(11)云可信中心会为每一个合法的数据拥有者生成一个128位的根密钥kr如式(2)所示:

kr=hash(id||fn(16)||ts)(2)

(12)云可信中心接着会根据合法的数据拥有者的根密钥kr生成文件fi的加密密钥ki,ki如式(3)所示:

ki=r·hash(kr)(3)

其中,r是属于云可信中心为生成加密密钥ki而随机产生的数字;

进一步的,所述步骤(2)的具体过程为:

(21)云可信中心调用随机密钥生成算法函数keygen()产生大素数密钥ckdc,使用ckdc作为数据拥有者和云可信中心之间通信的对称密钥,(22)合法的数据拥有者按式(4)启动文件fi的加密密钥ki加密要上传的文件fi,得到文件fi的密文上传存储到云存储服务器中;

进一步的,所述步骤(3)的具体过程为:

(31)首先云存储服务器为基于关键词的文件检索索引树上的每个节点创建一个关键词集合w,而叶子节点的关键词集合是云存储服务器为合法的数据拥有者上传的文件fi创建的j个关键词,并且关键字词集合w中的每个关键词不重复,集合长度length(w)为关键词的个数,其关键词集合的长度可以不断扩增;

(32)为文件fi创建一个文件编号fni,其文件fi的文件编号fni如式(5)所示:

fni=(fn||fln||ts||fp)(5)

所述文件编号fni中,fln为基于关键词的文件检索索引树的第一为第l层的第n个节点,ts是文件fi数据更新的时间戳,fp表示文件fi在云存储服务器中的存储路径,fn是文件fi的名称;

(33)对计算每个关键词wij的十六进制ascii码值sij,方法如下所示:,sij=ascii(wij)16其中s={si1,si2,,si3,...sij}为关键词的十六进制ascii值集合;

进一步的,所述步骤(4)的具体过程为:

(41)云存储服务器对文件fi的文件编号fni进行加密,按式(6)对文件fi的文件编号fni进行加密得到

(42)云存储服务器为基于关键词的文件检索索引上的每一个节点建立一个bloomfilter,将求出的关键词wij对应的十六进制ascii码值sij映射到bloomfilter上;

所述的每个节点表示成一个m位的数组,即对每个节点建立一个bloomfilter,用r个独立的哈希函数h1到hr处理每个节点上包含的关键词wij对应的十六进制ascii码值sij,叶子节点是文件fi特有的关键词;

所述的检索文件fi时,只需要对si1,si2,si3...sij进行哈希处理,如果计算出来的值在m位数组中的位置上均为1,则表示检索的关键件词在索引中。否则如果不在数组中则设置为0,如果多个哈希函数出现同样的值,则仍为1;

(43)检索文件fi时,只需要对si1,si2,si3...sij进行哈希处理,如果计算出来的值在m位数组中的位置上均为1,则表示检索的关键件词在索引中。

进一步的,所述步骤(5)的具体过程为:

(51)数据访问用户向云可信中心提出访问申请,云可信中心验证数据访问用户的身份信息合法后为其发放授权证书

(52)云可信中心在合法的数据访问用户的访问权限内,推导出其可以访问文件的密钥,如果数据访问用户的访问权限变更,云可信中心采用新的密钥对访问权限变更的合法数据访问用户原来有去权限的文件重新加密,阻止该数据访问用户的访问;

进一步的,所述步骤(6)的具体过程为:

(61)云存储服务器验证数据访问用户的授权证书是否有效;

(62)数据访问用户以多个关键词(wi1||wi2||wi3||…||win)向云存储服务器提出文件检索请求时,云存储服务器使用sij=ascii(wij)16公式,求出每个关键词wij对应的十六进制ascii码值sij;

(63)云存储服务器使用hij=hash(sij)公式进行哈希函数运算,对si1,si2,si3...sij逐个进行h1到hr个哈希函数处理,得到多个关键词的哈希向量(hi1||hi2||hi3||…||hin);

所述的hij为一个哈希向量,用来记录sij在m位数组中对应位置的哈希函数值;

(64)云存储服务器在在基于关键词的文件检索索引i中查找是否存在与多关键词哈希向量相匹配的项,如果存在,即式(8)成立,则返回文件编号fni的密文cfni给合法数据访问用户,合法数据访问用户在本地通过式(9)解密文件fi的文件编号fni得到文件编号fni的明文,然后通过式(10)获取文件编号为fni的文件存储路径和文件名称;否则说明云存储服务器中没有要检索的内容,检索结束;

fi,fp=dkd(fni)(9)

(65)数据访问用户将得到的文件编号fni的明文,根据文件存储路径和文件名称,前往云存储服务器处获取查询文件的密文,并用密钥推导算法得到密钥进行解密得到文件编号fni对应文件的明文。

有益效果:与现有技术相比:本发明具有以下的优点:

1.保证了数据访问用户身份的隐私性,也保护了数据的安全性。云可信中心只负责密钥的分发和验证数据访问用户身份并给予授权码,云存储服务器拥有数据但不会直接验证数据访问用户的身份,减少了数据访问用户和云存储服务器之间的通信,也隔离了密钥和文件。

2.有效地进行了密钥的管理和分发,只需要保存根密钥,节省了存储空间。

3.通过构建基于关键词的文件检索索引,提高了检索效率,降低了索引在服务器上的存储开销。

综上所述,本发明提出的一种云环境下保护文件隐私的数据加密和检索方法,在减少存储开销和通信开销的同时,能够实现对文件的高效检索。

附图说明

图1为支持隐私保护的云存储框架图。

图2为云文件数据加密和检索方法流程图,也是本发明的摘要附图;

图3为基于关键词的文件检索多叉树结构;

图4为关键词映射到布隆过滤器的示意图;

具体实施方式

以下结合附图,进一步说明本发明的具体实施例。

如图1所示,该方法中包括四个实体数据拥有者、云可信中心、云存储服务器、数据访问用户。

数据拥有者:数据拥有者通过云可信中心的认证后,使用云可信中心为其产生的密钥,将要上传的本地文件加密后上传给云存储服务器,而且数据拥有者本身也可以作为数据访问用户,访问存储在云存储服务器中存储的其他文件;

云可信中心:云可信中心被其他实体所信任,验证数据拥有者和数据访问用户的身份信息,向合法数据访问用户和合法的数据拥有者发放授权证书,通过密钥推导算法为合法数据拥有者将要上传的文件fi生成加密密钥ki,并密钥ki发送给该数据拥有者;

云存储服务器:云存储服务器验证数据拥有者的授权证书有效性后,接收并存储合法的数据拥有者上传的加密文件;云存储服务器验证数据访问用户的授权证书有效性后,根据合法数据访问用户提供的搜索关键词,检索相应的密文并发送给数据访问用户;

数据访问用户:数据访问用户向云可信中心发送密钥请求,向云存储服务器发送获取密文请求,数据访问用户从云存储服务器获取密文后通过密钥推导算法推导出密钥,解密加密文件后得到文件明文;数据访问用户也可以作为数据拥有者上传文件到云存储服务器。

如图2所示,本发明提供了一种云环境下保护文件隐私的数据加密和检索方法,其具体过程如下:

步骤(1)的具体实施过程如下:

1.云可信中心接受数据访问用户的访问请求,根据其身份信息id,判断数据访问用户是否为合法的数据拥有者。

2.判断是为合法的数据拥有者后,其向云可信中心提出申请以及上传文件名fn和文件关键词wij。云可信中心通过密钥推导算法为文件名为fn的文件fi产生密钥ki,

其中,云可信中心通过kgabod算法来生成加密密钥时,会为每一个合法数据拥有者生成一个128位的根密钥kr,kr=hash(id||fn(16)||ts)。而文件fi的密钥为,ki=r·hash(kr),r为随机数。

步骤(2)的具体实施过程如下:

1.云可信中心调用随机密钥生成算法函数keygen()产生大素数密钥ckdc,使用ckdc作为数据拥有者和云可信中心之间通信的对称密钥;

2.合法的数据拥有者启动文件fi的加密密钥ki加密要上传的文件fi,得到文件fi的密文上传存储到云存储服务器中;

步骤(3)的具体实施过程如下:

1.如图3所示,云存储服务器采用多叉树索引结构,来建立基于关键词的文件检索索引,根节点f11中包含文件系统中的所有的关键词,然后第二层节点f21,f22中包含第三层节点f31,f32,f33,f34,f35中的所有关键词,最后叶子节点f35为文件fi中特有的关键词wi1,wi2。

2.云存储服务器为基于关键词的文件检索索引树上的每个节点创建一个关键词集合w;

3.云存储服务器为存储的所有文件都创建一个文件编号,其中也为文件fi创建一个文件编号fni,如式(5)所示:

fni=(fn||fln||ts||fp)

fni=(云计算||f35||2018-1-1||c:/file)(5)

4.对计算每个关键词wij的十六进制ascii码值sij,sij=ascii(wij)16其中s={si1,si2,,si3,…sij}为关键词的十六进制ascii值集合;

步骤(4)的具体实施过程如下:

1.云存储服务器对文件fi的文件编号fni进行加密,按式(6)对文件fi的文件编号fni进行加密得到

2.云存储服务器为基于关键词的文件检索索引上的每一个节点建立一个bloomfilter,将求出的关键词wij对应的十六进制ascii码值sij映射到bloomfilter上;

3.检索文件fi时,只需要对si1,si2,si3...sij进行哈希处理,如果计算出来的值在m位数组中的位置上均为1,则表示检索的关键件词在索引中。

步骤(5)的具体实施过程如下:

1.数据访问用户向云可信中心提出访问申请,云可信中心验证数据访问用户的身份信息合法后为其发放授权证书

2.云可信中心在合法的数据访问用户的访问权限内,推导出其可以访问文件的密钥,如果数据访问用户的访问权限变更,云可信中心采用新的密钥对访问权限变更的合法数据访问用户原来有去权限的文件重新加密,阻止该数据访问用户的访问;

步骤(6)的具体实施过程如下:

1.云存储服务器验证数据访问用户的授权证书是否有效;

2.合法数据访问用户以关键词wi1和wi2向云存储服务器提出文件检索请求时,云存储服务器通过公式si1=ascii(wi1)16,si2=ascii(wi2)16计算fi中两个关键词的十六进制ascii码值si1,si2,如给出两个关键词令wi1=“隐私”,wi2=“云存储”,则

si1=ascii(wi1)16

=ascii(隐私)16

=0x9690+0x79c1

=0x11051

同理可得si2=0xfa91,s={si1,si2}为关键词的十六进制ascii码值集合。

3.云存储服务器用r个独立的hash函数h1到hr处理两个关键词的十六进制ascii码值si1,si2,即h1((si1)),h2((si1))…hr((si1)),h1((si2)),h2((si2))…hr((si2)),得到两个关键词的哈希向量(hi1||hi2),如下所示:

hi1=hash(si1),hi2=hash(si2)

4.如图4所示:云存储服务器在收到hi1,hi2后,在基于关键词的文件检索索引i中查找是否存在与多关键字词哈希向量相匹配的项,如果存在,即式(7)成立,则返回文件编号fni对应文件的密文给合法数据访问用户,合法数据访问用户在本地通过式(8)解密文件fi的文件编号fni的密文得到文件编号fni明文,然后通过式(9)获取文件编号为fni的文件存储路径和文件名称;否则说明云存储服务器中没有要检索的内容,检索结束;

fi,fp=dkd(fni)(9)

合法数据访问用户将得到的文件的文件编号的明文后,根据文件存储路径和文件名称,前往云存储服务器处获取查询文件的密文,并用密钥推导算法得到密钥,解密得到文件编号对应文件的明文。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

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