CN111177787B - 多数据拥有者环境中基于属性的连接关键字搜索方法 - Google Patents

多数据拥有者环境中基于属性的连接关键字搜索方法 Download PDF

Info

Publication number
CN111177787B
CN111177787B CN202010002939.7A CN202010002939A CN111177787B CN 111177787 B CN111177787 B CN 111177787B CN 202010002939 A CN202010002939 A CN 202010002939A CN 111177787 B CN111177787 B CN 111177787B
Authority
CN
China
Prior art keywords
file
user
cloud server
keyword
attribute
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
CN202010002939.7A
Other languages
English (en)
Other versions
CN111177787A (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.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical 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 Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN202010002939.7A priority Critical patent/CN111177787B/zh
Publication of CN111177787A publication Critical patent/CN111177787A/zh
Application granted granted Critical
Publication of CN111177787B publication Critical patent/CN111177787B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/156Query results presentation
    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种多拥有者环境中基于属性的连接关键字搜索方法,该方法利用聚合技术,使得关键字数量线性增长时陷门长度保持不变;并采用线性秘密共享矩阵(Linear secret sharing matrix,LSSS)型访问结构加密关键字集合,在保证表达力的前提下,具有较高的计算效率;同时利用相关性得分对搜索结果排序,提高了搜索精确度。

Description

多数据拥有者环境中基于属性的连接关键字搜索方法
技术领域
本发明涉及一种关键字搜索方法,特别是一种在多数据拥有者环境中基于属性的连接关键字搜索方法。
背景技术
文献“支持关键词任意连接搜索的属性加密方案,通信学报,2016(8):77-85”公开了一种基于属性的关键字任意连接搜索方法。该方法利用多项式方程实现了关键字任意连接查询,无需固定关键字位置,使得关键字连接搜索更加灵活;同时结合属性基加密技术实现了细粒度的访问控制,同时每个索引被多个查询用户搜索,降低了细粒度访问控制带来的网络带宽和发送节点的处理开销。但是该方法中陷门大小随关键字数量线性增长,难以控制陷门大小。
发明内容
要解决的技术问题
为了解决陷门大小与关键字数量成线性增长的问题,降低用户端的计算开销,本发明提供一种多拥有者环境中基于属性的连接关键字搜索方法。该方法利用聚合技术,使得关键字数量线性增长时陷门长度保持不变;并采用线性秘密共享矩阵(Linear secretsharing matrix, LSSS)型访问结构加密关键字集合,在保证表达力的前提下,具有较高的计算效率;同时利用相关性得分对搜索结果排序,提高了搜索精确度。
技术方案
一种多数据拥有者环境中基于属性的连接关键字搜索方法,其特征在于步骤如下:
步骤1:系统初始化
系统中的可信授权中心选择哈希函数H:{0,1}*→Zp,阶为p的乘法循环群G、GT,Zp为整数有限域,p为素数;双线性映射e:G×G→GT,g为群G的生成元;可信授权中心为属性全集U={1,2,...,u}中的每个属性i,u为正整数,1≤i≤u,从群G中选择对应的随机数hi∈G,另随机选择α,β∈Zp,计算X=gα,Y=gβ,得到系统公钥PK和系统主密钥MSK:
PK=(G,GT,p,g,e,X,Y,h1,h2,…,hu) (1)
MSK=(α,β) (2)
步骤2:属性密钥生成
给定查询用户DUd的属性集Sd,其中
Figure BDA0002354169680000022
1≤d≤lDU,lDU表示系统中查询用户的数量,lDU为正整数;可信授权中心为该用户随机选取整数r∈Zp,计算K=gαgβr和L=gr,对用户属性集Sd中的每一个属性j,1≤j≤u,计算Kj=hj r,生成用户DUd的属性密钥SKd
Figure BDA0002354169680000021
步骤3:索引生成
为了便于云服务器进行密文检索,每个数据拥有者都需要为待上传的文件生成索引;索引生成的具体步骤如下:
1)数据拥有者DOi从文件Fi,j中选取一组具有代表性的关键字集合
Figure BDA0002354169680000024
Figure BDA0002354169680000025
其中1≤i≤lDO
Figure BDA0002354169680000026
lDO表示系统中数据拥有者的数量,lDO为正整数;
Figure BDA0002354169680000027
表示系统中第i个数据拥有者的文件数量,
Figure BDA0002354169680000028
为正整数;
Figure BDA0002354169680000029
表示文件Fi,j中选出的关键字数量,
Figure BDA00023541696800000210
为正整数;关键字集合Wi,j是系统关键字全集
Figure BDA00023541696800000211
的子集,这里lw表示系统关键字全集W中关键词的数量,lw为正整数;对集合Wi,j中的每个关键字
Figure BDA00023541696800000212
计算
Figure BDA00023541696800000213
得到索引Ii,j中的
Figure BDA00023541696800000214
部分;
2)数据拥有者DOi为文件Fi,j选择LSSS型访问结构(Ml×n,ρ),其中Ml×n是一个l行n列的秘密共享矩阵,l和n均为正整数;函数ρ:{1,2,...,l}→ρ(i)表示将矩阵Ml×n中的第i行Mi映射为一个属性值ρ(i),1≤i≤l;令s∈Zp表示待分享的秘密值,随机选取y2,y3,...,yn∈Zp,构成列向量v=(s,y2,...,yn),并计算E0=gs和E1=gαs;对矩阵Ml×n中的每一行Mi,计算λi=v·Mi;另选l个随机数r1,r2,...,rl∈Zp,计算
Figure BDA0002354169680000034
Figure BDA0002354169680000035
该步骤的计算可获得索引Ii,j中的{E0,E1,{Ci,Di}i∈{1,2,...,l}}部分;
3)数据拥有者DOi根据公式(4)计算出关键字集Wi,j中每个关键字wi,j,t与文件Fi,j的相关性得分RSi,j,t,得到相关性得分集合
Figure BDA0002354169680000036
Figure BDA0002354169680000031
式中,
Figure BDA0002354169680000037
表示文件Fi,j的长度,即文件Fi,j中包含单词的数量,
Figure BDA0002354169680000038
为正整数,
Figure BDA0002354169680000039
表示关键字wi,j,t出现在文件Fi,j中的频率,
Figure BDA00023541696800000310
表示系统中所有包含关键字wi,j,t的文件数量,N表示系统中文件总数量,N为正整数;
为了保证相关性得分的机密性,DOi利用自身身份IDi,1≤i≤lDO,根据公式(5)选取对应的顺序累加隐私保护函数
Figure BDA00023541696800000311
Figure BDA0002354169680000032
式中,Aj,k表示m(x,j)·m(y,k)的系数,Aj,k为正整数,τ表示函数
Figure BDA00023541696800000312
的阶,τ为正整数;x代表相关性得分变量,y表示不同拥有者身份IDi的哈希值,即y=H(IDi);函数m(x,j)用来保护相关性得分x的顺序,函数m(y,k)用来保护数据拥有者的身份,raof是随机整数项,raof∈{0,1,...,2j-1},m(x,j)是一个如公式(6)所示的递归函数,其中α和λ均为正整数;
Figure BDA0002354169680000033
数据拥有者DOi选取对应的
Figure BDA00023541696800000313
并利用该函数加密RSi,j集合中的每一个元素RSi,j,t,得到相关性得分密文
Figure BDA00023541696800000314
同时为了便于云服务器对不同数据拥有者索引中的相关性得分进行排序,DOi还需计算函数
Figure BDA00023541696800000315
该步骤的计算可得到索引Ii,j中的
Figure BDA0002354169680000043
部分;
经过以上三个步骤的计算,最终得到文件Fi,j的索引Ii,j如下:
Figure BDA0002354169680000041
步骤4:陷门生成
查询用户DUd选取待查询关键字集
Figure BDA0002354169680000044
lQ表示查询关键字的数量,lQ为正整数;查询用户利用属性密钥SKd计算陷门;用户随机选择q∈Zp,计算
Figure BDA0002354169680000045
其中
Figure BDA0002354169680000046
1≤t≤lQ,T2=Kq,T3=grq,T4=gq;对于查询用户属性密钥SKd中的每一个元素Kj,计算Tj=Kj q,最终得到陷门Td,并上传至云服务器;
Figure BDA0002354169680000042
步骤5:密文搜索
云服务器根据查询用户上传的陷门Td,对当前已存储的文件进行搜索;以云服务器中已存储的文件Fi,j为例,其中1≤i≤lDO
Figure BDA0002354169680000047
云服务器根据文件Fi,j的索引Ii,j进行如下计算;若用户DUd的属性集Sd满足LSSS型访问结构(Ml×n,ρ),即可得到满足访问结构的最小属性集合X={i:ρ(i)∈Sd},
Figure BDA0002354169680000048
则一定存在常数集{wi}i∈X,使得∑i∈X wiλi=s;云服务器计算
Figure BDA0002354169680000049
同时获取索引Ii,j中的
Figure BDA00023541696800000410
进而验证等式(9)是否成立;若等式(9)成立,表示文件Fi,j的索引Ii,j所包含的关键字集
Figure BDA00023541696800000411
与查询关键字集
Figure BDA00023541696800000412
Figure BDA00023541696800000413
匹配,同时查询用户的属性集Sd满足文件Fi,j的LSSS型访问结构(Ml×n,ρ),因此文件Fi,j满足搜索条件,将Fi,j加入到初步搜索结果集F中,继续判断云服务器中存储的下一个文件是否满足搜索条件;若等式(9)不成立,表示文件Fi,j不满足搜索条件,则跳过该文件,继续判断存储的下一个文件是否满足搜索条件;经过步骤五的计算,最终得到一个满足用户搜索条件的初步搜索结果集F;
Figure BDA0002354169680000051
步骤6:搜索结果排序
为了提高搜索精确度,云服务器对初步搜索结果集F进行排序,仅给用户返回最相关的前k个文件,k为正整数;若用户提交的查询关键字集为
Figure BDA0002354169680000054
假设当前满足搜索条件的文件共有m个,即F={F1,F2,...,Fm},其中m为正整数,1≤k≤m;云服务器通过如下计算从而实现搜索结果排序;排序分为以下两种情况:
1)若m个文件来自同一个拥有者DOi;云服务器分别计算文件F1,F2,...,Fm与查询关键字集Q的相关性得分;
Figure BDA0002354169680000052
再从{Vi,1,Vi,2,...,Vi,m}这m个数值中选出前k个最大的值,并把对应的文件集发送至查询用户;
2)若m个文件来自不同的数据拥有者,假定用户DOi拥有其中的η个文件,标记为
Figure BDA0002354169680000055
其中1≤η<m;云服务器首先计算用户DOi拥有的文件集
Figure BDA0002354169680000056
与查询关键字集Q的相关性得分;
Figure BDA0002354169680000053
除去用户DOi拥有的文件
Figure BDA0002354169680000057
将剩余来自不同数据拥有者的
Figure BDA0002354169680000058
个文件标记为
Figure BDA0002354169680000059
其中
Figure BDA00023541696800000510
由于不同拥有者的ID不同,对文件Fi_j选取的
Figure BDA00023541696800000511
函数不同,因此对来自不同拥有者的文件计算的相关性得分密文不具有可比性;云服务器为了对这
Figure BDA00023541696800000512
个文件与查询关键字集Q的相关性得分排序,首先将不同拥有者的身份哈希值统一用变量y表示,得到公式(12);
Figure BDA0002354169680000061
然后用H(IDi)替换公式(12)中的y,固定变量y的值,使得文件排序结果仅与相关性得分有关,得到公式(13);
Figure BDA0002354169680000062
从集合
Figure BDA0002354169680000063
这m个数值中选出前k个最大的值,并把对应的文件集发送至查询用户。
有益效果
本发明提出的一种多数据拥有者环境中基于属性的连接关键字搜索方法,由于采用聚合技术,当用户查询的关键字数量增加时,本方法中的陷门长度保持不变。文献“支持关键词任意连接搜索的属性加密方案,通信学报,2016(8):77-85”中,陷门大小是关键字数量的一次函数,陷门长度随着关键字数量线性增长。同时本方法采用TF-IDF规则计算相关性得分,实现了对搜索结果的排序整理,仅给用户返回最相关的前k个搜索结果,不仅提高了搜索精确度,而且减少了用户的存储开销。
附图说明
图1是本发明多数据拥有者环境中基于属性的连接关键字搜索方法的实施过程图
具体实施方式
现结合实施例、附图对本发明作进一步描述:
考虑一个实现连接关键字搜索和细粒度访问控制的云存储系统。系统包括多个数据拥有者,多个查询用户,云服务器和可信授权中心。可信授权中心负责系统初始化,生成系统公共参数和主密钥,同时为查询用户生成属性私钥。数据拥有者管理文件并生成索引。查询用户生成用于搜索的陷门。云服务器存储文件密文和文件索引,同时利用强大的计算能力帮助用户进行搜索。
该方法涉及的参数定义为:
表1 参数定义
Figure BDA0002354169680000071
下面是具体的实施步骤:
1、系统初始化。
设H:{0,1)*→Zp是一个将任意长度的字符串映射到Zp中的哈希函数,Zp表示整数有限域,G、GT均为阶为p的乘法循环群,p为素数,g是G的生成元,e:G×G→GT为双线性映射。可信授权中心选择安全参数λ,λ=2k,k是一个大整数。同时可信授权中心为属性全集U={1,2,...,u)中的每个属性i,其中u为正整数,1≤i≤u,从群G中选择对应的随机数hi∈G。另随机选择α,β∈Zp,计算X=gα,Y=gβ,得到系统公钥PK和系统主密钥MSK。系统公钥公开,主密钥由可信授权中心秘密保存。
PK=(G,GT,p,g,e,X,Y,h1,h2,…,hu) (1)
MSK=(α,β) (2)
2、属性密钥生成。
给定查询用户DUd的属性集Sd
Figure BDA0002354169680000082
可信授权中心为该用户随机选择r∈Zp,计算K=gαgβr,L=gr,对每个属性j∈Sd,计算Kj=hj r,得到用户DUd的属性密钥SKd
Figure BDA0002354169680000081
3、索引生成。
为了便于云服务器进行密文检索,每个数据拥有者都需要为待上传的文件生成索引。索引生成的具体步骤如下:
1)数据拥有者DOi从文件Fi,j中选择一组具有代表性的关键字集合
Figure BDA0002354169680000084
Figure BDA0002354169680000085
其中
Figure BDA0002354169680000086
对集合Wi,j中的每个关键字wi,j,t,计算
Figure BDA0002354169680000087
得到索引Ii,j中的
Figure BDA0002354169680000088
部分。
2)数据拥有者DOi为文件Fi,j选择LSSS型访问结构(Ml×n,ρ),其中Ml×n是一个l行n列的秘密共享矩阵,函数ρ:{1,2,...,l)→ρ(i)表示将矩阵Ml×n中的第i行Mi映射为一个属性值ρ(i),其中1≤i≤l。s∈Zp表示设定的待分享秘密值,随机选取y2,y3,...,yn∈Zp,构成列向量v=(s,y2,...,yn),并计算E0=gs和E1=gαs。对矩阵Ml×n中的每一行Mi,计算λi=v·Mi。另选l个随机数r1,r2,...,rl∈Zp,计算
Figure BDA0002354169680000089
Figure BDA00023541696800000810
通过本步骤的计算,获得了索引Ii,j中的{E0,E1,{Ci,Di)i∈{1,2,...,l}}部分。
3)数据拥有者DOi首先根据公式(4)计算出关键字集Wi,j中每个关键字wi,j,t与文件Fi,j的相关性得分RSi,j,t,得到相关性得分集合
Figure BDA00023541696800000811
Figure BDA0002354169680000091
式中
Figure BDA0002354169680000095
表示文件Fi,j的长度,即文件Fi,j中包含单词的数量,
Figure BDA0002354169680000096
表示关键字wi,j,t出现在文件Fi,j中的频率,
Figure BDA0002354169680000097
表示系统中所有包含关键字wi,j,t的文件数量,N表示系统中文件总数量。
考虑到相关性得分可能包含敏感信息,为了保证相关性得分的机密性,DOi利用自身身份IDi,根据公式(5)选取对应的顺序累加隐私保护函数
Figure BDA0002354169680000098
Figure BDA0002354169680000092
式中Aj,k表示m(x,j)·m(y,k)的系数,Aj,k为正整数,τ表示函数
Figure BDA0002354169680000099
的阶。x代表相关性得分变量,y表示不同拥有者身份的哈希值H(IDi)。函数m(x,j)用来保护相关性得分x的顺序,函数m(y,k)用来保护不同数据拥有者的身份,raof是随机整数项,raof∈{0,1,...,2j-1},m(x,j)是一个如公式(6)所示的递归函数,α和λ均为正整数。
Figure BDA0002354169680000093
数据拥有者DOi选取对应的
Figure BDA00023541696800000910
并利用该函数加密RSi,j集合中的每一个元素RSi,j,t,得到相关性得分密文
Figure BDA00023541696800000911
同时为了便于云服务器对不同数据所有者索引中的相关性得分排序,DOi还需计算密文
Figure BDA00023541696800000912
这里y表示不同拥有者身份的哈希值。索引Ii,j中的
Figure BDA00023541696800000913
部分由该步骤计算得到。
经过以上三个步骤的计算,最终得到文件Fi,j的索引Ii,j
Figure BDA0002354169680000094
4、陷门生成。
查询用户DUd选定待查询关键字集
Figure BDA00023541696800000914
利用属性密钥SKd计算陷门。用户随机选择q∈Zp,计算
Figure BDA00023541696800000915
T2=Kq=(gαgβr)q,T3=grq,T4=gq。对于查询用户属性密钥SKd中的每一个元素Kj,计算Tj=Kj q=hj rq,得到查询陷门Td,并上传至云服务器,由云服务器利用强大的计算能力进行文件搜索。
Figure BDA0002354169680000101
5、密文搜索。
云服务器根据查询用户上传的陷门Td,对当前已存储的文件进行搜索。以云服务器中已存储的文件Fi,j为例,其中1≤i≤lDO
Figure BDA0002354169680000105
云服务器根据文件Fi,j的索引Ii,j进行如下计算。若用户DUd的属性集Sd满足LSSS型访问结构(Ml×n,ρ),即可得到满足访问结构的最小属性集合X={i:ρ(i)∈Sd},
Figure BDA0002354169680000106
则一定存在常数集{wi}i∈X,使得∑i∈X wiλi=s。云服务器计算
Figure BDA0002354169680000107
同时获取索引Ii,j中的
Figure BDA0002354169680000108
验证等式(9)是否成立。若等式(9)成立,表示文件Fi,j的索引Ii,j所包含的关键字集
Figure BDA0002354169680000109
与用户查询关键字集
Figure BDA00023541696800001010
匹配,同时查询用户的属性集Sd满足文件Fi,j的LSSS型访问结构(Ml×n,ρ),因此文件Fi,j满足搜索条件,将Fi,j加入到初步搜索结果集F中,继续判断存储的下个文件是否满足搜索条件;若等式(9)不成立,表示文件Fi,j不满足搜索条件,则跳过该文件,继续判断存储的下一个文件是否满足搜索条件。经过步骤五的计算,最终得到一个满足用户搜索条件的初步搜索结果集F。
Figure BDA0002354169680000102
等式左边:
Figure BDA0002354169680000103
等式右边:
Figure BDA0002354169680000104
Figure BDA0002354169680000111
Figure BDA0002354169680000112
Figure BDA0002354169680000115
同时对于所有的t∈{1,2,...,lQ},满足wi,j,t=kwt,则等式
Figure BDA0002354169680000116
成立。
6、搜索结果排序。
为了提高搜索精确度,云服务器对初步搜索结果集F进行排序,仅给用户返回最相关的前k个文件,k为正整数。若用户提交的查询关键字集为
Figure BDA0002354169680000117
假设当前满足搜索条件的文件共有m个,即F={F1,F2,...,Fm},其中m为正整数,1≤k≤m。云服务器通过如下计算从而实现搜索结果排序。排序分为以下两种情况。
1)若m个文件来自同一个拥有者DOi。云服务器分别计算文件F1,F2,...,Fm与查询关键字集Q的相关性得分。
Figure BDA0002354169680000113
再从{Vi,1,Vi,2,…,Vi,m}这m个数值中选出前k个最大的值,并把对应的文件集发送至查询用户。
2)若m个文件来自不同的数据拥有者,假定用户DOi拥有其中的η个文件,标记为
Figure BDA0002354169680000118
其中1≤η<m。云服务器首先计算用户DOi拥有的文件集
Figure BDA0002354169680000119
与查询关键字集Q的相关性得分。
Figure BDA0002354169680000114
除去用户DOi拥有的文件
Figure BDA0002354169680000123
将剩余来自不同数据拥有者的
Figure BDA0002354169680000124
个文件标记为
Figure BDA0002354169680000125
其中
Figure BDA0002354169680000126
由于不同拥有者的ID不同,对文件Fi_j选取的
Figure BDA0002354169680000127
函数不同,因此对来自不同拥有者的文件计算的相关性得分密文不具有可比性。云服务器为了对这
Figure BDA0002354169680000128
个文件与查询关键字集Q的相关性得分排序,首先将所有拥有者的身份哈希值H(ID)统一用变量y表示,得到公式(15)。
Figure BDA0002354169680000121
然后统一用H(IDi)替换公式(15)中的y,固定变量y的值,使得文件排序结果仅与相关性得分有关,得到如下公式。
Figure BDA0002354169680000122
从集合
Figure BDA0002354169680000129
这m个数值中选出前k个最大的值,并把对应的文件集发送至查询用户。

Claims (1)

1.一种多数据拥有者环境中基于属性的连接关键字搜索方法,其特征在于步骤如下:
步骤1:系统初始化
系统中的可信授权中心选择哈希函数H:{0,1}*→Zp,阶为p的乘法循环群G、GT,Zp为整数有限域,p为素数;双线性映射e:G×G→GT,g为群G的生成元;可信授权中心为属性全集U={1,2,...,u)中的每个属性i,u为正整数,1≤i≤u,从群G中选择对应的随机数hi∈G,另随机选择α,β∈Zp,计算X=gα,Y=gβ,得到系统公钥PK和系统主密钥MSK:
PK=(G,GT,p,g,e,X,Y,h1,h2,…,hu) (1)
MSK=(α,β) (2)
步骤2:属性密钥生成
给定查询用户DUd的属性集Sd,其中
Figure FDA00023541696700000110
lDU表示系统中查询用户的数量,lDU为正整数;可信授权中心为该用户随机选取整数r∈Zp,计算K=gαgβr和L=gr,对用户属性集Sd中的每一个属性j,1≤j≤u,计算Kj=hj r,生成用户DUd的属性密钥SKd
Figure FDA0002354169670000011
步骤3:索引生成
为了便于云服务器进行密文检索,每个数据拥有者都需要为待上传的文件生成索引;索引生成的具体步骤如下:
1)数据拥有者DOi从文件Fi,j中选取一组具有代表性的关键字集合
Figure FDA0002354169670000012
Figure FDA0002354169670000013
其中1≤i≤lDO
Figure FDA00023541696700000111
lDO表示系统中数据拥有者的数量,lDO为正整数;
Figure FDA0002354169670000014
表示系统中第i个数据拥有者的文件数量,
Figure FDA0002354169670000015
为正整数;
Figure FDA0002354169670000016
表示文件Fi,j中选出的关键字数量,
Figure FDA0002354169670000017
为正整数;关键字集合Wi,j是系统关键字全集
Figure FDA00023541696700000112
的子集,这里lw表示系统关键字全集W中关键词的数量,lw为正整数;对集合Wi,j中的每个关键字wi,j,t
Figure FDA0002354169670000018
计算
Figure FDA0002354169670000019
得到索引Ii,j中的
Figure FDA0002354169670000021
部分;
2)数据拥有者DOi为文件Fi,j选择LSSS型访问结构(Ml×n,ρ),其中Ml×n是一个l行n列的秘密共享矩阵,l和n均为正整数;函数ρ:{1,2,...,l}→ρ(i)表示将矩阵Ml×n中的第i行Mi映射为一个属性值ρ(i),1≤i≤l;令s∈Zp表示待分享的秘密值,随机选取y2,y3,...,yn∈Zp,构成列向量v=(s,y2,...,yn),并计算E0=gs和E1=gαs;对矩阵Ml×n中的每一行Mi,计算λi=v·Mi;另选l个随机数r1,r2,...,rl∈Zp,计算
Figure FDA0002354169670000022
Figure FDA0002354169670000023
该步骤的计算可获得索引Ii,j中的{E0,E1,{Ci,Di}i∈{1,2,...,l}}部分;
3)数据拥有者DOi根据公式(4)计算出关键字集Wi,j中每个关键字wi,j,t与文件Fi,j的相关性得分RSi,j,t,得到相关性得分集合
Figure FDA0002354169670000024
Figure FDA0002354169670000025
式中,
Figure FDA0002354169670000026
表示文件Fi,j的长度,即文件Fi,j中包含单词的数量,
Figure FDA0002354169670000027
为正整数,
Figure FDA0002354169670000028
表示关键字wi,j,t出现在文件Fi,j中的频率,
Figure FDA0002354169670000029
表示系统中所有包含关键字wi,j,t的文件数量,N表示系统中文件总数量,N为正整数;
为了保证相关性得分的机密性,DOi利用自身身份IDi,1≤i≤lDO,根据公式(5)选取对应的顺序累加隐私保护函数
Figure FDA00023541696700000210
Figure FDA00023541696700000211
式中,Aj,k表示m(x,j)·m(y,k)的系数,Aj,k为正整数,τ表示函数
Figure FDA00023541696700000212
的阶,τ为正整数;x代表相关性得分变量,y表示不同拥有者身份IDi的哈希值,即y=H(IDi);函数m(x,j)用来保护相关性得分x的顺序,函数m(y,k)用来保护数据拥有者的身份,raof是随机整数项,raof∈{0,1,...,2j-1},m(x,j)是一个如公式(6)所示的递归函数,其中α和λ均为正整数;
Figure FDA00023541696700000213
数据拥有者DOi选取对应的
Figure FDA0002354169670000031
并利用该函数加密RSi,j集合中的每一个元素RSi,j,t,得到相关性得分密文
Figure FDA0002354169670000032
同时为了便于云服务器对不同数据拥有者索引中的相关性得分进行排序,DOi还需计算函数
Figure FDA0002354169670000033
该步骤的计算可得到索引Ii,j中的
Figure FDA0002354169670000034
部分;
经过以上三个步骤的计算,最终得到文件Fi,j的索引Ii,j如下:
Figure FDA0002354169670000035
步骤4:陷门生成
查询用户DUd选取待查询关键字集
Figure FDA0002354169670000036
lQ表示查询关键字的数量,lQ为正整数;查询用户利用属性密钥SKd计算陷门;用户随机选择q∈Zp,计算
Figure FDA0002354169670000037
其中
Figure FDA0002354169670000038
1≤t≤lQ,T2=Kq,T3=grq,T4=gq;对于查询用户属性密钥SKd中的每一个元素Kj,计算Tj=Kj q,最终得到陷门Td,并上传至云服务器;
Figure FDA0002354169670000039
步骤5:密文搜索
云服务器根据查询用户上传的陷门Td,对当前已存储的文件进行搜索;以云服务器中已存储的文件Fi,j为例,其中1≤i≤lDO
Figure FDA00023541696700000316
云服务器根据文件Fi,j的索引Ii,j进行如下计算;若用户DUd的属性集Sd满足LSSS型访问结构(Ml×n,ρ),即可得到满足访问结构的最小属性集合X={i:ρ(i)∈Sd},
Figure FDA00023541696700000310
则一定存在常数集{wi}i∈X,使得∑i∈Xwiλi=s;云服务器计算
Figure FDA00023541696700000311
同时获取索引Ii,j中的
Figure FDA00023541696700000312
进而验证等式(9)是否成立;若等式(9)成立,表示文件Fi,j的索引Ii,j所包含的关键字集
Figure FDA00023541696700000313
与查询关键字集
Figure FDA00023541696700000314
Figure FDA00023541696700000315
匹配,同时查询用户的属性集Sd满足文件Fi,j的LSSS型访问结构(Ml×n,ρ),因此文件Fi,j满足搜索条件,将Fi,j加入到初步搜索结果集F中,继续判断云服务器中存储的下一个文件是否满足搜索条件;若等式(9)不成立,表示文件Fi,j不满足搜索条件,则跳过该文件,继续判断存储的下一个文件是否满足搜索条件;经过步骤五的计算,最终得到一个满足用户搜索条件的初步搜索结果集F;
Figure FDA0002354169670000041
步骤6:搜索结果排序
为了提高搜索精确度,云服务器对初步搜索结果集F进行排序,仅给用户返回最相关的前k个文件,k为正整数;若用户提交的查询关键字集为
Figure FDA0002354169670000042
假设当前满足搜索条件的文件共有m个,即F={F1,F2,...,Fm},其中m为正整数,1≤k≤m;云服务器通过如下计算从而实现搜索结果排序;排序分为以下两种情况:
1)若m个文件来自同一个拥有者DOi;云服务器分别计算文件F1,F2,...,Fm与查询关键字集Q的相关性得分;
Figure FDA0002354169670000043
再从{Vi,1,Vi,2,...,Vi,m}这m个数值中选出前k个最大的值,并把对应的文件集发送至查询用户;
2)若m个文件来自不同的数据拥有者,假定用户DOi拥有其中的η个文件,标记为
Figure FDA0002354169670000044
其中1≤η<m;云服务器首先计算用户DOi拥有的文件集
Figure FDA0002354169670000045
与查询关键字集Q的相关性得分;
Figure FDA0002354169670000046
除去用户DOi拥有的文件
Figure FDA0002354169670000047
将剩余来自不同数据拥有者的
Figure FDA0002354169670000048
个文件标记为
Figure FDA0002354169670000049
其中
Figure FDA00023541696700000410
由于不同拥有者的ID不同,对文件Fi_j选取的
Figure FDA0002354169670000051
函数不同,因此对来自不同拥有者的文件计算的相关性得分密文不具有可比性;云服务器为了对这
Figure FDA0002354169670000055
个文件与查询关键字集Q的相关性得分排序,首先将不同拥有者的身份哈希值统一用变量y表示,得到公式(12);
Figure FDA0002354169670000052
然后用H(IDi)替换公式(12)中的y,固定变量y的值,使得文件排序结果仅与相关性得分有关,得到公式(13);
Figure FDA0002354169670000053
从集合
Figure FDA0002354169670000054
这m个数值中选出前k个最大的值,并把对应的文件集发送至查询用户。
CN202010002939.7A 2020-01-02 2020-01-02 多数据拥有者环境中基于属性的连接关键字搜索方法 Active CN111177787B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010002939.7A CN111177787B (zh) 2020-01-02 2020-01-02 多数据拥有者环境中基于属性的连接关键字搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010002939.7A CN111177787B (zh) 2020-01-02 2020-01-02 多数据拥有者环境中基于属性的连接关键字搜索方法

Publications (2)

Publication Number Publication Date
CN111177787A CN111177787A (zh) 2020-05-19
CN111177787B true CN111177787B (zh) 2022-12-06

Family

ID=70650850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010002939.7A Active CN111177787B (zh) 2020-01-02 2020-01-02 多数据拥有者环境中基于属性的连接关键字搜索方法

Country Status (1)

Country Link
CN (1) CN111177787B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111726363B (zh) * 2020-06-24 2022-11-01 暨南大学 一种基于属性的多用户连接关键字可搜索加密方法
CN111859425B (zh) * 2020-07-21 2023-04-18 西南交通大学 一种基于属性的通配符可搜索加密方法
CN115037556B (zh) * 2022-08-09 2022-11-11 晨越建设项目管理集团股份有限公司 一种智慧城市系统中加密数据可授权共享方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871543A (zh) * 2016-03-29 2016-08-17 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法
CN107395568A (zh) * 2017-06-21 2017-11-24 西安电子科技大学 一种多数据拥有者认证的密文检索方法
CN108092972A (zh) * 2017-12-13 2018-05-29 西安电子科技大学 一种多授权中心基于属性的可搜索加密方法
WO2019220531A1 (ja) * 2018-05-15 2019-11-21 三菱電機株式会社 秘匿検索装置および秘匿検索方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10282448B2 (en) * 2014-11-18 2019-05-07 Huawei International Pte. Ltd. System and method for searching a symmetrically encrypted database for conjunctive keywords

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871543A (zh) * 2016-03-29 2016-08-17 西安电子科技大学 多数据拥有者背景下基于属性的多关键字密文检索方法
CN107395568A (zh) * 2017-06-21 2017-11-24 西安电子科技大学 一种多数据拥有者认证的密文检索方法
CN108092972A (zh) * 2017-12-13 2018-05-29 西安电子科技大学 一种多授权中心基于属性的可搜索加密方法
WO2019220531A1 (ja) * 2018-05-15 2019-11-21 三菱電機株式会社 秘匿検索装置および秘匿検索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于云存储的多服务器多关键词可搜索加密方案;黄海平等;《电子与信息学报》(第02期);全文 *

Also Published As

Publication number Publication date
CN111177787A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN108388807B (zh) 一种支持偏好搜索和逻辑搜索的高效可验证的多关键字排序可搜索加密方法
Li et al. Enabling fine-grained multi-keyword search supporting classified sub-dictionaries over encrypted cloud data
Shen et al. Secure phrase search for intelligent processing of encrypted data in cloud-based IoT
Xia et al. A secure and dynamic multi-keyword ranked search scheme over encrypted cloud data
Li et al. Enabling efficient multi-keyword ranked search over encrypted mobile cloud data through blind storage
Yang et al. Secure dynamic searchable symmetric encryption with constant document update cost
CN111177787B (zh) 多数据拥有者环境中基于属性的连接关键字搜索方法
Wang et al. Search in my way: Practical outsourced image retrieval framework supporting unshared key
Chen et al. EliMFS: achieving efficient, leakage-resilient, and multi-keyword fuzzy search on encrypted cloud data
Su et al. Privacy-preserving top-k spatial keyword queries in untrusted cloud environments
WO2022099495A1 (zh) 云计算环境中的密文搜索方法及系统、设备
CN106980796B (zh) 云环境下基于mdb+树的多域连接关键词的搜索方法
CN112332979B (zh) 云计算环境中的密文搜索方法及系统、设备
Li et al. Enabling efficient fuzzy keyword search over encrypted data in cloud computing
Lei et al. Fast and secure knn query processing in cloud computing
Tang et al. A global secure ranked multikeyword search based on the multiowner model for cloud-based systems
Wang et al. An efficient and privacy-preserving range query over encrypted cloud data
Prasanna et al. A comparative study of homomorphic and searchable encryption schemes for cloud computing
Wang et al. Enabling efficient approximate nearest neighbor search for outsourced database in cloud computing
Zheng et al. PRkNN: Efficient and privacy-preserving reverse kNN query over encrypted data
CN112328626B (zh) 面向云环境的支持模糊关键词排序的可搜索加密方法
Xue et al. Cuckoo-filter based privacy-aware search over encrypted cloud data
CN113158245A (zh) 一种文档搜索的方法、系统、设备及可读存储介质
Guo et al. Privacy preserving weighted similarity search scheme for encrypted data
Das et al. Algorithm for multi keyword search over encrypted data 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