CN115086037B - 一种数据处理方法及装置、存储介质及电子设备 - Google Patents
一种数据处理方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115086037B CN115086037B CN202210679199.XA CN202210679199A CN115086037B CN 115086037 B CN115086037 B CN 115086037B CN 202210679199 A CN202210679199 A CN 202210679199A CN 115086037 B CN115086037 B CN 115086037B
- Authority
- CN
- China
- Prior art keywords
- computing platform
- data
- data processing
- target
- platform
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 205
- 238000004364 calculation method Methods 0.000 claims abstract description 92
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000004044 response Effects 0.000 claims description 61
- 244000035744 Hura crepitans Species 0.000 claims description 26
- 238000010586 diagram Methods 0.000 description 10
- 230000010354 integration Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012502 risk assessment Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种数据处理方法及装置、存储介质及电子设备,应用于信息安全领域,该方法包括:可信第三方平台获取每个目标计算平台反馈的计算结果,其中,计算结果由目标计算平台计算目标数据表中与各个第一标识密文对应的数据得到,目标数据表为预先创建的与查询请求对应的数据处理项目所关联的计算平台本地数据表,并依据各个计算结果和各个第二标识密文,处理得到查询请求的数据处理结果。可见,本申请方案中,由于不是直接将计算平台本地数据表直接传输至可信第三方平台,而是将计算平台对计算平台本地数据表中与各个第一标识密文对应的数据进行计算得到的计算结果传输给可信第三方平台,从而避免了用户隐私泄露、数据使用不合规等风险。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种数据处理方法及装置、存储介质及电子设备。
背景技术
随着数字经济的飞速发展,数据在企业运营、日常生活等各种场景中发挥着越来越重要的作用,数据本身的价值也越来越受到人们的重视,因此通过数据交易得以获取更多的数据价值。
现有技术中,用户通过可信第三方平台获取数据持有方所持有的原始数据。而直接获取原始数据的交易模式,会存在用户隐私泄露、数据使用不合规等风险。
发明内容
本申请提供了一种数据处理方法及装置、存储介质及电子设备,目的在于解决现有的方案所存在的用户隐私泄露、数据使用不合规等风险的问题。
为了实现上述目的,本申请提供了以下技术方案:
一种数据处理方法,应用于可信第三方平台,所述方法包括:
通过所述可信第三方平台中预先生成的查询接口获取用户的查询请求,所述查询请求中至少包括第一集合,所述第一集合包括至少一个待查询数据标识的标识密文;
获取每个目标计算平台反馈的第二集合;所述目标计算平台为预先创建的与所述查询请求对应的数据处理项目所关联的计算平台,所述第二集合包括所述目标计算平台所存储的目标数据表中的各个数据标识的标识密文,所述目标数据表为与所述数据处理项目关联的计算平台本地数据表;
获取所述第一集合和所有的第二集合的交集,并将所述交集包括的每个标识密文确定为第一标识密文;
将各个第一标识密文发送至各个目标计算平台;
获取每个目标计算平台反馈的计算结果;所述计算结果由所述目标计算平台计算所述目标数据表中与各个第一标识密文对应的数据得到;
依据各个计算结果和各个第二标识密文,处理得到所述查询请求的数据处理结果;所述第二标识密文为所述第一集合中除所述交集包括的标识密文外的标识密文。
上述的方法,可选的,所述数据处理项目的创建过程,包括:
响应用户的项目创建请求,确定与所述项目创建请求关联的每个计算平台;其中,所述项目创建请求用于请求创建数据处理项目;
将所述项目创建请求包括的项目信息发送至与所述项目创建请求关联的每个计算平台;
接收与所述项目创建请求关联的每个计算平台反馈的第一响应信息,若每个第一响应信息均指示同意创建所述数据处理项目,则基于所述项目创建请求中包括的项目信息创建数据处理项目。
上述的方法,可选的,所述查询接口的生成过程,包括:
响应用户针对预先创建的数据处理项目的计算任务配置请求,生成计算任务配置界面;所述计算任务配置界面包括所述数据处理项目关联的每个计算平台反馈的表头字段和预设的组件库,所述组件库包括多个安全组件;
获取所述用户通过所述计算任务配置界面中的各个所述表头字段和各个所述安全组件配置的计算任务的任务信息;
将所述任务信息发送至所述数据处理项目关联的每个计算平台;
接收所述数据处理项目关联的每个计算平台反馈的第二响应信息,若每个第二响应信息均指示同意创建所述计算任务,则将所述计算任务的所述任务信息添加至所述数据处理项目的任务列表中;
向所述数据处理项目关联的每个计算平台发送计算任务创建信号,以触发所述数据处理项目关联的每个计算平台将所述任务信息存储至自身预先创建的所述数据处理项目的任务列表中;
生成所述数据处理项目的加密沙箱和查询接口。
上述的方法,可选的,所述基于所述项目创建请求中包括的项目信息创建数据处理项目之后,还包括:
获取所述用户的用户公钥;
将所述用户公钥发送至与所述项目创建请求关联的每个计算平台,以触发与所述项目创建请求关联的每个计算平台基于所述项目信息创建数据处理项目,并将所述数据处理项目与所述用户公钥进行关联存储。
上述的方法,可选的,所述待查询数据标识的标识密文为所述加密沙箱基于所述用户输入的随机数,对所述用户输入的待查询数据标识进行加密得到的密文。
上述的方法,可选的,所述查询请求中还包括每个目标计算平台对应的随机数密文,其中,所述目标计算平台对应的随机数密文基于该目标计算平台对应的会话加密密钥对用户输入的随机数进行加密得到,每个目标计算平台对应的会话加密密钥基于所述用户的用户私钥和该目标计算平台的平台公钥协商得到;
所述获取每个目标计算平台反馈的第二集合,包括:
将所述每个目标计算平台对应的随机数密文发送至该目标计算平台,以便于每个所述目标计算平台在接收到随机数密文后,基于自身私钥和所述用户的用户公钥,协商得到会话解密密钥,并基于所述会话解密密钥对所接收到的随机数据密文进行解密,得到随机数,并基于所述随机数对所存储的目标数据表中的各个数据标识进行加密,得到标识密文;
获取每个目标计算平台反馈的第二集合。
上述的方法,可选的,所述目标计算平台计算所述目标数据表中与各个第一标识密文对应的数据,包括:
利用解密随机数密文得到的随机数,对各个第一标识密文进行解密,得到每个第一标识密文的待查询数据标识,并将每个第一标识密文对应的待查询数据标识确定为第一待查询数据标识;
获取所述目标数据表中与每个第一待查询数据标识对应的数据;
按照预设的秘密共享策略,对各个第一待查询数据标识对应的数据进行拆分处理,得到所述目标计算平台和每个其他目标计算平台各自对应的每个第一待查询数据标识对应的拆分数据,并将每个其他目标计算平台各自对应的拆分数据分别共享至对应的其他目标计算平台;其中,所述其他目标计算平台为除所述目标计算平台外的其他的目标计算平台;
接收每个其他目标计算平台共享的每个第一待查询数据标识对应的拆分数据;
针对每个第一待查询数据标识,基于所述计算任务的任务信息,对所述目标计算平台对应的所述第一待查询数据标识所对应的拆分数据和所接收到的所述第一待查询数据标识对应的拆分数据进行计算,得到所述第一待查询数据标识的秘密分享值;
将各个秘密分享值组成计算结果。
一种数据处理装置,应用于可信第三方平台,所述装置包括:
第一获取单元,用于通过所述可信第三方平台中预先生成的查询接口获取用户的查询请求,所述查询请求中至少包括第一集合,所述第一集合包括至少一个待查询数据标识的标识密文;
第二获取单元,用于获取每个目标计算平台反馈的第二集合;所述目标计算平台为预先创建的与所述查询请求对应的数据处理项目所关联的计算平台,所述第二集合包括所述目标计算平台所存储的目标数据表中的各个数据标识的标识密文,所述目标数据表为与所述数据处理项目关联的计算平台本地数据表;
第三获取单元,用于获取所述第一集合和所有的第二集合的交集,并将所述交集包括的每个标识密文确定为第一标识密文;
发送单元,用于将各个第一标识密文发送至各个目标计算平台;
第四获取单元,用于获取每个目标计算平台反馈的计算结果;所述计算结果由所述目标计算平台计算所述目标数据表中与各个第一标识密文对应的数据得到;
处理单元,用于依据各个计算结果和各个第二标识密文,处理得到所述查询请求的数据处理结果;所述第二标识密文为所述第一集合中除所述交集包括的标识密文外的标识密文。
一种存储介质,所述存储介质存储有指令集,其中,所述指令集被处理器执行时实现如上述的数据处理方法。
一种电子设备,包括:
存储器,用于存储至少一组指令集;
处理器,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如上述的数据处理方法。
与现有技术相比,本申请包括以下优点:
本申请提供了一种数据处理方法及装置、存储介质及电子设备,包括:通过可信第三方平台中预先生成的查询接口获取用户的查询请求,查询请求中至少包括第一集合,获取每个目标计算平台反馈的第二集合,获取第一集合和所有的第二集合的交集,并将交集包括的每个标识密文确定为第一标识密文,将各个第一标识密文发送至各个目标计算平台,获取每个目标计算平台反馈的计算结果,计算结果由目标计算平台计算目标数据表中与各个第一标识密文对应的数据得到,目标数据表为与数据处理项目关联的计算平台本地数据表,并依据各个计算结果和各个第二标识密文,处理得到查询请求的数据处理结果,第二标识密文为第一集合中除交集包括的标识密文外的标识密文。可见,本申请方案,由于不是直接将计算平台本地数据表直接传输至可信第三方平台,而是将计算平台对计算平台本地数据表中与各个第一标识密文对应的数据进行计算得到的计算结果传输给可信第三方平台,从而避免了用户隐私泄露、数据使用不合规等风险。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种数据处理系统的结构示意图;
图2为本申请提供的一种可信第三方平台的结构示意图;
图3为本申请提供的一种目标计算平台的结构示意图;
图4为本申请提供的一种数据处理项目创建方法的流程图;
图5为本申请提供的一种计算任务创建方法的方法流程图;
图6为本申请提供的一种计算任务的流程图;
图7为本申请提供的一种数据处理方法的方法流程图;
图8为本申请提供的一种目标计算平台计算方法的方法流程图;
图9为本申请提供的一种数据处理项目创建方法的示例图;
图10为本申请提供的一种计算任务创建方法的示例图;
图11为本申请提供的一种数据处理方法的示例图;
图12为本申请提供的一种数据处理装置的结构示意图;
图13为本申请提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本申请公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
参阅图1,本申请实施例提供了一种数据处理系统100,该数据处理系统100包括可信第三方平台101和至少一个目标计算平台102。其中,目标计算平台为预先在可信第三方平台101注册的各个计算平台中与待创建的数据处理项目关联的计算平台。
其中,可信第三方平台可以用于创建和管理数据处理项目,创建、配置和管理计算任务,用户注册,用户访问权限设置,用户相关信息的管理,计算平台注册,以及计算平台相关信息的管理,具体的,参阅图2,可信第三方平台101包括项目管理中心、任务管理中心、组件库、安全认证审计中心、用户管理中心和计算平台管理中心。
项目管理中心,用于创建和管理数据处理项目。
任务管理中心,用于在数据处理项目中创建计算任务,并对所创建的计算任务进行管理。
组件库包括多个安全组件,用于配置计算任务;其中,安全组件内封装有密码学协议。
安全认证审计中心,用于对用户的访问权限进行认证,以及对访问行为进行监控与审计。
用户管理中心,用于用户注册、设置访问权限以及对用户的注册信息、用户公钥和访问权限进行管理。
计算平台管理中心,用于注册计算平台,并对计算平台的注册信息和计算平台公钥进行管理。
需要说明的是,不同的安全组件内封装不同的密码学协议。
可选的,用户的注册信息和用户公钥可以通过用户信息表进行统一管理,用户信息表如表1所示,用户信息表包括用户标识(也就是User ID)和用户公钥。
User ID | 用户公钥 |
User 1 | Public key 1 |
…… | …… |
User n | Public key n |
表1用户信息表
可选的,计算平台的注册信息和计算平台公钥可以通过计算平台信息表进行统一管理,计算平台信息表如表2所示,计算平台信息表包括计算平台标识和计算平台公钥。
表2计算平台信息表
参阅图3,目标计算平台102包括项目管理中心、任务管理中、组件库、安全认证审计中心、用户管理中心和数据管理中心。
项目管理中心,用于创建和管理数据处理项目。
任务管理中心,用于在数据处理项目中创建计算任务,并对所创建的计算任务进行管理。
组件库,多个安全组件,用于配置计算任务;其中,安全组件内封装有密码学协议。
安全认证审计中心,用于对用户的访问权限进行认证,以及对访问行为进行监控与审计。
用户管理中心,用于用户注册、设置访问权限以及对用户的注册信息、用户公钥和访问权限进行管理。
数据管理中心,用于获取和管理不同数据源类型的数据。
示例性的,数据源类型可以是csv类型,和mysql类型。
本申请实施例提供了一种数据处理方法,该方法可以应用在多种系统平台,其执行主体可以为可信第三方平台。
本实施例中,预先在可信第三方平台中创建数据处理项目,并在数据处理项目中创建计算任务,以及在完全计算任务的创建后,生成查询接口和密码沙箱。
可选的,密码沙箱在生成后,可以下载至用户本地设备中。
本实施例中,参阅图4,数据处理项目的创建过程,具体包括以下步骤:
S401、响应用户的项目创建请求,确定与项目创建请求关联的每个计算平台。
本实施例中,在用户登录可信第三方平台后,用户可以通过可信第三方平台发出的项目创建请求。
本实施例中,获取用户的项目创建请求,对用户的项目创建请求进行响应,确定与项目创建请求关联的每个计算平台,也就是确定预先在可信第三方平台中注册的各个计算平台中与项目创建请求关联的计算平台,并将所确定的计算平台确定为目标计算平台。
可选的,用户的项目创建请求可以是通过触发可信第三方平台中的项目创建相关功能键生成。需要说明的是,用户的项目创建请求的生成方式有很多,包括但不限于本申请实施例提出的内容,用户的项目创建请求的生成方式的不同不影响本申请实施例的实现。
其中,项目创建请求中至少包括待创建的数据处理项目的项目信息和与待创建的数据处理项目关联的计算平台标识。
其中,确定与项目创建请求关联的每个计算平台的过程,具体包括,基于项目创建请求中包括的计算平台标识,确定与计算平台标识对应的计算平台,所确定的计算平台即为与项目创建请求关联的计算平台。
S402、将项目创建请求包括的项目信息发送至与项目创建请求关联的每个计算平台。
本实施例中,将项目创建请求包括的项目信息发送至与项目创建请求关联的每个计算平台。
本实施例中,每个计算平台接收数据处理中心发送的项目信息,并在接收到触发指令后,生成第一响应信息,向可信第三方平台反馈第一响应信息,其中,第一响应信息用于指示是否同意创建数据处理项目。
S403、接收与项目创建请求关联的每个计算平台反馈的第一响应信息,判断每个第一响应信息是否均指示同意创建数据处理项目,若是,执行S404,若否,直接结束。
本实施例中,判断是否接收到与项目创建请求关联的所有计算平台反馈的第一响应信息,若未接收任意一个计算平台反馈的第一响应信息,则返回执行判断是否接收到与项目创建请求关联的所有计算平台反馈的第一响应信息的步骤,直至接收到与项目创建请求关联的所有计算平台反馈的第一响应信息。
本实施中,在接收到与项目创建请求关联的每个计算平台反馈的第一响应信息后,判断每个第一响应信息是否均指示同意创建数据处理项目,若所有的第一响应信息均指示同意创建数据处理项目,则执行步骤S404,若存在任意一个响应信息指示未同意创建数据处理项目,则直接结束。
可选的,若存在任意一个响应信息指示未同意创建数据处理项目,可生成提示未数据处理项目创建失败的提示信息,并展示该提示信息。
S404、基于项目创建请求中包括的项目信息创建数据处理项目。
本实施例中,若每个第一响应信息均指示同意创建数据处理项目,则基于项目创建请求包括的项目信息,创建数据处理项目,具体的,可信第三方平台中的项目管理中心,基于项目创建请求包括的项目信息,创建数据处理项目,也就是将数据处理项目添加至项目管理中心。
本申请实施例提供的数据处理方法,通过可信第三方平台选择与待创建的数交易项目关联的计算平台,并通过可信第三方平台创建数据处理项目。
本申请实施例提供的数据处理方法中,在步骤S404之后,还可以包括以下步骤:
获取用户的用户公钥;
将用户公钥发送至与项目创建请求关联的每个计算平台,以触发与项目创建请求关联的每个计算平台基于项目信息创建数据处理项目,并将数据处理项目与用户公钥进行关联存储。
本实施例中,可信第三方平台中获取用户的用户公钥,并将用户公钥发送至与项目创建请求关联的每个计算平台。
本实施例中,与项目创建请求关联的每个计算平台在接收到可信第三方平台发送的用户公钥后,计算平台中的项目管理中心基于项目信息创建该数据处理项目,并将数据处理项目与用户公钥进行关联存储。
其中,与项目创建请求关联的每个计算平台在完成对数据处理项目的创建后,确定计算平台本地数据表中与该数据处理项目关联的计算平台本地表,并将所确定的计算平台本地数据表中的表头字段发送至可信第三方平台,以便于后续对数据处理项目的计算任务进行配置。
本申请实施例提供的数据处理方法,通过在与项目创建请求关联的每个计算平台中创建数据处理项目,以便于后续进行计算任务的创建和数据处理。
本实施例中,参阅图5,计算任务的创建过程、查询接口的生成过程和密码沙箱的生成过程,具体包括以下步骤:
S501、响应用户针对预先创建的数据处理项目的计算任务配置请求,生成计算任务配置界面。
本实施例中,响应用户针对预先创建的数据处理项目的计算任务配置请求,从而生成计算任务配置界面,其中,计算任务配置界面包括数据处理项目和关联的每个计算平台的表头字段和预设的组件库。
其中,计算任务配置请求可以是通过触发可信第三方平台中的该用户预先创建的数据处理项目中的预先功能键所生成。
示例性的,表头字段包括的数据标识字段、失信字段、房贷逾期字段、车贷逾期字段和信用卡逾期字段。
S502、获取用户通过计算任务配置界面中的各个表头字段和各个安全组件配置的计算任务的任务信息。
本实施例中,用户可以通过计算任务配置界面配置计算任务的任务信息,可选的,可以通过拖、拉、拽等操作在计算任务配置界面选择安全组件,以及基于各个表头字段,则计算任务配置界面输入需要参与计算任务的数据对应的表头字段。
本实施例中,获取用户通过计算任务配置界面中的各个表头字段和各个安全组件配置的计算任务的任务信息。
本实施例中,所配置的计算任务的任务信息为流程图,示例性的,参阅图6,图6示出了一种计算任务流程图,包括输入、查询、条件(即逻辑判断条件)、四则(即逻辑计算)、自定义(即自定义逻辑)、分箱(即确定不同数据的处理逻辑)、数据组合和输出。
S503、将任务信息发送至数据处理项目关联的每个计算平台。
本实施例中,将任务信息发送至数据处理项目关联的每个计算平台,每个计算平台接收到任务信息,并在接收到触发指令后,生成第二响应信息,向可信第三方平台反馈第二响应信息,其中,第二响应信息用于指示是否同意创建计算任务。
S504、接收数据处理项目关联的每个计算平台反馈的第二响应信息,判断每个第二响应信息是否均指示同意创建计算任务,若是,执行S505,若否,直接结束。
本实施例中,判断是否接收到数据处理项目关联的所有计算平台反馈的第二响应信息,若未接收任意一个计算平台反馈的第二响应信息,则返回执行判断判断是否接收到数据处理项目关联的所有计算平台反馈的第二响应信息的步骤,直至接收到数据处理项目关联的所有计算平台反馈的第二响应信息。
本实施例中,接收数据处理项目关联的每个计算平台反馈的第二响应信息,判断每个第二响应信息是否均指示同意创建计算任务,若所有的第二响应信息均指示同意创建计算任务,则执行步骤S505,若存在任意一个响应信息指示未同意创建计算任务,则直接结束。
S505、将计算任务的任务信息添加至数据处理项目的任务列表中。
本实施例中,若每个第二响应信息均指示同意创建计算任务,则将计算任务的任务信息添加至数据处理项目的任务列表中。
S506、向数据处理项目关联的每个计算平台发送计算任务创建信号,以触发数据处理项目关联的每个计算平台将任务信息存储至自身预先创建的数据处理项目的任务列表中。
本实施例中,向数据处理项目关联的每个计算平台发送计算任务创建信号。其中计算任务创建信息用于指示可信第三方平台已经在数据处理项目中创建了计算任务。
本实施例中,数据处理项目关联的每个计算平台在接收到可信第三方平台发送的计算任务创建信号后,数据处理项目关联的每个计算平台将任务信息存储至自身预先创建的数据处理项目的任务列表中。
S507、生成数据处理项目的加密沙箱和查询接口。
本实施例中,在创建计算任务后,生成数据处理项目的加密沙箱和查询接口。
需要说明的是,加密沙箱与数据处理项目进行绑定,加密沙箱中包括与数据处理项目关联的所有计算平台的平台公钥。
本申请实施例提供的数据处理方法,通过可信第三方平台,创建计算任务、生成查询接口和密码沙箱。
本实施例中,参阅图7,数据处理方法的方法流程图如图4所示,具体包括:
S701、通过可信第三方平台中预先生成的查询接口获取用户的查询请求。
本实施例中,预先在可信第三方平台中创建数据处理项目,并为所创建的数据处理项目创建计算任务,以及生成查询接口和加密沙箱。
本实施例,通过可信第三方平台中预先生成的查询接口获取用户的查询请求,其中,查询请求中至少包括第一集合,第一集合包括至少一个待查询数据标识的标识密文,其中,待查询数据标识的标识密文为加密沙箱基于用户输入的随机数,对用户输入的待查询数据标识进行加密得到的密文。
本实施例中,查询请求中还包括每个目标计算平台对应的随机数密文,其中,目标计算平台为预先创建的与查询请求对应的数据处理项目所关联的计算平台,目标计算平台对应的随机数密文基于该目标计算平台对应的会话加密密钥对用户输入的随机数进行加密得到,每个目标计算平台对应的会话加密密钥基于用户的用户私钥和该目标计算平台的平台公钥协商得到。
具体的,预先下载至用户本地设备的加密沙箱获取用户输入的待查询数据标识、用户私钥和随机数k,并利用随机数k,对用户输入的待查询数据标识进行加密,得到待查询数据标识的标识密文。
加密沙箱基于用户私钥和每个目标计算平台的平台公钥,协商得到每个目标计算平台对应的会话加密密钥,并利用每个目标计算平台对应的会话加密密钥,对随机数k进行加密,得到每个目标计算平台对应的随机数密文。
加密沙箱将待查询数据标识的标识密文组成第一集合,并基于第一集合和每个目标计算平台对应的随机数密文,向可信第三方平台的查询接口发送用户的查询请求。
可信第三方平台中的数据查询接口在接收到用户的查询请求后,先对用户进行身份校验,具体的,校验该用户是否为数据查询接口对应的数据处理项目的创建用户,若该用户为数据查询接口对应的数据处理项目的创建用户,则确定出该用户通过身份校验,若该用户不为数据查询接口对应的数据处理项目的创建用户,则确定出该用户未通过身份校验。
在通过对用户的身份校验后,获取用户的查询请求中包括的第一集合和每个目标计算平台对应的随机数密文。示例性的,用户输入的待查询数据标识可以是待查询的用户ID。
S702、获取每个目标计算平台反馈的第二集合。
本实施例中,获取每个目标计算平台反馈的第二集合,其中,目标计算平台为预先创建的与查询请求对应的数据处理项目关联的计算平台,即预先在可信第三方平台注册的各个计算平台中,与查询请求对应的数据处理项目所关联的计算平台。
其中,第二集合包括目标计算平台所存储的目标数据表中的各个数据标识的标识密文,目标数据表为与数据处理项目关联的计算平台本地数据表。
获取每个目标计算平台反馈的第二集合的过程,具体包括:
将每个目标计算平台对应的随机数密文发送至该目标计算平台,以便于每个目标计算平台在接收到随机数密文后,基于自身私钥和用户的用户公钥,协商得到会话解密密钥,并基于会话解密密钥对所接收到的随机数据密文进行解密,得到随机数,并基于随机数对所存储的目标数据表中的各个数据标识进行加密,得到标识密文;
获取每个目标计算平台反馈的第二集合。
本实施例中,可信第三方平台将每个目标计算平台发送至该目标计算平台。也就是说,针对每个目标计算平台,可信第三方平台将该目标计算平台对应的随机数密文发送至该目标计算平台。
本实施例中,每个目标计算平台预先将数据处理项目和数据处理项目对应的用户公钥进行关联存储。每个目标计算平台在接收到随机数密文后,基于自身的平台私钥和预先与数据处理项目进行关联存储的用户公钥,协商得到会话解密密钥,利用该会话解密密钥,对随机数密文进行解密,得到随机数k,并获取目标数据表中的数据标识,利用随机数k,对所获取的数据标识进行加密,得到数据标识的标识密文,并将各个标识密文组成第二集合发送至可信第三方平台,可信第三方平台获取每目标计算平台发送的第二集合。
示例性的,目标数据表中的数据标识,可以是用户ID。
需要说明的是,针对每个目标计算平台,该目标计算平台对应的会话加密密钥和会话解密密钥为同一密钥,也就是说,基于该目标计算平台的平台公钥和用户私钥协商得到的会话加密密钥,与基于该目标计算平台的平台私钥和用户公钥协商得到的会话解密密钥相等。
本申请实施例提供的数据处理方法中,随机数k只在用户和计算平台之间共享,可信第三方平台无法解密出随机数k,从而确保了数据隐私安全。
S703、获取第一集合和所有的第二集合的交集,并将交集包括的每个标识密文确定为第一标识密文。
本实施例中,获取第一集合和所有的第二集合的交集,也就说,交集包括的任意一个标识密文既存在于第一集合中,也存在于每个第二集合中。
本实施例中,将交集包括的每个标识密文确定为第一标识密文。
S704、将各个第一标识密文发送至各个目标计算平台。
本实施例中,将各个第一标识密文发送至各个目标计算平台。
本实施例中,每个目标计算平台在接收到可信第三方平台发送的各个第一标识密文后,计算目标数据表中与各个第一标识密文对应的数据,得到计算结果并发送至可信第三方平台。
参阅图8,目标计算平台计算目标数据表中与各个第一标识密文对应的数据,具体包括以下步骤:
S801、利用解密随机数密文得到的随机数,对各个第一标识密文进行解密,得到每个第一标识密文的待查询数据标识,并将每个第一标识密文对应的待查询数据标识确定为第一待查询数据标识。
本实施例中,利用解密随机数密文得到的随机数,对每个第一标识密文进行解密,得到每个第一标识密文的待查询数据标识。其中,机密随机数密文得到随机数的具体过程请参见步骤S702,此处不再赘述。
本实施例中,将每个第一标识密文的待查询数据标识确定为第一待查询数据标识。
S802、获取目标数据表中与每个第一待查询数据标识对应的数据。
本实施例中,获取目标数据表中各个第一待查询数据标识对应的数据,例如,目标数据表包括的用户B的失信为“是”,以及信用卡逾期次数为“6”,则基于第一待查询数据标识用户B,获取目标数据表中的与该用户B对应的数据为失信为“是”,以及信用卡逾期次数为“6”。
S803、按照预设的秘密共享策略,对各个第一待查询数据标识对应的数据进行拆分处理,得到目标计算平台和每个其他目标计算平台各自对应的每个第一待查询数据标识对应的拆分数据,并将每个其他目标计算平台各自对应的拆分数据分别共享至对应的其他目标计算平台。
本实施例中,按照预设的秘密共享策略,对各个第一待查询数据标识对应的数据进行拆分处理,从而记得到目标计算平台和其他目标计算平台的得到目标计算平台和每个其他目标计算平台各自对应的每个第一待查询数据标识对应的拆分数据。其中,所拆分的数据份数基于数据处理项目关联的计算平台的平台个数确定,例如,对于数据A,数据处理项目关联的计算平台的平台个数为3,分别为计算平台a、计算平台b和计算平台c,当前执行数据拆分操作的计算平台为计算平台a,则将数据A拆分为计算平台a对应的A1、计算平台b对应的A2和计算平台c对应的A3。
其中,其他目标计算平台为除该目标计算平台(就是当前执行数据拆分操作的目标计算平台)外的其他的目标计算平台。
本实施例中,将每个其他目标计算平台各自对应的拆分数据分别共享至对应的其他目标计算平台。例如,将A2共享至计算平台b,将A3共享至计算平台c。
S804、接收每个其他目标计算平台共享的拆分数据。
本实施例中,接收每个其他目标计算平台共享的拆分数据,具体的,接收每个其他目标计算平台共享的每个第一待查询数据标识对应的拆分数据。例如,计算平台b接收到计算平台a共享的A2,计算平台c接收到计算平台a共享的A3。
S805、针对每个第一待查询数据标识,基于计算任务的任务信息,对目标计算平台对应的第一待查询数据标识所对应的拆分数据和所接收到的第一待查询数据标识对应的拆分数据进行计算,得到该第一待查询数据标识的秘密分享值。
本实施例中,针对每个第一待查询数据标识,基于计算任务的任务信息,对目标计算平台对应的第一待查询数据标识所对应的拆分数据和所接收到的第一待查询数据标识对应的拆分数据进行处理,具体的,基于计算任务的任务信息中的处理逻辑,对目标计算平台对应的第一待查询数据标识所对应的拆分数据和所接收到的第一待查询数据标识对应的拆分数据进行计算,从而得到该第一待查询数据标识的秘密分享值。
S806、将各个秘密分享值组成计算结果。
本实施例中,将各个秘密分享值组成计算结果。
S705、获取每个目标计算平台反馈的计算结果。
本实施例中,获取每个目标计算平台反馈的计算结果。
S706、依据各个计算结果和各个第二标识密文,处理得到查询请求的数据处理结果。
本实施中,依据各个计算结果和各个第二标识密文,处理得到查询请求的数据处理结果,其中,第二标识密文为第一集合中除集包括的标识密文外的标识密文。
本实施例中,依据各个计算结果和各个第二标识密文,处理得到查询请求的数据处理结果的过程,具体包括:
对各个计算结果进行整合处理,得到整合结果;
基于计算任务的任务信息,对各个第二标识密文和整合结果进行处理,得到查询请求的数据处理结果。
本实施例中,对各个计算结果进行整合处理,得到整合结果,具体的,针对每个第一标识密文,将第一标识密文对应的秘密分享值进行整合处理,得到该第一标识密文的整合结果,将各个第一标识密文的整合结果进行组合,得到整合结果,也就是整合结果包括每个第一标识密文的整合结果。
本实施例中,基于计算任务的任务信息中的处理逻辑,对各个第二标识密文和整合结果进行处理,得到查询请求的数据处理结果。示例性的,任务信息中的处理逻辑可以是确定每个第一标识密文的借贷利率,和每个第二标识密文的借贷利率,其中,任务信息中预先存储有借贷利率的确定方法。
本实施例中,在查询请求的数据处理结果后,可以对查询请求的数据处理结果进行可视化显示。
本实施例中,可以对数据处理结果进行下载。
本申请实施例提供的数据处理方法,由于不是直接将计算平台本地数据表直接传输至可信第三方平台,而是将计算平台对计算平台本地数据表中与各个第一标识密文对应的数据进行计算得到的计算结果传输给可信第三方平台,从而在确保数据隐私安全的前提下,实现了数据处理。
可选的,本申请实施例提供的数据处理方法可以是基于联邦学习实现的。
对上述提及的数据处理方法的具体实现过程进行举例说明如下:
在风险评估场景中,贷款机构希望对新的贷款客户进行风险评估,以确定是否对该贷款客户进行借贷以及设置借贷的利率,此时需要联合银行A和银行B的数据进行联合计算,其中,贷款机构预先在可信第三方平台注册为用户1,银行A预先在可信第三方平台注册为计算平台A,银行B预先在数交易平台注册为计算平台B。
1、用户1登录可信第三方平台并选择计算平台A和计算平台B作为数据持有方进行数据处理项目创建,参阅图9,具体的创建过程包括以下步骤:
S901、可信第三方平台响应用户1的项目创建请求,确定出与项目创建请求关联的计算平台A和计算平台B。其中,项目创建请求用于请求创建数据处理项目。
S902、可信第三方平台将项目信息发送至计算平台A。
S903、可信第三方平台将项目信息发送至计算平台B。
S904、计算平台A生成响应信息A1,并将响应信息A1发送至可信第三方平台,其中,响应信息A1用于指示计算平台A是否同意创建数据处理项目。
S905、计算平台B生成响应信息B1,并将响应信息B1发送至可信第三方平台,其中,响应信息B1用于指示计算平台B是否同意创建数据处理项目。
S906、可信第三方平台判断响应信息A1是否指示计算平台A同意创建数据处理项目,以及响应信息B1是否指示计算平台B同意创建数据处理项目,若否,也就是计算平台A和/或B未同意创建数据处理项目,则执行S907,若是,执行步骤S908。
S907、可信第三方平台生成提示数据处理项目创建失败的提示信息,并对提示信息进行展示。
S908、可信第三方平台基于项目信息创建数据处理项目。
S909、可信第三方平台将该数据处理项目的用户公钥发送至计算平台A。
S910、可信第三方平台将该数据处理项目的用户公钥发送至计算平台B。
S911、计算平台A将项目信息添加至项目管理中心,并保存用户公钥。
S912、计算平台B将项目信息添加至项目管理中心,并保存用户公钥。
2、数据处理项目创建成功后,银行A和银行B将与该数据处理项目关联的本地数据表配置关联到该数据处理项目中。
3、用户1登录可信第三方平台进入自身所创建的数据处理项目,选择计算平台A和计算平台B已经配置好的数据表中对应字段进行计算任务配置,计算任务配置通过对组件库中提供的安全组件进行拖、拉、拽以形成一个流程图,参阅图10,具体包括以下步骤:
S1001、可信第三方平台响应用户1针对自身所创建的数据处理项目的计算任务配置请求,生成计算配置界面。
S1002、可信第三方平台获取用户1通过计算任务配置界面配置的计算任务的任务信息。
S1003、可信第三方平台将任务信息发送至计算平台A。
S1004、可信第三方平台将任务信息发送至计算平台B。
S1005、计算平台A生成响应信息A2,并将响应信息A2发送至可信第三方平台,其中,响应信息A2用于指示计算平台A是否同意创建计算任务。
S1006、计算平台B生成响应信息B2,并将响应信息B2发送至可信第三方平台,其中,响应信息B2用于指示计算平台B是否同意创建计算任务。
S1007、可信第三方平台判断响应信息A2是否指示计算平台A同意创建计算任务,以及响应信息B2是否指示计算平台B同意创建计算任务,若否,也就是计算平台A和/或B未同意创建计算任务,则执行S1008,若是,执行步骤S1009。
S1008、可信第三方平台生成提示计算任务创建失败的提示信息,并对提示信息进行展示。
S1009、可信第三方平台将计算任务加入至可信第三方平台的任务列表中。
S1010、可信第三方平台将计算任务创建信号发送至计算平台A,其中,计算任务创建信号用于指示成功创建计算任务。
S1011、可信第三方平台将计算任务创建信号发送至计算平台B,其中,计算任务创建信号用于指示成功创建计算任务。
S1012、计算平台A在接收到计算任务创建信号后,将计算任务加入数据处理项目的任务列表中。
S1013、计算平台B在接收到计算任务创建信号后,将计算任务加入数据处理项目的任务列表中。
S1014、生成查询接口和加密沙箱。
S1015、将加密沙箱下载至用户本地设备。
4、用户1通过数交易平台进行数据处理,参阅图11,具体的数据处理过程,包括以下步骤:
S1101、可信第三方平台通过查询接口获取查询用户ID密文、计算平台A对应的随机数密文和计算平台B对应的随机数密文,其中,查询用户ID密文是加密沙箱利用用户1输入随机数k,对用户1输入的查询用户ID进行加密得到的,计算平台A对应的随机数密文是加密沙箱利用计算平台A对应的会话加密密钥,对用户1输入的随机数k进行加密得到的,计算平台A对应的会话加密密钥是加密沙箱基于预先存储的计算平台A的平台公钥和用户1的输入的用户私钥协商得到的,计算平台B对应的随机数密文是加密沙箱利用计算平台B对应的会话加密密钥,对用户1输入的随机数k进行加密得到的,计算平台B对应的会话加密密钥是加密沙箱基于预先存储的计算平台B的平台公钥和用户1的输入的用户私钥协商得到的。
S1102、可信第三方平台将计算平台A对应的随机数密文发送至计算平台A。
S1103、可信第三方平台将计算平台B对应的随机数密文发送至计算平台B。
S1104、计算平台A基于自身的平台私钥和用户1的用户公钥,协商得到计算平台A对应的会话解密密钥,并利用该会话解密密钥,解密发送至计算平台A的随机数密文,得到随机数k,并获取与数据处理项目关联的本地数据表中的所有用户ID,利用随机数k,对各个用户ID进行加密,得到用户ID密文。
S1005、计算平台A将用户ID密文发送至可信第三方平台。
S1106、计算平台B基于自身的平台私钥和用户1的用户公钥,协商得到计算平台B对应的会话解密密钥,并利用该会话解密密钥,解密发送至计算平台B的随机数密文,得到随机数k,并获取与数据处理项目关联的本地数据表中的所有用户ID,利用随机数k,对各个用户ID进行加密,得到用户ID密文。
S1007、计算平台B将用户ID密文发送至可信第三方平台。
S1108、可信第三方平台确定出查询用户ID密文和各个加密用户ID密文的交集。
S1109、可信第三方平台将交集包括的各个查询用户ID密文发送至计算平台A。
S1110、可信第三方平台将交集包括的各个查询用户ID密文分别发送至计算平台B。
S1111、计算平台A基于解密随机数密文得到的随机数k,解密各个查询用户ID密文,得到各个查询用户ID,并对与数据处理项目关联的本地数据表中与各个查询用户ID对应的数据进行计算,得到计算结果。
S1112、计算平台A将计算结果发送至可信第三方平台。
S1113、计算平台B基于解密随机数密文得到的随机数k,解密各个查询用户ID密文,得到各个查询用户ID,并对与数据处理项目关联的本地数据表中与各个查询用户ID对应的数据进行计算,得到计算结果。
S1114、计算平台B将计算结果发送至可信第三方平台。
S1115、可信第三方平台确定交集外的加密查询用户ID,并依据各个计算结果和确定交集外的加密查询用户ID,处理得到数据处理结果。
本实施例中,在创建数据处理项目和计算任务后,对数据处理过程进行举例说明如下:
银行A所配置的本地数据表如表3所示,银行A包括四个表头字段分别代表身份证号、是否为银行A失信人员、房贷逾期次数、车贷逾期次数。
表3银行A本地数据表
银行B所配置的本地数据表如表4所示,银行B包括四个表头字段分别代表身份证号、是否为银行B失信人员、信用卡逾期次数。
ID card N0 | 失信 | 信用卡逾期 |
B | 是 | 6 |
C | 否 | 0 |
D | 否 | 1 |
E | 否 | 2 |
F | 否 | 2 |
G | 否 | 5 |
H | 否 | 1 |
表4银行B本地数据表
用户1在可信第三方平台上会构造如下如图6所示的计算任务流程图,计算任务主要分为以下几个步骤:
1、输入:假定用户1拥有A、B、C、D、E、F、G、H、I、J、K共10位新的贷款客户,如表5所示,现在它将其输入至查询接口发起查询任务。
表5查询ID
2、查询:根据用户输入的查询ID,与银行A的本地数据表中的用户ID和银行B的本地数据表中的用户ID进行求交得到ID交集为B、C、D、E、F、G,如表6所示,查询输出为B、C、D、E、F、G。
3、条件:根据查询组件的输出,执行任务配置中的逻辑条件判断,例如本任务中逻辑条件应为:银行A.失信=否and银行B.失信=否。从而可确定出满足逻辑判断条件的查询ID为C、D、E、F。不满足逻辑判断条件为查询ID为B和E。
4、自定义:不满足逻辑判断条件的情况下,即为银行A的失信人员和/或为银行B的非失信人员,则设置借贷利率为-1,如表6所示,表示不进行借贷。
ID card No | 借贷利率 |
B | -1 |
E | -1 |
表6自定义组件输出
5、四则:在满足逻辑判断条件的情况下,即满足均为银行A和银行B两者的非失信人员,执行以下四则运算表达式:
逾期次数=银行A.房贷逾期+银行A.车贷逾期+银行B.信用卡逾期
则四则组件的输出如表7所示:
ID card No | 总逾期次数 |
C | 0 |
D | 2 |
F | 7 |
G | 10 |
表7自定义组件输出
6、分箱:根据上一步四则组件的输出,按照总逾期次数对借贷利率进行分箱操作,对应的分箱等级表如表8所示:
总逾期次数 | 借贷利率 |
0~5 | 0.03 |
5~10 | 0.07 |
10~15 | 0.13 |
>15 | 0.25 |
表8分箱等级表
因此,分箱组件的输出如表9所示:
ID card No | 借贷利率 |
C | 0.03 |
D | 0.03 |
F | 0.07 |
G | 0.13 |
表9分箱组件的输出结果
7、数据组合:对自定义组件和分箱组件的输出结果按行组合,得到数据组合组件的输出结果如表10所示:
ID card No | 借贷利率 |
B | -1 |
E | -1 |
C | 0.03 |
D | 0.03 |
F | 0.07 |
G | 0.13 |
表10数据组合组件的输出结果
8、输出:将交集以外的查询ID的计算结果赋为Nan,因此,输出组件的输出结果如表11所示:
表11输出组件的输出结果
因此,通过删除计算操作后,用户1得到的最终的计算结果即为输出组件的输出结果。
需要说明的是,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本申请公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请公开的范围在此方面不受限制。
与图1所述的方法相对应,本申请实施例还提供了一种数据处理装置,用于对图1中方法的具体实现,其结构示意图如图12所示,具体包括:
第一获取单元1201,用于通过所述可信第三方平台中预先生成的查询接口获取用户的查询请求,所述查询请求中至少包括第一集合,所述第一集合包括至少一个待查询数据标识的标识密文;
第二获取单元1202,用于获取每个目标计算平台反馈的第二集合;所述目标计算平台为预先创建的与所述查询请求对应的数据处理项目所关联的计算平台,所述第二集合包括所述目标计算平台所存储的目标数据表中的各个数据标识的标识密文,所述目标数据表为与所述数据处理项目关联的计算平台本地数据表;
第三获取单元1203,用于获取所述第一集合和所有的第二集合的交集,并将所述交集包括的每个标识密文确定为第一标识密文;
发送单元1204,用于将各个第一标识密文发送至各个目标计算平台;
第四获取单元1205,用于获取每个目标计算平台反馈的计算结果;所述计算结果由所述目标计算平台计算所述目标数据表中与各个第一标识密文对应的数据得到;
处理单元1206,用于依据各个计算结果和各个第二标识密文,处理得到所述查询请求的数据处理结果;所述第二标识密文为所述第一集合中除所述交集包括的标识密文外的标识密文。
在本申请的一个实施例中,基于前述方案,第二获取单元1202在数据处理项目的创建过程时,具体用于:
响应用户的项目创建请求,确定与所述项目创建请求关联的每个计算平台;其中,所述项目创建请求用于请求创建数据处理项目;
将所述项目创建请求包括的项目信息发送至与所述项目创建请求关联的每个计算平台;
接收与所述项目创建请求关联的每个计算平台反馈的第一响应信息,若每个第一响应信息均指示同意创建所述数据处理项目,则基于所述项目创建请求中包括的项目信息创建数据处理项目。
在本申请的一个实施例中,基于前述方案,第一获取单元1201在查询接口的生成过程时,具体用于:
响应用户针对预先创建的数据处理项目的计算任务配置请求,生成计算任务配置界面;所述计算任务配置界面包括所述数据处理项目关联的每个计算平台反馈的表头字段和预设的组件库,所述组件库包括多个安全组件;
获取所述用户通过所述计算任务配置界面中的各个所述表头字段和各个所述安全组件配置的计算任务的任务信息;
将所述任务信息发送至所述数据处理项目关联的每个计算平台;
接收所述数据处理项目关联的每个计算平台反馈的第二响应信息,若每个第二响应信息均指示同意创建所述计算任务,则将所述计算任务的所述任务信息添加至所述数据处理项目的任务列表中;
向所述数据处理项目关联的每个计算平台发送计算任务创建信号,以触发所述数据处理项目关联的每个计算平台将所述任务信息存储至自身预先创建的所述数据处理项目的任务列表中;
生成所述数据处理项目的加密沙箱和查询接口。
在本申请的一个实施例中,基于前述方案,第二获取单元1202在数据处理项目的创建过程时,还可以用于:
获取所述用户的用户公钥;
将所述用户公钥发送至与所述项目创建请求关联的每个计算平台,以触发与所述项目创建请求关联的每个计算平台基于所述项目信息创建数据处理项目,并将所述数据处理项目与所述用户公钥进行关联存储。
在本申请的一个实施例中,基于前述方案,所述待查询数据标识的标识密文为所述加密沙箱基于所述用户输入的随机数,对所述用户输入的待查询数据标识进行加密得到的密文。
在本申请的一个实施例中,基于前述方案,所述查询请求中还包括每个目标计算平台对应的随机数密文,其中,所述目标计算平台对应的随机数密文基于该目标计算平台对应的会话加密密钥对用户输入的随机数进行加密得到,每个目标计算平台对应的会话加密密钥基于所述用户的用户私钥和该目标计算平台的平台公钥协商得到;
第二获取单元1202具体用于:
将所述每个目标计算平台对应的随机数密文发送至该目标计算平台,以便于每个所述目标计算平台在接收到随机数密文后,基于自身私钥和所述用户的用户公钥,协商得到会话解密密钥,并基于所述会话解密密钥对所接收到的随机数据密文进行解密,得到随机数,并基于所述随机数对所存储的目标数据表中的各个数据标识进行加密,得到标识密文;
获取每个目标计算平台反馈的第二集合。
在本申请的一个实施例中,基于前述方案,第四获取单元1205在目标计算平台计算所述目标数据表中与各个第一标识密文对应的数据时,具体用于:
利用解密随机数密文得到的随机数,对各个第一标识密文进行解密,得到每个第一标识密文的待查询数据标识,并将每个第一标识密文对应的待查询数据标识确定为第一待查询数据标识;
获取所述目标数据表中与每个第一待查询数据标识对应的数据;
按照预设的秘密共享策略,对各个第一待查询数据标识对应的数据进行拆分处理,得到所述目标计算平台和每个其他目标计算平台各自对应的每个第一待查询数据标识对应的拆分数据,并将每个其他目标计算平台各自对应的拆分数据分别共享至对应的其他目标计算平台;其中,所述其他目标计算平台为除所述目标计算平台外的其他的目标计算平台;
接收每个其他目标计算平台共享的每个第一待查询数据标识对应的拆分数据;
针对每个第一待查询数据标识,基于所述计算任务的任务信息,对所述目标计算平台对应的所述第一待查询数据标识所对应的拆分数据和所接收到的所述第一待查询数据标识对应的拆分数据进行计算,得到所述第一待查询数据标识的秘密分享值;
将各个秘密分享值组成计算结果。
本申请实施例还提供了一种存储介质,所述存储介质存储有指令集,其中,在所述指令集运行时执行如上文任一实施例公开的数据处理方法。
本申请实施例还提供了一种电子设备,其结构示意图如图13所示,具体包括存储器1301,用于存储至少一组指令集;处理器1302,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如上文任一实施例公开的数据处理方法。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上描述仅为本申请公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种数据处理方法,其特征在于,应用于可信第三方平台,所述方法包括:
通过所述可信第三方平台中预先生成的查询接口获取用户的查询请求,所述查询请求中至少包括第一集合,所述第一集合包括至少一个待查询数据标识的标识密文;
获取每个目标计算平台反馈的第二集合;所述目标计算平台为预先创建的与所述查询请求对应的数据处理项目所关联的计算平台,所述第二集合包括所述目标计算平台所存储的目标数据表中的各个数据标识的标识密文,所述目标数据表为与所述数据处理项目关联的计算平台本地数据表;
获取所述第一集合和所有的第二集合的交集,并将所述交集包括的每个标识密文确定为第一标识密文;
将各个第一标识密文发送至各个目标计算平台;
获取每个目标计算平台反馈的计算结果;所述计算结果由所述目标计算平台计算所述目标数据表中与各个第一标识密文对应的数据得到;
依据各个计算结果和各个第二标识密文,处理得到所述查询请求的数据处理结果;所述第二标识密文为所述第一集合中除所述交集包括的标识密文外的标识密文。
2.根据权利要求1所述的方法,其特征在于,所述数据处理项目的创建过程,包括:
响应用户的项目创建请求,确定与所述项目创建请求关联的每个计算平台;其中,所述项目创建请求用于请求创建数据处理项目;
将所述项目创建请求包括的项目信息发送至与所述项目创建请求关联的每个计算平台;
接收与所述项目创建请求关联的每个计算平台反馈的第一响应信息,若每个第一响应信息均指示同意创建所述数据处理项目,则基于所述项目创建请求中包括的项目信息创建数据处理项目。
3.根据权利要求2所述的方法,其特征在于,所述查询接口的生成过程,包括:
响应用户针对预先创建的数据处理项目的计算任务配置请求,生成计算任务配置界面;所述计算任务配置界面包括所述数据处理项目关联的每个计算平台反馈的表头字段和预设的组件库,所述组件库包括多个安全组件;
获取所述用户通过所述计算任务配置界面中的各个所述表头字段和各个所述安全组件配置的计算任务的任务信息;
将所述任务信息发送至所述数据处理项目关联的每个计算平台;
接收所述数据处理项目关联的每个计算平台反馈的第二响应信息,若每个第二响应信息均指示同意创建所述计算任务,则将所述计算任务的所述任务信息添加至所述数据处理项目的任务列表中;
向所述数据处理项目关联的每个计算平台发送计算任务创建信号,以触发所述数据处理项目关联的每个计算平台将所述任务信息存储至自身预先创建的所述数据处理项目的任务列表中;
生成所述数据处理项目的加密沙箱和查询接口。
4.根据权利要求3所述的方法,其特征在于,所述基于所述项目创建请求中包括的项目信息创建数据处理项目之后,还包括:
获取所述用户的用户公钥;
将所述用户公钥发送至与所述项目创建请求关联的每个计算平台,以触发与所述项目创建请求关联的每个计算平台基于所述项目信息创建数据处理项目,并将所述数据处理项目与所述用户公钥进行关联存储。
5.根据权利要求4所述的方法,其特征在于,所述待查询数据标识的标识密文为所述加密沙箱基于所述用户输入的随机数,对所述用户输入的待查询数据标识进行加密得到的密文。
6.根据权利要求5所述的方法,其特征在于,所述查询请求中还包括每个目标计算平台对应的随机数密文,其中,所述目标计算平台对应的随机数密文基于该目标计算平台对应的会话加密密钥对用户输入的随机数进行加密得到,每个目标计算平台对应的会话加密密钥基于所述用户的用户私钥和该目标计算平台的平台公钥协商得到;
所述获取每个目标计算平台反馈的第二集合,包括:
将所述每个目标计算平台对应的随机数密文发送至该目标计算平台,以便于每个所述目标计算平台在接收到随机数密文后,基于自身私钥和所述用户的用户公钥,协商得到会话解密密钥,并基于所述会话解密密钥对所接收到的随机数据密文进行解密,得到随机数,并基于所述随机数对所存储的目标数据表中的各个数据标识进行加密,得到标识密文;
获取每个目标计算平台反馈的第二集合。
7.根据权利要求6所述的方法,其特征在于,所述目标计算平台计算所述目标数据表中与各个第一标识密文对应的数据,包括:
利用解密随机数密文得到的随机数,对各个第一标识密文进行解密,得到每个第一标识密文的待查询数据标识,并将每个第一标识密文对应的待查询数据标识确定为第一待查询数据标识;
获取所述目标数据表中与每个第一待查询数据标识对应的数据;
按照预设的秘密共享策略,对各个第一待查询数据标识对应的数据进行拆分处理,得到所述目标计算平台和每个其他目标计算平台各自对应的每个第一待查询数据标识对应的拆分数据,并将每个其他目标计算平台各自对应的拆分数据分别共享至对应的其他目标计算平台;其中,所述其他目标计算平台为除所述目标计算平台外的其他的目标计算平台;
接收每个其他目标计算平台共享的每个第一待查询数据标识对应的拆分数据;
针对每个第一待查询数据标识,基于所述计算任务的任务信息,对所述目标计算平台对应的所述第一待查询数据标识所对应的拆分数据和所接收到的所述第一待查询数据标识对应的拆分数据进行计算,得到所述第一待查询数据标识的秘密分享值;
将各个秘密分享值组成计算结果。
8.一种数据处理装置,其特征在于,应用于可信第三方平台,所述装置包括:
第一获取单元,用于通过所述可信第三方平台中预先生成的查询接口获取用户的查询请求,所述查询请求中至少包括第一集合,所述第一集合包括至少一个待查询数据标识的标识密文;
第二获取单元,用于获取每个目标计算平台反馈的第二集合;所述目标计算平台为预先创建的与所述查询请求对应的数据处理项目所关联的计算平台,所述第二集合包括所述目标计算平台所存储的目标数据表中的各个数据标识的标识密文,所述目标数据表为与所述数据处理项目关联的计算平台本地数据表;
第三获取单元,用于获取所述第一集合和所有的第二集合的交集,并将所述交集包括的每个标识密文确定为第一标识密文;
发送单元,用于将各个第一标识密文发送至各个目标计算平台;
第四获取单元,用于获取每个目标计算平台反馈的计算结果;所述计算结果由所述目标计算平台计算所述目标数据表中与各个第一标识密文对应的数据得到;
处理单元,用于依据各个计算结果和各个第二标识密文,处理得到所述查询请求的数据处理结果;所述第二标识密文为所述第一集合中除所述交集包括的标识密文外的标识密文。
9.一种存储介质,所述存储介质存储有指令集,其中,所述指令集被处理器执行时实现如权利要求1~7任意一项所述的数据处理方法。
10.一种电子设备,其特征在于,包括:
存储器,用于存储至少一组指令集;
处理器,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如权利要求1~7任意一项所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210679199.XA CN115086037B (zh) | 2022-06-16 | 2022-06-16 | 一种数据处理方法及装置、存储介质及电子设备 |
PCT/CN2023/081839 WO2023241142A1 (zh) | 2022-06-16 | 2023-03-16 | 一种数据处理方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210679199.XA CN115086037B (zh) | 2022-06-16 | 2022-06-16 | 一种数据处理方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086037A CN115086037A (zh) | 2022-09-20 |
CN115086037B true CN115086037B (zh) | 2024-04-05 |
Family
ID=83254510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210679199.XA Active CN115086037B (zh) | 2022-06-16 | 2022-06-16 | 一种数据处理方法及装置、存储介质及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115086037B (zh) |
WO (1) | WO2023241142A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086037B (zh) * | 2022-06-16 | 2024-04-05 | 京东城市(北京)数字科技有限公司 | 一种数据处理方法及装置、存储介质及电子设备 |
CN118331966A (zh) * | 2024-05-17 | 2024-07-12 | 工易(北京)云技术有限公司 | 数据表文件生成方法、装置、电子设备和计算机可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110895611A (zh) * | 2019-11-26 | 2020-03-20 | 支付宝(杭州)信息技术有限公司 | 基于隐私信息保护的数据查询方法、装置、设备及系统 |
CN112287364A (zh) * | 2020-10-22 | 2021-01-29 | 同盾控股有限公司 | 数据共享方法、装置、系统、介质及电子设备 |
CN113239395A (zh) * | 2021-05-10 | 2021-08-10 | 深圳前海微众银行股份有限公司 | 数据查询方法、装置、设备、存储介质及程序产品 |
CN113434906A (zh) * | 2021-07-05 | 2021-09-24 | 平安科技(深圳)有限公司 | 数据查询方法、装置、计算机设备及存储介质 |
CN114116637A (zh) * | 2021-11-22 | 2022-03-01 | 中国银联股份有限公司 | 一种数据共享方法、装置、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG10201508390PA (en) * | 2015-10-09 | 2017-05-30 | Singapore Man University | Data security system and method for operation thereof |
CN111510464B (zh) * | 2020-06-24 | 2020-10-02 | 同盾控股有限公司 | 一种保护用户隐私的疫情信息共享方法及系统 |
CN113965310B (zh) * | 2021-10-18 | 2024-04-19 | 公安部第三研究所 | 基于可控去标识化的标签实现混合隐私计算处理的方法 |
CN115086037B (zh) * | 2022-06-16 | 2024-04-05 | 京东城市(北京)数字科技有限公司 | 一种数据处理方法及装置、存储介质及电子设备 |
-
2022
- 2022-06-16 CN CN202210679199.XA patent/CN115086037B/zh active Active
-
2023
- 2023-03-16 WO PCT/CN2023/081839 patent/WO2023241142A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110895611A (zh) * | 2019-11-26 | 2020-03-20 | 支付宝(杭州)信息技术有限公司 | 基于隐私信息保护的数据查询方法、装置、设备及系统 |
CN112287364A (zh) * | 2020-10-22 | 2021-01-29 | 同盾控股有限公司 | 数据共享方法、装置、系统、介质及电子设备 |
CN113239395A (zh) * | 2021-05-10 | 2021-08-10 | 深圳前海微众银行股份有限公司 | 数据查询方法、装置、设备、存储介质及程序产品 |
CN113434906A (zh) * | 2021-07-05 | 2021-09-24 | 平安科技(深圳)有限公司 | 数据查询方法、装置、计算机设备及存储介质 |
CN114116637A (zh) * | 2021-11-22 | 2022-03-01 | 中国银联股份有限公司 | 一种数据共享方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023241142A1 (zh) | 2023-12-21 |
CN115086037A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108616539B (zh) | 一种区块链交易记录访问的方法及系统 | |
CN111316278B (zh) | 安全身份和档案管理系统 | |
US11120439B2 (en) | Securing data via multi-layer tokens | |
EP3509006B1 (en) | Information sharing system | |
CN115086037B (zh) | 一种数据处理方法及装置、存储介质及电子设备 | |
US11303427B2 (en) | Method for verifying opinion by use of block chain which guarantees anonimity and prevents sybil attack | |
CN109478280A (zh) | 区块链实现的方法和系统 | |
Sun et al. | A searchable personal health records framework with fine-grained access control in cloud-fog computing | |
CN112434336A (zh) | 基于区块链的电子病历共享方法、装置、系统及存储介质 | |
CN102932136A (zh) | 用于管理加密密钥的系统和方法 | |
CN101401341A (zh) | 安全数据解析方法和系统 | |
EP3984161B1 (en) | Cryptographic key generation using external entropy generation | |
CN109743168B (zh) | 一种联盟链资源共享方法、装置及其存储介质 | |
EP4152197A1 (en) | Methods and systems for managing user data privacy | |
Naresh et al. | Blockchain‐based patient centric health care communication system | |
Jyoti et al. | A blockchain and smart contract-based data provenance collection and storing in cloud environment | |
CN114981793A (zh) | 模式的安全匹配和识别 | |
Qiu et al. | Categorical quantum cryptography for access control in cloud computing | |
CN116830523A (zh) | 阈值密钥交换 | |
JP2006333164A (ja) | 情報処理装置 | |
CN115599959A (zh) | 数据共享方法、装置、设备及存储介质 | |
Bansal et al. | A Post-Quantum Consortium Blockchain Based Secure EHR Framework | |
Wang et al. | Secure decision tree classification with decentralized authorization and access control | |
Patel et al. | To Use an Ethereum-Based Public Blockchain Network to Provide Confidentiality, Integrity, and Access Control to IoT-Based Medical Healthcare Data | |
Satheesh et al. | AB-DAM: attribute-based data access model in blockchain for healthcare applications |
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 |