1.本发明涉及联邦学习技术领域,具体为一种联邦学习自动化安全验证方法。
背景技术:2.联邦学习,一种新兴的人工智能基础技术,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。其中,联邦学习可使用的机器学习算法不局限于神经网络,还包括随机森林等重要算法。联邦学习有望成为下一代人工智能协同算法和协作网络的基础。
3.根据数据特点,联邦学习主要分为横向联邦学习和纵向联邦学习。其中,横向联邦学习要求数据是同构的;纵向联邦学习要求数据是异构的。
4.但是现有的联邦学习方法往往无法包装数据传输中的安全性,容易丢失数据被外界所获知,安全性不高。
技术实现要素:5.本发明提供了如下技术方案:
6.一种联邦学习自动化安全验证方法,包括:
7.s1:通过文件处理模块将初始全局模型发送到联邦学习模块中,联邦学习模块将根据初始全局模型在区块链模块上注册任务,并通过区块链模块连接智能合约模块发布注册合约;
8.s2:通过文件处理模块将注册完成的初始全局模型发送到联邦学习模块中,联邦学习模块对初始全局模型进行训练,获得全局模型,并通过区块链模块连接智能合约模块发布任务合约;
9.s3:通过文件处理模块将训练完成的全局模型发送到联邦学习模块中,联邦学习模块对全局模型进行验证,获得全局模型及其验证集,并向区块链模块提交验证结果,进行审查;
10.s4:在联邦学习模块与区块链模块连接的过程中,通过联邦学习模块通过安全请求模块上传密码到区块链模块的安全验证模块中,安全验证模块通过密钥破解密码,并将回执信息发送到联邦学习模块中,进行验证;
11.s5:当需要调整密码和密钥的生成算法,避免被破解时,通过远程终端发送算法到安全请求模块和安全验证模块中。
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.密钥算法导入模块,用于接收远程终端发送的信息,导入密钥的算法;
39.密钥生成模块,用于根据当前的密钥算法,随机生成密钥,并将密钥上传到匹配模
块中;
40.匹配模块,用于匹配密钥和密码,当密钥和密码匹配时,将信息上传到回执模块中;
41.回执模块,用于将匹配完成的信息发送回到联邦学习模块中。
42.作为本发明所述的一种联邦学习自动化安全验证方法的优选方案,其中:密码算法导入模块和密钥算法导入模块,包括如下公式:
43.所述希尔密码的逆矩阵算法公式如下,
44.|ab|=1/(ad-bc)*|-bd|
45.|cd||-ca|
46.所述rsa算法的主要数学公式:
47.n=p*q
[0048][0049][0050]
c=me mod n
[0051]
m=cd mod n。
[0052]
与现有技术相比:
[0053]
通过文件处理模块将初始全局模型发送到联邦学习模块中,联邦学习模块将根据初始全局模型在区块链模块上注册任务,并通过区块链模块连接智能合约模块发布注册合约,通过文件处理模块将注册完成的初始全局模型发送到联邦学习模块中,联邦学习模块对初始全局模型进行训练,获得全局模型,并通过区块链模块连接智能合约模块发布任务合约,通过文件处理模块将训练完成的全局模型发送到联邦学习模块中,联邦学习模块对全局模型进行验证,获得全局模型及其验证集,并向区块链模块提交验证结果,进行审查,在联邦学习模块与区块链模块连接的过程中,通过联邦学习模块通过安全请求模块上传密码到区块链模块的安全验证模块中,安全验证模块通过密钥破解密码,并将回执信息发送到联邦学习模块中,进行验证,当需要调整密码和密钥的生成算法,避免被破解时,通过远程终端发送算法到安全请求模块和安全验证模块中;
[0054]
该一种联邦学习自动化安全验证方法,能够在模型训练的过程中,通过密钥和密码对这个数据交换的过程进行加密,避免模型训练的数据被外界获取,提高安全性。
附图说明
[0055]
为了更清楚地说明本发明实施方式的技术方案,下面将结合附图和详细实施方式对本发明进行详细说明,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。其中:
[0056]
图1为本发明的流程图;
[0057]
图2为本发明的拓扑图;
[0058]
图3为本发明联邦学习模块的拓扑图;
[0059]
图4为本发明智能合约模块的拓扑图;
[0060]
图5为本发明安全请求模块的拓扑图;
[0061]
图6为本发明安全验证模块的拓扑图。
[0062]
图中:100文件处理模块、200联邦学习模块、210任务发布节点、220模型训练节点、230模型验证节点、300区块链模块、400智能合约模块、410存储模块、420差分隐私模块、430注册合约、440任务合约、450输出模块、500安全请求模块、510密码算法导入模块、520密码生成模块、530密码上传模块、600安全验证模块、610密钥算法导入模块、620密钥生成模块、630匹配模块、640回执模块、700远程终端。
具体实施方式
[0063]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面对本发明的具体实施方式做详细的说明。
[0064]
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施方式的限制。
[0065]
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的实施方式进一步的详细描述。
[0066]
图1-图6示出的是本发明一种联邦学习自动化安全验证方法,能够在模型训练的过程中,通过密钥和密码对这个数据交换的过程进行加密,避免模型训练的数据被外界获取,提高安全性,包括:
[0067]
一种联邦学习自动化安全验证方法,使用该验证方法的系统包括:
[0068]
文件处理模块100,连接有联邦学习模块200,所述文件处理模块100用于发送初始全局模型并保持训练验证完成的全局模型;
[0069]
联邦学习模块200,连接有区块链模块300、安全请求模块500和安全验证模块600,所述联邦学习模块200用于训练和验证全局模型;
[0070]
区块链模块300,连接有智能合约模块400,所述区块链模块300用于连接联邦学习模块200和智能合约模块400,申请注册合约430和任务合约440;
[0071]
智能合约模块400,用于存储信息,并输出注册合约430和任务合约440;
[0072]
安全请求模块500,连接有安全验证模块600和远程终端700,所述安全请求模块500用于上传密码到安全验证模块600中进行验证;
[0073]
安全验证模块600,连接有区块链模块300和远程终端700,所述安全验证模块600用于接收密码,并通过密钥与密码进行匹配,当匹配完成时,发送验证完成信息到联邦学习模块200中;
[0074]
远程终端700,用于发送密码和密钥的生成算法到安全请求模块500和安全验证模块600中。
[0075]
所述联邦学习模块200包括任务发布节点210、模型训练节点220和模型验证节点230,所述任务发布节点210用于发布任务,上传初始模型到区块链模块300中,所述模型训练模块用于对上传模型进行训练,获得全局模型,所述模型验证节点230用于验证全局模型,并将验证结果发送到区块链模块300中。
[0076]
所述智能合约模块400包括存储模块410、差分隐私模块420、注册合约430、任务合
约440和输出模块450,所述存储模块410连接有差分隐私模块420,所述差分隐私模块420上传注册合约430和任务合约440到输出模块450中。
[0077]
存储模块410,用于存储智能合约信息,并将信息上传到差分隐私模块420中;
[0078]
差分隐私模块420,用于对敏感数据进行遍历,得到输出的数据,并且通过注册合约430和任务合约440的形式将数据上传到输出模块450中;
[0079]
注册合约430,用于在区块链上发布注册合约430;
[0080]
任务合约440,用于在区块链上发布任务合约440;
[0081]
输出模块450,用于输出注册合约430和任务合约440到区块链模块300中。
[0082]
所述安全请求模块500包括密码算法导入模块510、密码生成模块520和密码上传模块530,所述密码算法导入模块510连接有密码生成模块520,所述密码生成模块520连接有密码上传模块530。
[0083]
密码算法导入模块510,用于接收远程终端700发送的信息,导入密码的算法;
[0084]
密码生成模块520,用于根据当前的密码算法,随机生成密码,并将密码上传到密码上传模块530中;
[0085]
密码上传模块530,用于通过密码上传模块530,将密码上传到安全验证模块600中。
[0086]
密钥算法导入模块610,用于接收远程终端700发送的信息,导入密钥的算法;
[0087]
密钥生成模块620,用于根据当前的密钥算法,随机生成密钥,并将密钥上传到匹配模块630中;
[0088]
匹配模块630,用于匹配密钥和密码,当密钥和密码匹配时,将信息上传到回执模块640中;
[0089]
回执模块640,用于将匹配完成的信息发送回到联邦学习模块200中。
[0090]
实施例1:文件处理模块100发送初始全局模型并保持训练验证完成的全局模型,联邦学习模块200训练和验证全局模型,区块链模块300连接联邦学习模块200和智能合约模块400,申请注册合约430和任务合约440,智能合约模块400存储信息,并输出注册合约430和任务合约440,安全请求模块500上传密码到安全验证模块600中进行验证,安全验证模块600接收密码,并通过密钥与密码进行匹配,当匹配完成时,发送验证完成信息到联邦学习模块200中,远程终端700发送密码和密钥的生成算法到安全请求模块500和安全验证模块600中。
[0091]
实施例2:与实施例1中不同的是,所述智能合约模块400包括存储模块410、差分隐私模块420、注册合约430、任务合约440和输出模块450,所述存储模块410连接有差分隐私模块420,所述差分隐私模块420上传注册合约430和任务合约440到输出模块450中,存储模块410存储智能合约信息,并将信息上传到差分隐私模块420中,差分隐私模块420对敏感数据进行遍历,得到输出的数据,并且通过注册合约430和任务合约440的形式将数据上传到输出模块450中,注册合约430在区块链上发布注册合约430,任务合约440,用于在区块链上发布任务合约440,输出模块450输出注册合约430和任务合约440到区块链模块300中。
[0092]
实施例3:与实施例1中不同的是,所述安全请求模块500包括密码算法导入模块510、密码生成模块520和密码上传模块530,所述密码算法导入模块510连接有密码生成模块520,所述密码生成模块520连接有密码上传模块530,密码算法导入模块510接收远程终
端700发送的信息,导入密码的算法,密码生成模块520根据当前的密码算法,随机生成密码,并将密码上传到密码上传模块530中,密码上传模块530通过密码上传模块530,将密码上传到安全验证模块600中。
[0093]
实施例4:与实施例1中不同的是,回执模块640,所述密钥算法导入模块610连接有密钥生成模块620,所述密钥生成模块620连接有匹配模块630,所述匹配模块630连接有回执模块640,密钥算法导入模块610接收远程终端700发送的信息,导入密钥的算法;密钥生成模块620根据当前的密钥算法,随机生成密钥,并将密钥上传到匹配模块630中,匹配模块630匹配密钥和密码,当密钥和密码匹配时,将信息上传到回执模块640中,回执模块640将匹配完成的信息发送回到联邦学习模块200中。
[0094]
密码算法导入模块510和密钥算法导入模块610,包括如下公式:
[0095]
所述希尔密码的逆矩阵算法公式如下,
[0096]
|ab|=1/(ad-bc)*|-bd|
[0097]
|cd||-ca|
[0098]
所述rsa算法的主要数学公式:
[0099]
n=p*q
[0100][0101][0102]
c=me mod n
[0103]
m=cd mod n。
[0104]
工作原理:
[0105]
通过文件处理模块100将初始全局模型发送到联邦学习模块200中,联邦学习模块200将根据初始全局模型在区块链模块300上注册任务,并通过区块链模块300连接智能合约模块400发布注册合约430,通过文件处理模块100将注册完成的初始全局模型发送到联邦学习模块200中,联邦学习模块200对初始全局模型进行训练,获得全局模型,并通过区块链模块300连接智能合约模块400发布任务合约440,通过文件处理模块100将训练完成的全局模型发送到联邦学习模块200中,联邦学习模块200对全局模型进行验证,获得全局模型及其验证集,并向区块链模块300提交验证结果,进行审查,在联邦学习模块200与区块链模块300连接的过程中,通过联邦学习模块200通过安全请求模块500上传密码到区块链模块300的安全验证模块600中,安全验证模块600通过密钥破解密码,并将回执信息发送到联邦学习模块200中,进行验证,当需要调整密码和密钥的生成算法,避免被破解时,通过远程终端700发送算法到安全请求模块500和安全验证模块600中。
[0106]
虽然在上文中已经参考实施方式对本发明进行了描述,然而在不脱离本发明的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,本发明所披露的实施方式中的各项特征均可通过任意方式相互结合起来使用,在本说明书中未对这些组合的情况进行穷举性的描述仅仅是出于省略篇幅和节约资源的考虑。因此,本发明并不局限于文中公开的特定实施方式,而是包括落入权利要求的范围内的所有技术方案。
技术特征:1.一种联邦学习自动化安全验证方法,其特征在于,包括:s1:通过文件处理模块(100)将初始全局模型发送到联邦学习模块(200)中,联邦学习模块(200)将根据初始全局模型在区块链模块(300)上注册任务,并通过区块链模块(300)连接智能合约模块(400)发布注册合约(430);s2:通过文件处理模块(100)将注册完成的初始全局模型发送到联邦学习模块(200)中,联邦学习模块(200)对初始全局模型进行训练,获得全局模型,并通过区块链模块(300)连接智能合约模块(400)发布任务合约(440);s3:通过文件处理模块(100)将训练完成的全局模型发送到联邦学习模块(200)中,联邦学习模块(200)对全局模型进行验证,获得全局模型及其验证集,并向区块链模块(300)提交验证结果,进行审查;s4:在联邦学习模块(200)与区块链模块(300)连接的过程中,通过联邦学习模块(200)通过安全请求模块(500)上传密码到区块链模块(300)的安全验证模块(600)中,安全验证模块(600)通过密钥破解密码,并将回执信息发送到联邦学习模块(200)中,进行验证;s5:当需要调整密码和密钥的生成算法,避免被破解时,通过远程终端(700)发送算法到安全请求模块(500)和安全验证模块(600)中。2.根据权利要求1所述的一种联邦学习自动化安全验证方法,其特征在于,使用该验证方法的系统包括:文件处理模块(100),连接有联邦学习模块(200),所述文件处理模块(100)用于发送初始全局模型并保持训练验证完成的全局模型;联邦学习模块(200),连接有区块链模块(300)、安全请求模块(500)和安全验证模块(600),所述联邦学习模块(200)用于训练和验证全局模型;区块链模块(300),连接有智能合约模块(400),所述区块链模块(300)用于连接联邦学习模块(200)和智能合约模块(400),申请注册合约(430)和任务合约(440);智能合约模块(400),用于存储信息,并输出注册合约(430)和任务合约(440);安全请求模块(500),连接有安全验证模块(600)和远程终端(700),所述安全请求模块(500)用于上传密码到安全验证模块(600)中进行验证;安全验证模块(600),连接有区块链模块(300)和远程终端(700),所述安全验证模块(600)用于接收密码,并通过密钥与密码进行匹配,当匹配完成时,发送验证完成信息到联邦学习模块(200)中;远程终端(700),用于发送密码和密钥的生成算法到安全请求模块(500)和安全验证模块(600)中。3.根据权利要求2所述的一种联邦学习自动化安全验证方法,其特征在于,所述联邦学习模块(200)包括任务发布节点(210)、模型训练节点(220)和模型验证节点(230),所述任务发布节点(210)用于发布任务,上传初始模型到区块链模块(300)中,所述模型训练模块用于对上传模型进行训练,获得全局模型,所述模型验证节点(230)用于验证全局模型,并将验证结果发送到区块链模块(300)中。4.根据权利要求2所述的一种联邦学习自动化安全验证方法,其特征在于,所述智能合约模块(400)包括存储模块(410)、差分隐私模块(420)、注册合约(430)、任务合约(440)和输出模块(450),所述存储模块(410)连接有差分隐私模块(420),所述差分
隐私模块(420)上传注册合约(430)和任务合约(440)到输出模块(450)中。5.根据权利要求4所述的一种联邦学习自动化安全验证方法,其特征在于,存储模块(410),用于存储智能合约信息,并将信息上传到差分隐私模块(420)中;差分隐私模块(420),用于对敏感数据进行遍历,得到输出的数据,并且通过注册合约(430)和任务合约(440)的形式将数据上传到输出模块(450)中;注册合约(430),用于在区块链上发布注册合约(430);任务合约(440),用于在区块链上发布任务合约(440);输出模块(450),用于输出注册合约(430)和任务合约(440)到区块链模块(300)中。6.根据权利要求2所述的一种联邦学习自动化安全验证方法,其特征在于,所述安全请求模块(500)包括密码算法导入模块(510)、密码生成模块(520)和密码上传模块(530),所述密码算法导入模块(510)连接有密码生成模块(520),所述密码生成模块(520)连接有密码上传模块(530)。7.根据权利要求6所述的一种联邦学习自动化安全验证方法,其特征在于,密码算法导入模块(510),用于接收远程终端(700)发送的信息,导入密码的算法;密码生成模块(520),用于根据当前的密码算法,随机生成密码,并将密码上传到密码上传模块(530)中;密码上传模块(530),用于通过密码上传模块(530),将密码上传到安全验证模块(600)中。8.根据权利要求2所述的一种联邦学习自动化安全验证方法,其特征在于,所述安全验证模块(600)包括密钥算法导入模块(610)、密钥生成模块(620)、匹配模块(630)和回执模块(640),所述密钥算法导入模块(610)连接有密钥生成模块(620),所述密钥生成模块(620)连接有匹配模块(630),所述匹配模块(630)连接有回执模块(640)。9.根据权利要求8所述的一种联邦学习自动化安全验证方法,其特征在于,密钥算法导入模块(610),用于接收远程终端(700)发送的信息,导入密钥的算法;密钥生成模块(620),用于根据当前的密钥算法,随机生成密钥,并将密钥上传到匹配模块(630)中;匹配模块(630),用于匹配密钥和密码,当密钥和密码匹配时,将信息上传到回执模块(640)中;回执模块(640),用于将匹配完成的信息发送回到联邦学习模块(200)中。10.根据权利要求1所述的一种联邦学习自动化安全验证方法,其特征在于,密码算法导入模块(510)和密钥算法导入模块(610),包括如下公式:所述希尔密码的逆矩阵算法公式如下,|ab|=1/(ad-bc)*|-bd||cd||-ca|所述rsa算法的主要数学公式:n=p*qn=p*q
c=me mod nm=cd mod n。
技术总结本发明公开的属于联邦学习技术领域,具体为一种联邦学习自动化安全验证方法,包括:通过文件处理模块将初始全局模型发送到联邦学习模块中,联邦学习模块将根据初始全局模型在区块链模块上注册任务,并通过区块链模块连接智能合约模块发布注册合约;通过文件处理模块将注册完成的初始全局模型发送到联邦学习模块中,联邦学习模块对初始全局模型进行训练,获得全局模型,并通过区块链模块连接智能合约模块发布任务合约。该一种联邦学习自动化安全验证方法,能够在模型训练的过程中,通过密钥和密码对这个数据交换的过程进行加密,避免模型训练的数据被外界获取,提高安全性。提高安全性。提高安全性。
技术研发人员:于鹏飞 石聪聪 黄秀丽 高先周 沈文 梁飞 杨如侠
受保护的技术使用者:国家电网有限公司 国网江苏省电力有限公司 国网江苏省电力有限公司营销服务中心
技术研发日:2022.04.19
技术公布日:2022/7/5