【技术实现步骤摘要】
面向密态数据的重复、不经意和抗链接的查询方法与系统
[0001]本专利技术可以实现一种面向密态数据的重复、不经意和抗链接的查询方法与系统,属于隐私保护、云服务以及加密数据查询
技术介绍
[0002]智能手机现在配备了全球定位系统(GPS)模块和各种支持基于位置的服务(LBS)的应用程序。它的工作原理是将数据用户的当前位置查询发送给服务提供商。服务提供商将查询与数据所有者的数据项进行匹配,并向数据用户检索相应的结果。例如,谷歌地图允许数据用户找到当前位置附近的星巴克、酒吧和餐馆。
[0003]虽然LBS提供了实际的好处,但由于位置揭示和不可信的服务提供商产生的隐私问题是LBS被广泛采用的主要障碍。首先,提交的位置信息可能包括用户的敏感地点。第二,位置信息往往与人类活动密切相关,比如访问癌症医院和在酒店会见朋友。
[0004]此外,近十年来,由于网络攻击、硬件故障或误操作等原因导致的数据泄露事件也有很多报道,同时很多企业在保护储存在服务提供商上的数据的意识仍比较薄弱,使得数据安全性问题日益严重。
技术实现思路
[0005]本专利技术是为了解决上述现有技术存在的不足之处,提出一种面向密态数据的重复、不经意和抗链接的查询方法与系统,以期能在云上密态数据查询过程中抵抗不可信数据云存储方的安全威胁,并实现重复、不经意和抗链接的SkNN查询,从而保护数据上传方和数据请求方的隐私问题,保护数据上传方和数据请求方的信息安全。
[0006]本专利技术为达到上述专利技术目的采用如下技术方案 ...
【技术保护点】
【技术特征摘要】
1.一种面向密态数据的重复、不经意和抗链接的查询系统,其特征包括:多个数据上传模块、多个数据请求模块以及一个数据云存储模块;所述数据上传模块包括:索引生成单元、共享密钥发送单元;所述数据请求模块包括:共享密钥接收单元、令牌生成单元、证据验证单元;所述数据云存储模块包括:索引接收单元、数据搜索单元;任意第x个数据上传模块的共享密钥发送单元将所产生的共享密钥分别发送给自身的索引生成单元和第j个数据请求模块的共享密钥接收单元;所述第x个数据上传模块的索引生成单元提取数据项的身份属性、空间属性与类别属性,并计算安全索引和验证信息,再使用所述共享密钥加密所需上传的数据项属性后得到加密数据,最后与所述安全索引和验证信息一同发送给所述索引接收单元进行存储;所述索引接收单元接收所述加密数据、所述安全索引和所述验证信息后存储并转发至所述数据搜索单元;所述第j个数据请求模块的共享密钥接收单元接收所述共享密钥后,分别转发至自身的令牌生成单元和证据验证单元;第j个数据请求模块的令牌生成单元根据自身要查询的数据项的访问身份属性、空间属性以及类别属性使用所述共享密钥生成查询令牌,并发送给所述数据搜索单元;所述数据搜索单元使用所述查询令牌搜索所述安全索引,若搜索成功,则向所述第j个数据请求模块的证据验证单元发送对应的加密数据与验证信息,若搜索失败,则向所述第j个数据请求模块的证据验证单元发送空字符串;所述第j个数据请求模块的证据验证单元若接收所述加密数据,则使用所述共享密钥对所述加密数据进行解密,再根据所述验证信息生成验证结果,从而利用所述验证结果判断是否接受解密后的数据。2.一种面向密态数据的重复、不经意和抗链接的查询方法,其特征是应用于由多个数据上传方、多个数据请求方和一个数据云存储方所构成的网络环境中,所述查询方法是按如下步骤进行:步骤一、构建索引:步骤1.1任意第x个数据上传方首先生成共享密钥key,并对一组有n个数据项的数据集DI中任意第i个数据项di
i
,抽取其位置属性L
i
,再将L
i
转换为一组网格编号{gi
i1
,gi
i2
,
…
,gi
il
‑1,gi
il
},其中,gi
il
表示第i个数据项di
i
的位置属性L
i
映射在第l层的网格编号,所述第x个数据上传方从共享密钥key中选择一个密钥K0,用于将网格编号{gi
i1
,gi
i2
,
…
,gi
il
‑1,gi
il
}编码成一组按层级化分的多层位置编码LC
i
:其中,表示使用密钥K0的伪随机密钥散列消息认证码函数,||表示字符串拼接,i∈[1,n];步骤1.2给定p个伪随机密钥散列消息认证码函数h1,h2,h
v
…
,h
p
、一个随机预言机H和p+1个密钥K1,K2,K
v
…
,K
p
,K
p+1
,所述第x个数据上传方初始化一个空的不可分辨布隆过滤器IBF
i
,令从而分别将多层位置编码LC
i
的前l
‑
2层编码嵌入到不可分辨布隆过滤器IBF
i
中;其中,r
i
表示IBF
i
对应的随机数,lc
iu
表示LC
i
中第u层的层级位置编码,K
v
表示第v个密钥;h
v
表示使用
第v个密钥K
v
的伪随机密钥散列消息认证码函数,表示使用第p+1个密钥K
p+1
的伪随机密钥散列消息认证码函数;表示异或操作,v∈[1,p],u∈[2,l
‑
1];步骤1.3对于多层位置编码LC
i
的第l层,所述第x个数据上传方利用前缀编码方法首先计算g
il
的前缀族PF
i1
和di
i
的身份属性id
i
的前缀族PF
i2
,然后将PF
i1
和PF
i2
串接在一起,得到一个混合码集MC
i
;所述第x个数据上传方将lc
il
的层号和di
i
的类型属性作为混合码集MC
i
中每个代码的前缀,所述第x个数据上传方令u
′
∈[1,|MC
i
|],设置|],设置从而将MC
i
中的每个混合代码插入不可分辨布隆过滤器IBF
i
;其中,mc
u
′
表示混合码集MC
i
中第u
′
个混合代码;步骤1.4所述第x个数据上传方按步骤1.1
‑
步骤1.3的过程处理所有数据项,从而得到n个不可分辨布隆过滤器,并将n个不可分辨布隆过滤器随机排序,然后从最后一层开始,任意两个不可分辨布隆过滤器分别作为左孩子和右孩子,从而利用式(1)合并为一个不可分辨布隆过滤器作为父亲,最终按照从下向上的顺序构建索引树I:式(1)中,IBF
left
表示左孩子,IBF
right
表示右孩子,IBF
father
表示父亲,且i∈[1,m],m为不可分辨布隆过滤器的长度;步骤1.5所述第x个数据上传方基于公钥sk使用AES对称加密方法对n个数据项进行加密,得到加密的数据CT={ct1,ct2,
…
,ct
i
,
…
,ct
n
},CT中的第i个数据项ct
i
表示数据集DI中第i个数据项d...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。