本发明属于联邦学习,具体涉及一种基于tee的联邦学习模型隐私保护方法。
背景技术:
1、随着全球隐私保护的不断增强,传统的机器学习范式面临一个问题,即无法从单一地点获取训练数据。联邦学习被认为是一种可行的隐私保护技术,可以利用分散的数据训练深度模型。然而,联邦学习在隐私保护方面仍存在许多不足之处,主要包括模型反转、梯度泄露和数据窃取等攻击问题。数据要素技术的发展同样迅猛,数据的采集、存储、处理、分析等环节都得到了极大的提升。特别是随着大数据、云计算、人工智能等技术的融合,数据要素的价值得到了进一步的释放。从趋势上看,隐私计算与数据要素技术的融合发展将成为未来的大方向。通过隐私计算技术,可以实现数据的安全流通和共享,进而推动数据要素市场的繁荣发展。然而,数据的流通与共享往往受到隐私和安全的制约,如何在保护个人隐私的同时实现数据的有效利用,成为了当今技术发展的重要课题。
2、现有的联邦学习隐私保护方法主要包括差分隐私、多方安全计算和可信执行环境(tee)。差分隐私通过向模型参数或梯度添加噪声来保护隐私,但会导致模型精度损失。多方安全计算基于密码学原语,虽然能提供严格的隐私保护,但通信开销大。tee技术则提供了高精度的模型训练和低迁移成本,但受到当前硬件内存和指令集的限制,难以支持大规模深度学习应用。tee需要在处理器内部创建一个隔离的执行环境,这要求硬件和软件之间的紧密集成。虽然完全在tee中执行安全聚合(secure aggregation,sa)的简单方法可以确保隐私和可验证聚合,但tee中有限的物理内存造成了严重的计算瓶颈,特别是在聚合大型模型或处理大量客户端时,容易超过tee的内存,计算负担很大。并且需要确保tee环境中的代码和数据安全免受外部攻击,包括来自操作系统、硬件和其他应用程序的攻击。
技术实现思路
1、(一)要解决的技术问题
2、本发明要解决的技术问题是:如何提供一种基于可信执行环境(tee)的联邦隐私保护方法,通过利用intel sgx技术,实现从数据输入到模型输出的端到端隐私保护,确保计算过程的保密性和完整性。该方法能够有效抵御梯度泄露、模型反转、数据中毒和后门攻击,同时保证模型的精度和训练效率。通过在本地进行大部分计算,仅在必要时交换加密后的梯度信息,显著降低通信开销,提升训练效率。此外,本发明通过端到端加密和可信计算技术,提供强隐私安全性的保护措施,确保参与方之间的数据传输和计算结果的安全,适用于横向和纵向联邦学习,并支持云原生架构的部署,降低开发者的使用难度。
3、(二)技术方案
4、为解决上述技术问题,本发明提供一种基于tee的联邦学习模型隐私保护方法,所述方法的第一方面提供了基于intel sgx技术的横向联邦学习隐私增强算法;利用协同训练和安全聚合技术,实现跨机构和领域的数据共享与协作,从而提升数据的使用效率和安全性;
5、所述方法的第二方面提供了一种针对两方纵向联邦学习的严格隐私保护机制,包括输入保护、建模过程保护、输出保护和传输安全;
6、其中,所述方法的第一方面具体包括有:
7、步骤a1:创建基于intel sgx的可信执行环境;在各参与方的本地环境中创建隔离且安全的计算单元,确保计算过程的保密性和完整性;首先,对现有系统架构和硬件环境进行全面评估;深入了解当前系统的硬件配置、软件环境以及网络架构信息,以确保tee能够与现有系统无缝对接;包括评估处理器的安全功能支持、内存和存储资源的可用性、操作系统的兼容性以及网络通信的安全性方面;
8、步骤a2:创建enclave安全容器;enclave是一个被保护的内容容器,用于存放应用程序敏感数据和代码;针对enclave的保护机制主要包括两个部分:一是enclave内存访问语义的变化,二是应用程序地址映射关系的保护,这两项功能共同完成对enclave的机密性和完整性的保护;sgx允许应用程序指定需要保护的代码和数据部分;在创建enclave之前,对加载到enclave中去的代码和数据进行度量;当应用程序需要保护的部分加载到enclave后,sgx保护它们不被外部软件所访问;enclave可以向远程认证者证明自己的身份,并提供必需的功能结构用于安全地提供密钥,用户也可以请求独有的密钥,这个密钥通过结合enclave身份和平台的身份做到独一无二,可以用来保护存储在enclave之外的密钥或数据;
9、步骤a3:在系统内分配一块被保护的物理内存区域epc(enclave page cache),用来存放enclave和sgx数据结构;这必须保证内存保护机制在物理上锁住epc内存区域,将外部的访问请求视为引用了不存在的内存,使得外部的实体(直接存储器访问、图像引擎)无法访问;对于使用mov指令访问enclave内部的页面的情况,硬件将执行下列的检查:处理器当前运行在enclave mode中;访问地址在enclave地址空间;物理地址在epc内存中;epcm(enclave page cache map)检查,请求访问的页属于正在运行的enclave(只有enclave内的代码才能访问该enclave的内容);简而言之,保证enclave外部的应用程序不能访问enclave内存;enclave内部的代码在epc范围内只能访问属于自己的内存区域,不能访问别的enclave内存;对于prm以外的内存,则按照系统中其他的保护机制进行访问;这样的内存保护机制,防止了enclave内部运行的程序被其他恶意软件盗取隐私信息和篡改;
10、步骤a4:进行页面分配、复制程序代码与数据和度量操作;创建过程的最后一步需要对enclave的完整性进行验证,判断特权软件在创建过程中是否篡改了程序数据,检测是否分配了多余的页、将恶意代码复制进来,或是篡改了复制的数据;通过对每个添加的页面内容进行度量,最终得到一个创建序列的度量结果,保存在enclave的控制结构中;然后,sgx通过一条初始化指令将这个结果与enclave所有者签名的证书中的完整性值进行比较:如果匹配,则将证书中的所有者公钥进行哈希,作为密封身份保存在enclave控制结构中;如果不匹配,则说明创建过程存在问题,指令返回失败结果;成功进行了初始化指令之后,才能进入enclave执行程序,此后sgx提供的内存保护和地址映射保护使得外界无法访问enclave内存,从而保证了enclave的机密性和完整性,远程的认证者可以通过enclave的完整性度量值和其密封身份,确保其正确地创建;
11、步骤a5:密钥生成与管理,在enclave内动态生成并管理公私钥对;确保用户能够通过安全通道验证tee的真实性和完整性,也就是确保他们正在与真实的、未被篡改的tee进行通信;首先,建立一个采用加密技术的安全通道,用以保护传输的数据,防止被窃听或篡改;接下来,客户端发送一个认证请求给tee环境,tee环境在接收到请求后,生成一个包含自身状态信息的报告,并使用私钥对该报告进行数字签名;客户端收到报告和数字签名后,使用事先存储的tee公钥来验证签名的有效性;如果签名验证通过,那么用户就可以确认tee的真实性和完整性,进而进行后续的安全通信;
12、步骤a6:通过远程认证技术(ra-tls)进行安全的密钥交换和通信;采用传输层安全协议(transport layer security,tls)进行端到端隐私保护,提供从数据输入到模型输出的全链路隐私保护机制,确保数据传输和计算结果的安全;tls的作用是:保护传输数据的机密性,即使第三方截获了通信数据也无法获知真实内容;对服务方或者双方的身份进行认证;受保护的数据发出后不被篡改,至少第三方篡改了数据内容,通信双方能够发觉;首先,客户端先向服务器发起握手访问请求;握手请求携带的信息有:客户端随机数、支持的密码套件清单、秘钥交换算法及其公钥、支持的协议版本;接下来,服务器收到客户端的握手请求后,会回复一个握手响应,包含的信息有:服务器随机数、选择的密码套件、秘钥交换的公钥、选择的协议版本;至此,服务器和客户端都拥有了计算共享秘钥的全部信息,可以实现加密通信内容了;然后,服务器或客户端收到对的公钥后,再结合自己的私钥,使用算法计算得到同一个共享秘钥,将共享秘钥以及握手请求和握手响应的哈希值输入给生成会话秘钥的算法,以此得到握手协议;此后握手协议中发送的证书和结束消息都是用此处生成的握手协议会话秘钥加密的;计算完握手协议会话秘钥后,服务器会将表明自己身份的证书,用证书私钥加密的握手消息哈希值和握手协议结束消息内容打包,并加密发送给客户端;客户端收到后解密,得到证书中的公钥,用该公钥解密并验证其值是否正确,可以确认服务器是否拥有证书的私钥,从而实现了对服务器身份的认证;远程认证通常涉及使用公钥基础设施来验证数字签名和证书的有效性;公钥基础设施是一种利用公钥加密技术为网络通信提供安全支持的基础设施;它通过颁发和管理数字证书来验证通信实体的身份,并确保通信内容的机密性、完整性和不可否认性;tee环境会使用其私钥对报告进行签名,而客户端则使用相应的公钥来验证这个签名;这种非对称加密方式使得验证过程既安全又高效;同时,公钥基础设施还提供了证书吊销列表(crl)来及时处理无效或已吊销的证书,进一步增强了系统的安全性;
13、步骤a7:模型训练与参数更新;参与方在本地计算梯度并进行模型更新,必要时才交换加密后的梯度信息,确保数据安全;首先,参与方将接收到的全局模型作为输入,利用客户端的本地数据进行训练,本地模型训练完毕后将得到的下降梯度,经过加密上传至云端;云端模型接收到所有上传的加密梯度后,将从客户端接收到的模型聚合为一个新的全局模型,通过联邦平均获得新的下降梯度,最后将新的结果再重新下发到客户端,客户端更新得到一个全新的模型;
14、步骤a8:提供了通信优化技术,以减少通信开销,提高通信效率;首先通过压缩算法对通信数据进行压缩,以减少通信量;同时,根据训练过程中的数据分布和模型更新情况,动态调整通信策略和参数,以实现最佳的性能,也就是使用自适应采样算法来选择性地传输重要数据;在自适应采样算法中,本发明选用了一种具有理论收敛保证的通信高效自适应联邦学习方法(fedace),fedace通过优化误差反馈压缩和全局模型更新策略,实现了在保证模型收敛性的同时大幅减少通信成本;每个客户端在进行本地更新后,将模型差分与累计误差进行压缩,并将压缩后的差分发送给服务器;服务器聚合这些差分,并进行全局模型参数的更新,从而实现高效的联邦学习过程;该方法在客户端和服务器之间通过多轮迭代来实现,包括本地更新、压缩、通信和全局模型更新步骤;首先要进行初始化,设定全局模型初始参数、本地学习率、全局学习率、动量参数、二阶动量参数和稳定参数;初始化全局动量和二阶动量;为每个客户端初始化累计压缩误差;接着进行全局迭代,对于每个全局迭代轮次,执行以下操作:首先是客户端选择,随机选择一个客户端子集,服务器将当前全局模型参数发送给所有选择的客户端;接下来进行客户端本地更新,每个客户端初始化本地模型参数为当前全局模型参数,进行多步本地随机梯度下降(sgd)更新,计算本地模型差分;接着进行误差反馈压缩,每个客户端将本地模型差分和累计压缩误差相加、进行压缩,得到压缩后的差分,然后更新累计压缩误差,并将压缩后的差分发送给服务器;接下来要对未选中客户端进行压缩误差更新,对于未被选择的客户端,保持其累计压缩误差不变;最后是服务器聚合与更新,服务器聚合所有选择的客户端的压缩差分,然后更新全局动量和二阶动量,计算最大稳定化参数,接着更新全局模型参数;
15、步骤a9:云原生架构支持;支持在云环境中部署,进行大规模的横向联邦学习;云原生架构的核心优势在于其高度的可扩展性和弹性,当需要处理的数据量激增或者计算需求上升时,系统能够迅速地调配更多资源来应对,而无需进行繁琐的硬件升级或系统配置更改;此外,云原生架构还支持容器化技术,每个联邦学习的参与方都可以在自己的容器中运行模型训练任务,彼此之间相互隔离,进一步增强了数据的安全性;同时,容器化还简化了应用的部署和管理过程,使得整个系统更加健壮和可靠。
16、此外,所述方法的第二方面具体包括有:
17、步骤b1:模型分割与联合训练;将模型划分为多个部分,分别由主动方(拥有标签的一方)和被动方(拥有特征的一方)训练,通过一个切层(cut layer)连接;首先,对齐重叠的样本数据,在不暴露原始数据的前提下,对齐具有相同id但分布于不同参与方的实体;样本对齐以后,进行标签统一;然后开始训练模型,在模型最开始训练时,两边模型各自使用自己有的特征和数据,初始化自己的参数,然后开始计算;
18、步骤b2:安全的中间结果交换;在训练过程中,交换加密的中间计算结果,确保数据安全;训练中引入切层进行连接,切层最开始下发一个公钥给到主动方和被动方,接着主动方和被动方计算出来的中间结果经过公钥加密发给彼此;然后彼此再计算各自的下降梯度,再进行加密上传回切层,这中间一般都会加一些随机数防止切层直接获取梯度信息,切层进行解密后汇总双方结果得到一个最终的梯度值然后再回传给主动方和被动方,二者收到后减去最开始加上的随机数得到真实最终的梯度值,再更新模型的参数;
19、步骤b3:基于intel sgx的端到端保护;利用intel sgx提供的可信执行环境,确保计算过程的安全;首先需要在处理器上创建一个enclave安全容器;enclave用于执行关键的模型训练任务,确保即使操作系统或其他软件层面受到攻击,enclave内的数据和模型依然安全;当数据从外部输入时,先加密然后通过安全的通信通道传输到enclave中;在enclave内部,数据被解密并用于模型训练;这种处理方式确保了数据在传输和处理过程中的机密性;在enclave内执行的模型训练过程受到硬件级别的保护;由于enclave是隔离的,因此即使操作系统或虚拟机受到攻击,攻击者也难以访问或篡改enclave内的数据和代码;这大大增强了计算过程的安全性;
20、步骤b4:隐私保护机制,通过完整性验证,防止参与方篡改模型或数据;完整性验证通过数字签名和哈希算法来实现的;在数据或代码进入tee之前,会对其进行数字签名和哈希值计算;在执行过程中,会定期检查这些值是否发生变化,以确保数据和代码的完整性;
21、步骤b5:远程认证机制(ra-tls);ra-tls设计了一种支持异构硬件机密计算技术的双向传输层安全协议,它在tls的基础上增加了将tls中的公钥与tee远程证明evidence绑定的能力,解决了不同tee之间难以通过安全可信的方式传输数据的问题;ra-tls允许异构tee之间进行双向远程证明认证;
22、步骤b6:跨域计算;确保在跨参与方进行计算时,所有传输的数据都经过加密和认证;在进行跨域计算之前,各参与方应首先建立起基于tls协议的安全的通信渠道;tls协议能够在客户端和服务器之间建立安全的连接,保证数据在传输过程中的安全性;接下来根据数据的敏感性和重要性,选择合适的加密算法进行数据加密;然后,在发送数据前,使用发送方的私钥对数据进行数字签名;接收方在收到数据后,使用发送方的公钥来验证签名的有效性;此外,定期更新用于加密和数字签名的密钥对,这可以防止攻击者通过长时间监听和破解来获取密钥;最后,为了防止数据在传输过程中意外丢失或损坏,建立数据备份和恢复机制。
23、(三)有益效果
24、与现有技术相比较,本发明的关键点
25、关键点一:提供了一种基于可信执行环境(tee)的端到端隐私保护方法。利用intel sgx技术,为联邦学习的整个流程提供从数据输入到模型输出的全链路隐私保护,确保计算过程的保密性和完整性,有效抵御梯度泄露、模型反转、数据中毒和后门攻击。
26、关键点二:实现了一种高效的模型训练与参数更新机制。该机制通过在本地进行大部分计算,仅在必要时交换压缩并加密后的梯度信息,既保证了模型的精度,又显著降低了通信开销,从而提升了训练效率。这种方法有效地平衡了计算负载和通信成本,使得分布式训练更加高效和可扩展。
27、关键点三:提供了强隐私安全性的保护措施。通过端到端加密和可信计算技术,确保参与方之间的数据传输和计算结果的安全,包括输入保护、模型过程保护、输出保护和传输安全,全面防止数据泄露和攻击,确保联邦学习过程的高度安全性。
28、本发明的效果
29、本发明的联邦隐私保护方法,通过intel sgx提供的可信执行环境,解决了现有联邦学习在隐私保护和性能方面的不足,实现了高效、安全的模型训练。同时,该方法降低了开发者的使用难度,提升了联邦学习在实际应用中的可行性。
1.一种基于tee的联邦学习模型隐私保护方法,其特征在于,所述方法的第一方面提供了基于intelsgx技术的横向联邦学习隐私增强算法;利用协同训练和安全聚合技术,实现跨机构和领域的数据共享与协作,从而提升数据的使用效率和安全性;
2.如权利要求1所述的基于tee的联邦学习模型隐私保护方法,其特征在于,所述方法的第一方面具体包括有:
3.如权利要求2所述的基于tee的联邦学习模型隐私保护方法,其特征在于,所述方法的第二方面具体包括有:
4.如权利要求3所述的基于tee的联邦学习模型隐私保护方法,其特征在于,所述方法通过利用intelsgx技术,实现从数据输入到模型输出的端到端隐私保护,确保计算过程的保密性和完整性。
5.如权利要求3所述的基于tee的联邦学习模型隐私保护方法,其特征在于,所述方法能够有效抵御梯度泄露、模型反转、数据中毒和后门攻击,同时保证模型的精度和训练效率。
6.如权利要求3所述的基于tee的联邦学习模型隐私保护方法,其特征在于,所述方法通过在本地进行大部分计算,仅在必要时交换加密后的梯度信息,显著降低通信开销,提升训练效率。
7.如权利要求3所述的基于tee的联邦学习模型隐私保护方法,其特征在于,所述方法通过端到端加密和可信计算技术,提供强隐私安全性的保护措施,确保参与方之间的数据传输和计算结果的安全,适用于横向和纵向联邦学习,并支持云原生架构的部署,降低开发者的使用难度。
8.如权利要求3所述的基于tee的联邦学习模型隐私保护方法,其特征在于,所述方法利用intelsgx技术,为联邦学习的整个流程提供从数据输入到模型输出的全链路隐私保护,确保计算过程的保密性和完整性,有效抵御梯度泄露、模型反转、数据中毒和后门攻击。
9.如权利要求3所述的基于tee的联邦学习模型隐私保护方法,其特征在于,所述方法实现了一种高效的模型训练与参数更新机制;该机制通过在本地进行大部分计算,仅在必要时交换压缩并加密后的梯度信息,既保证了模型的精度,又显著降低了通信开销,从而提升了训练效率。这种方法有效地平衡了计算负载和通信成本,使得分布式训练更加高效和可扩展。
10.如权利要求3所述的基于tee的联邦学习模型隐私保护方法,其特征在于,所述方法提供了强隐私安全性的保护措施。通过端到端加密和可信计算技术,确保参与方之间的数据传输和计算结果的安全,包括输入保护、模型过程保护、输出保护和传输安全,全面防止数据泄露和攻击,确保联邦学习过程的高度安全性。
