【技术实现步骤摘要】
无密钥托管的安全多关键词排序检索系统
本专利技术涉及检索
,具体涉及一种无密钥托管的安全多关键词排序检索系统。
技术介绍
随着新型计算模式的发展,云计算已经成为人们最关注的一种技术,它能够利用共享资源来提供高质量的按需服务,因此越来越多的公司和个人倾向于将数据存储外包给云服务器。尽管云计算具有巨大的经济和技术优势,但是用户对安全和隐私问题的担忧,已经成为阻碍数据存储在公有云基础架构中被广泛应用的突出问题。加密是保护远程存储数据隐私的基本方法,然而,由于密文的不可读性,如何有效地对密文进行关键词搜索变得更加困难。可搜索加密(SE)是一种用于保护数据隐私性并同时支持对加密文档进行信息检索的重要机制。对于多数据拥有者、多用户场景下的文件共享系统,细粒度的搜索权限控制,是数据拥有者与其他授权用户共享私人数据的一种理想方案。但是,大多数可用的系统要求用户执行大量复杂的双线性对操作,增加了用户终端的计算负担。如果用户采用外包解密方法,只需要进行轻量级解密计算就能恢复出明文。但是,由于恶意攻击或系统故障,云服务器可能返回错误的半解密信息。因此,在公钥加密的关键词搜索系统(PEKS)中验证外包解密的正确性是一个重要问题。授权用户可能会将其密钥非法泄露给第三方并从中获利。例如某天一个患者突然在e-Bay上发现有人出售与其电子医疗数据相对应的密钥。这种行为严重威胁了患者的数据隐私。更糟糕的是,如果含有严重疾病的个人医疗数据被保险公司或患者的雇佣公司获取,那么他们可能以此为理由拒绝为患者延长医疗保险或劳动合同的时限。密钥滥用严重破坏了授权访问控制和数据隐私保护的基础。因此 ...
【技术保护点】
1.一种无密钥托管的安全多关键词排序检索系统,其特征在于,包括:密钥生成中心,用于和云服务器进行交互式计算共同生成系统的公共参数和数据用户的属性公钥/私钥对;数据用户的身份标识和属性集合被隐式地嵌入在所述属性公钥/私钥对中;云服务器,用于存储数据拥有者的文件和授权数据用户列表,并响应数据用户的搜索查询请求;数据拥有者,在文件存储在云服务器之前,从文件中提取关键词集合KW并为其中的每个关键词定义权重,然后将关键词集合加密成安全索引,同时加密文件,制定访问策略嵌入到密文中,将安全索引和密文发送给云服务器存储;数据用户,定义搜索关键词集合KW′并为其中的每个关键词定义偏好分数,使用数据用户的属性私钥生成陷门来搜索存储在云服务器中的加密文件,如果数据用户的属性集合满足文件中定义的访问策略,则云服务器响应数据用户的搜索查询请求并查找匹配文件,当KW′是KW的子集时,相应的文件为匹配文件,云服务器计算陷门和匹配文件的相关度分数,并根据相关度分数对所有的匹配文件进行排序,最后将相关度最高的k个匹配文件返回给数据用户,数据用户解密文件获取明文。
【技术特征摘要】
2018.02.22 CN 20181015341311.一种无密钥托管的安全多关键词排序检索系统,其特征在于,包括:密钥生成中心,用于和云服务器进行交互式计算共同生成系统的公共参数和数据用户的属性公钥/私钥对;数据用户的身份标识和属性集合被隐式地嵌入在所述属性公钥/私钥对中;云服务器,用于存储数据拥有者的文件和授权数据用户列表,并响应数据用户的搜索查询请求;数据拥有者,在文件存储在云服务器之前,从文件中提取关键词集合KW并为其中的每个关键词定义权重,然后将关键词集合加密成安全索引,同时加密文件,制定访问策略嵌入到密文中,将安全索引和密文发送给云服务器存储;数据用户,定义搜索关键词集合KW′并为其中的每个关键词定义偏好分数,使用数据用户的属性私钥生成陷门来搜索存储在云服务器中的加密文件,如果数据用户的属性集合满足文件中定义的访问策略,则云服务器响应数据用户的搜索查询请求并查找匹配文件,当KW′是KW的子集时,相应的文件为匹配文件,云服务器计算陷门和匹配文件的相关度分数,并根据相关度分数对所有的匹配文件进行排序,最后将相关度最高的k个匹配文件返回给数据用户,数据用户解密文件获取明文。2.根据权利要求1所述的安全多关键词排序检索系统,其特征在于,所述密钥生成中心和云服务器交互生成系统的公共参数PP,并将系统公共参数PP分发给数据拥有者和数据用户,具体如下:设置安全参数κ作为输入,密钥生成中心随机选取元素α1,β,f∈RG,G是素数p的乘法循环群,是密钥空间,计算e是双线性对,密钥生成中心的公共参数和主密钥分别为PP1=(f,g,gβ,gλ,Y1)和MSK1=(α1,β,λ,k1,k2);设置安全参数κ作为输入,云服务器随机选取元素并计算云服务器的公开参数和主密钥分别为PP2=Y2和MSK2=α2;计算Y=Y1·Y2,Y=e(g,g)α,其中α=α1+α2,且α对于密钥生成中心和云服务器都是未知的,PP=(f,g,gβ,gλ,Y)为系统的公共参数。3.根据权利要求2所述的安全多关键词排序检索系统,其特征在于,当一个数据用户申请加入系统时,密钥生成中心根据数据用户的身份为其分配一个属性集合S,属性集合S描述了数据用户身份标识id的特征,所述密钥生成中心和云服务器通过交互式计算运行KeyGen算法生成数据用户的属性公钥PKid,S和私钥SKid,S,数据用户的身份标识id和属性集合S被隐式地嵌入到密钥中,具体如下:步骤S11:云服务器选择一个全同态加密公钥/私钥对(hpk,hsk),其中hpk被公开,hsk由云服务器秘密保存,然后,云服务器给密钥生成中心发送W1=HEnchpk(α2);步骤S12:密钥生成中心计算并发送给云服务器,其中,为全同态加法;步骤S13:云服务器恢复W3=HDechsk(W2)=(α1+α2)β=αβ,云服务器选择一个随机数计算并发给密钥生成中心;步骤S14:密钥生成中心选取随机元素t,并计算ζid=SEnck1(id),δ=SEnck2(ζid||θ),然后密钥生成中心计算W6=gβt,并发送给云服务器;步骤S15:云服务器计算并将D1发送给数据用户;步骤S16:密钥生成中心选取随机元素xid,D4∈R并计算D′1=δ,D2=gt,D′2=gλt,D3,x=H(x)(λ+δ)t,数据用户的属性私钥和公钥分别为SKid,S=(D1,D′1,D2,D′2,{D3,x}x∈S,D4,xid)和PKid,S=Yid,数据用户的匿名身份ζid也返回给数据用户。4.根据权利要求3所述的安全多关键词排序检索系统,其特征在于,如果数据用户的属性私钥被滥用,密钥生成中心测试被滥用的属性私钥是否具有一致性,然后从属性密钥中恢复恶意用户的身份,具体如下:KeySanityCheck(SKid,S)→1/0:测试是否满足以下条件:被滥用的属性私钥SKid,S是(D1,D′1,D2,D′2,{D3,x}x∈S,D4,xid)的形式,其中xid,D4,D1,D2,D′2,D3,x∈G;e(g,D′2)=e(gλ,D2);如果SKid,S通过密钥一致性检测,KeySanityCheck算法输出1,否则输出0;Trace(SKid,S)→id/⊥:如果KeySanityCheck算法的输出为0,表示被滥用的SKid,S不具有一致性,Trace算法将输出⊥;否则SKid,S格式正确,Trace算法将通过以下计算识别叛逆者:计算并通过计算恢复恶意用户的真实身份标识id。5.根据权利要求4所述的安全多关键词排序检索系统,其特征在于,当识别到叛逆者时,系统召回恶意用户的搜索和解密...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。