CN117521150A - 基于多方安全计算的数据协同处理方法 - Google Patents
基于多方安全计算的数据协同处理方法 Download PDFInfo
- Publication number
- CN117521150A CN117521150A CN202410011285.2A CN202410011285A CN117521150A CN 117521150 A CN117521150 A CN 117521150A CN 202410011285 A CN202410011285 A CN 202410011285A CN 117521150 A CN117521150 A CN 117521150A
- Authority
- CN
- China
- Prior art keywords
- service
- data
- query
- field
- privacy
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 238000004364 calculation method Methods 0.000 title claims description 28
- 239000012634 fragment Substances 0.000 claims description 88
- 238000013475 authorization Methods 0.000 claims description 74
- 238000000034 method Methods 0.000 claims description 56
- 230000004044 response Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000001360 synchronised effect Effects 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供基于多方安全计算的数据协同处理方法,其中基于多方安全计算的数据协同处理方法应用于协同查询系统中的第一业务节点,包括:接收针对目标业务的数据查询语句,其中,数据查询语句包括第一业务字段和第二业务字段,第一业务字段属于第一业务节点,第二业务字段属于协同查询系统中的第二业务节点;在第二业务字段通过字段鉴权规则的情况下,将数据查询语句拆分为多个隐私查询子任务;执行多个隐私查询子任务,获得第一隐私查询结果,接收第二业务节点针对多个隐私查询子任务发送的第二隐私查询结果;根据第一隐私查询结果和第二隐私查询结果,生成数据查询语句对应的目标业务查询结果。
Description
技术领域
本申请涉及多方安全计算技术领域,特别涉及基于多方安全计算的数据协同处理方法。本申请同时涉及基于多方安全计算的数据协同处理装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着互联网技术的发展,越来越多的业务转移到互联网上进行,越来越多的业务需要由多个业务机构之间进行联合处理,因此实现数据的跨机构数据联合价值挖掘是当前众多企业的迫切需求,各企业之间希望通过数据融合带来经济价值增效,又担心数据泄露的风险,因此业务数据信息联合分析释放价值和隐私数据安全之间存在矛盾,如何既能实现多方隐私数据的联合查询,又能保证各方不泄露隐私数据,是目前许多企业亟需解决的问题。
目前,隐私计算技术是解决上述问题的有效方法之一,已经有部分隐私计算厂商设计了联合查询产品,但是大多数隐私计算架构都依赖一个可信中心或半可信中心进行协调,并且无法解决可信中心获取隐私数据的安全隐患。
发明内容
有鉴于此,本申请实施例提供了基于多方安全计算的数据协同处理方法。本申请同时涉及基于多方安全计算的数据协同处理装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的上述问题。
根据本申请实施例的第一方面,提供了一种基于多方安全计算的数据协同处理方法,应用于协同查询系统中的第一业务节点,包括:
接收针对目标业务的数据查询语句,其中,所述数据查询语句包括第一业务字段和第二业务字段,所述第一业务字段属于所述第一业务节点,所述第二业务字段属于所述协同查询系统中的第二业务节点;
在所述第二业务字段通过字段鉴权规则的情况下,将所述数据查询语句拆分为多个隐私查询子任务;
执行所述多个隐私查询子任务,获得第一隐私查询结果,接收所述第二业务节点针对多个隐私查询子任务发送的第二隐私查询结果;
根据所述第一隐私查询结果和所述第二隐私查询结果,生成所述数据查询语句对应的目标业务查询结果。
根据本申请实施例的第二方面,提供了一种基于多方安全计算的数据协同处理方法,应用于协同查询系统,所述协同查询系统包括第一业务节点和第二业务节点,所述方法包括:
所述第一业务节点,接收针对目标业务的数据查询语句,其中,所述数据查询语句包括第一业务字段和第二业务字段,所述第一业务字段属于所述第一业务节点,所述第二业务字段属于所述协同查询系统中的第二业务节点;在所述第二业务字段通过字段鉴权规则的情况下,将所述数据查询语句拆分为多个隐私查询子任务;将所述第一业务字段对应的第一业务数据根据秘密分享的方式拆分,获得第一业务数据碎片和第二业务数据碎片;将所述第二业务数据碎片发送至所述第二业务节点;
所述第二业务节点,将所述第二业务字段对应的第二业务数据根据秘密分享的方式拆分,获得第三业务数据碎片和第四业务数据碎片;将所述第三业务数据碎片发送给所述第一业务节点,根据所述第二业务数据碎片和所述第四业务数据碎片执行所述多个隐私查询子任务,获得第二隐私查询结果,并将所述第二隐私查询结果发送给所述第一业务节点;
所述第一业务节点,根据所述第一业务数据碎片和所述第三业务数据碎片执行所述多个隐私查询子任务,获得第一隐私查询结果,根据所述第一隐私查询结果和所述第二隐私查询结果,生成所述数据查询语句对应的目标业务查询结果。
根据本申请实施例的第三方面,提供了一种基于多方安全计算的数据协同处理装置,应用于协同查询系统中的第一业务节点,包括:
接收模块,被配置为接收针对目标业务的数据查询语句,其中,所述数据查询语句包括第一业务字段和第二业务字段,所述第一业务字段属于所述第一业务节点,所述第二业务字段属于所述协同查询系统中的第二业务节点;
拆分模块,被配置为在所述第二业务字段通过字段鉴权规则的情况下,将所述数据查询语句拆分为多个隐私查询子任务;
执行模块,被配置为执行所述多个隐私查询子任务,获得第一隐私查询结果,接收所述第二业务节点针对多个隐私查询子任务发送的第二隐私查询结果;
生成模块,被配置为根据所述第一隐私查询结果和所述第二隐私查询结果,生成所述数据查询语句对应的目标业务查询结果。
根据本申请实施例的第四方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述计算机指令时实现所述基于多方安全计算的数据协同处理方法的步骤。
根据本申请实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现所述基于多方安全计算的数据协同处理方法的步骤。
本申请提供的基于多方安全计算的数据协同处理方法,应用于协同查询系统中的第一业务节点,包括:接收针对目标业务的数据查询语句,其中,所述数据查询语句包括第一业务字段和第二业务字段,所述第一业务字段属于所述第一业务节点,所述第二业务字段属于所述协同查询系统中的第二业务节点;在所述第二业务字段通过字段鉴权规则的情况下,将所述数据查询语句拆分为多个隐私查询子任务;执行所述多个隐私查询子任务,获得第一隐私查询结果,接收所述第二业务节点针对多个隐私查询子任务发送的第二隐私查询结果;根据所述第一隐私查询结果和所述第二隐私查询结果,生成所述数据查询语句对应的目标业务查询结果。
本申请实施例提供的基于多方安全计算的数据协同处理方法,采用了去中心化的多方协同数据查询方法,在各业务节点相互授权后,对于分布式SQL语句,首先在各业务节点执行分布式鉴权,各业务节点均通过鉴权后,将SQL语句拆分为多个MPC子任务,调用计算引擎执行MPC计算,各业务节点分别获得各自对应的隐私查询结果,再将各自的隐私查询结果返回给第一业务节点,在第一业务节点中进行数据恢复,生成最终的目标业务查询结果,通过本方法,无需可信中心即可安全地进行多方协同查询,基于MPC完成查询任务,各业务节点无法获得越权数据,第一业务节点仅能获取最终计算结果。
附图说明
图1是本申请一实施例提供的一种基于多方安全计算的数据协同处理方法的流程图;
图2是本申请一实施例提供的各业务节点的组成示意图;
图3是本申请一实施例提供的一种基于多方安全计算的数据协同处理方法的流程图;
图4是本申请一实施例提供的一种基于多方安全计算的数据协同处理装置的结构示意图;
图5是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
SQL(Structured Query Language):是一种用于管理和操作关系型数据库管理系统的特定编程语言,它被设计用于执行各种数据库操作,包括数据的检索、插入、更新、删除以及数据库模式的管理。
SQL协同查询:传统SQL查询局限于对一个数据库进行管理操作,而SQL协同查询面向多方、多个数据库进行查询。
安全多方计算(Secure Multi-Party Computation,MPC):安全多方计算是一种密码学技术,它允许多个参与者在不暴露私密输入的情况下进行计算。MPC的核心目标是确保在多方之间共享信息的过程中保持隐私和安全。秘密共享是实现MPC的一种关键技术之一,它允许参与者将他们的私密输入分成多个部分,并分发给其他参与者,以便在计算过程中只有在合法条件下才能重建出原始输入。这种技术的主要优势在于,即使某些参与者可能不可信或存在恶意的参与者,也可以确保计算的结果保持私密和正确。
P2P无中心架构:分布式系统,无需中心服务器协调,项目均部署在本地。
机构用户:设定权限,输入SQL语句进行查询。
协同查询平台:分布式部署协同查询平台,用于鉴权、同步状态、调度计算引擎完成SQL语句查询。
计算引擎:集成了许多MPC算子,用于完成本地数据和其他参与方数据之间的密文计算。
在本申请中,提供了基于多方安全计算的数据协同处理方法,本申请同时涉及基于多方安全计算的数据协同处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种基于多方安全计算的数据协同处理方法的流程图,所述方法应用于协同查询系统,所述协同查询系统包括第一业务节点和第二业务节点,具体包括以下步骤:
步骤102:所述第一业务节点,接收针对目标业务的数据查询语句,其中,所述数据查询语句包括第一业务字段和第二业务字段,所述第一业务字段属于所述第一业务节点,所述第二业务字段属于所述协同查询系统中的第二业务节点;在所述第二业务字段通过字段鉴权规则的情况下,将所述数据查询语句拆分为多个隐私查询子任务;将所述第一业务字段对应的第一业务数据根据秘密分享的方式拆分,获得第一业务数据碎片和第二业务数据碎片;将所述第二业务数据碎片发送至所述第二业务节点。
本申请实施例提供的基于多方安全计算的数据协同处理方法,应用于协同查询系统,该协同查询系统部署在多个业务节点之间,业务节点具体是指参加到目标业务的业务机构,各业务节点之间不存在主从关系,协同查询系统采用P2P无中心架构,数据查询任务涉及到的业务节点之间执行MPC任务,无需第三方协调。
本申请提供的方法使用semi-honest安全模型,在本申请提供的方法中,各参与方包括用户、数据方(协同查询系统、计算引擎)都严格遵守协议,但可能会尝试分析中间过程以获得额外的其他参与方的隐私信息,同时我们假设数据方本地的软硬件环境和提供的数据是可信的。本申请实施例涉及的应用场景中,各业务节点之间已经具备一定信任基础,相互之间具有一定的协定关系,本申请提供的方法中,可以保证参与方半诚实的情况下数据不会在协议执行过程中泄露或窃取其他参与方的业务数据。
协同查询系统部署于多个业务机构中,不限制业务机构的数量,每个业务机构对应一个业务节点,参见图2,图2示出了本申请实施例提供的各业务节点的组成示意图。如图2所示,每个业务节点由用户、业务节点对应的协同查询平台、MPC计算引擎和业务节点对应的业务数据组成,各业务结构之间不存在主从关系。协同查询系统由用户提交数据查询语句,协同查询平台负责鉴权、分布式调度和数据处理,计算引擎封装了许多安全多方计算算子,计算引擎基于查询子任务执行MPC算子。协同查询系统具体是指SQL协同查询系统,多个业务节点保存有各自的业务数据,某一个业务节点可以根据SQL语句根据各业务节点中的业务数据进行数据查询。图2所示为两个业务节点组成的结构示意图,在实际应用中,可以有协同查询系统可以有多个业务节点。
在本申请提供的一具体实施方式中,第一业务节点具体是指在协同查询系统中,接收到用户上传数据查询语句的业务节点,数据查询语句可以理解为SQL查询语句,在本申请体用的方法中,参与到协同查询系统中的各业务节点遵循预设的授权范围设计,具体包括:
1、可JOIN:用于唯一表示,表示可以将数据表与数据表内连接,join后各业务节点相互之间可见,join底层使用多方PSI技术。
2、可MPC:数据可以在秘密共享状态计算,仅最终结果公开。
3、可比较:各参与的业务节点可以看到数据比较结果,用于筛选业务数据。
第一业务节点与协同查询系统中的其他业务节点预先遵循了上述授权范围,第一业务节点接收到用户上传的数据查询语句,该数据查询语句中包括有两类业务字段,第一业务字段是属于第一业务节点的业务字段,第二业务字段是属于第二业务节点的业务字段。由于第一业务节点与第二业务节点之间已经预先相互授权,因此,第一业务节点可以得知第二业务节点中有哪些第二业务字段。因此,在第一业务节点中,可以根据第一业务字段和第二业务字段生成针对目标业务的数据查询语句。在实际应用中,第一业务字段和第二业务字段的数量均可以为一个、两个或多个。
第一业务节点在获得了数据查询语句之后,要先对数据查询语句中的业务字段进行鉴权,具体的,可以对数据查询语句中的第二业务字段进行鉴权,判断第二业务字段是否满足字段鉴权规则。当第二业务字段满足字段鉴权规则的情况下,执行数据查询语句。
第二业务字段进行鉴权,是指要先判断第一业务节点是否得到了第二业务字段的授权。在实际应用中,第一业务节点要预先向第二业务节点请求第二业务字段的使用权限,第二业务节点对该请求进行审批,审批通过后,第二业务节点向第一业务节点授权该第二业务字段,同时,第二业务节点向协同查询系统的其他业务节点广播该授权信息。其他业务节点在验证该广播有效的情况下,会保存第二业务节点向第一业务节点授权了第二业务字段的信息,用于在后续处理过程中,对各业务节点之间的字段授权信息进行验证。
需要注意的是,各业务节点之间会相互之间的字段授权信息进行核对,具体的,各业务节点广播各自业务节点保存的字段授权信息,并等待其他业务节点的广播信息。各业务节点核对当前业务节点保存的字段授权信息和其他业务节点的广播信息,如果全部核对一致,则说明授权信息一致,如果出现核对异常,确定异常授权字段信息,并确定该异常授权字段信息对应的目标业务节点,由目标业务节点向协同查询系统中的其他业务节点重新广播其对外授权的字段授权信息。
如果各业务节点之间无法将字段授权信息和其他业务节点的广播信息达成一致,则将异常的业务节点退出协同查询系统,保证协同查询系统中的正常业务节点可以使用。
对第二业务字段进行鉴权,还包括对数据查询语句中的各输入输出信息进行鉴权,具体的,将数据查询语句转换为逻辑执行计划,对逻辑执行计划中每一个步骤的输入输出进行鉴权,即判断逻辑执行计划中每一个步骤的输入输出是否满足字段鉴权规则,确保数据查询语句在执行过程中也不会出现越权的情况。
当第二业务字段通过了字段鉴权规则的情况下,在第一业务节点将数据查询语句拆分为多个MPC子任务,并将第一业务节点中第一业务字段的第一业务数据以秘密分享的方式进行拆分,获得第一业务数据碎片和第二业务数据碎片,并将第二业务数据碎片发送给第二业务节点,以使第二业务节点根据第二业务数据碎片执行数据查询语句。需要注意的是,第一业务数据以秘密分享的方式进行了拆分,因此将第二业务数据碎片发送给第二业务节点,也不会导致第一业务数据的泄露,第二业务字段也无法获知第一业务数据的内容,但是第二业务节点可以根据第二业务数据碎片进行相应的数据处理。
步骤104:所述第二业务节点,将所述第二业务字段对应的第二业务数据根据秘密分享的方式拆分,获得第三业务数据碎片和第四业务数据碎片;将所述第三业务数据碎片发送给所述第一业务节点,根据所述第二业务数据碎片和所述第四业务数据碎片执行所述多个隐私查询子任务,获得第二隐私查询结果,并将所述第二隐私查询结果发送给所述第一业务节点。
第二业务节点具体是指协同查询系统中用于配合第一业务数据节点中数据查询语句的节点,在实际应用中,第二业务节点不特指某一个业务节点,而是指参与到数据查询语句中的业务节点,第二业务节点可以为一个、两个或多个,第二业务节点的数量以实际应用为准。
第二业务节点通过协同查询平台获取到数据查询语句,在第二业务节点中,也需要对数据查询语句中的第一业务字段进行鉴权,在第二业务节点中对第一业务字段鉴权的过程与第一业务节点中对第二业务字段进行鉴权的过程相同,在此不再赘述。
当第二业务节点中的对第一业务字段鉴权通过的情况下,执行该数据查询语句,具体的,将第二业务字段对应的第二业务数据以秘密分享的方式进行拆分,获得第三业务数据碎片和第四业务数据碎片,并将第三业务数据碎片发送给第一业务节点,第一业务节点无法根据第三业务数据碎片获取到第二业务节点中的第二业务数据。
第二业务节点将数据查询语句拆分为多个隐私查询子任务,并根据第四业务数据碎片和第一业务节点发送的第二业务数据碎片执行多个隐私查询子任务,从而获得第二业务节点中的第二隐私查询结果,需要注意的是,这里的第二隐私查询结果,并不是第二业务节点中任和一个业务字段的数据,而是根据第二业务数据碎片和第四业务数据碎片进行处理后,获得的中间加密隐私数据。第二业务节点将第二隐私查询结果发送给第一业务节点,以使第一业务节点根据第二隐私查询结果还原出最终的目标业务查询结果。
步骤106:所述第一业务节点,根据所述第一业务数据碎片和所述第三业务数据碎片执行所述多个隐私查询子任务,获得第一隐私查询结果,根据所述第一隐私查询结果和所述第二隐私查询结果,生成所述数据查询语句对应的目标业务查询结果。
在实际应用中,第一业务节点会接收到第二业务节点发送的第三业务数据碎片,并根据第一业务数据碎片和第三业务数据碎片执行多个隐私查询子任务,获得第一业务节点中的第一隐私查询结果。
再根据第二业务节点发送的第二隐私查询结果和第一隐私查询结果进行数据融合,生成数据查询语句对应的目标业务查询结果。将第一隐私查询结果和第二隐私查询结果包括将两者进行聚合,并将聚合后的数据进行解密,从而生成目标业务查询结果。
本申请实施例提供的基于多方安全计算的数据协同处理方法,采用了去中心化的多方协同数据查询方法,在各业务节点相互授权后,对于分布式SQL语句,首先在各业务节点执行分布式鉴权,各业务节点均通过鉴权后,将SQL语句拆分为多个MPC子任务,调用计算引擎执行MPC计算,各业务节点分别获得各自对应的隐私查询结果,再将各自的隐私查询结果返回给第一业务节点,在第一业务节点中进行数据恢复,生成最终的目标业务查询结果,通过本方法,无需可信中心即可安全地进行多方协同查询,基于MPC完成查询任务,各业务节点无法获得越权数据,第一业务节点仅能获取最终计算结果。
其次,本申请提供了一种分布式授权流程,在分布式协同查询系统中,权限数据由各业务节点共同管理,防止恶意业务节点非法篡改其他业务节点的授权信息,各业务节点在获得其他业务节点的字段授权信息后才能使用。分布式权限出现不一致的情况下,先尝试恢复一致,如果不能恢复一致,则将权限不一致的业务节点退出协同查询系统。
图3示出了根据本申请一实施例提供的一种基于多方安全计算的数据协同处理方法的流程图,所述方法应用于协同查询系统中的第一业务节点,具体包括以下步骤:
步骤302:接收针对目标业务的数据查询语句,其中,所述数据查询语句包括第一业务字段和第二业务字段,所述第一业务字段属于所述第一业务节点,所述第二业务字段属于所述协同查询系统中的第二业务节点。
其中,第一业务节点具体是指接收到用户上传数据查询语句的业务节点,目标业务具体是数据查询语句的业务。
例如,在协同查询系统中包括有业务节点A和业务节点B,其中,业务节点A中有salary表,salary表中有工资信息income,业务节点B中有stock表,stock表中有股票盈亏信息profit,现在业务节点A的用户希望基于业务节点A和业务节点B的数据,统计包含工资和股票的平均收入,在此过程中,业务节点A有工资信息,业务节点B有股票信息,但是双方都不想将自己的数据暴露给对方。
此时,目标业务为“统计包含工资和股票的平均收入”,针对该目标业务的数据查询语句为“select avg(salary.income + stock.profit) as avg_income from salaryjoin stock on salary.id = stock.id”。用户在业务节点A中上传该数据查询语句,业务节点B通过系统查询平台获取到该数据查询语句,业务节点A为第一业务节点,业务节点B为第二业务节点。
其中,income属于第一业务节点的第一业务字段,profit属于第二业务节点的第二业务字段。
在本申请提供的一具体实施方式中,所述方法还包括:
向所述第二业务节点发送针对所述目标业务的第二业务字段的字段权限申请信息;
接收所述第二业务节点响应于所述字段权限申请信息,返回的针对所述第二业务字段的授权信息。
在实际应用中,第一业务节点在获取了目标业务之后,需要用到第二业务节点的第二业务字段,因此,第一业务节点的用户在创建数据查询语句之前,要先申请第二业务节点中第二业务字段的字段权限,基于此,第一业务节点要向第二业务节点发送针对第二业务字段你的字段权限申请信息。
第二业务节点在接收到该字段权限申请信息后,对该申请信息进行审批,在第二业务节点中通过了该申请信息后,第二业务节点向第一业务节点发送针对第二业务字段的授权信息。同时第二业务节点向协同查询系统中的其他各业务节点广播该授权信息,即告知其他各业务节点第二业务节点向第一业务节点开放了第二业务字段的授权信息。
第一业务节点接收该授权信息,并保存在在第一业务节点中,该授权信息用于后续对第二业务字段进行鉴权。
在本申请提供的一具体实施方式中,所述方法还包括:
接收针对所述协同查询系统的登录信息;
响应于所述登录信息加入所述协同查询系统。
在本申请提供的具体实施方式中,用户在第一业务节点中是通过协同查询系统来实现数据处理,具体的,在第一业务节点中显示协同查询系统的登录界面,用户在该登录界面中录入登录信息,第一业务节点根据该登录信息加入该协同查询系统。
步骤304:在所述第二业务字段通过字段鉴权规则的情况下,将所述数据查询语句拆分为多个隐私查询子任务。
其中,字段鉴权规则具体是指用于判断第二业务字段是否满足授权信息的规则,只有当第二业务字段满足字段鉴权规则的情况下,才能进行后续的处理,如果第二业务字段不满足字段鉴权规则,说明第二业务节点无法配合第一业务节点执行该数据查询语句,从而中断该数据查询语句的执行操作。
只有当第二业务字段通过了字段鉴权规则的情况下,才会继续对数据查询语句进行后续的处理。在实际应用中,一个数据查询语句可能会分为多个查询子任务,本申请提供的方法是基于多方安全计算的数据查询任务,在SQL协同查询系统中,通过JOIN将各业务节点连接到一起,在JOIN底层使用了多方PSI技术,因此,多个查询子任务可以理解为隐私查询子任务。
在本申请提供的一具体的实施方式中,所述方法还包括:
验证所述第二业务字段是否通过字段鉴权规则;
若是,则确定所述第二业务字段通过字段鉴权规则;
若否,则中断执行所述数据查询语句。
在实际应用中,本申请提供的方法还需要验证第二业务字段是否通过字段鉴权规则,如果没有通过,则中断该数据查询语句。
其中,验证所述第二业务字段是否通过字段鉴权规则,包括:
获取所述第二业务字段的待验证字段哈希值,获取所述第一业务节点保存的授权信息的授权信息哈希值;
判断授权信息哈希值中是否包括所述待验证字段哈希值。
具体的,验证第二业务字段是否通过字段鉴权规则,包括判断第二业务字段对应的待验证字段哈希值,是否包括在第一业务节点中的授权信息的授权信息哈希值,如果存在,则说明第二业务字段通过了字段鉴权规则,否则第二业务字段就没有通过该字段鉴权规则。
在本申请提供的另一具体实施方式中,验证所述第二业务字段是否通过字段鉴权规则,还包括:
将所述数据查询语句转换为语句逻辑执行计划,并获取所述语句逻辑执行计划中的至少一个语句逻辑参数;
验证各语句逻辑参数是否满足字段鉴权规则。
在实际应用中,处理验证第二业务字段是否保存在第一业务节点的授权信息中,还需要验证在执行数据查询语句的过程中的中间数据是否满足字段鉴权规则,具体的,将数据查询语句转换为语句逻辑执行计划,这里的语句逻辑执行计划具体是指在执行该数据查询语句的过程中,需要先做什么,在做什么,即语句逻辑执行计划中包括有多个步骤,需要获取语句逻辑执行计划中各个步骤的入参和出参,即各个语句逻辑参数,再验证各语句逻辑参数是否都满足字段鉴权规则,只有当第二业务字段和各语句逻辑参数均满足字段鉴权规则的情况下,才可以确定第二业务字段通过了字段鉴权规则。
步骤306:执行所述多个隐私查询子任务,获得第一隐私查询结果,接收所述第二业务节点针对多个隐私查询子任务发送的第二隐私查询结果。
在上述步骤中,已经获取了多个隐私查询子任务,则可以执行多个隐私查询子任务,在实际应用中,在第一业务节点中执行多个隐私查询子任务,获得了第一隐私查询结果,在第二业务节点中,也接收到了多个隐私查询子任务,在执行完后,获得了第二隐私查询结果。第二业务节点还会将获得的第二隐私查询结果发送给第一业务节点。以便第一业务节点可以获取最终的目标数据查询结果。
在本申请提供的一具体实施方式中,执行所述多个隐私查询子任务,获得第一隐私查询结果,包括:
将所述第一业务字段对应的第一业务数据根据秘密分享的方式拆分,获得第一业务数据碎片和第二业务数据碎片;
接收所述第二业务节点发送的第三业务数据碎片,其中,所述第三业务数据碎片为根据秘密分享方式拆分的第二业务字段对应的第二业务数据;
根据所述第一业务数据碎片和所述第三业务数据碎片执行所述多个隐私查询子任务,获得第一隐私查询结果。
在本申请提供的另一具体实施方式中,所述方法还包括:
将所述第二业务数据碎片发送至所述第二业务节点,以使所述第二业务节点根据第四业务数据碎片和所述第二业务数据碎片执行多个隐私查询子任务,获得第二隐私查询结果,其中,所述第四业务数据碎片为根据秘密分享方式拆分的第二业务字段对应的第二业务数据。
在实际应用中,本申请提供的方法遵循秘密分享的协议,在第一业务节点中,将第一业务字段对应的第一业务数据以秘密分享的方式进行拆分,获得了第一业务数据碎片和第二业务数据碎片,第一业务节点保存第一业务数据碎片,并将第二业务数据碎片发送给第二业务节点;同样的,在第二业务节点中同样对第二业务字段对应第二业务数据以秘密分享的方式进行拆分,获得第三业务数据碎片和第四业务数据碎片,第二业务节点将第三业务数据碎片发送了给第一业务节点。
在第一业务节点中,根据第一业务数据碎片和第三业务数据碎片进行多个隐私查询子任务,获得第一业务节点中的第一隐私查询结果。
在第二业务节点中,根据第二业务数据碎片和第四业务数据碎片进行多个隐私查询子任务,获得第二业务节点中的第二隐私查询结果,并将第二隐私查询结果发送至第一业务节点。
在实际应用中,第一业务节点和第二业务节点在进行数据拆分之前,还会根据业务数据的唯一标识执行多方隐私求交算子对齐数据的操作,过滤多余的无用数据,例如在业务节点1中包括有50个ID,在业务节点2中包括有60个ID,同时存在这两个业务节点中的ID数量有30个,则通过业务节点1的ID与业务节点2的ID相同的筛选条件,将这30个数据筛选出来,避免因为数据过多带来的数据计算量大的问题。
在本申请提供的一具体实施方式中,沿用上例,数据查询语句为“select avg(salary.income + stock.profit) as avg_income from salary join stock onsalary.id = stock.id”。协同查询平台对各业务字段进行鉴权,若存在越权,则终止执行该数据查询语句,若不存在越权,则将该数据查询语句拆分为多个MPC子任务。
通过“salary.id = stock.id”将业务节点A中的业务数据和业务节点B中的业务数据进行数据对齐,业务节点A将income数据以秘密分享的方式拆分为income1和income2,业务节点B将profit数据以秘密分享的方式拆分为profit1和profit2,业务节点A将income2发送给业务节点B,业务节点B将profit1发送给业务节点A。
业务节点A根据income1和profit1执行各MPC子任务,获得第一隐私查询结果;业务节点B根据income2和profit2执行各MPC子任务,获得第二隐私查询结果,业务节点B将第二隐私查询结果发送至业务节点A。
步骤308:根据所述第一隐私查询结果和所述第二隐私查询结果,生成所述数据查询语句对应的目标业务查询结果。
第一业务节点在接收到第二隐私查询结果之后,对第一隐私查询结果和第二隐私查询结果进行数据融合和解码,生成数据查询语句对应的目标业务查询结果。
在本申请提供的又一具体实施方式中,所述方法还包括:
获取所述第一业务节点的节点授权信息,并接收所述协同查询系统中其他业务节点发送的广播授权信息;
在所述节点授权信息与所述广播授权信息不一致的情况下,将所述第一业务节点中的第一业务字段的授权信息广播至所述协同查询系统中其他业务节点。
在实际应用中,本申请实施例还提供了一种分布式授权核对机制,在该分布式核对机制下,各业务节点广播各节点向外授权的授权信息的节点授权信息,同时获取当前节点保存的节点授权信息,通过两者进行比对,若各业务节点保存的节点授权信息和向外授权的节点授权信息一致,则说明当前授权信息无误,退出该核对机制。
如果出现业务节点本地与其他业务节点权限不一致的情况,则触发协同查询系统中的权限同步,各业务节点向其他业务节点广播向外授权的节点授权信息。在全部权限同步完成后,如果该核对机制保持一致,则退出核对机制;如果该核对机制还无法保持一致,则将字段权限授权异常的业务节点退出协同查询系统。
本申请实施例提供的基于多方安全计算的数据协同处理方法,采用了去中心化的多方协同数据查询方法,在各业务节点相互授权后,对于分布式SQL语句,首先在各业务节点执行分布式鉴权,各业务节点均通过鉴权后,将SQL语句拆分为多个MPC子任务,调用计算引擎执行MPC计算,各业务节点分别获得各自对应的隐私查询结果,再将各自的隐私查询结果返回给第一业务节点,在第一业务节点中进行数据恢复,生成最终的目标业务查询结果,通过本方法,无需可信中心即可安全地进行多方协同查询,基于MPC完成查询任务,各业务节点无法获得越权数据,第一业务节点仅能获取最终计算结果。
其次,本申请提供了一种分布式授权流程,在分布式协同查询系统中,权限数据由各业务节点共同管理,防止恶意业务节点非法篡改其他业务节点的授权信息,各业务节点在获得其他业务节点的字段授权信息后才能使用。分布式权限出现不一致的情况下,先尝试恢复一致,如果不能恢复一致,则将权限不一致的业务节点退出协同查询系统。
与上述方法实施例相对应,本申请还提供了基于多方安全计算的数据协同处理装置实施例,图4示出了本申请一实施例提供的一种基于多方安全计算的数据协同处理装置的结构示意图。如图4所示,该装置应用于协同查询系统中的第一业务节点,包括:
接收模块402,被配置为接收针对目标业务的数据查询语句,其中,所述数据查询语句包括第一业务字段和第二业务字段,所述第一业务字段属于所述第一业务节点,所述第二业务字段属于所述协同查询系统中的第二业务节点;
拆分模块404,被配置为在所述第二业务字段通过字段鉴权规则的情况下,将所述数据查询语句拆分为多个隐私查询子任务;
执行模块406,被配置为执行所述多个隐私查询子任务,获得第一隐私查询结果,接收所述第二业务节点针对多个隐私查询子任务发送的第二隐私查询结果;
生成模块408,被配置为根据所述第一隐私查询结果和所述第二隐私查询结果,生成所述数据查询语句对应的目标业务查询结果。
可选的,所述装置还包括:
申请发送模块,被配置为向所述第二业务节点发送针对所述目标业务的第二业务字段的字段权限申请信息;
信息接收模块,被配置为接收所述第二业务节点响应于所述字段权限申请信息,返回的针对所述第二业务字段的授权信息。
可选的,所述装置还包括:
登录信息接收模块,被配置为接收针对所述协同查询系统的登录信息;
登录模块,被配置为响应于所述登录信息加入所述协同查询系统。
可选的,所述装置还包括验证模块,被配置为:
验证所述第二业务字段是否通过字段鉴权规则;
若是,则确定所述第二业务字段通过字段鉴权规则;
若否,则中断执行所述数据查询语句。
可选的,所述验证模块,进一步被配置为:
获取所述第二业务字段的待验证字段哈希值,获取所述第一业务节点保存的授权信息的授权信息哈希值;
判断授权信息哈希值中是否包括所述待验证字段哈希值。
可选的,所述验证模块,还被配置为:
将所述数据查询语句转换为语句逻辑执行计划,并获取所述语句逻辑执行计划中的至少一个语句逻辑参数;
验证各语句逻辑参数是否满足字段鉴权规则。
可选的,所述执行模块406,进一步被配置为:
将所述第一业务字段对应的第一业务数据根据秘密分享的方式拆分,获得第一业务数据碎片和第二业务数据碎片;
接收所述第二业务节点发送的第三业务数据碎片,其中,所述第三业务数据碎片为根据秘密分享方式拆分的第二业务字段对应的第二业务数据;
根据所述第一业务数据碎片和所述第三业务数据碎片执行所述多个隐私查询子任务,获得第一隐私查询结果。
可选的,所述装置还包括:
数据发送模块,被配置为将所述第二业务数据碎片发送至所述第二业务节点,以使所述第二业务节点根据第四业务数据碎片和所述第二业务数据碎片执行多个隐私查询子任务,获得第二隐私查询结果,其中,所述第四业务数据碎片为根据秘密分享方式拆分的第二业务字段对应的第二业务数据。
可选的,所述装置还包括权限核对模块,被配置为:
获取所述第一业务节点的节点授权信息,并接收所述协同查询系统中其他业务节点发送的广播授权信息;
在所述节点授权信息与所述广播授权信息不一致的情况下,将所述第一业务节点中的第一业务字段的授权信息广播至所述协同查询系统中其他业务节点。
本申请实施例提供的基于多方安全计算的数据协同处理装置,采用了去中心化的多方协同数据查询结构,在各业务节点相互授权后,对于分布式SQL语句,首先在各业务节点执行分布式鉴权,各业务节点均通过鉴权后,将SQL语句拆分为多个MPC子任务,调用计算引擎执行MPC计算,各业务节点分别获得各自对应的隐私查询结果,再将各自的隐私查询结果返回给第一业务节点,在第一业务节点中进行数据恢复,生成最终的目标业务查询结果,通过本方法,无需可信中心即可安全地进行多方协同查询,基于MPC完成查询任务,各业务节点无法获得越权数据,第一业务节点仅能获取最终计算结果。
其次,本申请提供了一种分布式授权流程,在分布式协同查询系统中,权限数据由各业务节点共同管理,防止恶意业务节点非法篡改其他业务节点的授权信息,各业务节点在获得其他业务节点的字段授权信息后才能使用。分布式权限出现不一致的情况下,先尝试恢复一致,如果不能恢复一致,则将权限不一致的业务节点退出协同查询系统。
上述为本实施例的一种基于多方安全计算的数据协同处理装置的示意性方案。需要说明的是,该基于多方安全计算的数据协同处理装置的技术方案与上述的基于多方安全计算的数据协同处理方法的技术方案属于同一构思,基于多方安全计算的数据协同处理装置的技术方案未详细描述的细节内容,均可以参见上述基于多方安全计算的数据协同处理方法的技术方案的描述。
图5示出了根据本申请一实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,networkinterface controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本申请的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520执行所述计算机指令时实现所述的基于多方安全计算的数据协同处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的基于多方安全计算的数据协同处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述基于多方安全计算的数据协同处理方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该计算机指令被处理器执行时实现如前所述基于多方安全计算的数据协同处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的基于多方安全计算的数据协同处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述基于多方安全计算的数据协同处理方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据专利实践的要求进行适当的增减,例如在某些地域,根据专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种基于多方安全计算的数据协同处理方法,其特征在于,应用于协同查询系统中的第一业务节点,包括:
接收针对目标业务的数据查询语句,其中,所述数据查询语句包括第一业务字段和第二业务字段,所述第一业务字段属于所述第一业务节点,所述第二业务字段属于所述协同查询系统中的第二业务节点;
在所述第二业务字段通过字段鉴权规则的情况下,将所述数据查询语句拆分为多个隐私查询子任务;
执行所述多个隐私查询子任务,获得第一隐私查询结果,接收所述第二业务节点针对多个隐私查询子任务发送的第二隐私查询结果;
根据所述第一隐私查询结果和所述第二隐私查询结果,生成所述数据查询语句对应的目标业务查询结果。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
向所述第二业务节点发送针对所述目标业务的第二业务字段的字段权限申请信息;
接收所述第二业务节点响应于所述字段权限申请信息,返回的针对所述第二业务字段的授权信息。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收针对所述协同查询系统的登录信息;
响应于所述登录信息加入所述协同查询系统。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
验证所述第二业务字段是否通过字段鉴权规则;
若是,则确定所述第二业务字段通过字段鉴权规则;
若否,则中断执行所述数据查询语句。
5.如权利要求4所述的方法,其特征在于,验证所述第二业务字段是否通过字段鉴权规则,包括:
获取所述第二业务字段的待验证字段哈希值,获取所述第一业务节点保存的授权信息的授权信息哈希值;
判断授权信息哈希值中是否包括所述待验证字段哈希值。
6.如权利要求5所述的方法,其特征在于,验证所述第二业务字段是否通过字段鉴权规则,还包括:
将所述数据查询语句转换为语句逻辑执行计划,并获取所述语句逻辑执行计划中的至少一个语句逻辑参数;
验证各语句逻辑参数是否满足字段鉴权规则。
7.如权利要求1所述的方法,其特征在于,执行所述多个隐私查询子任务,获得第一隐私查询结果,包括:
将所述第一业务字段对应的第一业务数据根据秘密分享的方式拆分,获得第一业务数据碎片和第二业务数据碎片;
接收所述第二业务节点发送的第三业务数据碎片,其中,所述第三业务数据碎片为根据秘密分享方式拆分的第二业务字段对应的第二业务数据;
根据所述第一业务数据碎片和所述第三业务数据碎片执行所述多个隐私查询子任务,获得第一隐私查询结果。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
将所述第二业务数据碎片发送至所述第二业务节点,以使所述第二业务节点根据第四业务数据碎片和所述第二业务数据碎片执行多个隐私查询子任务,获得第二隐私查询结果,其中,所述第四业务数据碎片为根据秘密分享方式拆分的第二业务字段对应的第二业务数据。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第一业务节点的节点授权信息,并接收所述协同查询系统中其他业务节点发送的广播授权信息;
在所述节点授权信息与所述广播授权信息不一致的情况下,将所述第一业务节点中的第一业务字段的授权信息广播至所述协同查询系统中其他业务节点。
10.一种基于多方安全计算的数据协同处理方法,其特征在于,应用于协同查询系统,所述协同查询系统包括第一业务节点和第二业务节点,所述方法包括:
所述第一业务节点,接收针对目标业务的数据查询语句,其中,所述数据查询语句包括第一业务字段和第二业务字段,所述第一业务字段属于所述第一业务节点,所述第二业务字段属于所述协同查询系统中的第二业务节点;在所述第二业务字段通过字段鉴权规则的情况下,将所述数据查询语句拆分为多个隐私查询子任务;将所述第一业务字段对应的第一业务数据根据秘密分享的方式拆分,获得第一业务数据碎片和第二业务数据碎片;将所述第二业务数据碎片发送至所述第二业务节点;
所述第二业务节点,将所述第二业务字段对应的第二业务数据根据秘密分享的方式拆分,获得第三业务数据碎片和第四业务数据碎片;将所述第三业务数据碎片发送给所述第一业务节点,根据所述第二业务数据碎片和所述第四业务数据碎片执行所述多个隐私查询子任务,获得第二隐私查询结果,并将所述第二隐私查询结果发送给所述第一业务节点;
所述第一业务节点,根据所述第一业务数据碎片和所述第三业务数据碎片执行所述多个隐私查询子任务,获得第一隐私查询结果,根据所述第一隐私查询结果和所述第二隐私查询结果,生成所述数据查询语句对应的目标业务查询结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410011285.2A CN117521150B (zh) | 2024-01-04 | 2024-01-04 | 基于多方安全计算的数据协同处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410011285.2A CN117521150B (zh) | 2024-01-04 | 2024-01-04 | 基于多方安全计算的数据协同处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117521150A true CN117521150A (zh) | 2024-02-06 |
CN117521150B CN117521150B (zh) | 2024-04-09 |
Family
ID=89745944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410011285.2A Active CN117521150B (zh) | 2024-01-04 | 2024-01-04 | 基于多方安全计算的数据协同处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117521150B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200133949A1 (en) * | 2018-10-26 | 2020-04-30 | Alibaba Group Holding Limited | Data processing method, apparatus, and device |
CN111382174A (zh) * | 2018-12-28 | 2020-07-07 | 百度在线网络技术(北京)有限公司 | 多方数据联合查询方法、装置、服务器和存储介质 |
CN111680322A (zh) * | 2020-05-26 | 2020-09-18 | 矩阵元技术(深圳)有限公司 | 基于安全多方计算的数据处理方法、装置及电子设备 |
CN111949998A (zh) * | 2020-05-11 | 2020-11-17 | 华控清交信息科技(北京)有限公司 | 对象检测及请求方法、数据处理系统、装置及存储介质 |
CN113407987A (zh) * | 2021-05-24 | 2021-09-17 | 支付宝(杭州)信息技术有限公司 | 保护隐私的确定业务数据特征有效值的方法及装置 |
CN114064800A (zh) * | 2021-10-22 | 2022-02-18 | 上海浦东发展银行股份有限公司 | 用户资产视图计算方法、系统、计算机设备及存储介质 |
CN114329635A (zh) * | 2022-03-04 | 2022-04-12 | 杭州字节方舟科技有限公司 | 基于多方安全计算的隐私签名方法和计算机系统 |
CN114510503A (zh) * | 2022-01-19 | 2022-05-17 | 深信服科技股份有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
CN115374457A (zh) * | 2022-08-22 | 2022-11-22 | 杭州海康威视数字技术股份有限公司 | 一种安全多方计算方法、装置及电子设备 |
CN115495788A (zh) * | 2022-09-23 | 2022-12-20 | 杭州博盾习言科技有限公司 | 基于隐私计算的数据联合查询方法、装置、系统 |
CN115794359A (zh) * | 2021-09-09 | 2023-03-14 | 深圳致星科技有限公司 | 用于联邦学习的异构系统及处理方法 |
CN116108473A (zh) * | 2023-04-10 | 2023-05-12 | 极术(杭州)科技有限公司 | 多方安全计算中的数据处理方法及装置 |
US20230198765A1 (en) * | 2020-05-07 | 2023-06-22 | Glimpse Protocol Limited | Multi-directional zero-knowledge attestation systems and methods |
CN116483859A (zh) * | 2023-04-25 | 2023-07-25 | 蚂蚁区块链科技(上海)有限公司 | 数据查询方法及装置 |
CN116628010A (zh) * | 2023-05-26 | 2023-08-22 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置及设备 |
CN116795861A (zh) * | 2023-04-26 | 2023-09-22 | 阿里巴巴(中国)有限公司 | 数据的校验方法、系统和电子设备 |
CN117077209A (zh) * | 2023-10-16 | 2023-11-17 | 云阵(杭州)互联网技术有限公司 | 大规模数据匿踪查询方法 |
CN117294482A (zh) * | 2023-09-14 | 2023-12-26 | 广电运通集团股份有限公司 | 基于多方安全隐私计算的数据验证方法和装置 |
-
2024
- 2024-01-04 CN CN202410011285.2A patent/CN117521150B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200133949A1 (en) * | 2018-10-26 | 2020-04-30 | Alibaba Group Holding Limited | Data processing method, apparatus, and device |
CN111382174A (zh) * | 2018-12-28 | 2020-07-07 | 百度在线网络技术(北京)有限公司 | 多方数据联合查询方法、装置、服务器和存储介质 |
US20230198765A1 (en) * | 2020-05-07 | 2023-06-22 | Glimpse Protocol Limited | Multi-directional zero-knowledge attestation systems and methods |
CN111949998A (zh) * | 2020-05-11 | 2020-11-17 | 华控清交信息科技(北京)有限公司 | 对象检测及请求方法、数据处理系统、装置及存储介质 |
CN111680322A (zh) * | 2020-05-26 | 2020-09-18 | 矩阵元技术(深圳)有限公司 | 基于安全多方计算的数据处理方法、装置及电子设备 |
CN113407987A (zh) * | 2021-05-24 | 2021-09-17 | 支付宝(杭州)信息技术有限公司 | 保护隐私的确定业务数据特征有效值的方法及装置 |
CN115794359A (zh) * | 2021-09-09 | 2023-03-14 | 深圳致星科技有限公司 | 用于联邦学习的异构系统及处理方法 |
CN114064800A (zh) * | 2021-10-22 | 2022-02-18 | 上海浦东发展银行股份有限公司 | 用户资产视图计算方法、系统、计算机设备及存储介质 |
CN114510503A (zh) * | 2022-01-19 | 2022-05-17 | 深信服科技股份有限公司 | 一种数据处理方法、装置、设备及计算机可读存储介质 |
CN114329635A (zh) * | 2022-03-04 | 2022-04-12 | 杭州字节方舟科技有限公司 | 基于多方安全计算的隐私签名方法和计算机系统 |
CN115374457A (zh) * | 2022-08-22 | 2022-11-22 | 杭州海康威视数字技术股份有限公司 | 一种安全多方计算方法、装置及电子设备 |
CN115495788A (zh) * | 2022-09-23 | 2022-12-20 | 杭州博盾习言科技有限公司 | 基于隐私计算的数据联合查询方法、装置、系统 |
CN116108473A (zh) * | 2023-04-10 | 2023-05-12 | 极术(杭州)科技有限公司 | 多方安全计算中的数据处理方法及装置 |
CN116483859A (zh) * | 2023-04-25 | 2023-07-25 | 蚂蚁区块链科技(上海)有限公司 | 数据查询方法及装置 |
CN116795861A (zh) * | 2023-04-26 | 2023-09-22 | 阿里巴巴(中国)有限公司 | 数据的校验方法、系统和电子设备 |
CN116628010A (zh) * | 2023-05-26 | 2023-08-22 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置及设备 |
CN117294482A (zh) * | 2023-09-14 | 2023-12-26 | 广电运通集团股份有限公司 | 基于多方安全隐私计算的数据验证方法和装置 |
CN117077209A (zh) * | 2023-10-16 | 2023-11-17 | 云阵(杭州)互联网技术有限公司 | 大规模数据匿踪查询方法 |
Non-Patent Citations (6)
Title |
---|
JUN ISHII等: "Privacy-Preserving Statistical Analysis Method for Real-World Data", 2012 IEEE 11TH INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS, 6 September 2012 (2012-09-06) * |
WETTSTEIN, RETO等: "Secure Multi-Party Computation Based Distributed Feasibility Queries - A HiGHmed Use Case.", STUDIES IN HEALTH TECHNOLOGY AND INFORMATICS, vol. 296, 9 September 2022 (2022-09-09) * |
何贤芒: "基于差分隐私保护技术的多方求和查询方法", 网络与信息安全学报, vol. 6, no. 3, 15 June 2020 (2020-06-15) * |
吴霁霖等: "一种基于物联网及区块链的去中心化数据管理系统", 计算技术与自动化, vol. 41, no. 1, 27 April 2022 (2022-04-27) * |
秦宝东等: "云计算辅助的高效决策树隐私保护查询协议", 西安邮电大学学报, vol. 27, no. 1, 10 January 2022 (2022-01-10) * |
马晓东等: "基于区块链技术的去中心化应用——以学者网为例", 网络空间安全, vol. 10, no. 8, 3 April 2020 (2020-04-03) * |
Also Published As
Publication number | Publication date |
---|---|
CN117521150B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI764037B (zh) | 跨區塊鏈的交互方法及系統、電腦設備及儲存媒體 | |
AU2019204712B2 (en) | Managing sensitive data elements in a blockchain network | |
CN111970129B (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
CN110555029B (zh) | 基于区块链的票务管理方法、装置及存储介质 | |
CN113901505B (zh) | 数据共享方法、装置、电子设备及存储介质 | |
CN114978635B (zh) | 跨域认证方法及装置、用户注册方法及装置 | |
CN111327426A (zh) | 数据共享方法及相关装置、设备及系统 | |
CN116992458A (zh) | 基于可信执行环境的可编程数据处理方法以及系统 | |
CN114357475A (zh) | 一种基于区块链的数据确权方法、系统、设备及介质 | |
CN112862487A (zh) | 一种数字证书认证方法、设备及存储介质 | |
CN116244725A (zh) | 基于区块链的文件处理方法及装置、设备、文件投稿系统 | |
CN113271366A (zh) | 基于区块链和安全计算的数据共享系统 | |
CN116127531B (zh) | 一种多数据方参与且各方数据不出域的安全计算方法及系统 | |
CN117521150B (zh) | 基于多方安全计算的数据协同处理方法 | |
CN112702354A (zh) | 一种基于区块链技术的数据资源共享追溯方法及装置 | |
KR102258064B1 (ko) | 융복합 블록체인 기반 유인 항공기 및 무인 항공기 관제 시스템 및 서비스 제공 방법 | |
CN116964572A (zh) | 基于区块链的联邦学习设备、方法和系统 | |
Rajasekar et al. | Blackchain-based Identity Management Systems in Digital Forensics | |
CN116506227B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN114547704B (zh) | 基于分布式账本的数据处理方法以及装置 | |
CN117592990B (zh) | 区块链交易认证方法以及装置、计算设备以及存储介质 | |
US10990563B2 (en) | Information read/write method and apparatus based on blockchain | |
CN115967583B (zh) | 基于联盟链的密钥管理系统及方法 | |
CN114116855A (zh) | 基于区块链的数据流通系统、方法及装置 | |
CN117763605A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |