一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

信息的处理方法、装置、可读介质和电子设备与流程

2021-12-03 23:20:00 来源:中国专利 TAG:


1.本公开涉及电子信息处理技术,具体地,涉及一种信息的处理方法、装置、可读介质和电子设备。


背景技术:

2.随着电子信息处理技术的不断发展,隐私保护集合求交(英文:private set intersection,缩写:psi)技术的应用越来越受到各行各业的重视。psi技术允许持有各自数据的两个参与方,共同对各自数据进行求交处理,以得到两部分数据中的共同数据。通常情况下,psi的实现可以基于可信执行环境(英文:trusted execution environment,缩写:tee),即多个参与方将各自的数据发送至可信执行环境中的硬件设备,由硬件设备对参与方发送的数据进行求交处理,再由硬件设备将求交结果反馈给各个参与方。然而,可信执行环境中的硬件设备的安全水平实际是动态的,如果存在硬件漏洞,而cpu微码没有及时更新,可能会降低硬件设备的安全水平,导致数据的泄露。


技术实现要素:

3.提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
4.第一方面,本公开提供一种信息的处理方法,所述方法包括:
5.向可信执行环境中的处理节点发送认证请求,所述认证请求用于指示所述处理节点基于所述可信执行环境,根据所述认证请求生成认证信息,所述认证信息用于确定所述处理节点是否可信;
6.接收所述处理节点发送的所述认证信息,并确定所述认证信息是否根据所述认证请求生成;
7.在所述认证信息为根据所述认证请求生成的情况下,确定所述处理节点可信,并根据预设的求交密钥对目标业务端的待处理信息进行加密得到中间数据,所述求交密钥为所述目标业务端与其他业务端共同生成的,所述其他业务端为业务系统中除所述目标业务端之外的业务端;
8.按照预设的加密方式对所述中间数据进行加密得到传输数据,并将所述传输数据发送至所述处理节点;
9.接收所述处理节点发送的处理结果,所述处理结果为所述处理节点对所述传输数据进行解密得到所述中间数据,并对所述中间数据与所述其他业务端对应的中间数据进行求交处理得到的;
10.根据所述处理结果确定所述待处理信息与所述其他业务端对应的待处理信息之间重复的目标信息。
11.第二方面,本公开提供一种信息的处理方法,所述方法包括:
12.基于可信执行环境,根据目标业务端发送的认证请求生成认证信息,并将所述认证信息发送至所述目标业务端,所述认证信息用于确定所述处理节点是否可信,所述目标业务端为业务系统的任一业务端;
13.接收所述目标业务端在确定所述认证信息为根据所述认证请求生成的情况下,发送的传输数据,所述传输数据为所述目标业务端按照预设的加密方式对中间数据进行加密生成的,所述中间数据为所述目标业务端根据预设的求交密钥对待处理信息进行加密得到的,所述求交密钥为所述目标业务端与其他业务端共同生成的,所述其他业务端为所述业务系统中除所述目标业务端之外的业务端;
14.对所述传输数据进行解密获取所述中间数据,并对所述中间数据与所述其他业务端对应的中间数据进行求交处理;
15.将处理结果发送至所述目标业务端和所述其他业务端,所述目标业务端和所述其他业务端用于根据所述处理结果,确定所述待处理信息与所述其他业务端对应的待处理信息之间重复的目标信息。
16.第三方面,本公开提供一种信息的处理装置,所述装置包括:
17.认证模块,用于向可信执行环境中的处理节点发送认证请求,所述认证请求用于指示所述处理节点基于所述可信执行环境,根据所述认证请求生成认证信息,所述认证信息用于确定所述处理节点是否可信;
18.确认模块,用于接收所述处理节点发送的所述认证信息,并确定所述认证信息是否根据所述认证请求生成;
19.处理模块,用于在所述认证信息为根据所述认证请求生成的情况下,确定所述处理节点可信,并根据预设的求交密钥对目标业务端的待处理信息进行加密得到中间数据,所述求交密钥为所述目标业务端与其他业务端共同生成的,所述其他业务端为业务系统中除所述目标业务端之外的业务端;
20.发送模块,用于按照预设的加密方式对所述中间数据进行加密得到传输数据,并将所述传输数据发送至所述处理节点;
21.接收模块,用于接收所述处理节点发送的处理结果,所述处理结果为所述处理节点对所述传输数据进行解密得到所述中间数据,并对所述中间数据与所述其他业务端对应的中间数据进行求交处理得到的;根据所述处理结果确定所述待处理信息与所述其他业务端对应的待处理信息之间重复的目标信息。
22.第四方面,本公开提供一种信息的处理装置,所述装置包括:
23.认证模块,用于基于可信执行环境,根据目标业务端发送的认证请求生成认证信息,并将所述认证信息发送至所述目标业务端,所述认证信息用于确定所述处理节点是否可信,所述目标业务端为业务系统的任一业务端;
24.接收模块,用于接收所述目标业务端在确定所述认证信息为根据所述认证请求生成的情况下,发送的传输数据,所述传输数据为所述目标业务端按照预设的加密方式对中间数据进行加密生成的,所述中间数据为所述目标业务端根据预设的求交密钥对待处理信息进行加密得到的,所述求交密钥为所述目标业务端与其他业务端共同生成的,所述其他业务端为所述业务系统中除所述目标业务端之外的业务端;
25.求交模块,用于对所述传输数据进行解密获取所述中间数据,并对所述中间数据
与所述其他业务端对应的中间数据进行求交处理;
26.发送模块,用于将处理结果发送至所述目标业务端和所述其他业务端,所述目标业务端和所述其他业务端用于根据所述处理结果,确定所述待处理信息与所述其他业务端对应的待处理信息之间重复的目标信息。
27.第五方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第一方面所述方法的步骤。
28.第六方面,本公开提供一种电子设备,包括:
29.存储装置,其上存储有计算机程序;
30.处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
31.第七方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第二方面所述方法的步骤。
32.第八方面,本公开提供一种电子设备,包括:
33.存储装置,其上存储有计算机程序;
34.处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开第二方面所述方法的步骤。
35.通过上述技术方案,本公开中目标业务端首先向处理节点发送认证请求,处理节点基于可信执行环境生成用于确定处理节点是否可信的认证信息。之后,目标业务端接收处理节点发送的认证信息,并确定认证信息是否根据认证请求生成。在认证信息为根据认证请求生成的情况下,目标业务端确定处理节点可信,并根据预设的求交密钥对目标业务端的待处理信息进行加密得到中间数据。然后,目标业务端按照预设的加密方式对中间数据进行加密得到传输数据,并将传输数据发送至处理节点,由处理节点对中间数据进行求交处理。最后,目标业务端接收处理节点发送的处理结果,并根据处理结果确定待处理信息与其他业务端对应的待处理信息之间重复的目标信息。本公开中,通过目标业务端与其他业务端预先约定的求交密钥对待处理信息进行加密,使得处理节点既不会获取待处理信息,又能够实现对待处理信息的求交处理,避免了由于处理节点存在安全漏洞导致数据泄露的问题,提高了数据的安全性。
36.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
37.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
38.图1是一种信息处理系统的部署示意图;
39.图2是根据一示例性实施例示出的一种信息的处理方法的流程图;
40.图3是根据一示例性实施例示出的另一种信息的处理方法的流程图;
41.图4是根据一示例性实施例示出的另一种信息的处理方法的流程图;
42.图5是根据一示例性实施例示出的另一种信息的处理方法的流程图;
43.图6是根据一示例性实施例示出的另一种信息的处理方法的流程图;
44.图7是根据一示例性实施例示出的另一种信息的处理方法的流程图;
45.图8是根据一示例性实施例示出的一种信息的处理方法的流程图;
46.图9是根据一示例性实施例示出的另一种信息的处理方法的流程图;
47.图10是根据一示例性实施例示出的另一种信息的处理方法的流程图;
48.图11是根据一示例性实施例示出的另一种信息的处理方法的流程图;
49.图12是根据一示例性实施例示出的另一种信息的处理方法的流程图;
50.图13是根据一示例性实施例示出的一种信息的处理装置的框图;
51.图14是根据一示例性实施例示出的另一种信息的处理装置的框图;
52.图15是根据一示例性实施例示出的另一种信息的处理装置的框图;
53.图16是根据一示例性实施例示出的另一种信息的处理装置的框图;
54.图17是根据一示例性实施例示出的一种信息的处理装置的框图;
55.图18是根据一示例性实施例示出的另一种信息的处理装置的框图;
56.图19是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
57.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
58.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
59.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
60.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
61.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
62.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
63.在介绍本公开提供的信息的处理方法、装置、可读介质和电子设备之前,首先对本公开各个实施例所涉及的应用场景进行介绍。该应用场景可以是一种用于实现psi的信息处理系统100,如图1所示,其中包括:业务系统和可信执行环境,业务系统中包括多个业务端101,可信执行环境包括一个或多个处理节点。其中,业务系统中的每个业务端101处理的业务之间可以具有关联,并且每个业务端101存储有各自待处理信息。当多个业务端101之间需要进行合作(例如:联邦学习、广告归隐、金融风控等)时,需要在不泄露任何额外信息的情况下,得到多个业务端101各自待处理信息的交集,额外信息指除了交集以外的任何信
息。业务端101可以包括但不限于移动终端、固定终端、服务器等设备。
64.可信执行环境中可以部署有一个或多个硬件设备,例如可以是服务器,而处理节点可以理解为在硬件设备上基于可信执行环境创建的进程。进一步的,处理节点可以包括一个认证节点1021和多个工作节点1022,认证节点1021和工作节点1022之间可以理解为相互隔离的、能够并行运行的进程,认证节点1021与工作节点1022可以部署在同一个硬件设备上,也可以部署在不同的硬件设备上,本公开对此不作具体限定。需要说明的是,本公开中提及的可信执行环境的实现方式可以包括但不限于:intel sgx(英文:intel software guard extensions)、amd sev(英文:amd secure encrypted virtualization)、arm trustzone等。
65.图2是根据一示例性实施例示出的一种信息的处理方法的流程图,如图2所示,该方法包括:
66.步骤201,向可信执行环境中的处理节点发送认证请求,认证请求用于指示处理节点基于可信执行环境,根据认证请求生成认证信息,认证信息用于确定处理节点是否可信。
67.步骤202,接收处理节点发送的认证信息,并确定认证信息是否根据认证请求生成。
68.举例来说,本公开所述实施例的执行主体为业务系统中的目标业务端,目标业务端可以理解为业务系统中的任一业务端,相应的,业务系统中除目标业务端之外的,为其他业务端。目标业务端和其他业务端之间可以互相转换。目标业务端在需要与其他业务端进行合作,以确定各自待处理信息的交集时,可以先向可信执行环境中的处理节点发送认证请求,认证请求用于指示处理节点基于可信执行环境,根据认证请求生成认证信息,相应的,认证信息用于验证处理节点是否可信。认证请求例如可以是随机生成的,固定长度(例如32字节)的字符串。处理节点在接收到认证请求后,可以根据认证请求生成认证信息,并将认证信息反馈给目标业务端,以便目标业务端确定认证信息是否为根据认证请求生成的,也可以理解为确定认证请求与认证信息是否匹配。可以理解为,处理节点生成的认证信息与认证请求之间是相互锚定的,能够相互验证各自的身份。若认证信息是根据认证请求生成的,即认证请求与认证信息匹配,那么说明处理节点是可信的。若认证信息不是根据认证请求生成的,那么说明处理节点是不可信的,目标业务端可以放弃执行后续步骤,或者向可信执行环境再次发送认证请求,直至确定认证信息是根据认证请求生成的为止。
69.步骤203,在认证信息为根据认证请求生成的情况下,确定处理节点可信,并根据预设的求交密钥对目标业务端的待处理信息进行加密得到中间数据,求交密钥为目标业务端与其他业务端共同生成的,其他业务端为业务系统中除目标业务端之外的业务端。
70.示例的,目标业务端在确定认证信息是根据认证请求生成的情况下,即可确定处理节点可信,可以根据预设的求交密钥对待处理信息进行加密,以得到中间数据。其中,求交密钥是目标业务端与其他业务端共同生成的,其他业务端为业务系统中除目标业务端之外的一个或多个业务端。可以理解为,求交密钥是由业务系统中全部的业务端共同参与确定的密钥,而处理节点并不知悉求交密钥。
71.具体的,根据求交密钥对待处理信息进行加密,可以将求交密钥作为key,采用带key的哈希算法对待处理信息进行加密,也可以采用密钥为key的对称加密算法(例如:aes

256)对待处理信息进行加密,本公开对此不作具体限定。待处理信息例如可以是大量的id
信息,包括:{id1,id2,

,id
i
,

,id
n
},其中,id
i
表示n个id信息中的第i个。那么中间数据可以表示为f(key,id
i
),f表示对待处理信息进行加密的算法。
72.步骤204,按照预设的加密方式对中间数据进行加密得到传输数据,并将传输数据发送至处理节点。
73.步骤205,接收处理节点发送的处理结果,处理结果为处理节点对传输数据进行解密得到中间数据,并对中间数据与其他业务端对应的中间数据进行求交处理得到的。
74.步骤206,根据处理结果确定待处理信息与其他业务端对应的待处理信息之间重复的目标信息。
75.示例的,在得到中间数据之后,目标业务端可以按照预设的加密方式对中间数据进行加密,以生成传输数据。例如,可以将中间数据按照与处理节点预先约定好的打包规则进行打包得到传输数据,也可以利用与处理节点预先约定好的加密方式对中间数据进行加密以得到传输数据,本公开对此不作具体限定。之后,目标业务端可以将传输数据发送至处理节点。处理节点可以对传输数据进行解密,以获取中间数据。例如,处理节点可以按照相应的打包规则对传输数据进行解析,以得到其中的中间数据,处理节点也可以利用相应的解密方式对传输数据进行解密,以得到其中的中间数据。
76.之后,处理节点可以对中间数据与其他业务端对应的中间数据进行求交处理,并将处理结果发送至目标业务端和其他业务端。其中,其他业务端对应的中间数据,可以理解为处理节点接收其他业务端执行步骤201至步骤204,发送给处理节点的传输数据,并从中提取的中间数据。最后,目标业务端可以接收由处理节点发送的处理结果,同时,其他业务端也可以接收由处理节点发送的处理结果。进一步的,目标业务端(或者其他业务端),可以按照求交密钥对处理结果进行解密,以得到待处理信息中,哪些信息与其他业务端的待处理信息是重复的,即目标信息,也就是说,目标信息即为目标业务端的待处理信息,与其他业务端的待处理信息的交集。由于处理节点并不知悉求交密钥,因此,即使处理节点存在硬件漏洞,恶意第三方最多只能从处理节点中获取中间数据,而无法获取原始的待处理信息,避免了数据的泄露,提高了数据的安全性。同时,由于求交密钥是全部业务端之间共同生成的,因此,各自待处理信息中相交的部分,经过求交密钥的加密处理,仍然相交,保证了处理节点执行求交处理得到处理结果的正确性。
77.在得到目标信息之后,业务系统中的每个业务端,均可以利用目标信息进行指定处理,指定处理例如可以包括:联邦学习、广告归隐、金融风控等。例如,业务系统中的每个业务端为一种购物平台,各个购物平台想要利用各自的购物信息进行联邦学习,以对ctr(英文:click

through

rate,中文:点击通过率)进行预测,或者训练一个推荐模型。各个购物平台存储有各自大量的用户id作为待处理信息。每个购物平台均可以执行步骤201至步骤206,以得到业务系统中,所有购物平台的用户id的交集(即目标信息),即每个购物平台可以获知哪些用户是业务系统中共有的用户。然后,每个购物平台可以将共有的用户对应的购物信息进行整合,以实现联邦学习。
78.综上所述,本公开中目标业务端首先向处理节点发送认证请求,处理节点基于可信执行环境生成用于确定处理节点是否可信的认证信息。之后,目标业务端接收处理节点发送的认证信息,并确定认证信息是否根据认证请求生成。在认证信息为根据认证请求生成的情况下,目标业务端确定处理节点可信,并根据预设的求交密钥对目标业务端的待处
理信息进行加密得到中间数据。然后,目标业务端按照预设的加密方式对中间数据进行加密得到传输数据,并将传输数据发送至处理节点,由处理节点对中间数据进行求交处理。最后,目标业务端接收处理节点发送的处理结果,并根据处理结果确定待处理信息与其他业务端对应的待处理信息之间重复的目标信息。本公开中,通过目标业务端与其他业务端预先约定的求交密钥对待处理信息进行加密,使得处理节点既不会获取待处理信息,又能够实现对待处理信息的求交处理,避免了由于处理节点存在安全漏洞导致数据泄露的问题,提高了数据的安全性。
79.图3是根据一示例性实施例示出的另一种信息的处理方法的流程图,如图3所示,认证请求包括随机生成的声明字符串,步骤202的实现方式可以包括:
80.步骤2021,获取认证信息中包括的签名公钥、传输公钥、签名数据和校验数据,签名数据为处理节点利用签名公钥对应的签名私钥对声明字符串进行签名得到的,校验数据为处理节点基于可信执行环境根据签名公钥和传输公钥生成的,校验数据用于校验可信执行环境。
81.举例来说,认证请求中可以包括随机生成的声明字符串,例如可以表示为nonce。处理节点根据认证请求生成的认证信息中,可以包括有签名数据、校验数据、签名数据和校验数据。具体的,处理节点在接收到认证请求后,可以先生成签名公钥和对应的签名私钥(签名公钥可以表示为pk1,签名私钥可以表示为sk1),传输公钥和对应的传输私钥(传输公钥可以表示为pk2,传输私钥可以表示为sk2)。其中,生成(pk1,sk1)、(pk2,sk2)可以为任一种生成公私钥的方法,例如可以是rsa

3072,本公开对此不作具体限定。之后,处理节点可以利用sk1对nonce进行签名,得到签名数据,可以表示为sig。然后,处理节点可以基于可信执行环境根据pk1和pk2生成校验数据,可以表示为proof。校验数据可以理解为,以pk1和pk2作为输入参数,利用可信执行环境中的硬件设备的cpu微码生成的,用于验证可信执行环境的数据。具体的,proof可以分为两部分,第一部分用于验证可信执行环境,第二部分用于存储根据pk1和pk2生成的数据,从而使得校验数据与pk1和pk2能够相互锚定,即能够互相验证。例如,可以分别对pk1和pk2进行哈希运算,并将得到的哈希值进行拼接,即hash(pk1)||hash(pk2),得到64字节的数据,以作为proof中的第二部分。若可信执行环境的实现方式为intel sgx,那么proof即为sgxquote,hash(pk1)||hash(pk2)可以存放在sgxquote中的reportdata字段。
82.最后,处理节点可以将签名公钥、传输公钥、签名数据和校验数据按照预设的格式生成认证信息,并发送至目标业务端,即认证信息包括:proof sig pk1 pk2。目标业务端可以从认证信息中提取出签名公钥、传输公钥、签名数据和校验数据。
83.步骤2022,若认证信息满足预设条件,确定认证信息为根据认证请求生成。
84.示例的,目标业务端可以通过判断签名公钥、传输公钥、签名数据和校验数据是否满足预设条件,来确定认证信息是否为根据认证请求生成的。具体的,预设条件可以包括:条件一,校验数据通过校验,可以理解为,根据校验数据验证可信执行环境。条件二,校验数据根据签名公钥和传输公钥生成,可以理解为,目标业务端获取校验数据中的第二部分,然后与签名公钥、传输公钥进行比较,确定校验数据是否为根据签名公钥和传输公钥生成的。例如,校验数据中的第二部分为hash(pk1)||hash(pk2),那么目标业务端同样可以分别对pk1和pk2进行哈希运算,并将得到的哈希值进行拼接,若拼接结果与hash(pk1)||hash
(pk2)相同,那么校验数据是根据签名公钥和传输公钥生成的,可以理解为校验数据与签名公钥、传输公钥匹配,若拼接结果与hash(pk1)||hash(pk2)不相同,那么校验数据不是根据签名公钥和传输公钥生成的,即校验数据与签名公钥、传输公钥不匹配。条件三,利用签名公钥对签名数据进行签名验证的结果,与声明字符串匹配。即利用pk1对sig进行签名验证,并将得到的结果与nonce进行比较,若与nonce相同,那么满足条件三,若与nonce不相同,那么不满足条件三。
85.图4是根据一示例性实施例示出的另一种信息的处理方法的流程图,如图4所示,步骤204的实现方式可以包括:
86.步骤2041,根据随机生成的会话密钥对中间数据进行加密,得到数据密文,并根据认证信息中包括的传输公钥对会话密钥进行加密,得到密钥密文。
87.步骤2042,根据数据密文和密钥密文生成传输数据。
88.步骤2043,将传输数据发送至处理节点,处理节点用于根据传输公钥对应的传输私钥对密钥密文进行解密得到会话密钥,根据会话密钥对数据密文进行解密得到中间数据,并对中间数据与其他业务端对应的中间数据进行求交处理。
89.示例的,目标业务端可以先随机生成一个会话密钥,会话密钥的大小例如可以为256bit。之后,利用会话密钥对中间数据进行加密,以得到数据密文,加密的方式例如可以是aes

gcm

256,本公开对此不作具体限定。同时,目标业务端还可以利用传输公钥对会话密钥进行加密,以得到密钥密文。然后,再根据数据密文和密钥密文生成传输数据。例如,可以将数据密文和密钥密文以数据信封的格式进行封装,以得到传输数据。最后将传输数据发送至处理节点。
90.相应的,处理节点会根据传输公钥对应的传输私钥对密钥密文进行解密,从而得到其中包括的会话密钥。然后再根据会话密钥对数据密文进行解密,以得到其中包括的中间数据。这样,处理节点就可以得到中间数据,并对中间数据与其他业务端对应的中间数据进行求交处理。由于处理节点并不知悉求交密钥,因此,无法从中间数据中获取原始的待处理信息,保证了待处理信息的安全性。同时,目标业务端对应的中间数据,和其他业务端对应的中间数据,均是经过求交密钥的加密处理,因此,处理节点对中间数据进行求交处理得到的处理结果,与直接对原始的待处理信息进行求交处理是一致的。
91.在一种应用场景中,步骤206的实现方式可以为:
92.根据会话密钥对处理结果进行解密得到目标信息。处理结果为处理节点根据会话密钥对求交处理的结果进行加密得到的。
93.示例的,处理节点对中间数据与其他业务端对应的中间数据进行求交处理,得到目标业务端对应的中间数据,与其他业务端对应的中间数据的交集。处理节点在将求交处理的结果发送至目标业务端和其他业务端之前,可以对求交处理的结果进行加密,以作为处理结果发送给目标业务端和其他业务端,从而进一步提高数据的安全性。例如,可以根据从密钥密文中获得的会话密钥对求交处理的结果进行加密并发送给目标业务端。相应的,目标业务端可以根据会话密钥对处理结果进行解密,从而得到目标业务端对应的中间数据,与其他业务端对应的中间数据的交集。进一步的,不同的业务端,会有各自对应的会话密钥(即目标业务端并不知悉其他业务端的会话密钥)。针对每个业务端,处理节点可以使用该业务端对应的会话密钥对求交处理的结果进行加密,并将处理结果发送至该业务端。
相应的,该业务端在可以利用对应的会话密钥对处理结果进行解密。
94.图5是根据一示例性实施例示出的另一种信息的处理方法的流程图,如图5所示,在步骤201之前,该方法还可以包括:
95.步骤207,通过预设的握手协议,与至少一个其他业务端确定求交密钥。
96.举例来说,求交密钥,可以是所有要参与求交处理的业务端之间协商得到的,可以通过预设的握手协议,由多个业务端共同生成求交密钥。握手协议例如可以是diffie

hellman握手协议,也可以是bd(英文:burmester

desmedt)组密钥协商协议,还可以是其他能够由多方参与共同建立密钥的协议,本公开对此不作具体限定。
97.图6是根据一示例性实施例示出的另一种信息的处理方法的流程图,如图6所示,步骤207可以通过以下步骤来实现:
98.步骤2071,根据随机生成的第一处理因子对预设的生成元进行处理,得到第一初始密钥,并将第一初始密钥发送至其他业务端,其他业务端用于根据随机生成的第二处理因子对第一初始密钥进行处理,得到求交密钥。
99.步骤2072,接收其他业务端发送的第二初始密钥,第二初始密钥为其他业务端根据第二处理因子对生成元进行处理得到的。
100.步骤2073,根据第一处理因子对第二初始密钥进行处理,得到求交密钥。
101.示例的,目标业务端可以随机生成第一处理因子a,然后利用第一处理因子对预设的生成元g进行处理,以得到第一初始密钥。其中,生成元可以是目标业务端与其他业务端之间预先约定好的值。利用第一处理因子对生成元进行处理的方式例如可以是进行幂运算,即第一初始密钥=g
a

102.之后,目标业务端将第一初始密钥发送至其他业务端,由其他业务端利用随机生成的第二处理因子b对第一初始密钥进行处理以得到求交密钥。利用第二处理因子对第一初始密钥进行处理的方式同样可以是进行幂运算,即求交密钥=(g
a
)
b
。同时,其他业务端还可以利用第二处理因子对生成元g进行处理,以得到第二初始密钥,并发送给目标业务端。同样的,目标业务端在接收到第二初始密钥后,根据第一处理因子对第二初始密钥进行处理,以得到求交密钥。利用第一处理因子对第二初始密钥进行处理的方式同样可以是进行幂运算,即求交密钥=(g
b
)
a
。这样,目标业务端和其他业务端均得到了求交密钥。
103.图7是根据一示例性实施例示出的另一种信息的处理方法的流程图,如图7所示,处理节点包括:认证节点和第一数量个工作节点。
104.在一种应用场景中,可信执行环境中包括有两种处理节点,一种是用于生成认证信息的认证节点,另一种是用于进行求交处理的工作节点。其中,工作节点可以为第一数量个,第一数量例如可以是2个或者2个以上。
105.相应的,步骤201的实现方式可以为:
106.向认证节点发送认证请求,认证请求用于指示认证节点基于可信执行环境,根据认证请求生成认证信息,并启用第一数量个工作节点。
107.步骤202的实现方式可以为:
108.接收认证节点发送的认证信息。
109.举例来说,目标业务端可以向认证节点发送认证请求,由认证节点根据认证请求生成认证信息,并将认证信息反馈给目标业务端。认证节点在生成认证信息的同时,还可以
启用第一数量个工作节点。进一步的,认证节点在启用工作节点时,还可以和工作节点进行双向的内部认证,并在认证通过后,将传输公钥和传输私钥同步到每个工作节点上。相应的,目标业务端可以从认证节点接收认证信息。
110.步骤204可以包括:
111.步骤2044,将中间数据中包括的多个数值,分配至第二数量个数值分组。
112.步骤2045,按照加密方式对每个数值分组进行加密,生成对应的传输分组,得到包括第二数量个传输分组的所述传输数据。
113.步骤2046,针对每个传输分组,按照传输分组的标识与工作节点的标识的对应关系,将该传输分组发送至对应的工作节点,对应的工作节点用于对该传输分组进行解密获取对应的数值分组,并对数值分组与其他业务端对应的数值分组进行求交处理。
114.举例来说,待处理信息往往数据量较大,而求交处理是流式处理,对大量的数据进行求交的效率较低。因此可以将中间数据划分为多个分组,并由第一数量个工作节点并行处理多个分组,从而实现分布式的流式求交,以达到提高求交处理效率的效果。
115.具体的,可以将中间数据中包括的多个数值,分配至第二数量个数值分组。第二数量与第一数量可以相同,可以不相同。每个数值分组至少包括一个数值。划分数值分组的方式,可以预先建立第二数量个数值分组,根据每个数值的最低位(也可以是最高位,或者指定位)对第二数量进行求余运算,根据求余结果对该数据进行划分。例如,第二数量为m,每个数值分组对应一个序号m,m属于[0,m

1]。若某个数值的最低位为x,y=mod(x,m),那么将该数值划分至序号为y的数值分组中。
[0116]
之后,可以根据每个数值分组,生成对应的传输分组,以得到包括第二数量个传输分组的传输数据。也就是说,传输分组中包括了对应的数值分组中的数值。其中,根据数值分组生成传输分组的方式,与根据中间数据生成传输数据的方式相同,此处不再赘述。
[0117]
最后,针对每个传输分组,可以按照传输分组的标识与工作节点的标识的对应关系,将该传输分组发送至对应的工作节点。对应的工作节点可以从该传输分组中获取对应的数值分组,并对数值分组与其他业务端对应的数值分组进行求交处理。工作节点从该传输分组中获取对应的数值分组的方式,与从传输数据中获取中间数据的方式相同,此处不再赘述。
[0118]
其中,传输分组的标识与工作节点的标识的对应关系,可以是预先约定好的,也可以是按照预设算法确定的。例如,可以将传输分组的标识,对第一数量进行求余运算,以得到工作节点的标识。例如,第一数量为n,每个工作节点对应的标识为n,n属于[0,n

1]。若某个传输分组的标识为p,q=mod(p,n),那么该传输分组对应的工作节点的标识即为q。
[0119]
步骤206可以用于:
[0120]
将第一数量个工作节点发送的处理结果进行合并,以确定目标信息。
[0121]
示例的,目标业务端分别接收到第一数量个工作节点发送的,第一数量个处理结果之后,可以对第一数量个处理结果进行合并,从而得到目标信息,即对待处理信息与其他业务端的待处理信息进行求交的结果。具体的,若每个工作节点都利用会话密钥对求交处理的结果进行加密,那么目标业务端可以先利用会话密钥分别对第一数量个处理结果进行解密,以得到第一数量个求交处理的结果,然后再将第一数量个求交处理的结果进行合并,最后按照求交密钥对合并的结果进行解密,以得到目标信息。
[0122]
需要说明的是,工作节点在执行完求交处理之后,可以被认证节点删除,可以理解为,认证节点删除掉工作节点对应的进程,在下一次需要进行求交处理时,再由认证节点启用工作节点。工作节点在执行完求交处理之后,也可以被认证节点挂起,以等待下一次求交处理,本公开对此不作具体限定。
[0123]
在一种应用场景中,步骤2044可以通过以下步骤来实现:
[0124]
首先,针对每个数值,按照数值与数值分组的标识的对应关系,将该数值,分配至对应的数值分组。
[0125]
之后,将每个数值分组中包括的数值进行排序。
[0126]
示例的,处理节点在对数据进行求交处理时,通常会分为排序(即sort)和求交(即join)两步。为了进一步实现分布式的流式求交,以提高求交处理的效率,目标业务端在将中间数据中包括的多个数值,分配至第二数量个数值分组时,可以先按照数值与数值分组的标识的对应关系,将该数值,分配至对应的数值分组。数值与数值分组的标识的对应关系可以是预先约定好的,也可以是按照预设算法确定的。例如,可以将数值的最低位,对第二数量进行求余运算得到数值分组的标识。例如,第二数量为m,每个数值分组对应一个序号m,m属于[0,m

1]。若某个数值的最低位为x,y=mod(x,m),那么将该数值划分至序号为y的数值分组中。之后,再将每个数值分组中包括的数值进行排序。这样,数值分组中包括的数值是按照大小顺序排列的。相应的,工作节点从传输分组中获取对应的数值分组时,无需再进行排序处理,可以直接进行求交处理,从而进一步提高求交处理的效率。
[0127]
综上所述,本公开中目标业务端首先向处理节点发送认证请求,处理节点基于可信执行环境生成用于确定处理节点是否可信的认证信息。之后,目标业务端接收处理节点发送的认证信息,并确定认证信息是否根据认证请求生成。在认证信息为根据认证请求生成的情况下,目标业务端确定处理节点可信,并根据预设的求交密钥对目标业务端的待处理信息进行加密得到中间数据。然后,目标业务端按照预设的加密方式对中间数据进行加密得到传输数据,并将传输数据发送至处理节点,由处理节点对中间数据进行求交处理。最后,目标业务端接收处理节点发送的处理结果,并根据处理结果确定待处理信息与其他业务端对应的待处理信息之间重复的目标信息。本公开中,通过目标业务端与其他业务端预先约定的求交密钥对待处理信息进行加密,使得处理节点既不会获取待处理信息,又能够实现对待处理信息的求交处理,避免了由于处理节点存在安全漏洞导致数据泄露的问题,提高了数据的安全性。
[0128]
图8是根据一示例性实施例示出的一种信息的处理方法的流程图,如图8所示,该方法包括以下步骤:
[0129]
步骤301,基于可信执行环境,根据目标业务端发送的认证请求生成认证信息,并将认证信息发送至目标业务端,认证信息用于确定处理节点是否可信,目标业务端为业务系统的任一业务端。
[0130]
步骤302,接收目标业务端在确定认证信息为根据认证请求生成的情况下,发送的传输数据,传输数据为目标业务端按照预设的加密方式对中间数据进行加密生成的,中间数据为目标业务端根据预设的求交密钥对待处理信息进行加密得到的,求交密钥为目标业务端与其他业务端共同生成的,其他业务端为业务系统中除目标业务端之外的业务端。
[0131]
步骤303,对传输数据进行解密获取中间数据,并对中间数据与其他业务端对应的
中间数据进行求交处理。
[0132]
步骤304,将处理结果发送至目标业务端和其他业务端,目标业务端和其他业务端用于根据处理结果,确定待处理信息与其他业务端对应的待处理信息之间重复的目标信息。
[0133]
举例来说,本公开实施例的执行主体为可信执行环境中的处理节点。目标业务端在存在待处理信息在需要与其他业务端进行合作,以确定各自待处理信息的交集时,可以先向可信执行环境中的处理节点发送认证请求,认证请求用于指示处理节点基于可信执行环境,根据认证请求生成认证信息,相应的,认证信息用于验证处理节点是否可信。处理节点在接收到认证请求后,可以根据认证请求生成认证信息,并将认证信息反馈给目标业务端,以便目标业务端确定认证信息是否为根据认证请求生成的。可以理解为,处理节点生成的认证信息与认证请求之间是相互锚定的,能够相互验证各自的身份。若认证信息是根据认证请求生成的,即认证请求与认证信息匹配,那么说明处理节点是可信的。若认证信息不是根据认证请求生成的,那么说明处理节点是不可信的。
[0134]
若目标业务端确定认证信息是根据认证请求生成的,可以根据预设的求交密钥对待处理信息进行加密,以得到中间数据。之后,目标业务端可以按照预设的加密方式对中间数据进行加密,以生成传输数据,并将传输数据发送至处理节点。可以理解为传输数据中包括了中间数据。其中,求交密钥是目标业务端与其他业务端共同生成的,其他业务端为业务系统中除目标业务端之外的一个或多个业务端,可以理解为,求交密钥是由业务系统中全部的业务端共同参与确定的密钥,而处理节点并不知悉求交密钥。
[0135]
处理节点可以对传输数据进行解密,以获取中间数据。例如,处理节点可以按照相应的打包规则对传输数据进行解析,以得到其中的中间数据,处理节点也可以利用相应的解密方式对传输数据进行解密,以得到其中的中间数据。
[0136]
最后,处理节点可以对中间数据与其他业务端对应的中间数据进行求交处理,并将处理结果发送至目标业务端和其他业务端。相应的,目标业务端可以接收由处理节点发送的处理结果,同时,其他业务端也可以接收由处理节点发送的处理结果。进一步的,目标业务端(或者其他业务端),可以按照求交密钥对处理结果进行解密,以得到待处理信息中,哪些信息是与其他业务端的待处理信息是重复的,即目标信息,也就是说,目标信息即为目标业务端的待处理信息,与其他业务端的待处理信息的交集。由于处理节点并不知悉求交密钥,因此,即使处理节点存在硬件漏洞,恶意第三方最多只能从处理节点中获取中间数据,而无法获取原始的待处理信息,避免了数据的泄露,提高了数据的安全性。同时,由于求交密钥是全部业务端之间共同生成的,因此,各自待处理信息中相交的部分,经过求交密钥的加密处理,仍然相交,保证了处理节点执行求交处理得到处理结果的正确性。
[0137]
图9是根据一示例性实施例示出的另一种信息的处理方法的流程图,如图9所示,认证请求包括目标业务端随机生成的声明字符串,步骤301的实现方式可以包括:
[0138]
步骤3011,生成签名公钥、对应的签名私钥、传输公钥和对应的传输私钥。
[0139]
步骤3012,利用签名私钥对声明字符串进行签名,以得到签名数据。
[0140]
步骤3013,基于可信执行环境,根据签名公钥和传输公钥生成校验数据。
[0141]
步骤3014,根据签名公钥、传输公钥、签名数据和校验数据,生成认证信息。
[0142]
示例的,认证请求中可以包括随机生成的声明字符串,例如可以表示为nonce。处
理节点根据认证请求生成的认证信息中,可以包括有签名数据、校验数据、签名数据和校验数据。具体的,处理节点在接收到认证请求后,可以先生成签名公钥和对应的签名私钥(签名公钥可以表示为pk1,签名私钥可以表示为sk1),传输公钥和对应的传输私钥(传输公钥可以表示为pk2,传输私钥可以表示为sk2)。其中,生成(pk1,sk1)、(pk2,sk2)可以为任一种生成公私钥的方法,例如可以是rsa

3072,本公开对此不作具体限定。之后,处理节点可以利用sk1对nonce进行签名,得到签名数据,可以表示为sig。然后,处理节点可以基于可信执行环境根据pk1和pk2生成校验数据,可以表示为proof。校验数据可以理解为,以pk1和pk2作为输入参数,利用可信执行环境中的硬件设备的cpu微码生成的,用于验证可信执行环境的数据。具体的,proof可以分为两部分,第一部分用于验证可信执行环境,第二部分用于存储根据pk1和pk2生成的数据,从而使得校验数据与pk1和pk2能够相互锚定,即能够互相验证。例如,可以分别对pk1和pk2进行哈希运算,并将得到的哈希值进行拼接,即hash(pk1)||hash(pk2),得到64字节的数据,以作为proof中的第二部分。若可信执行环境的实现方式为intel sgx,那么proof即为sgxquote,hash(pk1)||hash(pk2)可以存放在sgxquote中的reportdata字段。
[0143]
最后,处理节点可以将签名公钥、传输公钥、签名数据和校验数据按照预设的格式生成认证信息,并发送至目标业务端,即认证信息包括:proof sig pk1 pk2。相应的,目标业务端可以从认证信息中提取出签名公钥、传输公钥、签名数据和校验数据,以确定认证信息是否为根据认证请求生成的。
[0144]
图10是根据一示例性实施例示出的另一种信息的处理方法的流程图,如图10所示,步骤303可以包括:
[0145]
步骤3031,根据传输私钥对传输数据中包括的密钥密文进行解密得到会话密钥。
[0146]
步骤3032,根据会话密钥对传输数据中包括的数据密文进行解密得到中间数据。
[0147]
其中,密钥密文为目标业务端根据传输公钥对会话密钥进行加密得到的,数据密文为目标业务端根据会话密钥对中间数据进行加密得到的,会话密钥为目标业务端随机生成的。
[0148]
举例来说,目标业务端根可以先随机生成一个会话密钥,会话密钥的大小例如可以为256bit。之后,利用会话密钥对中间数据进行加密,以得到数据密文,加密的方式例如可以是aes

gcm

256,本公开对此不作具体限定。同时,目标业务端还可以利用传输公钥对会话密钥进行加密,以得到密钥密文。然后,再根据数据密文和密钥密文生成传输数据。
[0149]
相应的,处理节点会根据传输公钥对应的传输私钥对密钥密文进行解密,从而得到其中包括的会话密钥。然后再根据会话密钥对数据密文进行解密,以得到其中包括的中间数据。这样,处理节点就可以得到中间数据,并对中间数据与其他业务端对应的中间数据进行求交处理。由于处理节点并不知悉求交密钥,因此,无法从中间数据中获取原始的待处理信息,保证了待处理信息的安全性。同时,目标业务端对应的中间数据,和其他业务端对应的中间数据,均是经过求交密钥的加密处理,因此,处理节点对中间数据进行求交处理得到的处理结果,与直接对原始的待处理信息进行求交处理是一致的。
[0150]
图11是根据一示例性实施例示出的另一种信息的处理方法的流程图,如图11所示,步骤304的实现方式可以包括:
[0151]
步骤3041,根据会话密钥对求交处理的结果进行加密,得到处理结果。
[0152]
步骤3042,将处理结果发送至目标业务端,目标业务端用于根据会话密钥对处理结果进行解密,得到目标信息。
[0153]
示例的,处理节点对中间数据与其他业务端对应的中间数据进行求交处理,得到目标业务端对应的中间数据,与其他业务端对应的中间数据的交集。处理节点在将求交处理的结果发送至目标业务端和其他业务端之前,可以对求交处理的结果进行加密,以作为处理结果发送给目标业务端和其他业务端,从而进一步提高数据的安全性。例如,可以根据从密钥密文中获得的会话密钥对求交处理的结果进行加密并发送给目标业务端。相应的,目标业务端可以根据会话密钥对处理结果进行解密,从而得到目标业务端对应的中间数据,与其他业务端对应的中间数据的交集。进一步的,不同的目标业务端,会有各自对应的会话密钥(即目标业务端并不知悉其他业务端的会话密钥)。针对每个业务端,处理节点可以使用该业务端对应的会话密钥对求交数据进行加密,并将处理结果发送至该业务端。相应的,该业务端在可以利用对应的会话密钥对处理结果进行解密。
[0154]
图12是根据一示例性实施例示出的另一种信息的处理方法的流程图,如图12所示,处理节点包括:认证节点和第一数量个工作节点。传输数据包括第二数量个传输分组,传输分组为目标业务端将中间数据中包括的多个数值,分配至第二数量个数值分组,并按照加密方式对每个数值分组进行加密生成的。
[0155]
在一种应用场景中,可信执行环境中包括有两种处理节点,一种是用于生成认证信息的认证节点,另一种是用于进行求交处理的工作节点。其中,工作节点可以为第一数量个,第一数量例如可以是2个或者2个以上。
[0156]
相应的,步骤301的实现方式可以包括:
[0157]
步骤3015,通过认证节点根据认证请求生成认证信息,并将认证信息发送至目标业务端。
[0158]
步骤3016,通过认证节点启用第一数量个工作节点。
[0159]
步骤302的实现方式可以为:
[0160]
通过每个工作节点,接收该工作节点对应的传输分组。
[0161]
步骤303可以包括:
[0162]
步骤3033,通过该工作节点对对应的传输分组进行解密获取对应的数值分组。
[0163]
步骤3034,通过该工作节点对数值分组与其他业务端对应的数值分组进行求交处理。
[0164]
步骤304的实现方式可以为:
[0165]
通过每个工作节点将该工作节点的处理结果发送至目标业务端,目标业务端用于将第一数量个处理结果进行合并,并确定目标信息。
[0166]
举例来说,目标业务端可以向认证节点发送认证请求,由认证节点根据认证请求生成认证信息,并将认证信息反馈给目标业务端。认证节点在生成认证信息的同时,还可以启用第一数量个工作节点。进一步的,认证节点在启用工作节点时,还可以和工作节点进行双向的内部认证,并在认证通过后,将传输公钥和传输私钥同步到每个工作节点上。相应的,目标业务端可以从认证节点接收认证信息。
[0167]
待处理信息往往数据量较大,而求交处理是流式处理,对大量的数据进行求交的效率较低。因此目标业务端可以将中间数据划分为多个分组,并由第一数量个工作节点并
行处理多个分组,从而实现分布式的流式求交,以达到提高求交处理效率的效果。
[0168]
具体的,目标业务端可以先将中间数据中包括的多个数值,分配至第二数量个数值分组。第二数量与第一数量可以相同,可以不相同。每个数值分组至少包括一个数值。之后,再根据每个数值分组,生成对应的传输分组,以得到包括第二数量个传输分组的传输数据。最后,针对每个传输分组,可以按照传输分组的标识与工作节点的标识的对应关系,将该传输分组发送至对应的工作节点。
[0169]
相应的,对应的工作节点可以从该传输分组中获取对应的数值分组,并对数值分组与其他业务端对应的数值分组进行求交处理。工作节点从该传输分组中获取对应的数值分组的方式,与从传输数据中获取中间数据的方式相同,此处不再赘述。
[0170]
目标业务端分别接收到第一数量个工作节点发送的,第一数量个处理结果之后,可以对第一数量个处理结果进行合并,从而得到目标信息,即对待处理信息与其他业务端的待处理信息进行求交的结果。具体的,若每个工作节点都利用会话密钥对求交处理的结果进行加密,那么目标业务端可以先利用会话密钥分别对第一数量个处理结果进行解密,以得到第一数量个求交处理的结果,然后再将第一数量个求交处理的结果进行合并,最后按照求交密钥对合并的结果进行解密,以得到目标信息。
[0171]
需要说明的是,工作节点在执行完求交处理之后,可以被认证节点删除,可以理解为,认证节点删除掉工作节点对应的进程,在下一次需要进行求交处理时,再由认证节点启用工作节点。工作节点在执行完求交处理之后,也可以被认证节点挂起,以等待下一次求交处理,本公开对此不作具体限定。
[0172]
在一种应用场景中,步骤3016的实现方式可以包括以下步骤:
[0173]
步骤1)通过认证节点基于可信执行环境生成的第一内部校验数据,第一内部校验数据用于校验可信执行环境。
[0174]
步骤2)通过认证节点向第一数量个工作节点发送第一内部校验数据,以使工作节点对第一内部校验数据进行校验。
[0175]
步骤3)通过认证节点接收每个工作节点基于可信执行环境生成的第二内部校验数据,第二内部校验数据用于校验可信执行环境。
[0176]
步骤4)通过认证节点在确定每个第二内部校验数据通过校验的情况下,向每个工作节点发送传输公钥和对应的传输私钥,传输公钥和传输私钥用于生成认证信息。
[0177]
示例的,认证节点在启用工作节点时,可以和工作节点进行双向的认证。具体的,认证节点可以先基于可信执行环境生成第一内部检验数据,然后将第一内部校验数据发送至每个工作节点。使得工作节点对第一内部校验数据进行校验。其中,第一内部校验数据可以用于验证可信执行环境,与前文提及的校验数据不同的是,第一内部校验数据不需要以签名公钥、传输公钥作为输入参数。
[0178]
进一步的,认证节点接收每个工作节点基于可信执行环境生成的第二内部校验数据。其中,第二内部校验数据可以用于验证可信执行环境。认证节点在确定每个第二内部校验数据通过校验的情况下,可以向每个工作节点发送传输公钥和对应的传输私钥,使得每个工作节点都能够从对应的传输分组中获取对应的数值分组。
[0179]
综上所述,本公开中目标业务端首先向处理节点发送认证请求,处理节点基于可信执行环境生成用于确定处理节点是否可信的认证信息。之后,目标业务端接收处理节点
发送的认证信息,并确定认证信息是否根据认证请求生成。在认证信息为根据认证请求生成的情况下,目标业务端确定处理节点可信,并根据预设的求交密钥对目标业务端的待处理信息进行加密得到中间数据。然后,目标业务端按照预设的加密方式对中间数据进行加密得到传输数据,并将传输数据发送至处理节点,由处理节点对中间数据进行求交处理。最后,目标业务端接收处理节点发送的处理结果,并根据处理结果确定待处理信息与其他业务端对应的待处理信息之间重复的目标信息。本公开中,通过目标业务端与其他业务端预先约定的求交密钥对待处理信息进行加密,使得处理节点既不会获取待处理信息,又能够实现对待处理信息的求交处理,避免了由于处理节点存在安全漏洞导致数据泄露的问题,提高了数据的安全性。
[0180]
图13是根据一示例性实施例示出的一种信息的处理装置的框图,如图13所示,该装置400包括:
[0181]
认证模块401,用于向可信执行环境中的处理节点发送认证请求,认证请求用于指示处理节点基于可信执行环境,根据认证请求生成认证信息,认证信息用于确定处理节点是否可信。
[0182]
确认模块402,用于接收处理节点发送的认证信息,并确定认证信息是否根据认证请求生成。
[0183]
处理模块403,用于在认证信息为根据认证请求生成的情况下,确定处理节点可信,并根据预设的求交密钥对目标业务端的待处理信息进行加密得到中间数据,求交密钥为目标业务端与其他业务端共同生成的,其他业务端为业务系统中除目标业务端之外的业务端。
[0184]
发送模块404,用于按照预设的加密方式对中间数据进行加密得到传输数据,并将传输数据发送至处理节点。
[0185]
接收模块405,用于接收处理节点发送的处理结果,处理结果为处理节点对传输数据进行解密得到中间数据,并对中间数据与其他业务端对应的中间数据进行求交处理得到的。根据处理结果确定待处理信息与其他业务端对应的待处理信息之间重复的目标信息。
[0186]
图14是根据一示例性实施例示出的另一种信息的处理装置的框图,如图14所示,认证请求包括随机生成的声明字符串,确认模块402可以包括:
[0187]
获取子模块4021,用于获取认证信息中包括的签名公钥、传输公钥、签名数据和校验数据,签名数据为处理节点利用签名公钥对应的签名私钥对声明字符串进行签名得到的,校验数据为处理节点基于可信执行环境根据签名公钥和传输公钥生成的,校验数据用于校验可信执行环境。
[0188]
认证子模块4022,用于若认证信息满足预设条件,确定认证信息为根据认证请求生成。
[0189]
其中,预设条件包括:
[0190]
校验数据通过校验。
[0191]
校验数据根据签名公钥和传输公钥生成。
[0192]
利用签名公钥对签名数据进行签名验证的结果,与声明字符串匹配。
[0193]
图15是根据一示例性实施例示出的另一种信息的处理装置的框图,如图15所示,发送模块404可以包括:
[0194]
加密子模块4041,用于根据随机生成的会话密钥对中间数据进行加密,得到数据密文,并根据认证信息中包括的传输公钥对会话密钥进行加密,得到密钥密文。
[0195]
生成子模块4042,用于根据数据密文和密钥密文生成传输数据。
[0196]
发送子模块4043,用于将传输数据发送至处理节点,处理节点用于根据传输公钥对应的传输私钥对密钥密文进行解密得到会话密钥,根据会话密钥对数据密文进行解密得到中间数据,并对中间数据与其他业务端对应的中间数据进行求交处理。
[0197]
在一种应用场景中,接收模块405可以用于:
[0198]
根据会话密钥对处理结果进行解密得到目标信息。处理结果为处理节点根据会话密钥对求交处理的结果进行加密得到的。
[0199]
图16是根据一示例性实施例示出的另一种信息的处理装置的框图,如图16所示,该装置400还可以包括:
[0200]
建立模块406,用于在向可信执行环境中的处理节点发送认证请求之前,通过预设的握手协议,与至少一个其他业务端确定求交密钥。
[0201]
在一种应用场景中,建立模块406可以用于执行以下步骤:
[0202]
步骤a)根据随机生成的第一处理因子对预设的生成元进行处理,得到第一初始密钥,并将第一初始密钥发送至其他业务端,其他业务端用于根据随机生成的第二处理因子对第一初始密钥进行处理,得到求交密钥。
[0203]
步骤b)接收其他业务端发送的第二初始密钥,第二初始密钥为其他业务端根据第二处理因子对生成元进行处理得到的。
[0204]
步骤c)根据第一处理因子对第二初始密钥进行处理,得到求交密钥。
[0205]
在另一种应用场景中,处理节点包括:认证节点和第一数量个工作节点。
[0206]
相应的,认证模块401用于:
[0207]
向认证节点发送认证请求,认证请求用于指示认证节点基于可信执行环境,根据认证请求生成认证信息,并启用第一数量个工作节点。
[0208]
确认模块402用于:
[0209]
接收认证节点发送的认证信息。
[0210]
发送模块404可以用于:
[0211]
将中间数据中包括的多个数值,分配至第二数量个数值分组。按照加密方式对每个数值分组进行加密,生成对应的传输分组,得到包括第二数量个传输分组的传输数据。针对每个传输分组,按照传输分组的标识与工作节点的标识的对应关系,将该传输分组发送至对应的工作节点,对应的工作节点用于对该传输分组进行解密获取对应的数值分组,并对数值分组与其他业务端对应的数值分组进行求交处理。
[0212]
接收模块405可以用于:
[0213]
将第一数量个工作节点发送的处理结果进行合并,以确定目标信息。
[0214]
在另一种应用场景中,发送模块404可以用于实现以下步骤:
[0215]
首先,针对每个数值,按照数值与数值分组的标识的对应关系,将该数值,分配至对应的数值分组。
[0216]
之后,将每个数值分组中包括的数值进行排序。
[0217]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法
的实施例中进行了详细描述,此处将不做详细阐述说明。
[0218]
综上所述,本公开中目标业务端首先向处理节点发送认证请求,处理节点基于可信执行环境生成用于确定处理节点是否可信的认证信息。之后,目标业务端接收处理节点发送的认证信息,并确定认证信息是否根据认证请求生成。在认证信息为根据认证请求生成的情况下,目标业务端确定处理节点可信,并根据预设的求交密钥对目标业务端的待处理信息进行加密得到中间数据。然后,目标业务端按照预设的加密方式对中间数据进行加密得到传输数据,并将传输数据发送至处理节点,由处理节点对中间数据进行求交处理。最后,目标业务端接收处理节点发送的处理结果,并根据处理结果确定待处理信息与其他业务端对应的待处理信息之间重复的目标信息。本公开中,通过目标业务端与其他业务端预先约定的求交密钥对待处理信息进行加密,使得处理节点既不会获取待处理信息,又能够实现对待处理信息的求交处理,避免了由于处理节点存在安全漏洞导致数据泄露的问题,提高了数据的安全性。
[0219]
图17是根据一示例性实施例示出的一种信息的处理装置的框图,如图17所示,该装置500包括:
[0220]
认证模块501,用于基于可信执行环境,根据目标业务端发送的认证请求生成认证信息,并将认证信息发送至目标业务端,认证信息用于确定处理节点是否可信,目标业务端为业务系统的任一业务端。
[0221]
接收模块502,用于接收目标业务端在确定认证信息为根据认证请求生成的情况下,发送的传输数据,传输数据为目标业务端按照预设的加密方式对中间数据进行加密生成的,中间数据为目标业务端根据预设的求交密钥对待处理信息进行加密得到的,求交密钥为目标业务端与其他业务端共同生成的,其他业务端为业务系统中除目标业务端之外的业务端。
[0222]
求交模块503,用于对传输数据进行解密获取中间数据,并对中间数据与其他业务端对应的中间数据进行求交处理。
[0223]
发送模块504,用于将处理结果发送至目标业务端和其他业务端,目标业务端和其他业务端用于根据处理结果,确定待处理信息与其他业务端对应的待处理信息之间重复的目标信息。
[0224]
在一种应用场景中,认证请求包括目标业务端随机生成的声明字符串,认证模块501可以用于执行以下步骤:
[0225]
步骤d)生成签名公钥、对应的签名私钥、传输公钥和对应的传输私钥。
[0226]
步骤e)利用签名私钥对声明字符串进行签名,以得到签名数据。
[0227]
步骤f)基于可信执行环境根据签名公钥和传输公钥生成校验数据。
[0228]
步骤g)根据签名公钥、传输公钥、签名数据和校验数据,生成认证信息。
[0229]
图18是根据一示例性实施例示出的另一种信息的处理装置的框图,如图18所示,求交模块503可以包括:
[0230]
第一解密模块5031,根据传输私钥对传输数据中包括的密钥密文进行解密得到会话密钥。
[0231]
第二解密模块5032,根据会话密钥对传输数据中包括的数据密文进行解密得到中间数据。
[0232]
其中,密钥密文为目标业务端根据传输公钥对会话密钥进行加密得到的,数据密文为目标业务端根据会话密钥对中间数据进行加密得到的,会话密钥为目标业务端随机生成的。
[0233]
在另一种应用场景中,发送模块504可以用于:
[0234]
根据会话密钥对求交处理的结果进行加密,得到处理结果。将处理结果发送至目标业务端,目标业务端用于根据会话密钥对处理结果进行解密,得到目标信息。
[0235]
在又一种应用场景中,处理节点包括:认证节点和第一数量个工作节点。传输数据包括第二数量个传输分组,传输分组为目标业务端将中间数据中包括的多个数值,分配至第二数量个数值分组,并按照加密方式对每个数值分组进行加密生成的。
[0236]
相应的,认证模块501可以用于:
[0237]
通过认证节点根据认证请求生成认证信息,并将认证信息发送至目标业务端。通过认证节点启用第一数量个工作节点。
[0238]
接收模块502可以用于:
[0239]
通过每个工作节点,接收该工作节点对应的传输分组。
[0240]
求交模块503可以用于:
[0241]
通过该工作节点对对应的传输分组进行解密获取对应的数值分组。通过该工作节点对数值分组与其他业务端对应的数值分组进行求交处理。
[0242]
发送模块504可以用于:
[0243]
通过每个工作节点将该工作节点的处理结果发送至目标业务端,目标业务端用于将第一数量个处理结果进行合并,并确定目标信息。
[0244]
在又一种应用场景中,认证模块501可以用于实现以下步骤:
[0245]
步骤1)通过认证节点基于可信执行环境生成的第一内部校验数据,第一内部校验数据用于校验可信执行环境。
[0246]
步骤2)通过认证节点向第一数量个工作节点发送第一内部校验数据,以使工作节点对第一内部校验数据进行校验。
[0247]
步骤3)通过认证节点接收每个工作节点基于可信执行环境生成的第二内部校验数据,第二内部校验数据用于校验可信执行环境。
[0248]
步骤4)通过认证节点在确定每个第二内部校验数据通过校验的情况下,向每个工作节点发送传输公钥和对应的传输私钥,传输公钥和传输私钥用于生成认证信息。
[0249]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0250]
综上所述,本公开中目标业务端首先向处理节点发送认证请求,处理节点基于可信执行环境生成用于确定处理节点是否可信的认证信息。之后,目标业务端接收处理节点发送的认证信息,并确定认证信息是否根据认证请求生成。在认证信息为根据认证请求生成的情况下,目标业务端确定处理节点可信,并根据预设的求交密钥对目标业务端的待处理信息进行加密得到中间数据。然后,目标业务端按照预设的加密方式对中间数据进行加密得到传输数据,并将传输数据发送至处理节点,由处理节点对中间数据进行求交处理。最后,目标业务端接收处理节点发送的处理结果,并根据处理结果确定待处理信息与其他业务端对应的待处理信息之间重复的目标信息。本公开中,通过目标业务端与其他业务端预
先约定的求交密钥对待处理信息进行加密,使得处理节点既不会获取待处理信息,又能够实现对待处理信息的求交处理,避免了由于处理节点存在安全漏洞导致数据泄露的问题,提高了数据的安全性。
[0251]
下面参考图19,其示出了适于用来实现本公开实施例的电子设备(例如图1中的任一个业务端或任一个处理节点)600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图19示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0252]
如图19所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储装置608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0253]
通常,以下装置可以连接至i/o接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图19示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0254]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从rom 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
[0255]
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的
程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0256]
在一些实施方式中,终端设备、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
[0257]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0258]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:向可信执行环境中的处理节点发送认证请求,所述认证请求用于指示所述处理节点基于所述可信执行环境,根据所述认证请求生成认证信息,所述认证信息用于确定所述处理节点是否可信;接收所述处理节点发送的所述认证信息,并确定所述认证信息是否根据所述认证请求生成;在所述认证信息为根据所述认证请求生成的情况下,确定所述处理节点可信,并根据预设的求交密钥对目标业务端的待处理信息进行加密得到中间数据,所述求交密钥为所述目标业务端与其他业务端共同生成的,所述其他业务端为业务系统中除所述目标业务端之外的业务端;按照预设的加密方式对所述中间数据进行加密得到传输数据,并将所述传输数据发送至所述处理节点;接收所述处理节点发送的处理结果,所述处理结果为所述处理节点对所述传输数据进行解密得到所述中间数据,并对所述中间数据与所述其他业务端对应的中间数据进行求交处理得到的;根据所述处理结果确定所述待处理信息与所述其他业务端对应的待处理信息之间重复的目标信息。
[0259]
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:基于可信执行环境,根据目标业务端发送的认证请求生成认证信息,并将所述认证信息发送至所述目标业务端,所述认证信息用于确定所述处理节点是否可信,所述目标业务端为业务系统的任一业务端;接收所述目标业务端在确定所述认证信息为根据所述认证请求生成的情况下,发送的传输数据,所述传输数据为所述目标业务端按照预设的加密方式对中间数据进行加密生成的,所述中间数据为所述目标业务端根据预设的求交密钥对待处理信息进行加密得到的,所述求交密钥为所述目标业务端与其他业务端共同生成的,所述其他业务端为所述业务系统中除所述目标业务端之外的业务端;对所述传输数据进行解密获取所述中间数据,并对所述中间数据与所述其他业务端对应的中间数据进行求交处理;将处理结果发送至所述目标业务端和所述其他业务端,所述目标业务端和所述其他业务端用于根据所述处理结果,确定所述待处理信息与所述其他业务端对应的待处理信息之间重复的目标信息。
[0260]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言——诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包
括局域网(lan)或广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0261]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0262]
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,挑战模块还可以被描述为“向处理节点发送认证请求的模块”。
[0263]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0264]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0265]
根据本公开的一个或多个实施例,示例1提供了一种信息的处理方法,包括:向可信执行环境中的处理节点发送认证请求,所述认证请求用于指示所述处理节点基于所述可信执行环境,根据所述认证请求生成认证信息,所述认证信息用于确定所述处理节点是否可信;接收所述处理节点发送的所述认证信息,并确定所述认证信息是否根据所述认证请求生成;在所述认证信息为根据所述认证请求生成的情况下,确定所述处理节点可信,并根据预设的求交密钥对目标业务端的待处理信息进行加密得到中间数据,所述求交密钥为所述目标业务端与其他业务端共同生成的,所述其他业务端为业务系统中除所述目标业务端之外的业务端;按照预设的加密方式对所述中间数据进行加密得到传输数据,并将所述传输数据发送至所述处理节点;接收所述处理节点发送的处理结果,所述处理结果为所述处理节点对所述传输数据进行解密得到所述中间数据,并对所述中间数据与所述其他业务端对应的中间数据进行求交处理得到的;根据所述处理结果确定所述待处理信息与所述其他业务端对应的待处理信息之间重复的目标信息。
[0266]
根据本公开的一个或多个实施例,示例2提供了示例1的方法,所述认证请求包括
随机生成的声明字符串,所述确定所述认证信息是否根据所述认证请求生成,包括:获取所述认证信息中包括的签名公钥、传输公钥、签名数据和校验数据,所述签名数据为所述处理节点利用所述签名公钥对应的签名私钥对所述声明字符串进行签名得到的,所述校验数据为所述处理节点基于所述可信执行环境根据所述签名公钥和所述传输公钥生成的,所述校验数据用于校验所述可信执行环境;若所述认证信息满足预设条件,确定所述认证信息为根据所述认证请求生成;所述预设条件包括:所述校验数据通过校验;所述校验数据根据所述签名公钥和所述传输公钥生成;利用所述签名公钥对所述签名数据进行签名验证的结果,与所述声明字符串匹配。
[0267]
根据本公开的一个或多个实施例,示例3提供了示例1的方法,所述按照预设的加密方式对所述中间数据进行加密得到传输数据,并将所述传输数据发送至所述处理节点,包括:根据随机生成的会话密钥对所述中间数据进行加密,得到数据密文,并根据所述认证信息中包括的传输公钥对所述会话密钥进行加密,得到密钥密文;根据所述数据密文和所述密钥密文生成所述传输数据;将所述传输数据发送至所述处理节点,所述处理节点用于根据所述传输公钥对应的传输私钥对所述密钥密文进行解密得到所述会话密钥,根据所述会话密钥对所述数据密文进行解密得到所述中间数据,并对所述中间数据与所述其他业务端对应的中间数据进行求交处理。
[0268]
根据本公开的一个或多个实施例,示例4提供了示例3的方法,所述根据所述处理结果确定所述待处理信息与所述其他业务端对应的待处理信息之间重复的目标信息,包括:根据所述会话密钥对所述处理结果进行解密得到所述目标信息;所述处理结果为所述处理节点根据所述会话密钥对求交处理的结果进行加密得到的。
[0269]
根据本公开的一个或多个实施例,示例5提供了示例1的方法,在所述向可信执行环境中的处理节点发送认证请求之前,所述方法还包括:通过预设的握手协议,与至少一个所述其他业务端确定所述求交密钥。
[0270]
根据本公开的一个或多个实施例,示例6提供了示例5的方法,所述通过预设的握手协议,与至少一个所述其他业务端确定所述求交密钥,包括:根据随机生成的第一处理因子对预设的生成元进行处理,得到第一初始密钥,并将所述第一初始密钥发送至所述其他业务端,所述其他业务端用于根据随机生成的第二处理因子对所述第一初始密钥进行处理,得到所述求交密钥;接收所述其他业务端发送的第二初始密钥,所述第二初始密钥为所述其他业务端根据所述第二处理因子对所述生成元进行处理得到的;根据所述第一处理因子对所述第二初始密钥进行处理,得到所述求交密钥。
[0271]
根据本公开的一个或多个实施例,示例7提供了示例1至示例6的方法,所述处理节点包括:认证节点和第一数量个工作节点;所述向可信执行环境中的处理节点发送认证请求,包括:向所述认证节点发送所述认证请求,所述认证请求用于指示所述认证节点基于所述可信执行环境,根据所述认证请求生成所述认证信息,并启用第一数量个所述工作节点;所述接收所述处理节点发送的所述认证信息,包括:接收所述认证节点发送的所述认证信息;所述按照预设的加密方式对所述中间数据进行加密得到传输数据,并将所述传输数据发送至所述处理节点,包括:将所述中间数据中包括的多个数值,分配至第二数量个数值分组;按照所述加密方式对每个所述数值分组进行加密,生成对应的传输分组,得到包括第二数量个所述传输分组的所述传输数据;针对每个所述传输分组,按照传输分组的标识与工
作节点的标识的对应关系,将该传输分组发送至对应的所述工作节点,对应的所述工作节点用于对该传输分组进行解密获取对应的所述数值分组,并对所述数值分组与所述其他业务端对应的数值分组进行求交处理;所述根据所述处理结果确定所述待处理信息与所述其他业务端对应的待处理信息之间重复的目标信息,包括:将第一数量个所述工作节点发送的所述处理结果进行合并,以确定所述目标信息。
[0272]
根据本公开的一个或多个实施例,示例8提供了示例7的方法,所述将所述中间数据中包括的多个数值,分配至第二数量个数值分组,包括:针对每个所述数值,按照数值与数值分组的标识的对应关系,将该数值,分配至对应的所述数值分组;将每个所述数值分组中包括的数值进行排序。
[0273]
根据本公开的一个或多个实施例,示例9提供了一种信息的处理方法,包括:基于可信执行环境,根据目标业务端发送的认证请求生成认证信息,并将所述认证信息发送至所述目标业务端,所述认证信息用于确定所述处理节点是否可信,所述目标业务端为业务系统的任一业务端;接收所述目标业务端在确定所述认证信息为根据所述认证请求生成的情况下,发送的传输数据,所述传输数据为所述目标业务端按照预设的加密方式对中间数据进行加密生成的,所述中间数据为所述目标业务端根据预设的求交密钥对待处理信息进行加密得到的,所述求交密钥为所述目标业务端与其他业务端共同生成的,所述其他业务端为所述业务系统中除所述目标业务端之外的业务端;对所述传输数据进行解密获取所述中间数据,并对所述中间数据与所述其他业务端对应的中间数据进行求交处理;将处理结果发送至所述目标业务端和所述其他业务端,所述目标业务端和所述其他业务端用于根据所述处理结果,确定所述待处理信息与所述其他业务端对应的待处理信息之间重复的目标信息。
[0274]
根据本公开的一个或多个实施例,示例10提供了示例9的方法,所述认证请求包括所述目标业务端随机生成的声明字符串,所述根据目标业务端发送的认证请求生成认证信息,包括:生成签名公钥、对应的签名私钥、传输公钥和对应的传输私钥;利用所述签名私钥对所述声明字符串进行签名,得到签名数据;基于所述可信执行环境,根据所述签名公钥和所述传输公钥生成校验数据;根据所述签名公钥、所述传输公钥、所述签名数据和所述校验数据,生成所述认证信息。
[0275]
根据本公开的一个或多个实施例,示例11提供了示例10的方法,所述对所述传输数据进行解密获取所述中间数据,包括:根据所述传输私钥对所述传输数据中包括的密钥密文进行解密得到会话密钥;根据所述会话密钥对所述传输数据中包括的数据密文进行解密得到所述中间数据;所述密钥密文为所述目标业务端根据所述传输公钥对所述会话密钥进行加密得到的,所述数据密文为所述目标业务端根据所述会话密钥对所述中间数据进行加密得到的,所述会话密钥为所述目标业务端随机生成的。
[0276]
根据本公开的一个或多个实施例,示例12提供了示例11的方法,所述将处理结果发送至所述目标业务端和所述其他业务端,包括:根据所述会话密钥对求交处理的结果进行加密,得到所述处理结果;将所述处理结果发送至所述目标业务端,所述目标业务端用于根据所述会话密钥对所述处理结果进行解密,得到所述目标信息。
[0277]
根据本公开的一个或多个实施例,示例13提供了示例9至示例12的方法,所述处理节点包括:认证节点和第一数量个工作节点;所述传输数据包括第二数量个传输分组,所述
传输分组为所述目标业务端将所述中间数据中包括的多个数值,分配至第二数量个数值分组,并按照所述加密方式对每个所述数值分组进行加密生成的;所述根据目标业务端发送的认证请求生成认证信息,并将所述认证信息发送至所述目标业务端,包括:通过所述认证节点根据所述认证请求生成所述认证信息,并将所述认证信息发送至所述目标业务端;通过所述认证节点启用第一数量个所述工作节点;所述接收所述目标业务端在确定所述认证信息为根据所述认证请求生成的情况下,发送的传输数据,包括:通过每个所述工作节点,接收该工作节点对应的所述传输分组;所述对所述传输数据进行解密获取所述中间数据,并对所述中间数据与所述其他业务端对应的中间数据进行求交处理,包括:通过该工作节点对对应的所述传输分组进行解密获取对应的所述数值分组;通过该工作节点对所述数值分组与所述其他业务端对应的数值分组进行求交处理;所述将处理结果发送至所述目标业务端和所述其他业务端,包括:通过每个所述工作节点将该工作节点的所述处理结果发送至所述目标业务端,所述目标业务端用于将第一数量个所述处理结果进行合并,并确定所述目标信息。
[0278]
根据本公开的一个或多个实施例,示例14提供了示例13的方法,所述启用第一数量个所述工作节点,包括:通过所述认证节点基于所述可信执行环境生成的第一内部校验数据,所述第一内部校验数据用于校验所述可信执行环境;通过所述认证节点向第一数量个所述工作节点发送所述第一内部校验数据,以使所述工作节点对所述第一内部校验数据进行校验;通过所述认证节点接收每个所述工作节点基于所述可信执行环境生成的第二内部校验数据,所述第二内部校验数据用于校验所述可信执行环境;通过所述认证节点在确定每个所述第二内部校验数据通过校验的情况下,向每个所述工作节点发送传输公钥和对应的传输私钥,所述传输公钥和所述传输私钥用于生成所述认证信息。
[0279]
根据本公开的一个或多个实施例,示例15提供了一种信息的处理装置,所述装置包括:认证模块,用于向可信执行环境中的处理节点发送认证请求,所述认证请求用于指示所述处理节点基于所述可信执行环境,根据所述认证请求生成认证信息,所述认证信息用于确定所述处理节点是否可信;确认模块,用于接收所述处理节点发送的所述认证信息,并确定所述认证信息是否根据所述认证请求生成;处理模块,用于在所述认证信息为根据所述认证请求生成的情况下,确定所述处理节点可信,并根据预设的求交密钥对目标业务端的待处理信息进行加密得到中间数据,所述求交密钥为所述目标业务端与其他业务端共同生成的,所述其他业务端为业务系统中除所述目标业务端之外的业务端;发送模块,用于按照预设的加密方式对所述中间数据进行加密得到传输数据,并将所述传输数据发送至所述处理节点;接收模块,用于接收所述处理节点发送的处理结果,所述处理结果为所述处理节点对所述传输数据进行解密得到所述中间数据,并对所述中间数据与所述其他业务端对应的中间数据进行求交处理得到的;根据所述处理结果确定所述待处理信息与所述其他业务端对应的待处理信息之间重复的目标信息。
[0280]
根据本公开的一个或多个实施例,示例16提供了一种信息的处理装置,所述装置包括:认证模块,用于基于可信执行环境,根据目标业务端发送的认证请求生成认证信息,并将所述认证信息发送至所述目标业务端,所述认证信息用于确定所述处理节点是否可信,所述目标业务端为业务系统的任一业务端;接收模块,用于接收所述目标业务端在确定所述认证信息为根据所述认证请求生成的情况下,发送的传输数据,所述传输数据为所述
目标业务端按照预设的加密方式对中间数据进行加密生成的,所述中间数据为所述目标业务端根据预设的求交密钥对待处理信息进行加密得到的,所述求交密钥为所述目标业务端与其他业务端共同生成的,所述其他业务端为所述业务系统中除所述目标业务端之外的业务端;求交模块,用于对所述传输数据进行解密获取所述中间数据,并对所述中间数据与所述其他业务端对应的中间数据进行求交处理;发送模块,用于将处理结果发送至所述目标业务端和所述其他业务端,所述目标业务端和所述其他业务端用于根据所述处理结果,确定所述待处理信息与所述其他业务端对应的待处理信息之间重复的目标信息。
[0281]
根据本公开的一个或多个实施例,示例17提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1至示例8,示例9至示例14中所述方法的步骤。
[0282]
根据本公开的一个或多个实施例,示例18提供了一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1至示例8,示例9至示例14中所述方法的步骤。
[0283]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0284]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0285]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献