CN117056961A - 一种隐私信息检索方法及计算机可读存储介质 - Google Patents
一种隐私信息检索方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117056961A CN117056961A CN202310899406.7A CN202310899406A CN117056961A CN 117056961 A CN117056961 A CN 117056961A CN 202310899406 A CN202310899406 A CN 202310899406A CN 117056961 A CN117056961 A CN 117056961A
- Authority
- CN
- China
- Prior art keywords
- data
- equal
- party
- data service
- ciphertext
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 238000013507 mapping Methods 0.000 claims abstract description 88
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 59
- 239000013598 vector Substances 0.000 claims abstract description 48
- 238000004364 calculation method Methods 0.000 claims description 108
- 238000004590 computer program Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 10
- 238000012423 maintenance Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000000243 solution Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 241000287196 Asthenes Species 0.000 description 1
- 229920002430 Fibre-reinforced plastic Polymers 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000011151 fibre-reinforced plastic Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种隐私信息检索方法及计算机可读存储介质,数据服务方和数据应用方通过协商得到随机预言机和等重码参数及映射算法,在数据应用方进行查询时,根据随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码再根据数据服务方的关键词数量t、待查询等重码和同态加密的公钥,得到密文向量,将密文向量发送给数据服务方进行查询,因此,无需将待查询关键词发送给数据服务方,保护了数据应用方的隐私,并且减少了数据服务方和数据应用方之间进行批量查询时的交互次数,提高了查询效率。
Description
技术领域
本申请涉及隐私信息检索技术领域,具体而言,涉及一种隐私信息检索方法及计算机可读存储介质。
背景技术
隐私信息检索(Private lnformation Retrieval,PlR)也成为匿踪查询,是指查询方隐藏查询目标,数据服务方提供与查询目标相匹配的查询结果,却无法获知具体对应哪个被查询对象。
当前,隐私信息检索技术主要有两种:一是IndexPIR,即基于索引的匿踪查询,比如基于不经意传输的PIR和基于同态加密的PIR等,该方法要求数据查询方在查询之前就知道要查询的数据在数据服务方的数据库中的位置,这在很多场景中是不切实际的;二是基于关键词(keyword)的PIR,简称为keyword PIR,比如基于Paillier加密算法和拉格朗日插值多项式的PIR等,数据查询方使用密态的关键词向数据服务方进行查询,通过Paillier加密算法的加法同态性和对多项式的运算获得要查询的数据。
然而,使用现有的隐私信息检索过程进行批量查询时,涉及用户与服务器间的多轮交互,影响查询效率,并且在查询时对服务器端数据的隐私保护不足,无法满足数据隐私保护的要求。
发明内容
本申请实施例的目的在于提供一种隐私信息检索方法及计算机可读存储介质,用以解决使用现有的隐私信息检索过程进行批量查询时,涉及用户与服务器间的多轮交互,影响查询效率,并且在查询时对服务器端数据的隐私保护不足,无法满足数据隐私保护的要求的问题。
本申请实施例提供的一种隐私信息检索方法,应用于数据应用方,包括:
获取随机预言机和等重码参数及映射算法;随机预言机和等重码参数及映射算法由数据服务方和数据应用方协商得到;
根据随机预言机和等重码,将待查询关键词keyq映射为待查询等重码
接收数据服务方发送的关键词数量t,根据关键词数量t、待查询等重码和同态加密的公钥,得到密文向量;
向数据服务方发送密文向量,并接收数据服务方发送的同态密文集合;
对同态密文集合,利用同态加密的私钥进行解密,得到查询结果。
上述技术方案中,数据服务方和数据应用方通过协商得到随机预言机和等重码参数及映射算法,在数据应用方进行查询时,根据随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码再根据数据服务方的关键词数量t、待查询等重码/>和同态加密的公钥,得到密文向量,将密文向量发送给数据服务方进行查询,因此,无需将待查询关键词发送给数据服务方,保护了数据应用方的查询隐私,并且数据服务方和数据应用方之间进行批量查询时的交互次数较少,提高了查询效率。
在一些可选的实施方式中,密文向量:
其中,pk为公钥。
上述技术方案中,密文向量为:利用数据应用方的公钥pk分别加密待查询等重码的1次方到t-1次方后得到的向量。
在一些可选的实施方式中,根据随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码之后,还包括:
将计算规则发送给数据服务方;
得到查询结果之后,还包括:
根据计算规则、查询结果以及数据应用方的内部数据,得到最终结果。
上述技术方案中,数据应用方在查询时,将计算规则发送给数据服务方,使得数据服务方能够根据计算规则对其数据进行计算得到关键词对应的计算结果集合,之后利用计算结果集合得到查询结果,数据应用方接收到的查询结果不包括数据服务方的原始数据,保证了数据服务方的原始数据不出本地,从而保护了数据服务方的数据隐私,之后,综合数据服务方发送的查询结果以及数据应用方本地的数据,即综合数据服务方和数据应用方两方的数据得到最终结果。
在一些可选的实施方式中,对同态密文集合,利用同态加密的私钥进行解密,得到查询结果之前,还包括:
接收数据服务方发送的等重码集合,判断待查询等重码是否在等重码集合中;
若待查询等重码在等重码集合中,则对同态密文集合进行解密;
若待查询等重码不在等重码集合中,则确定无法得到查询结果,结束流程。
上述技术方案中,可通过相等运算符来判断待查询等重码是否在等重码集合中,从而通过哈希运算、等重码和相等运算符这种计算开销较小、计算效率高的方法实现对查询目标在数据服务方数据库中是否存在进行判断,可显著减少同态加解密操作的次数,从而提升查询效率,同时减少计算开销。
本申请实施例提供的一种隐私信息检索方法,应用于数据服务方,包括:
获取随机预言机和等重码参数及映射算法;随机预言机和等重码参数及映射算法由数据服务方和数据应用方协商得到;
根据随机预言机和等重码参数及映射算法,将数据服务方的关键词keyi映射为等重码集合
根据数据服务方的t个关键词对应的数据集合以及等重码集合,构造最高幂次为t-1的多项式,并向数据应用方发送关键词数量t;
接收数据应用方发送的密文向量,根据密文向量和多项式,得到同态密文集合,并向数据应用方发送同态密文集合。
上述技术方案中,数据服务方和数据应用方通过协商得到随机预言机和等重码参数及映射算法,在数据应用方进行查询时,根据随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码再根据数据服务方的关键词数量t、待查询等重码/>和同态加密的公钥,得到密文向量,将密文向量发送给数据服务方进行查询,数据服务方根据数据服务方的t个关键词对应的数据集合以及生成的等重码集合,构造最高幂次为t-1的多项式,再根据密文向量和多项式,得到同态密文集合。本实施例的数据服务方不获得数据应用方的待查询关键词,并且数据服务方向外发送的是同态密文集合,保护了双方的隐私,并且数据服务方和数据应用方之间进行批量查询时的交互次数较少,提高了查询效率。
在一些可选的实施方式中,根据数据服务方的t个关键词对应的数据集合以及等重码集合,构造最高幂次为t-1的多项式,包括:
每个关键词对应的数据集合中的数据元素为m个,通过抽取每一数据集合中的数据元素,结合每一数据元素对应的关键词,得到m个数据集:
对m个数据集,通过拉格朗日多项式插值法,得到m个最高幂次为t-1的多项式:
gj(x)=bj0+bj1x+bj2x2+…+bj(t-1)xt-1,j∈[m]
其中,bj0,bj1,…,bj(t-1)为多项式的系数。
在一些可选的实施方式中,根据数据服务方的t个关键词对应的数据集合以及等重码集合,构造最高幂次为t-1的多项式之前,还包括:
接收数据应用方发送的计算规则;
根据数据服务方的t个关键词对应的数据集合以及等重码集合,构造最高幂次为t-1的多项式,包括:
根据计算规则对数据服务方的数据进行计算,得到t个关键词对应的计算结果集合;
每个关键词对应的计算结果集合中的数据元素为s个,通过抽取每一计算结果集合中的数据元素,结合每一数据元素对应的关键词,得到s个数据集:
对s个数据集,通过拉格朗日多项式插值法,得到s个最高幂次为t-1的多项式:
gk(x)=bk0+bk1x+bk2x2+…+bk(t-1)xt-1,k∈[s]
其中,bk0,bk1,…,bk(t-1)为多项式的系数。
上述技术方案中,数据服务方还接收数据应用方发送的计算规则,并根据计算规则对其数据进行计算得到关键词对应的计算结果集合,之后利用计算结果集合得到查询结果,数据应用方接收到的查询结果不包括数据服务方的原始数据,保证了数据服务方的原始数据不出本地,从而保护了数据服务方的数据隐私。
在一些可选的实施方式中,向数据应用方发送同态密文集合,还包括:
向数据应用方发送等重码集合。
上述技术方案中,数据服务方还将己方的等重码集合发送给数据应用方,使得数据应用方能够根据待查询等重码是否在等重码集合来判断是否需要进行解密操作,从而减少了同态加解密操作的次数,提升了查询效率,同时减少计算开销。
在一些可选的实施方式中,接收数据应用方发送的计算规则之后,还包括:
对计算规则进行如下判断:原始数据元素经计算规则处理后得到计算结果,判断能否根据计算结果反推出原始数据元素;
若能够根据计算结果反推出原始数据元素,则结束流程,并向数据应用方发送拒绝本次查询的信息。
上述技术方案中,数据服务方接收到计算规则后,对该计算规则进行安全性评估,比如,数据服务方可基于常用运算制定关于计算规则安全性的判定策略,对计算规则的安全性进行智能化判定,检验原始数据元素经该计算规则处理后,能否通过计算结果反推出原始数据元素。如果能反推出原始数据,说明通过该计算规则进行计算是不安全的,于是向数据应用方发送拒绝计算的消息。反之,说明该计算规则是安全的,数据服务方对各数据集合应用该计算规则,生成与关键词对应的多个计算结果集合。
本申请实施例提供的一种数据应用方设备,包括:
第一获取模块,用于获取随机预言机和等重码参数及映射算法;随机预言机和等重码参数及映射算法由数据服务方和数据应用方协商得到;
第一映射模块,用于根据随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码
密文向量发送模块,用于接收数据服务方发送的关键词数量t,根据关键词数量t、待查询等重码和同态加密的公钥,得到密文向量;
密文集合接收模块,用于向数据服务方发送密文向量,并接收数据服务方发送的同态密文集合;
解密模块,用于对同态密文集合,利用同态加密的私钥进行解密,得到查询结果。
本申请实施例提供的一种数据服务方设备,包括:
第二获取模块,用于获取随机预言机和等重码参数及映射算法;随机预言机和等重码参数及映射算法由数据服务方和数据应用方协商得到;
第二映射模块,用于根据随机预言机和等重码参数及映射算法,将数据服务方的关键词keyi映射为等重码集合
多项式获取模块,用于根据数据服务方的t个关键词对应的数据集合以及等重码集合,构造最高幂次为t-1的多项式,并向数据应用方发送关键词数量t;
密文集合发送模块,用于接收数据应用方发送的密文向量,根据密文向量和多项式,得到同态密文集合,并向数据应用方发送同态密文集合。
本申请实施例提供的一种电子设备,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如以上任一所述的方法。
本申请实施例提供的一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如以上任一所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种隐私信息检索方法应用于数据应用方的步骤流程图;
图2为本申请实施例提供的一种隐私信息检索方法应用于数据服务方的步骤流程图;
图3为本申请实施例提供的隐私信息检索方法步骤流程图;
图4为本申请实施例提供的一种数据应用方设备功能模块图;
图5为本申请实施例提供的一种数据服务方设备功能模块图;
图6为本申请实施例提供的电子设备的一种可能的结构示意图。
图标:11-第一获取模块,12-第一映射模块,13-密文向量发送模块,14-密文集合接收模块,15-解密模块,21-第二获取模块,22-第二映射模块,23-多项式获取模块,24-密文集合发送模块,31-处理器,32-存储器,33-通信接口,34-通信总线。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参照图1,图1为本申请实施例提供的一种隐私信息检索方法应用于数据应用方的步骤流程图,具体包括:
步骤110、获取随机预言机和等重码参数及映射算法;随机预言机和等重码参数及映射算法由数据服务方和数据应用方协商得到;
步骤120、根据随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码
步骤130、接收数据服务方发送的关键词数量t,根据关键词数量t、待查询等重码和同态加密的公钥,得到密文向量;
步骤140、向数据服务方发送密文向量,并接收数据服务方发送的同态密文集合;
步骤150、对同态密文集合,利用同态加密的私钥进行解密,得到查询结果。
本申请实施例中,数据服务方和数据应用方通过协商得到随机预言机和等重码参数及映射算法,在数据应用方进行查询时,根据随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码再根据数据服务方的关键词数量t、待查询等重码/>和同态加密的公钥,得到密文向量,将密文向量发送给数据服务方进行查询,因此,无需将待查询关键词发送给数据服务方,保护了数据应用方的隐私,并且数据服务方和数据应用方之间进行批量查询时的交互次数较少,提高了查询效率。
在一些可选的实施方式中,在步骤120根据随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码之后,还包括:
步骤121、将计算规则发送给数据服务方;
相应地,在步骤150得到查询结果之后,还包括:
步骤151、根据计算规则、查询结果以及数据应用方的内部数据,得到最终结果。
本申请实施例中,数据应用方在查询时,将计算规则发送给数据服务方,使得数据服务方能够根据计算规则对其数据进行计算得到关键词对应的计算结果集合,之后利用计算结果集合得到查询结果,数据应用方接收到的查询结果不包括数据服务方的原始数据,保证了数据服务方的原始数据不出本地,从而保护了数据服务方的数据隐私,之后,综合数据服务方发送的查询结果以及数据应用方本地的数据,即综合数据服务方和数据应用方两方的数据得到最终结果。
在一些可选的实施方式中,在步骤150对同态密文集合,利用同态加密的私钥进行解密,得到查询结果之前,还包括:
步骤141、接收数据服务方发送的等重码集合,判断待查询等重码是否在等重码集合中;若待查询等重码在等重码集合中,则对同态密文集合进行解密;若待查询等重码不在等重码集合中,则确定无法得到查询结果,结束流程。
本申请实施例中,可通过相等运算符来判断待查询等重码是否在等重码集合中,从而通过哈希运算、等重码和相等运算符这种计算开销较小、计算效率高的方法实现对查询目标在数据服务方数据库中是否存在进行判断,可显著减少同态加解密操作的次数,从而提升查询效率,同时减少计算开销。
请参照图2,图2为本申请实施例提供的一种隐私信息检索方法应用于数据服务方的步骤流程图,具体包括:
步骤210、获取随机预言机和等重码参数及映射算法;随机预言机和等重码参数及映射算法由数据服务方和数据应用方协商得到;
步骤220、根据随机预言机和等重码参数及映射算法,将数据服务方的关键词keyi映射为等重码集合
步骤230、根据数据服务方的t个关键词对应的数据集合以及等重码集合,构造最高幂次为t-1的多项式,并向数据应用方发送关键词数量t;
步骤240、接收数据应用方发送的密文向量,根据密文向量和多项式,得到同态密文集合,并向数据应用方发送同态密文集合。
本申请实施例中,数据服务方和数据应用方通过协商得到随机预言机和等重码参数及映射算法,在数据应用方进行查询时,根据随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码再根据数据服务方的关键词数量t、待查询等重码/>和同态加密的公钥,得到密文向量,将密文向量发送给数据服务方进行查询,数据服务方根据数据服务方的t个关键词对应的数据集合以及生成的等重码集合,构造最高幂次为t-1的多项式,再根据密文向量和多项式,得到同态密文集合。本实施例的数据服务方不获得数据应用方的待查询关键词,并且数据服务方向外发送的是同态密文集合,保护了双方的隐私,并且数据服务方和数据应用方之间进行批量查询时的交互次数较少,提高了查询效率。
在一些可选的实施方式中,在步骤230根据数据服务方的t个关键词对应的数据集合以及等重码集合,构造最高幂次为t-1的多项式之前,还包括:
步骤221、接收数据应用方发送的计算规则。
本申请实施例中,数据服务方还接收数据应用方发送的计算规则,并根据计算规则对其数据进行计算得到关键词对应的计算结果集合,之后利用计算结果集合得到查询结果,数据应用方接收到的查询结果不包括数据服务方的原始数据,保证了数据服务方的原始数据不出本地,从而保护了数据服务方的数据隐私。
在一些可选的实施方式中,步骤240向数据应用方发送同态密文集合的同时,还向数据应用方发送等重码集合。
本申请实施例中,数据服务方还将己方的等重码集合发送给数据应用方,使得数据应用方能够根据待查询等重码是否在等重码集合来判断是否需要进行解密操作,从而减少了同态加解密操作的次数,提升了查询效率,同时减少计算开销。
在一些可选的实施方式中,在步骤221接收数据应用方发送的计算规则之后,还包括:
步骤222、对计算规则进行如下判断:原始数据元素经计算规则处理后得到计算结果,判断能否根据计算结果反推出原始数据元素;若能够根据计算结果反推出原始数据元素,则结束流程,并向数据应用方发送拒绝本次查询的信息。
本申请实施例中,数据服务方接收到计算规则后,对该计算规则进行安全性评估,比如,数据服务方可基于常用运算制定关于计算规则安全性的判定策略,对计算规则的安全性进行智能化判定,检验原始数据元素经该计算规则处理后,能否通过计算结果反推出原始数据元素。如果能反推出原始数据,说明通过该计算规则进行计算是不安全的,于是向数据应用方发送拒绝计算的消息。反之,说明该计算规则是安全的,数据服务方对各数据集合应用该计算规则,生成与关键词对应的多个计算结果集合。
下面提供两个具体实施例,分别为对数据明文进行查询的隐私信息检索方法步骤流程,以及对数据计算结果进行查询的隐私信息检索方法步骤流程。
对数据明文进行查询的隐私信息检索方法步骤流程,具体包括:
首先,数据应用方和数据服务方协商一个随机预言机(即理想的哈希函数)h=H(x):x→[n],其中,[n]={0,1,2,…,n-1},并协商等重码(Constant-weight code,CW)的参数满足/>为保证安全性,l和n都取较大的自然数,比如,l可取为***安全参数λ,***安全参数λ常取为128或256。等重码是一种汉明重量(Hamming Weight)为常数的二进制编码,可表示为CW(l,w),其中l表示二进制编码的二进制位数,w为二进制编码的汉明重量,汉明重量是一串符号中非零符号的个数,以二进制数据串为例,二进制数据串{0,1}λ的汉明重量为其中1的个数。/>表示组合数。采用如下表1的算法将一个键key映射为等重码CW(l,w):
表1
该算法首先计算键key的哈希值,并映射到自然数集合[n]中,得到一个数值,然后使用等重码映射方法将该数值映射为等重码,使用这种的方法可以实现即使获得等重码,也很难倒推出键key的值的目的,且这种数值隐藏的方法的算法复杂度很低。
然后,数据服务方在本地对自己的数据集进行预处理,步骤为:
(1)通过ETL(抽取、转化、装载)操作将本地数据集转化为键值对(key-value)形式。
(2)通过聚合操作,将具有相同键的数据元素聚合在一起,得到多个基于关键词(键)的数据集合,与第i个关键词对应的集合记为:其中,m为集合中数据元素的个数,m≥1。显然,聚合操作后,每个与关键词对应的数据集合中数据元素的个数可能是不一样多的。本申请中,若是对数据明文进行查询,对于元素个数不足m个的集合,使用0填充到m个;若是对数据计算结果进行查询,不需要进行额外处理。
数据应用方使用图3所示的方法步骤向数据服务方发起隐匿查询,获得自己所需的、与查询关键词对应的数据集合。具体包括:
(1)数据服务方首先使用表1的算法将关键词keyi映射为长度为l、汉明重量为w的二进制字符串,记为:
(2)假设数据服务方本地共有t个与关键词对应的集合。为保证查询效率,采用并行化处理方法,由于本实施例以查询明文数据为例,此时,与每个关键词对应的数据集合中的数据元素为m个,具体来说:数据服务方分别抽取每一个集合的第1个数据元素(下标为0)、第2个数据元素(下标为1)、……、第m个数据元素(下标为m-1),结合每一个数据元素对应的关键词,构成如下所示的m个数据集:
然后分别使用拉格朗日多项式插值法得到m个最高幂次为t-1的多项式:gj(x)=bj0+bj1x+bj2x2+…+bj(t-1)xt-1,j∈[m]。
(3)数据应用方生成Paillier同态加密所用的公钥pk和私钥sk。
(4)对于待查询关键词keyq,数据应用方首先使用表1的算法将其映射为等重码,即然后使用pk分别加密/>的1次方到t-1次方,组成密文向量/>(注意:此处的1,…,t-1表示幂次,而不是上标),并将CT发送给数据服务方。
(5)数据服务方使用密文向量CT和gj(x)的系数,计算得到同态密文集合并将同态密文集合和/>发送给数据应用方。
(6)数据应用方首先使用如下相等运算符验证是否在集合/>中:
上式中,[j]表示CW码的第j位,j∈[l]。显然,e∈{0,1}。若e=1,说明同态密文集合中存在与关键词keyq对应的计算结果,数据应用方使用私钥sk对同态密文集合进行解密后,由非0元素组成的集合{gj(x)}即为查询结果;若e=0,说明/>不在集合/>中,不需要再解密同态密文集合。
对数据计算结果进行查询的隐私信息检索方法步骤流程,具体包括:
本实施例中,数据应用方为漏洞查询方,数据服务方为漏洞库维护方。本实施例中有一个软件漏洞库,其中有若干条软件漏洞相关的数据,在一定程度上,软件的漏洞信息可视为隐私信息,漏洞查询方可以用“软件名称+版本号”作为查询关键词,按照本申请所述技术方案,查询相应软件的漏洞信息(明文查询),也可以查询相应软件漏洞的统计信息(计算结果查询)。这里以查询软件漏洞的统计信息为例,具体步骤如下:
1.漏洞查询方和漏洞库维护方事先协商一个随机预言机和关键词等重码的具体算法及相应参数;
2.漏洞库维护方对漏洞库进行预处理:首先将漏洞库数据集转化为键值对(key-value)形式,以键(key)作为关键词,比如,相应的关键词可以为软件名称及软件版本号、漏洞类别、风险等级、是否已修复等,然后通过聚合操作,将具有相同键的数据元素聚合在一起,得到多个基于关键词(键)的数据集合。
3.漏洞查询方将漏洞统计信息的计算规则发送给漏洞库维护方,比如,计算规则可以是{漏洞总数量、SQL注入漏洞数量、目录遍历漏洞数量、跨站脚本漏洞数量、文件上传漏洞数量、URL重定向漏洞数量、已修复漏洞数量、……}。
4.漏洞库维护方按照计算规则对漏洞信息进行多维度统计计算,生成对应于上述关键词的多个漏洞统计信息集合,其中,空白字段用0来填充。
具体来说,漏洞库维护方接收到计算规则后,对该计算规则进行安全性评估(比如,漏洞库维护方可基于常用运算制定关于计算规则安全性的判定策略,对计算规则的安全性进行智能化判定),检验数据元素经该计算规则处理后,能否通过计算结果反推出原始数据元素。如果能反推出原始数据,说明通过该计算规则进行计算是不安全的,于是向漏洞查询方发送拒绝计算的消息。反之,说明该计算规则是安全的,漏洞库维护方对各数据集合应用该计算规则,生成与关键词对应的多个计算结果集合。假设计算结果为s个,此时,与第i个关键词对应的集合记为:本实施例中,每个与关键词对应的计算结果集合中数据元素的个数是一个确定的数值,对于元素个数不足s个的集合,使用0填充到s个。漏洞查询方获取到漏洞库维护方的数据后,用于后续进行的计算过程。因此,通过这种方式,一方面,可以将部分运算委托给漏洞库维护方进行,从而减少漏洞查询方的计算开销;另一方面,可以通过计算过程隐藏漏洞库维护方的原始数据,保证原始数据不出漏洞库维护方本地。
5.漏洞查询方使用“软件名称+版本号”作为查询关键词,向漏洞库维护方发起匿踪查询,具体过程如下:
(1)漏洞库维护方使用事先协商的等重码映射算法将全部关键词映射为等重码,记为
(2)漏洞库维护方使用多个漏洞统计信息集合和拉格朗日多项式插值法得到多个插值多项式,记为gk(x)。具体包括:
假设漏洞库维护方的关键词数量为t个。漏洞库维护方根据计算规则对数据进行计算,得到t个关键词对应的计算结果集合;
每个关键词对应的计算结果集合中的数据元素为s个,通过抽取每一计算结果集合中的数据元素,结合每一数据元素对应的关键词,得到s个数据集:
对s个数据集,通过拉格朗日多项式插值法,得到s个最高幂次为t-1的多项式:
gk(x)=bk0+bk1x+bk2x2+…+bk(t-1)xt-1,k∈[s]
其中,bk0,bk1,…,bk(t-1)为多项式的系数。
(3)漏洞查询方生成Paillier同态加密所用的公钥pk和私钥sk。
(4)漏洞查询方将查询关键词“软件名称+版本号”按照事先协商的等重码映射算法映射为等重码,记为然后使用pk分别加密/>的1次方到t-1次方,组成密文向量CT,并将CT发送给漏洞库维护方。
(5)漏洞库维护方使用密文向量CT和gk(x)的系数,计算并得到同态密文集合并将该同态密文集合和/>发送给漏洞查询方。
(6)漏洞查询方首先使用相等运算符验证是否在集合/>中,若存在,则使用自己的私钥对同态密文集合进行解密,得到查询结果;若不存在,则不需要对同态密文集合进行解密操作。
6.获得查询结果后,漏洞查询方可进行进一步计算或分析,比如,漏洞查询方可结合自己已有的统计数据,对该软件的漏洞信息进行进一步分析,得到分析结论。
请参照图4,图4为本申请实施例提供的一种数据应用方设备功能模块图,包括:第一获取模块11、第一映射模块12、密文向量发送模块13、密文集合接收模块14和解密模块15。
其中,第一获取模块11,用于获取随机预言机和等重码参数及映射算法;随机预言机和等重码参数及映射算法由数据服务方和数据应用方协商得到。第一映射模块12,用于根据随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码密文向量发送模块13,用于接收数据服务方发送的关键词数量t,根据关键词数量t、待查询等重码/>和同态加密的公钥,得到密文向量。密文集合接收模块14,用于向数据服务方发送密文向量,并接收数据服务方发送的同态密文集合。解密模块15,用于对同态密文集合,利用同态加密的私钥进行解密,得到查询结果。
请参照图5,图5为本申请实施例提供的一种数据服务方设备功能模块图,包括:第二获取模块21、第二映射模块22、多项式获取模块23和密文集合发送模块24。
其中,第二获取模块21,用于获取随机预言机和等重码参数及映射算法;随机预言机和等重码参数及映射算法由数据服务方和数据应用方协商得到。第二映射模块22,用于根据随机预言机和等重码参数及映射算法,将数据服务方的关键词keyi映射为等重码集合多项式获取模块23,用于根据数据服务方的t个关键词对应的数据集合以及等重码集合,构造最高幂次为t-1的多项式,并向数据应用方发送关键词数量t。密文集合发送模块24,用于接收数据应用方发送的密文向量,根据密文向量和多项式,得到同态密文集合,并向数据应用方发送同态密文集合。
图6示出了本申请实施例提供的电子设备的一种可能的结构。参照图6,电子设备包括:处理器31、存储器32和通信接口33,这些组件通过通信总线34和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,存储器32包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除可编程只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。处理器31以及其他可能的组件可对存储器32进行访问,读和/或写其中的数据。
处理器31包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器31可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括神经网络处理器(Neural-network Processing Unit,简称NPU)、图形处理器(Graphics ProcessingUnit,简称GPU)、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuits,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器31为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
通信接口33包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口33可以包括进行有线和/或无线通信的接口。
在存储器32中可以存储一个或多个计算机程序指令,处理器31可以读取并运行这些计算机程序指令,以实现本申请实施例提供的方法。
可以理解的,图6所示的结构仅为示意,电子设备还可以包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的结构。图6中所示的各组件可以采用硬件、软件或其组合实现。电子设备可能是实体设备,例如PC机、笔记本电脑、平板电脑、手机、服务器、嵌入式设备等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的方法。例如,计算机可读存储介质可以实现为图6中电子设备中的存储器32。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种隐私信息检索方法,其特征在于,应用于数据应用方,包括:
获取随机预言机和等重码参数及映射算法;所述随机预言机和等重码参数及映射算法由数据服务方和所述数据应用方协商得到;
根据所述随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码
接收数据服务方发送的关键词数量t,根据所述关键词数量t、待查询等重码和同态加密的公钥,得到密文向量;
向所述数据服务方发送所述密文向量,并接收所述数据服务方发送的同态密文集合;
对所述同态密文集合,利用同态加密的私钥进行解密,得到查询结果。
2.如权利要求1所述的方法,其特征在于,所述密文向量:
其中,pk为所述公钥。
3.如权利要求1所述的方法,其特征在于,所述根据所述随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码之后,还包括:
将计算规则发送给所述数据服务方;
所述得到查询结果之后,还包括:
根据所述计算规则、查询结果以及所述数据应用方的内部数据,得到最终结果。
4.如权利要求3所述的方法,其特征在于,所述对所述同态密文集合,利用同态加密的私钥进行解密,得到查询结果之前,还包括:
接收所述数据服务方发送的等重码集合,判断所述待查询等重码是否在所述等重码集合中;
若所述待查询等重码在所述等重码集合中,则对所述同态密文集合进行解密;
若所述待查询等重码不在所述等重码集合中,则确定无法得到查询结果,结束流程。
5.一种隐私信息检索方法,其特征在于,应用于数据服务方,包括:
获取随机预言机和等重码参数及映射算法;所述随机预言机和等重码参数及映射算法由所述数据服务方和数据应用方协商得到;
根据所述随机预言机和等重码参数及映射算法,将所述数据服务方的关键词keyi映射为等重码集合
根据所述数据服务方的t个关键词对应的数据集合以及所述等重码集合,构造最高幂次为t-1的多项式,并向所述数据应用方发送关键词数量t;
接收所述数据应用方发送的密文向量,根据所述密文向量和多项式,得到同态密文集合,并向所述数据应用方发送所述同态密文集合。
6.如权利要求5所述的方法,其特征在于,所述根据所述数据服务方的t个关键词对应的数据集合以及所述等重码集合,构造最高幂次为t-1的多项式,包括:
每个关键词对应的数据集合中的数据元素为m个,通过抽取每一数据集合中的数据元素,结合每一数据元素对应的关键词,得到m个数据集:
对所述m个数据集,通过拉格朗日多项式插值法,得到m个最高幂次为t-1的所述多项式:
gj(x)=bj0+bj1x+bj2x2+…+bj(t-1)xt-1,j∈[m]
其中,bj0,bj1,…,bj(t-1)为所述多项式的系数。
7.如权利要求5所述的方法,其特征在于,所述根据所述数据服务方的t个关键词对应的数据集合以及所述等重码集合,构造最高幂次为t-1的多项式之前,还包括:
接收数据应用方发送的计算规则;
所述根据所述数据服务方的t个关键词对应的数据集合以及所述等重码集合,构造最高幂次为t-1的多项式,包括:
根据所述计算规则对所述数据服务方的数据进行计算,得到t个关键词对应的计算结果集合;
每个关键词对应的计算结果集合中的数据元素为s个,,通过抽取每一计算结果集合中的数据元素,结合每一数据元素对应的关键词,得到s个数据集:
对所述s个数据集,通过拉格朗日多项式插值法,得到s个最高幂次为t-1的所述多项式:
gk(x)=bk0+bk1x+bk2x2+…+bk(t-1)xt-1,k∈[s]
其中,bk0,bk1,…,bk(t-1)为所述多项式的系数。
8.如权利要求5所述的方法,其特征在于,所述向所述数据应用方发送所述同态密文集合,还包括:
向所述数据应用方发送所述等重码集合。
9.如权利要求5所述的方法,其特征在于,所述接收数据应用方发送的计算规则之后,还包括:
对所述计算规则进行以下判断:原始数据元素经所述计算规则处理后得到计算结果,判断能否根据所述计算结果反推出所述原始数据元素;
若能够根据所述计算结果反推出所述原始数据元素,则结束流程,并向所述数据应用方发送拒绝本次查询的信息。
10.一种数据应用方设备,其特征在于,包括:
第一获取模块,用于获取随机预言机和等重码参数及映射算法;所述随机预言机和等重码参数及映射算法由数据服务方和数据应用方协商得到;
第一映射模块,用于根据所述随机预言机和等重码参数及映射算法,将待查询关键词keyq映射为待查询等重码
密文向量发送模块,用于接收数据服务方发送的关键词数量t,根据所述关键词数量t、待查询等重码和同态加密的公钥,得到密文向量;
密文集合接收模块,用于向所述数据服务方发送所述密文向量,并接收所述数据服务方发送的同态密文集合;
解密模块,用于对所述同态密文集合,利用同态加密的私钥进行解密,得到查询结果。
11.一种数据服务方设备,其特征在于,包括:
第二获取模块,用于获取随机预言机和等重码参数及映射算法;所述随机预言机和等重码参数及映射算法由所述数据服务方和数据应用方协商得到;
第二映射模块,用于根据所述随机预言机和等重码参数及映射算法,将所述数据服务方的关键词keyi映射为等重码集合
多项式获取模块,用于根据所述数据服务方的t个关键词对应的数据集合以及所述等重码集合,构造最高幂次为t-1的多项式,并向所述数据应用方发送关键词数量t;
密文集合发送模块,用于接收所述数据应用方发送的密文向量,根据所述密文向量和多项式,得到同态密文集合,并向所述数据应用方发送所述同态密文集合。
12.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1-9任一所述的方法。
13.一种计算机可读存储介质,其特征在于,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1-9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310899406.7A CN117056961A (zh) | 2023-07-20 | 2023-07-20 | 一种隐私信息检索方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310899406.7A CN117056961A (zh) | 2023-07-20 | 2023-07-20 | 一种隐私信息检索方法及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117056961A true CN117056961A (zh) | 2023-11-14 |
Family
ID=88656263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310899406.7A Pending CN117056961A (zh) | 2023-07-20 | 2023-07-20 | 一种隐私信息检索方法及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117056961A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235121A (zh) * | 2023-11-15 | 2023-12-15 | 华北电力大学 | 一种能源大数据查询方法和*** |
CN117851660A (zh) * | 2024-01-23 | 2024-04-09 | 广东电网有限责任公司信息中心 | 一种电网数据匿踪查询方法 |
-
2023
- 2023-07-20 CN CN202310899406.7A patent/CN117056961A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117235121A (zh) * | 2023-11-15 | 2023-12-15 | 华北电力大学 | 一种能源大数据查询方法和*** |
CN117235121B (zh) * | 2023-11-15 | 2024-02-20 | 华北电力大学 | 一种能源大数据查询方法和*** |
CN117851660A (zh) * | 2024-01-23 | 2024-04-09 | 广东电网有限责任公司信息中心 | 一种电网数据匿踪查询方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020133032A1 (zh) | 一种可防伪造的多用户密文搜索方法 | |
CN117056961A (zh) | 一种隐私信息检索方法及计算机可读存储介质 | |
US20090138698A1 (en) | Method of searching encrypted data using inner product operation and terminal and server therefor | |
JP2014126865A (ja) | 暗号処理装置および方法 | |
CN110413652B (zh) | 一种基于边缘计算的大数据隐私化检索方法 | |
CN104967693A (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
CN111404952B (zh) | 变电站数据加密传输方法、装置、计算机设备和存储介质 | |
CN112529586B (zh) | 交易信息管理方法、装置、设备及存储介质 | |
CN107704768A (zh) | 一种密文的多关键字分级安全检索方法 | |
CN109951279A (zh) | 一种基于区块链和边缘设备的匿名数据存储方法 | |
WO2018070932A1 (en) | System and method for querying an encrypted database for documents satisfying an expressive keyword access structure | |
Liu et al. | Secure KNN classification scheme based on homomorphic encryption for cyberspace | |
CN114969128B (zh) | 一种基于安全多方计算技术的隐匿查询方法、***和存储介质 | |
CN108282328A (zh) | 一种基于同态加密的密文统计方法 | |
CN117828673A (zh) | 基于区块链的数据流通与隐私保护方法及装置 | |
CN111475690A (zh) | 字符串的匹配方法和装置、数据检测方法、服务器 | |
CN115033925B (zh) | 一种数据库安全检索方法 | |
CN116708502A (zh) | 一种基于区块链的电力***量测数据安全共享方法 | |
Xu et al. | Fine-grained access control scheme based on improved proxy re-encryption in cloud | |
JP5799635B2 (ja) | 暗号データ検索システム、装置、方法及びプログラム | |
CN108141462B (zh) | 数据库查询的方法和*** | |
CN115599959A (zh) | 数据共享方法、装置、设备及存储介质 | |
KR101709086B1 (ko) | 사물 인터넷 환경에서의 컨텍스트 기반 보안방법 및 그에 따른 시스템 | |
CN115168909A (zh) | 一种基于比较索引的密文数据范围查询方法和*** | |
CN114710320A (zh) | 一种基于区块链和多密钥全同态加密的边缘计算隐私保护方法 |
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 |