一种可搜索的无证书公钥加密方法技术

技术编号:12790696 阅读:50 留言:0更新日期:2016-01-28 20:55
本发明专利技术提供一种可搜索的无证书公钥加密方法,所述方法为:1、设置多个公共参数以及用户和服务器的公钥和私钥;2、将各个关键词利用所述用户和服务器的公钥进行加密后附加到加密文件的后面,组成完整的带关键词的可搜索文件;3、使用密钥生成待查询关键字的陷门Trapdoor;4、服务器以关键词的陷门为输入,执行检索后返回所有包含该陷门对应关键词的密文文件,并将检索结果发送给用户;5、用户使用密钥解密所述服务器返回的密文文件,获得查询结果。本发明专利技术实现保证用户隐私的云存储。

【技术实现步骤摘要】

本专利技术涉及云存储安全
,尤其涉及。
技术介绍
随着网络速度的提高以及存储成本的降低,现在越来越多的用户选择把自己的数据储存到第三方服务器上,这样用户只需要支付很少的费用,就可以拥有大量的存储空间。而为了保证用户的隐私和信息安全,大部分服务器会选择加密存储,目前大部分加密方法都是使用用户公钥加密,私钥解密。但是如果第三方使用这种加密方法,当用户想要提取自己的某些私有信息时,想要实现搜索提取信息就变得十分困难。因为第三方不知道用户的私钥,而用户如果在搜索时把私钥发送给服务器又是十分危险,因为如果服务器有用户私钥就可以对用户的所有信息进行解密。所以唯一的方法就是服务器把该用户的所有文件都返回给用户,用户在本地解密后再检索。不难看出这种方法是十分低效的,并且这已经失去了用户将文件存储在服务器上的意义。所以实际可行的方法只有让第三方服务器对信息进行检索查询,并返回用户想要的文件。但是用户如果直接提交明文查询条件进行查询,就有可能造成信息访问模式的泄露,也就是说第三方可以获知用户对满足什么条件的信息感兴趣,可能会利用这些信息。那么如何在不泄露用户访问模式的前提下,允许第三方服务器进行检索并返回匹配记录,也就是如何在公钥密码体制下对已经加密的数据进行搜索便成了目前急需解决的问题。
技术实现思路
本专利技术要解决的技术问题,在于提供,解决了在基于无证书的公钥加密系统下解决了云存储的安全问题。能在云环境中对用户数据提供保护。本专利技术是这样实现的:,所述方法具体为:步骤1、设置多个公共参数以及用户和服务器的公钥和私钥;步骤2、用户将各个关键词利用所述用户和服务器的公钥进行加密后附加到加密文件的后面,组成完整的带关键词的可搜索文件;步骤3、用户使用密钥生成待查询关键字的陷门Trapdoor,并发送到服务器;步骤4、服务器以关键词的陷门为输入,执行检索后返回所有包含该陷门对应关键词的密文文件,并将检索结果发送给用户;步骤5、用户使用密钥解密所述服务器返回的密文文件,获得查询结果。进一步的,所述步骤1具体为:密钥生成中心运行密钥设置算法生成多个公共参数Params = {e, G1; G2, q, P, s, Ppub, H!,H2, H3, Hj,其中e是双线性配对运算函数;q是一个素数而是q阶的加法循环群;G 2是q阶的乘法循环群;P是G 的一个生成元;s是生成中心随机产生的主密钥master-key ;Ppub= sP是系统公钥;Η;是哈希函数,其中{0, 1}k—{0,l}k-G1,H3: {0,l}k-G{0,1} k;k为哈希函数的长度,即 k位(0,1)字符;密钥生成中心还生成用户和服务器的部分私钥,服务器的部分私钥为DIDS= s -Η! (IDS)用户的部分私钥为DIDe= s.H2(IDe),其中ID是用户唯一的身份标识符,IDS表示服务器的标识符,1?表示用户的标识符;之后生成中心将生成的部分私钥分别发送给服务器和用户,然后用户和服务器分别选择一个只有自己知道的秘密值来生成自己的最终公钥和私钥,用户的密钥对为〈P^,dIDc> = <scll.Ppub, scll.DID。〉,服务器的密钥对为<PSCT,dIDS> =<sser.Ppub, sser.DIDS>其中,Pcll是用户公钥,d IDc是用户私钥;P _是服务器公钥,d IDS是服务器私钥s SCT分别是用户和服务器随机生成的秘密值,仅自己知道;该d ID。和d IDS设计时加入了自己随机选择的秘密值形成的无证书公钥。进一步的,所述步骤2具体为:用户将关键词每个关键字进彳丁一定的哈希运算后即H3(IDs,wO,Wi是关键词;再与用户所选择的随机值r和用户以及服务器的公钥进行一定的加密运算,最后得到关键字加密后的密文c = (C1; C21, C22,..., C2n, C3) = (r.Ρ,r -H3(IDS,w!),r.Η3 (IDS, w2),..., r *H3(IDS, wn), H4(e (r *Pser, ^(?)) *e(r *Pcli, H2 (IDC)))),并附加到加密文件EApub的后面,组成完整的带关键词的可搜索的文件,C]存储到所述服务器上,其中r为进行加密时用户选择的随机数%是关键词;msg为待加密存储的文件;EApubS公钥加密方式,用来加密待加密存储的文件。进一步的,所述陷门Trapdoor 为:陷门 Tw= (Twl, Tw2) = (f.Ρ, dIDC-f *H3(IDS, w)),该陷门不能泄露关键词的任何信息,其中,f是进行陷门时用户选择的随机数。进一步的,所述步骤4具体为:服务器以关键词的陷门为输入,执行检索算法,返回所有包含该陷门对应关键词的密文文件,该服务器设置为除了能知道密文文件是否包含某个特定关键词外,无法获得更多信息;并将检索结果]发送给用户。进一步的,服务器用所存储文件的附加关键字密文C与所收到的陷门Trapdoor进行匹配测试,并将测试结果为正确的文件返回给用户,具体过程为对于i = l,2,...,n,如果 C3等于 H 4 (e (C1; Tw2+dIDS).e (C2l, Twl)) = H4 (e (Q,f.H3 (IDS, w) +dIDS).e (C2l, f.P, dIDC)),则返回正确,否则返回错误。本专利技术具有如下优点:本专利技术的无证书公钥加密与基于身份公钥加密的主要区别在密钥的设计上,本专利技术的无证书公钥在设计用户密钥时加入了用户自己随机选择的秘密值S&,用户的私钥设计dI[fc= s cli.DIDC= s cli.s.H2(IDC),这样除了用户自己没有任何第三方知道用户的私钥。本专利技术解决了在基于无证书的公钥加密系统下解决了云存储的安全问题。能在云环境中对用户数据提供保护。【附图说明】图1为本专利技术方法流程示意图。【具体实施方式】请参阅图1所示,本专利技术的,其特征在于:所述方法具体为:步骤1、设置多个公共参数以及用户和服务器的公钥和私钥;所述步骤1具体为:密钥生成中心运行密钥设置算法生成多个公共参数Params (多个公共参数集合)={e,G1; G2, q, P, s, Ppub, Η1; H2, H3, H4},其中e是双线性配对运算函数;q是一个素数A是q阶的加法循环群;G2是q阶的乘法循环群;P是G:上的一个生成元;s是生成中心随机产生的主密钥master-key ;Ppub= sP是系统公钥丨是哈希函数,其中Η丨:{0,l}k— G丨,H2: {0, 1}k^G1,H3: {0,l}k—{0,1}、也为哈希函数的长度,即1^位(0,1)字符;密钥生成中心还生成用户和服务器的部分私钥,服务器的部分私钥为DIDS= s-H^IDs)用户的部分私钥为DIDe= s.Η2(Π)ε),其中ID是用户唯一的身份标识符,IDS表示服务器的标识符,ID。表示用户的标识符。之后生成中心将生成的部分私钥分别发送给服务器和用户,然后用户和服务器分别选择一个只有自己知道的秘密值来生成自己的最终公钥和私钥,用户的密钥对为 <Pcll, dIDc> = <scll *Ppub, scll.DIDC>,本文档来自技高网...

【技术保护点】
一种可搜索的无证书公钥加密方法,其特征在于:所述方法具体为:步骤1、设置多个公共参数以及用户和服务器的公钥和私钥;步骤2、用户将各个关键词利用所述用户和服务器的公钥进行加密后附加到加密文件的后面,组成完整的带关键词的可搜索文件;步骤3、用户使用密钥生成待查询关键字的陷门Trapdoor,并发送到服务器;步骤4、服务器以关键词的陷门为输入,执行检索后返回所有包含该陷门对应关键词的密文文件,并将检索结果发送给用户;步骤5、用户使用密钥解密所述服务器返回的密文文件,获得查询结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:潘正祥吴祖扬陈建铭林浚玮孟凡亚
申请(专利权)人:福建工程学院
类型:发明
国别省市:福建;35

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

1