CN115840954A - 隐私计算方法、装置、系统以及存储介质 - Google Patents
隐私计算方法、装置、系统以及存储介质 Download PDFInfo
- Publication number
- CN115840954A CN115840954A CN202211635139.4A CN202211635139A CN115840954A CN 115840954 A CN115840954 A CN 115840954A CN 202211635139 A CN202211635139 A CN 202211635139A CN 115840954 A CN115840954 A CN 115840954A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- task
- computing
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 68
- 238000012795 verification Methods 0.000 claims abstract description 132
- 238000000034 method Methods 0.000 claims abstract description 87
- 230000004044 response Effects 0.000 claims abstract description 50
- 230000015654 memory Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000010200 validation analysis Methods 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 15
- 230000009471 action Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012358 sourcing Methods 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000000596 photon cross correlation spectroscopy Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
提供了一种隐私计算方法、装置、系统和计算机可读存储介质。该方法包括:获取来自隐私计算任务中的第一数据节点的第一加密数据;基于计算节点的第一计算环境信息,生成密钥获取请求,其中,第一计算环境信息包括隐私计算任务所对应的应用程序信息和验证数据,验证数据为第一加密数据、第二任务数据或第二加密数据;向第一数据节点发送密钥获取请求,以使得第一数据节点对计算节点的第一计算环境信息进行第一环境验证,以确定是否发送第一数据节点的第一密钥;响应于接收到来自第一数据节点的第一密钥,使用第一密钥,对第一加密数据进行解密,以得到第一任务数据;以及基于第一任务数据和第二任务数据,进行隐私计算任务,以得到计算结果。
Description
技术领域
本公开涉及大数据技术领域,具体涉及一种隐私计算方法、隐私计算装置、隐私计算系统、计算机可读存储介质及计算机程序产品。
背景技术
隐私计算是指在保护数据本身不对外泄露的前提下实现数据的分析计算,达到对数据“可用、不可见”的目的。隐私计算在充分保护数据和隐私安全的前提下,实现数据价值的转化和释放。
在目前的隐私计算技术中,拥有数据的一方为确保数据在传输过程中的安全,通常先对所拥有的数据进行加密,再加已加密的数据和密钥分别传输到计算方。虽然对数据进行加密降低了数据被非法获取的风险,但是,一旦密钥被非法获取,则难以保证数据的安全。因此,期望保证密钥的安全,以进一步提高对数据安全的保护。
发明内容
本公开提供了一种隐私计算方法、隐私计算装置、隐私计算系统、计算机可读存储介质及计算机程序产品。
根据本公开的一方面,提供了一种隐私计算方法,用于隐私计算任务中的计算节点,方法包括:获取来自隐私计算任务中的第一数据节点的第一加密数据;基于计算节点的第一计算环境信息,生成密钥获取请求,其中,第一计算环境信息包括隐私计算任务所对应的应用程序信息和验证数据,验证数据为第一加密数据、第二任务数据、或来自隐私计算任务中的第二数据节点的第二加密数据,其中:当验证数据为第一加密数据时,第二任务数据来自计算节点,或者是基于第二加密数据而生成的;当验证数据为第二任务数据时,第二任务数据来自计算节点;并且当验证数据为第二加密数据时,第二任务数据是基于第二加密数据而生成的;向第一数据节点发送密钥获取请求,以使得第一数据节点对计算节点的第一计算环境信息进行第一环境验证,以确定是否发送第一数据节点的第一密钥;响应于接收到来自第一数据节点的第一密钥,使用第一密钥,对第一加密数据进行解密,以得到第一任务数据;以及基于第一任务数据和第二任务数据,进行隐私计算任务,以得到计算结果。
根据本公开的另一方面,提供了一种隐私计算方法,用于隐私计算任务中的第一数据节点,方法包括:使用第一密钥对第一任务数据进行加密,以生成第一加密数据;向隐私计算任务中的计算节点发送第一加密数据;响应于接收到来自计算节点的密钥获取请求,对计算节点的第一计算环境信息进行第一环境验证,其中,第一计算环境信息包括隐私计算任务所对应的应用程序信息和验证数据,验证数据为第一加密数据、第二任务数据、或来自隐私计算任务中的第二数据节点的第二加密数据,其中:当验证数据为第一加密数据时,第二任务数据来自计算节点,或者是基于第二加密数据而生成的;当验证数据为第二任务数据时,第二任务数据来自计算节点;并且当验证数据为第二加密数据时,第二任务数据是基于第二加密数据而生成的;以及响应于第一计算环境信息通过第一环境验证,向计算节点发送第一密钥,以使得计算节点对第一加密数据进行解密,以基于第一任务数据和第二任务数据,进行隐私计算任务。
根据本公开的另一方面,提供了一种隐私计算装置,用于隐私计算任务中的计算节点,装置包括:数据获取模块,被配置为:获取来自隐私计算任务中的第一数据节点的第一加密数据;请求生成模块,被配置为:基于计算节点的第一计算环境信息,生成密钥获取请求,其中,第一计算环境信息包括隐私计算任务所对应的应用程序信息和验证数据,验证数据为第一加密数据、第二任务数据、或来自隐私计算任务中的第二数据节点的第二加密数据,其中:当验证数据为第一加密数据时,第二任务数据来自计算节点,或者是基于第二加密数据而生成的;当验证数据为第二任务数据时,第二任务数据来自计算节点;并且当验证数据为第二加密数据时,第二任务数据是基于第二加密数据而生成的;请求发送模块,被配置为:向第一数据节点发送密钥获取请求,以使得第一数据节点对计算节点的第一计算环境信息进行第一环境验证,以确定是否发送第一数据节点的第一密钥;解密模块,被配置为:响应于接收到来自第一数据节点的第一密钥,对第一加密数据进行解密,以得到第一任务数据;以及计算模块,被配置为:基于第一任务数据和第二任务数据,进行隐私计算任务,以得到计算结果。
根据本公开的另一方面,提供了一种隐私计算装置,用于隐私计算任务中的第一数据节点,装置包括:加密模块,被配置为:使用第一密钥对第一任务数据进行加密,以生成第一加密数据;数据发送模块,被配置为:向隐私计算任务中的计算节点发送第一加密数据;第一验证模块,被配置为:响应于接收到来自计算节点的密钥获取请求,对计算节点的第一计算环境信息进行第一环境验证,其中,第一计算环境信息包括隐私计算任务所对应的应用程序信息和验证数据,验证数据为第一加密数据、第二任务数据、或来自隐私计算任务中的第二数据节点的第二加密数据,其中:当验证数据为第一加密数据时,第二任务数据来自计算节点,或者是基于第二加密数据而生成的;当验证数据为第二任务数据时,第二任务数据来自计算节点;并且当验证数据为第二加密数据时,第二任务数据是基于第二加密数据而生成的;以及密钥发送模块,被配置为:响应于第一计算环境信息通过第一环境验证,向计算节点发送第一密钥,以使得计算节点对第一加密数据进行解密,以基于第一任务数据和第二任务数据,进行隐私计算任务。
根据本公开的又另一方面,提供了一种隐私计算系统,包括:计算节点,所述计算节点包括如本公开所述的隐私计算装置;第一数据节点,所述第一数据节点包括本公开所述的隐私计算装置,其中,所述第二任务数据来自所述计算节点。
根据本公开的又另一方面,提供了一种隐私计算系统,包括:计算节点,所述计算节点包括如本公开所述的隐私计算装置;第一数据节点,所述第一数据节点包括本公开所述的隐私计算装置;第二数据节点,其中,第二任务数据是由计算节点基于来自第二数据节点第二加密数据而生成的。
根据本公开的又另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一方面的方法。
根据本公开的又另一方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现上述任一方面所述的方法。
根据本公开的再另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述任一方面所述的方法。
根据本公开的一个或多个实施例,由于数据节点在发送密钥前先对计算节点的计算环境信息进行验证,确保了密钥不会被非法获取,从而确保了数据的安全性和计算结果的可信度。
根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于示例的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的隐私计算方法的流程图;
图2示出了根据本公开的实施例的隐私计算方法的流程图;
图3示出了根据本公开的实施例的在图1的方法中基于第一任务数据和第二任务数据来进行隐私计算任务的示例性过程的流程图;
图4示出了根据本公开的实施例的用于执行隐私求交运算的模块的示意图;
图5示出了根据本公开的实施例的隐私计算方法的流程图;
图6示出了根据本公开的实施例的隐私计算装置的示意性框图;
图7示出了根据本公开的实施例的隐私计算装置的示意性框图;
图8A-8B示出了根据本公开的实施例的隐私计算系统的示意图;并且
图9示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。如本文使用的,术语“多个”意指两个或更多,并且术语“基于”应解释为“至少部分地基于”。此外,术语“和/或”以及“……中的至少一个”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
在目前的隐私计算中,为了保证数据安全和防止数据资产流失,通常使用以下方法:首先,一方对自身数据进行加密,并将加密后的数据发送到另一方;然后,将数据对应的密钥通过其他方式(例如,邮件、微信等)发送到另一方,使得另一方对数据进行解密,以进行后续计算。但是,在这种方法中,如果密钥被非法获取,则也无法保障数据安全。
为了解决上述问题,本公开提供了一种隐私计算方法,该方法保障了密钥的安全,进而提高了隐私计算中的数据的安全性。
需要说明的是,本发明实施例提供的隐私计算方法可以应用于多种需要保护数据安全的应用场景。比如,在联合营销中,在不暴露用户个人信息的情况下,不同平台之间可以进行数据融合,优化投放客户群筛选,提升响应率;在反欺诈中,在保障隐私数据安全的前提下,结合互联网和运营商数据的社交关系属性,可准确鉴定关系链条上的欺诈风险;在智慧城市建设中,对保护个人信息安全、企业商业机密安全的前提下,实现跨地域、跨机构、跨部门间的数据的安全融合,提升事务处理效率。需要注意的是,上述提及的应用场景仅是示意性的,本发明实施例在此方面不受任何限制。
在下文关于隐私计算的描述中,将涉及以下术语:
(1)数据节点:在隐私计算中,将其所拥有的数据加密传输到其它参与方的角色。
(2)计算节点:在隐私计算中,接收其它参与方(例如,上文所定义的数据节点)的所拥有的数据以进行计算的角色。
(3)隐私求交运算:是指持有数据的参与方能够计算得到所持有的数据集合的交集部分,而不暴露交集以外的任何数据集合信息。
(4)数据需求方:又称Guest方,为隐私求交运算中拥有较小数据集而将该较小数据集与较大数据集进行匹配的一方;
(5)数据提供方:又称Host方,为隐私求交运算中拥有较大数据集而供数据需求方进行数据匹配的一方;
下面结合附图详细描述本公开的示例性实施例。
根据本公开的实施例,提供了一种隐私计算方法,用于隐私计算任务中的计算节点,该方法包括:获取来自隐私计算任务中的第一数据节点的第一加密数据;基于计算节点的第一计算环境信息,生成密钥获取请求,其中,第一计算环境信息包括隐私计算任务所对应的应用程序信息和验证数据,验证数据为第一加密数据、第二任务数据、或来自隐私计算任务中的第二数据节点的第二加密数据,其中:当验证数据为第一加密数据时,第二任务数据来自计算节点,或者是基于第二加密数据而生成的;当验证数据为第二任务数据时,第二任务数据来自计算节点;并且当验证数据为第二加密数据时,第二任务数据是基于第二加密数据而生成的;向第一数据节点发送密钥获取请求,以使得第一数据节点对计算节点的第一计算环境信息进行第一环境验证,以确定是否发送第一数据节点的第一密钥;响应于接收到来自第一数据节点的第一密钥,使用第一密钥,对第一加密数据进行解密,以得到第一任务数据;以及基于第一任务数据和第二任务数据,进行隐私计算任务,以得到计算结果。
图1示出了出根据本公开的实施例的隐私计算方法100的流程图。方法100由计算节点执行(例如,下文所描述的图8A中的计算节点802和图8B中的计算节点803)。如图1所示,方法100包括:
步骤S101:获取来自隐私计算任务中的第一数据节点的第一加密数据。
步骤S102:基于计算节点的第一计算环境信息,生成密钥获取请求,其中,第一计算环境信息包括隐私计算任务所对应的应用程序信息和验证数据,验证数据为第一加密数据、第二任务数据、或来自隐私计算任务中的第二数据节点的第二加密数据,其中:当验证数据为第一加密数据时,第二任务数据来自计算节点,或者是基于第二加密数据而生成的;当验证数据为第二任务数据时,第二任务数据来自计算节点;并且当验证数据为第二加密数据时,第二任务数据是基于第二加密数据而生成的。
步骤S103:向第一数据节点发送密钥获取请求,以使得第一数据节点对计算节点的第一计算环境信息进行第一环境验证,以确定是否发送第一数据节点的第一密钥。
步骤S104:响应于接收到来自第一数据节点的第一密钥,使用第一密钥,对第一加密数据进行解密,以得到第一任务数据。
步骤S105:基于第一任务数据和第二任务数据,进行隐私计算任务,以得到计算结果。
根据本公开的实施例,计算节点需要在通过第一数据节点对其第一计算环境信息进行的验证后,才能获取来自第一数据节点的第一密钥,即,仅在计算节点的隐私计算任务所对应的应用程序和验证数据均被验证为可信的情况下,计算节点才能获取用于对加密数据进行解密的密钥,也才能获取隐私计算任务中的第二任务数据。
由此可见,在本公开的实施例中,一方面,通过对隐私计算任务所对应的应用程序和验证数据均进行验证,确保了应用程序和验证数据均为可信的而非恶意伪造的(例如,人为恶意攻击计算节点,在计算节点上植入恶意程序,伪装成用于执行隐私计算任务的应用程序以试图骗取来自数据节点的数据),确保了密钥不会被非法获取,保证了数据的安全性;另一方面,由于密钥获取请求是基于应用程序和验证数据共同生成的,还确保了应用程序与验证数据之间的一致性,防止计算节点伪造数据或在原始数据中加入其它数据来恶意操纵隐私计算结果(例如,在隐私求交运算中,计算节点可能为数据提供方,而有可能在未经数据需求方同意的情况下,对数据进行伪造或提供范围更大的数据来提高数据匹配率)。
以下详细描述方法100的各个步骤。
根据一些实施例,计算节点为具有可信执行环境(TEE)的硬件平台,诸如,Intel的SGX,ARM的TrustZone、AMD的SEV等。根据一些实施例,计算节点在硬件中为敏感数据单独分配一块隔离的内存(例如,SGX中的Enclave),所有敏感数据均在这块内存中展开计算,并且除了经过授权的接口外,硬件中的其他部分不能访问这块隔离内存中的信息,以使得数据在该环境中由可信程序进行处理,以此来保护程序代码或者数据不被操作系统或者其他应用程序窃取或篡改。
根据一些实施例,数据节点可以是不具有TEE而仅具有验证功能的硬件平台,例如,数据节点具有在本地网络中缓存待验证信息的服务器(例如,PCK证书缓存服务器PCCS),或者数据节点可以从云端服务器获取待认证信息。
根据一些实施例,隐私计算任务所对应的应用程序信息为计算节点中用于执行该隐私计算任务的应用程序的信息,例如,应用程序的版本号、代码、被分配的内存等。
根据一些实施例,隐私计算任务可以由包括第一数据节点和计算节点的两端系统(如下文参考图8A所描述的系统800)来执行,其中,作为一个数据来源方的第一数据节点提供基于第一任务数据生成的第一加密数据,而作为另一个数据来源方的计算节点提供第二任务数据。根据另一些实施例,隐私计算任务可以由包括第一数据节点、第二数据节点和计算节点的三端系统(如下文参考图8B所描述的系统800)来执行,其中,作为一个数据来源方的第一数据节点提供基于第一任务数据生成的第一加密数据,而作为另一个数据来源方的第二数据节点提供基于第二任务数据生成的第二加密数据。
根据一些实施例,验证数据为来自第一数据节点的第一加密数据,其中,当隐私计算任务由包括第一数据节点和计算节点的两端系统执行时,第二任务数据来自计算节点,例如,隐私计算任务包括隐私求交运算,第一数据节点为隐私求交运算中的数据提供方,计算节点为隐私求交运算中的数据需求方。
根据一些实施例,验证数据为来自第一数据节点的第一加密数据,其中,当隐私计算任务由包括第一数据节点、第二数据节点和计算节点的三端系统执行时,第二任务数据是基于来自隐私计算任务中的第二数据节点的第二加密数据而生成的(例如,计算节点使用来自第二数据节点的第二密钥,对第二加密数据进行解密而生成第二任务数据),例如,隐私计算任务包括隐私求交运算,第一数据节点为隐私求交运算中的数据提供方,第二数据节点为隐私求交运算中的数据需求方。
根据一些实施例,验证数据为来自第一数据节点的第二加密数据,其中,第二任务数据是基于来自隐私计算任务中的第二数据节点的第二加密数据而生成的(例如,计算节点使用来自第二数据节点的第二密钥,对第二加密数据进行解密而生成第二任务数据),例如,隐私计算任务包括隐私求交运算,第一数据节点为隐私求交运算中的数据需求方,第二数据节点为隐私求交运算中的数据提供方。
根据一些实施例,验证数据为来自第一数据节点的第二任务数据,其中,当隐私计算任务由包括第一数据节点和计算节点的两端系统执行时,第二任务数据来自计算节点,例如,隐私计算任务包括隐私求交运算,第一数据节点为隐私求交运算中的数据需求方,计算节点为隐私求交运算中的数据提供方。
根据一些实施例,基于计算节点的第一计算环境信息,生成密钥获取请求可以是:在SGX环境中,基于该隐私计算任务所对应的程序的当前标识值,生成密钥获取请求,其中,该当前标示值可以是在隐私计算任务所对应的应用程序的二进制代码最近一次进行更改时而生成的,以用于标识在该应用程序的隔离内存中加载的代码和数据。例如,在SGX环境中,该标识值可以为MR Enclave(又称为,MRENCLAVE),其是在Enclave中运行的代码的哈希,可以用于标识在Enclave内存中加载的代码和数据。
根据一些实施例,第一计算环境信息还包括计算节点的身份信息,例如,SGX环境中的SGX主机硬件信息。根据一些实施例,可以基于隐私计算任务所对应的应用程序信息、第一任务数据和计算节点的身份信息三者生成该隐私计算任务所对应的程序的当前标识值,以用于验证。
根据一些实施例,第一数据节点首先验证密钥获取请求是否来自指定的节点,并且,在确认密钥获取请求来自指定的节点后,再对密钥获取请求中所携带的第一计算环境信息(例如,上文所提到的标示值)进行验证,即,首先完成了应用程序所属平台的身份证明的验证,再完成对应用程序和第一任务数据的可信度验证和应用程序与第一任务数据之间的一致性的验证。
根据一些实施例,如本公开的方法还包括:在生成密钥获取请求之前,响应于隐私计算任务所对应的应用程序通过编译,向第一数据节点发送计算节点的第一计算环境信息,以使得第一数据节点后续可以使用此处获取的第一计算环境信息来进行第一环境验证。根据一些实施例,在隐私计算任务所对应的应用程序每次通过编译后,向第一数据节点发送计算节点的第一计算环境信息。
根据另一些实施例,如本公开所述的方法还包括:在生成密钥获取请求之前,响应于隐私计算任务所对应的应用程序通过编译,向可信的云端服务器发送计算节点的第一计算环境信息,以使得第一数据节点后续可以从云端服务器获取第一计算环境信息,以作为第一环境验证的基准值。
根据一些实施例,获取来自隐私计算任务中的第一数据节点的第一加密数据包括:经由计算节点与第一数据节点之间的第一通道,获取来自第一数据节点的第一加密数据,其中,向第一数据节点发送密钥获取请求包括:经由计算节点与第一数据节点之间的第二通道,向第一数据节点发送密钥获取请求,并且其中,响应于接收到来自第一数据节点的第一密钥,对第一加密数据进行解密包括:响应于经由第二通道接收到来自第一数据节点的第一密钥,对第一加密数据进行解密。
根据一些实施例,在第一数据节点和计算节点之间至少设置两条数据传输通道,其中,一条数据通道用于传输加密数据,而另一条用于传输密钥获取请求和密钥。通过这种为加密数据和密钥传输分别设置传输通道的方式,进一步提高了加密数据和密钥传输的可靠性,降低了两者同时被获取的风险,也提高了数据读取效率(例如,第一数据节点将其加密数据上传到云安全基础设施中的自己的数据半岛中,供计算节点进行读取,而通过安全传输层协议远程接收密钥获取请求和发送密钥)。
根据一些实施例,验证数据为第二加密数据或第二任务数据,并且,如本公开所述的方法,还包括:使用第一密钥,对计算结果进行加密,以生成加密结果;以及经由第一通道,向第一数据节点发送加密结果。例如,计算节点将加密结果存储在TEE环境中,而第一数据节点通过数据半岛获取该加密结果,并进行解密。
根据一些实施例,计算节点可以使用除上述从第一数据节点获取的密钥之外的密钥对计算结果进行加密,其中,对计算结果进行加密的密钥是第一数据节点可以获知的。例如,计算节点基于从第一数据节点获取的密钥生成用于加密计算结果的密钥,而生成规则是双方事先约定的,或者,计算节点在生成加密结果后,经由第二通道,向第一数据节点发送用于加密计算结果的密钥。
根据一些实施例,如本公开所述的方法,还包括:在获取来自隐私计算任务中的第一数据节点的第一加密数据之前,响应于隐私计算任务被触发,计算节点对第二计算环境信息进行第二环境验证,其中,第二计算环境信息包括计算节点的身份信息和隐私计算任务所对应的应用程序信息;以及响应于计算节点的第二计算环境信息通过第二环境验证,启动隐私计算任务所对应的应用程序,其中,获取来自隐私计算任务中的第一数据节点的第一加密数据包括:响应于应用程序已启动,获取来自隐私计算任务中的第一数据节点的第一加密数据。
图2示出了根据本公开的实施例的隐私计算方法200的流程图。方法200由计算节点执行(例如,下文所描述的图8A中的计算节点802和图8B中的计算节点803)。如图2所示,方法200包括:
步骤S201:响应于隐私计算任务被触发,计算节点对第二计算环境信息进行第二环境验证,其中,第二计算环境信息包括计算节点的身份信息和隐私计算任务所对应的应用程序信息。
根据一些实施例,根据任务发起方发起的任务,触发隐私计算任务。例如,报告模块可以接收来自用户的任务,将用户提交的任务存储到数据库,并且触发隐私计算任务。
根据一些实施例,可以在位于计算节点本地的验证模块进行第二环境验证,以验证计算节点的身份信息和隐私计算任务所对应的应用程序信息,其中,验证所使用的基准值可以是存储在计算节点本地的,也可以是存储在云端的。
步骤S202:响应于计算节点的第二计算环境信息通过第二环境验证,启动隐私计算任务所对应的应用程序。
根据一些实施例,在通过第二环境验证后,为隐私计算任务对应的应用程序申请隔离内存,并同时启动应用程序。在如本公开所述的实施例中,通过对计算节点自身的计算环境信息(例如,计算节点的身份信息和隐私计算任务所对应的应用程序信息)进行验证,确保仅在计算节点的硬件平台和位于其上的应用程序可信的情况下,才启动应用程序,从而确保了后续隐私计算任务的安全性。
步骤S203:响应于应用程序已启动,获取来自隐私计算任务中的第一数据节点的第一加密数据。
步骤S204:基于第一计算环境信息,生成密钥获取请求。
步骤S205:向第一数据节点发送密钥获取请求,以使得第一数据节点对计算节点的第一计算环境信息进行第一环境验证,以确定是否发送第一数据节点的第一密钥。
步骤S206:响应于接收到来自第一数据节点的第一密钥,对第一加密数据进行解密,以得到第二任务数据。
步骤S207:基于第一任务数据和第二任务数据,进行隐私计算任务,以得到计算结果。
根据一些实施例,可以与参考图1所描述的步骤S102~S105类似地执行步骤S204~S207。
根据一些实施例,验证数据为第二加密数据,并且,方法还包括:获取来自第二数据节点的第二加密数据(例如,计算节点读取第二数据节点已经上传至云安全基础设施中的自己的数据半岛的加密数据);向第二数据节点发送密钥获取请求(例如,经由安全传输层协议),以使得第二数据节点对计算节点的第一计算环境信息进行第一环境验证,以确定是否发送第二数据节点的第二密钥;响应于接收到来自第二数据节点的第二密钥(例如,经由安全传输层协议),使用第二密钥,对第二加密数据进行解密,以得到第二任务数据。
根据一些实施例,上述获取第二加密数据和第二密钥、以及得到第二任务数据的过程可以与上文所描述的获取第一加密数据和第一密钥、以及得到第一任务数据的过程类似。
在如本公开的示例实施例所述的隐私计算任务包括隐私求交运算的情况下,将来自数据需求方(的较小数据集与来自数据提供方的较大数据集进行求交,得到供数据需求方使用的结果。其中,数据提供方的数据是相对较大且更新较少的,而为了后续求交性能考虑,往往提前加载将数据提供方所提供的较大的数据集,因此,使用如本公开所述的隐私计算方法,确保应用程序和数据的可靠性、以及应用程序和数据的一致性,进而提高隐私计算的安全性和结果可信度。
根据一些实施例,隐私计算任务包括隐私求交运算,并且基于第一任务数据和第二任务数据,进行隐私计算任务包括:对于第一任务数据和第二任务数据中的第一求交数据中的多条第一子数据进行排序操作;将排序后的第一求交数据分割为多个第一数据集合;确定多个第一数据集合中的每个第一数据集合的索引参数,其中,索引参数包括起始索引值和结尾索引值,每个第一数据集合的第一条子数据限定该第一数据集合的起始索引值,每个第一数据集合的最后一条子数据限定该第一数据集合的结尾索引值;对于第一任务数据和第二任务数据中的第二求交数据中的多条第二子数据进行排序操作;基于每个第一数据集合的起始索引值和结尾索引值,将排序后的第二求交数据分割为多个第二数据集合;以及对多个第一数据集合和多个第二数据集合并行进行隐私求交运算,其中,对于每个第二数据集合,对该第二数据集合和对应于该第二数据集合的第一数据集合进行隐私求交运算,其中,第一求交数据中的第一子数据的数量大于第二求交子数据中的第二子数据的数量。
图3示出了根据本公开的实施例的在图1的方法100中基于第一任务数据和第二任务数据来进行隐私计算任务的示例性过程(例如,图1中的步骤S105)的流程图。如图3所示,步骤S105包括:
步骤S301:对于第一任务数据和所述第二任务数据中的第一求交数据中的多条第一子数据进行排序操作。
根据一些实施例,可以按照字典顺序,对第一求交数据中的数据进行升序排序或降序排序。
步骤S302:将排序后的第一求交数据分割为多个第一数据集合。
根据一些实施例,可以按照固定集合大小(例如,4G),对排序后的第一求交数据进行分割,其中,可以根据硬件(例如,每个用于进行隐私求交运算的并行计算硬件单元)的算力和存储空间来确定该固定集合的大小。
根据一些实施例,可以在进行分割后,按照字典排序,对多个第一数据集合进行排序,例如,基于每个第一数据集合的第一条数据,对多个第一数据集合进行排序。
步骤S303:确定多个第一数据集合中的每个第一数据集合的索引参数,其中,索引参数包括起始索引值和结尾索引值,每个第一数据集合的第一条子数据限定该第一数据集合的起始索引值,每个第一数据集合的最后一条子数据限定该第一数据集合的结尾索引值。
根据一些实施例,第一数据集合的起始索引值为第一数据集合的第一条子数据,而第一数据集合的结尾索引值为第一条数据集合的最后一条子数据。例如,第一条数据集合的第一条子数据为“a1111”,最后一条子数据为“e2222”,则第一数据集合的起始索引值为“a1111”,第一数据集合的结尾索引值为“e2222”。
根据另一些实施例,第一数据集合的起始索引值为第一数据集合的第一条子数据的前N个字符,第一数据集合的结尾索引值为第一条数据集合的最后一条子数据的前N个字符,其中,N为正整数。例如,第一条数据集合的第一条子数据为“a1111”,最后一条子数据为“e2222”,N=1,则第一数据集合的起始索引值为“a”,第一数据集合的结尾索引值为“e”。
根据另一些实施例,第一数据集合的索引参数还包括在起始索引值和结尾索引值之间的一个或多个间隔索引值。
根据一些实施例,可以从第一数据集合的第一条子数据开始,每间隔预定数量条子数据(例如,10000条),取一条间隔子数据,并根据该间隔子数据确定间隔索引值。例如,当第一数据集合包括40000条数据时,取其中的第10000条、第20000条和第30000条子数据作为间隔子数据,以确定它们对应的间隔索引值。根据一些实施例,间隔子数据对应的间隔索引值为该间隔子数据自身,或该间隔子数据的前N个字符。
步骤S304:对于所述第一任务数据和所述第二任务数据中的第二求交数据中的多条第二子数据进行排序操作。
根据一些实施例,采用相同的排序规则,对第一求交数据和第二求交数据中的数据进行排序。
步骤S305:基于每个第一数据集合的起始索引值和结尾索引值,将排序后的第二任务数据分割为多个第二数据集合。
根据一些实施例,对于每个第一数据集合,将第二任务数据中落入由起始索引值和结尾索引值所限定的索引范围的子数据进行分割,形成对应于该第一数据集合的第二数据集合,因此,第一数据集合和第二数据集合为一一对应的,且互相对应的第一数据集合和第二数据集合中的子数据属于同一索引范围。例如,第一数据集合的起始索引值和结尾索引值分别为“a”和“e”,第二任务数据为{b2222,c3333,d4444,f5555,g6666},则索引范围为a-e,且对应于该第一数据集合的第二数据集合为{b2222,c3333,d4444}。
步骤S306:对多个第一数据集合和多个第二数据集合并行进行隐私求交运算,其中,对于每个第二数据集合,对该第二数据集合和对应于该第二数据集合的第一数据集合进行隐私求交运算。
根据一些实施例,如参考步骤S305所描述的,对应于该第二数据集合的第一数据集合为第二数据集合按照其起始索引值和结尾索引值进行分割的第一数据集合。
根据一些实施例,可以使用多个运算单元进行并行运算,其中,每个运算单元对一个第一数据集合和该第一数据集合所对应的第二数据集合进行隐私求交运算。
根据一些实施例,第一求交数据中的第一子数据的数量大于第二求交子数据中的第二子数据的数量,例如,第一求交数据为数据提供方所提供的数据,而第二求交数据为数据需求方所提供的数据。
由此可见,在如本公开所述的方法中,由于将第一求交数据和第二求交数据分别划分为数据量更小且数据范围对应的数据集合,且进行并行运算,提高了隐私求交运算的效率。
根据一些实施例,对该第二数据集合和对应于该第二数据集合的第一数据集合进行隐私求交运算包括:对于该第二数据集合中的每条第二子数据,按照所对应的第一数据集合中的第一子数据的顺序,依次将该条第二子数据与所对应的第一数据集合中的第一子数据进行比较,其中,所对应的第一数据集合中的与该条第二子数据相同的第一子数据为匹配数据,其中,计算结果为匹配数据的集合。
根据一些实施例,排序操作为升序排序操作,并且,按照所对应的第一数据集合中的第一子数据的顺序,依次将该条第二子数据与所对应的第一数据集合中的第一子数据进行比较包括:
响应于该条第二子数据大于正在进行比较的第一子数据,并且,所对应的第一数据集合中存在尚未比较的第一子数据,将该条第二子数据与所对应的第一数据集合中的下一条子数据进行比较;
响应于该条第二子数据大于正在进行比较的第一子数据,并且,所对应的第一数据集合中不存在尚未比较的第一子数据,或者,该条第二子数据小于正在进行比较的第一子数据,结束该条第二子数据与所对应的第一数据集合中的各条第一子数据的比较;以及
响应于该条第二子数据等于正在进行比较的第一子数据,确定该条第二子数据为匹配数据,并且,结束该条第二子数据与所对应的第一数据集合中的各条第一子数据的比较。
实现上述比较过程的示例性伪代码如下:
根据一些实施例,排序操作为降序排序操作,并且,按照所对应的第一数据集合中的第一子数据的顺序,依次将该条第二子数据与所对应的第一数据集合中的第一子数据进行比较,包括:
响应于该条第二子数据小于正在进行比较的第一子数据,并且,所对应的第一数据集合中存在尚未比较的第一子数据,将该条第二子数据与所对应的第一数据集合中的下一条子数据进行比较;
响应于该条第二子数据小于正在进行比较的第一子数据,并且,所对应的第一数据集合中不存在尚未比较的第一子数据,或者,该条第二子数据大于正在进行比较的第一子数据,结束该条第二子数据与所对应的第一数据集合中的各条第一子数据的比较;以及
响应于该条第二子数据等于正在进行比较的第一子数据,确定该条第二子数据为匹配数据,并且,结束该条第二子数据与所对应的第一数据集合中的各条第一子数据的比较。
根据一些实施例,索引参数还包括在起始索引值和结尾索引值之间的一个或多个间隔索引值,并且,对该第二数据集合和对应于该第二数据集合的第一数据集合进行隐私求交运算包括:对于该第二数据集合中的每条第二子数据,基于所对应的第一数据集合的间隔索引值,确定所对应的第一数据集合中的匹配子集合;按照所对应的第一数据集合中的第一子数据的顺序,依次将该条第二子数据与匹配子集合的第一子数据进行比较,其中,所对应的第一数据集合中的与该条第二子数据相同的第一子数据为匹配数据,其中,计算结果为匹配数据的集合。
根据一些实施例,将该条第二子数据和多个间隔索引值进行比较,以确定所对应的第一数据集合中的匹配子集合。根据一些实施例,当间隔索引值为该间隔子数据自身时,则将该条第二子数据和多个间隔索引值进行比较包括:分别将第二子数据和各条间隔索引值进行比较。根据另一些实施例,当间隔索引值为该间隔子数据的前N个字符时,则将该条第二子数据和多个间隔索引值进行比较包括:分别将第二子数据的前N个字符和各条间隔索引值进行比较。
根据一些实施例,当该条第二子数据小于或等于第一间隔索引值,则匹配子集合为第一数据集合中落入由起始索引值和第一间隔索引值所限定的范围的第一子数据的集合;当该条第二子数据大于第(M-1)个间隔索引值且小于等于第M个间隔索引值(M为正整数),则匹配子集合为第一数据集合中落入由第(M-1)个间隔索引值和第M个间隔索引值所限定的范围的第一子数据的集合;当该条第二子数据大于最后一条间隔索引值,则匹配子集合为第一数据集合中落入由最后一条间隔索引值和结尾索引值所限定的范围的第一子数据的集合。
根据一些实施例,排序操作为升序排序操作,并且,按照所对应的第一数据集合中的第一子数据的顺序,依次将该条第二子数据与匹配子集合的第一子数据进行比较包括:
响应于该条第二子数据大于正在进行比较的第一子数据,并且,匹配子集合中存在尚未比较的第一子数据,将该条第二子数据与匹配子集合中的下一条子数据进行比较;
响应于该条第二子数据大于正在进行比较的第一子数据,并且,匹配子集合中不存在尚未比较的第一子数据,或者,该条第二子数据小于正在进行比较的第一子数据,结束该条第二子数据与匹配子集合中的各条第一子数据的比较;
以及响应于该条第二子数据等于正在进行比较的第一子数据,确定该条第二子数据为匹配数据,并且,结束该条第二子数据与匹配子集合中的各条第一子数据的比较。
根据另一些实施例,排序操作为降序排序操作,并且,按照所对应的第一数据集合中的第一子数据的顺序,依次将该条第二子数据与匹配子集合的第一子数据进行比较包括:
响应于该条第二子数据小于正在进行比较的第一子数据,并且,匹配子集合中存在尚未比较的第一子数据,将该条第二子数据与匹配子集合中的下一条子数据进行比较;
响应于该条第二子数据小于正在进行比较的第一子数据,并且,匹配子集合中不存在尚未比较的第一子数据,或者,该条第二子数据大于正在进行比较的第一子数据,结束该条第二子数据与匹配子集合中的各条第一子数据的比较;以及
响应于该条第二子数据等于正在进行比较的第一子数据,确定该条第二子数据为匹配数据,并且,结束该条第二子数据与匹配子集合中的各条第一子数据的比较。
实现上述比较过程的示例性伪代码如下:
图4示出了根据本公开的实施例的用于执行隐私求交运算的模块400的示意图。根据一些实施例,模块400可以位于计算节点(例如,下文所描述的图8A中的计算节点802和图8B中的计算节点803)中。
如图4所示,模块400包括索引管理器401、度量管理器402、任务管理器403和监控管理器404。
索引管理器401用于根据索引文件430将来自第一任务数据410和第二任务数据420的数据分配到任务管理器403中的任务处理器403a-403c中。根据一些实施例,索引管理器401读取索引文件430,并根据索引文件430中的索引值将第一任务数据410中的和第二任务数据420中的对应数据集合输出到同一任务处理器,从而进行并行运算。根据另一些实施例,索引管理器401还将索引文件中的相应索引值(例如,上文所提到的间隔索引值)分别输出到任务处理器403a-403c,以使得任务处理器403a-403c可以根据索引值确定第一任务数据410中的第一数据集合中的匹配子集合。
任务处理器403中包括第一任务处理器403a、第二任务处理器403b和第三任务处理器403c,其中,任务处理器403a-403c中的每一个可以被配置为执行如上面参考图3所描述的隐私求交运算,而任务处理器403a-403c的输出汇总形成任务输出440。应当理解,图中所示出的任务处理器的数量仅是示意性的,并且任务处理器可以更多或者更少。
度量管理器402统计任务管理器403中所匹配到的子数据的数量,作为度量输出450。监控管理器404用于监控任务管理403的任务处理状态。
根据本公开的实施例,提供了一种隐私计算方法,用于隐私计算任务中的第一数据节点,方法包括:使用第一密钥对第一任务数据进行加密,以生成第一加密数据;向隐私计算任务中的计算节点发送第一加密数据;响应于接收到来自计算节点的密钥获取请求,对计算节点的第一计算环境信息进行第一环境验证,其中,第一计算环境信息包括隐私计算任务所对应的应用程序信息和验证数据,验证数据为第一加密数据、第二任务数据、或来自隐私计算任务中的第二数据节点的第二加密数据,其中:当验证数据为第一加密数据时,第二任务数据来自计算节点,或者是基于第二加密数据而生成的;当验证数据为第二任务数据时,第二任务数据来自计算节点;并且当验证数据为第二加密数据时,第二任务数据是基于第二加密数据而生成的;以及响应于第一计算环境信息通过第一环境验证,向计算节点发送第一密钥,以使得计算节点对第一加密数据进行解密,以基于第一任务数据和第二任务数据,进行隐私计算任务。图5示出了出根据本公开的实施例的隐私计算方法500的流程图。方法500由数据节点执行(例如,下文所描述的图8A中的数据节点801和图8B中的第一数据节点801)。如图5所示,方法500包括:
步骤S501:使用第一密钥对第一任务数据进行加密,以生成第一加密数据;
步骤S502:向隐私计算任务中的计算节点发送第一加密数据;
步骤S503:响应于接收到来自计算节点的密钥获取请求,对计算节点的第一计算环境信息进行第一环境验证,其中,第一计算环境信息包括隐私计算任务所对应的应用程序信息和验证数据,验证数据为第一加密数据、第二任务数据、或来自隐私计算任务中的第二数据节点的第二加密数据,其中:当验证数据为第一加密数据时,第二任务数据来自计算节点,或者是基于第二加密数据而生成的;当验证数据为第二任务数据时,第二任务数据来自计算节点;并且当验证数据为第二加密数据时,第二任务数据是基于第二加密数据而生成的;以及
步骤S504:响应于第一计算环境信息通过第一环境验证,向计算节点发送第一密钥,以使得计算节点对第一加密数据进行解密,以基于第一任务数据和第二任务数据,进行隐私计算任务。
根据一些实施例,方法500中的各要素(例如,计算节点、数据节点、第一任务数据、第二任务数据、第一计算环境信息等)可以与上文所描述(例如,参考图1-4所描述的)的类似。
根据一些实施例,第一计算环境信息还包括计算节点的身份信息。
根据一些实施例,向隐私计算任务中的计算节点发送第一加密数据包括:经由计算节点与第一数据节点之间的第一通道,向计算节点发送第一加密数据,其中,响应于接收到来自计算节点的密钥获取请求,对计算节点的第一计算环境信息进行第一环境验证包括:响应于经由计算节点与第一数据节点之间的第二通道接收到密钥获取请求,对第一计算环境信息进行第一环境验证,并且其中,向计算节点发送第一密钥包括:经由第二通道,向计算节点发送第一密钥。
根据一些实施例,验证数据为第二加密数据或第二任务数据,并且,如本公开所述的方法,还包括:经由第一通道,接收来自计算节点的加密结果;以及使用第一密钥,对加密结果进行解密,以得到隐私计算任务的计算结果。
根据一些实施例,验证数据为第二加密数据,并且隐私计算任务包括隐私求交运算,第一数据节点为隐私求交运算中的数据需求方,第二数据节点为隐私求交运算中的数据提供方。
根据一些实施例,验证数据为第二任务数据,并且隐私计算任务包括隐私求交运算,第一数据节点为隐私求交运算中的数据需求方,计算节点为隐私求交运算中的数据提供方。
根据一些实施例,验证数据为第一加密数据,并且隐私计算任务包括隐私求交运算,第一数据节点为隐私求交运算中的数据提供方,计算节点为隐私求交运算中的数据需求方。
根据一些实施例,验证数据为第一加密数据,并且隐私计算任务包括隐私求交运算,第一数据节点为隐私求交运算中的数据提供方,第二数据节点为隐私求交运算中的数据需求方。
图6示出了根据本公开的实施例的隐私计算装置600的示意性框图。装置600用于隐私计算任务中的计算节点(例如,下文所描述的图8A中的计算节点802和图8B中的计算节点803)。
装置600包括:数据获取模块601,被配置为:获取来自隐私计算任务中的第一数据节点的第一加密数据;请求生成模块602,被配置为:基于计算节点的第一计算环境信息,生成密钥获取请求,其中,第一计算环境信息包括隐私计算任务所对应的应用程序信息和验证数据,验证数据为第一加密数据、第二任务数据、或来自隐私计算任务中的第二数据节点的第二加密数据,其中:当验证数据为第一加密数据时,第二任务数据来自计算节点,或者是基于第二加密数据而生成的;当验证数据为第二任务数据时,第二任务数据来自计算节点;并且当验证数据为第二加密数据时,第二任务数据是基于第二加密数据而生成的;请求发送模块603,被配置为:向第一数据节点发送密钥获取请求,以使得第一数据节点对计算节点的第一计算环境信息进行第一环境验证,以确定是否发送第一数据节点的第一密钥;解密模块604,被配置为:响应于接收到来自第一数据节点的第一密钥,对第一加密数据进行解密,以得到第一任务数据;以及计算模块605,被配置为:基于第一任务数据和第二任务数据,进行隐私计算任务,以得到计算结果。
应当理解,图6中所示装置600的各个模块可以与参考图1描述的方法100中的各个步骤相对应。由此,上面针对方法100描述的操作、特征和优点同样适用于装置600及其包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。本文讨论的特定模块执行动作包括该特定模块本身执行该动作,或者替换地该特定模块调用或以其他方式访问执行该动作(或结合该特定模块一起执行该动作)的另一个组件或模块。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。例如,上面描述的解密模块604/计算模块605在一些实施例中可以组合成单个模块。
还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图6描述的各个模块可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,数据获取模块601、请求生成模块602、请求发送模块603、解密模块604和计算模块605中的一个或多个可以一起被实现在片上系统(Systemon Chip,SoC)中。SoC可以包括集成电路芯片(其包括处理器(例如,中央处理单元(CentralProcessing Unit,CPU)、微控制器、微处理器、数字信号处理器(Digital SignalProcessor,DSP)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
图7示出了根据本公开的实施例的隐私计算装置700的示意性框图。装置700用于隐私计算任务中的数据节点(例如,下文所描述的图8A中的数据节点801和图8B中的第一数据节点801)。
装置700包括:加密模块701,被配置为:使用第一密钥对第一任务数据进行加密,以生成第一加密数据;数据发送模块702,被配置为:向隐私计算任务中的计算节点发送第一加密数据;第一验证模块703,被配置为:响应于接收到来自计算节点的密钥获取请求,对计算节点的第一计算环境信息进行第一环境验证,其中,第一计算环境信息包括隐私计算任务所对应的应用程序信息和验证数据,验证数据为第一加密数据、第二任务数据、或来自隐私计算任务中的第二数据节点的第二加密数据,其中:当验证数据为第一加密数据时,第二任务数据来自计算节点,或者是基于第二加密数据而生成的;当验证数据为第二任务数据时,第二任务数据来自计算节点;并且当验证数据为第二加密数据时,第二任务数据是基于第二加密数据而生成的;以及密钥发送模块704,被配置为:响应于第一计算环境信息通过第一环境验证,向计算节点发送第一密钥,以使得计算节点对第一加密数据进行解密,以基于第一任务数据和第二任务数据,进行隐私计算任务。应当理解,图7中所示装置700的各个模块可以与参考图5描述的方法500中的各个步骤相对应。由此,上面针对方法500描述的操作、特征和优点同样适用于装置700及其包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。本文讨论的特定模块执行动作包括该特定模块本身执行该动作,或者替换地该特定模块调用或以其他方式访问执行该动作(或结合该特定模块一起执行该动作)的另一个组件或模块。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。例如,上面描述的第一验证模块703/密钥发送模块704在一些实施例中可以组合成单个模块。
还应当理解,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图7描述的各个模块可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,加密模块701、数据发送模块702、第一验证模块703和密钥发送模块704中的一个或多个可以一起被实现在片上系统(System on Chip,SoC)中。SoC可以包括集成电路芯片(其包括处理器(例如,中央处理单元(CentralProcessing Unit,CPU)、微控制器、微处理器、数字信号处理器(Digital SignalProcessor,DSP)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
根据本公开的又另一方面,提供了一种隐私计算系统,包括:计算节点,该计算节点包括如本公开所述的隐私计算装置;第一数据节点,该第一数据节点包括本公开所述的隐私计算装置,其中,第二任务数据来自计算节点。
如图8A所示,隐私计算系统800包括数据节点801和计算节点802,其中,数据节点801和计算节点802之间存在数据传输。根据一些实施例,数据节点801可以包括如上所述的隐私计算装置700,而计算节点802可以包括如上所述的隐私计算装置600。
根据一些实施例,作为一个数据来源方的数据节点提供基于第一任务数据生成的第一加密数据,而作为另一个数据来源方的计算节点提供第二任务数据。
根据本公开的又另一方面,提供了一种隐私计算系统,包括:计算节点,计算节点包括如本公开所述的隐私计算装置;第一数据节点,第一数据节点包括如本公开所述的隐私计算装置;第二数据节点,其中,第二任务数据是由计算节点基于来自第二数据节点的第二加密数据而生成的。
如图8B所示,隐私计算系统800包括第一数据节点801、第二数据节点802和计算节点803,其中,第一数据节点801和计算节点803之间存在数据传输,第二数据节点802和计算节点803之间存在数据传输。根据一些实施例,第一数据节点801可以包括如上所述的隐私计算装置700,而计算节点803可以包括如上所述的隐私计算装置600。根据一些实施例,第二数据节点802也可以包括如上所述的隐私计算装置700。
根据一些实施例,作为一个数据来源方的第一数据节点提供基于第一任务数据生成的第一加密数据,作为另一个数据来源方的第二数据节点提供基于第二任务数据生成的第二加密数据,计算节点分别对第一加密数据和第二加密数据进行解密,以获得用于进行隐私计算任务的第一任务数据和第二任务数据。
根据本公开的一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上文描述的任一方法实施例的步骤,例如方法100、200、500及其各种变型。
根据本公开的一方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上文描述的任一方法实施例的步骤,例如方法100、200、500及其各种变型。
根据本公开的一方面,提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现上文描述的任一方法实施例的步骤,例如方法100、200、500及其各种变型。
图9示出了可以被用来实施本文所描述的方法的电子设备900的示例配置。举例来说,上述隐私计算装置600或700也可以全部或至少部分地由电子设备900或类似设备或系统实现。应当理解,电子设备900的组件可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。
电子设备900可以包括(可能经由一个或多个接口)与总线902连接或与总线902通信的元件。例如,电子设备900可以包括总线902、一个或多个处理器904、一个或多个输入设备906以及一个或多个输出设备908。一个或多个处理器904可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。输入设备906可以是能向电子设备900输入信息的任何类型的设备,并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或遥控器。输出设备908可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。电子设备900还可以包括非暂态存储设备910或者与非暂态存储设备910连接,非暂态存储设备可以是非暂态的并且可以实现数据存储的任何存储设备,并且可以包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁介质,光盘或任何其他光学介质、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、高速缓冲存储器和/或任何其他存储器芯片或盒、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。非暂态存储设备910可以从接口拆卸。非暂态存储设备910可以具有用于实现上述方法和步骤的数据/程序(包括指令)/代码。电子设备900还可以包括通信设备912。通信设备912可以是使得能够与外部设备和/或与网络通信的任何类型的设备或系统,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙TM设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
电子设备900还可以包括工作存储器914,其可以是可以存储对处理器904的工作有用的程序(包括指令)和/或数据的任何类型的工作存储器,并且可以包括但不限于随机存取存储器和/或只读存储器设备。
软件要素(程序)可以位于工作存储器914中,包括但不限于操作系统916、一个或多个应用程序918、驱动程序和/或其他数据和代码。用于执行上述方法和步骤的指令可以被包括在一个或多个应用程序918中,并且上述隐私计算装置600的数据获取模块601、请求生成模块602、请求发送模块603、解密模块604和计算模块605、以及隐私计算装置700的加密模块701、数据发送模块702、第一验证模块703和密钥发送模块704可以通过由处理器904读取和执行一个或多个应用程序918的指令来实现。软件要素(程序)的指令的可执行代码或源代码可以存储在非暂态计算机可读存储介质(例如上述存储设备910)中,并且在执行时可以被存入工作存储器914中(可能被编译和/或安装)。软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现特定元件。例如,所公开的方法和设备中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C++)对硬件(例如,包括现场可编程门阵列(Field Programmable Gate Array,FPGA)和/或可编程逻辑阵列(Programmable LogicArray,PLA)的可编程逻辑电路)进行编程来实现。
为了上面的详细讨论的目的,参考分布式计算环境描述了本公开的实施例;但是,本文中描述的分布式计算环境仅仅是示例性的。组件可以被配置用于执行实施例的新颖方面,其中术语“被配置用于”可以是指被“被编程为”使用代码执行特定任务或实现特定抽象数据类型。此外,尽管本公开的实施例通常可以涉及分布式计算环境,但是应当理解,所描述的技术可以扩展到其他实现上下文。
虽然在附图和前面的描述中已经详细地说明和描述了本公开,但是这样的说明和描述应当被认为是说明性的和示意性的,而非限制性的;本公开不限于所公开的实施例。通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在权利要求书中,词语“包括”不排除未列出的其他元件或步骤,并且词语“一”或“一个”不排除多个。在相互不同的从属权利要求中记载了某些措施的仅有事实并不表明这些措施的组合不能用来获益。
Claims (29)
1.一种隐私计算方法,用于隐私计算任务中的计算节点,所述方法包括:
获取来自所述隐私计算任务中的第一数据节点的第一加密数据;
基于所述计算节点的第一计算环境信息,生成密钥获取请求,其中,所述第一计算环境信息包括所述隐私计算任务所对应的应用程序信息和验证数据,所述验证数据为所述第一加密数据、第二任务数据、或来自所述隐私计算任务中的第二数据节点的第二加密数据,其中:
当所述验证数据为所述第一加密数据时,所述第二任务数据来自所述计算节点,或者是基于所述第二加密数据而生成的;
当所述验证数据为所述第二任务数据时,所述第二任务数据来自所述计算节点;并且
当所述验证数据为所述第二加密数据时,所述第二任务数据是基于所述第二加密数据而生成的;
向所述第一数据节点发送所述密钥获取请求,以使得所述第一数据节点对所述计算节点的第一计算环境信息进行第一环境验证,以确定是否发送所述第一数据节点的第一密钥;
响应于接收到来自所述第一数据节点的第一密钥,使用所述第一密钥,对所述第一加密数据进行解密,以得到第一任务数据;以及
基于所述第一任务数据和所述第二任务数据,进行所述隐私计算任务,以得到计算结果。
2.如权利要求1所述的方法,其中,所述第一计算环境信息还包括所述计算节点的身份信息。
3.如权利要求1-2中任一项所述的方法,还包括:
在所述生成密钥获取请求之前,响应于所述隐私计算任务所对应的应用程序通过编译,向所述第一数据节点发送所述计算节点的第一计算环境信息。
4.如权利要求1-2中任一项所述的方法,其中,所述获取来自所述隐私计算任务中的第一数据节点的第一加密数据包括:
经由所述计算节点与所述第一数据节点之间的第一通道,获取来自所述第一数据节点的第一加密数据,
其中,所述向所述第一数据节点发送所述密钥获取请求包括:
经由所述计算节点与所述第一数据节点之间的第二通道,向所述第一数据节点发送密钥获取请求,并且,
其中,所述响应于接收到来自所述第一数据节点的第一密钥,对所述第一加密数据进行解密包括:
响应于经由所述第二通道接收到来自所述第一数据节点的第一密钥,对所述第一加密数据进行解密。
5.如权利要求4所述的方法,其中,所述验证数据为所述第二加密数据或所述第二任务数据,并且,所述方法还包括:
使用所述第一密钥,对所述计算结果进行加密,以生成加密结果;以及
经由所述第一通道,向所述第一数据节点发送所述加密结果。
6.如权利要求1-2中任一项所述的方法,其中,所述验证数据为所述第二加密数据,并且,所述方法还包括:
获取来自所述第二数据节点的第二加密数据;
向所述第二数据节点发送所述密钥获取请求,以使得所述第二数据节点对所述计算节点的第一计算环境信息进行所述第一环境验证,以确定是否发送所述第二数据节点的第二密钥;
响应于接收到来自所述第二数据节点的第二密钥,使用所述第二密钥,对所述第二加密数据进行解密,以得到第二任务数据。
7.如权利要求1-2中任一项所述的方法,还包括:
在所述获取来自所述隐私计算任务中的第一数据节点的第一加密数据之前,响应于所述隐私计算任务被触发,所述计算节点对第二计算环境信息进行第二环境验证,其中,所述第二计算环境信息包括所述计算节点的身份信息和所述隐私计算任务所对应的应用程序信息;以及
响应于所述计算节点的第二计算环境信息通过所述第二环境验证,启动所述隐私计算任务所对应的应用程序,
其中,所述获取来自所述隐私计算任务中的第一数据节点的第一加密数据包括:
响应于所述应用程序已启动,获取来自所述隐私计算任务中的第一数据节点的第一加密数据。
8.如权利要求1-2中任一项所述的方法,其中,所述验证数据为所述第二加密数据,并且
所述隐私计算任务包括隐私求交运算,所述第一数据节点为所述隐私求交运算中的数据需求方,所述第二数据节点为所述隐私求交运算中的数据提供方。
9.如权利要求1-2中任一项所述的方法,其中,所述验证数据为所述第二任务数据,并且
所述隐私计算任务包括隐私求交运算,所述第一数据节点为所述隐私求交运算中的数据需求方,所述计算节点为所述隐私求交运算中的数据提供方。
10.如权利要求1-2中任一项所述的方法,其中,所述验证数据为所述第一加密数据,并且
所述隐私计算任务包括隐私求交运算,所述第一数据节点为所述隐私求交运算中的数据提供方,所述计算节点为所述隐私求交运算中的数据需求方。
11.如权利要求1-2中任一项所述的方法,其中,所述验证数据为所述第一加密数据,并且
所述隐私计算任务包括隐私求交运算,所述第一数据节点为所述隐私求交运算中的数据提供方,所述第二数据节点为所述隐私求交运算中的数据需求方。
12.如权利要求1-2中任一项所述的方法,其中,所述隐私计算任务包括隐私求交运算,并且所述基于所述第一任务数据和第二任务数据,进行所述隐私计算任务包括:
对于所述第一任务数据和所述第二任务数据中的第一求交数据中的多条第一子数据进行排序操作;
将排序后的所述第一求交数据分割为多个第一数据集合;
确定所述多个第一数据集合中的每个第一数据集合的索引参数,其中,所述索引参数包括起始索引值和结尾索引值,每个第一数据集合的第一条子数据限定该第一数据集合的起始索引值,每个第一数据集合的最后一条子数据限定该第一数据集合的结尾索引值;
对于所述第一任务数据和所述第二任务数据中的第二求交数据中的多条第二子数据进行所述排序操作;
基于每个第一数据集合的起始索引值和结尾索引值,将排序后的所述第二求交数据分割为多个第二数据集合;以及
对所述多个第一数据集合和所述多个第二数据集合并行进行所述隐私求交运算,其中,对于每个第二数据集合,对该第二数据集合和对应于该第二数据集合的第一数据集合进行所述隐私求交运算,
其中,所述第一求交数据中的第一子数据的数量大于所述第二求交子数据中的第二子数据的数量。
13.如权利要求12所述的方法,其中,所述对该第二数据集合和对应于该第二数据集合的第一数据集合进行所述隐私求交运算包括:
对于该第二数据集合中的每条第二子数据,按照所对应的第一数据集合中的第一子数据的顺序,依次将该条第二子数据与所对应的第一数据集合中的第一子数据进行比较,其中,所对应的第一数据集合中的与该条第二子数据相同的第一子数据为匹配数据,
其中,所述计算结果为所述匹配数据的集合。
14.如权利要求12所述的方法,其中,所述索引参数还包括在所述起始索引值和所述结尾索引值之间的一个或多个间隔索引值,并且,所述对该第二数据集合和对应于该第二数据集合的第一数据集合进行所述隐私求交运算包括:
对于该第二数据集合中的每条第二子数据,基于所对应的第一数据集合的间隔索引值,确定所对应的第一数据集合中的匹配子集合;
按照所对应的第一数据集合中的第一子数据的顺序,依次将该条第二子数据与所述匹配子集合的第一子数据进行比较,其中,所对应的第一数据集合中的与该条第二子数据相同的第一子数据为匹配数据,
其中,所述计算结果为所述匹配数据的集合。
15.一种隐私计算方法,用于隐私计算任务中的第一数据节点,所述方法包括:
使用第一密钥对第一任务数据进行加密,以生成第一加密数据;
向所述隐私计算任务中的计算节点发送所述第一加密数据;
响应于接收到来自所述计算节点的密钥获取请求,对所述计算节点的第一计算环境信息进行第一环境验证,其中,所述第一计算环境信息包括所述隐私计算任务所对应的应用程序信息和验证数据,所述验证数据为所述第一加密数据、第二任务数据、或来自所述隐私计算任务中的第二数据节点的第二加密数据,其中:
当所述验证数据为所述第一加密数据时,所述第二任务数据来自所述计算节点,或者是由所述计算节点基于所述第二加密数据而生成的;
当所述验证数据为所述第二任务数据时,所述第二任务数据来自所述计算节点;并且
当所述验证数据为所述第二加密数据时,所述第二任务数据是由所述计算节点基于所述第二加密数据而生成的;以及
响应于所述第一计算环境信息通过所述第一环境验证,向所述计算节点发送所述第一密钥,以使得所述计算节点对所述第一加密数据进行解密,以基于所述第一任务数据和所述第二任务数据,进行所述隐私计算任务。
16.如权利要求15所述的方法,其中,所述第一计算环境信息还包括所述计算节点的身份信息。
17.如权利要求15-16中任一项所述的方法,其中,所述向所述隐私计算任务中的计算节点发送所述第一加密数据包括:
经由所述计算节点与所述第一数据节点之间的第一通道,向所述计算节点发送所述第一加密数据,
其中,所述响应于接收到来自所述计算节点的密钥获取请求,对所述计算节点的第一计算环境信息进行第一环境验证包括:
响应于经由所述计算节点与所述第一数据节点之间的第二通道接收到所述密钥获取请求,对所述第一计算环境信息进行所述第一环境验证,并且
其中,所述向所述计算节点发送所述第一密钥包括:
经由所述第二通道,向所述计算节点发送所述第一密钥。
18.如权利要求17所述的方法,其中,所述验证数据为所述第二加密数据或所述第二任务数据,并且,所述方法还包括:
经由所述第一通道,接收来自所述计算节点的加密结果;以及
使用所述密钥,对所述加密结果进行解密,以得到所述隐私计算任务的计算结果。
19.如权利要求15-16中任一项所述的方法,其中,所述验证数据为所述第二加密数据,并且
所述隐私计算任务包括隐私求交运算,所述第一数据节点为所述隐私求交运算中的数据需求方,所述第二数据节点为所述隐私求交运算中的数据提供方。
20.如权利要求15-16中任一项所述的方法,其中,所述验证数据为所述第二任务数据,并且
所述隐私计算任务包括隐私求交运算,所述第一数据节点为所述隐私求交运算中的数据需求方,所述计算节点为所述隐私求交运算中的数据提供方。
21.如权利要求15-16中任一项所述的方法,其中,所述验证数据为所述第一加密数据,并且
所述隐私计算任务包括隐私求交运算,所述第一数据节点为所述隐私求交运算中的数据提供方,所述计算节点为所述隐私求交运算中的数据需求方。
22.如权利要求15-16中任一项所述的方法,其中,所述验证数据为所述第一加密数据,并且
所述隐私计算任务包括隐私求交运算,所述第一数据节点为所述隐私求交运算中的数据提供方,所述第二数据节点为所述隐私求交运算中的数据需求方。
23.一种隐私计算装置,用于隐私计算任务中的计算节点,所述装置包括:
数据获取模块,被配置为:获取来自所述隐私计算任务中的第一数据节点的第一加密数据;
请求生成模块,被配置为:基于所述计算节点的第一计算环境信息,生成密钥获取请求,其中,所述第一计算环境信息包括所述隐私计算任务所对应的应用程序信息和验证数据,所述验证数据为所述第一加密数据、第二任务数据、或来自所述隐私计算任务中的第二数据节点的第二加密数据,其中:
当所述验证数据为所述第一加密数据时,所述第二任务数据来自所述计算节点,或者是基于所述第二加密数据而生成的;
当所述验证数据为所述第二任务数据时,所述第二任务数据来自所述计算节点;并且
当所述验证数据为所述第二加密数据时,所述第二任务数据是基于所述第二加密数据而生成的;
请求发送模块,被配置为:向所述第一数据节点发送所述密钥获取请求,以使得所述第一数据节点对所述计算节点的第一计算环境信息进行第一环境验证,以确定是否发送所述第一数据节点的第一密钥;
解密模块,被配置为:响应于接收到来自所述第一数据节点的第一密钥,对所述第一加密数据进行解密,以得到第一任务数据;以及
计算模块,被配置为:基于所述第一任务数据和所述第二任务数据,进行所述隐私计算任务,以得到计算结果。
24.一种隐私计算装置,用于隐私计算任务中的第一数据节点,所述装置包括:
加密模块,被配置为:使用第一密钥对第一任务数据进行加密,以生成第一加密数据;
数据发送模块,被配置为:向所述隐私计算任务中的计算节点发送所述第一加密数据;
第一验证模块,被配置为:响应于接收到来自所述计算节点的密钥获取请求,对所述计算节点的第一计算环境信息进行第一环境验证,其中,所述第一计算环境信息包括所述隐私计算任务所对应的应用程序信息和验证数据,所述验证数据为所述第一加密数据、第二任务数据、或来自所述隐私计算任务中的第二数据节点的第二加密数据,其中:
当所述验证数据为所述第一加密数据时,所述第二任务数据来自所述计算节点,或者是由所述计算节点基于所述第二加密数据而生成的;
当所述验证数据为所述第二任务数据时,所述第二任务数据来自所述计算节点;并且
当所述验证数据为所述第二加密数据时,所述第二任务数据是由所述计算节点基于所述第二加密数据而生成的;以及
密钥发送模块,被配置为:响应于所述第一计算环境信息通过所述第一环境验证,向所述计算节点发送所述第一密钥,以使得所述计算节点对所述第一加密数据进行解密,以基于所述第一任务数据和所述第二任务数据,进行所述隐私计算任务。
25.一种隐私计算系统,包括:
计算节点,所述计算节点包括如权利要求23所述的隐私计算装置;
第一数据节点,所述第一数据节点包括如权利要求24所述的隐私计算装置,
其中,所述第二任务数据来自所述计算节点。
26.一种隐私计算系统,包括:
计算节点,所述计算节点包括如权利要求23所述的隐私计算装置;
第一数据节点,所述第一数据节点包括如权利要求24所述的隐私计算装置;
第二数据节点,
其中,所述第二任务数据是由所述计算节点基于来自所述第二数据节点的所述第二加密数据而生成的。
27.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-22中任一项所述的方法。
28.一种非暂态计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-22中任一项所述方法。
29.一种计算机程序产品,包括计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-22中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211635139.4A CN115840954A (zh) | 2022-12-19 | 2022-12-19 | 隐私计算方法、装置、系统以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211635139.4A CN115840954A (zh) | 2022-12-19 | 2022-12-19 | 隐私计算方法、装置、系统以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115840954A true CN115840954A (zh) | 2023-03-24 |
Family
ID=85578832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211635139.4A Pending CN115840954A (zh) | 2022-12-19 | 2022-12-19 | 隐私计算方法、装置、系统以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115840954A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118296630A (zh) * | 2024-05-29 | 2024-07-05 | 杭州锘崴信息科技有限公司 | 一种数据、政务数据多方共享处理方法及装置 |
-
2022
- 2022-12-19 CN CN202211635139.4A patent/CN115840954A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118296630A (zh) * | 2024-05-29 | 2024-07-05 | 杭州锘崴信息科技有限公司 | 一种数据、政务数据多方共享处理方法及装置 |
CN118296630B (zh) * | 2024-05-29 | 2024-08-27 | 杭州锘崴信息科技有限公司 | 一种数据、政务数据多方共享处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162992B (zh) | 数据处理方法、数据处理装置和计算机系统 | |
US11063749B2 (en) | Cryptographic key management based on identity information | |
CN111666564B (zh) | 应用程序安全启动方法、装置、计算机设备和存储介质 | |
CN111625829A (zh) | 基于可信执行环境的应用激活方法及装置 | |
CN112257086B (zh) | 一种用户隐私数据保护方法及电子设备 | |
EP3552131B1 (en) | Password security | |
EP3206329B1 (en) | Security check method, device, terminal and server | |
JP6756056B2 (ja) | 身元検証による暗号チップ | |
CN111949972B (zh) | 人工智能模型的验证方法、系统、设备及存储介质 | |
CN110177111B (zh) | 一种信息验证方法、系统及装置 | |
CN111949986B (zh) | 业务处理方法、系统及存储介质 | |
WO2018112482A1 (en) | Method and system for distributing attestation key and certificate in trusted computing | |
US7975137B2 (en) | Method and system for securely extending a path of a mobile agent within a network system | |
CN111932261A (zh) | 一种基于可验证声明的资产数据管理方法和装置 | |
CN111585995A (zh) | 安全风控信息传输、处理方法、装置、计算机设备及存储介质 | |
CN113329004B (zh) | 一种认证方法、系统及装置 | |
CN115840954A (zh) | 隐私计算方法、装置、系统以及存储介质 | |
CN112769565B (zh) | 密码加密算法的升级方法、装置、计算设备和介质 | |
JPWO2018100740A1 (ja) | 暗号文照合システム及び暗号文照合方法 | |
CN111818087B (zh) | 区块链的节点接入方法、装置、设备及可读存储介质 | |
US20210306147A1 (en) | Authentication using transformation verification | |
CN112865981A (zh) | 一种令牌获取、验证方法及装置 | |
CN108259490B (zh) | 一种客户端校验方法及装置 | |
CN110750808B (zh) | 一种票据处理方法、装置及存储介质装置 | |
Kushwaha et al. | Integrity of Code and IoT Validation of Resource Utilization in Micro Control Unit |
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 |