CN107256248B - 云存储安全中基于通配符的可搜索加密方法 - Google Patents

云存储安全中基于通配符的可搜索加密方法 Download PDF

Info

Publication number
CN107256248B
CN107256248B CN201710422815.2A CN201710422815A CN107256248B CN 107256248 B CN107256248 B CN 107256248B CN 201710422815 A CN201710422815 A CN 201710422815A CN 107256248 B CN107256248 B CN 107256248B
Authority
CN
China
Prior art keywords
wildcard
user
keyword
protocol
keywords
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.)
Active
Application number
CN201710422815.2A
Other languages
English (en)
Other versions
CN107256248A (zh
Inventor
杨旸
张煜超
刘西蒙
郭文忠
叶少珍
董晨
邹剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN201710422815.2A priority Critical patent/CN107256248B/zh
Publication of CN107256248A publication Critical patent/CN107256248A/zh
Application granted granted Critical
Publication of CN107256248B publication Critical patent/CN107256248B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种云存储安全中基于通配符的可搜索加密方法,包括以下步骤:设置待上传文档;提取关键词集合;将所述关键词集合加密;选择随机数作为文档加密密钥,将文档加密密钥进行加密;加密待上传文档得到密文后发送给云计算平台;输入查询关键词集合,生成查询陷门并进行签名,发送给云计算平台;云计算平台对查询签名进行验证,云计算平台执行搜索算法;将关键词索引和查询陷门传入到关键词匹配协议中,得到加密的匹配结果;进行解密得到搜索结果;云计算平台根据所述搜索结果返回对应的密文;先恢复出文档加密密钥,然后恢复出文档。本发明支持至多两个通配符的关键词搜索,通配符可以出现在关键词的任何位置,且可以表示任意多个字符。

Description

云存储安全中基于通配符的可搜索加密方法
技术领域
本发明涉及一种云存储安全中基于通配符的可搜索加密方法
背景技术
云存储为用户提供无处不在的、动态的、可扩展的和按需存储的服务。云存储在给用户带来更多便利的同时也给用户的数据带来了严重的安全威胁。为了保护公有云服务器中的外包数据的隐私性,数据加密是防止内部/外部攻击者访问敏感信息的有效方法。同时,为了便于数据的使用,我们有必要支持用户在密文上进行关键词查询(无需解密)。这种机制称为可搜索加密。
把电子健康记录(EHR)存储系统作为可搜索加密的应用示例。假设用户Alice想把敏感的EHR数据存储在公共卫生云服务器中,她首先需要提取一组关键词集合来描述EHR,接着使用加密这些关键词来生成索引。接着将关键词加密索引和加密的EHR数据上传到云服务器。在数据检索阶段,用户Bob(如:Alice的医生或家属)生成陷门来进行关键词查询。云服务器使用陷门对加密的EHR数据进行搜索,最终返回匹配的文件给Bob。在搜索过程中,与关键词和EHR有关的明文信息不能泄露给云服务器。
2004年,Boneh等人提出公钥关键词可搜索加密(PEKS)的概念,来实现用户对加密数据进行关键词查询。之后,有人对不同应用场景中支持联结关键词和单关键词的PEKS进行了研究。为了实现多用户之间的查询权限共享,可搜索加密采用了不同的访问控制方法,例如代理重加密和基于属性的加密(ABE)。有人提出模糊关键词可搜索加密方案来实现对拼写错误的校正。然而这些方案只能进行精确关键词搜索或基于编辑距离的相似性搜索。
为了实现灵活的搜索功能,有人提出通配符可搜索加密的概念来支持含有通配符的关键词安全搜索。在查询阶段,用户输入关键词,关键词中包含一个通配符(可能代表一个或多个字符)。例如Alice的医生Bob可能使用关键词“05/**/2016”来搜索2016年5月Alice所有的EHR数据。他也可以使用关键词“ache”来搜索包含“headache”、“stomachache”或者“heartache”的EHR数据。然而,文献中大多数现有的通配符可搜索加密方案都是基于布隆过滤器(BF:Bloom Filter)构建的。布隆过滤器的缺点是:假阳性概率(falsepositive probability)是不可忽略的。这些基于布隆过滤器的通配符可搜索加密方案将会以不可忽略的概率向用户返回错误结果。此外,这些方案都是基于对称密钥机制设计的,因此数据拥有者必须泄露其私钥才能授予其他用户搜索权限,并且该授权是不可撤销的。
Jarecki等人研究了加密数据库的安全搜索,它支持任意的布尔查询。后来Sepehri等人提出了数据库中基于安全多方计算的查询方法和具有安全等式查询功能的代理重加密方案。Sun等人提出了数据库中支持布尔查询的多用户可搜索加密方案。除了面向数据库的可搜索加密方案,学者们也对非结构化加密数据的安全关键词查询进行了研究。
Li等人提出了云计算中加密数据的模糊关键词搜索方案。他们利用编辑距离来衡量关键词的相似度,并设计了两种构造模糊关键词集的方法,并用符号树来加速搜索算法。2013年,Li等人把方案推广到了基于ABE的多用户场景。2014年,Wang等人提出了多关键词模糊可搜索加密方案,方案构造基于布隆过滤器和局部敏感哈希函数。该方案可以校正较小的编辑距离错误,并支持多关键词搜索。随后,Fu等人提出可以校正更多拼写错误的方案。
现有的模糊可搜索加密方案的局限性在于:只能校正较小的编辑距离误差,例如拼写错误。如果查询关键词与精确关键词之间的编辑距离较大,则现有方案无法校正相关的错误。2010年,Sedghi等人在公钥密码架构中提出了带有通配符的可搜索加密方案,它的方案构造基于双线性对。隐藏向量加密(HVE)是Sedghi方案的构造核心,而HVE源于基于身份的加密。Sedghi的方案需要指定通配符的位置,每个通配符只能代表一个字符。在加密、生成陷门和测试算法中,Sedghi的方案需要大量的幂指数运算;其测试算法还需要大量耗时的双线性对运算。
2011年,Bosch等人在对称密码架构中引入了联结通配符可搜索加密方案,方案构造基于伪随机函数和布隆过滤器。与Sedghi的方案相比,Bosch的方案提高了效率。然而,它仅仅枚举了通配符关键词在词典中可以表示的常用关键词。然后,这些扩展的关键词都被插入到布隆过滤器中。由于Bosch的方案无法从有限的词典定义中提取出世界上所有的关键词,所以该方案的实用性非常有限。
2012年,Suga等人提出了基于布隆过滤器的通配符可搜索加密方案,其中每个关键词都配有单独的布隆过滤器。存储开销随着文档中提取的关键词数量的增加而增加。该方案的缺点是:一个通配符只能代表一个字符。例如,如果用户希望搜索所有以“acid”开头的关键词,他需要分别提交通配符关键词“acid**”、“acid***”和“acid********”才能够匹配关键词“acidic”、“acidity”和“acidification”。为了解决这个难题,Hu等人提出了一种改进的方案,其中一个通配符可以代表任意数量的字符。Hu的方案以Suga的方案为基础,并使用不同的方法把关键词插入到布隆过滤器中。
基于布隆过滤器的可搜索加密方案的缺点是:假阳性概率是不可忽略的。布隆过滤器是一种数据结构,可用于检测一个指定元素是否存在于一个集合中。它由一个长度为m位的数组表示,数组中每个元素初始值设置为0。布隆过滤器需要r个独立的哈希函数(ht:{0,1}*→[1,m](1≤t≤r)),每个哈希函数把一个元素映射到m个位置中的其中一个,也就是把集合中S={s1,...sn}的每个元素映射到布隆过滤器BF中。为了验证一个元素a是否属于S,需要检验BF中所有位置ht(a)(1≤t≤r)的值是否被设为1。如果不是,元素a不属于S。否则,元素a可能属于S。因为哈希函数可能把一个或者多个元素映射到BF的同一位置上,因此布隆过滤器存在假阳性概率。假阳性概率fp=[1-(1-1/m)rn]r≈e-m/nln(p)ln(1-p),其中p=(1-1/m)rn≈e-rn/m,它随着n/m的增长而增长。
发明内容
有鉴于此,本发明的目的在于提供一种云存储安全中基于通配符的可搜索加密方法支持至多两个通配符的关键词搜索,且通配符可以出现在关键词的任何位置。
为实现上述目的,本发明采用如下技术方案:
一种云存储安全中基于通配符的可搜索加密方法,其特征在于:包括上传过程和搜索过程;
所述上传过程包括以下步骤:
步骤A1:用户A设置待上传文档M的文档身份ID∈ZN,加密所述文档身份ID为
Figure BDA0001315407620000051
步骤A2:提取关键词集合
Figure BDA0001315407620000052
来描述所述待上传文档M;
步骤A3:使用K2C算法将所述关键词集合
Figure BDA0001315407620000053
加密成
Figure BDA0001315407620000054
步骤A4:选择随机数K∈ZN作为文档加密密钥,将所述文档加密密钥进行加密得到
Figure BDA0001315407620000055
步骤A5:加密所述待上传文档M得到密文C=SEnc(M,K'),其中,
Figure BDA0001315407620000056
步骤A6:将加密索引
Figure BDA0001315407620000057
和密文C发送给云计算平台;
所述搜索过程包括以下步骤:
步骤B1:用户B输入查询关键词集合
Figure BDA0001315407620000058
并将其加密成
Figure BDA0001315407620000059
步骤B2:将所述
Figure BDA0001315407620000061
用户B的匿名身份AIDB,签名
Figure BDA0001315407620000062
和查询关系作为查询陷门发送给云计算平台;
步骤B3:所述云计算平台接收到查询陷门后,首先核实用户B是否有权访问数据,若有权限,则云计算平台使用公钥pkB验证
Figure BDA0001315407620000063
的签名
Figure BDA0001315407620000064
若签名被验证是假的,则拒绝该查询请求,否则,云计算平台执行搜索算法;
步骤B4:云计算平台以W中的
Figure BDA0001315407620000065
Figure BDA0001315407620000066
中的Qj为输入,将其传入到关键词匹配协议中,云计算平台和计算服务提供商交互运算得到加密的匹配结果
Figure BDA0001315407620000067
如果果kwi与qwj匹配,则ui,j=1;否则ui,j=0;
步骤B5:用户B收到匹配结果后,解密
Figure BDA0001315407620000068
得到搜索结果u*
步骤B6:云计算平台根据所述搜索结果u*返回对应的密文C;
步骤B7:用户B先恢复出文档加密密钥K,然后计算
Figure BDA0001315407620000069
并利用K'恢复出文档。
本发明与现有技术相比具有以下有益效果:首先,本发明支持多关键词搜索,任何查询关键词可以包含零个、一个或者两个通配符,其中通配符可以出现在关键词的任何位置并且代表任何数量的符号;其次,本发明支持使用一个陷门来同时搜索多个数据拥有者的数据;第三,本发明提供灵活的用户授权和撤销来有效地管理搜索和解密权限;第四,本发明是基于同态加密而不是基于布隆过滤器构建的,因此完全消除了由布隆过滤器引起的错误概率;最后,返回的匹配结果对云服务器完全保密,实现了更好的隐私保护。
附图说明
图1是本发明一实施例的系统结构框图。
图2是本发明的云服务结构。
图3是本发明K2C算法的示例图。
图4是本发明SCP协议的示例图。
图5是本发明FW协议的示例图。
图6是本发明MW协议的示例图。
图7是本发明BW协议的示例图。
图8是本发明FMW协议的示例图。
图9是本发明FBW协议的示例图。
图10是本发明MMW协议的示例图。
图11是本发明MBW协议的示例图。
图12是本发明八个协议的参数对比图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
如图1所示为本发明一实施例的系统结构框图,其中:
密钥生成中心(KGC)是完全可信的,负责管理和分发系统中生成的公钥/私钥。KGC包括注册单元、密钥生成单元、证书单元和存储单元。注册单元为系统用户提供注册服务。密钥生成单元为系统和用户生成公钥/密钥。证书单元负责提供证书生成和吊销服务。存储单元负责存储证书和撤销列表。
云计算平台(CP)存储用户的加密文档并负责执行数据检索操作。CP包括存储单元、计算单元和元数据单元。存储单元提供存储服务,其中包括存储加密文档和安全关键词索引。计算单元提供计算服务,其中包括安全搜索操作。元数据单元提供元数据服务,其中元数据包括数据拥有者的信息、授权证书、文档位置以及文档上传和访问日期。元数据服务器还为系统用户提供通知服务,这项服务专门用于监测数据拥有者账户是否进行了更改。这些信息存储在数据库中,目的在于为用户提供更好的服务。
计算服务提供商(CSP)拥有丰富的计算资源,包括计算单元和元数据单元。CSP的计算单元与CP中的计算单元相互作用来执行安全计算。元数据单元负责存储CSP的授权证书,并通过查询授权证书来进行授权计算。假设CP和CSP不共谋。
数据拥有者加密关键词和文档,并将其发送到CP进行存储。用户生成关键词陷门,CP利用陷门来搜索加密数据。
安全套接层(SSL)或者传输层安全(TLS)协议用于保护CP和CSP、数据拥有者和CP、用户和CP以及KGC和其他实体之间的所有通信。SSL/TLS协议的主要目的在于提供两个通信实体之间的隐私保护和并保证数据完整性。
请结合图2,云计算为用户提供各种服务。最著名的服务包括基础架构即服务(IaaS),平台即服务(PaaS)和软件即服务(SooS)。信息服务、计算服务和存储服务属于PaaS。为了向云服务器提供安全保护,安全服务是云计算中的一项重要服务。安全搜索是云服务器中的安全服务之一,被称为安全搜索即服务(secure search as a service),它为信息服务、计算服务和存储服务提供了安全性。本发明属于云计算中安全搜索即服务的范畴。
该系统包括以下基础部件:具有门限解密功能的Paillier密码系统、关键词表示和加密、安全大于或等于协议和加密关键词等价测试协议,具体如下:
具有门限解密功能的Paillier密码系统(PCTD:Paillier Cryptosystem withThreshold Decryption)实现了同态性加密,可以在云平台中提供外包数据的隐私性性。利用同态性质,我们无需对密文进行解密,就可以直接进行各种计算,从而就能实现安全的外包计算。此外,它的计算开销低于全同态加密系统所需的计算开销。令
Figure BDA0001315407620000091
表示X的比特长度。
密钥生成:κ是安全参数,p和q是两个大素数,
Figure BDA0001315407620000092
计算N=pq,λ=lcm(p-1,q-1)/2(lcm表示两个数的最小公倍数)。定义函数
Figure BDA0001315407620000093
选择生成元g并且g的阶为ord(g)=(p-1)(q-1)/2。系统公共参数PP=(g,N),主私钥SK=λ。系统为每位用户i分配私钥ski∈ZN和公钥
Figure BDA0001315407620000094
加密:对于输入的明文m∈ZN,用户随机选择r∈[1,N/4],使用其公钥pki将明文m加密成密文
Figure BDA0001315407620000095
其中
Figure BDA0001315407620000096
C2=grmodN2
利用用户私钥ski解密:对于输入的密文
Figure BDA0001315407620000097
和私钥ski,我们通过计算能够得到明文
Figure BDA0001315407620000098
用主私钥SK进行解密:利用系统的主私钥SK=λ,通过
Figure BDA0001315407620000101
计算就能对所有使用公钥加密生成的密文
Figure BDA0001315407620000102
进行解密。若gcd(λ,N)=1(gcd表示两个数的最大公约数)成立,则有
Figure BDA0001315407620000103
主私钥分裂:主私钥SK=λ可以随机分裂成两个部分SK1=λ1和SK2=λ2,使得λ12=0modλ,λ12=1modN2
用SK1进行部分解密(PD1):对于输入的密文
Figure BDA0001315407620000104
可以利用SK1=λ1来计算
Figure BDA0001315407620000105
用SK2进行部分解密(PD2):对于输入的密文
Figure BDA0001315407620000106
Figure BDA0001315407620000107
可以利用SK2=λ2来计算
Figure BDA0001315407620000108
通过计算可以恢复出明文
Figure BDA0001315407620000109
密文更新(CR):CR算法用于更新密文,将密文
Figure BDA00013154076200001010
转化成新的密文
Figure BDA00013154076200001011
且m=m'。随机选择r'∈ZN,计算
Figure BDA00013154076200001012
C2'=C2·gr'modN2
PCTD具有同态性:对于随机的r∈ZN
Figure BDA00013154076200001013
Figure BDA00013154076200001014
具有门限解密功能的Paillier密码系统使用到了下述协议,这些协议都需要CP和CSP交互运算执行。pkA和pkB是用户A和B的公钥。pkΣ是为用户A和B定义的联合公钥。
SAD跨域安全加法协议:对于给定的
Figure BDA00013154076200001015
Figure BDA00013154076200001016
计算得到
Figure BDA00013154076200001017
SMD跨域安全乘法协议:对于给定的
Figure BDA0001315407620000111
Figure BDA0001315407620000112
计算得到
Figure BDA0001315407620000113
SLT跨域安全小于比较协议:对于给定的
Figure BDA0001315407620000114
Figure BDA0001315407620000115
计算
Figure BDA0001315407620000116
如果X<Y,则u=1。如果X≥Y,则u=0。
关键词表示和加密:请参照图3,为了把一个关键词编码成集合ZN中的一个元素,首先把关键词中的每个字母转换成其ASCII码形式,接着把十六进制的ASCII码转化成十进制。根据每个字母在关键词中的位置,每个元素乘以一定的权重,使用PCTD算法对这些十进制数进行相加和加密。该算法称为K2C关键词转化密文算法。
SGE安全大于或等于协议:给定两个密文
Figure BDA0001315407620000117
Figure BDA0001315407620000118
(X,Y≥0,
Figure BDA0001315407620000119
SGE协议输出
Figure BDA00013154076200001110
来表示X和Y之间的关系:如果u*=1,表示X≥Y;如果u*=0,表示X<Y。SGE协议的描述如下。
(1)CP计算
Figure BDA00013154076200001111
Figure BDA00013154076200001112
CP随机选取r,使其满足
Figure BDA00013154076200001113
接着CP随机掷硬币s∈{0,1}。CP和CSP执行以下操作:
如果s=1,计算
Figure BDA00013154076200001114
如果s=0,计算
Figure BDA00013154076200001115
然后CP计算
Figure BDA00013154076200001116
并把(l,l')发送给CSP。
(2)CSP解密
Figure BDA00013154076200001117
如果L(l″)>L(N)/2,CSP令u'=0,否则u'=1。接着CSP利用pkΣ来加密u',并把
Figure BDA00013154076200001118
发送给CP。
(3)CP接收到
Figure BDA0001315407620000121
后,如果s=1,CP令
Figure BDA0001315407620000122
否则,CP令
Figure BDA0001315407620000123
KET加密关键词等价测试协议:
给定的两个加密关键词
Figure BDA0001315407620000124
Figure BDA0001315407620000125
(X,Y≥0,
Figure BDA0001315407620000126
),该协议输出加密结果
Figure BDA0001315407620000127
来判断两个关键词是否相等。CP和CSP计算
Figure BDA0001315407620000128
Figure BDA0001315407620000129
Figure BDA00013154076200001210
如果u*=1,表示两个关键词相同。如果u*=0,表示两个关键词不相同。
本发明提供一种云存储安全中基于通配符的可搜索加密方法,包括上传过程和搜索过程;
所述上传过程包括以下步骤:
步骤A1:用户A设置待上传文档M的文档身份ID∈ZN,加密所述文档身份ID为
Figure BDA00013154076200001211
步骤A2:提取关键词集合
Figure BDA00013154076200001212
来描述所述待上传文档M;
步骤A3:使用K2C算法将所述关键词集合
Figure BDA00013154076200001213
加密成
Figure BDA00013154076200001214
步骤A4:选择随机数K∈ZN作为文档加密密钥,将所述文档加密密钥进行加密得到
Figure BDA00013154076200001215
步骤A5:加密所述待上传文档M得到密文C=SEnc(M,K'),其中,
Figure BDA0001315407620000131
步骤A6:将加密索引
Figure BDA0001315407620000132
和密文C发送给云计算平台;
所述搜索过程包括以下步骤:
步骤B1:用户B输入查询关键词集合
Figure BDA0001315407620000133
查询关键词可能包含零个,一个或者两个通配符。如果通配符出现在关键词的头部或者中部,B指定一个正整数来表示该通配符能代表的最大字符数。B根据关键词的类型把查询关键词qwi(1≤i≤n2)加密成Qi,令
Figure BDA0001315407620000134
用户B指定查询(即AND或OR)关系来进行联结(conjunctive)或分离(disjunctive)关键词查询。
步骤B2:将所述
Figure BDA0001315407620000135
用户B的匿名身份AIDB,签名
Figure BDA0001315407620000136
和查询关系作为查询陷门发送给云计算平台;
步骤B3:所述云计算平台接收到查询陷门
Figure BDA0001315407620000137
和查询关系(AND或OR)后,首先核实用户B是否有权访问数据,若有权限,则云计算平台使用公钥pkB验证
Figure BDA0001315407620000138
的签名
Figure BDA0001315407620000139
若签名被验证是假的,则拒绝该查询请求,否则,云计算平台执行搜索算法;
步骤B4:根据Qj中的参数,云计算平台以W中的
Figure BDA00013154076200001310
Figure BDA00013154076200001311
中的Qj为输入,将其传入到关键词匹配协议中,所述关键词匹配协议包括KET,FW,MW,BW,FMW,FBW,MMW和MBW,云计算平台可根据图12选择相应的协议,云计算平台和计算服务提供商交互运算得到加密的匹配结果
Figure BDA0001315407620000141
如果果kwi与qwj匹配,则ui,j=1;否则ui,j=0;
如果用户想要进行OR查询,CP首先初始化
Figure BDA0001315407620000142
计算
Figure BDA0001315407620000143
如果u*>0,表示陷门与文档中的关键词匹配;否则u*=0。
如果用户想要进行AND查询,CP首先初始化
Figure BDA0001315407620000144
CP和CSP交互运算得到
Figure BDA0001315407620000145
如果u*=1,表示陷门与文档中的关键词匹配;否则u*=0。最后,CP把
Figure BDA0001315407620000146
发送给用户。
步骤B5:用户B收到匹配结果后,解密
Figure BDA0001315407620000147
得到搜索结果u*;如果B进行OR查询,B会对u*进行排列并要求CP返回前k篇u*值(相关度分数)较高的文档。如果B进行AND查询,B会要求CP返回所有或者部分u*=1的文档,B会把
Figure BDA0001315407620000148
发送给CP来进行文档查询;
步骤B6:云计算平台根据所述搜索结果u*返回对应的密文C;
步骤B7:用户B先恢复出文档加密密钥K,然后计算
Figure BDA0001315407620000149
并利用K'恢复出文档。
于本实施例,所述关键词匹配协议包括KET,FW,MW,BW,FMW,FBW,MMW和MBW,其中:
FW,MW,BW属于单通配符搜索,单通配符搜索是指搜索的关键词中只含有一个通配符,并且该通配符可以表示任意数量的字符。由于单通配符可能出现在字符串的头部、中部或尾部,我们设计了三个协议来处理这些情况。CP和CSP负责执行这些协议,并且它们都不知道匹配结果的明文信息。
假设数据拥有者A的文档包含关键词X,A使用公钥pkA将其加密成
Figure BDA0001315407620000151
用户B生成具有通配符的关键词来进行查询。以下协议将测试提交的查询是否与
Figure BDA0001315407620000152
匹配。我们用*表示通配符。当通配符出现在关键词的头部或者中部时,用户B指定正整数v1来表示通配符可以代表的最大字符数。当通配符出现在关键词的尾部时,通配符可以表示任意数量的字符。
FMW,FBW,MMW,MBW属于双通配符搜索,双通配符搜索是指搜索的关键词中只含有两个通配符,并且每个通配符都可以表示任意数量的字符。由于通配符可能出现在字符串的头部、中部或尾部,我们设计了四个协议来处理不同的情况。CP和CSP负责执行这些协议,并且它们都不知道匹配结果的明文信息。当通配符出现在关键词的头部或中部时,用户B用一个正整数来表示该通配符可以替代的最大字符数。令v1,v2分别表示两个通配符所能替代的最大字符数。当通配符出现在关键词的尾部时,可以代表任意数量的字符。
通配符搜索中重要的工具包括:安全多比特提取协议和安全密文划分协议,
MBE安全多比特提取协议:
给定密文[X]和正整数
Figure BDA0001315407620000153
该协议的输出是[x],其中,x是X的比特表示的最低
Figure BDA0001315407620000154
比特有效位。MBE协议执行如下。
(1)CP随机选取r∈ZN,计算Y=[X]·[r]和
Figure BDA0001315407620000161
并把(Y,Y')发送给CSP。
(2)CSP计算
Figure BDA0001315407620000162
Figure BDA00013154076200001619
并把[y1]发送给CP。
(3)CP计算
Figure BDA0001315407620000163
和[x']=[y1]·[r1]N-1
(4)CP和CSP计算
Figure BDA0001315407620000164
(5)然后,CP计算
Figure BDA0001315407620000165
MBE协议的工作原理解释说明如下。
(1)为了保护X的隐私,CP首先选择随机数r∈ZN,然后通过计算Y=[X]·[r]=[X+r]来隐藏X的明文信息。
(2)CSP解密后得到y=X+rmodN。由于X,r∈ZN且r是随机数,因此CSP不能从y推导出X的信息。接着CSP计算
Figure BDA0001315407620000166
来得到y的最低
Figure BDA0001315407620000167
比特。加
Figure BDA0001315407620000168
的目的是处理
Figure BDA0001315407620000169
的进位。
(3)r1是r的最低
Figure BDA00013154076200001610
比特位。CP计算
Figure BDA00013154076200001611
(4)如果
Figure BDA00013154076200001612
如果
Figure BDA00013154076200001614
Figure BDA00013154076200001615
Figure BDA00013154076200001616
(5)如果
Figure BDA00013154076200001617
说明
Figure BDA00013154076200001618
则有
Figure BDA0001315407620000171
如果
Figure BDA0001315407620000172
说明
Figure BDA0001315407620000173
则有
Figure BDA0001315407620000174
SCP安全密文划分协议:
给定密文[X]和正整数
Figure BDA0001315407620000175
SCP协议输出[X1]和[X2],使得X1是X的最低
Figure BDA0001315407620000176
比特有效位,并且
Figure BDA0001315407620000177
SCP协议执行如下。
(1)CP和CSP计算
Figure BDA0001315407620000178
(2)CP计算Z=[X]·[X1]N-1和[X2]=ZamodN,其中
Figure BDA0001315407620000179
SCP协议的示例如图4所示。如果[X]是关键词“privacy”的密文且
Figure BDA00013154076200001710
SCP协议输出[X1]和[X2],使得[X1]是“pri”的加密形式,[X2]是“vacy”的加密形式。SCP协议把加密的关键词安全地划分成两个加密的字符串。
八个关键词匹配协议的具体内容如下:
KET为加密关键词等价测试协议,给定的两个加密关键词
Figure BDA00013154076200001711
Figure BDA00013154076200001712
该协议输出加密结果
Figure BDA00013154076200001713
来判断两个关键词是否相等,CP和CSP计算如下:
Figure BDA00013154076200001714
Figure BDA00013154076200001715
Figure BDA0001315407620000181
如果u*=1,表示两个关键词相同;如果u*=0,表示两个关键词不相同;
FW为安全头部通配符匹配协议,用户B首先生成一个“*+Y1”形式的通配符型关键词,其中Y1是字符串;用户B利用K2C算法将Y1加密成
Figure BDA0001315407620000182
输入
Figure BDA0001315407620000183
和v1,FW协议输出
Figure BDA0001315407620000184
如果通配符关键词“*+Y1”与X匹配,则u=1;否则,u=0;
Figure BDA0001315407620000185
首先,初始化
Figure BDA0001315407620000186
协议包括v1+1轮。在第i轮,
Figure BDA0001315407620000187
被划分成两个部分
Figure BDA0001315407620000188
Figure BDA0001315407620000189
的明文包含i个字符。X1是通配符代表的字符串。如果X2=Y1,有ui=1;否则ui=0。然后,计算
Figure BDA00013154076200001810
在v1+1轮后,如果u>0,协议输出
Figure BDA00013154076200001811
否则
Figure BDA00013154076200001812
FW的示例如图5所示。
MW为安全中部通配符匹配协议,用户B首先生成一个“Y1+*+Y2”形式的通配符型关键词,其中Y1,Y2是字符串,Y1中包含η1个符号,用户B利用K2C算法把Y1,Y2加密成
Figure BDA0001315407620000191
输入
Figure BDA0001315407620000192
v1和η1,MW协议输出密文
Figure BDA0001315407620000193
如果通配符关键词“Y1+*+Y2”与X匹配,则有u=1;否则,u=0;
Figure BDA0001315407620000194
首先,初始化
Figure BDA0001315407620000195
然后,
Figure BDA0001315407620000196
被划分成两个部分
Figure BDA0001315407620000197
Figure BDA0001315407620000198
的明文包含η1个符号。如果X1=Y1,则有u1=1;否则,u1=0。通过FW协议检测“*+Y2”是否与X2匹配。如果匹配,则有u2=1;否则,u2=0。然后,计算
Figure BDA0001315407620000199
如果u1=1,u2=1,则有u=1,否则u=0。MW的示例如图6所示。
BW为安全尾部通配符匹配协议,用户B生成一个“Y1+*”形式的通配符关键词,其中,Y1是字符串并包含η1个符号;然后,用户B利用K2C算法将Y1加密成
Figure BDA00013154076200001910
输入
Figure BDA00013154076200001911
和η1,BW协议输出密文
Figure BDA0001315407620000201
如果通配符关键词“Y1+*”与X匹配,则有u=1;否则,u=0;
Figure BDA0001315407620000202
首先,
Figure BDA0001315407620000203
被划分成两个部分
Figure BDA0001315407620000204
Figure BDA0001315407620000205
其中
Figure BDA0001315407620000206
的明文包含η1个字符,X2是通配符代表的字符串。如果X1=Y1,则有u=1;否则,u=0。BW的示例如图7所示。
FMW为安全头部和中部通配符匹配协议,用户B生成一个“*+Y1+*+Y2”形式的通配符关键词,其中Y1,Y2是字符串,Y1包含η1个符号,用户B利用K2C算法将Y1,Y2加密成
Figure BDA0001315407620000207
输入
Figure BDA0001315407620000208
Figure BDA0001315407620000209
v1、v2和η1,FMW协议输出密文
Figure BDA00013154076200002010
如果通配符关键词“*+Y1+*+Y2”与X匹配,则有u=1;否则,u=0;
Figure BDA00013154076200002011
Figure BDA0001315407620000211
首先初始化
Figure BDA0001315407620000212
FMW协议使用两层循环来进行关键词测试:外层循环遍历第一个通配符所能代表的不同字符(或字符串);内层循环遍历第二个通配符所能代表的不同字符(或字符串)。
Figure BDA0001315407620000213
被划分成两个部分
Figure BDA0001315407620000214
Figure BDA0001315407620000215
其中X1包含i个符号(0≤i≤v1),并且X1是第一个通配符代表的字符串。然后,
Figure BDA0001315407620000216
被划分成两个部分
Figure BDA0001315407620000217
Figure BDA0001315407620000218
其中X3包含η1个符号。如果X3=Y1,则有si=1;否则,si=0。接着,
Figure BDA0001315407620000219
被划分成两个部分
Figure BDA00013154076200002110
Figure BDA00013154076200002111
其中X5包含j个符号(0≤j≤v2),并且X5是第二个通配符代表的字符串。如果X6=Y2,则有tj=1;否则,tj=0。计算
Figure BDA00013154076200002112
如果si=1,tj=1,则有ui,j=1;否则,ui,j=0。然后,将ui,j与u相加。最后,如果u>0,协议输出
Figure BDA00013154076200002113
否则,
Figure BDA00013154076200002114
FMW的示例如图8所示。
FBW为安全头部和尾部通配符匹配协议,用户B生成一个“*+Y1+*”形式的通配符关键词,其中Y1是字符串并且包含η1个符号;用户B利用K2C算法将Y1加密成
Figure BDA00013154076200002115
输入
Figure BDA00013154076200002116
v1和η1,FBW协议输出密文
Figure BDA0001315407620000221
如果通配符关键词“*+Y1+*”与X匹配,则有u=1;否则,u=0;
Figure BDA0001315407620000222
首先初始化
Figure BDA0001315407620000223
FBW协议使用遍历算法来测试关键词,它遍历了第一个通配符所能代表的不同字符(或字符串)。
Figure BDA0001315407620000224
分成两个部分
Figure BDA0001315407620000225
Figure BDA0001315407620000226
其中X1包含i个符号(0≤i≤v1),X1是第一个通配符代表的字符串。然后,
Figure BDA0001315407620000227
分成两个部分
Figure BDA0001315407620000228
Figure BDA0001315407620000229
其中X3包含η1个符号。如果X3=Y1,则有si=1;否则,si=0。然后,将si与u相加。如果u>0,则协议最终输出
Figure BDA00013154076200002210
否则,输出
Figure BDA00013154076200002211
FBW的示例如图9所示。
MMW为安全中部和中部通配符匹配协议,用户B生成一个“Y1+*+Y2+*+Y3”形式的通配符关键词,其中Y1,Y2,Y3是字符串,并且Y1,Y2分别包含η1,η2个符号,用户B利用K2C算法将Y1,Y2加密成
Figure BDA0001315407620000231
输入
Figure BDA0001315407620000232
v1、v2、η1和η2,MMW协议输出密文
Figure BDA0001315407620000233
如果通配符关键词“Y1+*+Y2+*+Y3”与X匹配,则有u=1;否则,u=0;
Figure BDA0001315407620000234
首先,初始化
Figure BDA0001315407620000235
MMW协议使用两层循环来进行关键词测试:外层循环遍历第一个通配符所能代表的不同字符(或字符串);内层循环遍历第二个通配符所能代表的不同字符(或字符串)。
Figure BDA0001315407620000241
被划分成两个部分
Figure BDA0001315407620000242
Figure BDA0001315407620000243
其中X1包含η1个符号。如果X1=Y1,有u1=1,否则u1=0。
Figure BDA0001315407620000244
被划分成两个部分
Figure BDA0001315407620000245
Figure BDA0001315407620000246
其中X3包含i个符号(0≤i≤v1),X3是第一个通配符代表的字符串。然后,
Figure BDA0001315407620000247
被划分成两个部分
Figure BDA0001315407620000248
Figure BDA0001315407620000249
其中X5包含η2个符号。如果X5=Y2,则有si=1;否则,si=0。
Figure BDA00013154076200002410
被划分成两个部分
Figure BDA00013154076200002411
Figure BDA00013154076200002412
其中X7包含j个符号(0≤j≤v2),X7是第二个通配符代表的字符串。如果X8=Y3,则有tj=1;否则,tj=0。计算
Figure BDA00013154076200002413
如果si=1,tj=1,则有ui,j=1;否则,ui,j=0。计算
Figure BDA00013154076200002414
如果ui,j=1,tj=1,则
Figure BDA00013154076200002415
否则,
Figure BDA00013154076200002416
然后,将
Figure BDA00013154076200002417
Figure BDA00013154076200002418
相加。如果u>0,协议最终输出
Figure BDA00013154076200002419
否则,输出
Figure BDA00013154076200002420
MMW的示例如图10所示。
MBW为安全中部和尾部通配符匹配协议,用户B生成一个“Y1+*+Y2+*”形式的通配符关键词,其中Y1,Y2是字符串,Y1,Y2分别包含η1,η2个符号;B利用K2C算法将Y1,Y2加密成
Figure BDA00013154076200002421
输入
Figure BDA00013154076200002422
v1,η1和η2,MBW协议输出密文
Figure BDA00013154076200002423
如果通配符关键词“Y1+*+Y2+*”与X匹配,则有u=1;否则,u=0。
Figure BDA00013154076200002424
Figure BDA0001315407620000251
首先初始化
Figure BDA0001315407620000252
MBW协议使用循环遍历的方式来进行关键词测试:循环遍历第一个通配符所能代表的不同字符(或字符串)。
Figure BDA0001315407620000253
被划分成两个部分
Figure BDA0001315407620000254
Figure BDA0001315407620000255
其中X1包含η1个符号。如果X1=Y1,则有u1=1;否则u1=0。
Figure BDA0001315407620000256
被划分成两个部分
Figure BDA0001315407620000257
Figure BDA0001315407620000258
其中X3包含i个符号(0≤i≤v1),X3是第一个通配符代表的字符串。
Figure BDA0001315407620000259
被划分成两个部分
Figure BDA00013154076200002510
Figure BDA00013154076200002511
其中X5包含η2个符号。如果X5=Y2,则有si=1;否则,si=0。计算
Figure BDA00013154076200002512
如果si=1,u1=1,输出
Figure BDA00013154076200002513
否则
Figure BDA00013154076200002514
然后,计算
Figure BDA00013154076200002515
如果u>0,协议最终输出
Figure BDA00013154076200002516
否则,
Figure BDA00013154076200002517
MBW的示例如图11所示。
本发明还涉及密钥生成算法和用户撤销和授权算法。
密钥生成算法:
SEnc/SDec是密码上安全的对称加密/解密算法对(对称密钥空间为
Figure BDA0001315407620000261
),Sig/Verify是一种密码上安全的签名/验证算法对。定义哈希函数H1:{0,1}*→ZN
Figure BDA0001315407620000262
通过运行PCTD的KeyGen算法,KGC生成系统公共参数PP=(g,N)、主私钥MSK=λ和用户Ai的公钥/私钥对
Figure BDA0001315407620000263
Figure BDA0001315407620000264
KGC计算主公钥MPK=gλ。KGC秘密保管MSK,公开MPK。接着KGC执行PCTD的主密钥分裂算法来生成部分主密钥SK1=λ1和SK2=λ2,并分别把它们秘密发送给CP和CSP,把
Figure BDA0001315407620000265
秘密发送给用户Ai并公开
Figure BDA0001315407620000266
为了保证用户Ai身份的隐私性,KGC为用户生成匿名身份
Figure BDA0001315407620000267
其中
Figure BDA0001315407620000268
是正整数并且
Figure BDA0001315407620000269
的值大于系统中的总用户数量。
用户撤销和授权算法:
如果用户A想要把搜索和加密权限授予用户B,A会设置授权有效期VP来表示授权的开始和结束时间(例如VP=“20170101-20180101”)。A为B生成带有证书号CN的授权证书。为了保证CN的唯一性,CN号是由AIDA开头,从而表明该该证书是由用户A生成的。生成的授权证书CERA,B为:
<cer=(CN,AIDB,VP,pkΣ),Sig(cer,skA)>,
其中
Figure BDA00013154076200002610
skΣ=H1(CN,skA)。为了简便表述,我们将ZN的元素作为Sig算法的私钥。在实际使用中,可以使用哈希函数从ZN的元素中计算出签名密钥。产生的授权私钥skΣ被秘密发送给B。授权证书CERA,B被发送给KGC、CP、CSP和B。当VP过期时,授权将自动失效。
如果A想要在VP时间段内撤销B的授权,需要生成撤销证书RVKA,B:<rvk=(revoke,CN),Sig(rvk,skA)>。接着,RVKA,B被发送给KGC、CP、CSP和B。
如果B想要同时对数据拥有者(A1,...,Am)的文档进行查询,他必须向每一位数据拥有者(A1,...,Am)申请授权证书
Figure BDA0001315407620000271
然后向KGC申请授权证书。在验证证书的有效性后,KGC计算有效期VPΣ=VP1∩...∩VPm,并生成证书CERΣ,B:<cer=(CN,AIDB,VPΣ,pkΣ),Sig(cer,MSK)>,其中
Figure BDA0001315407620000272
skΣ=H1(CN,MSK)。证书的CN号应该由KGC的身份
Figure BDA0001315407620000273
(IDKGC可能设置为
Figure BDA0001315407620000274
个0)开头,表明该证书是由KGC生成。skΣ被秘密发送给用户B,pkΣ对CP、CSP和B公开。
如果要在有效期VPΣ内撤销
Figure BDA0001315407620000275
KGC生成撤销证书RVKΣ,B:<rvk=(revoke,CN),Sig(rvk,MSK)>。然后,KGC把RVKΣ,B发送给CP、CSP和B。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (3)

1.一种云存储安全中基于通配符的可搜索加密方法,其特征在于:包括上传过程和搜索过程;
所述上传过程包括以下步骤:
步骤A1:用户A设置待上传文档M的文档身份ID∈ZN,加密所述文档身份ID为
Figure FDA0002358283820000011
步骤A2:提取关键词集合
Figure FDA0002358283820000012
来描述所述待上传文档M;
步骤A3:使用K2C算法将所述关键词集合
Figure FDA0002358283820000013
加密成
Figure FDA0002358283820000014
步骤A4:选择随机数K∈ZN作为文档加密密钥,将所述文档加密密钥进行加密得到
Figure FDA0002358283820000015
步骤A5:加密所述待上传文档M得到密文C=SEnc(M,K'),其中,K'=H2(K)∈K;
步骤A6:将加密索引
Figure FDA0002358283820000016
和密文C发送给云计算平台;
所述搜索过程包括以下步骤:
步骤B1:用户B输入查询关键词集合
Figure FDA0002358283820000017
并将其加密成
Figure FDA0002358283820000018
步骤B2:将所述
Figure FDA0002358283820000019
用户B的匿名身份AIDB,签名Sig(Q,skB)和查询关系作为查询陷门发送给云计算平台;
步骤B3:所述云计算平台接收到查询陷门后,首先核实用户B是否有权访问数据,若有权限,则云计算平台使用公钥pkB验证Q的签名Sig(Q,skB),若签名被验证是假的,则拒绝该查询请求,否则,云计算平台执行搜索算法;
步骤B4:云计算平台以W中的
Figure FDA0002358283820000021
和Q中的Qj为输入,将其传入到关键词匹配协议中,云计算平台和计算服务提供商交互运算得到加密的匹配结果
Figure FDA0002358283820000022
如果kwi与qwj匹配,则ui,j=1;否则ui,j=0;所述关键词匹配协议包括KET,FW,MW,BW,FMW,FBW,MMW和MBW;
步骤B5:用户B收到匹配结果后,解密
Figure FDA0002358283820000023
得到搜索结果u*
步骤B6:云计算平台根据所述搜索结果u*返回对应的密文C;
步骤B7:用户B先恢复出文档加密密钥K,然后计算K'=H2(Ki)∈K,并利用K'恢复出文档;
其中,哈希函数H2:ZN→K,K为对称密钥空间;
其中,pkA是用户A的公钥;pk是用户A和B定义的联合公钥。
2.根据权利要求1所述的云存储安全中基于通配符的可搜索加密方法,其特征在于:所述关键词匹配协议KET,FW,MW,BW,FMW,FBW,MMW和MBW的具体内容如下:
KET为加密关键词等价测试协议,给定的两个加密关键词
Figure FDA0002358283820000024
Figure FDA0002358283820000025
该协议输出加密结果
Figure FDA0002358283820000026
来判断两个关键词是否相等,CP和CSP计算如下:
Figure FDA0002358283820000027
Figure FDA0002358283820000028
Figure FDA0002358283820000031
如果u*=1,表示两个关键词相同;如果u*=0,表示两个关键词不相同;
FW为安全头部通配符匹配协议,用户B首先生成一个“*+Y1”形式的通配符型关键词,其中Y1是字符串;用户B利用K2C算法将Y1加密成
Figure FDA0002358283820000032
输入
Figure FDA0002358283820000033
和v1,FW协议输出
Figure FDA0002358283820000034
如果通配符关键词“*+Y1”与X匹配,则u=1;否则,u=0;
MW为安全中部通配符匹配协议,用户B首先生成一个“Y1+*+Y2”形式的通配符型关键词,其中Y1,Y2是字符串,Y1中包含η1个符号,用户B利用K2C算法把Y1,Y2加密成
Figure FDA0002358283820000035
输入
Figure FDA0002358283820000036
v1和η1,MW协议输出密文
Figure FDA0002358283820000037
如果通配符关键词“Y1+*+Y2”与X匹配,则有u=1;否则,u=0;
BW为安全尾部通配符匹配协议,用户B生成一个“Y1+*”形式的通配符关键词,其中,Y1是字符串并包含η1个符号;然后,用户B利用K2C算法将Y1加密成
Figure FDA0002358283820000038
输入
Figure FDA0002358283820000039
和η1,BW协议输出密文
Figure FDA00023582838200000310
如果通配符关键词“Y1+*”与X匹配,则有u=1;否则,u=0;
FMW为安全头部和中部通配符匹配协议,用户B生成一个“*+Y1+*+Y2”形式的通配符关键词,其中Y1,Y2是字符串,Y1包含η1个符号,用户B利用K2C算法将Y1,Y2加密成
Figure FDA00023582838200000311
输入
Figure FDA00023582838200000312
Figure FDA00023582838200000313
v1、v2和η1,FMW协议输出密文
Figure FDA00023582838200000314
如果通配符关键词“*+Y1+*+Y2”与X匹配,则有u=1;否则,u=0;
FBW为安全头部和尾部通配符匹配协议,用户B生成一个“*+Y1+*”形式的通配符关键词,其中Y1是字符串并且包含η1个符号;用户B利用K2C算法将Y1加密成
Figure FDA0002358283820000041
输入
Figure FDA0002358283820000042
v1和η1,FBW协议输出密文
Figure FDA0002358283820000043
如果通配符关键词“*+Y1+*”与X匹配,则有u=1;否则,u=0;
MMW为安全中部和中部通配符匹配协议,用户B生成一个“Y1+*+Y2+*+Y3”形式的通配符关键词,其中Y1,Y2,Y3是字符串,并且Y1,Y2分别包含η1,η2个符号,用户B利用K2C算法将Y1,Y2加密成
Figure FDA0002358283820000044
输入
Figure FDA0002358283820000045
v1、v2、η1和η2,MMW协议输出密文
Figure FDA0002358283820000046
如果通配符关键词“Y1+*+Y2+*+Y3”与X匹配,则有u=1;否则,u=0;
MBW为安全中部和尾部通配符匹配协议,用户B生成一个“Y1+*+Y2+*”形式的通配符关键词,其中Y1,Y2是字符串,Y1,Y2分别包含η1,η2个符号;B利用K2C算法将Y1,Y2加密成
Figure FDA0002358283820000047
输入
Figure FDA0002358283820000048
v1,η1和η2,MBW协议输出密文
Figure FDA0002358283820000049
如果通配符关键词“Y1+*+Y2+*”与X匹配,则有u=1;否则,u=0。
3.根据权利要求2所述的云存储安全中基于通配符的可搜索加密方法,其特征在于:所述K2C算法为关键词转化密文算法,把关键词中的每个字母转换成其ASCII码形式,接着把十六进制的ASCII码转化成十进制,根据每个字母在关键词中的位置,每个元素乘以一定的权重,使用PCTD算法对这些十进制数进行相加和加密。
CN201710422815.2A 2017-06-07 2017-06-07 云存储安全中基于通配符的可搜索加密方法 Active CN107256248B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710422815.2A CN107256248B (zh) 2017-06-07 2017-06-07 云存储安全中基于通配符的可搜索加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710422815.2A CN107256248B (zh) 2017-06-07 2017-06-07 云存储安全中基于通配符的可搜索加密方法

Publications (2)

Publication Number Publication Date
CN107256248A CN107256248A (zh) 2017-10-17
CN107256248B true CN107256248B (zh) 2020-05-08

Family

ID=60023525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710422815.2A Active CN107256248B (zh) 2017-06-07 2017-06-07 云存储安全中基于通配符的可搜索加密方法

Country Status (1)

Country Link
CN (1) CN107256248B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107734054A (zh) * 2017-11-06 2018-02-23 福州大学 安全云存储中的加密数据检索系统
CN108021677A (zh) * 2017-12-07 2018-05-11 成都博睿德科技有限公司 云计算分布式检索引擎的控制方法
CN108494768B (zh) * 2018-03-22 2021-07-23 深圳大学 一种支持访问控制的密文搜索方法及系统
CN109446828B (zh) * 2018-11-07 2020-10-13 北京邮电大学 一种安全多方计算方法及装置
US10984052B2 (en) * 2018-11-19 2021-04-20 Beijing Jingdong Shangke Information Technology Co., Ltd. System and method for multiple-character wildcard search over encrypted data
CN109660555B (zh) * 2019-01-09 2020-07-14 上海交通大学 基于代理重加密的内容安全分享方法和系统
CN110276204B (zh) * 2019-05-22 2022-05-13 湖北工业大学 一种隐私保护下的球员配置方法
CN110445756B (zh) * 2019-07-04 2021-07-09 中国电子科技集团公司第三十研究所 云存储中可搜索加密审计日志的实现方法
CN110390203B (zh) * 2019-07-25 2023-03-24 西南交通大学 一种可验证解密权限的策略隐藏属性基加密方法
CN111327620B (zh) * 2020-02-27 2021-04-27 福州大学 云雾计算框架下的数据安全溯源及访问控制系统
CN111404679B (zh) * 2020-03-10 2023-08-08 上海市大数据中心 一种面向大数据的安全认证的密文检索方法
WO2022099495A1 (zh) * 2020-11-11 2022-05-19 深圳技术大学 云计算环境中的密文搜索方法及系统、设备
CN113704571B (zh) * 2021-07-14 2024-10-18 山东师范大学 带查询功能的安全通配符模式匹配方法及系统
CN114116758B (zh) * 2021-11-16 2024-08-16 富途网络科技(深圳)有限公司 基于资源管理系统的字段搜索方法及相关设备
CN114257446B (zh) * 2021-12-20 2023-05-23 湖北工业大学 基于可搜索加密的数据访问控制方法、计算机设备
CN117278216B (zh) * 2023-11-23 2024-02-13 三亚学院 一种基于云计算虚拟化与网络存储文件的加密系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023051A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中多用户多个关键词可搜索的加密方法
CN104038349A (zh) * 2014-07-03 2014-09-10 西安电子科技大学 一种基于kp-abe的有效可验证的公钥可搜索加密方法
CN104394155A (zh) * 2014-11-27 2015-03-04 暨南大学 可验证完整性和完备性的多用户云加密关键字搜索方法
CN105610910A (zh) * 2015-12-18 2016-05-25 中南民族大学 面向云存储并基于全同态密码的密文全文检索方法及系统
CN105681280A (zh) * 2015-12-29 2016-06-15 西安电子科技大学 一种云环境中基于中文的可搜索加密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404669B2 (en) * 2015-06-09 2019-09-03 Skyhigh Networks, Llc Wildcard search in encrypted text

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023051A (zh) * 2014-05-22 2014-09-03 西安理工大学 云存储中多用户多个关键词可搜索的加密方法
CN104038349A (zh) * 2014-07-03 2014-09-10 西安电子科技大学 一种基于kp-abe的有效可验证的公钥可搜索加密方法
CN104394155A (zh) * 2014-11-27 2015-03-04 暨南大学 可验证完整性和完备性的多用户云加密关键字搜索方法
CN105610910A (zh) * 2015-12-18 2016-05-25 中南民族大学 面向云存储并基于全同态密码的密文全文检索方法及系统
CN105681280A (zh) * 2015-12-29 2016-06-15 西安电子科技大学 一种云环境中基于中文的可搜索加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
可验证的多用户云加密关键字搜索方案;李诗旸,王晓明;《计算机工程与应用》;20160430(第7期);132-138 *

Also Published As

Publication number Publication date
CN107256248A (zh) 2017-10-17

Similar Documents

Publication Publication Date Title
CN107256248B (zh) 云存储安全中基于通配符的可搜索加密方法
CN108632032B (zh) 无密钥托管的安全多关键词排序检索系统
CN107491497B (zh) 支持任意语言查询的多用户多关键词排序可搜索加密系统
CN110224986B (zh) 一种基于隐藏策略cp-abe的高效可搜索访问控制方法
CN112367169A (zh) 数据加解密方法、装置、设备及存储介质
CN111639361A (zh) 一种区块链密钥管理方法、多人共同签名方法及电子装置
CN106803784A (zh) 安全多媒体云存储中基于格的多用户模糊可搜索加密方法
CN112989375B (zh) 一种分级优化加密无损隐私保护方法
Yang et al. Flexible wildcard searchable encryption system
CN110866135B (zh) 一种基于响应长度隐藏的k-NN图像检索方法及系统
CN107547530A (zh) 移动云环境下基于属性的在线/离线关键字搜索方法及其云计算应用系统
CN112560075B (zh) 一种基于椭圆曲线的轻量级可搜索加密方法及装置
CN115314295A (zh) 一种基于区块链的可搜索加密技术方法
CN114900301A (zh) 一种满足mci安全且指定服务器的公钥可搜索加密方法
CN115174600A (zh) 一种用于云存储系统的密文数据加密、安全检索方法及装置
CN114021006A (zh) 一种多维数据的安全查询方法及装置
Salvakkam et al. Design of fully homomorphic multikey encryption scheme for secured cloud access and storage environment
Ibrahim et al. Approximate keyword-based search over encrypted cloud data
Yan et al. Secure and efficient big data deduplication in fog computing
CN108920968B (zh) 一种基于连接关键词的文件可搜索加密方法
CN116663046A (zh) 基于区块链的隐私数据共享和检索方法、系统及设备
CN115048432A (zh) 基于布隆过滤器的模糊关键词公共审计方法
Hou et al. Public-key searchable encryption from lattices
Ocansey et al. Searchable Encryption for Integrating Cloud and Sensor Networks with Secure Updates.
Pillai et al. Blockchain-Based Searchable Asymmetric Encryption Scheme in Cloud Environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant