一种云存储中多用户的加密搜索方法

文档序号:9276666阅读:378来源:国知局
一种云存储中多用户的加密搜索方法
【技术领域】
[0001] 本发明涉及一种云存储中多用户的加密搜索方法,属于云计算安全技术领域。
【背景技术】
[0002] 从在线邮件系统email,到Facebook的在线相册服务,愈来愈多云存储正在进入 普通大众的生活。随着云计算技术的不断发展,云存储广泛用于服务,如备份或外包数据来 减少运营成本,如Amazon Storage Service、百度云。然而,这些远程服务器不能完全被信 任,因为管理员或黑客可能以root权限完全访问服务器并可以对明文数据进行操作。因 此,为了安全地把敏感数据存储在不可信的服务器上,该数据必须被加密,这通过隐藏所有 关于明文数据信息减少了安全和隐私风险。存储加密后的数据虽然可以保证数据的安全性 和完整性,但降低了数据的可用性:加密后的数据无法支持搜索的功能。
[0003] -个最简单的解决方案是:下载云存储中所有数据,在本地进行解密,然后搜索所 期望结果的明文数据。对于大多数应用来说,这种方法将是不切实际的。为了解决存储在云 中的数据保密性和功能性与搜索高效性之间的矛盾,提出了"可搜索加密技术"这一方案。 另一种方法让服务器解密数据,运行在查询服务器端,并只发送其结果返回给用户。这允许 服务器学习明文数据被查询,从而使得加密的那么有用。相反,它是需要支持在服务器端的 最大可能的搜索功能,但不解密数据,并且因此,具有数据保密的最小可能的损失。这就是 所谓的搜索加密(SE)。
[0004] 早期提出的单用户可搜索加密仅适用于用户检索自己存储在云上的数据,搜索操 作只能由一个用户完成。随着云计算的发展,云存储数据迫切需要实现多用户分享。当多 用户加密搜索环境下,如果采用分享秘钥的方法,某个用户如果撤销了搜索权限,但由于已 经将解密秘钥分发给撤销用户,一旦撤销用户将该解密秘钥泄露,会对整个系统造成严重 的破坏。因此,秘钥的管理将成为一个棘手的问题。

【发明内容】

[0005] 发明目的:为了克服现有技术中存在的不足,本发明提供一种云存储中多用户 的加密搜索方法,能够提供访问控制和加密搜索,满足了存储在公共云(pulic cloud server,PCS)上加密数据的搜索功能,并且实现了用户组的动态管理,比多用户分享秘钥加 密的方法效率更高。
[0006] 技术方案:为实现上述目的,本发明采用的技术方案为:
[0007] 1、一种云存储中多用户的加密搜索方法,其特征在于:包括如下阶段:
[0008] 1)初始化阶段:首先可信私有云进行初始化生成秘钥材料,可信私有云将秘钥材 料分为私钥和公钥;可信私有云随机输出一个用户秘钥并计算其用户辅助秘钥;具体为: 假设TPC根据生成器g创建一个q阶循环群G ;H为一个安全的哈希函数,f为一个伪随机 函数fs(),s是其fs()的秘钥,h=gK,其中R G Z$,Zg定义为{〇, 1…q-1}的集合;随机 选择一个'a E Z〗,x E Z〗,私钥SK = (a,x,s),将私钥SK = (a,x,s)保持私有,同时将公 钥PK = (G, g, q, H, f, h, gaha)公开;计算ai*a2= a(modq),可以得到a丨和a 2,随机计算一个 ?xulEZ$,Xc;1=x- X ul,然后TPC将用户秘钥(XU1^a1)发送给用户,同时存储用户辅助秘 钥(u,x el,a2)发在可信私有云上;
[0009] 2)数据上传阶段:用户上传经过加密处理后的外包存储数据到公共云中,具体 为:用户采用EIGamal加密算法对需要存储在云端的数据以及数据的关键词进行第一次加 密;然后用户将所述进行第一次加密过后的数据和关键词发送给可信私有云;所述可信私 有云首先对用户进行用户身份认证,用户认证通过后所述可信私有云对已进行第一次加 密过后的数据以及数据的关键词进行二次加密处理;然后可信私有云将二次加密处理后的 数据以及数据的关键词上传到公共云中;
[0010] 3)数据搜索阶段:用户生成搜索请求,当所述可信私有云收到用户发送的数据的 关键词的搜索请求后,所述可信私有云首先认证用户的搜索权限,若是认证成功,计算用 户的搜索秘钥M 1= (gh)=和可信私有云的搜索秘钥M2= (gahar;然后用户通过用户的搜 索秘钥M1以及所述初始化阶段中接受到的用户秘钥计算搜索数据的关键词的搜索陷门: Tu(w')=『乂)' 其中:〇 w, = fs(w,);
[0011] 然后用户将所述数据的关键词的搜索陷门发送到所述可信私有云中;可信私有云 接收到搜索陷门Tu(w')后,可信私有云将初始化阶段中可信私有云中存储的用户辅助 秘钥(u, Xc;1,a2)发送给搜索的用户;用户根据接受到的用户辅助秘钥重新计算数据搜索陷 门:T = Tu(W )'然后可信私有云计算搜索陷门的查询值H = (TXM2)并将所述查询值H =(TXM2)发送到公共云上,公共云中采用匹配算法对所述经过二次加密后的数据进行查 询;如果所述公共云中存在的数据中与所述搜索陷门的查询值相同,则所述公共云将相关 数据发送给所述可信私有云;所述可信私有云接受到公共云发送的相关数据后先对相关数 据进行预解密处理,然后可信私有云再将预解密后的数据返回给所述发送关键词搜索请求 的用户,用户使用个人秘钥解密,最终得到想查询的数据。
[0012] 有益效果:本发明提供的一种云存储中多用户的加密搜索方法:
[0013] 本发明提出了新型多用户搜索加密方法,引入了可信私有云(a trusted private cloud,TPC)实现秘钥管理。该方法能够提供访问控制和加密搜索,满足了存储在公共云 (pulic cloud server, PCS)上加密数据的搜索功能,并且实现了用户组的动态管理,比多 用户分享秘钥加密的方法效率更高效。本发明使用可信私有云进行秘钥管理和用户管理, 保护云存储的数据安全性。本发明使用可信私有云管理秘钥材料,公共云无法根据搜索请 求获取用户秘钥,所以本发明符合加密搜索所要求的数据安全性要求,通过对多用户广播 搜索加密方案与可信私有云加密搜索方案算法比较,本发明具有更高效的特点。
【附图说明】
[0014]图1为是发明的网络模型;
[0015]图2为数据上传阶段的说明图;
[0016]图3为数据搜索阶段的主要步骤;
[0017] 图4为初始阶段说明图;
[0018]图5为数据上传阶段主要步骤。
【具体实施方式】
[0019] 下面结合附图对本发明作更进一步的说明。
[0020] 本发明提出了新型多用户搜索加密方法,引入了可信私有云(a trusted private cloud,TPC)实现秘钥管理。该方法能够提供访问控制和加密搜索,满足了存储在公共云 (pulic cloud server, PCS)上加密数据的搜索功能,并且实现了用户组的动态管理,比多 用户分享秘钥加密的方法效率更高效。
[0021] 本方法的主要思路是将加密搜索分为三个步骤。第一步,初始化阶段,由可信私有 云TPC完成秘钥材料的生成和分发。第二步,数据所有者即用户和TPC完成数据以及数据 关键词的加密,用户将加密后的数据以及其关键词发送到公共云PCS上。具体为用户通过 使用初始化阶段TPC分发的秘钥材料对数据以及其关键词进行第一次加密,并把经过加密 后数据以及其关键词发送到TPC ;TPC对加密数据进行二次加密后存储到PCS。第三步,TPC 接收到用户发送的搜索请求,PCS返回加密数据,TPC接受PCS返回的加密数据先进行预解 密,最终用户利用自己的个人秘钥进行解密得到数据,完成数据搜索阶段。具体为:用户先 生成搜索关键词的陷门请求,发送给TPC。TPC收到搜索请求后,先检查搜索的用户是否在 授权用户组中,即对用户进行身份认证;然后计算授权用户搜索陷门值发送到PCS上。PCS 对存储云上的数据项进行匹配搜索,并返回相应的待解密数据给TPC。TPC对公共云返回的 数据进行预解密处理后返回请求用户。用户用自己的秘钥材料进行解密得到自己想要的明 文数据。发明的网络模型如图1所示。
[0022] 本发明的主要框架如下:秘钥材料的生成和分发,数据上传和数据搜索的设计。 包含的实体有可信私有云、公共云和用户(包括数据所有者和数据使用者)。包含的算法有 秘钥生成算法、数据加密解密算法和数据搜索算法。本方法使用可信私有云进行秘钥管理 和用户管理,保护云存储的数据安全性。
[0023] 如图1所示本发明定义了三种实体:可信私有云、公共云和用户。涉及的阶段包括 初始化阶段,数据上传阶段和数据搜索阶段。
[0024] 本发明的实施例包含三部分内容,具体分述如下:
[0025] 1)初始化阶段:首先可信私有云进行初始化生成秘钥材料,可信私有云将秘钥材 料分为私钥和公钥;可信私有云随机输出一个用户秘钥并计算其用户辅助秘钥,然后可信 私有云将所述用户秘钥发送给用户,同时可信私有云中存储用户辅助秘钥;
[0026] 初始化阶段主要完成秘钥材料的生成,把私钥保持私有,把公钥公开,为后面的两 个阶段做准备。
[0027] 2)数据上传阶段:用户上传经过加密处理后的外包存储数据到公共云中,外包存 储数据比如说为需要上传存储的文档。具体为:用户采用EIGamal加密算法对需要存储在 云端的数据以及数据的关键词进行第一次加密;然后用户将所述进行第一次加密过后的数 据和关键词发送给可信私有云;所述可信私有云首先对用户进行用户身份认证,身份认证 是基于用户的ID ;用户认证通过后所述可信私有云对已进行第一次加密过后的数据以及 数据的关键词进行二次加密处理;然后可信私有云将二次加密处理后的数据以及数据的关 键词上传到公共云中;
[0028] 3)数据搜索阶段:用户通过初始化阶段中接受到的所述可信私有云分发的用 户秘钥计算搜索数据的关键词的搜索陷门:TuO') = Cgtnv MJai,其中W1= (gh) 1为 数据搜索阶段用户的搜索秘钥,〇w, =fs(w' ),TPC根据生成器g创建一个q阶循环 群G;H为一个安全的哈希函数,f为一个伪随机函数fs(),s是其fs()的秘钥,h = gK, 其中11£2丨,2丨定义为{〇,1~(1-1}的集合;随机选择一个'3£2丨,父£2丨,私钥51(= (a, X,s),将私钥SK = (a, X,s)保持私有,同时将公钥PK = (G, g, q, H, f, h, gaha)公开;计算 ai*a2= a (modq),可以得到a JPa2,随机计算一个'xul e ,Xxl= x-x ul,然后TPC将用户 秘钥Oo^sa1)发送给用户,同时存储用户辅助秘钥(u,Xc;1,a 2)发在可信私有云上;
[0029] 然后用户将所述数据的关键词的搜索陷门发送到所述可信私有云中;当所述可信 私有云收到用户发送的数据的关键词的搜索请求后,所述可信私有云首先认证用户的搜索 权限,若是认证成功,计算可信私有云的搜索秘钥M 2= (g ahar;其中
[0030] 可信私有云接收到仏后,可信私有云将初始化阶段中可信私有云中存储的用户辅 助秘钥发送给搜索的用户;用户根据接受到的用户辅助秘钥计
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1