CN114595472A - 面向密态数据的重复、不经意和抗链接的查询方法与系统 - Google Patents
面向密态数据的重复、不经意和抗链接的查询方法与系统 Download PDFInfo
- Publication number
- CN114595472A CN114595472A CN202210225905.3A CN202210225905A CN114595472A CN 114595472 A CN114595472 A CN 114595472A CN 202210225905 A CN202210225905 A CN 202210225905A CN 114595472 A CN114595472 A CN 114595472A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- party
- query
- token
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012795 verification Methods 0.000 claims description 68
- 239000000284 extract Substances 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 235000013550 pizza Nutrition 0.000 description 9
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种面向密态数据的重复、不经意和抗链接的查询方法与系统,应用于由多个数据上传模块、多个数据请求模块与一个数据云存储模块构成的环境;数据上传模块计算访问时间受限的数据安全索引,并同加密数据上传到数据云存储模块且与一些数据请求模块共享密钥;数据请求模块根据访问时间生成查询令牌,将令牌提交到数据云存储模块,等待数据发回后解密匹配的数据并验证真实性,否则一直等待有效数据;数据云存储模块从数据上传模块接收安全索引与加密数据,从数据请求模块接收令牌,使用令牌搜索安全索引并返回最近临的k项查询结果与证据。本发明能以一种不经意的和抗链接的方式重复匹配来自云的数据项,并抵御云与数据所有者的串谋攻击。
Description
技术领域
本发明可以实现一种面向密态数据的重复、不经意和抗链接的查询方法与系统,属于隐私保护、云服务以及加密数据查询技术领域。
背景技术
智能手机现在配备了全球定位系统(GPS)模块和各种支持基于位置的服务(LBS)的应用程序。它的工作原理是将数据用户的当前位置查询发送给服务提供商。服务提供商将查询与数据所有者的数据项进行匹配,并向数据用户检索相应的结果。例如,谷歌地图允许数据用户找到当前位置附近的星巴克、酒吧和餐馆。
虽然LBS提供了实际的好处,但由于位置揭示和不可信的服务提供商产生的隐私问题是LBS被广泛采用的主要障碍。首先,提交的位置信息可能包括用户的敏感地点。第二,位置信息往往与人类活动密切相关,比如访问癌症医院和在酒店会见朋友。
此外,近十年来,由于网络攻击、硬件故障或误操作等原因导致的数据泄露事件也有很多报道,同时很多企业在保护储存在服务提供商上的数据的意识仍比较薄弱,使得数据安全性问题日益严重。
发明内容
本发明是为了解决上述现有技术存在的不足之处,提出一种面向密态数据的重复、不经意和抗链接的查询方法与系统,以期能在云上密态数据查询过程中抵抗不可信数据云存储方的安全威胁,并实现重复、不经意和抗链接的SkNN查询,从而保护数据上传方和数据请求方的隐私问题,保护数据上传方和数据请求方的信息安全。
本发明为达到上述发明目的采用如下技术方案:
本发明一种面向密态数据的重复、不经意和抗链接的查询系统的特点包括:多个数据上传模块、多个数据请求模块以及一个数据云存储模块;
所述数据上传模块包括:索引生成单元、共享密钥发送单元;
所述数据请求模块包括:共享密钥接收单元、令牌生成单元、证据验证单元;
所述数据云存储模块包括:索引接收单元、数据搜索单元;
任意第x个数据上传模块的共享密钥发送单元将所产生的共享密钥分别发送给自身的索引生成单元和第j个数据请求模块的共享密钥接收单元;
所述第x个数据上传模块的索引生成单元提取数据项的身份属性、空间属性与类别属性,并计算安全索引和验证信息,再使用所述共享密钥加密所需上传的数据项属性后得到加密数据,最后与所述安全索引和验证信息一同发送给所述索引接收单元进行存储;
所述索引接收单元接收所述加密数据、所述安全索引和所述验证信息后存储并转发至所述数据搜索单元;
所述第j个数据请求模块的共享密钥接收单元接收所述共享密钥后,分别转发至自身的令牌生成单元和证据验证单元;
第j个数据请求模块的令牌生成单元根据自身要查询的数据项的访问身份属性、空间属性以及类别属性使用所述共享密钥生成查询令牌,并发送给所述数据搜索单元;
所述数据搜索单元使用所述查询令牌搜索所述安全索引,若搜索成功,则向所述第j个数据请求模块的证据验证单元发送对应的加密数据与验证信息,若搜索失败,则向所述第j个数据请求模块的证据验证单元发送空字符串;
所述第j个数据请求模块的证据验证单元若接收所述加密数据,则使用所述共享密钥对所述加密数据进行解密,再根据所述验证信息生成验证结果,从而利用所述验证结果判断是否接受解密后的数据。
本发明一种面向密态数据的重复、不经意和抗链接的查询方法的特点是应用于由多个数据上传方、多个数据请求方和一个数据云存储方所构成的网络环境中,所述查询方法是按如下步骤进行:
步骤一、构建索引:
步骤1.1任意第x个数据上传方首先生成共享密钥key,并对一组有n个数据项的数据集DI中任意第i个数据项dii,抽取其位置属性Li,再将Li转换为一组网格编号{gii1,gii2,…,giil-1,giil},其中,giil表示第i个数据项dii的位置属性Li映射在第l层的网格编号,所述第x个数据上传方从共享密钥key中选择一个密钥K0,用于将网格编号{gii1,gii2,…,giil-1,giil}编码成一组按层级化分的多层位置编码LCi:其中,表示使用密钥K0的伪随机密钥散列消息认证码函数,||表示字符串拼接,i∈[1,n];
步骤1.2给定p个伪随机密钥散列消息认证码函数h1,h2,hv…,hp、一个随机预言机H和p+1个密钥K1,K2,Kv…,Kp,Kp+1,所述第x个数据上传方初始化一个空的不可分辨布隆过滤器IBFi,令从而分别将多层位置编码LCi的前l-2层编码嵌入到不可分辨布隆过滤器IBFi中;其中,ri表示IBFi对应的随机数,lciu表示LCi中第u层的层级位置编码,Kv表示第v个密钥;hv表示使用第v个密钥Kv的伪随机密钥散列消息认证码函数,表示使用第p+1个密钥Kp+1的伪随机密钥散列消息认证码函数;表示异或操作,v∈[1,p],u∈[2,l-1];
步骤1.3对于多层位置编码LCi的第l层,所述第x个数据上传方利用前缀编码方法首先计算gil的前缀族PFi1和dii的身份属性idi的前缀族PFi2,然后将PFi1和PFi2串接在一起,得到一个混合码集MCi;
所述第x个数据上传方将lcil的层号和dii的类型属性作为混合码集MCi中每个代码的前缀,所述第x个数据上传方令u′∈[1,|MCi|],设置 从而将MCi中的每个混合代码插入不可分辨布隆过滤器IBFi;其中,mcu′表示混合码集MCi中第u′个混合代码;
步骤1.4所述第x个数据上传方按步骤1.1-步骤1.3的过程处理所有数据项,从而得到n个不可分辨布隆过滤器,并将n个不可分辨布隆过滤器随机排序,然后从最后一层开始,任意两个不可分辨布隆过滤器分别作为左孩子和右孩子,从而利用式(1)合并为一个不可分辨布隆过滤器作为父亲,最终按照从下向上的顺序构建索引树I:
式(1)中,IBFleft表示左孩子,IBFright表示右孩子,IBFfather表示父亲,且i∈[1,m],m为不可分辨布隆过滤器的长度;
步骤1.5所述第x个数据上传方基于公钥sk使用AES对称加密方法对n个数据项进行加密,得到加密的数据CT={ct1,ct2,…,cti,…,ctn},CT中的第i个数据项cti表示数据集DI中第i个数据项dii经过AES对称加密方法加密所得到的密文;
所述第x个数据上传方根据索引树I的叶子节点的不可分辨布隆过滤器的值计算叶子节点的哈希值HV;然后从下到上计算每个非叶子节点的哈希值HV=hash(HVleft+HVright);HVleft表示左孩子节点哈希值,HVright表示右孩子节点哈希值,最后计算得到根节点的哈希值RT并作为验证信息;
步骤1.6所述第x个数据上传方将所述索引树I和随机数集合作为安全索引,再将加密后的数据CT={ct1,ct2,…,ctn}以及验证信息RT提交到所述数据云存储方;同时将共享密钥key分享给任一数据请求方;
步骤二、令牌生成:
步骤2.3对于位置编码LC的第l层,所述第j个数据请求方先计算Exp(gl)的最小前缀族M1,然后在计算身份扩展函数R(idi)的最小前缀族M2,其中,当idi为偶数时:R(idi)=[idi,idi+1]∨[idi+2,idi+3]∨…∨[idi+2|S(1,n)|-2,idi+2|S(1,n)|-1]
当idi为奇数时:
R(idi)=[idi-1,idi]∨[idi+1,idi+2]∨…∨[idi+2|S(1,n)|-3,idi+2|S(1,n)|-2],|S(1,n)|表示(1,n)这个范围的最小前缀族的长度,通过连接M1和M2得到一个混合编码集MC,然后将位置编码lcl的层号和类型作为每个混合代码的前缀,从而得到令牌Tj的第二部分Tj2,最后所述第j个数据请求方将令牌Tj发送给所述数据云存储方;
步骤三、查询处理:
步骤3.1所述数据云存储方分别从多个数据上传方接收到相应的安全索引,并从第j个数据请求方接收到查询令牌Tj;
步骤3.2所述数据云存储方从索引树I的根节点开始从上往下利用检查所述查询令牌Tj的第一部分Tj1,是否能匹配所有的前l-1层编码,其中,u∈[2,l-1],若索引树I的第i个节点能匹配Tj1,则返回验证信息{HVi,HVroot}以及随机数ri给所述第j个数据请求方,然后从第i个节点的子节点开始继续往下查询,直到查询至索引树I的叶子节点,否则,查询到不满足Tj1的第i个节点为止,从而返回空的字符串、验证信息{HVi,HVroot}以及随机数ri给所述第j个数据请求方;其中,HVi表示索引树的第i个节点的哈希值;
步骤3.3所述数据云存储方在叶子节点利用检查所述查询令牌T的第二部分T2是否均能匹配到任意一个安全索引,若索引树I的第i个节点能匹配Tj2,则返回相应的加密数据Ei、验证信息{HVi,HVroot}以及随机数ri给所述第j个数据请求方以进一步解密数据,否则,查询到不满足Tj2的第i个节点为止,返回空的字符串、验证信息{HVi,HVroot}以及随机数ri给所述第j个数据请求方;
步骤四、验证结果:
步骤4.1所述第j个数据请求方从所述数据云存储方接收加密数据Ei或空的字符串,从第i个数据上传方接收到共享密钥key,并使用所述共享密钥key解密所述加密数据Ei以验证加密数据Ei的正确性;
步骤4.2所述第j个数据请求方从所述数据云存储方接收验证信息集合HVx以及随机数集合,并根据验证信息集合HVx中的元素计算验证节点哈希值HVver=hash(HVa+HVb),比较HVroot与HVver是否相同以验证加密数据Ei的完整性;其中,HVx表示在所述第x个数据上传方生成的索引树查询时返回的验证信息集合,其中,a,b=1,2,…,|HVx|,|HVx|表示集合验证信息集合HVx的长度。
与现有技术相比,本发明的有益效果在于:
1、本发明中数据上传方提取数据项的身份属性、空间属性与类别属性计算安全索引和验证信息,加密数据后与索引和验证信息一起提交给数据云存储方,并与数据请求方共享密钥。数据请求方生成查询令牌提交给数据云存储方以获得需要数据和验证信息,验证查询结果。数据云存储方使用令牌搜索安全索引并返回相应数据和验证信息。通过这种方式解决了在加密和不断更新的数据上实现重复、不经意和抗链接的SkNN查询,并有效保护了数据上传方和数据请求方的隐私;
2、本发明使用多层结构的位置编码、前缀编码方法以及伪随机哈希函数方法使数据上传方生成安全索引和验证信息,使得恶意的数据云存储方无法获知数据上传方的空间位置等信息,达到了强索引安全性;
3、本发明实现了在数据上传方、数据请求方与数据云存储方中各方上的低计算成本计算操作,实现了各方的较低开销通讯,有效降低了查询响应时间,避免了复杂的交互操作以本地执行为主,且安全K最近邻查询处理的准确性并未降低。
附图说明
图1是现有技术中安全K最近邻查询模型图;
图2是本发明一种面向密态数据的重复、不经意和抗链接的查询方法与系统的模型图;
图3是本发明一种面向密态数据的重复、不经意和抗链接的查询方法与系统的概览图。
具体实施方式
本实施例中,一个典型的安全K最近邻查询处理如图1所示,数据上传模块加密数据并计算安全索引上传至数据云存储模块,数据请求模块向数据云存储模块发出安全K最近邻查询并获得返回结果;
本实施例中,一种面向密态数据的重复、不经意和抗链接的查询方法与系统,如图2所示,包括多个数据上传模块、多个数据请求模块以及一个数据云存储模块;
以一次搜索附近的披萨店服务中的云上密态数据重复的查询处理为例,数据上传模块为提供就餐服务的披萨店、数据请求模块为需要使用以前查询和体验过的披萨店服务的客人、数据云存储模块为第三方平台。客人将自己的位置和披萨店的身份属性提交给第三方平台,由第三方平台匹配合适的披萨店进行预定;
数据上传模块包括:索引生成单元、共享密钥发送单元;
数据请求模块包括:共享密钥接收单元、令牌生成单元、证据验证单元;
数据云存储模块包括:索引接收单元、数据搜索单元;
任意第x个数据上传模块的共享密钥发送单元将所产生的共享密钥分别发送给自身的索引生成单元和第j个数据请求模块的共享密钥接收单元;
第x个数据上传模块的索引生成单元提取数据项的身份属性、空间属性与类别属性,并计算安全索引和验证信息,再使用共享密钥加密所需上传的数据项属性后得到加密数据,最后与安全索引和验证信息一同发送给索引接收单元进行存储;
索引接收单元接收加密数据、安全索引和验证信息后存储并转发至数据搜索单元;
第j个数据请求模块的共享密钥接收单元接收共享密钥后,分别转发至自身的令牌生成单元和证据验证单元;
第j个数据请求模块的令牌生成单元根据自身要查询的数据项的访问身份属性、空间属性以及类别属性使用共享密钥生成查询令牌,并发送给数据搜索单元;
数据搜索单元使用查询令牌搜索安全索引,若搜索成功,则向第j个数据请求模块的证据验证单元发送对应的加密数据与验证信息,若搜索失败,则向第j个数据请求模块的证据验证单元发送空字符串;
第j个数据请求模块的证据验证单元若接收加密数据,则使用共享密钥对加密数据进行解密,再根据验证信息生成验证结果,从而利用验证结果判断是否接受解密后的数据。
如图3所示,本实施例中使用基于金字塔的分层结构对位置属性进行空间编码,并且采用基于隐私保护的范围查询来生成数据项的身份前缀,进一步,本方法将重复查询问题和位置查询问题结合起来,将位置码和身份前缀混合在一起,然后利用IBF构建安全索引,并通过成员检查实现SkNN查询,最后,数据用户解密并验证接收到的结果。
本实施例中,一种面向密态数据的重复、不经意和抗链接的查询方法与系统是应用于由多个数据上传方、多个数据请求方和一个数据云存储方所构成的网络环境中,并按如下步骤进行:
步骤一、构建索引:
步骤1.1任意第x个数据上传方首先给定共享密钥key,第x个数据上传方先将数据集DI中每一个数据项dii的位置属性Li转换为一组网格编号{gii1,gii2,…,giil-1,giil},dii为位置Li相关的有用信息,例如提供服务的披萨店上传的身份信息、披萨店地址信息等,计算其加密数据Ei,这里的加密算法是AES加密算法,位置编码按照金字塔状结构编码,金字塔有四个层次,即L1、L2、L3、L4,从第二层L2开始,该区域被划分为多个网格,L2、L3、L4分别有4个、16个和64个网格,gii表示该披萨店每一层所在的网格编号,第x个数据上传方然后选择一个密钥K0,将网格编号编码成一组按层级化分的位置编码:其中,表示使用密钥K0的伪随机密钥散列消息认证码函数,||表示字符串拼接,i∈[1,n];
步骤1.2给定p个伪随机密钥散列消息认证码函数h1,h2,hv…,hp、一个随机预言机H和p+1个密钥K1,K2,Kv…,Kp,Kp+1,第x个数据上传方初始化一个空的不可分辨布隆过滤器IBFi,令从而分别将多层位置编码LCi的前l-2层编码嵌入到不可分辨布隆过滤器IBFi中;其中,ri表示IBFi对应的随机数,lciu表示LCi中第u层的层级位置编码,Kv表示第v个密钥;hv表示使用第v个密钥Kv的伪随机密钥散列消息认证码函数,表示使用第p+1个密钥Kp+1的伪随机密钥散列消息认证码函数,密钥散列消息认证码指在数据之中加入密钥再进行散列运算得到的散列值;表示异或操作,v∈[1,p],u∈[2,l-1];
步骤1.3对于多层位置编码LCi的第l层,第x个数据上传方利用前缀编码方法首先计算gil的前缀族PFi1和dii的身份属性idi的前缀族PFi2,然后将PFi1和PFi2串接在一起,得到一个混合码集MCi;
第x个数据上传方将lcil的层号和dii的类型属性作为混合码集MCi中每个代码的前缀,第x个数据上传方令u′∈[1,|MCi|],设置 从而将MCi中的每个混合代码插入不可分辨布隆过滤器IBFi;其中,mcu′表示混合码集MCi中第u′个混合代码;
步骤1.4第x个数据上传方按步骤1.1-步骤1.3的过程处理所有数据项,从而得到n个不可分辨布隆过滤器,并将n个不可分辨布隆过滤器随机排序,然后从最后一层开始,任意两个不可分辨布隆过滤器分别作为左孩子和右孩子,从而利用式(1)合并为一个不可分辨布隆过滤器作为父亲,最终按照从下向上的顺序构建索引树I:
式(1)中,IBFleft表示左孩子,IBFright表示右孩子,IBFfather表示父亲,且i∈[1,m],m为不可分辨布隆过滤器的长度;
步骤1.5第x个数据上传方基于公钥sk使用AES对称加密方法对n个数据项进行加密,得到加密的数据CT={ct1,ct2,…,ctn},CT中的数据项cti表示数据集DI中第i个数据项dii经过AES对称加密方法加密所得到的密文;
第x个数据上传方根据索引树I的叶子节点的不可分辨布隆过滤器的值计算叶子节点的哈希值HV;然后从下到上计算每个非叶子节点的哈希值HV=hash(HVleft+HVright);HVleft表示左孩子节点哈希值,HVright表示右孩子节点哈希值,最后计算得到根节点的哈希值RT并作为验证信息;
步骤1.6第x个数据上传方将索引树I和随机数集合作为安全索引,再将加密后的数据CT={ct1,ct2,…,ctn}以及验证信息RT提交到数据云存储方;同时将共享密钥key分享给任一数据请求方;
步骤二、令牌生成:
步骤2.1任意第j个数据请求方利用空间编码方法将所需请求数据项的位置按层级化分的位置编码LC:其中,lcu表示LC的第u层的位置编码,Exp(gl)表示网格扩展函数,例如在披萨店服务中,客人输入查询地址信息并将它转换为金字塔结构的分层编码;
步骤2.3对于位置编码LC的第l层,第j个数据请求方先计算Exp(gl)的最小前缀族M1,然后在计算身份扩展函数R(idi)的最小前缀族M2,其中,当idi为偶数时:R(idi)=[idi,idi+1]∨[idi+2,idi+3]∨…∨[idi+2|S(1,n)|-2,idi+2|S(1,n)|-1]
当idi为奇数时:
R(idi)=[idi-1,idi]∨[idi+1,idi+2]∨…∨[idi+2|S(1,n)|-3,idi+2|S(1,n)|-2],|S(1,n)|表示(1,n)这个范围的最小前缀族的长度,通过连接M1和M2得到一个混合编码集MC,然后将位置编码lcl的层号和类型作为每个混合代码的前缀,从而得到令牌Tj的第二部分Tj2,最后第j个数据请求方将令牌Tj发送给数据云存储方;
步骤三、查询处理:
步骤3.1数据云存储方分别从多个数据上传方接收到相应的安全索引,并从第j个数据请求方接收到查询令牌Tj;
步骤3.2所述数据云存储方从索引树I的根节点开始从上往下利用检查所述查询令牌Tj的第一部分Tj1,是否能匹配所有的前l-1层编码,其中,u∈[2,l-1],若索引树I的第i个节点能匹配Tj1,则返回验证信息{HVi,HVroot}以及随机数ri给所述第j个数据请求方,然后从第i个节点的子节点开始继续往下查询,直到查询至索引树I的叶子节点,否则,查询到不满足Tj1的第i个节点为止,从而返回空的字符串、验证信息{HVi,HVroot}以及随机数ri给所述第j个数据请求方;其中,HVi表示索引树的第i个节点的哈希值;
步骤3.3数据云存储方在叶子节点利用检查查询令牌T的第二部分T2是否均能匹配到任意一个安全索引,若索引树I的第i个节点能匹配Tj2,则返回相应的加密数据Ei、验证信息{HVi,HVroot}以及随机数ri给第j个数据请求方以进一步解密数据,否则查询到不满足Tj2的第i个节点为止为止,返回空的字符串、验证信息{HVi,HVroot}以及随机数ri给第j个数据请求方;
步骤四、验证结果:
步骤4.1第j个数据请求方从数据云存储方接收加密数据Ei或空的字符串,从第i个数据上传方接收到共享密钥key,并使用共享密钥key解密加密数据Ei以验证加密数据Ei的正确性;
步骤4.2第j个数据请求方从数据云存储方接收验证信息集合HVx以及随机数集合,并根据验证信息集合HVx中的元素计算验证节点哈希值HVver=hash(HVa+HVb),比较HVroot与HVver是否相同以验证加密数据Ei的完整性;其中,HVx表示在第x个数据上传方生成的索引树查询时返回的验证信息集合,其中,a,b=1,2,…,|HVx|,|HVx|表示集合验证信息集合HVx的长度。
综上所述,本发明在安全K最近邻算法的基础上进行了改进,解决了一种面向密态数据的重复、不经意和抗链接的查询方法与系统,能够有效抵抗不可信数据云存储方的安全威胁,从而保护数据请求方的隐私安全与财产安全。
Claims (2)
1.一种面向密态数据的重复、不经意和抗链接的查询系统,其特征包括:多个数据上传模块、多个数据请求模块以及一个数据云存储模块;
所述数据上传模块包括:索引生成单元、共享密钥发送单元;
所述数据请求模块包括:共享密钥接收单元、令牌生成单元、证据验证单元;
所述数据云存储模块包括:索引接收单元、数据搜索单元;
任意第x个数据上传模块的共享密钥发送单元将所产生的共享密钥分别发送给自身的索引生成单元和第j个数据请求模块的共享密钥接收单元;
所述第x个数据上传模块的索引生成单元提取数据项的身份属性、空间属性与类别属性,并计算安全索引和验证信息,再使用所述共享密钥加密所需上传的数据项属性后得到加密数据,最后与所述安全索引和验证信息一同发送给所述索引接收单元进行存储;
所述索引接收单元接收所述加密数据、所述安全索引和所述验证信息后存储并转发至所述数据搜索单元;
所述第j个数据请求模块的共享密钥接收单元接收所述共享密钥后,分别转发至自身的令牌生成单元和证据验证单元;
第j个数据请求模块的令牌生成单元根据自身要查询的数据项的访问身份属性、空间属性以及类别属性使用所述共享密钥生成查询令牌,并发送给所述数据搜索单元;
所述数据搜索单元使用所述查询令牌搜索所述安全索引,若搜索成功,则向所述第j个数据请求模块的证据验证单元发送对应的加密数据与验证信息,若搜索失败,则向所述第j个数据请求模块的证据验证单元发送空字符串;
所述第j个数据请求模块的证据验证单元若接收所述加密数据,则使用所述共享密钥对所述加密数据进行解密,再根据所述验证信息生成验证结果,从而利用所述验证结果判断是否接受解密后的数据。
2.一种面向密态数据的重复、不经意和抗链接的查询方法,其特征是应用于由多个数据上传方、多个数据请求方和一个数据云存储方所构成的网络环境中,所述查询方法是按如下步骤进行:
步骤一、构建索引:
步骤1.1任意第x个数据上传方首先生成共享密钥key,并对一组有n个数据项的数据集DI中任意第i个数据项dii,抽取其位置属性Li,再将Li转换为一组网格编号{gii1,gii2,…,giil-1,giil},其中,giil表示第i个数据项dii的位置属性Li映射在第l层的网格编号,所述第x个数据上传方从共享密钥key中选择一个密钥K0,用于将网格编号{gii1,gii2,…,giil-1,giil}编码成一组按层级化分的多层位置编码LCi:其中,表示使用密钥K0的伪随机密钥散列消息认证码函数,||表示字符串拼接,i∈[1,n];
步骤1.2给定p个伪随机密钥散列消息认证码函数h1,h2,hv…,hp、一个随机预言机H和p+1个密钥K1,K2,Kv…,Kp,Kp+1,所述第x个数据上传方初始化一个空的不可分辨布隆过滤器IBFi,令从而分别将多层位置编码LCi的前l-2层编码嵌入到不可分辨布隆过滤器IBFi中;其中,ri表示IBFi对应的随机数,lciu表示LCi中第u层的层级位置编码,Kv表示第v个密钥;hv表示使用第v个密钥Kv的伪随机密钥散列消息认证码函数,表示使用第p+1个密钥Kp+1的伪随机密钥散列消息认证码函数;表示异或操作,v∈[1,p],u∈[2,l-1];
步骤1.3对于多层位置编码LCi的第l层,所述第x个数据上传方利用前缀编码方法首先计算gil的前缀族PFi1和dii的身份属性idi的前缀族PFi2,然后将PFi1和PFi2串接在一起,得到一个混合码集MCi;
所述第x个数据上传方将lcil的层号和dii的类型属性作为混合码集MCi中每个代码的前缀,所述第x个数据上传方令u′∈[1,|MCi|],设置 从而将MCi中的每个混合代码插入不可分辨布隆过滤器IBFi;其中,mcu′表示混合码集MCi中第u′个混合代码;
步骤1.4所述第x个数据上传方按步骤1.1-步骤1.3的过程处理所有数据项,从而得到n个不可分辨布隆过滤器,并将n个不可分辨布隆过滤器随机排序,然后从最后一层开始,任意两个不可分辨布隆过滤器分别作为左孩子和右孩子,从而利用式(1)合并为一个不可分辨布隆过滤器作为父亲,最终按照从下向上的顺序构建索引树I:
式(1)中,IBFleft表示左孩子,IBFright表示右孩子,IBFfather表示父亲,且i∈[1,m],m为不可分辨布隆过滤器的长度;
步骤1.5所述第x个数据上传方基于公钥sk使用AES对称加密方法对n个数据项进行加密,得到加密的数据CT={ct1,ct2,…,cti,…,ctn},CT中的第i个数据项cti表示数据集DI中第i个数据项dii经过AES对称加密方法加密所得到的密文;
所述第x个数据上传方根据索引树I的叶子节点的不可分辨布隆过滤器的值计算叶子节点的哈希值HV;然后从下到上计算每个非叶子节点的哈希值HV=hash(HVleft+HVright);HVleft表示左孩子节点哈希值,HVright表示右孩子节点哈希值,最后计算得到根节点的哈希值RT并作为验证信息;
步骤1.6所述第x个数据上传方将所述索引树I和随机数集合作为安全索引,再将加密后的数据CT={ct1,ct2,…,ctn}以及验证信息RT提交到所述数据云存储方;同时将共享密钥key分享给任一数据请求方;
步骤二、令牌生成:
步骤2.3对于位置编码LC的第l层,所述第j个数据请求方先计算Exp(gl)的最小前缀族M1,然后在计算身份扩展函数R(idi)的最小前缀族M2,其中,当idi为偶数时:
R(idi)=[idi,idi+1]∨[idi+2,idi+3]∨…∨[idi+2|S(1,n)|-2,idi+2|S(1,n)|-1]
当idi为奇数时:
R(idi)=[idi-1,idi]∨[idi+1,idi+2]∨…∨[idi+2|S(1,n)|-3,idi+2|S(1,n)|-2],
|S(1,n)|表示(1,n)这个范围的最小前缀族的长度,通过连接M1和M2得到一个混合编码集MC,然后将位置编码lcl的层号和类型作为每个混合代码的前缀,从而得到令牌Tj的第二部分Tj2,最后所述第j个数据请求方将令牌Tj发送给所述数据云存储方;
步骤三、查询处理:
步骤3.1所述数据云存储方分别从多个数据上传方接收到相应的安全索引,并从第j个数据请求方接收到查询令牌Tj;
步骤3.2所述数据云存储方从索引树I的根节点开始从上往下利用检查所述查询令牌Tj的第一部分Tj1,是否能匹配所有的前l-1层编码,其中,u∈[2,l-1],若索引树I的第i个节点能匹配Tj1,则返回验证信息{HVi,HVroot}以及随机数ri给所述第j个数据请求方,然后从第i个节点的子节点开始继续往下查询,直到查询至索引树I的叶子节点,否则,查询到不满足Tj1的第i个节点为止,从而返回空的字符串、验证信息{HVi,HVroot}以及随机数ri给所述第j个数据请求方;其中,HVi表示索引树的第i个节点的哈希值;
步骤3.3所述数据云存储方在叶子节点利用检查所述查询令牌T的第二部分T2是否均能匹配到任意一个安全索引,若索引树I的第i个节点能匹配Tj2,则返回相应的加密数据Ei、验证信息{HVi,HVroot}以及随机数ri给所述第j个数据请求方以进一步解密数据,否则,查询到不满足Tj2的第i个节点为止,返回空的字符串、验证信息{HVi,HVroot}以及随机数ri给所述第j个数据请求方;
步骤四、验证结果:
步骤4.1所述第j个数据请求方从所述数据云存储方接收加密数据Ei或空的字符串,从第i个数据上传方接收到共享密钥key,并使用所述共享密钥key解密所述加密数据Ei以验证加密数据Ei的正确性;
步骤4.2所述第j个数据请求方从所述数据云存储方接收验证信息集合HVx以及随机数集合,并根据验证信息集合HVx中的元素计算验证节点哈希值HVver=hash(HVa+HVb),比较HVroot与HVver是否相同以验证加密数据Ei的完整性;其中,HVx表示在所述第x个数据上传方生成的索引树查询时返回的验证信息集合,其中,a,b=1,2,…,|HVx|,|HVx|表示集合验证信息集合HVx的长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210225905.3A CN114595472B (zh) | 2022-03-09 | 2022-03-09 | 面向密态数据的重复、不经意和抗链接的查询方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210225905.3A CN114595472B (zh) | 2022-03-09 | 2022-03-09 | 面向密态数据的重复、不经意和抗链接的查询方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114595472A true CN114595472A (zh) | 2022-06-07 |
CN114595472B CN114595472B (zh) | 2024-02-20 |
Family
ID=81806933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210225905.3A Active CN114595472B (zh) | 2022-03-09 | 2022-03-09 | 面向密态数据的重复、不经意和抗链接的查询方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114595472B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018148493A (ja) * | 2017-03-08 | 2018-09-20 | 日本放送協会 | 鍵生成装置、中間暗号化装置、委託暗号化装置、データ検索装置、復号装置およびそれらのプログラム |
CN111274247A (zh) * | 2020-01-17 | 2020-06-12 | 西安电子科技大学 | 一种基于密文时空数据的可验证范围查询方法 |
CN111935141A (zh) * | 2020-08-10 | 2020-11-13 | 合肥工业大学 | 一种针对密态数据的单次不经意抗链接的查询系统与方法 |
CN112948903A (zh) * | 2021-03-24 | 2021-06-11 | 中国电子科技集团公司第三十研究所 | 一种面向大数据存储的密态搜索技术架构及方法 |
-
2022
- 2022-03-09 CN CN202210225905.3A patent/CN114595472B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018148493A (ja) * | 2017-03-08 | 2018-09-20 | 日本放送協会 | 鍵生成装置、中間暗号化装置、委託暗号化装置、データ検索装置、復号装置およびそれらのプログラム |
CN111274247A (zh) * | 2020-01-17 | 2020-06-12 | 西安电子科技大学 | 一种基于密文时空数据的可验证范围查询方法 |
CN111935141A (zh) * | 2020-08-10 | 2020-11-13 | 合肥工业大学 | 一种针对密态数据的单次不经意抗链接的查询系统与方法 |
CN112948903A (zh) * | 2021-03-24 | 2021-06-11 | 中国电子科技集团公司第三十研究所 | 一种面向大数据存储的密态搜索技术架构及方法 |
Non-Patent Citations (1)
Title |
---|
李宇溪;周福才;徐剑;徐紫枫;: "双服务器模型下支持相关度排序的多关键字密文搜索方案", 计算机研究与发展, no. 10, 15 October 2018 (2018-10-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN114595472B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101593196B (zh) | 用于快速密文检索的方法、装置和系统 | |
CN106803784A (zh) | 安全多媒体云存储中基于格的多用户模糊可搜索加密方法 | |
US8874930B2 (en) | Graph encryption | |
CN105024802B (zh) | 云存储中基于双线性对的多用户多关键词可搜索加密方法 | |
JP6381128B2 (ja) | 検索システム、クライアント、サーバ、検索プログラムおよび検索方法 | |
CN111935141B (zh) | 一种针对密态数据的单次不经意抗链接的查询系统与方法 | |
CN111930881B (zh) | 基于国密算法的连接关键词认证可搜索加密方法 | |
CN108111587B (zh) | 一种基于时间释放的云存储搜索方法 | |
CN110390203B (zh) | 一种可验证解密权限的策略隐藏属性基加密方法 | |
CN112365945A (zh) | 基于区块链的电子病历细粒度访问控制和密文可搜索方法 | |
CN110392038A (zh) | 一种多用户场景下可验证的多密钥可搜索加密方法 | |
CN108021677A (zh) | 云计算分布式检索引擎的控制方法 | |
RuWei et al. | Study of privacy-preserving framework for cloud storage | |
CN107885705A (zh) | 一种高效可扩展的安全的文档相似性计算方法和装置 | |
Ning et al. | Efficient encrypted data search with expressive queries and flexible update | |
CN113645039A (zh) | 一种基于不同权限的通信信息传输系统及方法 | |
Ma et al. | Efficient public key encryption with outsourced equality test for cloud-based IoT environments | |
Falk et al. | Durasift: A robust, decentralized, encrypted database supporting private searches with complex policy controls | |
Li et al. | Secure deduplication storage systems with keyword search | |
CN105763324A (zh) | 可控制的可验证多用户端可搜索加密搜索方法 | |
CN117454442A (zh) | 匿名安全和可追溯的分布式数字取证方法与系统 | |
CN114595472B (zh) | 面向密态数据的重复、不经意和抗链接的查询方法与系统 | |
CN116663046A (zh) | 基于区块链的隐私数据共享和检索方法、系统及设备 | |
CN113132345B (zh) | 具有可搜索功能的代理隐私集合求交方法 | |
CN108055256A (zh) | 云计算SaaS的平台高效部署方法 |
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 |