CN105007161B - 一种陷门无法识别的模糊关键字公钥搜索加密方法 - Google Patents
一种陷门无法识别的模糊关键字公钥搜索加密方法 Download PDFInfo
- Publication number
- CN105007161B CN105007161B CN201510323115.9A CN201510323115A CN105007161B CN 105007161 B CN105007161 B CN 105007161B CN 201510323115 A CN201510323115 A CN 201510323115A CN 105007161 B CN105007161 B CN 105007161B
- Authority
- CN
- China
- Prior art keywords
- keyword
- server
- trapdoor
- algorithm
- public key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种陷门无法识别的模糊关键字公钥加密搜索方案,该方案用服务器的公钥来加密关键字和数据文件,外部攻击者没有服务器密钥就不能从中得到任何信息,也就可以不用安全信道来传输;同时也是一种陷门无法识别性的方案,这样外部攻击者不能用关键字猜测攻击来攻击陷门;方案不仅支持精确关键字搜索加密,当输入的关键字有任何拼写错误或格式不一致的情况时,该方案也支持搜索,这大大提高了系统的可用性。
Description
技术领域
本发明涉及云计算及密码学领域,具体讲的是一种在云环境下进行公钥加密文件的搜索方案,该方案不仅支持模糊关键字的搜索,而且也支持精确关键字的搜索,同时可以抵抗关键字猜测攻击,满足陷门无法识别性。
背景技术
最早的公钥加密系统是在2004年被Boneh等人中提出来的,用户可以发送给服务器一个密钥,使服务器可以识别包含被搜索关键字所有的数据文件,而且服务器不能识别有关数据文件的任何信息,但是这个搜索加密方案是必须建立在安全信道里面的,而且这个搜索加密方案只允许精确关键字的搜索加密。
在2008年,Baek等人提出了一种无安全信道的方案,这个方案里的基本观点就是服务器有自己的公私钥,数据拥有者使用服务器的公钥和自己的公钥加密创建一个PEKS密文,数据拥有者就可以通过公共传输信道直接将陷门发送给服务器,即使外部攻击者截获了该密文,没有服务器的密钥,它也不能获得该密文任何相关的信息,但是Rhee等人指出这个无安全信道的公钥加密搜索方案容易遭到关键字的猜测攻击,他们提出了一个方案满足陷门无法识别的性质,但是必须靠安全信道支撑。
Zhuhui等人中提出了一种全新的陷门无法识别性的方案,这个方案也不需要安全信道,但是只能支持精确关键字的搜索。
在2010年,Wang等人提出了一种模糊关键字的搜索方案,用通配符的方法建立模糊关键字集合这样能大大节约存储空间,这个方案里,用编辑距离来量化关键字的相似度,通过关键字的索引比较来返回相似关键字的文件ID,从而恢复文件,但是这个模糊关键字搜索方案里的陷门是不安全的,容易遭受到关键字猜测攻击。
发明内容
为了克服上述现有公钥加密搜索方案技术的不足,本发明提供了一种陷门无法识别的模糊关键字公钥加密搜索方法,满足三个要求,一是利用服务器的公钥来加密关键字和数据文件,外部攻击者没有服务器密钥就不能从中得到任何信息,也就可以不用安全信道来传输;二是提出了一种陷门无法识别性的方案,这样外部攻击者不能用关键字猜测攻击来攻击陷门;三是方案不仅支持精确关键字搜索加密,当输入的关键字有任何拼写错误或格式不一致的情况时,该方案也支持搜索。
本发明所采用的技术方案是:使用通配符技术和编辑距离生成模糊关键字集合,然后用公钥加密方案(数据拥有者和服务器的公钥)加密模糊关键字集合里的每一个关键字,接着用数据拥有着的私钥生成陷门后发送给服务器,服务器来进行匹配。
与现有技术相比,本发明的有益效果是方案里面构建对于关键字w的搜索请求是用了公钥关键字加密方法进行的,搜索请求是一个基于Sw,k的陷门集,而不是像精确关键字搜索的单一的一个关键字陷门,这些陷门是不可分辨的,一个外部攻击者,给予BDH问题的困难性,他不能计算出 的值,所以这就是说只有服务器才能执行以上的算法,而且根据字符z选择的不同,所以h1(z)是时刻更新的,外部攻击者不会知道PEKS()算法是加密的哪一个关键字,最后这个方案加密关键字时用了服务器的公钥,数据拥有者就可以通过公共传输信道直接将该密文寄给服务器,即使外部攻击者截获了该密文,没有服务器的密钥,它也不能获得该密文任何相关的信息,而且该方案不仅支持精确关键字的搜索,同时也支持模糊关键字的搜索。
具体实施方式
本发明的实施方案一共包括以下几个算法。
算法1:KeyGenParam(k):产生素数阶q≥2k的一个群g1,一个g1的随机产生器P,构建双线性映射指定哈希函数h1:{0,1}*→g1,h2:g2→{0,1}k,返回作为一个公共参数;
算法2:KeyGenServer(cp):随机选择然后计算X=xP,随机选择返回公钥PS=(cp,Q,X)和私钥SS=(cp,x)作为服务器的公私钥对;
算法3:KeyGenPecdver(cp):随机选择然后计算Y=yP,返回公钥PR=(PS,Y)和私钥SR=(cp,y)作为接收者的公私钥对;
假设编辑距离为d,数据拥有者为了对每一个关键字WI建立一个索引,首先使用通配符技术建立一个模糊关键字的索引集c,前面已经介绍,这里不再赘述,索引集里面每一个元素都是用通配符表示的关键字,其中每一个通配符表示一个编辑距离,然后数据拥有者就开始加密每一个
算法4:PEKS(cp,PS,PR,w′I,FIDw):随机选择数据拥有者计算R=(D,N,s,m)=(rP,rY,s,m),其中 这个算法返回R作为一个PEKS密文;
最后数据拥有者就可以把这个关键字密文和加密过的文件发送给服务器,数据接收者想要执行搜索就输入(w,k),首先计算所有的陷门其中是w的基于通配符模糊关键字集合,以下是计算每个基于通配符关键字的陷门算法:
算法5:Trapdoor(cp,SR,w′):随机选择z∈{0,1}*,数据接收者陷门和陷门Tw′2=yh1(z)∈g1,这个算法返回关键字W′陷门数据接收者执行模糊关键字搜索就把这些陷门集合发送给服务器,服务器就执行搜索,以下是服务器的匹配比较算法:
算法6:Test(cp,TW,SS,R):服务器首先计算 最后计算接着测试如果等式相等,返回E=″Correct″,否则返回E=″Incorrect″;
服务器接收到Test()算法返回的结果E,如果E=″Correct″,则返回所有可能加密的文件识别号m=Enc(PR,FIDw||w);如果E=″Incorrect″,则返回相关匹配失败的提示语,数据接收者可以用自己的密钥解密所有返回的结果查找恢复自己感兴趣的文件。
本发明的安全性分析如下。
理论本文的方案是满足陷门无法识别的性质的。
证明:首先因为z的选择不同,方案的陷门是时刻更新的,而且基于计算的困难性,外部攻击者就算得到了陷门也不能得到里面的任何东西,假如说外部攻击者知道了这两个哈希函数的值,他就可以决定两个陷门里的关键词是不是相同的。
首先他可以通过这两个的值来计算Tw=y1h1(w)+h1(z),如果得到了服务器的公钥X=xP和接收者的公钥Y=yP,攻击者就可以通过Tw推导出两个陷门里的关键字是否是相等的;第一步先计算第二步再计算最后计算
所以如果两个陷门来自同一个关键字,通过比较和的大小就可以得到,但是基于BDH问题计算的困难性,是不能被计算出来的,所以外部攻击者不能决定两个陷门是不是来自同一个关键字。
Claims (1)
1.一种陷门无法识别的模糊关键字公钥搜索加密方法,其特征在于,包括:
—用服务器的公钥来加密关键字和数据文件,外部攻击者没有服务器密钥就不能从中得到任何信息;
该方法分为以下几个算法:
(1)、参数产生:为该算法产生公共参数;
(2)、产生数据拥有者公私钥:为数据拥有者和数据使用者生成公钥和私钥;
(3)、产生服务器公私钥:为云服务器生成公钥和私钥;
(4)、加密关键字:用通配符和编辑距离的方法为每一个关键字产生一个模糊关键字集合,然后用服务器的公钥和数据拥有者的公钥共同加密模糊关键字集合里面每一个关键字;
(5)、陷门产生:用通配符和编辑距离的方法为输入搜索的关键字产生一个模糊关键字集合,然后用数据拥有者的私钥为每一个模糊关键字生成一个陷门;
(6)、关键字测试匹配:服务器匹配加密关键字和陷门里的关键字是否是相等的,如果相等就返回加密的数据文件;
具体算法实施方法如下:
算法1:KeyGenParam(k):产生素数阶q≥2k的一个群g1,一个g1的随机产生器P,构建双线性映射g1×g1→g2指定哈希函数h1:{0,1}*→g1,h2:g2→{0,1}k,返回作为一个公共参数;
算法2:KeyGenServer(cp):随机选择然后计算X=xP,随机选择返回公钥PS=(cp,Q,X)和私钥SS=(cp,x)作为服务器的公私钥对;
算法3:KeyGenPecdver(cp):随机选择然后计算Y=yP,返回公钥PR=(PS,Y)和私钥SR=(cp,y)作为接收者的公私钥对;
假设编辑距离为d,数据拥有者为了对每一个关键字WI建立一个索引,首先使用通配符技术建立一个模糊关键字的索引集索引集里面每一个元素都是用通配符表示的关键字,其中每一个通配符表示一个编辑距离,然后数据拥有者就开始加密每一个
加密关键字算法如下:
算法4:PEKS(cp,PS,PR,w′I,FIDw):随机选择数据拥有者计算
R=(D,N,s,m)=(rP,rY,s,m),其中 这个算法返回R作为一个PEKS密文;
最后数据拥有者就可以把这个关键字密文和加密过的文件发送给服务器,数据接收者想要执行搜索就输入(w,k),首先计算所有的陷门其中Sw,k是w的基于通配符模糊关键字集合,以下是计算每个基于通配符关键字的陷门算法:
算法5:Trapdoor(cp,SR,w′):随机选择z∈{0,1}*,数据接收者陷门和陷门Tw′2=yh1(z)∈g1,这个算法返回关键字W′陷门数据接收者执行模糊关键字搜索就把这些陷门集合发送给服务器,服务器就执行搜索,以下是服务器的匹配比较算法:
算法6:Test(cp,TW,SS,R):服务器首先计算 最后计算接着测试如果等式相等,返回E=″Correct″,否则返回E=″Incorrect″;
服务器接收到Test()算法返回的结果E,如果E=″Correct″,则返回所有可能加密的文件识别号m=Enc(PR,FIDw||w);如果E=″Incorrect″,则返回相关匹配失败的提示语,数据接收者可以用自己的密钥解密所有返回的结果查找恢复自己感兴趣的文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510323115.9A CN105007161B (zh) | 2015-06-12 | 2015-06-12 | 一种陷门无法识别的模糊关键字公钥搜索加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510323115.9A CN105007161B (zh) | 2015-06-12 | 2015-06-12 | 一种陷门无法识别的模糊关键字公钥搜索加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105007161A CN105007161A (zh) | 2015-10-28 |
CN105007161B true CN105007161B (zh) | 2018-10-12 |
Family
ID=54379689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510323115.9A Expired - Fee Related CN105007161B (zh) | 2015-06-12 | 2015-06-12 | 一种陷门无法识别的模糊关键字公钥搜索加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105007161B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105323061B (zh) * | 2015-12-02 | 2019-07-12 | 河海大学 | 一种可关键字搜索的外包密钥生成和解密的属性基系统及解密方法 |
CN105915520B (zh) * | 2016-04-18 | 2019-02-12 | 深圳大学 | 基于公钥可搜索加密的文件存储、搜索方法及存储系统 |
CN106407822B (zh) * | 2016-09-14 | 2019-06-18 | 华南理工大学 | 一种关键词、多关键词可搜索加密方法和系统 |
CN106789044B (zh) * | 2017-02-20 | 2019-12-27 | 西南石油大学 | 标准模型下格上云存储密文数据公钥可搜索加密方法 |
CN107181596B (zh) * | 2017-06-05 | 2020-08-04 | 福建师范大学 | 一种基于双线性对的可搜索加密方法 |
CN108243000B (zh) * | 2018-01-12 | 2021-07-09 | 哈尔滨工业大学深圳研究生院 | 云存储系统中的密文搜索方法 |
CN108595633A (zh) * | 2018-04-24 | 2018-09-28 | 杭州电子科技大学 | 物联网中传感信息虚拟服务的安全检索方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931947A (zh) * | 2010-07-28 | 2010-12-29 | 南京航空航天大学 | 基于可搜索密文的wsn数据安全处理方法 |
CN102938767A (zh) * | 2012-11-13 | 2013-02-20 | 西安电子科技大学 | 基于云数据外包系统的高效可验证的模糊关键词搜索方法 |
CN103023637A (zh) * | 2012-12-25 | 2013-04-03 | 电子科技大学 | 一种云存储中可撤销的关键字搜索公钥加密及搜索方法 |
CN104021157A (zh) * | 2014-05-22 | 2014-09-03 | 西安理工大学 | 云存储中基于双线性对的关键词可搜索加密方法 |
-
2015
- 2015-06-12 CN CN201510323115.9A patent/CN105007161B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931947A (zh) * | 2010-07-28 | 2010-12-29 | 南京航空航天大学 | 基于可搜索密文的wsn数据安全处理方法 |
CN102938767A (zh) * | 2012-11-13 | 2013-02-20 | 西安电子科技大学 | 基于云数据外包系统的高效可验证的模糊关键词搜索方法 |
CN103023637A (zh) * | 2012-12-25 | 2013-04-03 | 电子科技大学 | 一种云存储中可撤销的关键字搜索公钥加密及搜索方法 |
CN104021157A (zh) * | 2014-05-22 | 2014-09-03 | 西安理工大学 | 云存储中基于双线性对的关键词可搜索加密方法 |
Non-Patent Citations (2)
Title |
---|
"A New Trapdoor-indistinguishable Public Key Encryption with Keyword Search";Yuanjie Zhao,Xiaofeng Chen,Hua Ma,Qiang Tang,Hui Zhu;《Journal of Wireless Mobile Networks,Ubiquitous Computing,and Dependable Applications》;20120331;72-81 * |
"云存储中一种模糊关键字搜索加密方案";秦志光,包文意,赵洋,熊虎;《信息网络安全》;20150610;7-12 * |
Also Published As
Publication number | Publication date |
---|---|
CN105007161A (zh) | 2015-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105007161B (zh) | 一种陷门无法识别的模糊关键字公钥搜索加密方法 | |
CN109257342B (zh) | 区块链跨链的认证方法、系统、服务器及可读存储介质 | |
CN104038349B (zh) | 一种基于kp‑abe的有效可验证的公钥可搜索加密方法 | |
CN104021157B (zh) | 云存储中基于双线性对的关键词可搜索加密方法 | |
EP3375129B1 (en) | Method for re-keying an encrypted data file | |
CN106650205B (zh) | 一种高效隐私保护的云医疗数据监护方法 | |
CN105743888A (zh) | 一种基于关键字搜索的代理重加密方案 | |
CN105049196B (zh) | 云存储中指定位置的多个关键词可搜索的加密方法 | |
CN106330865A (zh) | 云环境下支持高效撤销的属性基关键字搜索方法 | |
CN105721158A (zh) | 云安全隐私性和完整性保护方法和系统 | |
CN104852801A (zh) | 一种可搜索的公钥加密方法 | |
CN108092766B (zh) | 一种密文搜索权限验证方法及其系统 | |
CN105024812B (zh) | 云存储中基于身份的指定测试者的可搜索的加密方法 | |
CN106487786B (zh) | 一种基于生物特征的云数据完整性验证方法及系统 | |
CN104022866A (zh) | 云存储中多用户密文关键词可搜索的加密方法 | |
CN108390760B (zh) | 一种云数据传输中端到端的公钥关键字可搜索加密方法 | |
CN104967693A (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
CN103986732A (zh) | 抵御密钥泄露的云存储数据审计方法 | |
CN104993931A (zh) | 一种云存储中多用户的加密搜索方法 | |
CN104468121A (zh) | 基于指定服务器的支持多密钥加密的公钥可搜索加密方法 | |
CN115473703A (zh) | 认证的基于身份的密文等值测试方法、装置、系统及介质 | |
CN107885705A (zh) | 一种高效可扩展的安全的文档相似性计算方法和装置 | |
CN111147508A (zh) | 一种抗关键词猜测攻击的可搜索属性基加密方法 | |
CN116108497B (zh) | 一种基于身份匿名的医疗数据轻量级云存储方法及装置 | |
CN108632257B (zh) | 支持分层搜索的加密健康记录的获取方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181012 Termination date: 20190612 |