CN117896069A - 基于隐私计算的隐私数据使用方法和装置 - Google Patents
基于隐私计算的隐私数据使用方法和装置 Download PDFInfo
- Publication number
- CN117896069A CN117896069A CN202211227875.6A CN202211227875A CN117896069A CN 117896069 A CN117896069 A CN 117896069A CN 202211227875 A CN202211227875 A CN 202211227875A CN 117896069 A CN117896069 A CN 117896069A
- Authority
- CN
- China
- Prior art keywords
- data
- privacy
- calculation
- identity
- metadata
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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
-
- 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
-
- 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/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于隐私计算的隐私数据使用方法和装置,用以解决隐私计算的安全有效性低的问题。包括:数据提供方向数据服务模块发布携带身份凭证的元数据,身份凭证用于证明数据提供方匿名身份可信;数据申请方基于发布在数据服务模块的元数据向数据服务模块发送数据计算请求,数据计算请求携带第一隐私计算策略;数据服务模块将元数据随机分片为多个分片数据,并根据第一隐私计算策略将多个分片数据分配至不同的计算节点;由多个计算节点对分配的分片数据按第一隐私计算策略执行隐私计算得到多个分片计算结果;数据服务模块根据多个分片计算结果向数据申请方发送汇总后的隐私计算结果,以提供至数据申请方使用。
Description
技术领域
本发明涉及数据隐私保护技术领域,尤其涉及一种基于隐私计算的隐私数据使用方法和装置。
背景技术
隐私计算,又称隐私保护计算,能在保证数据提供方不泄露原始数据的前提下,对数据进行分析计算,保障数据以“可用不可见”的方式进行安全流通。除了“数据可用不可见”的特性外,隐私计算中的多方安全计算技术也可以控制数据的用途以及用量,进而做到数据“用途可控可计量”。
但是,使用隐私计算不等于实现个人数据的匿名化。隐私计算保护的是个人信息主体而不是隐私。现有的隐私计算依然存在数据安全问题,无法保护数据提供方的个人隐私。一方面,数据提供方和数据本身存在一定的关联性,申请方可能根据结果反推原始数据,造成原始数据泄露。另一方面,数据提供方可能根据申请方请求的计算方法知道申请方计算的目的,从而可能通过提供造假数据来干扰计算,使计算结果失效。
如何提高隐私计算的安全有效性,是本发明所要解决的技术问题。
发明内容
本发明实施例的目的是提供一种基于隐私计算的隐私数据使用方法和装置,用以解决隐私计算的安全有效性低的问题。
第一方面,提供了一种基于隐私计算的隐私数据使用方法,包括:
数据提供方向数据服务模块发布携带身份凭证的元数据,所述身份凭证用于证明所述数据提供方的匿名身份可信;
数据申请方基于发布在所述数据服务模块的所述元数据向所述数据服务模块发送数据计算请求,所述数据计算请求携带所述数据申请方请求对所述元数据执行计算的第一隐私计算策略;
所述数据服务模块将所述元数据随机分片为多个分片数据,并根据所述第一隐私计算策略将多个分片数据分配至不同的计算节点;
由多个计算节点对分配的分片数据按所述第一隐私计算策略执行隐私计算,得到多个分片计算结果;
所述数据服务模块根据所述多个分片计算结果向所述数据申请方发送汇总后的隐私计算结果,以提供至所述数据申请方使用。
第二方面,提供了一种基于隐私计算的隐私数据使用方法,其特征在于,应用于数据服务模块,包括:
接收数据提供方发布的携带身份凭证的元数据和数据申请方基于发布的所述元数据发送的数据计算请求,所述身份凭证用于证明所述数据提供方的匿名身份可信,所述数据计算请求携带所述数据申请方请求对所述元数据执行计算的第一隐私计算策略;
将所述元数据随机分片为多个分片数据,并根据所述第一隐私计算策略将多个分片数据分配至不同的计算节点,以指示多个计算节点对分配的分片数据按所述第一隐私计算策略执行隐私计算,得到多个分片计算结果;
根据所述多个分片计算结果向所述数据申请方发送汇总后的隐私计算结果,以提供至所述数据申请方使用。
第三方面,提供了一种电子设备,该电子设备包括处理器、存储器及存储在该存储器上并可在该处理器上运行的计算机程序,该计算机程序被该处理器执行时实现如第一方面的方法的步骤。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现如第一方面的方法的步骤。
在本发明实施例中,首先,由数据提供方向数据服务模块发布携带身份凭证的元数据。其中,数据提供方以匿名的方式发布元数据,能保护数据提供方的身份隐私,发布的元数据携带的身份凭证能有效证明数据提供方的身份可信,从而在保护数据提供方隐私的同时保证元数据来源的有效性。然后,数据申请方基于发布在数据服务模块的元数据向数据服务模块发送数据计算请求,该数据计算请求携带数据申请方请求对元数据执行计算的第一隐私计算策略。接着,数据服务模块将元数据随机分片为多个分片数据,并根据第一隐私计算策略将多个分片数据分配至不同的计算节点,由多个计算节点对分配的分片数据按第一隐私计算策略执行隐私计算,得到多个分片计算结果。通过对元数据随机分片并分配至不同的计算节点执行隐私计算,能通过多个计算节点实现数据申请方所需的隐私计算。而且,任一个计算节点分配到的分片数据都仅是元数据的一部分,避免任何一个计算节点还原出元数据,能有效避免元数据泄露。最后,数据服务模块根据多个分片计算结果向数据申请方发送汇总后的隐私计算结果,以提供至数据申请方使用。由于数据提供方不参与隐私计算,所以能避免数据提供方通过修改元数据来影响隐私计算有效性,能保证数据申请方收到的隐私计算结果真实有效。通过本申请实施例提供的方案,能在实现隐私计算的同时保证数据提供方的身份隐私安全性,使数据申请方收到真实有效的隐私计算结果,提升隐私计算的安全有效性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1a是本发明的一个实施例基于隐私计算的隐私数据使用方法的流程示意图之一。
图1b是本发明的一个实施例应用基于隐私计算的隐私数据使用方法的系统结构示意图。
图2a是本发明的一个实施例基于隐私计算的隐私数据使用方法的流程示意图之二。
图2b是本发明的一个实施例基于隐私计算的隐私数据使用方法的数据提供方身份注册流程示意图。
图3a是本发明的一个实施例基于隐私计算的隐私数据使用方法的流程示意图之三。
图3b是本发明的一个实施例基于隐私计算的隐私数据使用方法的梅克尔树结构示意图。
图3c是本发明的一个实施例基于隐私计算的隐私数据使用方法的身份凭证Json格式示意图。
图4a是本发明的一个实施例基于隐私计算的隐私数据使用方法的流程示意图之四。
图4b是本发明的一个实施例基于隐私计算的隐私数据使用方法的数据提供方请求绑定数据源的流程示意图。
图5是本发明的一个实施例基于隐私计算的隐私数据使用方法的流程示意图之五。
图6a是本发明的一个实施例基于隐私计算的隐私数据使用方法的流程示意图之六。
图6b是本发明的一个实施例基于隐私计算的隐私数据使用方法的分配数据分片的流程示意图。
图6c是本发明的一个实施例基于隐私计算的隐私数据使用方法的计算流程的存储格式示意图。
图6d是本发明的一个实施例基于隐私计算的隐私数据使用方法的执行隐私计算的流程示意图。
图7a是本发明的一个实施例基于隐私计算的隐私数据使用方法的流程示意图之七。
图7b是本发明的一个实施例基于隐私计算的隐私数据使用方法的审批流程示意图。
图8是本发明的一个实施例应用于数据服务模块的基于隐私计算的隐私数据使用方法的流程示意图。
图9是本发明的一个实施例基于隐私计算的隐私数据使用装置的结构示意图。
图10是本发明的另一个实施例基于隐私计算的隐私数据使用装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明中附图编号仅用于区分方案中的各个步骤,不用于限定各个步骤的执行顺序,具体执行顺序以说明书中描述为准。
在隐私计算领域,隐私计算结果的正确性建立参与各方的互相信任的基础上,对于不信任多方参与的隐私计算目前没有可信的解决方案。如果数据提供方针对于数据使用方的需求对原始数据进行篡改,往往会导致数据申请方收到的计算结果失效。
而且,隐私计算包含的技术种类繁多,不同算法适用的用户数量和计算场景不同,没有适用于多种场景多种算法的通用的解决方案。数据提供方的原始数据可能泄露,数据提供方的身份信息也有可能泄露,导致隐私计算不安全。
为了解决现有技术中存在的问题,本申请实施例提供一种基于隐私计算的隐私数据使用方法,本发明可应用于数据共享和数据可用不可见应用场景。如图1a所示,包括:
S11:数据提供方向数据服务模块发布携带身份凭证的元数据,所述身份凭证用于证明所述数据提供方的匿名身份可信。
其中,数据提供方是指提供源数据的一方。数据提供方可以预先向CA(Certificate Authority)认证中心进行身份注册,由中心为数据提供方颁发身份凭证,该身份凭证能用于证明数据提供方的匿名身份可信。以便数据提供方使用身份标识来实现匿名,可以保护数据提供方的个人隐私,实现数据的匿名共享。
数据提供方将携带身份凭证的元数据发布至数据服务模块,数据服务模块可以对身份凭证进行认证,在确定数据提供方身份可信之后再发布对应的元数据。数据服务模块可以将元数据的信息以概览的形式发布,以便数据申请方查看元数据的基本信息,进而确定是否需要申请使用元数据。
S12:数据申请方基于发布在所述数据服务模块的所述元数据向所述数据服务模块发送数据计算请求,所述数据计算请求携带所述数据申请方请求对所述元数据执行计算的第一隐私计算策略。
数据申请方可以根据自身的数据使用需求,通过浏览数据服务模块中已发布的元数据来确定向数据服务模块请求使用哪些元数据。数据申请方针对需要使用的元数据生成相应的第一隐私计算策略,该第一隐私计算策略具体可以包括需要对元数据执行哪些计算处理步骤。进而,根据第一隐私计算策略生成数据计算请求并发送至数据服务模块,以请求数据服务模块按照第一隐私计算策略来对元数据执行计算处理。
S13:所述数据服务模块将所述元数据随机分片为多个分片数据,并根据所述第一隐私计算策略将多个分片数据分配至不同的计算节点。
本步骤中,数据服务模块根据数据申请方请求使用的元数据,采用数据分片法对元数据执行随机分片,并将得到多个分片数据下发至不同的计算节点。从而使参与计算的每个计算节点只拿到部分原数据,在无法还原出原始的元数据的情况下按照第一隐私计算策略执行计算。本实例提供的方案能把隐私计算转换成一种通过虚机解析执行的指令集计算,不依赖特定算法和环境,能作为一种通用的可信隐私计算的解决方案应用于多种场景中。
S14:由多个计算节点对分配的分片数据按所述第一隐私计算策略执行隐私计算,得到多个分片计算结果。
在执行隐私计算的过程中,由多个计算节点分别对分配的分片数据执行隐私计算,隐私计算的具体规则按第一隐私计算策略执行。由于数据提供方不参与隐私计算,无法推测数据申请方的计算目的,也无法根据数据申请方的目的来篡改元数据,保证数据提供方不干预计算过程,有效提升隐私结果的有效性。
本申请实施例提供的方案应用分片计算执行元数据的隐私计算,该分片计算是在数据安全的基础上的由多个计算节点共同协作完成的计算。在多个计算节点分别执行隐私计算得到多个分片计算结果之后,可以由执行引擎进行分片结果的汇总得到最终的隐私计算结果。
可选的,在实际应用中,多个计算节点中可以通过增加备份节点加入节点容错和防止作恶机制,解决现有隐私算法种类繁多以及不同场景和参与方数量使用不同算法,没有统一框架的问题,能广泛应用于多种实际应用场景中。
另外,分片计算的算法实现具体可以是由计算调度的算法库模块根据数据申请方要求的第一隐私计算策略中的计算方法,以及,计算策略基于算法模板生成的由计算指令集构成的计算流程文件,该文件可以采用字节码存储格式,通过虚机机解析执行,是一种通用可信的隐私计算框架和方法,能广泛应用于多种实际应用场景中。
S15:所述数据服务模块根据所述多个分片计算结果向所述数据申请方发送汇总后的隐私计算结果,以提供至所述数据申请方使用。
在各个计算节点完成对应的分片数据计算得到分片结果之后,可以由计算引擎执行多个分片结果的汇总以得到隐私计算结果
执行引擎采用分片计算方法按照计算流程解析执行,调度多个计算节点在不泄露数据的前提下共同完成计算。每个计算节点只完成分片数据的计算得到分片结果,计算引擎完成加密分片结果的汇总,得到最终结果。计算节点在本实例中也称为安全计算节点,计算节点执行计算指令时可以根据运行环境是否可信环境来决定采用密文计算还是明文计算
其中,执行引擎可以具体实现为一种解析执行的安全计算虚拟机(SecureVirtual Machine,SVM),通过对后缀为.svm的计算流程文件进行解析并按照计算流程进行逐条指令的执行来完成计算。该执行引擎可以由计算调度的任务管理创建实例化,计算任务的执行就是启动引擎逐条解析并执行计算指令,并最终完成多个计算节点的分片结果的汇总过程。
通过本申请实施例提供的方案,数据提供方以匿名的方式发布元数据,能保护数据提供方的身份隐私,发布的元数据携带的身份凭证能有效证明数据提供方的身份可信,从而在保护数据提供方隐私的同时保证元数据来源的有效性。通过对元数据随机分片并分配至不同的计算节点执行隐私计算,能通过多个计算节点实现数据申请方所需的隐私计算。而且,任一个计算节点分配到的分片数据都仅是元数据的一部分,避免任何一个计算节点还原出元数据,能有效避免元数据泄露。由于数据提供方不参与隐私计算,所以能避免数据提供方通过修改元数据来影响隐私计算有效性,能保证数据申请方收到的隐私计算结果真实有效。通过本申请实施例提供的方案,能在实现隐私计算的同时保证数据提供方的身份隐私安全性,使数据申请方收到真实有效的隐私计算结果,提升隐私计算的安全有效性。
本实施例提供的方案采用去中心的分布式架构组网,下面结合实例对本方案进行说明,本方案可以应用于包括数据服务、数据代理、计算调度、安全计算节点和区块链网络等模块的系统中,举例而言,图1b是基于隐私计算的隐私数据使用方法的系统结构示意图,各模块可以采用以下方式部署:
数据服务和计算调度模块可以部署在中心机房的物理机服务器或者云环境上以物理进程或容器方式部署。
安全计算节点可以部署在中心机房的一个安全域中,通过计算调度的任务管理模块分发计算指令给多个安全计算节点共同计算。
数据代理模块部署在数据提供方机房的物理服务器或云环境上以进程或容器方式部署。
基于数据服务、计算调度、数据代理共同组建区块链网络,通过智能合约来实现协同计算。
通过本申请实施例提供的系统,能实现上述实施例中的基于隐私计算的隐私数据使用方法,通过数据匿名可信共享和协同计算来实现数据可用不可见。其中,数据服务、数据代理、数据调度和区块链结合来实现一种通用可信隐私计算。在保证数据提供方的个人隐私安全和原始数据不泄露的前提下,数据申请方能得到正确有效的计算结果,整个过程可信、可追溯。
参见图1b,本实例中的可信隐私计算系统包括区块链网络、数据服务、数据代理、计算调度、安全计算节点、智能合约和通讯接口。下面分别介绍各部分的功能。
区块链模块:
本实例中可以应用的区块链例如为Hyperledger Fabric、Fisco Bcos等,由数据共享机构和服务中心共同组成联盟链网络。
数据服务模块:
数据服务可以部署在中心机房的服务器或云环境上,数据服务面向数据申请用户,能为用户提供身份管理、数据概览、申请计算。服务与数据沙箱、数据计算之间通讯,协调数据沙箱和数据计算模块完成单方或多方数据的隐私计算实现数据的可用不可见功能。
接入层:为申请用户提供数据目录浏览和数据计算申请的人机交互功能。人机交互功能的具体形式可以根据实际需求选定,例如可以是命令行方式或者UI(UserInterface)界面方式。数据服务模块中包含以下各子模块:
身份管理:为数据提供用户提供身份标识,用来实现数据元的匿名发布功能。
数据概览:为申请用户提供可以计算的数据元的浏览功能,依赖下层的统一元数据组件提供功能支撑。
计算申请:为申请用户提供数据元的计算申请并协同数据提供方、计算调度进行多方安全计算并获取最终结果返回申请用户。
统一元数据:从数据提供方的数据代理获取发布数据的元数据信息,提供给数据概览使用。
通讯层:与数据代理、计算调度之间通过GRPC协议接口进行通讯,包括获取发布的元数据、下发计算申请、获取计算结果等。
数据代理模块:
数据代理模块部署在机构机房的服务器或云环境上,数据提供方可以通过数据代理来发布数据元和共享计算数据。数据代理在用户空间内创建一块独立的数据存储空间作为安全计算的数据共享容器,该容器在本实例中称为数据沙箱,能为数据计算提供加密的分片数据。数据代理模块中包含以下子模块:
接入层:为数据提供方提供数据沙箱管理维护的人机交互功能。
通讯层:与数据共享服务通过GRPC协议接口进行通讯,包括注册、数据目录发布等上行消息。
身份注册:为数据提供方提供身份注册接口,通过通讯层上报到数据服务的身份管理进行注册并为提供方颁发身份标识和身份凭证。
数据管理:负责本地数据的管理,包括数据计算申请审批并创建数据沙箱进行数据共享以及沙箱的管理功能。
发布数据元:负责本地元数据采集并同步到中心统一元数据管理来发布共享的数据元信息。
数据沙箱:按照数据管理的要求在用户空间内创建一块独立存储空间用来共享数据分片以及数据分片访问的权限控制功能。
计算调度:
计算调度模块可以部署在中心机房的服务器或云环境上,主要负责承接计算任务并下发给安全计算节点执行,最终收集汇总加密的计算结果推送给数据服务的计算申请模块。计算调度模块中包括以下子模块:
通讯层:与数据服务、数据代理通过GRPC(remote procedure call,远程过程调用)协议接口进行通讯,包括获取共享加密数据、接受计算任务和推送计算结果等消息。
任务管理:负责根据数据服务下发的计算申请创建对应的计算任务,生成任务策略和计算流程,通过计算引擎进行解析执行,并返回汇总后的加密计算结果。
算法库:为计算任务提供可信隐私计算的算法实现模板,包括隐私求和、隐私求乘、隐私求交等,根据计算策略来生成任务的计算流程文件。
计算引擎:负责计算流程的解析执行,调度参与计算的安全几点共同完成计算,并汇总各节点的分片计算结果得到最终结果。
安全计算:
可以部署在中心机房的的安全域内,执行计算引擎下发的计算指令。执行计算指令包括算术运算(加/减/乘/除)、关系运算(比较大小)和集合运算(求交)、数据推送等。安全计算节点的部署形态可以是物理进程、容器,也可以是可信执行环境的可信应用(Trusted Application,TA)。其中,可信执行环境(Trusted Execution Environment,TEE)是CPU内的一个安全区域,它运行在一个独立的环境中且与操作系统并行运行。CPU确保TEE中代码和数据的机密性和完整性都得到保护。通过同时使用硬件和软件来保护数据和代码,TEE比操作系统更加安全。
智能合约:
可以用于实现身份标识的上链发布、计算任务协同和计算过程数据上链存证等功能。
通过本申请实施例提供的方案,能通过匿名可信共享和协同计算来实现数据可用不可见的方法和系统,通过上述数据服务、数据代理、计算调度与区块链结合来实现通用可信隐私计算。能在保证数据提供方的个人隐私安全和原始数据不泄露的前提下,向数据申请方提供正确有效的隐私计算结果,整个过程可信、可追溯。
基于上述实施例提供的方案,可选的,如图2a所示,在上述步骤S11之前,还包括:
S21:所述数据提供方向证书颁发机构发送身份注册请求,所述身份注册请求携带所述数据提供方的身份信息。
图2b为数据提供方身份注册流程示意图。上述证书颁发机构也称为中心,具体是指CA认证中心,它是采用PKI(Public Key Infrastructure)公开密钥基础架构技术,专门提供网络身份认证服务。是负责签发和管理数字证书,且具有权威性和公正性的第三方信任机构。
本步骤中,由数据提供方发送携带有身份信息的身份注册请求,身份信息例如可以包括:姓名、性别、证件类型、证件码等个人关键信息。具体的,数据提供方可以通过数据代理向数据服务提交身份注册请求。
S22:所述证书颁发机构根据所述身份注册请求生成所述数据提供方的身份标识和一对公私钥,所述身份标识根据所述身份信息的哈希值确定。
其中,可以将数据提供方的身份信息的Hash值确定为身份标识。由中心为提供方进行身份注册,生成身份凭证,以实现线上身份标识与线下真实身份的绑定。
S23:所述证书颁发机构向所述数据提供方颁发身份凭证,所述身份凭证包含所述数据提供方的身份标识和公钥,所述身份凭证用于证明所述身份标识和所述公钥可信。
中心将生成的身份凭证颁发给数据提供方,用于证明数据提供方证明匿名身份可信。
通过本申请实施例提供的方案,数据提供方通过发送身份注册请求的方式,向证书颁发机构申请身份凭证。该身份凭证是具有权威性和公正性的第三方信任机构颁发的,能有效表征数据提供方的身份有效性。进而,在数据提供方发布元数据时,元数据携带的身份凭证能有效表征元数据来源的可靠性。从而能实现数据提供方匿名发布元数据,在保证数据提供方身份信息安全的同时,还能通过身份凭证验证元数据来源可靠。
基于上述实施例提供的方案,可选的,如图3a所示,在上述步骤S23之前,还包括:
S31:所述证书颁发机构根据数据提供方的身份标识、公钥和身份信息构建梅克尔树,并确定梅克尔树的根值。
梅克尔树(Merkle Tree),也称为哈希树,通常是一种二叉树。其中包含根节点、中间节点与叶节点。在本步骤中,中心使用数据提供方的多种身份信息构建梅克尔树,如图3b所示,图中最下层的叶节点为数据提供方的多种身份信息的哈希值,其中包括数据提供方提供的姓名、性别、证件类型、证件号的信息的哈希值,还包括中心根据数据提供方的身份信息生成的身份标识以及公钥的哈希值。在图3b所示的梅克尔树中,H1为身份标识的哈希值,H2为公钥的哈希值,以此类推。在本实例中,以二叉树为例进行说明,实际应用中也可以根据实际需求应用多叉树。
在确定最下层的包含身份信息的叶节点之后,将相邻两个哈希块串联,然后做哈希运算,以得到中间节点。例如,在图3b中,将H1与H2串联进行哈希运算,以得到中间节点H7。同理,将H3与H4串联进行哈希运算,以得到中间节点H8。以此类推,逐层计算直至得到梅克尔树的根。其中,如果存在某一层的节点数量是单数,例如图3b中H7、H8和H9所在的一层仅有3个节点,则将最后一个单独的节点H9复制,从而将两个H9串联进行哈希运算以得到节点H11。
S32:所述证书颁发机构生成包含所述数据提供方的身份标识、公钥、所述梅克尔树的根值和以下至少一项信息的哈希值的身份凭证:凭证标识、颁发机构的身份标识、颁发日期、所述数据提供方的身份信息的哈希值、所述颁发机构对梅克尔树的根值的签名结果。
在构建梅克尔树之后,生成包含有梅克尔树根值的身份凭证,该梅克尔树根值能用于快速验证数据提供方的身份真实性。通过下发包含梅克尔树根值的身份凭证,能便于数据提供方匿名发布数据,身份凭证能实现对数据提供方身份可靠性的快速验证。
以图3b所示的梅克尔树为例,假设现有数据提供方的身份标识的哈希值和包含梅克尔树根值的身份凭证。如果要验证数据提供方的身份标识,则可以向中心请求验证身份标识H1的请求。由中心根据请求下发H2、H8和H11。随后,根据身份标识的哈希值H1和中心提供的H2哈希计算H7,进而根据H7和中心提供的H8哈希计算H10,再根据H10和中心提供的H11哈希计算出梅克尔根值。如果根据身份标识计算出的梅克尔根值与身份凭证中的梅克尔根值一致,则证明数据提供方的身份标识可信。身份凭证Json格式示意图如图3c所示。
通过本申请实施例提供的方案,身份凭证中包含梅克尔树根值。该梅克尔树根值可以用于快速验证匿名身份可信度,能实现在不泄露数据提供方的身份隐私的情况下,使用该身份凭证中的梅克尔树根值证明匿名身份可信,有利于实现数据匿名可信共享。其中,梅克尔树具有防止数据篡改的特性,身份信息中的任一信息的篡改都会导致梅克尔树根值改变,通过梅克尔树根值能数据提供方的身份信息的整体有效性,实现匿名身份与真实身份的锚定。而且,基于包含梅克尔树根值的身份凭证,能对数据提供方的身份实现快速验证,从而在发布元数据时验证该元数据来源的可靠性。
基于上述实施例提供的方案,可选的,如图4a所示,上述步骤S11,包括:
S41:所述数据提供方向数据代理模块发送携带数据源信息的数据源绑定请求。
图4b示出了数据提供方请求绑定数据源的流程,在本步骤中,数据提供方通过发送数据源绑定请求的方式进行数据源绑定,其中,数据源绑定请求中可以包括数据源的访问的地址、账号、密码,以便数据代理从原始库采集元数据信息。
S42:所述数据代理模块根据所述数据源信息执行数据源绑定,并从绑定的数据源采集元数据信息。
本步骤中,数据代理模块根据数据源的访问的地址、账号和密码执行元数据的信息采集。
S43:所述数据代理模块接收所述数据提供方基于所述元数据信息发送的发布配置信息,所述发布配置信息包括待发布的目标数据元和所述目标数据元的配置信息。
数据提供方根据数据代理采集的元数据的信息,选择需要发布的元数据的表、字段等。另外,还可以设置存储空间大小、有效期等其他配置信息。数据提供方确认发布元数据的配置之后,数据代理按照配置信息发布元数据。
S44:所述数据代理模块根据所述发布配置信息发布所述数据元,并向所述数据服务模块同步已发布的数据元的元数据信息。
数据代理模块向数据服务模块同步元数据,以完成数据元的发布。可选的,在完成发布之后,数据代理向数据提供方反馈元数据发布成功的结果。
通过本申请实施例提供的方案,由数据提供方对待发布的元数据设定配置信息,能设定元数据的发布细节,从而基于数据提供方的设定执行元数据的发布,能提高元数据的发布效率,保证发布的元数据的完整与有效性。而且,发布后的数据元的信息可以用于提供给数据申请方浏览,有利于数据申请方高效获知元数据的属性,有利于数据申请方确定需要使用的元数据以及确定隐私计算策略,能提升隐私数据的整体使用效率。
基于上述实施例提供的方案,可选的,如图5所示,在上述步骤S13之前,还包括:
S51:数据服务模块向计算调度模块发送计算任务请求,所述计算任务请求携带所述第一隐私计算策略。
在本步骤中,数据服务模块将数据申请方提供的第一隐私计算策略发送至计算调度模块。其中,第一隐私计算策略能表征数据申请方请求对数据执行的计算,通过向计算调度模块发送计算任务请求,能使计算调度模块根据第一隐私计算策略确定实际执行所需的计算节点。
S52:计算调度模块根据所述计算任务请求生成与所述第一隐私计算策略匹配的第二隐私计算策略,并将所述第二隐私策略发送至所述数据服务模块,所述第二隐私计算策略携带与所述第一隐私计算策略匹配的分片数量和所述分片数量个计算节点的公钥,所述分片数量个计算节点用于对分配的分片数据按所述第一隐私计算策略执行隐私计算。
由计算调度模块根据第一隐私计算策略确定要执行随机分片的分片数量,以便后续步骤按照分片数量执行分片。以及,确定要对分片数据执行计算的计算节点。生成包含有分片数量个计算节点的公钥的第二隐私策略,能便于后续步骤根据计算节点的公钥对分配的数据分片执行加密。
通过本申请实施例提供的方案,根据数据申请方提供的第一隐私计算策略,确定实际执行隐私计算的分片数量和相应的计算节点,以便隐私计算的实际执行。通过确定随机分片的分片数量以及分片数量个计算节点,能确定实际执行隐私计算的各个计算节点。这些计算节点的公钥能用于后续步骤中向计算节点的分配分片数据。其中,确定的计算节点和分片数量的步骤中,数据提供方与数据申请方未直接参与,从而能提升隐私计算的结果有效性和安全性。
基于上述实施例提供的方案,可选的,如图6a所示,上述步骤S13,包括:
S61:数据服务模块向所述数据代理模块发送与所述第一隐私计算策略匹配的第二隐私计算策略,以指示所述数据代理模块创建用于存储加密后的分片数据的数据沙箱,并对所述分片数量个计算节点执行授权,以允许所述分片数量个计算节点从所述数据沙箱获取加密后的分片数据。
由数据代理模块根据接收到的第二隐私计算策略创建相匹配的数据沙箱,该数据沙箱用于储存加密后的分片数据,以便对多个计算节点分配数据分片。其中,数据代理模块可以根据第二隐私计算策略中的公钥来对相匹配的多个计算节点执行数据沙箱的访问授权,以允许计算节点从数据沙箱中获取加密后的分片数据。
实际执行时,计算调度模块可以根据要执行隐私计算的数据元和数据申请方请求执行的计算策略生成相应的计算任务,以通过任务的形式执行计算流程。计算节点不受具体算法和执行环境的限制,可以广泛应用于多种场景中,具有较优的通用性。
S62:所述数据代理模块根据所述第二隐私计算策略将所述元数据随机分片为多个分片数据,并使用所述多个分片数据分配的计算节点的公钥执行加密,将多个加密后的分片数据存入所述数据沙箱。
数据代理模块可以通过创建的数据沙箱对元数据执行随机分片,以得到分片数量个分片数据。将分片数量个分片数据分配至分片数量个计算节点,使计算节点与分片数据一一对应。基于第二隐私计算策略中的计算节点的公钥,对相匹配的分片数据执行加密,从而得到分片数量个加密后的分片数据,并将加密后的分片数据存入数据沙箱。这样能使每个参与隐私计算的计算节点只拿到部分数据,不能还原出完整数据,避免了原始数据的泄露问题。
其中,第二隐私计算策略中可以包含有授权节点列表,其中记录有多个已授权的参与隐私计算的计算节点。另外,授权节点的数量可以比分片数量更多,多余出的计算节点可用作备份节点,以提升隐私计算整体稳定性。
S63:由授权后的所述分片数量个计算节点基于自身的公钥从所述数据沙箱中获取对应的加密后的分片数据。
在数据沙箱中已经存入多个加密后的分片数据之后,已授权的计算节点可以访问该数据沙箱,并基于自身的公钥确定相匹配的加密后的分片数据并下载。获取到相匹配的加密后的分片数据后,计算节点基于自身的私钥执行解密,以得到解密后的分片数据。
在本申请实施例提供的方案中,数据服务可以向计算调度模块通过下发任务的形式指示计算调度模块执行计算任务相应的操作。下发的任务中可以包括数据元、计算方法、数据申请方公钥等参数。计算调度可以根据上述参数创建相应的计算任务,其中包含第二隐私计算策略,具体包括分片数量、授权节点、授权节点公钥等,另外还包括数据申请方请求对元数据执行的计算流程。图6b示出了分配数据分片的流程示意图,包括以下步骤:
首先,由数据服务将计算申请发送给数据提供方的数据代理,为参与计算的安全计算节点申请授权。
随后,数据代理收到计算节点数据授权申请后,创建相应的数据沙箱。通过数据沙箱采集相关数据,根据第二隐私计算策略进行随机分片,并用相匹配的计算节点的公钥进行加密存入数据沙箱,返回下载链接以便各计算节点访问沙箱并下载相匹配的数据分片。
通过本申请实施例提供的方案,基于第二隐私计算策略创建数据沙箱,通过该数据沙箱能实现加密后分片数据的存储与调用。其中,授权多个计算节点获取数据沙箱中的分片数据,沙箱中的加密后的分片数据是基于匹配的计算节点公钥加密得到的,因而计算节点可以基于自身的私钥从数据沙箱中获取匹配的加密后的分片数据并执行解密。对于任一个计算节点,对数据沙箱中存储的不匹配的其他加密后的分片数据无法执行解密。因而保证计算节点仅基于自身私钥对相匹配的加密后的分片数据执行解密,进而执行隐私计算得到分片结果。本申请实施例提供的方案,通过数据沙箱将多个加密后的分片数据分配至相匹配的计算节点,使计算节点获取到相匹配的分片数据,提升分片数据下发至计算节点的安全性。
在实际执行过程中,计算节点可以基于计算指令执行数据申请方所需的隐私计算。计算节点可以按照计算指令集字节码执行隐私计算,每条计算指令执行一个运算操作,流程由begin语句开始,end语句结束。具体指令格式如下所示:
该计算流程可以以紧凑型字节码流的方式保存在以.svm后缀的文件,计算流程的存储格式例如如图6c所示。
下面结合实例对计算流程进行说明。假设数据提供方甲的数据为X、数据提供方乙的数据为Y,计算策略包括分片数为2,计算节点A、B共同参与计算,那么,计算流程如下:
可选的,分片数据基于相匹配的计算节点的公钥执行加密并存入数据沙箱,当相匹配的计算节点是调度节点时还可以使用数据申请方公钥执行加密。计算调度生成的计算策略中的计算节点的数量可以等于分片数量,这样每个计算节点分配一个对应的分片数据执行计算。或者,计算节点的数量可以大于分片数量,多余的计算节点用作备份节点。在各个计算节点完成隐私计算之后执行加密,调度节点可以对加密的多个分片计算结果进行汇总,具体可以采用同态加算法执行计算汇总。
在本实例中,计算调度的任务管理模块可以创建执行引擎协调安全计算节点执行计算并返回最终加密结果,图6d示出了执行隐私计算的流程示意图。
首先,由任务管理从数据沙箱下载数据分片,数据沙箱进行确权以后返回加密的数据分片。
在得到加密的数据分片之后,任务管理创建执行引擎实例,传入计算流程和计算的数据分片启动计算任务。
执行引擎按照计算流程的执行步骤进行逐步执行,把每个执行步骤的计算指令下发给安全计算节点进行单步计算,直至计算流程结束。
计算流程执行完成后,最终由执行引擎把加密分片计算结果进行汇总,得到最终的隐私计算结果并返回给数据服务,并把隐私计算过程数据上链存证。
通过本申请实施例提供的方案,能实现对数据元执行随机分片,并将多个随机分片分配至多个不同的计算节点执行隐私计算,随后对多个分片计算结果进行汇总,得到数据元对应的隐私计算结果提供给数据申请方使用。通过将数据元随机分片并分配至计算节点,不仅能实现对数据元的隐私计算,而且能有效提升隐私计算的安全有效性,避免数据提供方或数据申请方参与隐私计算可能导致的计算结果失效。
基于上述实施例提供的方案,可选的,如图7a所示,所述数据计算请求携带请求执行隐私计算的至少一个目标数据元;
其中,在上述步骤S51之前,还包括:
S71:数据服务模块向所述数据计算请求携带的每个目标数据元对应的数据提供方发送审批请求。
在执行隐私计算之前,需要数据提供方对数据申请方的请求执行审批。部分场景中,数据申请方请求执行的隐私计算涉及多个目标数据元,需要对各个目标数据元对应的数据提供方发送审批请求,以请求各个数据提供方授权使用相应的目标数据元执行隐私计算。
其中,由数据申请方浏览数据服务发布的元数据信息,选择数据元提交计算申请。由数据服务转发请求给数据提供方进行审批,并汇总所有涉及的数据提供方的审批结果。
S72:如果每个目标数据元对应的数据提供方均审批通过,则数据服务模块向计算调度模块发送计算任务请求。
如果所有提供方审批通过则此申请通过,否则申请不通过,结果返回申请方。
举例而言,图7b示出了审批流程示意图,本实施例提供的方案包括以下步骤:
数据申请方通过数据服务的数据概览功能查看发布的元数据信息,并选择需要计算的数据元和计算方法生成并提交计算申请。然后,数据服务的计算申请模块把请求转发给数据提供方进行审批。在各个数据提供方审核以后,数据代理把审批结果返回数据服务,数据服务汇总所有的审批意见并把审批结果返回数据申请方。
通过本申请实施例提供的方案,能实现数据提供方对数据申请方请求使用元数据的审批。在部分应用场景中,数据申请方请求使用的数据可能涉及多个不同数据提供方的数据元,如要实现数据申请方所需执行的隐私计算,则需要得到多个数据提供方的审批授权,从而在审批授权的基础上对多个数据提供方的数据元执行数据申请方请求的隐私计算。本申请实施例提供的方案,能用于实现向至少一个数据提供方请求至少一个目标数据元的审批,如果目标数据元的全部数据提供方都审批通过,则可以进一步执行数据申请方请求的隐私计算。
本申请实施例能通过使用数据匿名可信共享和协同计算来实现隐私安全的数据可用不可见。其中,通过数据服务、数据代理、计算调度和区块链结合来实现可信隐私计算。在保证提供方的个人隐私和原始数据不泄露的前提下,申请方能得到正确的计算结果,并且整个过程可信、可追溯。本申请实施例提供的方案具有以下技术效果:
1.数据提供方采用身份标识进行数据匿名共享可以保护数据提供方的个人隐私,实现数据的匿名可信共享。
2.通过数据沙箱数据分片授权和共享,能解决数据的共享安全性问题,实现数据的可控可度量。
3.采用计算调度执行引擎协同多节点进行数据分片的安全计算,能保证单节点无法还原完整的原始数据,并由执行引擎对加密的分片结果进行汇总得到最终计算结果,可以解决单点故障和作恶的问题,实现了数据的可用不可见。
4.数据申请方无法通过结果关联数据提供方推出原始数据,避免数据泄露与篡改。
5.数据提供方无法推测申请方目的,也不能干扰计算过程,避免数据篡改导致计算结果失效。
6.本方案中参与计算的计算节点的数量和场景不受具体算法的限制,能作为一种通用解决方案应用于多种实际场景中。
为了解决现有技术中存在的问题,本申请实施例还提供一种基于隐私计算的隐私数据使用方法,如图8所示,应用于数据服务模块,包括:
S81:接收数据提供方发布的携带身份凭证的元数据和数据申请方基于发布的所述元数据发送的数据计算请求,所述身份凭证用于证明所述数据提供方的匿名身份可信,所述数据计算请求携带所述数据申请方请求对所述元数据执行计算的第一隐私计算策略;
S82:将所述元数据随机分片为多个分片数据,并根据所述第一隐私计算策略将多个分片数据分配至不同的计算节点,以指示多个计算节点对分配的分片数据按所述第一隐私计算策略执行隐私计算,得到多个分片计算结果;
S83:根据所述多个分片计算结果向所述数据申请方发送汇总后的隐私计算结果,以提供至所述数据申请方使用。
通过本申请实施例提供的方案,数据提供方以匿名的方式发布元数据,能保护数据提供方的身份隐私,发布的元数据携带的身份凭证能有效证明数据提供方的身份可信,从而在保护数据提供方隐私的同时保证元数据来源的有效性。通过对元数据随机分片并分配至不同的计算节点执行隐私计算,能通过多个计算节点实现数据申请方所需的隐私计算。而且,任一个计算节点分配到的分片数据都仅是元数据的一部分,避免任何一个计算节点还原出元数据,能有效避免元数据泄露。由于数据提供方不参与隐私计算,所以能避免数据提供方通过修改元数据来影响隐私计算有效性,能保证数据申请方收到的隐私计算结果真实有效。通过本申请实施例提供的方案,能在实现隐私计算的同时保证数据提供方的身份隐私安全性,使数据申请方收到真实有效的隐私计算结果,提升隐私计算的安全有效性。
为了解决现有技术中存在的问题,本申请实施例提供一种基于隐私计算的隐私数据使用装置90,如图9所示,包括:
数据提供方91,向数据服务模块93发布携带身份凭证的元数据,所述身份凭证用于证明所述数据提供方91的匿名身份可信;
数据申请方92,基于发布在所述数据服务模块93的所述元数据向所述数据服务模块93发送数据计算请求,所述数据计算请求携带所述数据申请方92请求对所述元数据执行计算的第一隐私计算策略;
所述数据服务模块93,将所述元数据随机分片为多个分片数据,并根据所述第一隐私计算策略将多个分片数据分配至不同的计算节点94;
多个计算节点94,对分配的分片数据按所述第一隐私计算策略执行隐私计算,得到多个分片计算结果;
所述数据服务模块93,根据所述多个分片计算结果向所述数据申请方92发送汇总后的隐私计算结果,以提供至所述数据申请方92使用。
通过本申请实施例提供的方案,数据提供方以匿名的方式发布元数据,能保护数据提供方的身份隐私,发布的元数据携带的身份凭证能有效证明数据提供方的身份可信,从而在保护数据提供方隐私的同时保证元数据来源的有效性。通过对元数据随机分片并分配至不同的计算节点执行隐私计算,能通过多个计算节点实现数据申请方所需的隐私计算。而且,任一个计算节点分配到的分片数据都仅是元数据的一部分,避免任何一个计算节点还原出元数据,能有效避免元数据泄露。由于数据提供方不参与隐私计算,所以能避免数据提供方通过修改元数据来影响隐私计算有效性,能保证数据申请方收到的隐私计算结果真实有效。通过本申请实施例提供的方案,能在实现隐私计算的同时保证数据提供方的身份隐私安全性,使数据申请方收到真实有效的隐私计算结果,提升隐私计算的安全有效性。
为了解决现有技术中存在的问题,本申请实施例提供一种基于隐私计算的隐私数据使用装置100,如图10所示,包括:
接收模块101,接收数据提供方发布的携带身份凭证的元数据和数据申请方基于发布的所述元数据发送的数据计算请求,所述身份凭证用于证明所述数据提供方的匿名身份可信,所述数据计算请求携带所述数据申请方请求对所述元数据执行计算的第一隐私计算策略;
分片模块102,将所述元数据随机分片为多个分片数据,并根据所述第一隐私计算策略将多个分片数据分配至不同的计算节点,以指示多个计算节点对分配的分片数据按所述第一隐私计算策略执行隐私计算,得到多个分片计算结果;
发送模块103,根据所述多个分片计算结果向所述数据申请方发送汇总后的隐私计算结果,以提供至所述数据申请方使用。
通过本申请实施例提供的方案,数据提供方以匿名的方式发布元数据,能保护数据提供方的身份隐私,发布的元数据携带的身份凭证能有效证明数据提供方的身份可信,从而在保护数据提供方隐私的同时保证元数据来源的有效性。通过对元数据随机分片并分配至不同的计算节点执行隐私计算,能通过多个计算节点实现数据申请方所需的隐私计算。而且,任一个计算节点分配到的分片数据都仅是元数据的一部分,避免任何一个计算节点还原出元数据,能有效避免元数据泄露。由于数据提供方不参与隐私计算,所以能避免数据提供方通过修改元数据来影响隐私计算有效性,能保证数据申请方收到的隐私计算结果真实有效。通过本申请实施例提供的方案,能在实现隐私计算的同时保证数据提供方的身份隐私安全性,使数据申请方收到真实有效的隐私计算结果,提升隐私计算的安全有效性。
其中,本发明实施例提供的装置中的上述模块还可以实现上述方法实施例提供的方法步骤。或者,本发明实施例提供的装置还可以包括除上述模块以外的其他模块,用以实现上述方法实施例提供的方法步骤。且本发明实施例提供的装置能够实现上述方法实施例所能达到的技术效果。
优选的,本发明实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述基于隐私计算的隐私数据使用方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述基于隐私计算的隐私数据使用方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (12)
1.一种基于隐私计算的隐私数据使用方法,其特征在于,包括:
数据提供方向数据服务模块发布携带身份凭证的元数据,所述身份凭证用于证明所述数据提供方的匿名身份可信;
数据申请方基于发布在所述数据服务模块的所述元数据向所述数据服务模块发送数据计算请求,所述数据计算请求携带所述数据申请方请求对所述元数据执行计算的第一隐私计算策略;
所述数据服务模块将所述元数据随机分片为多个分片数据,并根据所述第一隐私计算策略将多个分片数据分配至不同的计算节点;
由多个计算节点对分配的分片数据按所述第一隐私计算策略执行隐私计算,得到多个分片计算结果;
所述数据服务模块根据所述多个分片计算结果向所述数据申请方发送汇总后的隐私计算结果,以提供至所述数据申请方使用。
2.如权利要求1所述的方法,其特征在于,在数据提供方向数据服务模块发布携带身份凭证的元数据之前,还包括:
所述数据提供方向证书颁发机构发送身份注册请求,所述身份注册请求携带所述数据提供方的身份信息;
所述证书颁发机构根据所述身份注册请求生成所述数据提供方的身份标识和一对公私钥,所述身份标识根据所述身份信息的哈希值确定;
所述证书颁发机构向所述数据提供方颁发身份凭证,所述身份凭证包含所述数据提供方的身份标识和公钥,所述身份凭证用于证明所述身份标识和所述公钥可信。
3.如权利要求2所述的方法,其特征在于,在所述证书颁发机构向所述数据提供方颁发身份凭证之前,还包括:
所述证书颁发机构根据数据提供方的身份标识、公钥和身份信息构建梅克尔树,并确定梅克尔树的根值;
所述证书颁发机构生成包含所述数据提供方的身份标识、公钥、所述梅克尔树的根值和以下至少一项信息的哈希值的身份凭证:凭证标识、颁发机构的身份标识、颁发日期、所述数据提供方的身份信息的哈希值、所述颁发机构对梅克尔树的根值的签名结果。
4.如权利要求2所述的方法,其特征在于,数据提供方向数据服务模块发布携带身份凭证的元数据,包括:
所述数据提供方向数据代理模块发送携带数据源信息的数据源绑定请求;
所述数据代理模块根据所述数据源信息执行数据源绑定,并从绑定的数据源采集元数据信息;
所述数据代理模块接收所述数据提供方基于所述元数据信息发送的发布配置信息,所述发布配置信息包括待发布的目标数据元和所述目标数据元的配置信息;
所述数据代理模块根据所述发布配置信息发布所述数据元,并向所述数据服务模块同步已发布的数据元的元数据信息。
5.如权利要求4所述的方法,其特征在于,在数据服务模块将所述元数据随机分片为多个分片数据,并根据所述第一隐私计算策略将多个分片数据分配至不同的计算节点之前,还包括:
数据服务模块向计算调度模块发送计算任务请求,所述计算任务请求携带所述第一隐私计算策略;
计算调度模块根据所述计算任务请求生成与所述第一隐私计算策略匹配的第二隐私计算策略,并将所述第二隐私策略发送至所述数据服务模块,所述第二隐私计算策略携带与所述第一隐私计算策略匹配的分片数量和所述分片数量个计算节点的公钥,所述分片数量个计算节点用于对分配的分片数据按所述第一隐私计算策略执行隐私计算。
6.如权利要求5所述的方法,其特征在于,数据服务模块将所述元数据随机分片为多个分片数据,并根据所述第一隐私计算策略将多个分片数据分配至不同的计算节点,包括:
数据服务模块向所述数据代理模块发送与所述第一隐私计算策略匹配的第二隐私计算策略,以指示所述数据代理模块创建用于存储加密后的分片数据的数据沙箱,并对所述分片数量个计算节点执行授权,以允许所述分片数量个计算节点从所述数据沙箱获取加密后的分片数据;
所述数据代理模块根据所述第二隐私计算策略将所述元数据随机分片为多个分片数据,并使用所述多个分片数据分配的计算节点的公钥执行加密,将多个加密后的分片数据存入所述数据沙箱;
由授权后的所述分片数量个计算节点基于自身的公钥从所述数据沙箱中获取对应的加密后的分片数据。
7.如权利要求5或6所述的方法,其特征在于,所述数据计算请求携带请求执行隐私计算的至少一个目标数据元;
其中,在数据服务模块向计算调度模块发送计算任务请求之前,还包括:
数据服务模块向所述数据计算请求携带的每个目标数据元对应的数据提供方发送审批请求;
如果每个目标数据元对应的数据提供方均审批通过,则数据服务模块向计算调度模块发送计算任务请求。
8.一种基于隐私计算的隐私数据使用方法,其特征在于,应用于数据服务模块,包括:
接收数据提供方发布的携带身份凭证的元数据和数据申请方基于发布的所述元数据发送的数据计算请求,所述身份凭证用于证明所述数据提供方的匿名身份可信,所述数据计算请求携带所述数据申请方请求对所述元数据执行计算的第一隐私计算策略;
将所述元数据随机分片为多个分片数据,并根据所述第一隐私计算策略将多个分片数据分配至不同的计算节点,以指示多个计算节点对分配的分片数据按所述第一隐私计算策略执行隐私计算,得到多个分片计算结果;
根据所述多个分片计算结果向所述数据申请方发送汇总后的隐私计算结果,以提供至所述数据申请方使用。
9.一种基于隐私计算的隐私数据使用装置,其特征在于,包括:
数据提供方,向数据服务模块发布携带身份凭证的元数据,所述身份凭证用于证明所述数据提供方的匿名身份可信;
数据申请方,基于发布在所述数据服务模块的所述元数据向所述数据服务模块发送数据计算请求,所述数据计算请求携带所述数据申请方请求对所述元数据执行计算的第一隐私计算策略;
所述数据服务模块,将所述元数据随机分片为多个分片数据,并根据所述第一隐私计算策略将多个分片数据分配至不同的计算节点;
多个计算节点,对分配的分片数据按所述第一隐私计算策略执行隐私计算,得到多个分片计算结果;
所述数据服务模块,根据所述多个分片计算结果向所述数据申请方发送汇总后的隐私计算结果,以提供至所述数据申请方使用。
10.一种基于隐私计算的隐私数据使用装置,其特征在于,包括:
接收模块,接收数据提供方发布的携带身份凭证的元数据和数据申请方基于发布的所述元数据发送的数据计算请求,所述身份凭证用于证明所述数据提供方的匿名身份可信,所述数据计算请求携带所述数据申请方请求对所述元数据执行计算的第一隐私计算策略;
分片模块,将所述元数据随机分片为多个分片数据,并根据所述第一隐私计算策略将多个分片数据分配至不同的计算节点,以指示多个计算节点对分配的分片数据按所述第一隐私计算策略执行隐私计算,得到多个分片计算结果;
发送模块,根据所述多个分片计算结果向所述数据申请方发送汇总后的隐私计算结果,以提供至所述数据申请方使用。
11.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的方法的步骤。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211227875.6A CN117896069A (zh) | 2022-10-09 | 2022-10-09 | 基于隐私计算的隐私数据使用方法和装置 |
| PCT/CN2023/118185 WO2024078229A1 (zh) | 2022-10-09 | 2023-09-12 | 基于隐私计算的隐私数据使用方法和装置 |
| EP23876434.4A EP4597926A4 (en) | 2022-10-09 | 2023-09-12 | METHOD AND APPARATUS FOR USING CONFIDENTIAL DATA BASED ON A CONFIDENTIALITY CALCULATION |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211227875.6A CN117896069A (zh) | 2022-10-09 | 2022-10-09 | 基于隐私计算的隐私数据使用方法和装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117896069A true CN117896069A (zh) | 2024-04-16 |
Family
ID=90639838
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211227875.6A Pending CN117896069A (zh) | 2022-10-09 | 2022-10-09 | 基于隐私计算的隐私数据使用方法和装置 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4597926A4 (zh) |
| CN (1) | CN117896069A (zh) |
| WO (1) | WO2024078229A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118296630A (zh) * | 2024-05-29 | 2024-07-05 | 杭州锘崴信息科技有限公司 | 一种数据、政务数据多方共享处理方法及装置 |
| CN119272302A (zh) * | 2024-09-29 | 2025-01-07 | 中国移动通信集团广东有限公司 | 基于安全多方计算的敏感数据安全关联分析方法及装置 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118606988A (zh) * | 2024-05-23 | 2024-09-06 | 中金云链(武汉)数字科技有限公司 | 一种基于隐私计算的物流数据资产安全处理方法 |
| CN118972169B (zh) * | 2024-10-12 | 2025-04-04 | 蚂蚁科技集团股份有限公司 | 隐私计算中的数据采集模块及数据采集方法 |
| CN120567583B (zh) * | 2025-07-31 | 2025-09-30 | 深圳市光网世纪科技有限公司 | 多模态光网络数据处理方法、装置、平台及介质 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA3008705C (en) * | 2015-12-14 | 2020-03-10 | Coinplug, Inc. | System for issuing public certificate on basis of block chain, and method for issuing public certificate on basis of block chain by using same |
| WO2022029762A1 (en) * | 2020-08-02 | 2022-02-10 | Ben Ari Adi | System and method for providing a verified privacy-preserving attestation of web service data properties |
| JP7118198B1 (ja) * | 2021-03-26 | 2022-08-15 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 処理システム、処理方法及び処理プログラム |
| CN114154194B (zh) * | 2021-11-29 | 2025-03-04 | 银清科技有限公司 | 信息共享方法、装置及系统 |
| CN114168998A (zh) * | 2021-11-30 | 2022-03-11 | 联想(北京)有限公司 | 数据处理方法和装置 |
| CN114785802A (zh) * | 2022-04-18 | 2022-07-22 | 上海阵方科技有限公司 | 基于p2p和隐私计算的数据节点结构及数据管理方法 |
-
2022
- 2022-10-09 CN CN202211227875.6A patent/CN117896069A/zh active Pending
-
2023
- 2023-09-12 EP EP23876434.4A patent/EP4597926A4/en active Pending
- 2023-09-12 WO PCT/CN2023/118185 patent/WO2024078229A1/zh not_active Ceased
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118296630A (zh) * | 2024-05-29 | 2024-07-05 | 杭州锘崴信息科技有限公司 | 一种数据、政务数据多方共享处理方法及装置 |
| CN119272302A (zh) * | 2024-09-29 | 2025-01-07 | 中国移动通信集团广东有限公司 | 基于安全多方计算的敏感数据安全关联分析方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4597926A4 (en) | 2026-01-21 |
| EP4597926A1 (en) | 2025-08-06 |
| WO2024078229A1 (zh) | 2024-04-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3788523B1 (en) | System and method for blockchain-based cross-entity authentication | |
| CN110933108B (zh) | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 | |
| WO2021000337A1 (en) | System and method for mapping decentralized identifiers to real-world entities | |
| CN117896069A (zh) | 基于隐私计算的隐私数据使用方法和装置 | |
| Sun et al. | Outsourced decentralized multi-authority attribute based signature and its application in IoT | |
| Yang et al. | Provable data possession of resource-constrained mobile devices in cloud computing | |
| TW201933255A (zh) | 區塊鏈系統及用於區塊鏈系統的資料處理方法 | |
| Youn et al. | Efficient client-side deduplication of encrypted data with public auditing in cloud storage | |
| Li et al. | A survey on integrity auditing for data storage in the cloud: from single copy to multiple replicas | |
| Zichichi et al. | Data governance through a multi-DLT architecture in view of the GDPR | |
| Chen et al. | A threshold hybrid encryption method for integrity audit without trusted center | |
| CN103152322A (zh) | 数据加密保护方法及系统 | |
| Yan et al. | Integrity audit of shared cloud data with identity tracking | |
| Abraham et al. | Privacy-preserving eID derivation for self-sovereign identity systems | |
| Subha et al. | Efficient privacy preserving integrity checking model for cloud data storage security | |
| CN112989385B (zh) | 一种云际计算环境中数据安全动态访问控制方法及系统 | |
| Kumar et al. | Data outsourcing: A threat to confidentiality, integrity, and availability | |
| CN115622812A (zh) | 基于区块链智能合约的数字身份验证方法及系统 | |
| Guo et al. | Using blockchain to control access to cloud data | |
| CN114239044A (zh) | 一种去中心化的可追溯共享访问系统 | |
| Mishra et al. | MPoWS: Merged proof of ownership and storage for block level deduplication in cloud storage | |
| CN117014135A (zh) | 基于区块链的交易溯源方法及系统、存储介质、程序产品 | |
| CN115048672A (zh) | 基于区块链的数据审计方法和装置、处理器及电子设备 | |
| CN115987526B (zh) | 一种基于业务链的数据共享方法、系统和装置 | |
| Kaaniche et al. | ID-based user-centric data usage auditing scheme for distributed environments |
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 |