CN115442050A - 一种基于sm9算法的隐私保护的联邦学习方法 - Google Patents

一种基于sm9算法的隐私保护的联邦学习方法 Download PDF

Info

Publication number
CN115442050A
CN115442050A CN202211043092.2A CN202211043092A CN115442050A CN 115442050 A CN115442050 A CN 115442050A CN 202211043092 A CN202211043092 A CN 202211043092A CN 115442050 A CN115442050 A CN 115442050A
Authority
CN
China
Prior art keywords
model
data
evaluation
algorithm
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211043092.2A
Other languages
English (en)
Inventor
曹潆方
熊虎
张敏
姜毅
刘韬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu DBAPPSecurity Co Ltd
Original Assignee
Chengdu DBAPPSecurity Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu DBAPPSecurity Co Ltd filed Critical Chengdu DBAPPSecurity Co Ltd
Priority to CN202211043092.2A priority Critical patent/CN115442050A/zh
Publication of CN115442050A publication Critical patent/CN115442050A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及网络安全和联邦学习技术领域,公开了一种基于SM9算法的隐私保护的联邦学习方法,包括:在联邦学习架构中构建评估服务器,构建后的联邦学习架构中含有三个实体对象,分别为训练参与者,中心服务器以及评估服务器;将训练参与者发送的模型数据进行评估验证,剔除掉恶意参与者的毒化数据,并将SM9标识密码算法嵌入联邦学习的框架之中;训练参与者针对指定组的评估服务器ID进行模型加密,并将签名后的加密数据连同签名一起发送给中心服务器,中心服务器将通过签名验证的加密模型数据分发给对应组中的评估服务器;评估服务器在不知道数据来源的前提下对数据进行解密并评估。本发明用于解决联邦学习过程中可能存在的推理攻击与毒化攻击。

Description

一种基于SM9算法的隐私保护的联邦学习方法
技术领域
本发明涉及网络安全和联邦学习技术领域,具体地说,是一种基于SM9算法的隐私保护的联邦学习方法,用于解决联邦学习过程中可能存在的推理攻击与毒化攻击。
背景技术
2017年McMahan在《Communication-efficient learning of deep networksfrom decentralized data》中首次提出联邦学习的概念。紧接着人们发现可以利用模型梯度数据重建模型,从而导致训练参与者隐私数据泄露。因此,众多利用安全聚合,同态加密,差分隐私等各种安全机制的训练参与者数据保护方案被提出并发表。以google FL研究团队于2017年发表的《Practical Secure Aggregation for Privacy-Preserving MachineLearning》论文为例,该文章提出了一种安全聚合加密方案(SMPC),服务器只能看到聚合完成之后的梯度,不能知道每个训练参与者的私有的真实梯度值。这种方法适用于大规模终端(例如手机)通过一个服务器,共同计算各自输入之和的情形,但是前提是不泄露某个特定的终端的输入,无论是对服务器还是对其他的终端。但大多数方案都仅针对梯度数据进行隐私保护,并不具备抗毒化攻击的能力。为满足核心技术自主创新、信息安全自主可控的要求,我国自主设计了包括密钥交换协议、数字签名算法、密钥封装机制和公钥加密算法的SM9标识系列密码。SM9的加密强度等同于3072位密钥的RSA加密算法。
目前联邦学习过程中可能存在的推理攻击与毒化攻击,但并无相应的技术对其进行解决,因此,本发明基于传统联邦学习,尝试将SM9标识密码算法嵌入联邦学习的框架之中,保证了在没有可信第三方的情况下,训练参与者的模型梯度数据隐私不被泄露。
发明内容
本发明的目的在于提供一种基于SM9算法的隐私保护的联邦学习方法,在可评估的联邦学习的框架中引入了SM9的加解密算法和签名签验算法实现了隐私保护,并且通过构建一个三方参与的联邦学习架构实现了抵御来自恶意训练参与者的毒化攻击。
本发明通过下述技术方案实现:一种基于SM9算法的隐私保护的联邦学习方法,包括以下步骤:
步骤S1,在联邦学习架构中构建评估服务器,构建后的联邦学习架构中含有三个实体对象,分别为训练参与者,中心服务器以及评估服务器;
步骤S2,将训练参与者发送的模型数据进行评估验证,剔除掉恶意参与者的毒化数据,并将SM9标识密码算法嵌入联邦学习的框架之中;训练参与者针对指定组的评估服务器ID进行模型加密,并将签名后的加密数据连同签名一起发送给中心服务器,中心服务器将通过签名验证的加密模型数据分发给对应组中的评估服务器;
步骤S3,评估服务器在不知道数据来源的前提下对数据进行解密并评估。
本发明针对联邦学习过程中可能存在的推理攻击与毒化攻击,提供了一种高效安全的基于SM9算法的隐私保护的联邦学习方案。该方案在保护隐私的同时可以实现抗毒化攻击。
为了达到上述发明目的,本发明采用以下技术方案实现:通过在联邦学习架构中增添评估服务器,将训练参与者发送的模型数据进行评估验证,剔除掉恶意参与者的毒化数据。并在其中结合SM9加密与签名算法保证整个联邦学习通信过程中的用户隐私的安全。训练参与者将自己训练好的模型M加密,并对模型进行签名,中心服务器通过签名验证算法确认训练参与者的身份合理性,然后将模型信息发送给评估服务器解密,评估服务器解密模型数据后对数据进行评估,将达到标准的模型数据聚合后返还给中心服务器。
与先用技术相比,本发明的有益效果是技巧性的将国密算法与可评估的联邦学习框架相结合,不仅节省了计算和通信成本,同时提供了针对推理攻击和毒化攻击充分的安全保障,具有机密性,不可否认性,抗毒化攻击和可扩展等性质。
为了更好地实现本发明,进一步地,所述步骤S1包括:
允许训练参与者针对特定某组的评估服务器公钥加密模型梯度数据,评估服务器获取加密梯度数据并利用自己的组私钥进行解密,以此对梯度数据进行评估从而剔除毒化数据,并且评估服务器不与训练参与者合谋;
训练参与者在加密模型数据时生成掩码,并通过加密掩码与模型数据的加和实现对模型梯度数据的加密;
训练参与者在上传更新的加密模型数据时需要对数据进行签名,中心服务器收到签名后对数据进行验证,通过验证后确认该参与者是合法参与者;
在一轮联邦学习结束时,只有合法参与者可以收到该轮的全局聚合模型,并参与下一轮的联邦学习。
为了更好地实现本发明,进一步地,所述步骤S2包括:
步骤S21,建立本地系统,本地系统生成必要的参数,使用加密密钥生成算法和签名密钥生成算法生成密钥并完成机器学习模型的参数初始化;
步骤S22,获取子模型,训练参与者将子模型发送给中心服务器,并由中心服务器分发给评估服务器的过程中剔除不合法训练参与者,;
步骤S23,评估服务器合法训练参与者模型进行评估计算权重;
步骤S24,加权聚合,完成联邦学习的一轮迭代。
为了更好地实现本发明,进一步地,所述步骤S21包括:
中心服务器在本地生成系统参数,密钥生成中心生成训练参与者ID以及评估服务器的组ID,训练参与者调用签名密钥生成算法SKG生成自己的签名私钥,训练参与者以及评估服务器调用加密密钥生成算法EKG生成各自的加密私钥;
中心服务器将机器学习模型初始化参数;
将机器学习模型参数信息发送给每个训练参与者与评估服务器,所述机器学习模型参数信息包括机器学习模型的学习率和本地系统的迭代次数。
为了更好地实现本发明,进一步地,所述步骤S22包括:
训练参与者利用本地数据对全局模型进行训练得到子模型,训练参与者将子模型发送给中心服务器,并由中心服务器分发给评估服务器;
使用SM9的加密算法在训练参与者端对训练后的本地模型数据进行隐私化处理来抵御联邦学习过程中的推理攻击;
在训练参与者发送信息的过程中添加SM9的签名与签名验证算法,训练参与者调用签名算法对发送至中心服务器的数据进行签名,中心服务器收到签名调用签名验证算法对训练参与者身份进行验证,从而剔除不合法训练参与者。
为了更好地实现本发明,进一步地,所述步骤S23包括:
通过评估服务器合法训练参与者模型进行评估,生成相应权重,通过加权聚合剔除毒化数据;
中心服务器在保证负载均衡的前提下为每个模型在组内随机分配评估服务器。
为了更好地实现本发明,进一步地,所述步骤S24包括:
评估服务器将本地所有子模型进行加权聚合,实现联邦学习的抗毒化攻击,最后将聚合结果发送给中心服务器聚合,完成联邦学习的一轮迭代。
为了更好地实现本发明,进一步地,所述步骤S3包括:
评估服务器解密模型数据后对数据进行评估,将达到标准的模型数据聚合后返还给中心服务器。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明的联邦学习系统具有抗毒化攻击的能力;
(2)本发明在联邦学习框架中设计了评估服务器评估用户子模型,通过评估服务器的评估聚合可以有效消除恶意用户针对联邦学习系统的毒化攻击;并且在联邦学习过程中嵌入SM9签名和加密算法,进一步剔除了非法用户对联邦学习的影响,使系统在保护用户隐私的前提下实现了抗毒化攻击。
附图说明
本发明结合下面附图和实施例做进一步说明,本发明所有构思创新应视为所公开内容和本发明保护范围。
图1为本发明提供的一种基于SM9算法的隐私保护的联邦学习方法的流程示意图。
图2为本发明提供的一种基于SM9算法的隐私保护的联邦学习方法中符号含义的示意图。
具体实施方式
为了更清楚地说明本发明实施例的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,因此不应被看作是对保护范围的限定。基于本发明中的实施例,本领域普通技术工作人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;也可以是直接相连,也可以是通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1:
本实施例的一种基于SM9算法的隐私保护的联邦学习方法,如图1所示,本发明在传统联邦学习中增添了评估服务器对模型数据进行评估,从而可以识别出毒化数据并且抵御毒化攻击;并且将SM9标识密码算法嵌入联邦学习的框架之中,保证了在没有可信第三方的情况下,训练参与者的模型梯度数据隐私不被泄露。在基于SM9算法的联邦学习中,训练参与者可以针对指定组的评估服务器ID进行模型加密,并将签名后的加密数据连同签名一起发送给中心服务器,中心服务器将通过签名验证的加密模型数据分发给对应组中的评估服务器,评估服务器在不知道数据来源的前提下对数据进行解密并评估,在保证数据隐私的同时实现了抗毒化攻击。
本发明共涉及三个实体:训练参与者Ui,中心服务器CS以及评估服务器Ej,i∈[1,n],j∈「1,m],n和m分别为训练参与者和评估服务器的总数。
评估服务器Ej:评估服务器全部是诚实好奇的实体,且与训练参与者Ui不合谋。评估服务器被随机均匀的分为x组,每组会生成自己的IDY,和加密私钥deY,Y是组内j的集合。组内评估服务器共享ID与私钥。评估服务器Ej负责评估模型并参与模型聚合工作。在模型评估过程中,每个评估服务器Ej在本地解密由中心服务器CS分配的加密模型,之后评估服务器Ej通过本地的评估数据集进行模型评估并获取评估值。随后,评估服务器Ej通过评估服务器之间的交互,计算得到评估服务器Ej的子模型的聚合权值,并在本地将评估的模型进行局部聚合后上传至中心服务器CS。评估服务器在整个协议中能够获取某些训练参与者的模型,但无法推断训练参与者的身份及梯度信息。
训练参与者Ui:训练参与者中存在部分恶意实体,也存在诚实好奇的实体。每个训练参与者Ui拥有自己的本地训练数据用于模型训练。并且训练参与者Ui拥有自己的IDi以及签名私钥dsi。Ui在每个训练周期结束后,选择一组评估服务器,并针对该组评估服务器的ID将梯度数据加密,然后将签名与加密梯度数据上传至中心服务器CS,并且在整个协议的流程中,训练参与者Ui仅与中心服务器CS进行交流通信。
中心服务器CS:中心服务器为诚实好奇的实体。中心服务器CS接收训练参与者Ui上传的签名与加密梯度数据,验证签名无误后,将数据随机分配给训练参与者选定组中的评估服务器。在模型评估完成之后,中心服务器CS聚合评估服务器局部聚合的子模型得到全局机器学习模型。中心服务器CS在整个协议中能够获取最终的聚合模型,但无法推断单个训练参与者模型数据。
实施例2:
本实施例在实施例1的基础上做进一步优化,允许训练参与者针对特定某组的评估服务器公钥加密模型梯度数据,评估服务器获取加密梯度数据并利用自己的组私钥进行解密,以此对梯度数据进行评估从而剔除毒化数据。并且评估服务器不与训练参与者合谋,这样评估服务器不会获得全局聚合模型,不会推断出单个模型数据的来源,从而确保训练参与者的隐私不被泄露;
训练参与者在加密模型数据时生成掩码,并通过加密掩码与模型数据的加和实现对模型梯度数据的加密。由于模型梯度数据较为复杂,掩码加密的方式可以很大程度上减轻计算量,提高整个方案计算性能;
训练参与者在上传更新的加密模型数据时需要对数据进行签名,中心服务器收到签名后对数据进行验证,通过验证后确认该参与者是合法参与者。在一轮联邦学习结束时,只有合法参与者可以收到该轮的全局聚合模型,并参与下一轮的联邦学习。防止非法训练参与者侵入系统。
本实施例的其他部分与实施例1相同,故不再赘述。
实施例3:
本实施例在上述实施例1或2的基础上做进一步优化,本实施例公开了系统建立的具体过程:系统生成必要的参数,生成密钥并完成机器学习模型的参数初始化。CS在本地生成系统参数par={G1,G2,GT,P1,P2}并公开。KGC生成训练参与者ID以及评估服务器的组ID。Ui调用SKG(par,IDi),生成Ui的签名私钥dsi。Ev调用EKG(par,IDv)生成Ev的加密组私钥dev。CS将机器学习模型初始化参数
Figure BDA0003821562960000061
模型的学习率α和系统的迭代次数T等模型参数信息发送给每个用户Ui与评估服务器。本实施例的符号含义如图2所示。
本实施例的其他部分与上述实施例1或2相同,故不再赘述。
实施例4:
本实施例在上述实施例1-3任一项的基础上做进一步优化,本发明公开了用户利用本地数据对全局模型进行训练得到子模型的过程,用户需要将子模型发送给中心服务器,并由中心服务器分发给评估服务器。由于在整个联邦学习过程中中心服务器以及评估服务器都是诚实好奇的,他们会对自己在规则内获取到的数据进行推理攻击,并且也存在系统外的攻击者窃听通信过程中的数据并进行推理攻击,攻击者会通过模型数据获取用户数据信息,导致用户隐私泄露,所以我们使用SM9的加密算法在用户端对训练后的本地模型数据进行隐私化处理来抵御联邦学习过程中的推理攻击;并且由于可能存在没有经过KGC生成密钥的不合法用户,为了避免不合法用户和评估服务器合谋窃取用户隐私,我们在用户发送信息的过程中添加SM9的签名与签名验证算法,用户调用签名算法.S对发送至中心服务器的数据进行签名,中心服务器收到签名调用签名验证算法SV对用户身份进行验证,从而剔除不合法用户。
本实施例中,输入全局模型
Figure BDA0003821562960000062
输出用户子模型
Figure BDA0003821562960000063
其算法过程如下所示:
Ui,i∈(1,n);
用本地数据集对全局模型进行神经网络训练:
Figure BDA0003821562960000064
生成随机整数bi作为模型掩码,对模型进行加密:
Figure BDA0003821562960000071
从评估服务器组中随机选取一个IDv,对bi进行SM9加密:
Figure BDA0003821562960000072
对加密模型与加密掩码进行签名:
Figure BDA0003821562960000073
Figure BDA0003821562960000074
IDy,(σi,Si)发送给中心服务器CS;
中心服务器CS对于i∈(1,n)的Ui发送的数据信息,调用签名验证算法对签名进行验证:Result←SV(σi′,Si′),中心服务器CS对于j∈Y,将Result=1的
Figure BDA0003821562960000075
发送给随机选取的Ej,Ej,j∈(1,m)。
随机选取的Ej对收到的
Figure BDA0003821562960000076
执行解密算法并计算出模型
Figure BDA0003821562960000077
Figure BDA0003821562960000078
本实施例的符号含义如图2所示。
本实施例的其他部分与上述实施例1-3任一项相同,故不再赘述。
实施例5:
本实施例在上述实施例1-4任一项基础上做进一步优化,在本实施例中,由于部分恶意用户通过上传毒化模型对系统的进行毒化攻击,降低联邦学习的效率与模型准确率,所以我们通过评估服务器对合法用户模型进行评估,生成相应权重,通过加权聚合剔除毒化数据。中心服务器需要保证评估服务器无法获取用户模型的身份,且不同评估服务器的评估模型数量基本一致,防止出现局部评估服务器过载造成较大的延迟。为满足上述要求,中心服务器会在保证负载均衡的前提下为每个模型在组内随机分配评估服务器。
本实施例中,输入用户子模型
Figure BDA0003821562960000079
输出子模型的贡献δi,其算法过程如下所示:
随机选取的Ej,Ej,j∈(1,m)利用评估数据集De,对收到的模型进行评估:
Figure BDA00038215629600000710
删掉小于
Figure BDA00038215629600000711
Figure BDA00038215629600000712
(第一轮用∑γi代替
Figure BDA00038215629600000713
),聚合剩余的
Figure BDA00038215629600000714
(数量为Zj个);Ej
Figure BDA00038215629600000715
发送给其他Ej,其他Ej在接收到所有其他评估服务器的评估信息后,计算子模型的贡献:
Figure BDA00038215629600000716
本实施例的符号含义如图2所示。
本实施例的其他部分与上述实施例1-4任一项相同,故不再赘述。
实施例6:
本实施例在上述实施例1-5任一项基础上做进一步优化,在本实施中,评估服务器将本地所有子模型进行加权聚合,实现联邦学习的抗毒化攻击,最后将聚合结果发送给中心服务器聚合,完成联邦学习的一轮迭代。
本实施例中,输入子模型的贡献δi、出用户子模型
Figure BDA0003821562960000081
上一轮全局聚合模型
Figure BDA0003821562960000082
输出全局聚合模型
Figure BDA0003821562960000083
和全局评估值
Figure BDA0003821562960000084
其算法过程如下所示:
随机选取的Ej,Ej,j∈(1,m)对δi进行归一化处理,并将本地子模型
Figure BDA0003821562960000085
进行加权聚合:
Figure BDA0003821562960000086
Ej将Mj发送给中心服务器CS;
中心服务器CS对于j∈(i,m),聚合Mj
Figure BDA0003821562960000087
评估全局聚合模型:
Figure BDA0003821562960000088
本实施例的符号含义如图2所示。
本实施例的其他部分与上述实施例1-4任一项相同,故不再赘述。
实施例7:
本实施例在上述实施例1-6任一项基础上做进一步优化,在发明中使用了加密密钥生成算法、签名密钥生成算法、加密算法、签名算法、签名验证算法和解密算法。
其中:(1)加密密钥生成算法Encryption Key Generation(EKG):KGC产生随机数re∈[1,N-1]作为加密主私钥,计算G1中元素Kpub-e=[re]P1作为加密主公钥,则加密主密钥对为(re,Kpub-e);
KGC秘密保存re,公开Kpub-e。KGC选择并公开用一个字节表示的签名私钥生成函数识别符hi。用户A的标识为IDA,为产生用户A的加密私钥deA,KGC在有限域F上计算
ze1=H(IDA||hi,N)+re
若ze1=0,则重新计算签名主密钥对,若ze1≠0,则计算
Figure BDA0003821562960000089
然后计算A的加密私钥为:deA=[ze2]P1
(2)签名密钥生成算法Sign Key Generation(SKG):密钥生成中心(KeyGeneration Center,KGC)产生随机数rs∈[1,N-1]作为签名主私钥,计算G2中元素Kpub-s=[rs]P2作为签名主公钥,则签名主密钥对为:(rs,Kpub-s);
KGC秘密保存ks,公开K_(pub-s)。KGC选择并公开用一个字节表示的签名私钥生成函数识别符hi。用户A的标识为IDA,为产生用户A的签名私钥dsA,KGC在有限域F上计算:zs1=H(IDA||hi,N)+rs
若Zs1=0,则重新计算签名主密钥对;若zs1≠0,则计算
Figure BDA0003821562960000091
然后计算A的签名私钥为:dsA=[zs2]P2
(3)加密算法Encryption(E):计算群G1中的元素:YB=[H(IDB||hi,N)]P1+Kpub-e
产生随机数rane∈[1,N-1],计算群G1中的元素;C0=[rane]YB;然后计算群GT中的元素:g=e(Kpub-e,P2),
Figure BDA0003821562960000092
计算整数:lenk=lenm+lenK2,然后调用密钥派生函数计算:K=KDF(C1||w||IDB,lenk);
设K最左lenm比特为K1,剩下的比特为K2。若K1全为0,则重新产生随机数再计算;若不全为0,则计算:
Figure BDA0003821562960000093
最后计算:C2=MAC(K2,C1);
输出密文:C=C0||C2||C1
(4)签名算法Sign(S):计算群GT中的元素,g=e(P1,Kpub-s);
产生随机数rans∈[1,N-1],计算群GT中的元素
Figure BDA0003821562960000094
计算整数:σ=H(Ms||w,N),η=(rans-σ)mod N;
若η=0,则重新产生随机数,重新计算;
若η≠0,则继续计算群G2中的元素:S=[η]dsA,输出Ms签名:(σ,S)。
(5)签名验证算法Signature veriiication(SV):为了验证收到的消息Ms′及其数字签名(σ′,S′),首先检验σ′∈[1,N-1]是否成立,不成立则验证失败;成立则继续验证S′∈G2是否成立,不成立则验证失败;成立则继续计算群GT中的元素:g=e(P1,Kpub-s);
计算群GT中的元素μ=gσ′,计算整数:σ1=H(IDA||hi,N);
计算群G2的元素:P=[σ1]P2+Kpub-s
然后计算群GT中的元素:ε=e(S′,P),w′=ε·μ;
最后计算整数:σ0=H(Ms′||w′,N)。
检验σ0=σ′是否成立,若成立则验证通过;否则验证不通过。
(6)解密算法Decryption(D):从C中取出比特串C1,检验C1∈G1是否成立,不成立则报错,成立则继续计算群GT中的元素:w′=e(C0,deB);
计算整数:lenk=lenc+lenk2
然后计算:K′=KDF(C0||w′||IDB,lenk);
设K′最左
Figure BDA0003821562960000101
比特为K1′,剩下的比特为K2′。若K1′全为0,则报错;若K1′不全为0则计算:
Figure BDA0003821562960000102
计算:d=MAC(K2′,C1);
从C中取出比特串C2,若d≠C2,则报错退出,否则输出明文Me′。
本实施例的符号含义如图2所示。
本实施例的其他部分与上述实施例1-4任一项相同,故不再赘述。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化,均落入本发明的保护范围之内。

Claims (8)

1.一种基于SM9算法的隐私保护的联邦学习方法,其特征在于,包括以下步骤:
步骤S1,在联邦学习架构中构建评估服务器,构建后的联邦学习架构中含有三个实体对象,分别为训练参与者,中心服务器以及评估服务器;
步骤S2,将训练参与者发送的模型数据进行评估验证,剔除掉恶意参与者的毒化数据,并将SM9标识密码算法嵌入联邦学习的框架之中;训练参与者针对指定组的评估服务器ID进行模型加密,并将签名后的加密数据连同签名一起发送给中心服务器,中心服务器将通过签名验证的加密模型数据分发给对应组中的评估服务器;
步骤S3,评估服务器在不知道数据来源的前提下对数据进行解密并评估。
2.根据权利要求1所述的一种基于SM9算法的隐私保护的联邦学习方法,其特征在于,所述步骤S1包括:
允许训练参与者针对特定某组的评估服务器公钥加密模型梯度数据,评估服务器获取加密梯度数据并利用自己的组私钥进行解密,以此对梯度数据进行评估从而剔除毒化数据,并且评估服务器不与训练参与者合谋;
训练参与者在加密模型数据时生成掩码,并通过加密掩码与模型数据的加和实现对模型梯度数据的加密;
训练参与者在上传更新的加密模型数据时需要对数据进行签名,中心服务器收到签名后对数据进行验证,通过验证后确认该参与者是合法参与者;
在一轮联邦学习结束时,只有合法参与者可以收到该轮的全局聚合模型,并参与下一轮的联邦学习。
3.根据权利要求2所述的一种基于SM9算法的隐私保护的联邦学习方法,其特征在于,所述步骤S2包括:
步骤S21,建立本地系统,本地系统生成必要的参数,使用加密密钥生成算法和签名密钥生成算法生成密钥并完成机器学习模型的参数初始化;
步骤S22,获取子模型,训练参与者将子模型发送给中心服务器,并由中心服务器分发给评估服务器的过程中剔除不合法训练参与者,;
步骤S23,评估服务器合法训练参与者模型进行评估计算权重;
步骤S24,加权聚合,完成联邦学习的一轮迭代。
4.根据权利要求3所述的一种基于SM9算法的隐私保护的联邦学习方法,其特征在于,所述步骤S21包括:
中心服务器在本地生成系统参数,密钥生成中心生成训练参与者ID 以及评估服务器的组ID,训练参与者调用签名密钥生成算法生成自己的签名私钥,训练参与者以及评估服务器调用加密密钥生成算法生成各自的加密组私钥;
中心服务器将机器学习模型初始化参数;
将机器学习模型参数信息发送给每个训练参与者与评估服务器,所述机器学习模型参数信息包括机器学习模型的学习率和本地系统的迭代次数。
5.根据权利要求3所述的一种基于SM9算法的隐私保护的联邦学习方法,其特征在于,所述步骤S22包括:
训练参与者利用本地数据对全局模型进行训练得到子模型,训练参与者将子模型发送给中心服务器,并由中心服务器分发给评估服务器;
使用SM9的加密算法在训练参与者端对训练后的本地模型数据进行隐私化处理来抵御联邦学习过程中的推理攻击;
在训练参与者发送信息的过程中添加SM9的签名与签名验证算法,训练参与者调用签名算法对发送至中心服务器的数据进行签名,中心服务器收到签名调用签名验证算法对训练参与者身份进行验证,从而剔除不合法训练参与者。
6.根据权利要求3所述的一种基于SM9算法的隐私保护的联邦学习方法,其特征在于,所述步骤S23包括:
通过评估服务器合法训练参与者模型进行评估,生成相应权重,通过加权聚合剔除毒化数据;
中心服务器在保证负载均衡的前提下为每个模型在组内随机分配评估服务器。
7.根据权利要求3所述的一种基于SM9算法的隐私保护的联邦学习方法,其特征在于,所述步骤S24包括:
评估服务器将本地所有子模型进行加权聚合,实现联邦学习的抗毒化攻击,最后将聚合结果发送给中心服务器聚合,完成联邦学习的一轮迭代。
8.根据权利要求1所述的一种基于SM9算法的隐私保护的联邦学习方法,其特征在于,所述步骤S3包括:
评估服务器解密模型数据后对数据进行评估,将达到标准的模型数据聚合后返还给中心服务器。
CN202211043092.2A 2022-08-29 2022-08-29 一种基于sm9算法的隐私保护的联邦学习方法 Pending CN115442050A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211043092.2A CN115442050A (zh) 2022-08-29 2022-08-29 一种基于sm9算法的隐私保护的联邦学习方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211043092.2A CN115442050A (zh) 2022-08-29 2022-08-29 一种基于sm9算法的隐私保护的联邦学习方法

Publications (1)

Publication Number Publication Date
CN115442050A true CN115442050A (zh) 2022-12-06

Family

ID=84244122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211043092.2A Pending CN115442050A (zh) 2022-08-29 2022-08-29 一种基于sm9算法的隐私保护的联邦学习方法

Country Status (1)

Country Link
CN (1) CN115442050A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116010944A (zh) * 2023-03-24 2023-04-25 北京邮电大学 联邦计算网络保护方法及相关设备
CN116204890A (zh) * 2023-04-28 2023-06-02 浙江鹏信信息科技股份有限公司 一种自适应增强人工智能算法安全的算法组件库
CN117034328A (zh) * 2023-10-09 2023-11-10 国网信息通信产业集团有限公司 一种改进的基于联邦学习的异常用电检测系统及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116010944A (zh) * 2023-03-24 2023-04-25 北京邮电大学 联邦计算网络保护方法及相关设备
CN116204890A (zh) * 2023-04-28 2023-06-02 浙江鹏信信息科技股份有限公司 一种自适应增强人工智能算法安全的算法组件库
CN117034328A (zh) * 2023-10-09 2023-11-10 国网信息通信产业集团有限公司 一种改进的基于联邦学习的异常用电检测系统及方法
CN117034328B (zh) * 2023-10-09 2024-03-19 国网信息通信产业集团有限公司 一种改进的基于联邦学习的异常用电检测系统及方法

Similar Documents

Publication Publication Date Title
CN109495465B (zh) 基于智能合约的隐私集合交集方法
WO2021042685A1 (zh) 一种区块链的交易方法、装置及系统
CN109584978B (zh) 基于签名聚合医疗健康监控网络模型信息处理方法及系统
CN110933045A (zh) 一种基于承诺的区块链数字资产隐私保护方法
CN115442050A (zh) 一种基于sm9算法的隐私保护的联邦学习方法
CN102547688B (zh) 一种基于虚拟专用信道的高可信手机安全通信信道的建立方法
CN107124268A (zh) 一种可抵抗恶意攻击的隐私集合交集计算方法
CN107947913A (zh) 一种基于身份的匿名认证方法与系统
CN107248909A (zh) 一种基于sm2算法的无证书安全签名方法
CN111797427A (zh) 一种兼顾隐私保护的区块链用户身份监管方法及系统
JP2023500570A (ja) コールドウォレットを用いたデジタルシグニチャ生成
CN110086599B (zh) 基于同态变色龙哈希函数的哈希计算方法及签密方法
CN114036539A (zh) 基于区块链的安全可审计物联网数据共享系统及方法
CN107612680A (zh) 一种移动网络支付中的国密算法
CN111416712B (zh) 基于多个移动设备的量子保密通信身份认证系统及方法
CN116049897A (zh) 基于线性同态哈希和签密的可验证隐私保护联邦学习方法
CN106850584B (zh) 一种面向客户/服务器网络的匿名认证方法
Ren et al. Privacy-enhanced and verification-traceable aggregation for federated learning
CN115174184A (zh) 一种基于属性基加密的交易客体身份匿名可追踪方法、网络设备、存储设备
Rezaeibagha et al. Secure and privacy-preserved data collection for IoT wireless sensors
Li et al. Catfl: Certificateless authentication-based trustworthy federated learning for 6g semantic communications
Wang et al. Key escrow protocol based on a tripartite authenticated key agreement and threshold cryptography
CN112380579A (zh) 一种基于格的前向安全无证书数字签名方案
Ahubele et al. Secured electronic voting system using RSA Key encapsulation mechanism
CN115865313A (zh) 一种轻量级隐私保护纵向联邦学习模型参数聚合方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination