一种云存储中支持多用户的可搜索加密方法技术

技术编号:11740114 阅读:779 留言:0更新日期:2015-07-15 23:54
本发明专利技术公开了一种云存储中基于多用户的可搜索加密方法,利用对称加密算法加密和解密文件;同时利用对称可搜索加密方案加密关键字并生成陷门;利用给用户添加访问权限的方法,从而解决传统多用户可搜索加密技术中动态管理授权用户和文件访问控制的问题。实现了对密文的直接检索,效率和安全性都得到了提高;提高了文件检索效率;实现了对文件的访问权限控制;实现了对用户的动态添加和删除。

【技术实现步骤摘要】

本专利技术涉及云计算和应用密码学的交叉
,具体是一种云存储中支持多用 户的可搜索加密方法。
技术介绍
随着云计算的发展,越来越多的公司将数据存储在云端,这样不仅为用户节省存 储成本,而且云端服务器可以为用户提供计算服务,但是同时也带来了一些问题:用户存储 在云端的数据得不到安全保障,充满好奇心的服务器拥有者可能会查看用户的数据,因此 在外包数据之前需要对其进行加密处理,从而使数据发送者和其授权检索者之外的其他人 即使获得数据也无法获知其内容。 然而,传统的加密技术虽然可以保证数据的安全性和完整性,但是随着大量的数 据被上传到云端,用户对数据的检索效率又出现了新的问题。使用传统的加密技术,用户需 要下载所有上传在云端的数据,然后对其解密,最后才能从中查找出用户想要的数据。但是 这样做效率太低,浪费了大量的时间和带宽,不能满足实际需求,为了找到一种高效、可靠 的检索技术,提出了 "可搜索加密"这一概念。 可搜索加密就是用户可以直接对密文进行检索,接收到密文后再对其解密,从而 得到用户想要的数据,而不是下载所有密文,然后全部解密之后才能检索自己需要的内容, 这样用户可以节省大量的时间和计算工作量,实现了对云端数据的高效控制。 可搜索加密技术分为对称可搜索加密和非对称可搜索加密,分别利用传统密码学 中的对称加密和非对称加密技术,都是针对关键字进行检索,但非对称可搜索加密由于计 算开销较大、算法比较复杂、速率低等缺点,不适合大型文件数据的加密和共享,因此涉及 大量的数据在云端存储时,非对称可搜索加密效率不高。
技术实现思路
为解决上述问题,本专利技术提出一种新型的云存储中基于多用户的可搜索加密方 法,实现使不同用户对同一个文件的不同访问权限,同时可以动态添加和删除授权用户,而 不需要在添加或删除用户时重新分配所有用户的密钥,最终解决传统多用户可搜索加密技 术中动态管理授权用户和对文件的访问控制的问题。 为此,本专利技术采用的技术方案包括以下步骤: 步骤一、系统初始化;数据拥有者初始化系统参数,生成密钥和伪随机函数,接下 来生成用户表并将用户表发送到云端服务器; 步骤二、添加用户;数据拥有者将新用户的身份信息发送给云端服务器的用户表, 并把密钥和伪随机函数发送给新用户,用来生成陷门和解密文件; 步骤三、文件加密;数据拥有者对关键字和文件进行加密,并为文件的关键字创建 关键字索引链表,以关键字为表头节点,将包含该关键字的文件添加到关键字索引链表中, 然后为每个文件创建权限链表,将授权访问文件的用户加入对应文件的权限链表以完成、 授权,并将加密后的文件、关键字索引链表和权限链表一起上传到云端服务器; 步骤四、生成陷门,用户使用密钥和想要检索的关键字生成该关键字的陷门,用来 匹配关键字; 步骤五、文件检索;用户使用生成的关键字陷门向云端服务器发起检索请求,服务 器首先查询用户表中有无该用户,如果没有则拒绝提供检索;否则,根据上传的陷门检索关 键字索引,如果没有匹配到对应的关键字,返回FALSE ;否则继续查询关键字索引链表中第 一个文件的权限链表中有无该用户,如果有该用户,则将文件加入到检索结果中,然后继续 查询关键字索引表中下一个文件,直到所有包含该关键字的文件均查询完,最后将检索结 果发送给用户; 步骤六、文件解密;用户使用解密密钥对接收到的密文进行解密,得到明文; 步骤七、删除用户;数据拥有者将用户信息从用户表中直接删除。 其中,步骤一中系统初始化具体过程为: S11、数据拥有者生成密钥K'和K"、伪随机函数f和F、分组密码E,并且根据关 键字个数生成伪随机流S 1, S2,…,Sn,其中η为待加密关键字个数; S12、生成分组密码Κ,用于加密文件; S13、对于分组密码Κ,利用IDEA算法生成解密密码犮。 S14、生成用户表,用于添加和删除用户,并将用户表和伪随机函数F-起发送到 云端服务器。 步骤二中的添加用户具体过程为: S21、数据拥有者将新用户Ui的唯一标识id(Ui)发送给服务器,并将七添加进用 户表,其中i取从1开始的正整数,表示新用户个数; S22、数据拥有者将密钥K'和K"、伪随机函数f、分组密码E和分组密码厂发送给 用户,其中分组密码无用来解密文件,其余密钥和伪随机函数用来生成关键字陷门。 步骤三中文件加密的过程具体为: S31、数据拥有者使用分组密码E和密钥f逐个加密关键字Wx,生成密文 E (K',Wx),其中X取从1开始的正整数且不大于n,表示关键字的个数 S32、将 E (K',Wx)等分成 L,R ,两部分; S33、基于Lx生成二进制字符串Sx| |F(KX,SX),此处Kx= f(K",WX),I I为符号串 连接; S34、将E(K',WX)和Sx| |F(KX,Sx)进行异或操作形成关键字Wx的密文Cx; S35、生成关键字Wi和文件fj的索引结构,其中j为正整数,表示要上传至云端服 务器的文件个数; S36、使用分组密码K,利用IDEA算法加密文件fj,生成密文EJfj); S37、根据用户+对文件L的访问权限,生成文件的权限链表,其中id(Ui)表示用 户七的标识,id(f P表示文件fj的标识; S38、最后将关键字和文件的索引结构、文件的权限链表和密文一同上传云端服务 器。 步骤四中生成陷门的具体过程为: S41、用户使用密钥C和分组密码E计算E (f,Wx),Wx为要检索的关键字; S42、使用密钥K"和伪随机函数f计算Q = f(K",LX),LXSS41中E(f,Wx)等 分成LjP R χ两部分的左半部分; S43、计算 Wx的陷门 Tw= (E(K,,WX),Q = f(K",LX))。 步骤五中文件检索的具体过程为: S51、用户Ui向云端服务器提交检索请求,并将S43中生成的关键字陷门T w传给服 务器,服务器收到请求后,先检索用户表,查看是否有id(Ui),如果有则继续检索关键字索 弓丨;否则拒绝检索; S52、服务器遍历关键字索引表的所有关键字密文Cx,并计算Cx XOR E (f,Wx)= Sx| |T,同时判断F(Q,Sx)是否等于T,如果相等则说明Cx就是关键字^的密文;否则,继续 匹配下一个关键字密文,如果最后没有匹配到相应关键字,则说明没有用户想要检索的关 键字,返回FALSE,其中,XOR表示异或操作; S53、假设检索关键字为W1,服务器根据关键字和文件的索引结构首先找到键字W 1 的索引链表中第一个文件,先检索的授权链表,判断是否包含用户u i,如果包含说明用户 七有权限检索文件f i,并将&加入到返回结果Result中,然后继续查询W ^勺索引链表中下 一个文件,即f3,直到所有包含W1的文件都检索结束; S54、最后将Result返回给用户ui〇 步骤六文件解密的具体过程为:用户根据IDEA加密算法,使用密钥皮解密密文 Ek (fj),得到明文 A (A (.//))。 步骤七删除用户的具体过程为:数据拥有者向云端服务器发送命令删除用户Ui, 服务器检索用户表,并从表中将用户Ui项直接删除。 本专利技术带来的有益效果:1、实现了对密文的直接检索,效率和安全性都得到了提 高。与传统可搜索加密方法相比,由本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/62/CN104780161.html" title="一种云存储中支持多用户的可搜索加密方法原文来自X技术">云存储中支持多用户的可搜索加密方法</a>

【技术保护点】
一种云存储中支持多用户的可搜索加密方法,其特征是,包括以下步骤:步骤一、系统初始化;数据拥有者初始化系统参数,生成密钥和伪随机函数,接下来生成用户表并将用户表发送到云端服务器;步骤二、添加用户;数据拥有者将新用户的身份信息发送给云端服务器的用户表,并把密钥和伪随机函数发送给新用户,用来生成陷门和解密文件;步骤三、文件加密;数据拥有者对关键字和文件进行加密,并为文件的关键字创建关键字索引链表,以关键字为表头节点,将包含该关键字的文件添加到关键字索引链表中,然后为每个文件创建权限链表,将授权访问文件的用户加入对应文件的权限链表以完成、授权,并将加密后的文件、关键字索引链表和权限链表一起上传到云端服务器;步骤四、生成陷门,用户使用密钥和想要检索的关键字生成该关键字的陷门,用来匹配关键字;步骤五、文件检索;用户使用生成的关键字陷门向云端服务器发起检索请求,服务器首先查询用户表中有无该用户,如果没有则拒绝提供检索;否则,根据上传的陷门检索关键字索引,如果没有匹配到对应的关键字,返回FALSE;否则继续查询关键字索引链表中第一个文件的权限链表中有无该用户,如果有该用户,则将文件加入到检索结果中,然后继续查询关键字索引表中下一个文件,直到所有包含该关键字的文件均查询完,最后将检索结果发送给用户;步骤六、文件解密;用户使用解密密钥对接收到的密文进行解密,得到明文;步骤七、删除用户;数据拥有者将用户信息从用户表中直接删除。...

【技术特征摘要】

【专利技术属性】
技术研发人员:黄海平杜建澎沙超王汝传徐佳李正韬秦宇翔李峰
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1