CN114662147B - 一种适用于大规模数据库的隐私信息检索方法及系统 - Google Patents

一种适用于大规模数据库的隐私信息检索方法及系统 Download PDF

Info

Publication number
CN114662147B
CN114662147B CN202210297064.7A CN202210297064A CN114662147B CN 114662147 B CN114662147 B CN 114662147B CN 202210297064 A CN202210297064 A CN 202210297064A CN 114662147 B CN114662147 B CN 114662147B
Authority
CN
China
Prior art keywords
user
server
polynomial
bucket
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.)
Active
Application number
CN202210297064.7A
Other languages
English (en)
Other versions
CN114662147A (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.)
Information Center of Yunnan Power Grid Co Ltd
Original Assignee
Information Center of Yunnan Power Grid Co Ltd
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 Information Center of Yunnan Power Grid Co Ltd filed Critical Information Center of Yunnan Power Grid Co Ltd
Priority to CN202210297064.7A priority Critical patent/CN114662147B/zh
Publication of CN114662147A publication Critical patent/CN114662147A/zh
Application granted granted Critical
Publication of CN114662147B publication Critical patent/CN114662147B/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
    • 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/6245Protecting personal data, e.g. for financial or medical purposes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种适用于大规模数据库的隐私信息检索方法及系统,通过利用不经意多项式传输和Paillier同态加密保护了用户查询目标和服务器数据库的隐私安全,充分考虑了实际场景中用户的个性化隐私需求以及分桶数量对通信开销和计算成本的影响。通过在用户指定的k个关键词对应的子集上执行分桶操作和不经意多项式计算,可有效降低整体的计算复杂度,并可满足实际场景中用户的个性化隐私需求偏好。通过公开的哈希函数可降低用户和服务器间的密文通信次数以及用户的解密操作复杂度,提升隐私信息检索的响应速度。

Description

一种适用于大规模数据库的隐私信息检索方法及系统
技术领域
本发明属于数据安全领域,涉及一种适用于大规模数据库的隐私信息检索方法及系统。
背景技术
隐私信息检索是数据库查询中的一种隐私安全技术,其应用场景为服务器向第三方提供查询服务,需要实现服务器和用户间双向的隐私,即保证查询用户的查询隐私偏好不被服务器获知,同时保证用户不能获得本次查询目标之外的数据库相关信息。不经意传输是实现隐私信息检索的关键方法,但由于不经意传输的实现需要对整个数据库的数据进行加解密计算以及服务器和用户间的多次传输,因此传统隐私信息检索方法的计算复杂度与数据库规模成线性关系,从而难以支撑大规模数据库上的隐私信息检索。为解决该问题,已有研究提出数据库并行检索、MDS编码存储、多轮次不经意传输等方法降低计算或通信复杂度,但由于其隐私保护通常为数据库级隐私安全,仍然会产生很大的通信和计算开销。考虑到很多实际场景中用户仅需要实现k-匿名的隐私保护,即服务器不能从k条信息中区分出用户的查询对象。例如,某银行向电力金融服务平台查询某机械制造企业的用电信用时,银行可设置该隐私信息在制造行业不可区分,而无须在所有行业中不可区。因此,设计满足k-匿名的大规模数据库隐私信息检索方法具有重要的现实意义。
发明内容
本发明的目的在于解决现有技术中的问题,提供一种适用于大规模数据库的隐私信息检索方法及系统,能够满足用户根据自身的隐私需求和服务质量需求,保证用户在单次查询中发起对多个关键词的信息检索的能力,降低用户的解密计算复杂度。
为达到上述目的,本发明采用以下技术方案予以实现:
一种适用于大规模数据库的隐私信息检索方法,包括:
步骤1、设置初始协议参量,设置隐私需求参量k和可承担费用参量μ′,其中k表示目标关键词的匿名级别,μ′表示用户愿意为该次查询所支付的最大费用;
步骤2、确认协议参量,依据通信开销和计算成本最小化原则,在设置的初始参量k,μ′基础上计算最佳分桶数量L和实际支付费用μ;
步骤3、发送关键词列表,获取包含查询对象w*在内的k个关键词列表{w1,…,k},并支付确认后的查询费用μ;
步骤4、从数据库中选择与关键词列表{w1,…,k}对应的k条记录{m1,…,k},并利用公开的哈希函数H(w)将关键词列表映射到L个桶中,其中函数H的映射范围为L;
步骤5、构建每个分桶上的多项式,对第j∈{1,…,L}桶,构建关键词到数据信息的多项式
Figure GDA0004093898070000021
其中dj表示第j个桶中包含的数据量;
步骤6、将查询目标w*的1到m次幂的Paillier进行加密,得到密文列表
Figure GDA0004093898070000022
其中m表示每个桶中包含的最大数据量;
步骤7、计算多项式值,根据每个桶的大小将对应的密文列表分别代入多项式Zj(w)得到密文结果Enc
Figure GDA0004093898070000023
步骤8、解密得到查询结果,利用公开的哈希函数H(w)获知w*映射的桶索引H(w*),利用Paillier私钥解密密文
Figure GDA0004093898070000031
得到
Figure GDA0004093898070000032
并验证最后l为是否为零,若是则m*为查询结果,否则输出⊥表示数据库中未检索到关键词w*
本发明的进一步改进在于:
步骤1、步骤3、步骤6和步骤8为用户的工作;所述步骤2、步骤4、步骤5和步骤7为服务器的工作;
步骤1还包括:用户将隐私需求参量k和可承担费用参量μ′发送给服务器;步骤2还包括:服务器将实际支付费用μ发送给用户;步骤3还包括:用户将关键词列表发送给服务器;步骤6还包括:用户将得到的密文列表发送至服务器;步骤7还包括:服务器将得到的密文发送至用户。
步骤1具体为:用户结合自身的隐私需求和支付能力设置相应的隐私参量k和费用参量μ′,对于给定的隐私需求参量k,增大费用参量μ′,提升查询的响应速度;对于给定的费用参量μ′,增大隐私需求参量k,降低查询的响应速度。
步骤2中的在设置的初始化协议参量k,μ′基础上计算最佳分桶数量L和用户需实际支付费用μ;具体为:
步骤2.1、建立通信开销和计算成本的优化问题
Figure GDA0004093898070000033
s.t.≤n
μ≥L+αk
其中,Ccommu表示总体通信开销,包括用户向服务器上传的k个关键词和k/L个密文,服务器向用户发送的L个桶上的多项式结果,Ccomp表示服务器的计算成本;第一个约束条件表示k-匿名的上界为数据库规模n,第二个约束条件表示用户需支付的费用上界为服务器的通信开销和计算成本,α表示计算成本转化为通信开销的权重;
步骤2.2、求解步骤2.1中的优化问题,得到最优分桶数量L为
Figure GDA0004093898070000041
步骤2.3、确定用户的支付费用,若用户可承担费用μ′在区间
Figure GDA0004093898070000042
Figure GDA0004093898070000043
则用户的实际支付用费μ=μ′;若用户可承担费用
Figure GDA0004093898070000044
则用户的实际支付费用为
Figure GDA0004093898070000045
此时最优分桶数量不再随着费用的增大而增大;
步骤2.4、将分桶数量L和确认后的支付费用μ发送给用户。
步骤4具体为:服务器选择一个公开的、输出范围为L的哈希函数H(w)将k个关键词{w1,…*,…,k}映射到L个桶,同时从数据库中选取关键词列表{w1,…*,…,k}对应的k条记录,若数据库包含关键词wi,则数据库中对应信息为mi,否则为⊥表示数据库无此信息。
步骤5包括以下步骤:
步骤5.1、服务器在每个桶上构建多项式
Figure GDA0004093898070000046
其中ws表示映射到第j个桶的关键词,dj表示第j个桶对应的关键词的数量;
步骤5.2、服务器在第j个桶上构建多项式:
Figure GDA0004093898070000047
其中,0l表示位0,l是设定的统计隐私参量;
步骤5.3、服务器构建多项式Zj(w)=j·j(w)+j(w),其中rj为随机非负整数;
步骤5.4、服务器将多项式Zj(w)展开为w的标准形式
Figure GDA0004093898070000048
步骤6包括以下步骤:
步骤6.1、用户生成Paillier同态加密的公钥pub和私钥pri;
步骤6.2、用户利用公钥pub加密查询目标w*的1到m次幂
Figure GDA0004093898070000051
得到
Figure GDA0004093898070000052
并将密文发送给服务器,其中m是所有桶上的最大映射数量。
步骤7包括以下步骤:
步骤7.1、服务器依据第j个桶的大小dj
Figure GDA0004093898070000053
中选择前dj个密文
Figure GDA0004093898070000054
步骤7.2、服务器将密文
Figure GDA0004093898070000055
代入到多项式Zj(w)得到L个密文结果
Figure GDA0004093898070000056
步骤7.3、服务器将
Figure GDA0004093898070000057
L发送给用户。
步骤8包括以下步骤:
步骤8.1、用户基于公开的哈希函数H(w)得到w*被映射的桶序号为H(w*);
步骤8.2、用户从服务器发送的多项式密文列表中选择第H(w*)个密文;
步骤8.3、用户利用步骤6.1生成的私钥pri解密
Figure GDA0004093898070000058
若w*包含在数据库
Figure GDA0004093898070000059
则用户将得到解密信息m*|0l,验证隐私统计参量l,得到查询信息m*,否则得到⊥表示数据库中未检索到关键词w*
一种适用于大规模数据库的隐私信息检索系统,包括:
初始协议参量设置模块,所述初始协议参量设置模块用于设置隐私需求参量k和可承担费用参量μ′,其中k表示目标关键词的匿名级别,μ′表示用户愿意为该次查询所支付的最大费用;
协议参量确认模块,所述协议参量确认模块依据通信开销和计算成本最小化原则,在设置的初始参量k,μ′基础上计算最佳分桶数量L和实际支付费用μ;
关键词列表获取模块,所述关键词列表获取模块用于获取包含查询对象w*在内的k个关键词列表{w1,…,k},并支付确认后的查询费用v;
分桶映射模块,所述分桶映射模块从数据库中选择与关键词列表{w1,…,k}对应的k条记录{m1,…,k},并利用公开的哈希函数H(w)将关键词列表映射到L个桶中,其中函数H的映射范围为L;
多项式构建模块,所述多项式构建模块用于对第j∈{1,…,L}桶,构建关键词到数据信息的多项式
Figure GDA0004093898070000061
其中dj表示第j个桶中包含的数据量;
加密模块,所述加密模块用于将查询目标w*的1到m次幂的Paillier进行加密,得到密文列表
Figure GDA0004093898070000062
其中m表示每个桶中包含的最大数据量;
多项式值计算模块,所述多项式值计算模块根据每个桶的大小将对应的密文列表分别代入多项式Zj(w)得到密文结果
Figure GDA0004093898070000063
Figure GDA0004093898070000064
解密模块,所述解密模块利用公开的哈希函数H(w)获知w*映射的桶索引H(w*),利用Paillier私钥解密密文
Figure GDA0004093898070000065
得到
Figure GDA0004093898070000066
并验证最后l为是否为零,若是则m*为查询结果,否则输出⊥表示数据库中未检索到关键词w*
与现有技术相比,本发明具有以下有益效果:
本发明基于用户和服务器在正式执行隐私信息检索前,用户将其查询偏好隐私需求k和可承担费用μ′发送给服务器,服务器基于通信开销和计算成本最小化原则,得到最佳的分桶数量L和实际支付费用μ,并将需要支付的实际费用反馈给用户。实现了用户根据自身的隐私需求和服务质量需求。同时服务器在构建每个桶对应的多项式Zj(w)=rj·j(w)+j(w)时引入了随机整数rj,因而即使用户发起的两次相同的查询,其仅能得到查询到数据库中与其查询关键词对应的信息,而不能通过多次查询获得查询之外的数据库相关信息,保证了用户可在单次查询中发起对多个关键词的信息检索。最后用户在获得查询结果明文时无需解密服务器反馈的每个桶上的密文。由于服务器使用公开的哈希函数建立关键词和桶之间的映射,所以当用户用私钥对密文进行解密时,用户首先基于哈希函数得到查询关键词对应的桶序号,然后解密该桶对应的密文即可,降低了用户的解密计算复杂度。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的适用于大规模数据库的隐私信息检索方法的逻辑架构示意图;
图2为本发明在用电增信查询的流程示意图;
图3为协议通信开销与隐私参量和费用参量关系图;
图4为用户上传密文数量与隐私参量和费用参量关系图;
图5为本发明的适用于大规模数据库的隐私信息检索系统结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,若出现术语“水平”,并不表示要求部件绝对水平,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
下面结合附图对本发明做进一步详细描述:
参见图1,本发明公开了一种适用于大规模数据库的隐私信息检索方法,无论针对诚信或非诚信的用户或服务器,协议的安全性体现在以下三个方面:
1)当用户和服务器是诚信时,即他们会诚实地执行协议,则根据不经意多项式计算和Paillier同态加密技术本身的安全性,用户不能获得其查询目标之外的任何数据库信息,同时服务器不能获得用户的查询目标。
2)当服务器是非诚信的,即服务器会从用户发送的包含查询目标w*在内的k个关键词列表{w1,w2,…,w*,…,wk}和目标关键词的1到m次密文
Figure GDA0004093898070000091
并且基于Paillier加密的公钥和私钥均在用户侧。根据k-匿名技术,服务器不能从关键词列表中明确关键词w*,同时由Paillier同态加密技术保证,服务器不能从密文中解密出真实的w*
3)当用户是非诚信的,即用户会从服务器发送的密文中推测其查询目标之外的数据库信息。由于用户接收到的服务器信息为Zj(w*)=rj*Pj(w*)+Qj(w*),其中rj为随机数,所以对于用户的每次查询,服务器均基于rj生成Zj。因此,根据多项式Pj(w)和Qj(w)的定义,用户不能从单次查询中获得除w*之外的其它信息。除此之外,同于rj的使用,用户也不能通过发起重复查询而获得数据库的额外信息。
为达到上述目的,具体包括以下步骤:
步骤1、用户设置初始协议参量,用户设置隐私需求参量k和可承担费用参量μ′并将参量发送给服务器,其中k表示目标关键词的匿名级别,即服务器不能从k个关键词列表中明确目标关键词,μ′表示用户愿意为该次查询所支付的最大费用;
步骤2、服务器确认协议参量,服务器依据通信开销和计算成本最小化原则,在用户设置的初始参量k,μ′基础上计算最佳分桶数量L和用户需实际支付费用μ并将μ发送给用户;
步骤2.1、建立通信开销和计算成本的可近似为以下优化问题
Figure GDA0004093898070000101
其中,Ccommu表示总体通信开销,包括用户向服务器上传的k个关键词和k/L个密文,服务器向用户发送的L个桶上的多项式结果,Ccomp表示服务器的计算成本;第一个约束条件表示k-匿名的上界为数据库规模n,第二个约束条件表示用户需支付的费用上界为服务器的通信开销和计算成本,α表示计算成本转化为通信开销的权重;
步骤2.2、求解方程(1),得到最优分桶数量L为
Figure GDA0004093898070000102
步骤2.3、服务器确定用户的支付费用,若用户可承担费用μ′在区间
Figure GDA0004093898070000103
则用户的实际支付用费μ=μ′;若用户可承担费用
Figure GDA0004093898070000104
则用户的实际支付费用为
Figure GDA0004093898070000105
步骤2.4、服务器将分桶数量L和需要支付费用发送给用户;
步骤3、用户发送关键词列表,用户将包含查询对象w*在内的k个关键词列表{w1,…,k}发送给服务器并支付确认后的查询费用μ;
步骤4、服务器映射分桶,服务器从数据库中选择与用户关键词列表{w1,…,k}对应的k条记录{m1,…,k},并利用公开的哈希函数H(w)将关键词列表映射到L个桶中,其中函数H的映射范围为L;
服务器选择一个公开的、输出范围为L的哈希函数H(w)将k个关键词{w1,…*,…,k}映射到L个桶,同时从数据库中选取关键词列表{w1,…*,…,k}对应的k条记录,若数据库包含关键词wi,则数据库中对应信息为mi,否则为⊥表示数据库无此信息。
步骤5、服务器构建多项式,对第j∈{1,…,L}桶,服务器构建关键词到数据信息的多项式
Figure GDA0004093898070000111
其中dj表示第j个桶中包含的数据量。
步骤5.1、服务器在每个桶上构建多项式
Figure GDA0004093898070000112
其中ws表示映射到第j个桶的关键词,dj表示第j个桶对应的关键词的数量;
步骤5.2、服务器在第j个桶上构建多项式:
Figure GDA0004093898070000113
其中,0l表示位0,l是设定的统计隐私参量;
步骤5.3、服务器在第j个桶上构建多项式Zj(w)=j·j(w)+j(w),其中rj为随机非负整数;
步骤5.4、服务器将多项式Zj(w)展开为w的标准形式
Figure GDA0004093898070000114
步骤6、用户发送查询目标的密文,用户将查询目标w*的1到m次幂的Paillier加密密文
Figure GDA0004093898070000115
发送给服务器,其中m表示每个桶中包含的最大数据量。
步骤6.1、用户生成Paillier同态加密的公钥pub和私钥pri;
步骤6.2、用户利用公钥pub加密查询目标w*的1到m次幂
Figure GDA0004093898070000116
得到
Figure GDA0004093898070000117
并将密文发送给服务器,其中m是所有桶上的最大映射数量。
步骤7、服务器计算多项式值,服务器根据每个桶的大小将对应的密文分别代入多项式Zj(w)得到密文结果
Figure GDA0004093898070000121
并将结果发送给用户。
步骤7.1、服务器依据第j个桶的大小dj
Figure GDA0004093898070000122
中选择前dj个密文
Figure GDA0004093898070000123
步骤7.2、服务器将密文
Figure GDA0004093898070000124
代入到多项式Zj(w)得到L个密文结果
Figure GDA0004093898070000125
步骤7.3、服务器将
Figure GDA0004093898070000126
L发送给用户。
步骤8、用户解密得到查询结果,用户利用公开的哈希函数H(w)获知w*映射的桶索引H(w*),用户利用Paillier私钥解密密文
Figure GDA0004093898070000127
得到
Figure GDA0004093898070000128
用户验证最后l为是否为零,若是则m*为查询结果,否则输出⊥表示数据库中未检索到关键词w*
步骤8.1、用户基于公开的哈希函数H(w)观测w*被映射的桶序号H(w*);
步骤8.2、用户从服务器发送的多项式密文列表中选择第H(w*)个密文;
步骤8.3、用户利用步骤6.1生成的私钥pri解密
Figure GDA0004093898070000129
Figure GDA00040938980700001210
在数据库
Figure GDA00040938980700001211
则用户将得到解密信息m*|0l,验证隐私统计参量l,得到查询信息m*,否则得到⊥表示数据库中未检索到关键词w*
参见图2,将本发明应用在企业用电增信报告数据库上的查询流程为:
步骤1、用户设置查询查询词为“企业1”,k-匿名中k=14,费用参量为μ=20;
步骤2、服务器基于公式(1)得到分桶数量L=3,费用μ=18;
步骤3、用户发送包含“企业1”在内的“企业1”至“企业14”给服务器;
步骤4、服务器首先从数据库选择与关键词列表对应的记录,若无,则标注该消息为⊥,然后基于公开的哈希函数将14个关键词映射到三个桶中,每个桶对应的数量分别为4,4,5,其中查询目标“企业1”映射到第2个桶中;
步骤5、在三个桶上分别构建多项式Zj(w)=1*i(w)+i(w),j=1,2,3;
步骤6、用户基于Paillier同态加密生成公钥和私钥,利用公钥将查询目标w*=“企业1”的1到5次幂
Figure GDA0004093898070000131
发送给服务器;
步骤7、服务器利用Enc(w*),…,
Figure GDA0004093898070000132
计算Z1(w)的结果,利用Enc(w*),…,
Figure GDA0004093898070000133
计算Z2(w)的结果,利用Enc(w*),…,
Figure GDA0004093898070000134
计算Z3(w)的结果,并将结果发送给用户;
步骤8、用户首先用哈希函数计算出w*被映射到第二个桶,然后由步骤6中的私钥解密Enc2(w*)),若数据库包括关键词w*=“企业1”,则用户得到相应的用电增信报告,否则用户得到符号⊥表示数据库中不含关键词w*
图3和图4展示了协议通信成本和用户上传通信开销和用户的隐私需求k以及承担费用μ间的关系。对于给定的匿名程度k,图3表示随着用户承担费用μ的增大,协议的通信开销逐渐降低,即用户可以通过支付更多的费用换取更快的服务响应。同时,图3表示通信成本存在下界,此时即使用户继续增大费用其查询响应不会无限提升。除此之外,图3表示对于给定的用户支付费用μ,随着匿名程度k的减小,协议的通信开销随之减小,即用户可通过降低隐私需求换取更快的服务响应。图4表示对于给定的匿名程度k,用户上传的密文开销随着用用户承担费用μ的增大而减小。但同时,由于分桶数量存在上界,所以对于给定的k,用户需要上传的密文数量存在下界。此外,图4表示对于给定的用户支付费用μ,随着隐私参量k的减小,用户需要上传的密文数量也随之减小,即用户可通过降低隐私需求换取上传通信开销。
参见图5,本发明公布了一种适用于大规模数据库的隐私信息检索系统,包括:
初始协议参量设置模块,所述初始协议参量设置模块用于设置隐私需求参量k和可承担费用参量μ′,其中k表示目标关键词的匿名级别,μ′表示用户愿意为该次查询所支付的最大费用;
协议参量确认模块,所述协议参量确认模块依据通信开销和计算成本最小化原则,在设置的初始参量k,μ′基础上计算最佳分桶数量L和实际支付费用μ;
关键词列表获取模块,所述关键词列表获取模块用于获取包含查询对象w*在内的k个关键词列表{w1,…,k},并支付确认后的查询费用μ;
分桶映射模块,所述分桶映射模块从数据库中选择与关键词列表{w1,…,k}对应的k条记录{m1,…,k},并利用公开的哈希函数H(w)将关键词列表映射到L个桶中,其中函数H的映射范围为L;
多项式构建模块,所述多项式构建模块用于对第j∈{1,…,L}桶,构建关键词到数据信息的多项式
Figure GDA0004093898070000141
其中dj表示第j个桶中包含的数据量;
加密模块,所述加密模块用于将查询目标w*的1到m次幂的Paillier进行加密,得到密文列表
Figure GDA0004093898070000142
其中m表示每个桶中包含的最大数据量;
多项式值计算模块,所述多项式值计算模块根据每个桶的大小将对应的密文列表分别代入多项式Zj(w)得到密文结果
Figure GDA0004093898070000143
Figure GDA0004093898070000144
解密模块,所述解密模块利用公开的哈希函数H(w)获知w*映射的桶索引H(w*),利用Paillier私钥解密密文
Figure GDA0004093898070000151
得到
Figure GDA0004093898070000152
并验证最后l为是否为零,若是则m*为查询结果,否则输出⊥表示数据库中未检索到关键词w*
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种适用于大规模数据库的隐私信息检索方法,其特征在于,包括:
步骤1、用户设置初始协议参量,设置隐私需求参量k和可承担费用参量μ′,其中k表示目标关键词的匿名级别,μ′表示用户愿意为该次查询所支付的最大费用;用户将隐私需求参量k和可承担费用参量μ′发送给服务器;
步骤2、服务器确认协议参量,依据通信开销和计算成本最小化原则,在设置隐私需求参量k和费用参量μ′的基础上计算最佳分桶数量L和实际支付费用μ;服务器将实际支付费用μ发送给用户;
步骤2.1、建立通信开销和计算成本的优化问题
Figure FDA0004093898060000011
s.t.k≤n
μ≥L+αk
其中,Ccommu表示总体通信开销,包括用户向服务器上传的k个关键词和k/L个密文,服务器向用户发送的L个桶上的多项式结果,Ccomp表示服务器的计算成本;第一个约束条件表示k-匿名的上界为数据库规模n,第二个约束条件表示用户需支付的费用上界为服务器的通信开销和计算成本,α表示计算成本转化为通信开销的权重;
步骤2.2、求解步骤2.1中的优化问题,得到最优分桶数量L为
Figure FDA0004093898060000012
步骤2.3、确定用户的支付费用,若用户可承担费用μ′在区间
Figure FDA0004093898060000013
Figure FDA0004093898060000014
则用户的实际支付用费μ=μ′;若用户可承担费用
Figure FDA0004093898060000015
则用户的实际支付费用为
Figure FDA0004093898060000016
此时最优分桶数量不再随着费用的增大而增大;
步骤2.4、将分桶数量L和确认后的支付费用μ发送给用户;
步骤3、用户发送关键词列表,获取包含查询对象w*在内的k个关键词列表{w1,…,wk},并支付确认后的查询费用μ;用户将关键词列表发送给服务器;
步骤4、服务器从数据库中选择与关键词列表{w1,…,wk}对应的k条记录{m1,…,mk},并利用公开的哈希函数H(w)将关键词列表映射到L个桶中,其中函数H的映射范围为L;
步骤5、服务器构建每个分桶上的多项式,对第j∈{1,…,L}桶,构建关键词到数据信息的多项式
Figure FDA0004093898060000021
其中dj表示第j个桶中包含的数据量;
步骤5.1、服务器在每个桶上构建多项式
Figure FDA0004093898060000022
其中ws表示映射到第j个桶的关键词,dj表示第j个桶对应的关键词的数量;
步骤5.2、服务器在第j个桶上构建多项式:
Figure FDA0004093898060000023
其中,0l表示l位0,l是设定的统计隐私参量;
步骤5.3、服务器构建多项式Zj(w)=rj·Pj(w)+Qj(w),其中rj为随机非负整数;
步骤5.4、服务器将多项式Zj(w)展开为w的标准形式
Figure FDA0004093898060000024
步骤6、用户将查询目标w*的1到m次幂的Paillier进行加密,得到密文列表
Figure FDA0004093898060000025
其中m表示所有分桶包含的数据量的最大值;
m=maxj=1,2,…,L{dj},其中dj表示第j个桶中包含的数据量;用户将得到的密文列表发送至服务器;
步骤6.1、用户生成Paillier同态加密的公钥pub和私钥pri;
步骤6.2、用户利用公钥pub加密查询目标w*的1到m次幂
Figure FDA0004093898060000026
得到
Figure FDA0004093898060000031
并将密文发送给服务器;
步骤7、服务器计算多项式值,根据每个桶的大小将对应的密文列表分别代入多项式Zj(w)得到密文结果
Figure FDA0004093898060000032
服务器将得到的密文发送至用户;
步骤7.1、服务器依据第j个桶的大小dj
Figure FDA0004093898060000033
中选择前dj个密文
Figure FDA0004093898060000034
步骤7.2、服务器将密文
Figure FDA0004093898060000035
代入到多项式Zj(w)得到L个密文结果
Figure FDA0004093898060000036
步骤7.3、服务器将
Figure FDA0004093898060000037
发送给用户;
步骤8、用户解密得到查询结果,利用公开的哈希函数H(w)获知w*映射的桶索引H(w*),利用Paillier私钥解密密文
Figure FDA0004093898060000038
得到
Figure FDA0004093898060000039
并验证最后l为是否为零,若是则m*为查询结果,否则输出⊥表示数据库中未检索到关键词w*
步骤8.1、用户基于公开的哈希函数H(w)得到w*被映射的桶序号为H(w*);
步骤8.2、用户从服务器发送的多项式密文列表中选择第H(w*)个密文;
步骤8.3、用户利用私钥pri解密
Figure FDA00040938980600000310
若w*包含在数据库x,则用户将得到解密信息m*|0l,验证隐私统计参量l,得到查询信息m*,否则得到⊥表示数据库中未检索到关键词w*
2.根据权利要求1所述的适用于大规模数据库的隐私信息检索方法,其特征在于,所述步骤1具体为:用户结合自身的隐私需求和支付能力设置相应的隐私参量k和费用参量μ′,对于给定的隐私需求参量k,增大费用参量μ′,提升查询的响应速度;对于给定的费用参量μ′,增大隐私需求参量k,降低查询的响应速度。
3.根据权利要求2所述的适用于大规模数据库的隐私信息检索方法,其特征在于,所述步骤4具体为:服务器选择一个公开的、输出范围为L的哈希函数H(w)将k个关键词{w1,…w*,…,wk}映射到L个桶,同时从数据库中选取关键词列表{w1,…w*,…,wk}对应的k条记录,若数据库包含关键词wi,则数据库中对应信息为mi,否则为⊥表示数据库无此信息。
4.一种适用于大规模数据库的隐私信息检索系统,其特征在于,包括:
初始协议参量设置模块,所述初始协议参量设置模块在于用户设置隐私需求参量k和可承担费用参量μ′,其中k表示目标关键词的匿名级别,μ′表示用户愿意为该次查询所支付的最大费用;用户将隐私需求参量k和可承担费用参量μ′发送给服务器;
协议参量确认模块,所述协议参量确认模块在于服务器确认协议参量,依据通信开销和计算成本最小化原则,在设置隐私需求参量k和费用参量μ′的基础上计算最佳分桶数量L和实际支付费用μ;服务器将实际支付费用μ发送给用户;
建立通信开销和计算成本的优化问题
Figure FDA0004093898060000041
s.t.k≤n
μ≥L+αk
其中,Ccommu表示总体通信开销,包括用户向服务器上传的k个关键词和k/L个密文,服务器向用户发送的L个桶上的多项式结果,Ccomp表示服务器的计算成本;第一个约束条件表示k-匿名的上界为数据库规模n,第二个约束条件表示用户需支付的费用上界为服务器的通信开销和计算成本,α表示计算成本转化为通信开销的权重;
求解优化问题,得到最优分桶数量L为
Figure FDA0004093898060000051
确定用户的支付费用,若用户可承担费用μ′在区间
Figure FDA0004093898060000052
则用户的实际支付用费μ=μ′;若用户可承担费用
Figure FDA0004093898060000053
则用户的实际支付费用为
Figure FDA0004093898060000054
此时最优分桶数量不再随着费用的增大而增大;
将分桶数量L和确认后的支付费用μ发送给用户;
关键词列表获取模块,所述关键词列表获取模块在于用户获取包含查询对象w*在内的k个关键词列表{w1,…,wk},并支付确认后的查询费用μ;用户将关键词列表发送给服务器;
分桶映射模块,所述分桶映射模块在于服务器从数据库中选择与关键词列表{w1,…,wk}对应的k条记录{m1,…,mk},并利用公开的哈希函数H(w)将关键词列表映射到L个桶中,其中函数H的映射范围为L;
多项式构建模块,所述多项式构建模块在于服务器构建每个分桶上的多项式,用于对第j∈{1,…,L}桶,构建关键词到数据信息的多项式
Figure FDA0004093898060000055
其中dj表示第j个桶中包含的数据量;
服务器在每个桶上构建多项式
Figure FDA0004093898060000056
其中ws表示映射到第j个桶的关键词,dj表示第j个桶对应的关键词的数量;
服务器在第j个桶上构建多项式:
Figure FDA0004093898060000057
其中,0l表示l位0,l是设定的统计隐私参量;
服务器构建多项式Zj(w)=rj·Pj(w)+Qj(w),其中rj为随机非负整数;
服务器将多项式Zj(w)展开为w的标准形式
Figure FDA0004093898060000061
加密模块,所述加密模块在于用户将查询目标w*的1到m次幂的Paillier进行加密,得到密文列表
Figure FDA0004093898060000062
其中m表示所有分桶包含的数据量的最大值;m=maxj=1,2,…,L{dj},其中dj表示第j个桶中包含的数据量;用户将得到的密文列表发送至服务器;
用户生成Paillier同态加密的公钥pub和私钥pri;
用户利用公钥pub加密查询目标w*的1到m次幂
Figure FDA0004093898060000063
得到
Figure FDA0004093898060000064
并将密文发送给服务器;
多项式值计算模块,所述多项式值计算模块在于服务器计算多项式值,根据每个桶的大小将对应的密文列表分别代入多项式Zj(w)得到密文结果
Figure FDA0004093898060000065
服务器将得到的密文发送至用户;
服务器依据第j个桶的大小dj
Figure FDA0004093898060000066
中选择前dj个密文
Figure FDA0004093898060000067
服务器将密文
Figure FDA0004093898060000068
代入到多项式Zj(w)得到L个密文结果
Figure FDA0004093898060000069
服务器将
Figure FDA00040938980600000610
发送给用户;
解密模块,所述解密模块利用公开的哈希函数H(w)获知w*映射的桶索引H(w*),利用Paillier私钥解密密文
Figure FDA00040938980600000611
得到
Figure FDA00040938980600000612
并验证最后l为是否为零,若是则m*为查询结果,否则输出⊥表示数据库中未检索到关键词w*
用户基于公开的哈希函数H(w)得到w*被映射的桶序号为H(w*);
用户从服务器发送的多项式密文列表中选择第H(w*)个密文;
用户利用私钥pri解密
Figure FDA0004093898060000071
若w*包含在数据库
Figure FDA0004093898060000072
则用户将得到解密信息m*|0l,验证隐私统计参量l,得到查询信息m*,否则得到⊥表示数据库中未检索到关键词w*
CN202210297064.7A 2022-03-24 2022-03-24 一种适用于大规模数据库的隐私信息检索方法及系统 Active CN114662147B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210297064.7A CN114662147B (zh) 2022-03-24 2022-03-24 一种适用于大规模数据库的隐私信息检索方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210297064.7A CN114662147B (zh) 2022-03-24 2022-03-24 一种适用于大规模数据库的隐私信息检索方法及系统

Publications (2)

Publication Number Publication Date
CN114662147A CN114662147A (zh) 2022-06-24
CN114662147B true CN114662147B (zh) 2023-04-07

Family

ID=82031596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210297064.7A Active CN114662147B (zh) 2022-03-24 2022-03-24 一种适用于大规模数据库的隐私信息检索方法及系统

Country Status (1)

Country Link
CN (1) CN114662147B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115134077A (zh) * 2022-06-30 2022-09-30 云南电网有限责任公司信息中心 基于横向lstm联邦学习的企业电力负荷联合预测方法及系统
CN115269938B (zh) * 2022-09-22 2023-02-14 深圳市洞见智慧科技有限公司 基于同态加密的关键词匿踪查询方法、系统及相关装置
CN115664723A (zh) * 2022-09-30 2023-01-31 蚂蚁区块链科技(上海)有限公司 一种实现隐私信息检索的方法、系统、服务器和客户端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109818729A (zh) * 2019-01-28 2019-05-28 东北大学 基于Paillier同态加密的隐私保护平均距离查询方法
CN112272188A (zh) * 2020-11-02 2021-01-26 重庆邮电大学 一种电商平台数据隐私保护的可搜索加密方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018220450A1 (en) * 2017-06-02 2018-12-06 Suson Roberto Jesus System for, method of, and server computer system for implementing transformation of an original entity into a verifiably authenticable entity in a heterogeneous communications network environment
CN111260362A (zh) * 2018-12-03 2020-06-09 北京京东尚科信息技术有限公司 一种区块链网络的信息处理方法及装置、存储介质
CN110324320A (zh) * 2019-06-14 2019-10-11 成都信息工程大学 一种基于类区块链技术的异构身份联盟用户信任管理系统
CN110519261B (zh) * 2019-08-23 2021-11-19 东莞盟大集团有限公司 一种跨链操作的风险评估方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109818729A (zh) * 2019-01-28 2019-05-28 东北大学 基于Paillier同态加密的隐私保护平均距离查询方法
CN112272188A (zh) * 2020-11-02 2021-01-26 重庆邮电大学 一种电商平台数据隐私保护的可搜索加密方法

Also Published As

Publication number Publication date
CN114662147A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
CN114662147B (zh) 一种适用于大规模数据库的隐私信息检索方法及系统
WO2021208690A1 (zh) 数据加解密方法、装置、设备及存储介质
CN106230590B (zh) 一种多授权机构的密文策略属性基加密方法
CN102176709B (zh) 一种带隐私保护的数据共享与发布的方法和装置
US20210014072A1 (en) Method for information processing and non-transitory computer readable storage medium
CN105610793B (zh) 一种外包数据加密存储与密文查询系统及其应用方法
Yang et al. Achieving efficient and privacy-preserving cross-domain big data deduplication in cloud
Fan et al. TraceChain: A blockchain‐based scheme to protect data confidentiality and traceability
CN111930881B (zh) 基于国密算法的连接关键词认证可搜索加密方法
CN109361644B (zh) 一种支持快速搜索和解密的模糊属性基加密方法
GB2490407A (en) Joint encryption using base groups, bilinear maps and consistency components
CN102546600A (zh) 基于代理的加密、解密方法,网络设备、网络装置及系统
CN109286491A (zh) 一种基于代理撤销的密钥策略属性基加密方法
CN104967693A (zh) 面向云存储的基于全同态密码技术的文档相似度计算方法
CN109951279A (zh) 一种基于区块链和边缘设备的匿名数据存储方法
CN114443718A (zh) 一种数据查询方法及系统
CN114528331A (zh) 基于区块链的数据查询方法及装置、介质、设备
US20220191178A1 (en) Method and system for secure information distribution based on group shared key
CN102231181B (zh) 用于文件加密的计算机系统及文件加密方法
Chen et al. A restricted proxy re‐encryption with keyword search for fine‐grained data access control in cloud storage
CN108809996B (zh) 不同流行度的删重存储数据的完整性审计方法
CN108809631A (zh) 一种量子密钥服务管理系统及方法
CN109981614A (zh) 基于用户群的数据加密方法、解密方法、查询方法及装置
Yuan Fair data transactions across private databases
Joseph et al. Design a hybrid optimization and homomorphic encryption for securing data in a 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