发明内容
本申请实施例提供一种基于多数据节点的数据处理方法、系统及存储介质,用以解决多个数据节点间的数据进行融合过程中,无法有效保障各数据节点的数据安全的问题。
第一方面,本申请实施例提供一种基于多数据节点的数据处理方法,应用于联邦学习系统,所述联邦学习系统包括多个依次连接的数据节点,所述方法包括:
每一所述数据节点分别确定各自的初始数据特征;
相邻数据节点中的后一数据节点,对所述后一数据节点的初始数据特征和所述相邻数据节点中的前一数据节点输出的加密数据特征进行特征融合,得到所述后一数据节点的融合数据,并采用所述后一数据节点的公钥对所述后一数据节点的融合数据进行加密,得到加密数据特征;其中,每一所述数据节点的公钥不同,每一所述数据节点的私钥不同,首端的数据节点输出的加密数据特征仅包括首端的数据节点的初始数据特征;
依据末端的数据节点至首端的数据节点的次序,每一所述数据节点采用所述每一所述数据节点的私钥,对每一所述数据节点的加密数据特征进行解密,得到解密数据特征;其中,首端的数据节点输出的解密数据特征表征各所述数据节点的初始数据特征,所述首端的数据节点的解密数据特征用于进行评估分析。
在可能的设计中,相邻数据节点中的后一数据节点,对所述后一数据节点的初始数据特征和所述相邻数据节点中的前一数据节点输出的加密数据特征进行特征融合,得到所述后一数据节点的融合数据,并采用所述后一数据节点的公钥对所述后一数据节点的融合数据进行加密,得到加密数据特征,包括:
首端的数据节点获取对应的初始数据特征;
首端的数据节点利用首端的数据节点的公钥对所述初始数据特征进行加密,生成首端的数据节点对应的加密数据特征,并向相邻的后一数据节点发送所述首端的数据节点对应的加密数据特征;
首端的数据节点之后的各数据节点,依次接收相邻的前一数据节点发送的加密数据特征,并利用各自的初始数据特征与所述相邻的前一数据节点发送的加密数据特征进行特征融合和利用各自的公钥进行加密,生成各自的加密数据特征。
在可能的设计中,所述数据节点的总数为N,N为大于1的正整数;首端的数据节点之后的各数据节点,依次接收相邻的前一数据节点发送的加密数据特征,并利用各自的初始数据特征与所述相邻的前一数据节点发送的加密数据特征进行特征融合和利用各自的公钥进行加密,生成各自的加密数据特征,包括,
第i个数据节点接收第i-1个数据节点发送的加密数据特征;
第i个数据节点利用预设的首端的数据节点至第i-1个数据节点分别对应的公钥依次对第i个数据节点对应的初始数据特征进行同态加密,生成第一中间数据特征;
第i个数据节点将所述加密数据特征与所述第一中间数据特征进行同态运算,得到特征融合后的加密第二中间数据特征;
第i个数据节点利用预设的与第i个数据节点对应的公钥对第二中间数据特征进行加密,得到与第i个数据节点对应的加密数据特征;其中,i为大于1小于等于N的正整数。
在可能的设计中,依据末端的数据节点至首端的数据节点的次序,每一所述数据节点采用所述每一所述数据节点的私钥,对每一所述数据节点的加密数据特征进行解密,得到解密数据特征,包括:
末端的数据节点获取对应的加密数据特征;
末端的数据节点利用末端的数据节点的私钥对所述加密数据特征进行同态解密,生成末端的数据节点对应的解密数据特征,并向相邻的后一数据节点发送所述末端的数据节点对应的解密数据特征;
末端的数据节点之后的各数据节点,依次接收相邻的前一数据节点发送的解密数据特征,并利用各自的私钥对所述相邻的前一数据节点发送的解密数据特征进行解密,生成各自的解密数据特征。
在可能的设计中,每一所述数据节点分别确定各自的初始数据特征,包括:
每一所述数据节点分别获取各自对应的初始样本数据和特征运算策略;
每一所述数据节点分别根据各自对应的特征运算策略,对各自对应的初始样本数据进行特征运算,获得与所述各数据节点对应的初始数据特征。
在可能的设计中,相邻数据节点中的后一数据节点,对所述后一数据节点的初始数据特征和所述相邻数据节点中的前一数据节点输出的加密数据特征进行特征融合,得到所述后一数据节点的融合数据,并采用所述后一数据节点的公钥对所述后一数据节点的融合数据进行加密,得到加密数据特征,包括,
第i个数据节点接收第i-1个数据节点发送的加密数据特征;
第i个数据节点利用预设的首端的数据节点至第i-1个数据节点分别对应的公钥依次对第i个数据节点对应的初始数据特征进行同态加密,生成第一中间数据特征;
第i个数据节点将所述加密数据特征与所述第一中间数据特征进行同态运算,得到特征融合后的加密第二中间数据特征;
第i个数据节点根据预设的放大倍数阈值,对所述征融合后的加密第二中间数据特征进行放大,得到第三中间数据特征;
第i个数据节点利用预设的与第i个数据节点对应的公钥对第三中间数据特征进行加密,得到与第i个数据节点对应的加密数据特征;其中,i为大于1小于等于N的正整数。
在可能的设计中,所述同态运算包括:同态加法运算和同态数乘运算中的至少一种。
第二方面,本申请实施例提供了一种联邦学习系统,所述系统包括:多个依次连接的数据节点。
每一所述数据节点,用于分别确定各自的初始数据特征;
相邻数据节点中的后一数据节点,用于对所述后一数据节点的初始数据特征和所述相邻数据节点中的前一数据节点输出的加密数据特征进行特征融合,得到所述后一数据节点的融合数据,并采用所述后一数据节点的公钥对所述后一数据节点的融合数据进行加密,得到加密数据特征;其中,每一所述数据节点的公钥不同,每一所述数据节点的私钥不同,首端的数据节点输出的加密数据特征仅包括首端的数据节点的初始数据特征;
依据末端的数据节点至首端的数据节点的次序,每一所述数据节点,用于采用所述每一所述数据节点的私钥,对每一所述数据节点的加密数据特征进行解密,得到解密数据特征;其中,首端的数据节点输出的解密数据特征表征各所述数据节点的初始数据特征,所述首端的数据节点的解密数据特征用于进行评估分析。
在可能的设计中,相邻数据节点中的后一数据节点,在对所述后一数据节点的初始数据特征和所述相邻数据节点中的前一数据节点输出的加密数据特征进行特征融合,得到所述后一数据节点的融合数据,并采用所述后一数据节点的公钥对所述后一数据节点的融合数据进行加密,得到加密数据特征时,具体用于:
首端的数据节点用于获取对应的初始数据特征;
首端的数据节点用于利用首端的数据节点的公钥对所述初始数据特征进行加密,生成首端的数据节点对应的加密数据特征,并向相邻的后一数据节点发送所述首端的数据节点对应的加密数据特征;
首端的数据节点之后的各数据节点,用于依次接收相邻的前一数据节点发送的加密数据特征,并利用各自的初始数据特征与所述相邻的前一数据节点发送的加密数据特征进行特征融合和利用各自的公钥进行加密,生成各自的加密数据特征。
在可能的设计中,所述数据节点的总数为N,N为大于1的正整数;首端的数据节点之后的各数据节点,在依次接收相邻的前一数据节点发送的加密数据特征,并利用各自的初始数据特征与所述相邻的前一数据节点发送的加密数据特征进行特征融合和利用各自的公钥进行加密,生成各自的加密数据特征时,具体用于,
第i个数据节点接收第i-1个数据节点发送的加密数据特征;
第i个数据节点利用预设的首端的数据节点至第i-1个数据节点分别对应的公钥依次对第i个数据节点对应的初始数据特征进行同态加密,生成第一中间数据特征;
第i个数据节点将所述加密数据特征与所述第一中间数据特征进行同态运算,得到特征融合后的加密第二中间数据特征;
第i个数据节点利用预设的与第i个数据节点对应的公钥对第二中间数据特征进行加密,得到与第i个数据节点对应的加密数据特征;其中,i为大于1小于等于N的正整数。
在可能的设计中,依据末端的数据节点至首端的数据节点的次序,每一所述数据节点在采用所述每一所述数据节点的私钥,对每一所述数据节点的加密数据特征进行解密,得到解密数据特征时,具体用于:
末端的数据节点获取对应的加密数据特征;
末端的数据节点利用末端的数据节点的私钥对所述加密数据特征进行同态解密,生成末端的数据节点对应的解密数据特征,并向相邻的后一数据节点发送所述末端的数据节点对应的解密数据特征;
末端的数据节点之后的各数据节点,依次接收相邻的前一数据节点发送的解密数据特征,并利用各自的私钥对所述相邻的前一数据节点发送的解密数据特征进行解密,生成各自的解密数据特征。
在可能的设计中,每一所述数据节点在分别确定各自的初始数据特征时,具体用于:
每一所述数据节点分别获取各自对应的初始样本数据和特征运算策略;
每一所述数据节点分别根据各自对应的特征运算策略,对各自对应的初始样本数据进行特征运算,获得与所述各数据节点对应的初始数据特征。
在可能的设计中,相邻数据节点中的后一数据节点,在对所述后一数据节点的初始数据特征和所述相邻数据节点中的前一数据节点输出的加密数据特征进行特征融合,得到所述后一数据节点的融合数据,并采用所述后一数据节点的公钥对所述后一数据节点的融合数据进行加密,得到加密数据特征时,具体用于,
第i个数据节点接收第i-1个数据节点发送的加密数据特征;
第i个数据节点利用预设的首端的数据节点至第i-1个数据节点分别对应的公钥依次对第i个数据节点对应的初始数据特征进行同态加密,生成第一中间数据特征;
第i个数据节点将所述加密数据特征与所述第一中间数据特征进行同态运算,得到特征融合后的加密第二中间数据特征;
第i个数据节点根据预设的放大倍数阈值,对所述征融合后的加密第二中间数据特征进行放大,得到第三中间数据特征;
第i个数据节点利用预设的与第i个数据节点对应的公钥对第三中间数据特征进行加密,得到与第i个数据节点对应的加密数据特征;其中,i为大于1小于等于N的正整数。
在可能的设计中,所述同态运算包括:同态加法运算和同态数乘运算中的至少一种。
第三方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述的基于多数据节点的数据处理方法。
本申请实施例提供一种基于多数据节点的数据处理方法、系统及存储介质,通过每一所述数据节点分别确定各自的初始数据特征;相邻数据节点中的后一数据节点,对所述后一数据节点的初始数据特征和所述相邻数据节点中的前一数据节点输出的加密数据特征进行特征融合,得到所述后一数据节点的融合数据,并采用所述后一数据节点的公钥对所述后一数据节点的融合数据进行加密,得到加密数据特征;其中,每一所述数据节点的公钥不同,每一所述数据节点的私钥不同,首端的数据节点输出的加密数据特征仅包括首端的数据节点的初始数据特征;依据末端的数据节点至首端的数据节点的次序,每一所述数据节点采用所述每一所述数据节点的私钥,对每一所述数据节点的加密数据特征进行解密,得到解密数据特征;其中,首端的数据节点输出的解密数据特征表征各所述数据节点的初始数据特征,所述首端的数据节点的解密数据特征用于进行评估分析。由于多个数据节点在将各自的数据特征进行特征融合的过程中,使用了各自的公钥对融合特征进行加密,因此保证了即时融合数据在各数据节点间传输过程中被截获,也无法利用单一的私钥进行解密,保证了数据的安全性,再通过各数据节点对特征融合后的加密数据特征依次进行解密,得到能够用于评估分析的解密数据特征,提高各数据节点间数据进行共享时的数据安全性。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先对本申请实施例所涉及的名词进行解释:
联邦特征工程变换:联邦特征工程变换是基于联邦学习的技术,主要应用于多方风控建模,用来提升联邦学习过程中数据特征的效果。在多方风控建模流程中,需要预先评估具体风控模型需要以及各数据方对数据敏感性的要求,通过联邦特征工程变换技术,对各数据方的数据进行特征变化,得到适合于风控模型的数据特征,之后根据该数据特征进行风控模型的建模。
同态加密:同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。利用同态加密技术可以先对多个密文进行计算之后再解密,不必对每一个密文解密而花费高昂的计算代价;利用同态加密技术可以实现无密钥方对密文的计算,密文计算无须经过密钥方,既可以减少通信代价,又可以转移计算任务,由此可平衡各方的计算代价;利用同态加密技术可以实现让解密方只能获知最后的结果,而无法获得每一个密文的消息,可以提高信息的安全性。
图1为本申请实施例提供的一个具体的应用场景。如图1所示,在本实施例提供的应用场景中,数据节点A、数据节点B、数据节点C分别保存用于评估用户信用的不同数据。为了实现数据节点A、数据节点B、数据节点C之间的数据资源共享,数据节点A、数据节点B、数据节点C之间通过联邦学习系统,进行数据融合和加密,得到融合后的特征数据,进而通过融合后的特征数据对用户信用进行评估分析。
现有技术中,由数据节点A至数据节点C,依次将各自的数据进行融合后,并利用一个相同的公钥进行同态加密,之后,在数据节点C处完成全部数据的融合后,用该公钥对应的私钥对数据融合后得到的特征数据进行解密,得到包含全部特征的特征数据。然后,由于数据节点C具有唯一的公钥对应的私钥,因此,若数据节点C截获了数据节点A发送给数据节点B的数据,则可以直接用该私钥进行解密,造成数据节点A处的原始数据或原始数据特征的泄密,影响数据传输的安全性。
针对上述技术问题,本发明提供一种基于多数据节点的数据处理方法、系统及存储介质,通过在各数据节点处逐层加密,并在特征融合后逐层回传解密,提高数据传输过程中的安全性,降低数据被截获后被解密的风险。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种基于多数据节点的数据处理方法的流程图,如图2所示,本实施例中的方法应用于联邦学习系统,联邦学习系统包括多个依次连接的数据节点,本实施例提供的基于多数据节点的数据处理方法可以包括:
S101、每一数据节点分别确定各自的初始数据特征。
示例性地,数据节点可以为位于不同权限区域的数据存储单元,例如为各公司内的数据服务器。不同数据节点之间,由于数据权限的问题,不能将各自的初始样本数据直接进行合并,不然会造成各公司的数据泄露,影响数据安全。数据节点之间通过有线或无线的方式通信连接,并能够进行数据的传输和指令的交互。
示例性地,其中,各数据节点之间依次连接,可以为各数据节点之间采用串行的专用线路依次进行连接,也可以为个数据节点分别连入广域网,之后各数据节点之间按照预设的顺序依次进行数据的传输,实现各数据节点之间依次连接的效果。此处,不对数据节点之间连接的具体实现方式进行限定。
初始数据特征是指各数据节点所存储的数据所对应具有的特征,该特征可以通过对初始样本数据进行特征变化得到。例如,数据节点A存储有用户的消费样本数据,对应的,数据节点A通过对用户的消费样本数据进行特征变化后,得到一个用户的消费能力特征,即初始数据特征。示例性地,初始数据特征可以是根据一种或多种初始样本数据进行特征变化而来,其中,特征变化的具体方式,可以根据具体需要进行设置,此处不对此进行具体限制。
S102、相邻数据节点中的后一数据节点,对后一数据节点的初始数据特征和相邻数据节点中的前一数据节点输出的加密数据特征进行特征融合,得到后一数据节点的融合数据,并采用后一数据节点的公钥对后一数据节点的融合数据进行加密,得到加密数据特征;其中,每一数据节点的公钥不同,每一数据节点的私钥不同,首端的数据节点输出的加密数据特征仅包括首端的数据节点的初始数据特征。
图3为本申请实施例提供的一种各数据节点进行数据特征融合的示意图,如图3所示,首端的数据节点A获取自身的初始数据特征,并进行同态加密,得到首端的数据节点A对应的加密数据特征;之后,从第二个数据节点B开始,依次将自身的原始初始数据特征与前一数据节点输出的加密数据特征进行融合,直至末端的数据接触N,并依次得到融合数据,该融合数据中包含了当前数据节点之前的所有数据节点中存储的原始数据特征的信息。例如,数据节点A的原始数据特征为用户的消费能力;数据节点B的原始数据特征为用户的还款能力,数据节点C的原始数据特征为用户的收入水平,则在数据节点C处对应生成的融合数据中,包括了用户的消费能力、用户的还款能力、用户的收入水平三方面的信息,同时,由于数据节点A的原始数据特征、数据节点B的原始数据特征和数据节点C的原始数据特征已经进行了特征融合,因此无法直接还原出数据节点A、数据节点B、数据节点C的原始数据特征,实现了数据的保密传输。
同时,在每一数据节点将自身的原始数据特征与前一数据节点输出的加密数据特征进行融合,得到融合数据后,再利用自身的公钥对该融合数据进行加密,得到加密数据特征,同将该加密数据特征输出至下一个数据节点,用以支持下一个数据节点进行特征融合计算,直至末端的数据节点。
S103、依据末端的数据节点至首端的数据节点的次序,每一数据节点采用每一数据节点的私钥,对每一数据节点的加密数据特征进行解密,得到解密数据特征;其中,首端的数据节点输出的解密数据特征表征各数据节点的初始数据特征,首端的数据节点的解密数据特征用于进行评估分析。
在末端的数据节点处,已经完成了对所有数据节点的原始数据特征的特征融合,因此,末端的数据节点处的加密数据特征为已具备了各数据节点中的原始数据特征的完备的特征信息,该完备的特征信息,可以用于后续的联邦学习流程,实现对各数据节点的原始数据所对应的用户信息的评估分析。但是,此时由于该加密数据特征仍处于加密状态,因此无法直接使用该加密数据特征进行评估分析,需要对该加密数据特征进行解密。
图4为本申请实施例提供的一种各数据节点进行数据特征解密的示意图,如图4所示,示例性地,依据末端的数据节点N至首端的数据节点A的次序,各数据节点依次使用各自的私钥对上一数据节点发送的加密数据特征进行解密,获得与各自对应的解密数据特征,而后将该解密数据特征作为加密数据特征输出至后一数据节点,支持后一数据节点进行解密运算,直至首端的数据节点。其中,末端的数据节点对步骤S102中生成的已具备了各数据节点中的原始数据特征的加密数据特征进行解密,生成解密数据信息并发送至后一数据节点;首端的数据节点接收前一数据节点发送的解密数据特征并利用自身的私钥进行解密后,得到与首端的数据节点对应的解密数据特征,该解密数据特征为已具备了各数据节点中的原始数据特征,且处于未加密状态的完备的特征信息。该解密数据特征即可直接用于后续的联邦学习流程,实现对各数据节点的原始数据所对应的用户信息的评估分析。
本申请实施例提供一种基于多数据节点的数据处理方法、系统及存储介质,通过每一数据节点分别确定各自的初始数据特征;相邻数据节点中的后一数据节点,对后一数据节点的初始数据特征和相邻数据节点中的前一数据节点输出的加密数据特征进行特征融合,得到后一数据节点的融合数据,并采用后一数据节点的公钥对后一数据节点的融合数据进行加密,得到加密数据特征;其中,每一数据节点的公钥不同,每一数据节点的私钥不同,首端的数据节点输出的加密数据特征仅包括首端的数据节点的初始数据特征;依据末端的数据节点至首端的数据节点的次序,每一数据节点采用每一数据节点的私钥,对每一数据节点的加密数据特征进行解密,得到解密数据特征;其中,首端的数据节点输出的解密数据特征表征各数据节点的初始数据特征,首端的数据节点的解密数据特征用于进行评估分析。由于多个数据节点在将各自的数据特征进行特征融合的过程中,使用了各自的公钥对融合特征进行加密,因此保证了即时融合数据在各数据节点间传输过程中被截获,也无法利用单一的私钥进行解密,保证了数据的安全性,再通过各数据节点对特征融合后的加密数据特征依次进行解密,得到能够用于评估分析的解密数据特征,提高各数据节点间数据进行共享时的数据安全性。
图5为本申请实施例提供的另一种基于多数据节点的数据处理方法的流程图,如图5所示,本实施例提供的基于多数据节点的数据处理方法在图2所示实施例提供的基于多数据节点的数据处理方法的基础上,对步骤S101和S102进一步细化,则本实施例提供的基于多数据节点的数据处理方法可以包括:
S201、每一数据节点分别获取各自对应的初始样本数据和特征运算策略。
示例性地,初始样本数据为各数据节点存储的初始数据信息,例如为用户的消费记录、收支记录以及网页浏览记录等,不同的数据节点对应存储有不同的初始样本记录。例如,数据节点A,存储有用户a的消费记录;数据节点B,存储有用户a的收支记录;数据节点C,存储有用户a的网站浏览记录。
特征运算策略为各数据节点对初始样本数据进行特征计算的方法,例如,数据节点A通过用户a的消费记录,计算用户a的消费能力特征,该消费能力特征即为初始数据特征;对应的,通过消费记录确定消费能力特征的方法,即为特征运算策略。此处,特征运算策略的具体实现方法,可以根据需要进行设置,此处不再进行赘述。
S202、每一数据节点分别根据各自对应的特征运算策略,对各自对应的初始样本数据进行特征运算,获得与各数据节点对应的初始数据特征。
其中,特征运算是指能初始样本数据进行特征提取的运算,示例性地,多项式运算、指数运算、对数运算等,当然,也可以上述运算及其他运算的组合,特征运算的具体实现方式由特征运算策略确定,此处不进行具体限定。
S203、首端的数据节点获取对应的初始数据特征。
首端的数据节点根据之前进行特征运算的结果,获取对应的初始数据特征,示例性地,该数据特征可以是存储在首端数据节点的存储介质内,也可以是存储在其他位置,通过通信的方式获取该初始数据特征。
S204、首端的数据节点利用首端的数据节点的公钥对初始数据特征进行加密,生成首端的数据节点对应的加密数据特征,并向相邻的后一数据节点发送首端的数据节点对应的加密数据特征。
示例性地,首端的数据节点利用自身的公钥对初始数据特征进行同态加密,生成加密数据特征。该加密数据特征可以进行其他同态运算,但是在没有首端的数据节点的私钥的前提下,无法对其进行解密。
示例性地,首端的数据节点将加密后的加密数据特征向相邻的后一数据节点发送,其中,后一数据节点为在逻辑上相邻后一数据节点,该数据节点可能是与首端的数据节点直接或间接连接,并可以直接或间接的获取该加密数据特征,此处不对加密数据特征的发送路径进行具体限定。
S205、首端的数据节点之后的各数据节点,依次接收相邻的前一数据节点发送的加密数据特征,并利用各自的初始数据特征与相邻的前一数据节点发送的加密数据特征进行特征融合和利用各自的公钥进行加密,生成各自的加密数据特征。
其中,示例性地,利用各自的初始数据特征与相邻的前一数据节点发送的加密数据特征进行特征融合,包括多种实现方式,例如,通过同态加法运算的方式实现特征融合,或者通过同态数乘的方式实现特征融合,或者通过加法、数乘的混合同态计算的方式实现特征融合,此处,不进行具体限定。
示例性地,如图6所示,S205可以包括S2051、S2052、S2053、S2054四个具体的实现步骤:
S2051,第i个数据节点接收第i-1个数据节点发送的加密数据特征。
S2052,第i个数据节点利用预设的首端的数据节点至第i-1个数据节点分别对应的公钥依次对第i个数据节点对应的初始数据特征进行同态加密,生成第一中间数据特征。
例如,数据节点A、数据节点B、数据节点C中,数据节点A数据节点B、数据节点C的用于加密的公钥都是公开的,因此,数据节点A、数据节点B、数据节点C均可获得其他数据节点对应的公钥,数据节点C利用数据节点A和数据节点B的公钥,对数据节点C对应的初始数据特征进行加密,得到包含公钥a加密层和公钥b加密层的第一中间数据特征。该第一中间数据特征的加密形式,与第上一数据节点,即数据节点B发送给数据节点C的加密数据特征的加密形式相同。
S2053,第i个数据节点将加密数据特征与第一中间数据特征进行同态运算,得到特征融合后的加密第二中间数据特征。
如步骤S2052中举例所示,由于数据节点B对应的加密数据特征与数据节点C对应的第一中间数据特征的加密形式相同,因此二者可以进行同态运算,示例性地,加密数据特征与第一中间数据特征通过Paillier公钥加密算法进行同态加法运算。
S2054,第i个数据节点利用预设的与第i个数据节点对应的公钥对第二中间数据特征进行加密,得到与第i个数据节点对应的加密数据特征;其中,i为大于1小于等于N的正整数。
示例性地,在生成第二中间数据特征后,第i个数据节点再通过自身的公钥对该第二中间数据特征进行加密,从而实现对数据特征的逐层加密,使数据特征即使被截获,在截获方没有全部数据节点对应的私钥的情况下,仍然无法实现对数据特征的解密,保证了数据特征的安全。
示例性地,如图7所示,在一种可能的实现方式中,在图6所示实施例步骤的基础上,在步骤S2053之后,还包括:
S2053A,第i个数据节点根据预设的放大倍数阈值,对征融合后的加密第二中间数据特征进行放大,得到第三中间数据特征。
在多个数据节点之间的数据或特征进行特征融合的过程中,若只涉及同态加法运算或者同态数乘运算,则按照图6所示实施例提供的步骤即可实现,然而,在多个数据节点之间的数据或特征进行融合的过程中,同时涉及到加法同态和乘法同态时,会造成浮点数损失而影响计算准确性。因此,示例性地,在第i个数据节点获得第二中间数据特征后,根据预设的放大倍数阈值,对第二中间数据特征进行放大,例如放大倍数阈值为M=106,通过在每个数据节点处对第二中间数据特征进行放大,在完成计算后由于数乘对结果的不变性,可以再将放缩倍数还原,可以避免在数乘同态运算过程中导致的浮点数损失,提高运算精度。
相应的,步骤S2054替换为:
S2054A,第i个数据节点利用预设的与第i个数据节点对应的公钥对第三中间数据特征进行加密,得到与第i个数据节点对应的加密数据特征;其中,i为大于1小于等于N的正整数。
S2054A与S2054的实现方式和技术效果类似,在此不再一一赘述。
S206、末端的数据节点获取对应的加密数据特征。
具体地,末端的数据节点获取的加密数据特征,已经完成了对所有数据节点的原始数据特征的特征融合,但是此时由于该加密数据特征仍处于加密状态,因此无法直接使用该加密数据特征进行评估分析,需要对该加密数据特征进行解密。
S207、末端的数据节点利用末端的数据节点的私钥对加密数据特征进行同态解密,生成末端的数据节点对应的解密数据特征,并向相邻的后一数据节点发送末端的数据节点对应的解密数据特征。
示例性地,末端的数据节点利用自身的的私钥对加密数据特征进行同态解密,由于该私钥只有末端的数据节点具有,因此仅末端的数据节点可以对该加密数据特征进行解密。解密后,该加密数据特征中对应末端的数据节点的加密层去除,即该加密数据特征中不再含有末端的数据节点对其进行的加密部分,该状态的加密数据特征为末端的数据节点对应的解密数据特征。末端的数据节点将根据从末端的数据节点至首端的数据节点的顺序,向邻居的后一数据节点发送该解密数据特征。
S208、末端的数据节点之后的各数据节点,依次接收相邻的前一数据节点发送的解密数据特征,并利用各自的私钥对相邻的前一数据节点发送的解密数据特征进行解密,生成各自的解密数据特征。
具体地,末端的数据节点之后的各数据节点,依次接收相邻的前一数据节点发送的解密数据特征,该解密数据特征已进行了部分解密,之后,按照末端的数据节点至首端的数据节点的顺序,依次使用各数据节点私钥进行解密,逐步去除该解密数据特征中与各数据节点对应的各层密码。直至首端的数据节点去除首端的数据节点对应的解密数据特征中与首端的数据节点对应的最后一层密码后,首端的数据节点获得已完全解密的解密数据特征,该解密数据特征为已具备了各数据节点中的原始数据特征,且处于未加密状态的完备的特征信息。该解密数据特征即可直接用于后续的联邦学习流程,实现对各数据节点的原始数据所对应的用户信息的评估分析。
示例性地,若在对数据进行融合过程中进行了对加密数据特征进行了放大,则相应的,在解密过程中由各对应数据节点对解密数据特征进行相同倍数的缩小;或者,由首端的数据节点对解密数据特征进行总放大倍数的缩小。
本实施例中,S201-S202的实现方式与本申请图2所示实施例中的S101-S102的实现方式和技术效果相同,在此不再一一赘述。
图8为本申请实施例提供的联邦学习系统的结构示意图,如图8所示,本实施例提供的联邦学习系统包括多个依次连接的数据节点;
每一数据节点,用于分别确定各自的初始数据特征;
相邻数据节点中的后一数据节点,用于对后一数据节点的初始数据特征和相邻数据节点中的前一数据节点输出的加密数据特征进行特征融合,得到后一数据节点的融合数据,并采用后一数据节点的公钥对后一数据节点的融合数据进行加密,得到加密数据特征;其中,每一数据节点的公钥不同,每一数据节点的私钥不同,首端的数据节点输出的加密数据特征仅包括首端的数据节点的初始数据特征;
依据末端的数据节点至首端的数据节点的次序,每一数据节点,用于采用每一数据节点的私钥,对每一数据节点的加密数据特征进行解密,得到解密数据特征;其中,首端的数据节点输出的解密数据特征表征各数据节点的初始数据特征,首端的数据节点的解密数据特征用于进行评估分析。
在可能的设计中,相邻数据节点中的后一数据节点,在对后一数据节点的初始数据特征和相邻数据节点中的前一数据节点输出的加密数据特征进行特征融合,得到后一数据节点的融合数据,并采用后一数据节点的公钥对后一数据节点的融合数据进行加密,得到加密数据特征时,具体用于:
首端的数据节点用于获取对应的初始数据特征;
首端的数据节点用于利用首端的数据节点的公钥对初始数据特征进行加密,生成首端的数据节点对应的加密数据特征,并向相邻的后一数据节点发送首端的数据节点对应的加密数据特征;
首端的数据节点之后的各数据节点,用于依次接收相邻的前一数据节点发送的加密数据特征,并利用各自的初始数据特征与相邻的前一数据节点发送的加密数据特征进行特征融合和利用各自的公钥进行加密,生成各自的加密数据特征。
在可能的设计中,数据节点的总数为N,N为大于1的正整数;首端的数据节点之后的各数据节点,在依次接收相邻的前一数据节点发送的加密数据特征,并利用各自的初始数据特征与相邻的前一数据节点发送的加密数据特征进行特征融合和利用各自的公钥进行加密,生成各自的加密数据特征时,具体用于,
第i个数据节点接收第i-1个数据节点发送的加密数据特征;
第i个数据节点利用预设的首端的数据节点至第i-1个数据节点分别对应的公钥依次对第i个数据节点对应的初始数据特征进行同态加密,生成第一中间数据特征;
第i个数据节点将加密数据特征与第一中间数据特征进行同态运算,得到特征融合后的加密第二中间数据特征;
第i个数据节点利用预设的与第i个数据节点对应的公钥对第二中间数据特征进行加密,得到与第i个数据节点对应的加密数据特征;其中,i为大于1小于等于N的正整数。
在可能的设计中,依据末端的数据节点至首端的数据节点的次序,每一数据节点在采用每一数据节点的私钥,对每一数据节点的加密数据特征进行解密,得到解密数据特征时,具体用于:
末端的数据节点获取对应的加密数据特征;
末端的数据节点利用末端的数据节点的私钥对加密数据特征进行同态解密,生成末端的数据节点对应的解密数据特征,并向相邻的后一数据节点发送末端的数据节点对应的解密数据特征;
末端的数据节点之后的各数据节点,依次接收相邻的前一数据节点发送的解密数据特征,并利用各自的私钥对相邻的前一数据节点发送的解密数据特征进行解密,生成各自的解密数据特征。
在可能的设计中,每一数据节点在分别确定各自的初始数据特征时,具体用于:
每一数据节点分别获取各自对应的初始样本数据和特征运算策略;
每一数据节点分别根据各自对应的特征运算策略,对各自对应的初始样本数据进行特征运算,获得与各数据节点对应的初始数据特征。
在可能的设计中,相邻数据节点中的后一数据节点,在对后一数据节点的初始数据特征和相邻数据节点中的前一数据节点输出的加密数据特征进行特征融合,得到后一数据节点的融合数据,并采用后一数据节点的公钥对后一数据节点的融合数据进行加密,得到加密数据特征时,具体用于,
第i个数据节点接收第i-1个数据节点发送的加密数据特征;
第i个数据节点利用预设的首端的数据节点至第i-1个数据节点分别对应的公钥依次对第i个数据节点对应的初始数据特征进行同态加密,生成第一中间数据特征;
第i个数据节点将加密数据特征与第一中间数据特征进行同态运算,得到特征融合后的加密第二中间数据特征;
第i个数据节点根据预设的放大倍数阈值,对征融合后的加密第二中间数据特征进行放大,得到第三中间数据特征;
第i个数据节点利用预设的与第i个数据节点对应的公钥对第三中间数据特征进行加密,得到与第i个数据节点对应的加密数据特征;其中,i为大于1小于等于N的正整数。
在可能的设计中,同态运算包括:同态加法运算和同态数乘运算中的至少一种。
本实施例中,图9为图8所示实施例中数据节点的结构示意图,如图9所示,本实施例提供的数据节点9可以包括:处理器91和存储器92。
存储器92,用于存储程序;存储器92,可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-access memory,缩写:RAM),如静态随机存取存储器(英文:static random-access memory,缩写:SRAM),双倍数据率同步动态随机存取存储器(英文:Double Data Rate Synchronous Dynamic Random Access Memory,缩写:DDR SDRAM)等;存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory)。存储器92用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器92中。并且上述的计算机程序、计算机指令、数据等可以被处理器91调用。
上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器92中。并且上述的计算机程序、计算机指令、数据等可以被处理器91调用。
处理器91,用于执行存储器92存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。
具体可以参见前面方法实施例中的相关描述。
处理器91和存储器92可以是独立结构,也可以是集成在一起的集成结构。当处理器91和存储器92是独立结构时,存储器92、处理器91可以通过总线93耦合连接。
本实施例提供的多个网络节点9可以组成如图8所示的联邦学习系统,并共同执行如图2-图7任一所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请一个实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本发明图2-图7所对应的实施例中任一实施例提供的基于多数据节点的数据处理方法。
其中,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。