CN111782662A - 基于分布式重构的用户隐私信息查询实现方法及装置 - Google Patents
基于分布式重构的用户隐私信息查询实现方法及装置 Download PDFInfo
- Publication number
- CN111782662A CN111782662A CN202010718259.5A CN202010718259A CN111782662A CN 111782662 A CN111782662 A CN 111782662A CN 202010718259 A CN202010718259 A CN 202010718259A CN 111782662 A CN111782662 A CN 111782662A
- Authority
- CN
- China
- Prior art keywords
- key
- node
- storage
- information
- query
- 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
Images
Classifications
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种基于分布式重构的用户隐私信息查询实现方法、装置、计算机设备及存储介质,其中该方法包括:将原始查询信息导入集群内的导入节点,在导入数据时所述导入节点生成公钥Key_B及对应的私钥,并将所述原始查询信息划分成固定长度的M段P_m,分别计算每个分段对应的余数Y_m;以余数Y_m为输入参数向集群申请一个全局唯一且递增的存储序列号Seq和对应的存储节点号,所述导入节点将存储序列号Seq及对应的查询结果发送至对应的存储节点进行存储。本发明通过分布式数据存储的方式,将存储序列号拆分成多段分别存储于不同的节点中,可以有效地保护原始查询数据,避免用户的隐私数据遭到泄露。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种基于分布式重构的用户隐私信息查询实现方法、装置、计算机设备及存储介质。
背景技术
在用户申请信用贷款时,信用贷款机构A向第三方查询平台B查询用户信用信息时,查询信息及查询结果对对方都要进行保密,以保证用户的隐私信息不被泄漏。
目前,传统的用户信息查询方法为:信用贷款机构A输入由加密查询信息E_A(P)、脱敏查询信息P’组成的二元组(E_A(P),P’)。第三方查询平台B用脱敏信息P’进行模糊搜索,对查询结果加密得到E_B(P’),再对E_A(P)加密得到E_B(E_A(P)),最后返回由二元组(E_B(E_A(P),E_B(P’))给信用贷款机构A。信用贷款机构A对返回的搜索结果E_B(P’)逐条加密得到E_A(E_B(P’)),用E_B(E_A(P))逐条比对加密的返回查询结果E_A(E_B(P’)),如有匹配则说明查询成功。然而,该方法中用户信息都是集中存储,对脱敏信息P’而言,脱敏度小会导致用户身份有泄露风险,即高频贷款用户根据概率容易被猜出,而脱敏度大会造成查询结果过多,查询效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种可以有效防止用户隐私信息发生泄漏的基于分布式重构的用户隐私信息查询实现方法、装置、计算机设备及存储介质。
一种基于分布式重构的用户隐私信息查询实现方法,所述方法包括:
将原始查询信息导入集群内的导入节点,在导入数据时所述导入节点生成公钥Key_B及对应的私钥,并将所述原始查询信息划分成固定长度的M段P_m,分别计算每个分段对应的余数Y_m;
以余数Y_m为输入参数向集群申请一个全局唯一且递增的存储序列号Seq和对应的存储节点号,所述导入节点将存储序列号Seq及对应的查询结果发送至对应的存储节点进行存储;
将所述存储序列号Seq划分成固定长度的M段,并将各段分别标示为Seq_m;对M段原始查询信息分别用公钥Key_B加密得到E_B(P_m),将每个四元组信息E_B(P_m)、Key_B、Seq_m及本分段在原始查询信息中的顺序号存入对应的余数节点Y_m;
在进行信息查询时,查询方生成公钥Key_A及对应的私钥,并向集群申请一个协调节点;
将查询信息分成固定长度的M段P’_m,分别计算每个分段对应的余数Y_m,用公钥Key_A对每段查询信息P’_m加密得到E_A(P’_m),并将每个三元组信息E_A(P’_m)、Key_A及协调节点发送给对应的余数节点Y_m;
当余数节点Y_m收到所述三元组信息后,用本地Key_B对E_A(P’_m)加密得到E_B(E_A(P’_m)),用Key_A对数据库中的E_B(P_m)加密得到E_A(E_B(P_m)),逐条将E_B(E_A(P’_m))与数据库中的所有E_A(E_B(P_m))进行比对;
若有匹配则取出分段序列号Seq_m,M个余数节点可将得到的M个分段序列号,并将四元组信息Seq_m、Key_A、Key_B及本分段在原始数据中的顺序号发给协调节点;
当所述协调节点在确认Key_B一致后,将M个分段序列号Seq_m根据各分段在原始数据中顺序号组装成完整的存储序列号Seq;
所述协调节点在向集群查得所述存储序列号Seq所在节点位置后,在存储节点上取出存储序列号Seq对应的查询结果,用Key_A加密后返回查询方。
在其中一个实施例中,所述分别计算每个分段对应的余数Y_m的步骤包括:
分别计算出每个分段的checksum后取模N得到M个余数Y_m,其中,1<=m<=M,若余数有重复则给当前值加一,直至不再重复为止。
在其中一个实施例中,在所述以余数Y_m为输入参数向集群申请一个全局唯一且递增的存储序列号Seq和对应的存储节点号的步骤之后还包括:
所述集群根据通用共识算法计算得到对应的存储序列号Seq,并同时分配一个与所有M个余数均不相同的存储节点号。
在其中一个实施例中,其特征在于,所述在存储节点上取出存储序列号Seq对应的查询结果,用Key_A加密后返回查询方的步骤之后还包括:
当查询方接收到加密后的查询结果后,利用公钥Key_A对应的私钥进行解密得到最终的查询结果。
一种基于分布式重构的用户隐私信息查询实现装置,所述装置包括:
第一计算模块,所述第一计算模块用于将原始查询信息导入集群内的导入节点,在导入数据时所述导入节点生成公钥Key_B及对应的私钥,并将所述原始查询信息划分成固定长度的M段P_m,分别计算每个分段对应的余数Y_m;
信息存储模块,所述存储节点模块用于以余数Y_m为输入参数向集群申请一个全局唯一且递增的存储序列号Seq和对应的存储节点号,所述导入节点将存储序列号Seq及对应的查询结果发送至对应的存储节点进行存储;
加密模块,所述第一加密模块用于将所述存储序列号Seq划分成固定长度的M段,并将各段分别标示为Seq_m;对M段原始查询信息分别用公钥Key_B加密得到E_B(P_m),将每个四元组信息E_B(P_m)、Key_B、Seq_m及本分段在原始查询信息中的顺序号存入对应的余数节点Y_m;
信息查询模块,所述信息查询模块用于在进行信息查询时,查询方生成公钥Key_A及对应的私钥,并向集群申请一个协调节点;
第二计算模块,所述第二计算模块用于将查询信息分成固定长度的M段P’_m,分别计算每个分段对应的余数Y_m,用公钥Key_A对每段查询信息P’_m加密得到E_A(P’_m),并将每个三元组信息E_A(P’_m)、Key_A及协调节点发送给对应的余数节点Y_m;
比对模块,所述比对模块用于当余数节点Y_m收到所述三元组信息后,用本地Key_B对E_A(P’_m)加密得到E_B(E_A(P’_m)),用Key_A对数据库中的E_B(P_m)加密得到E_A(E_B(P_m)),逐条将E_B(E_A(P’_m))与数据库中的所有E_A(E_B(P_m))进行比对;
信息发送模块,所述信息发送模块用于若有匹配则取出分段序列号Seq_m,M个余数节点可将得到的M个分段序列号,并将四元组信息Seq_m、Key_A、Key_B及本分段在原始数据中的顺序号发给协调节点;
序列号组装模块,所述序列号组装模块用于当所述协调节点在确认Key_B一致后,将M个分段序列号Seq_m根据各分段在原始数据中顺序号组装成完整的存储序列号Seq;
查询返回模块,所述查询返回模块用于所述协调节点在向集群查得所述存储序列号Seq所在节点位置后,在存储节点上取出存储序列号Seq对应的查询结果,用Key_A加密后返回查询方。
在其中一个实施例中,所述第一计算模块和所述第二计算模块还用于:
分别计算出每个分段的checksum后取模N得到M个余数Y_m,其中,1<=m<=M,若余数有重复则给当前值加一,直至不再重复为止。
在其中一个实施例中,所述装置还包括序列号生成模块,所述序列号生成模块用于:
所述集群根据通用共识算法计算得到对应的存储序列号Seq,并同时分配一个与所有M个余数均不相同的存储节点号。
在其中一个实施例中,所述装置还包括解密模块,所述解密模块用于:
当查询方接收到加密后的查询结果后,利用公钥Key_A对应的私钥进行解密得到最终的查询结果。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
上述基于分布式重构的用户隐私信息查询实现方法、装置、计算机设备及存储介质通过分布式数据存储的方式,将存储序列号拆分成多段分别存储于不同的节点中,可以有效地保护原始查询数据,避免用户的隐私数据遭到泄露。在查询的过程中,通过协调节点可以实现在分布式环境下快速查找到对应的分布在不同位置的序列号片段并组成完整的存储序列号,给查询方快速地返回查询结果。
附图说明
图1为一个实施例中基于分布式重构的用户隐私信息查询实现方法的流程示意图;
图2为一个实施例中基于分布式重构的用户隐私信息查询实现装置的结构框图;
图3为另一个实施例中基于分布式重构的用户隐私信息查询实现装置的结构框图;
图4为再一个实施例中基于分布式重构的用户隐私信息查询实现装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
目前,传统的用户信息查询方法为,信用贷款机构A输入由加密查询信息E_A(P)、脱敏查询信息P’组成的二元组(E_A(P),P’)。第三方查询平台B用脱敏信息P’进行模糊搜索,对查询结果加密得到E_B(P’),再对E_A(P)加密得到E_B(E_A(P)),最后返回由二元组(E_B(E_A(P),E_B(P’))给信用贷款机构A。信用贷款机构A对返回的搜索结果E_B(P’)逐条加密得到E_A(E_B(P’)),用E_B(E_A(P))逐条比对加密的返回查询结果E_A(E_B(P’)),如有匹配则说明查询成功。然而,该方法中用户信息都是集中存储,对脱敏信息P’而言,脱敏度小会导致用户身份有泄露风险,即高频贷款用户根据概率容易被猜出,而脱敏度大会造成查询结果过多,查询效率低。
基于此,本发明提供一种基于分布式重构的用户隐私信息查询实现方法,旨在能够防止用户隐私信息发生泄漏。该方法为可应用于分布式环境下(包括但不限于区块链)的一种安全信息查询和共享机制的实现方法。值得说明的是,本发明中所涉及的基础加密技术为上述传统技术中记载的加密方案的同态加密原理。
在一个实施例中,如图1所示,提供了一种基于分布式重构的用户隐私信息查询实现方法,该方法包括:
步骤102,将原始查询信息导入集群内的导入节点,在导入数据时所述导入节点生成公钥Key_B及对应的私钥,并将原始查询信息划分成固定长度的M段P_m,分别计算每个分段对应的余数Y_m;
步骤104,以余数Y_m为输入参数向集群申请一个全局唯一且递增的存储序列号Seq和对应的存储节点号,导入节点将存储序列号Seq及对应的查询结果发送至对应的存储节点进行存储;
步骤106,将存储序列号Seq划分成固定长度的M段,并将各段分别标示为Seq_m;对M段原始查询信息分别用公钥Key_B加密得到E_B(P_m),将每个四元组信息E_B(P_m)、Key_B、Seq_m及本分段在原始查询信息中的顺序号存入对应的余数节点Y_m;
步骤108,在进行信息查询时,查询方生成公钥Key_A及对应的私钥,并向集群申请一个协调节点;
步骤110,将查询信息分成固定长度的M段P’_m,分别计算每个分段对应的余数Y_m,用公钥Key_A对每段查询信息P’_m加密得到E_A(P’_m),并将每个三元组信息E_A(P’_m)、Key_A及协调节点发送给对应的余数节点Y_m;
步骤112,当余数节点Y_m收到所述三元组信息后,用本地Key_B对E_A(P’_m)加密得到E_B(E_A(P’_m)),用Key_A对数据库中的E_B(P_m)加密得到E_A(E_B(P_m)),逐条将E_B(E_A(P’_m))与数据库中的所有E_A(E_B(P_m))进行比对;
步骤114,若有匹配则取出分段序列号Seq_m,M个余数节点可将得到的M个分段序列号,并将四元组信息Seq_m、Key_A、Key_B及本分段在原始数据中的顺序号发给协调节点;
步骤116,当协调节点在确认Key_B一致后,将M个分段序列号Seq_m根据各分段在原始数据中顺序号组装成完整的存储序列号Seq;
步骤118,协调节点在向集群查得存储序列号Seq所在节点位置后,在存储节点上取出存储序列号Seq对应的查询结果,用Key_A加密后返回查询方。
在本实施例中,提供了一种基于分布式重构的用户隐私信息查询实现方法,该方法可以应用于分布式环境下(包括但不限于区块链),用于对用户信息进行查询并尽可能降低用户隐私发生泄漏的风险,具体地实现过程如下:
在本实施例的分布式环境中由N个彼此协作,但相互不信任的节点集群组成(类似区块链联盟链但不限于此),集群内部任何节点都可导入原始数据。
首先,在导入数据时,导入节点生成一对公私钥(Key_B,私钥),将格式为(手机号|协议号,查询结果)或(身份证号|协议号,查询结果)的原始数据信息检索部分P(手机号|协议号或身份证号|协议号,以下简称为原始数据),分成固定长度的M段,可以理解的是,如果最后一段如长度不够可补齐,以下类推。接着,分别计算每个分段对应的余数Y_m。
在一个实施例中,分别计算每个分段对应的余数Y_m的步骤包括:分别计算出每个分段的checksum后取模N得到M个余数Y_m,其中,1<=m<=M,若余数有重复则给当前值加一,直至不再重复为止。
具体地,计算出每个分段的checksum再后取模N的余数Y_m(即checksum/modN),余数若有重复则给当前值加一,直到不再重复,确保M个分段的checksum取模N后的余数互不相同。
然后,导入节点以原始数据checksum模N的M个余数为输入参数,向集群申请一个全局唯一且递增的存储序列号Seq和一个存储节点号。
在一个实施例中,在以余数Y_m为输入参数向集群申请一个全局唯一且递增的存储序列号Seq和对应的存储节点号的步骤之后还包括:
集群根据通用共识算法计算得到对应的存储序列号Seq,并同时分配一个与所有M个余数均不相同的存储节点号。
具体地,集群根据一个通用共识算法例如:Raft、Gossip等得到该存储序列号Seq,同时分配一个与M个余数值不同的存储节点号。导入节点将(Seq,查询结果)发送给存储节点保存。导入节点将存储序列号分成固定长度的M段,各段标示为Seq_m,对M段原始数据分别用公钥Key_B加密得到E_B(P_m),然后将每个四元组信息(E_B(P_m), Key_B, Seq_m, 本分段在原始数据中的顺序号)存入Y_m对应的余数节点。
接着,在信息查询时,查询方生成一对公私钥(Key_A,私钥),向集群申请一个协调节点。查询方将查询号码和协议组成的原始查询信息P(例如手机号|协议号或身份证号|协议号)分成固定长度的M段P’_m,计算出每段checksum后取模N的余数Y_m,如有重复则加一取值,直到不重复。
查询方用公钥Key_A对每段原始查询信息加密得到三元组(E_A(P’_m),Key_A,协调节点), 发给余数节点Y_m。余数节点收到查询信息后,用本地Key_B对E_A(P’_m)加密得到E_B(E_A(P’_m)),用Key_A对数据库中的E_B(P_m)加密得到E_A(E_B(P_m)),逐条将E_B(E_A(P’_m))与数据库中的所有E_A(E_B(P_m))比对,如有匹配则,取出分段序列号Seq_m。由此,M个余数节点可将得到的M个分段序列号(Seq_m,Key_A, Key_B,本分段在原始数据中的顺序号)并发给协调节点。
协调节点在确认它们的Key_B一致后,将M个存储序列号Seq_m通过各分段在原始数据中顺序号组装一个完整存储序列号Seq。协调节点在向集群查得该存储序列号所在节点位置后,在存储节点上取出存储序列号Seq对应的查询结果,用Key_A加密后返回查询方。
在一个实施例中,在存储节点上取出存储序列号Seq对应的查询结果,用Key_A加密后返回查询方的步骤之后还包括:当查询方接收到加密后的查询结果后,利用公钥Key_A对应的私钥进行解密得到最终的查询结果。
在上述实施例中,通过分布式数据存储的方式,将存储序列号拆分成多段分别存储于不同的节点中,可以有效地保护原始查询数据,避免用户的隐私数据遭到泄露。在查询的过程中,通过协调节点可以实现在分布式环境下快速查找到对应的分布在不同位置的序列号片段并组成完整的存储序列号,给查询方快速地返回查询结果。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图2所示,提供了一种基于分布式重构的用户隐私信息查询实现装置200,该装置包括:
第一计算模块201,用于将原始查询信息导入集群内的导入节点,在导入数据时所述导入节点生成公钥Key_B及对应的私钥,并将所述原始查询信息划分成固定长度的M段P_m,分别计算每个分段对应的余数Y_m;
信息存储模块202,用于以余数Y_m为输入参数向集群申请一个全局唯一且递增的存储序列号Seq和对应的存储节点号,所述导入节点将存储序列号Seq及对应的查询结果发送至对应的存储节点进行存储;
加密模块203,用于将所述存储序列号Seq划分成固定长度的M段,并将各段分别标示为Seq_m;对M段原始查询信息分别用公钥Key_B加密得到E_B(P_m),将每个四元组信息E_B(P_m)、Key_B、Seq_m及本分段在原始查询信息中的顺序号存入对应的余数节点Y_m;
信息查询模块204,用于在进行信息查询时,查询方生成公钥Key_A及对应的私钥,并向集群申请一个协调节点;
第二计算模块205,用于将查询信息分成固定长度的M段P’_m,分别计算每个分段对应的余数Y_m,用公钥Key_A对每段查询信息P’_m加密得到E_A(P’_m),并将每个三元组信息E_A(P’_m)、Key_A及协调节点发送给对应的余数节点Y_m;
比对模块206,用于当余数节点Y_m收到所述三元组信息后,用本地Key_B对E_A(P’_m)加密得到E_B(E_A(P’_m)),用Key_A对数据库中的E_B(P_m)加密得到E_A(E_B(P_m)),逐条将E_B(E_A(P’_m))与数据库中的所有E_A(E_B(P_m))进行比对;
信息发送模块207,用于若有匹配则取出分段序列号Seq_m,M个余数节点可将得到的M个分段序列号,并将四元组信息Seq_m、Key_A、Key_B及本分段在原始数据中的顺序号发给协调节点;
序列号组装模块208,用于当所述协调节点在确认Key_B一致后,将M个分段序列号Seq_m根据各分段在原始数据中顺序号组装成完整的存储序列号Seq;
查询返回模块209,用于所述协调节点在向集群查得所述存储序列号Seq所在节点位置后,在存储节点上取出存储序列号Seq对应的查询结果,用Key_A加密后返回查询方。
在一个实施例中,第一计算模块201和第二计算模块205还用于:
分别计算出每个分段的checksum后取模N得到M个余数Y_m,其中,1<=m<=M,若余数有重复则给当前值加一,直至不再重复为止。
在一个实施例中,如图3所示,提供了一种基于分布式重构的用户隐私信息查询实现装置200,该装置还包括序列号生成模块210,用于:
所述集群根据通用共识算法计算得到对应的存储序列号Seq,并同时分配一个与所有M个余数均不相同的存储节点号。
在一个实施例中,如图4所示,提供了一种基于分布式重构的用户隐私信息查询实现装置200,该装置还包括解密模块211,用于:
当查询方接收到加密后的查询结果后,利用公钥Key_A对应的私钥进行解密得到最终的查询结果。
关于基于分布式重构的用户隐私信息查询实现装置的具体限定可以参见上文中对于基于分布式重构的用户隐私信息查询实现方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图5所示。该计算机设备包括通过装置总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作装置和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于分布式重构的用户隐私信息查询实现方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于分布式重构的用户隐私信息查询实现方法,其特征在于,所述方法包括:
将原始查询信息导入集群内的导入节点,在导入数据时所述导入节点生成公钥Key_B及对应的私钥,并将所述原始查询信息划分成固定长度的M段P_m,分别计算每个分段对应的余数Y_m;
以余数Y_m为输入参数向集群申请一个全局唯一且递增的存储序列号Seq和对应的存储节点号,所述导入节点将存储序列号Seq及对应的查询结果发送至对应的存储节点进行存储;
将所述存储序列号Seq划分成固定长度的M段,并将各段分别标示为Seq_m;对M段原始查询信息分别用公钥Key_B加密得到E_B(P_m),将每个四元组信息E_B(P_m)、Key_B、Seq_m及本分段在原始查询信息中的顺序号存入对应的余数节点Y_m;
在进行信息查询时,查询方生成公钥Key_A及对应的私钥,并向集群申请一个协调节点;
将查询信息分成固定长度的M段P’_m,分别计算每个分段对应的余数Y_m,用公钥Key_A对每段查询信息P’_m加密得到E_A(P’_m),并将每个三元组信息E_A(P’_m)、Key_A及协调节点发送给对应的余数节点Y_m;
当余数节点Y_m收到所述三元组信息后,用本地Key_B对E_A(P’_m)加密得到E_B(E_A(P’_m)),用Key_A对数据库中的E_B(P_m)加密得到E_A(E_B(P_m)),逐条将E_B(E_A(P’_m))与数据库中的所有E_A(E_B(P_m))进行比对;
若有匹配则取出分段序列号Seq_m,M个余数节点可将得到的M个分段序列号,并将四元组信息Seq_m、Key_A、Key_B及本分段在原始数据中的顺序号发给协调节点;
当所述协调节点在确认Key_B一致后,将M个分段序列号Seq_m根据各分段在原始数据中顺序号组装成完整的存储序列号Seq;
所述协调节点在向集群查得所述存储序列号Seq所在节点位置后,在存储节点上取出存储序列号Seq对应的查询结果,用Key_A加密后返回查询方。
2.根据权利要求1所述的基于分布式重构的用户隐私信息查询实现方法,其特征在于,所述分别计算每个分段对应的余数Y_m的步骤包括:
分别计算出每个分段的checksum后取模N得到M个余数Y_m,其中,1<=m<=M,若余数有重复则给当前值加一,直至不再重复为止。
3.根据权利要求2所述的基于分布式重构的用户隐私信息查询实现方法,其特征在于,在所述以余数Y_m为输入参数向集群申请一个全局唯一且递增的存储序列号Seq和对应的存储节点号的步骤之后还包括:
所述集群根据通用共识算法计算得到对应的存储序列号Seq,并同时分配一个与所有M个余数均不相同的存储节点号。
4.根据权利要求1-3任一项所述的基于分布式重构的用户隐私信息查询实现方法,其特征在于,所述在存储节点上取出存储序列号Seq对应的查询结果,用Key_A加密后返回查询方的步骤之后还包括:
当查询方接收到加密后的查询结果后,利用公钥Key_A对应的私钥进行解密得到最终的查询结果。
5.一种基于分布式重构的用户隐私信息查询实现装置,其特征在于,所述装置包括:
第一计算模块,所述第一计算模块用于将原始查询信息导入集群内的导入节点,在导入数据时所述导入节点生成公钥Key_B及对应的私钥,并将所述原始查询信息划分成固定长度的M段P_m,分别计算每个分段对应的余数Y_m;
信息存储模块,所述存储节点模块用于以余数Y_m为输入参数向集群申请一个全局唯一且递增的存储序列号Seq和对应的存储节点号,所述导入节点将存储序列号Seq及对应的查询结果发送至对应的存储节点进行存储;
加密模块,所述加密模块用于将所述存储序列号Seq划分成固定长度的M段,并将各段分别标示为Seq_m;对M段原始查询信息分别用公钥Key_B加密得到E_B(P_m),将每个四元组信息E_B(P_m)、Key_B、Seq_m及本分段在原始查询信息中的顺序号存入对应的余数节点Y_m;
信息查询模块,所述信息查询模块用于在进行信息查询时,查询方生成公钥Key_A及对应的私钥,并向集群申请一个协调节点;
第二计算模块,所述第二计算模块用于将查询信息分成固定长度的M段P’_m,分别计算每个分段对应的余数Y_m,用公钥Key_A对每段查询信息P’_m加密得到E_A(P’_m),并将每个三元组信息E_A(P’_m)、Key_A及协调节点发送给对应的余数节点Y_m;
比对模块,所述比对模块用于当余数节点Y_m收到所述三元组信息后,用本地Key_B对E_A(P’_m)加密得到E_B(E_A(P’_m)),用Key_A对数据库中的E_B(P_m)加密得到E_A(E_B(P_m)),逐条将E_B(E_A(P’_m))与数据库中的所有E_A(E_B(P_m))进行比对;
信息发送模块,所述信息发送模块用于若有匹配则取出分段序列号Seq_m,M个余数节点可将得到的M个分段序列号,并将四元组信息Seq_m、Key_A、Key_B及本分段在原始数据中的顺序号发给协调节点;
序列号组装模块,所述序列号组装模块用于当所述协调节点在确认Key_B一致后,将M个分段序列号Seq_m根据各分段在原始数据中顺序号组装成完整的存储序列号Seq;
查询返回模块,所述查询返回模块用于所述协调节点在向集群查得所述存储序列号Seq所在节点位置后,在存储节点上取出存储序列号Seq对应的查询结果,用Key_A加密后返回查询方。
6.根据权利要求5所述的基于分布式重构的用户隐私信息查询实现装置,其特征在于,所述第一计算模块和所述第二计算模块还用于:
分别计算出每个分段的checksum后取模N得到M个余数Y_m,其中,1<=m<=M,若余数有重复则给当前值加一,直至不再重复为止。
7.根据权利要求6所述的基于分布式重构的用户隐私信息查询实现装置,其特征在于,所述装置还包括序列号生成模块,所述序列号生成模块用于:
所述集群根据通用共识算法计算得到对应的存储序列号Seq,并同时分配一个与所有M个余数均不相同的存储节点号。
8.根据权利要求5-7任一项所述的基于分布式重构的用户隐私信息查询实现装置,其特征在于,所述装置还包括解密模块,所述解密模块用于:
当查询方接收到加密后的查询结果后,利用公钥Key_A对应的私钥进行解密得到最终的查询结果。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010718259.5A CN111782662B (zh) | 2020-07-23 | 2020-07-23 | 基于分布式重构的用户隐私信息查询实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010718259.5A CN111782662B (zh) | 2020-07-23 | 2020-07-23 | 基于分布式重构的用户隐私信息查询实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782662A true CN111782662A (zh) | 2020-10-16 |
CN111782662B CN111782662B (zh) | 2022-02-11 |
Family
ID=72764839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010718259.5A Active CN111782662B (zh) | 2020-07-23 | 2020-07-23 | 基于分布式重构的用户隐私信息查询实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782662B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326822A (zh) * | 2013-07-18 | 2013-09-25 | 上海交通大学 | 基于数据分片的参与式感知系统隐私保护方法及系统 |
CN107229872A (zh) * | 2016-03-26 | 2017-10-03 | 肖哲 | 一种分离存储查询逻辑与分段数据的隐私数据保护方法 |
US20170323114A1 (en) * | 2016-05-06 | 2017-11-09 | ZeroDB, Inc. | Encryption for distributed storage and processing |
US20180225333A1 (en) * | 2017-02-08 | 2018-08-09 | International Business Machines Corporation | Data write/import performance in a database through distributed memory |
US10181049B1 (en) * | 2012-01-26 | 2019-01-15 | Hrl Laboratories, Llc | Method and apparatus for secure and privacy-preserving querying and interest announcement in content push and pull protocols |
US10275480B1 (en) * | 2016-06-16 | 2019-04-30 | Amazon Technologies, Inc. | Immediately-consistent lock-free indexing for distributed applications |
CN109886026A (zh) * | 2019-01-11 | 2019-06-14 | 平安科技(深圳)有限公司 | 数据保存查询方法、装置、计算机系统及可读存储介质 |
CN110060162A (zh) * | 2019-03-29 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 基于区块链的数据授权、查询方法和装置 |
CN110765472A (zh) * | 2019-09-30 | 2020-02-07 | 广东工业大学 | 一种基于区块链和分布式存储的位置隐私保护方法 |
CN111428254A (zh) * | 2020-03-24 | 2020-07-17 | 财付通支付科技有限公司 | 密钥存储方法、装置、设备以及存储介质 |
-
2020
- 2020-07-23 CN CN202010718259.5A patent/CN111782662B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10181049B1 (en) * | 2012-01-26 | 2019-01-15 | Hrl Laboratories, Llc | Method and apparatus for secure and privacy-preserving querying and interest announcement in content push and pull protocols |
CN103326822A (zh) * | 2013-07-18 | 2013-09-25 | 上海交通大学 | 基于数据分片的参与式感知系统隐私保护方法及系统 |
CN107229872A (zh) * | 2016-03-26 | 2017-10-03 | 肖哲 | 一种分离存储查询逻辑与分段数据的隐私数据保护方法 |
US20170323114A1 (en) * | 2016-05-06 | 2017-11-09 | ZeroDB, Inc. | Encryption for distributed storage and processing |
US10275480B1 (en) * | 2016-06-16 | 2019-04-30 | Amazon Technologies, Inc. | Immediately-consistent lock-free indexing for distributed applications |
US20180225333A1 (en) * | 2017-02-08 | 2018-08-09 | International Business Machines Corporation | Data write/import performance in a database through distributed memory |
CN109886026A (zh) * | 2019-01-11 | 2019-06-14 | 平安科技(深圳)有限公司 | 数据保存查询方法、装置、计算机系统及可读存储介质 |
CN110060162A (zh) * | 2019-03-29 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 基于区块链的数据授权、查询方法和装置 |
CN110765472A (zh) * | 2019-09-30 | 2020-02-07 | 广东工业大学 | 一种基于区块链和分布式存储的位置隐私保护方法 |
CN111428254A (zh) * | 2020-03-24 | 2020-07-17 | 财付通支付科技有限公司 | 密钥存储方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111782662B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109510703B (zh) | 一种数据加解密方法及装置 | |
EP1421461B1 (en) | Space-efficient, Side-channel Attack Resistant Table Lookups | |
EP2667539A1 (en) | Key sharing methods, device and system for configuration thereof. | |
US20210243005A1 (en) | Fully homomorphic encryption method and device and computer readable storage medium | |
Castiglione et al. | Supporting dynamic updates in storage clouds with the Akl–Taylor scheme | |
JP6884284B2 (ja) | キー付きメッセージ認証コードのホワイトボックス計算 | |
CN108055128B (zh) | Rsa密钥的生成方法、装置、存储介质及计算机设备 | |
Koo et al. | An online data-oriented authentication based on Merkle tree with improved reliability | |
CN108399533B (zh) | 交易处理方法、装置、计算机设备和存储介质 | |
Krämer et al. | Fault attacks on UOV and rainbow | |
CN112100144A (zh) | 区块链文件共享方法、装置、存储介质及电子设备 | |
CN110941861B (zh) | 文件防护方法、装置、计算机设备及介质 | |
Priyadharshini et al. | Efficient Key Management System Based Lightweight Devices in IoT. | |
CN111310817B (zh) | 谱聚类方法、装置、系统、计算机设备和存储介质 | |
US11743036B2 (en) | Method and apparatus for establishing shared key | |
CN111782662B (zh) | 基于分布式重构的用户隐私信息查询实现方法及装置 | |
US11930117B2 (en) | Method and apparatus for reversible tokenization with support for embeddable role-based access control | |
Pablos et al. | Design and Implementation of a Post-Quantum Group Authenticated Key Exchange protocol with the LibOQS library: a comparative performance analysis from Classic McEliece, Kyber, NTRU, and Saber | |
KR20210036700A (ko) | 트랜잭션에 포함된 평문 데이터의 변경을 지원하는 블록체인 시스템 | |
Jha et al. | On rate-1 and beyond-the-birthday bound secure online ciphers using tweakable block ciphers | |
Sato et al. | Analysis of division property using MILP method for lightweight blockcipher piccolo | |
CN113347176B (zh) | 数据通信的加密方法、装置、计算机设备和可读存储介质 | |
CN113328848B (zh) | 参数化s盒生成方法、装置、设备及存储介质 | |
US20240089113A1 (en) | Lightweight fault detection mechanism for streaming of cryptographic data objects | |
Cheng et al. | EPPVChain: An Efficient Privacy-Preserving Verifiable Query Scheme for Blockchain Databases |
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 |