江苏大学韩牟获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉江苏大学申请的专利一种基于代理重加密的TEE联邦学习隐私保护方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN116436593B 。
龙图腾网通过国家知识产权局官网在2025-08-29发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202310221039.5,技术领域涉及:H04L9/06;该发明授权一种基于代理重加密的TEE联邦学习隐私保护方法是由韩牟;谢宜江设计研发完成,并于2023-03-09向国家知识产权局提交的专利申请。
本一种基于代理重加密的TEE联邦学习隐私保护方法在说明书摘要公布了:本发明公开了一种基于代理重加密的TEE联邦学习隐私保护方法,属于公钥密码体制领域。包括以下步骤:1建立代理重加密通信;2服务器下发联邦策略;3参与方进行本地学习得到梯度参数后加密并发送至代理方;4代理方对消息进行重加密运算并发送至服务器方;5服务器方解密消息;6服务器方对梯度参数进行聚合并加密发送至代理方;7代理方对消息进行重加密运算并发送至参与方;8参与方解密消息得到梯度参数并继续进行模型训练;9重复3—8直到联邦学习收敛。本申请传输过程中使用的代理重加密方案属于NTRU格公钥密码体制,满足抗量子安全性且抗合谋;端点处的计算在TEE中进行保证端点的隐私安全。
本发明授权一种基于代理重加密的TEE联邦学习隐私保护方法在权利要求书中公布了:1.一种基于代理重加密的TEE联邦学习隐私保护方法,其特征在于:包括以下步骤: 1进行联邦学习的参与方与服务器方建立代理重加密通信; 2服务器下发联邦策略至各参与方; 3参与方根据策略在TEE环境中对本地数据进行学习得到梯度参数,对梯度参数进行加密并发送至代理方; 4代理方对收到的消息进行重加密运算并发送至服务器方; 5服务器方在TEE中对收到的消息进行解密; 6服务器方对梯度参数进行聚合并加密发送至代理方; 7代理方对收到的消息进行重加密运算并发送至参与方; 8参与方解密消息得到梯度参数并继续进行模型训练; 9根据联邦学习策略重复步骤3—8,直到联邦学习收敛; 所述步骤1进行联邦学习的参与方与服务器方之间建立代理重加密通信;其步骤如下: 步骤1.1:输入安全参数k,选取多项式环R为整系数多项式环,为有限环域,xn为具体多项式形式,n为2的幂次方,q为大素数,令Gt为Rq上系数取自的多项式集合,t为整数且t2,令明文空间M为Rq上系数取自{-1,0,1}的多项式集合,其中p为小素数且pq,选取采样自Υα分布的随机噪声多项式集合χq,输出公共参数{n,q,p,t,α}; 步骤1.2:本地密钥生成KeyGen:从Gt上随机均匀的选取多项式B∈Rq,从Gt上随机选取小系数多项式g∈Rq,g满足以下两个条件:gq·g≡1modq,g≡1modp,其中gq为g的模q运算,如果g不满足条件则重新进行选取,从χq上随机选取小系数多项式e′∈Rq,计算公钥PK=gqB+e′modq,私钥SK为g; 步骤1.3:代理重密钥生成ReKeyGen:参与方与服务器方的私钥分别为Sku和Sks,参与方需要先从Rq中选取一个随机多项式从χq中选择随机多项式es,计算 将发送给服务器方,并将发给代理方,服务器方对收到的进行计算并将发送给代理方,代理方根据收到的和计算出重加密密钥:同理得到rks→u; 所述步骤2服务器下发联邦策略至各参与方;其步骤如下: 步骤2.1:确定参与方的本地训练策略,其中包括对于loss函数的控制,与服务器端对齐问题,梯度或者参数如何上行传输,TEE选用的哈希函数; 步骤2.2:确定服务器方相应策略,其中包括如何对参与方上传的梯度或参数如何聚合,如何更新,如何下行分发,TEE选用的哈希函数; 所述步骤3参与方根据策略在TEE环境中对本地数据进行学习得到梯度参数,对梯度参数进行加密并发送至代理方;其步骤如下: 步骤3.1:利用intelSGX构建TEE,通过IntelSGXPSW导出的API:sgx_enable_device创建enclave,本地训练的相应代码和数据运行于enclave中,运行在enclave模式下的CPU将不会直接响应中断、错误或者VM退出操作,参与方根据策略中的算法对数据进行学习,得到模型的梯度参数m; 步骤3.2:在enclave中计算s=hashm,使用本地的公钥对Ms,m和进行加密:从Gt中选取随机数u和eu,计算消息密文Cu=puPki+eu+Mmodq;其中,s为参数的哈希值,Pki表示第i个参与方的公钥; 步骤3.3:将计算得到的消息密文Cu发送至代理方; 步骤3.4:调用sgx_destroy_enclave函数销毁相应的enclave,回收EPC内存以及enclave使用的不可信内存; 所述步骤4代理方对收到的消息进行重加密运算并发送至服务器方;其步骤如下: 步骤4.1:代理方收到密文消息Cu后,利用rku→s进行重加密运算,将由Pku加密的密文Cu转变为由Pks加密的密文Cs:Cs=Curku→s;其中,Pku为参与方公钥,Pks为服务器方公钥,rku→s为代理中心的代理重密钥; 步骤4.2:将转换后的密文Cs发送至服务器方; 所述步骤5服务器方在TEE中对收到的消息进行解密;其步骤如下: 步骤5.1:服务器方收到密文Cs,利用intelSGX形成TEE,通过IntelSGXPSW导出的API:sgx_enable_device创建enclave,解密密文Cs和聚合参数的相应代码及数据将运行于构建的enclave中; 步骤5.2:在enclave中对密文Cs进行解密:计算M′=CsSksmodq,通过M′得到M=M′modp;得到M后根据策略对消息m进行数字签名验证,其中Sks为服务器方私钥; 所述步骤6服务器方对梯度参数进行聚合并加密发送至代理方;其步骤如下: 步骤6.1:根据策略中具体的聚合算法FedAvg或者FedProx对梯度参数进行聚合,得到新的梯度参数m1; 步骤6.2:计算s1=hashm1,使用服务器方的公钥对M1s1,m1进行加密:从Gt中选取随机数u和e1,计算消息密文Cs1=puPki+e1+M1modq;其中,s1为新的梯度参数m1的哈希值; 步骤6.3:将计算得到的消息密文C1发送至代理方; 步骤6.4:调用sgx_destroy_enclave函数销毁相应的enclave,回收EPC内存以及enclave使用的不可信内存; 所述步骤7代理方对收到的消息进行重加密运算并发送至参与方;其步骤如下: 步骤7.1:代理方收到消息Cs1后,利用rks→u进行重加密运算,将由Pks加密的密文Cs1转变为由Pks加密的密文Cu1:Cu1=Cs1rks→u;rks→u为将服务器方密文转换为参与方密文的重密钥; 步骤7.2:将转换后的密文Cu1发送至参与方; 所述步骤8参与方解密消息得到梯度参数并继续进行模型训练;其步骤如下: 步骤8.1:参与方收到密文Cu1,利用intelSGX构建TEE,通过IntelSGXPSW导出的API:sgx_enable_device创建一个enclave,本地训练的相应代码和数据将运行于enclave中,运行在enclave模式下的CPU将不会直接响应中断、错误或者VM退出操作; 步骤8.2:在enclave中对密文Cu1进行解密:计算M1′=Cu1Skumodq,通过M1′得到M1=M1′modp;得到M1后根据策略对消息m1进行数字签名验证;其中,M1′为计算中间值,Cu1为收到的密文消息,Sku为本地私钥; 步骤8.3:在TEE中基于得到的新参数m1继续对数据进行学习,训练模型。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人江苏大学,其通讯地址为:212013 江苏省镇江市京口区学府路301号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。