[发明专利]云存储中多用户密文关键词可搜索的加密方法在审

专利信息
申请号: 201410219732.X 申请日: 2014-05-22
公开(公告)号: CN104022866A 公开(公告)日: 2014-09-03
发明(设计)人: 王尚平;孙晓青;张亚玲 申请(专利权)人: 西安理工大学
主分类号: H04L9/06 分类号: H04L9/06;H04L29/08
代理公司: 西安弘理专利事务所 61214 代理人: 李娜
地址: 710048*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种云存储中多用户密文关键词可搜索的加密方法,步骤包括:步骤1、系统参数初始化;步骤2、添加用户;步骤3、文件拥有者uID对文件加密和安全索引生成;步骤4、云存储服务器对索引的重加密;步骤5、用户uID关于关键词搜索令牌的生成;步骤6、云存储服务器关于密文关键词的搜索;步骤7、用户关于密文的解密;步骤8、撤销用户。本发明的加密方法,使得授权用户能够利用连接关键词的陷门搜索加密文档,即使云存储服务器也不能知道用户搜索的关键词,可以确保用户信息的安全,提出的方案在通信和计算代价,即搜索陷门大小、关键词加密和搜索的速度等方面的综合效率得到提高,适合多用户环境。
搜索关键词: 存储 多用户 关键词 搜索 加密 方法
【主权项】:
一种云存储中多用户密文关键词可搜索的加密方法,其特点在于,按照以下步骤实施:步骤1、系统参数初始化由用户管理机构UM输入安全参数k,输出阶为素数q的循环群G,素数q的二进制长度为k,g为G的生成元,并且G中的DDHP是困难的;随机选择x∈RZq作为UM的主密钥,记为kUM=x,计算h=gx;用户管理机构UM选择伪随机函数f:{0,1}k×{0,1}*→Zq及其随机种子s∈R{0,1}k和抗碰撞的Hash函数H:{0,1}*→{0,1}t,其中t为Hash函数的输出长度,并为对称加密算法Enc(·)选择加密密钥ek,发布params=(G,g,q,f,H,h,Enc)作为系统参数,保密用户管理机构UM的私钥为mskEnt=x及文件加密密钥ek;步骤2、添加用户由用户管理机构UM输入UM的主密钥kUM和用户身份uID∈U,输出uID的密钥和辅助密钥<mrow><mrow><mo>(</mo><msub><mi>sk</mi><msub><mi>u</mi><mi>ID</mi></msub></msub><mo>,</mo><msub><mi>cpmk</mi><msub><mi>u</mi><mi>ID</mi></msub></msub><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><msub><mi>x</mi><msub><mi>u</mi><mi>ID</mi></msub></msub><msub><mo>&Element;</mo><mi>R</mi></msub><msubsup><mi>Z</mi><mi>q</mi><mo>*</mo></msubsup><mo>,</mo><msub><mi>k</mi><mi>UM</mi></msub><mo>-</mo><msub><mi>x</mi><msub><mi>u</mi><mi>ID</mi></msub></msub><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><msub><mi>x</mi><msub><mi>u</mi><mi>ID</mi></msub></msub><mo>,</mo><mi>x</mi><mo>-</mo><msub><mi>x</mi><msub><mi>u</mi><mi>ID</mi></msub></msub><mo>)</mo></mrow><mo>;</mo></mrow>安全地发送给用户uID;将安全地发送给云存储服务器Serv,云存储服务器Serv在其用户列表U‑ComK中加入<mrow><mrow><mo>(</mo><msub><mi>u</mi><mi>ID</mi></msub><mo>,</mo><msub><mi>comk</mi><msub><mi>u</mi><mi>ID</mi></msub></msub><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><msub><mi>u</mi><mi>ID</mi></msub><mo>,</mo><mi>x</mi><mo>-</mo><msub><mi>x</mi><msub><mi>u</mi><mi>ID</mi></msub></msub><mo>)</mo></mrow><mo>;</mo></mrow>步骤3、文件拥有者uID对文件加密和安全索引生成用户uID输入用户密钥加密密钥ek、随机种子s、文档Di及其关键词列表Wi=(wi,1,…,wi,m),1≤i≤n,随机选择riRZq,计算和Ei=Encek(Di);对每个wi,j∈Wi,1≤j≤m,计算δi,j=f(s,wi,j),令文件的索引为<mrow><msubsup><mi>I</mi><mi>i</mi><mo>*</mo></msubsup><mo>=</mo><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>,</mo><mn>1</mn></mrow><mo>'</mo></msubsup><mo>,</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>,</mo><mn>1</mn></mrow><mrow><mo>'</mo><mo>'</mo></mrow></msubsup><mo>)</mo></mrow><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>,</mo><mi>m</mi></mrow><mo>'</mo></msubsup><mo>,</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>,</mo><mi>m</mi></mrow><mrow><mo>'</mo><mo>'</mo></mrow></msubsup><mo>)</mo></mrow><mo>)</mo></mrow><mo>,</mo></mrow><mrow><msubsup><mi>C</mi><mi>i</mi><mo>*</mo></msubsup><mo>=</mo><mrow><mo>(</mo><msub><mi>E</mi><mi>i</mi></msub><mo>,</mo><msubsup><mi>I</mi><mi>i</mi><mo>*</mo></msubsup><mo>)</mo></mrow><mo>,</mo></mrow>发送给云存储服务器Serv;步骤4、云存储服务器对索引的重加密云存储服务器Serv输入用户身份uID和接收到的云存储服务器Serv根据uID在U‑ComK中查找若无,则返回失败符号⊥给用户身份uID;否则对中的每一对1≤j≤m,计算<mrow><msub><mi>c</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><msup><mrow><mo>(</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mo>'</mo></msubsup><mo>)</mo></mrow><msub><mi>comk</mi><msub><mi>u</mi><mi>ID</mi></msub></msub></msup><mo>&CenterDot;</mo><msubsup><mi>c</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mrow><mo>'</mo><mo>'</mo></mrow></msubsup><mo>=</mo><msup><mi>h</mi><mrow><msub><mi>r</mi><mi>i</mi></msub><mo>+</mo><msub><mi>&delta;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mrow></msup><mo>;</mo></mrow>令Ii=(ci,ci,1,…,ci,m),最后将Ci=(Ei,Ii)存储在云存储服务器Serv上;步骤5、用户uID关于关键词搜索令牌的生成用户uID输入s和要检索的关键词位置1≤l1,…,ld≤m及对应的关键词w1′,…,w′d,随机选择r∈RZq,d是用户搜索的关键词个数,计算:<mrow><msub><mi>T</mi><mn>1</mn></msub><mo>=</mo><msup><mi>g</mi><mrow><mo>-</mo><mi>r</mi></mrow></msup><msup><mi>g</mi><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>d</mi></msubsup><mi>f</mi><mrow><mo>(</mo><mi>s</mi><mo>,</mo><msubsup><mi>w</mi><mi>j</mi><mo>'</mo></msubsup><mo>)</mo></mrow></mrow></msup><mo>,</mo></mrow><mrow><msub><mi>T</mi><mn>2</mn></msub><mo>=</mo><msup><mi>h</mi><mi>r</mi></msup><msup><mi>g</mi><mrow><mo>-</mo><mi>r</mi><mo>&CenterDot;</mo><msub><mi>sk</mi><msub><mi>u</mi><mi>ID</mi></msub></msub></mrow></msup><msup><mi>g</mi><mrow><msub><mi>sk</mi><msub><mi>u</mi><mi>ID</mi></msub></msub><mo>&CenterDot;</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>d</mi></msubsup><mi>f</mi><mrow><mo>(</mo><mi>s</mi><mo>,</mo><msubsup><mi>w</mi><mi>j</mi><mo>'</mo></msubsup><mo>)</mo></mrow></mrow></msup><mo>=</mo><msup><mi>g</mi><msub><mrow><mi>r</mi><mo>&CenterDot;</mo><mi>comk</mi></mrow><msub><mi>u</mi><mi>ID</mi></msub></msub></msup><msup><mi>g</mi><mrow><msub><mi>sk</mi><msub><mi>u</mi><mi>ID</mi></msub></msub><mo>&CenterDot;</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>d</mi></msubsup><mi>f</mi><mrow><mo>(</mo><mi>s</mi><mo>,</mo><msubsup><mi>w</mi><mi>j</mi><mo>'</mo></msubsup><mo>)</mo></mrow></mrow></msup></mrow>最后将搜索令牌T=(uID,T1,T2,l1,…,ld)发送给云存储服务器Serv;步骤6、云存储服务器关于密文关键词的搜索云存储服务器Serv输入陷门T=(uID,T1,T2,l1,…,ld)及密文Ci=(Ei,Ii),云存储服务器Serv首先根据uID在U‑ComK中查找若无,则返回失败符号⊥给用户uID;否则云存储服务器Serv初始化空集Ω,计算:<mrow><mi>&upsi;</mi><mo>=</mo><msubsup><mi>T</mi><mn>1</mn><msub><mi>comk</mi><msub><mi>u</mi><mi>ID</mi></msub></msub></msubsup><mo>&CenterDot;</mo><msub><mi>T</mi><mn>2</mn></msub><mo>=</mo><msup><mi>g</mi><mrow><mi>x</mi><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>d</mi></msubsup><mi>f</mi><mrow><mo>(</mo><mi>s</mi><mo>,</mo><msubsup><mi>w</mi><mi>j</mi><mo>'</mo></msubsup><mo>)</mo></mrow></mrow></msup><mo>=</mo><msup><mi>h</mi><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>d</mi></msubsup><mi>f</mi><mrow><mo>(</mo><mi>s</mi><mo>,</mo><msubsup><mi>w</mi><mi>j</mi><mo>'</mo></msubsup><mo>)</mo></mrow></mrow></msup><mo>,</mo></mrow>对每个Ci=(Ei,Ii),1≤i≤n,云存储服务器Serv根据Ii判断如下等是否成立:<mrow><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><mi>H</mi><mrow><mo>(</mo><msup><mi>h</mi><msub><mi>r</mi><mi>i</mi></msub></msup><mo>)</mo></mrow><mo>=</mo><mi>H</mi><mrow><mo>(</mo><msup><mrow><mo>(</mo><msup><mi>&upsi;</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>&CenterDot;</mo><msubsup><mi>&Pi;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>d</mi></msubsup><msub><mi>c</mi><msub><mrow><mi>i</mi><mo>,</mo><mi>l</mi></mrow><mi>j</mi></msub></msub><mo>)</mo></mrow><msup><mi>d</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup></msup><mo>)</mo></mrow><mo>=</mo><mi>H</mi><mrow><mo>(</mo><msup><mrow><mo>(</mo><msup><mi>&upsi;</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>&CenterDot;</mo><msubsup><mi>&Pi;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>d</mi></msubsup><msup><mi>h</mi><mrow><msub><mi>r</mi><mi>i</mi></msub><mo>+</mo><msub><mi>&delta;</mi><mrow><mi>i</mi><mo>,</mo><msub><mi>l</mi><mi>j</mi></msub></mrow></msub></mrow></msup><mo>)</mo></mrow><msup><mi>d</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup></msup><mo>)</mo></mrow><mo>,</mo></mrow>若成立,则Ω=Ω∪{Ei},最后将搜索结果Ω发送给用户uID;步骤7、用户关于密文的解密用户uID输入对称密钥ek及接收到的Ω,对每个Ei∈Ω,计算Di=Decek(Ei);步骤8、撤销用户用户管理机构UM输入用户身份uID,UM执行操作U=U\{(uID)},并向云存储服务器Serv发送撤销用户uID的命令,云存储服务器Serv执行操作,<mrow><mi>u</mi><mo>-</mo><mi>ComK</mi><mo>=</mo><mi>U</mi><mo>-</mo><mi>ComK</mi><mo>\</mo><mo>{</mo><mrow><mo>(</mo><msub><mi>u</mi><mi>ID</mi></msub><mo>,</mo><msub><mi>comk</mi><msub><mi>u</mi><mi>ID</mi></msub></msub><mo>)</mo></mrow><mo>}</mo><mo>,</mo></mrow>即云存储服务器CSS删除用户uID注册项目即成。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安理工大学,未经西安理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410219732.X/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top