一种基于联邦学习的医疗数据共享与隐私保护方法和系统与流程

文档序号:31402798发布日期:2022-09-03 05:05阅读:183来源:国知局
一种基于联邦学习的医疗数据共享与隐私保护方法和系统与流程

1.本发明属于数据安全领域,尤其涉及一种基于联邦学习的医疗数据共享与隐私保护方法和系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.随着大数据、移动边缘计算和机器学习等技术的飞速发展,共享经济也在快速发展。网络信息时代产生了海量的医疗数据,其共享将会产生极大的价值。使用大数据分析和机器学习等技术将分散在各个医疗机构的医疗数据进行学习和分析,打破医疗数据的信息孤岛桎梏,将会更好的推动医药事业的发展。由于可能会带来隐私泄露等方面的安全风险,各个医疗机构并不愿意共享数据,这使得不同医疗机构之间难以利用对方的数据进行联合分析或者建模。因此,亟需构建医疗数据安全共享和隐私保护的新模式,打消医疗机构的安全顾虑,联合多方数据协同生产,推动医疗数据价值的高效释放。
4.为了实现数据安全共享和隐私保护,一些学者提出基于联邦学习来实现医疗数据协同应用。数据拥有方利用收到的模型在本地联合训练模型,然后将训练产生的梯度上传进行聚合,循环多轮直至收敛完成模型训练。虽然联邦学习虽然没有发送任何原始数据,但是每次迭代都会暴露中间结果。这一中间结果可能是每方提供的梯度,或者多方聚合的梯度,或者是一个本轮结束之后的模型中间结果。而一个参与方可以根据这些暴露的结果以及结果之间的差异性推算一些不应该泄露的信息,这将会对数据安全和隐私安全造成威胁。为解决联邦学习由于暴露中间结果造成数据泄露的问题,一些学者利用密码学方法来计算梯度聚合,但会造成计算代价增加。另一些方法利用差分隐私给中间结果加一些噪音,但会影响最终训练结果的准确性。


技术实现要素:

5.为了解决上述背景技术中存在的至少一项技术问题,本发明提供一种基于联邦学习的医疗数据共享与隐私保护方法和系统,其在保证各个医院医疗数据安全和隐私安全的同时,实现聚合过程的安全保护,防止中间梯度泄露隐私,从而高效的实现数据共享。
6.为了实现上述目的,本发明采用如下技术方案:本发明的第一个方面提供一种基于联邦学习的医疗数据共享与隐私保护方法,包括如下步骤:接收数据需求方选定的初始化机器学习模型,并交给安全审查智能合约进行合规性审核,审查通过后继续执行;否则,返回安全校验不通过;存储医院节点上传的模型信息并发布;调用模型训练智能合约将模型信息采用sgx进行处理得到新的全局模型密文,并验证其是否满足收敛条件,若不满足则开启新一轮的联邦学习迭代,若满足收敛条件,则将
训练完成的机器学习模型保存到区块链。
7.本发明的第二个方面提供一种基于联邦学习的医疗数据共享与隐私保护方法,包括如下步骤:选定初始化机器学习模型并将其交给安全审查智能合约进行合规性审核;通过审查后将初始化机器学习模型采用各个医院的公钥加密,并对模型密文取哈希后上传至区块链;调用模型训练智能合约进行机器学习模型训练;调用数据查询智能合约获取训练完成的机器学习模型的密文和密文哈希值;将训练完成的机器学习模型密文哈希值和从区块链下载的模型密文哈希值进行对比,对模型的完整性进行校验;采用私钥对进行完整性校验后的模型的密文进行解密,获取模型。
8.本发明的第三个方面提供一种基于联邦学习的医疗数据共享与隐私保护方法,包括如下步骤:调用数据查询智能合约获取数据需求方的初始化机器学习模型;使用本地数据进行联邦学习对初始化机器学习模型进行训练,得到模型梯度;将模型梯度使用sgx的公钥进行加密,生成梯度密文;对梯度密文取哈希值,获取模型梯度密文的哈希值;将模型梯度密文和密文哈希值上传到区块链,进行发布。
9.本发明的第四个方面提供一种基于联邦学习的医疗数据共享与隐私保护系统,包括:合规性审核模块,被配置为:接收数据需求方选定的初始化机器学习模型,并交给安全审查智能合约进行合规性审核,审查通过后继续执行;否则,返回安全校验不通过;信息获取模块,被配置为:存储医院节点上传的模型信息并发布;部署节点梯度模块,被配置为:调用模型训练智能合约将模型信息采用sgx进行处理得到新的全局模型密文,并验证其是否满足收敛条件,若不满足则开启新一轮的联邦学习迭代,若满足收敛条件,则将训练完成的机器学习模型保存到区块链。
10.本发明的第五个方面提供一种基于联邦学习的医疗数据共享与隐私保护系统,包括:模型选定模块,被配置为:选定初始化机器学习模型并将其交给安全审查智能合约进行合规性审核;模型加密模块,被配置为:通过审查后将初始化机器学习模型采用各个医院的公钥加密,并对模型密文取哈希后上传至区块链;模型训练模块,被配置为:调用模型训练智能合约进行机器学习模型训练;模型获取模块,被配置为:调用数据查询智能合约获取训练完成的机器学习模型的密文和密文哈希值;将训练完成的机器学习模型密文哈希值和从区块链下载的模型密文哈希值进行对比,对模型的完整性进行校验;采用私钥对进行完整性校验后的模型的密文进行解密,获取模型。
11.本发明的第六个方面提供一种基于联邦学习的医疗数据共享与隐私保护系统,包
括:数据查询模块,被配置为:调用数据查询智能合约获取数据需求方的初始化机器学习模型;本地训练模块,被配置为:使用本地数据进行联邦学习对初始化机器学习模型进行训练,得到模型梯度;模型加密模块,被配置为:将模型梯度使用sgx的公钥进行加密,生成梯度密文;对梯度密文取哈希值,获取模型梯度密文的哈希值;将模型梯度密文和密文哈希值上传到区块链,进行发布。
12.与现有技术相比,本发明的有益效果是:本发明通过在保证医院数据不离开本地的情况下进行联合训练,模型训练的中间梯度加密并基于区块链的数据资源发布,通过智能合约在基于sgx可信执行环境中进行模型中间梯度解密并聚合,sgx将聚合的新全局模型上传到智能合约进行判断是否满足收敛条件,从而决定是否继续迭代训练,智能合约在新全局模型满足收敛条件下将模型发送给数据需求方,否则继续迭代进行联合训练;在保证各个医院医疗数据安全和隐私安全的同时,实现聚合过程的安全保护,防止中间梯度泄露隐私,从而高效的实现数据共享。
附图说明
13.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
14.图1是本发明基于联邦学习的数据共享流程图;图2是本发明sgx数据处理过程;图3是本发明数据共享架构及分布式数据交换网络实现。
具体实施方式
15.下面结合附图与实施例对本发明作进一步说明。
16.应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
17.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
18.术语解释sgx,(software guard extensions),是英特尔指令集架构上的扩展,为程序的运行提供了硬件级的安全,而不是基于外部软硬件的安全状态。其允许应用程序在内存中开辟一个被保护的、可信的可执行区域,称为安全区(enclave),将不同程序进行隔离再运行,为程序提供机密性和完整性的保护,如图2为其数据处理过程。
19.本发明的整体思路为:如图1和图3所示,数据需求方选定初始化机器学习模型并将其交给安全审核智能
合约进行合规性审核;通过审核后数据需求方将初始化机器学习模型使用各个医院公钥加密,然后对模型密文取哈希,将模型密文、密文哈希值和收敛条件上传至区块链,然后生成模型聚合智能合约;医院节点使用数据查询智能合约从区块链上下载初始化机器学习模型到本地;医院使用本地数据进行联邦学习训练模型,训练出己方的局部梯度;医院将己方的局部梯度使用sgx公钥进行加密,生成梯度密文;医院对梯度密文取哈希值,生成梯度密文哈希值;医院将梯度密文和梯度密文哈希值上传到区块链;模型聚合智能合约调用sgx并将各个医院上传的梯度密文和密文哈希值传输到sgx;sgx计算梯度密文的哈希值并与收到的梯度密文哈希值做对比,进行完整性校验;校验通过后使用sgx 的私钥解密梯度密文,获取到各个医院的梯度值,并进行模型聚合,形成新的全局模型;sgx审核新的全局模型是否达到收敛条件;若模型达到收敛结果,则使用数据需求方的公钥加密数据,若未达到则使用各个医院公钥加密,然后对模型密文取哈希;sgx将新的全局模型密文、密文哈希值和模型是否收敛的结果上传到区块链,发布数据;模型审核智能合约验证新的全局模型是否满足预定义的收敛条件;若新的全局模型并未达到收敛条件,则将新的全局模型再次分发给各个医院进行联邦学习迭代,若满足了收敛条件则将全局模型返回给数据需求方;数据需求方验证模型的完整性然后使用私钥解密,获取模型。
20.本发明可在保证医院医疗数据留存在本地的同时保证医疗数据共享的隐私安全和数据安全。
21.实施例一本实施例提供一种基于联邦学习的医疗数据共享与隐私保护方法,包括如下步骤:区块链实现模型审核、智能合约部署和执行、数据资源发布和数据资源查询等操作。
22.步骤1:部署安全审查智能合约;步骤2:接收数据需求方选定的初始化机器学习模型,并交给安全审查智能合约进行合规性审核,审查通过后继续执行;否则,返回安全校验不通过;步骤3:部署模型审核合约、模型聚合合约和数据查询合约;步骤4:存储医院节点上传的模型中间梯度密文、密文哈希值、模型密文和模型密文哈希值等信息,并将这些信息进行发布;步骤5:调用模型训练智能合约将模型中间梯度密文和密文哈希值等信息采用sgx进行模型聚合;步骤6:sgx验证梯度完整性之后将验证结果上传,并对这些信息进行记录;步骤7:接收sgx聚合完成的新的全局模型,并验证其是否满足收敛条件,若不满足则开启新一轮的联邦学习迭代,若满足收敛条件,则将训练完成的机器学习模型保存到区块链;步骤8:数据需求方检索区块链获取训练完成的机器学习模型密文和密文哈希值。
23.如图2所示为sgx数据处理过程,具体包括:步骤1:通过链下合约接收模型梯度密文和密文哈希值;
步骤2:对模型梯度密文取哈希值,然后将其从区块链下载的模型梯度密文哈希做对比,若两者有差别,则终止程序并反馈到区块链,若无差别,则转至下一步;步骤3:使用自身私钥解密加密后的模型梯度密钥,获取模型梯度;步骤4:使用获取的模型梯度聚合生成新的全局模型;步骤5:sgx审核新的全局模型是否达到收敛条件;若模型达到收敛条件,则使用数据需求方的公钥加密数据,若未达到则使用各个医院公钥加密,然后对模型密文取哈希;步骤6:sgx将新的全局模型密文、密文哈希值和模型是否收敛的结果上传到区块链,并发布数据。
24.上述方案的优点在于,支持数据需求方的模型安全审核;保证医院数据不离开本地的情况下进行联合训练;模型训练的中间梯度加密并基于区块链的数据资源发布;通过智能合约在基于sgx可信执行环境中进行模型中间梯度解密并聚合;sgx将聚合的新全局模型上传到智能合约进行判断是否满足收敛条件,从而决定是否继续迭代训练;智能合约在新全局模型满足收敛条件下将模型发送给数据需求方,否则继续迭代进行联合训练;在保证各个医院医疗数据安全和隐私安全的同时,实现聚合过程的安全保护,防止中间梯度泄露隐私,从而高效的实现数据共享。
25.实施例二本实施例提供一种基于联邦学习的医疗数据共享与隐私保护方法,包括如下步骤:数据需求方选定初始化机器学习模型并审核、模型加密、上传初始化机器学习模型密文、调用模型训练智能合约进行模型训练、调用数据查询合约获取训练完成的机器学习模型密文、验证模型完整性和获取模型等操作。
26.步骤1:数据需求方选定初始化机器学习模型并将其交给安全审查智能合约进行合规性审核;步骤2:通过审查后将初始化机器学习模型采用各个医院的公钥加密,并对模型密文取哈希后上传至区块链;步骤3:调用模型训练智能合约进行机器学习模型训练;步骤4:调用数据查询智能合约获取训练完成的机器学习模型的密文和密文哈希值;步骤5:将训练完成的机器学习模型密文哈希值和从区块链下载的模型密文哈希值进行对比,对模型的完整性进行校验;步骤6:采用私钥对进行完整性校验后的模型的密文进行解密,获取模型。
27.实施例三本实施例提供一种基于联邦学习的医疗数据共享与隐私保护方法,包括如下步骤:医院从区块链上检索全局模型模型、使用本地数据对全局模型进行训练得到模型梯度、使用sgx 的公钥加密生成的模型梯度、将模型梯度密文取哈希值和将模型梯度密文和密文哈希值上传到区块链。
28.步骤1:调用数据查询智能合约获取数据需求方的初始化机器学习模型;步骤2:使用本地数据进行联邦学习对初始化机器学习模型进行训练,得到模型梯
度;步骤3:将模型梯度使用sgx的公钥进行加密,生成梯度密文;步骤4:对梯度密文取哈希值,获取模型梯度密文的哈希值;步骤5:将模型梯度密文和密文哈希值上传到区块链,进行发布。
29.实施例四本实施例提供一种基于联邦学习的医疗数据共享与隐私保护系统,包括:合规性审核模块,被配置为:部署安全审查智能合约;接收数据需求方选定的初始化机器学习模型,并交给安全审查智能合约进行合规性审核,审查通过后继续执行;否则,返回安全校验不通过;合约部署模块,被配置为:部署模型审核合约、模型聚合合约和数据查询合约;信息获取模块,被配置为:存储医院节点上传的模型中间梯度密文、密文哈希值、模型密文和模型密文哈希值等信息,并将这些信息进行发布;部署节点梯度模块,被配置为:调用模型训练智能合约将模型中间梯度密文和密文哈希值等信息采用sgx进行模型聚合;sgx验证梯度完整性之后将验证结果上传,并对这些信息进行记录;接收sgx聚合完成的新的全局模型,并验证其是否满足收敛条件,若不满足则开启新一轮的联邦学习迭代,若满足收敛条件,则将训练完成的机器学习模型保存到区块链;数据需求方检索区块链获取训练完成的机器学习模型密文和密文哈希值。
30.其中,部署节点梯度模块,具体被配置为:调用模型训练智能合约将模型信息采用sgx进行处理得到新的全局模型密文,包括:通过链下合约接收模型梯度密文和密文哈希值;对模型梯度密文取哈希值,将其从区块链下载的模型梯度密文哈希做对比,若两者有差别,则终止程序并反馈到区块链,若无差别,则转使用自身私钥解密加密后的模型梯度密钥,获取模型梯度;使用获取的模型梯度聚合生成新的全局模型。
31.审核新的全局模型是否达到收敛条件;若模型达到收敛条件,则使用数据需求方的公钥加密数据,若未达到则使用各个医院公钥加密,然后对模型密文取哈希;将新的全局模型密文、密文哈希值和模型是否收敛的结果上传到区块链,并发布数据。
32.实施例五本实施例提供一种基于联邦学习的医疗数据共享与隐私保护系统,包括:模型选定模块,被配置为:数据需求方选定初始化机器学习模型并将其交给安全审查智能合约进行合规性审核;模型加密模块,被配置为:通过审查后将初始化机器学习模型采用各个医院的公钥加密并对密文取哈希后上传至区块链;模型训练模块,被配置为:调用模型训练智能合约进行机器学习模型训练;模型获取模块,被配置为:调用数据查询智能合约获取训练完成的机器学习模型的密文和密文哈希值;将训练完成的机器学习模型密文哈希值和从区块链下载的模型密文哈希值进行对比,对模型的完整性进行校验;
采用私钥对进行完整性校验后的模型的密文进行解密,获取模型。
33.实施例六本实施例提供一种基于联邦学习的医疗数据共享与隐私保护系统,包括:数据查询模块,被配置为:调用数据查询智能合约获取数据需求方的初始化机器学习模型;本地训练模块,被配置为:使用本地数据进行联邦学习对初始化机器学习模型进行训练,得到模型梯度;模型加密模块,被配置为:将模型梯度使用sgx的公钥进行加密,生成梯度密文;对梯度密文取哈希值,获取模型梯度密文的哈希值;将模型梯度密文和密文哈希值上传到区块链,进行发布。
34.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1