CN115438322A - 一种支持身份证明的联邦学习方法、系统、设备及介质 - Google Patents

一种支持身份证明的联邦学习方法、系统、设备及介质 Download PDF

Info

Publication number
CN115438322A
CN115438322A CN202211047582.XA CN202211047582A CN115438322A CN 115438322 A CN115438322 A CN 115438322A CN 202211047582 A CN202211047582 A CN 202211047582A CN 115438322 A CN115438322 A CN 115438322A
Authority
CN
China
Prior art keywords
training
user
signature
users
legal
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
CN202211047582.XA
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 CN202211047582.XA priority Critical patent/CN115438322A/zh
Publication of CN115438322A publication Critical patent/CN115438322A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及人工智能和信息安全领域,具体地说,涉及一种支持身份证明的联邦学习方法、系统、设备及介质,通过将环签名与去中心化的区块链结构相结合引入到联邦学习算法中,解决了机器学习模型训练过程中数据来源无法保证合法性的问题,实现了对训练参与用户身份信息的保护,实现在复杂环境下仍然能满足实际的安全需求。

Description

一种支持身份证明的联邦学习方法、系统、设备及介质
技术领域
本发明涉及人工智能和信息安全领域,具体地说,涉及一种支持身份证明的联邦学习方法、系统、设备及介质。
背景技术
人工智能和机器学习等技术的兴起为智慧医疗、金融、教育等领域提供了从海量数据中发掘有益信息的机会。为了获得高精度、高性能的模型,传统的机器学习需要用户提供大量的原始数据进行训练。然而,由于层出不穷的隐私泄露事件,人们越来越重视数据安全和个人隐私。尤其是这些数据可能包含用户的敏感信息,导致很多用户拒绝提供他们的原始数据,这成为人工智能发展的瓶颈。
2016年,Federated Learning联邦学习的提出,突破了这个瓶颈,联邦学习支持用户在本地训练模型。因此,用户只需要提供训练好的本地模型而非大量的原始数据,大大缓解了由传统机器学习造成的隐私威胁。同时,由于用户不再需要提供原始数据,所以用户更愿意加入到联邦学习过程中。然而,传统的联邦学习框架仍然存在一些问题影响模型的可靠性。比如单点故障、缺乏激励等,这些缺陷阻碍了联邦学习高效可靠地工作。区块链作为一种新兴的分布式账本技术,具有可追溯性、去中心化、不可篡改等特性,可以被用来解决传统联邦学习面临的挑战。
另一方面,考虑到一个具有非法用户和半诚实聚合器的联邦学习系统,非法用户可能会上传影响全局模型效果的恶意更新,半诚实的聚合器会记录中间计算结果并进一步尝试推断用户身份隐私,存在模型参数来源不合法且无法获取模型参数具体来源的问题。
发明内容
本发明针对现有技术中存在模型参数来源不合法且无法获取模型参数具体来源的问题,提出一种支持身份证明的联邦学习方法、系统、设备及介质,通过将环签名与去中心化的区块链结构相结合引入到联邦学习算法中,解决了机器学习模型训练过程中数据来源无法保证合法性的问题,实现了对训练参与用户身份信息的保护,实现在复杂环境下仍然能满足实际的安全需求。
一种支持身份证明的联邦学习方法,包括以下步骤:
步骤1:初始化可信机构,生成系统安全参数,将系统安全参数和从委托人获取的利用深度学习初始化函数生成的初始全局模型M0发布在区块链中;
步骤2:将从训练参与用户获取的训练参与用户所需的身份信息和地理位置发送至可信机构注册,并将从可信机构获取的注册成功的训练参与用户的公私钥对发布在区块链上;
步骤3:将从训练参与用户获取的模型参数,利用随机梯度下降算法更新得到的训练参与用户当前的模型参数;
步骤4:根据步骤3得到的当前的模型参数,更新从训练参与用户获取的当前的训练参与用户所要签名的本地模型,根据从可信机构获取的公私钥对生成环签名,并将生成的环签名发送至MEC服务器进行验证,若通过验证,则判断当前的训练参与用户是合法用户;
步骤5:将步骤4判断出的合法的训练参与用户,计算出合法的训练参与用户的本地模型的精度损失值;
步骤6:根据步骤5计算得出的精度损失值,将精度损失值最接近1的三位合法的训练参与用户,利用设定的奖励机制给予响应奖励;
步骤7:将精度损失值最接近1的合法的训练参与用户选举为本轮的临时领导者,聚合合法的训练参与用户的本地模型,并将最新的本地模型发布到区块链中;
步骤8:获取第i个合法的训练参与用户的数据点索引值,利用最小化任务的损失函数得到优化后的全局模型参数。
为了更好地实现本发明,进一步地,所述步骤2的具体操作为:将从可信机构获取的在集合
Figure BDA0003820988820000021
中选取的随机数x作为主密钥,计算随机数x对应的主公钥,将从训练参与用户获取的训练参与用户所需要的身份信息和地理信息发送至可信机构注册,生成合法的训练参与用户,根据所有合法的训练参与用户生成独立的公钥和公钥对应的私钥返回给对应的训练参与用户,并将公钥集用集合
Figure BDA0003820988820000022
表示,发布在区块链上。
为了更好地实现本发明,进一步地,所述步骤3的具体操作为:将从训练参与用户获取的训练参与用户从区块链上下载的初始全局模型M0和存储在本地的数据训练训练参与用户的本地模型,并利用随机梯度下降算法更新得到的训练参与用户当前的模型参数。
为了更好地实现本发明,进一步地,所述步骤4具体包括以下步骤:
步骤41:根据从训练参与用户获取的在加法循环群中选取的随机算子αi,计算出训练参与用户的签名元素ci,在集合Z* q中选取一个随机数r,计算出当前签名用户在加法循环群中的算子αu、当前签名用户的签名元素cu、当前签名用户的签名参数V;
步骤42:根据步骤41计算出的当前签名用户在加法循环群中的算子αu、当前签名用户的签名元素cu、当前签名用户的签名参数V、当前签名用户的公私钥对,计算出当前签名用户的本地模型的环签名σ;
步骤43:根据步骤41计算出的训练参与用户的签名元素ci,验证环签名是否有效,若通过验证,则判断当前的训练参与用户是合法用户。
为了更好地实现本发明,进一步地,所述步骤5中利用计算出的精度损失值判断训练参与用户的本地模型的精度高低的具体操作为:若训练参与用户的本地模型的精度损失值越接近于1,则训练参与用户的本地模型的精度越高;若训练参与用户的本地模型的精度损失值接近于0时,则训练参与用户的本地模型的精度越低。
为了更好地实现本发明,进一步地,所述系统安全参数包括阶为q的加法循环群G1、加法循环群G1的生成元E、阶为q的乘法循环群G2、双线性映射e:G1×G1→G2、哈希函数H1、H2,H1:{0,1}*→G1、
Figure BDA0003820988820000031
为了更好地实现本发明,进一步地,基于上述提出的支持身份证明的联邦学习方法,提出一种支持身份证明的联邦学习系统,包括初始单元、注册单元、训练单元、签名验证单元、精度损失单元、激励单元、聚合单元、输出单元;
所述初始单元,用于初始化可信机构,生成系统安全参数,将系统安全参数和从委托人获取的利用深度学习初始化函数生成的初始全局模型M0发布在区块链中;
所述注册单元,用于将从训练参与用户获取的训练参与用户所需的身份信息和地理位置发送至可信机构注册,并将从可信机构获取的注册成功的训练参与用户的公私钥对发布在区块链上;
所述训练单元,用于将从训练参与用户获取的模型参数,利用随机梯度下降算法更新得到的训练参与用户当前的模型参数;
所述签名验证单元,用于将得到的当前的模型参数,更新从训练参与用户获取的当前的训练参与用户所要签名的本地模型,根据从可信机构获取的公私钥对生成环签名,并将生成的环签名发送至MEC服务器进行验证,若通过验证,则判断当前的训练参与用户是合法用户;
所述精度损失单元,用于判断出的合法的训练参与用户,计算出合法的训练参与用户的本地模型的精度损失值;
所述激励单元,用于根据计算出的精度损失值,将精度损失值最接近1的三位合法的训练参与用户,利用设定的奖励机制给予响应奖励;
所述聚合单元,用于将精度损失值最接近1的合法的训练参与用户选举为本轮的临时领导者,聚合合法的训练参与用户的本地模型,并将最新的本地模型发布到区块链中;
所述输出单元,用于获取第i个合法的训练参与用户的数据点索引值,利用最小化任务的损失函数得到优化后的全局模型参数。
为了更好地实现本发明,进一步地,提出一种电子设备,包括存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序时实现上述的支持身份证明的联邦学习方法。
为了更好地实现本发明,进一步地,一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的支持身份证明的联邦学习方法。
本发明具有以下有益效果:
本发明巧妙地将环签名与去中心化的区块链结构相结合引入到联邦学习算法中,解决了机器学习模型训练过程中数据来源无法保证合法性的问题,实现了对训练参与用户身份信息的保护,在复杂环境下仍然能满足实际的安全需求。
附图说明
图1为本发明的提出的支持身份证明的联邦学习系统连接框图。
具体实施方式
为了更清楚地说明本发明实施例的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,因此不应被看作是对保护范围的限定。基于本发明中的实施例,本领域普通技术工作人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;也可以是直接相连,也可以是通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
本发明共涉及四个实体:委托人,可信机构Trusted Agency,TA,训练参与用户Train Participating User和MEC服务器Mobile Edge Computing。具体角色描述如下:
委托人:提出需求建立联邦学习模型,拥有满足需求的用户可以申请参与联邦学习任务。
可信机构:绝对可信机构,系统初始阶段生成系统安全参数,对联邦学习训练参与用户进行身份注册和密钥发放。
训练参与用户:训练参与用户作为区块链系统的信息提供者和矿工,从区块链上获取当前的全局模型,训练自己的本地模型并对该模型生成环签名,上传给MEC服务器,通过签名验证的训练参与用户可以被确定是合法用户。
MEC服务器:对训练参与用户生成的环签名进行验证,对验证通过的本地模型,计算其模型精度损失值。
区块链:系统使用私有区块链来永久存储联邦学习全局模型,通过选举出临时领导者进行区块共识。
实施例1:
本实施例提出一种支持身份证明的联邦学习方法,包括以下步骤:
步骤1:初始化可信机构,生成系统安全参数,将系统安全参数和从委托人获取的利用深度学习初始化函数生成的初始全局模型M0发布在区块链中;
步骤2:将从训练参与用户获取的训练参与用户所需的身份信息和地理位置发送至可信机构注册,并将从可信机构获取的注册成功的训练参与用户的公私钥对发布在区块链上;
步骤3:将从训练参与用户获取的模型参数,利用随机梯度下降算法更新得到的训练参与用户当前的模型参数;
步骤4:根据步骤3得到的当前的模型参数,更新从训练参与用户获取的当前的训练参与用户所要签名的本地模型,根据从可信机构获取的公私钥对生成环签名,并将生成的环签名发送至MEC服务器进行验证,若通过验证,则判断当前的训练参与用户是合法用户;
步骤5:将步骤4判断出的合法的训练参与用户,计算出合法的训练参与用户的本地模型的精度损失值;
步骤6:根据步骤5计算得出的精度损失值,将精度损失值最接近1的三位合法的训练参与用户,利用设定的奖励机制给予响应奖励;
步骤7:将精度损失值最接近1的合法的训练参与用户选举为本轮的临时领导者,聚合合法的训练参与用户的本地模型,并将最新的本地模型发布到区块链中;
步骤8:获取第i个合法的训练参与用户的数据点索引值,利用最小化任务的损失函数得到优化后的全局模型参数。
工作原理:本发明巧妙地将环签名与去中心化的区块链结构相结合引入到联邦学习算法中,解决了机器学习模型训练过程中数据来源无法保证合法性的问题,实现了对训练参与用户身份信息的保护,在复杂环境下仍然能满足实际的安全需求。
实施例2:
本实施例在上述实施例1的基础上,对支持身份证明的联邦学习方法的具体步骤进行说明。
工作原理:所述步骤2的具体操作为:将从可信机构获取的在集合
Figure BDA0003820988820000061
中选取的随机数x作为主密钥,计算随机数x对应的主公钥,将从训练参与用户获取的训练参与用户所需要的身份信息和地理信息发送至可信机构注册,生成合法的训练参与用户,根据所有合法的训练参与用户生成独立的公钥和公钥对应的私钥返回给对应的训练参与用户,并将公钥集用集合
Figure BDA0003820988820000062
表示,发布在区块链上。
所述步骤3的具体操作为:将从训练参与用户获取的训练参与用户从区块链上下载的初始全局模型M0和存储在本地的数据训练训练参与用户的本地模型,并利用随机梯度下降算法更新得到的训练参与用户当前的模型参数。
所述步骤4具体包括以下步骤:
步骤41:根据从训练参与用户获取的在加法循环群中选取的随机算子αi,计算出训练参与用户的签名元素ci,在集合Z* q中选取一个随机数r,计算出当前签名用户在加法循环群中的算子αu、当前签名用户的签名元素cu、当前签名用户的签名参数V;
步骤42:根据步骤41计算出的当前签名用户在加法循环群中的算子αu、当前签名用户的签名元素cu、当前签名用户的签名参数V、当前签名用户的公私钥对,计算出当前签名用户的本地模型的环签名σ;
步骤43:根据步骤41计算出的训练参与用户的签名元素ci,验证环签名是否有效,若通过验证,则判断当前的训练参与用户是合法用户。
所述步骤5中利用计算出的精度损失值判断训练参与用户的本地模型的精度高低的具体操作为:若训练参与用户的本地模型的精度损失值越接近于1,则训练参与用户的本地模型的精度越高;若训练参与用户的本地模型的精度损失值接近于0时,则训练参与用户的本地模型的精度越低。
本实施例的其他部分与上述实施例1相同,故不再赘述。
实施例3:
本实施例在上述实施例1-2任一项的基础上,提出一种支持身份证明的联邦学习系统,包括初始单元、注册单元、训练单元、签名验证单元、精度损失单元、激励单元、聚合单元、输出单元;
所述初始单元,用于初始化可信机构,生成系统安全参数,将系统安全参数和从委托人获取的利用深度学习初始化函数生成的初始全局模型M0发布在区块链中;
所述注册单元,用于将从训练参与用户获取的训练参与用户所需的身份信息和地理位置发送至可信机构注册,并将从可信机构获取的注册成功的训练参与用户的公私钥对发布在区块链上;
所述训练单元,用于将从训练参与用户获取的模型参数,利用随机梯度下降算法更新得到的训练参与用户当前的模型参数;
所述签名验证单元,用于将得到的当前的模型参数,更新从训练参与用户获取的当前的训练参与用户所要签名的本地模型,根据从可信机构获取的公私钥对生成环签名,并将生成的环签名发送至MEC服务器进行验证,若通过验证,则判断当前的训练参与用户是合法用户;
所述精度损失单元,用于判断出的合法的训练参与用户,计算出合法的训练参与用户的本地模型的精度损失值;
所述激励单元,用于根据计算出的精度损失值,将精度损失值最接近1的三位合法的训练参与用户,利用设定的奖励机制给予响应奖励;
所述聚合单元,用于将精度损失值最接近1的合法的训练参与用户选举为本轮的临时领导者,聚合合法的训练参与用户的本地模型,并将最新的本地模型发布到区块链中;
所述输出单元,用于获取第i个合法的训练参与用户的数据点索引值,利用最小化任务的损失函数得到优化后的全局模型参数。
进一步地,提出一种电子设备,包括存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序时实现上述的支持身份证明的联邦学习方法。
进一步地,一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的支持身份证明的联邦学习方法。
本实施例的其他部分与上述实施例1-2任一项相同,故不再赘述。
实施例4:
本实施例在上述实施例1-3任一项的基础上,以一具体的实施例进行详细说明。
工作原理:本实施例将联邦学习部署在区块链上,中央聚合器的功能由区块链系统完成,持有原始数据的参与用户可以自行加入并进行本地模型参数更新工作。更新的全局模型放置在区块中,为了防止恶意用户对全局模型的非法使用,区块会对全局模型进行秘密保护。同时,在证实本地模型具有合法来源的前提下,为了保护训练参与用户的身份信息,我们引入环签名算法,验证通过的用户被视为是合法的,该训练参与用户提供的本地模型会被接受并参与全局模型聚合。然后,通过计算本地梯度的精度损失函数,对诚实地上传本地模型的训练参与用户提供激励,通过巧妙地将环签名与去中心化的区块链结构相结合引入到联邦学习算法中。解决了机器学习模型训练过程中数据来源无法保证合法性的问题,实现了对训练参与用户身份信息的保护。这使得所提出的方法在复杂环境下仍然能满足实际的安全需求。
本发明共涉及四个实体:委托人,可信机构TrustedAgency,TA,训练参与用户Train Participating User和MEC服务器Mobile Edge Computing。基于匿名身份的联邦学习系统的角色描述如下:
委托人:提出需求建立联邦学习模型,拥有满足需求的用户可以申请参与联邦学习任务。
可信机构:绝对可信机构,系统初始阶段生成系统安全参数,对联邦学习训练参与用户进行身份注册和密钥发放。
训练参与用户:训练参与用户作为区块链系统的信息提供者和矿工,从区块链上获取当前的全局模型,训练自己的本地模型并对该模型生成环签名,上传给MEC服务器,通过签名验证的训练参与用户可以被确定是合法用户。
MEC服务器:对训练参与用户生成的环签名进行验证,对验证通过的本地模型,计算其模型精度损失值。
区块链:系统使用私有区块链来永久存储联邦学习全局模型,通过选举出临时领导者进行区块共识。
所述方法的具体步骤包括:
(1)初始化Initialize:可信机构运行初始化算法,生成系统安全参数{G1,G2,q,E,e,H1,H2},和机构密钥对{x,Mpk};委托人发送数据请求,初始化一个全局模型,并将其发布在区块链中。
可信机构运行初始化算法生成系统安全参数:G1是阶为q的加法循环群,E为G1的一个生成元,G2是阶为q的乘法循环群,存在双线性映射e:G1×G1→G2,且存在哈希函数H1、H2,有H1:{0,1}*→G1
Figure BDA0003820988820000081
委托人使用深度学习初始化函数生成初始全局模型M0,将其发布在区块链上;
(2)用户注册User-registration:参与模型训练的用户将所需身份、地理位置等信息发送给可信机构,若上传信息均合法则注册成功,机构会为注册成功的训练参与用户返回公私钥对和其他相关信息;
可信机构在集合
Figure BDA0003820988820000091
中随机选取一个x作为主密钥,如在q=9973时,随机选取一个x=6666,计算对应的公钥Mpk=xE;训练参与用户将所需要的身份、地理位置信息IDi∈{0,1}*提交给可信机构进行注册,若以上信息合法则通过注册,可信机构为每个合法用户独立生成公钥
Figure BDA0003820988820000092
和相应的私钥
Figure BDA0003820988820000093
将签名密钥
Figure BDA0003820988820000094
返回给对应合法用户,令集合
Figure BDA0003820988820000095
将公共参数{G1,G2,e,q,E,Mpk,H1,H2,Q}发布在区块链上;
(3)模型训练Training:训练参与用户从区块链上下载全局模型,利用存储在本地的数据完成本地模型的训练。
训练参与用户使用随机梯度下降算法SGD,stochastic gradient descent对本地模型参数进行更新,得到第t轮用户i的模型参数:
Figure BDA0003820988820000096
其中,
Figure BDA0003820988820000097
为第t轮训练参与用户i的本地模型参数,η表示参数更新时的学习率,
Figure BDA0003820988820000098
为t-1轮训练参与用户经过训练后的损失,定义为它在数据集Di上实际值和预测值之差。
(4)签名验证Authentication:训练参与用户对所要签名的本地模型更新,使用可信机构返回的签名密钥
Figure BDA0003820988820000099
生成环签名,由MEC服务器对生成的环签名进行验证,通过验证的训练参与用户被确定是合法用户。
训练参与用户针对本轮生成的本地模型更新,从区块链获取可用的签名环成员,配合生成环签名,若签名通过验证,其生成的本地模型才能参与精度损失计算和全局模型聚合:
a)签名生成,设
Figure BDA00038209888200000910
是训练参与用户u所要签名的本地模型参数,训练参与用户i在加法循环群G1中随机选取一个随机算子αi,先计算用户i的签名元素
Figure BDA00038209888200000911
再在集合
Figure BDA00038209888200000912
随机选取一个r,根据以下公式计算αu、用户u的签名元素cu和签名参数V:
Figure BDA00038209888200000913
Figure BDA00038209888200000914
Figure BDA00038209888200000915
其中,
Figure BDA0003820988820000101
分别是训练参与用户u的公钥和私钥。训练参与用户u计算对本地模型参数
Figure BDA0003820988820000102
的环签名
Figure BDA0003820988820000103
b)签名验证,MEC服务器计算签名元素
Figure BDA0003820988820000104
然后通过判断以下算式是否成立,验证环签名是否有效:
Figure BDA0003820988820000105
其中,Mpk是可信机构主密钥所对应的公钥。如果等式成立,则验证通过,训练参与用户u被确定是合法用户,其他情况则拒绝;
c)正确性证明,验证训练参与用户u的签名是否有效:
Figure BDA0003820988820000106
因为
Figure BDA0003820988820000107
所以服务器计算,
Figure BDA0003820988820000108
(5)精度损失Accuracy-loss:为了选举出本轮的临时领导者并执行激励机制,MEC服务器对通过签名验证的合法用户,会计算其模型精度损失值。
MEC服务器计算合法用户i的精度损失值
Figure BDA0003820988820000109
Figure BDA00038209888200001010
其中,||·||为闵可夫斯基距离(Minkowskidistance),用于测量模型参数的偏移量,χi表示从数据Di的特征空间中提取的模型参数。
Figure BDA00038209888200001011
值越接近于1,说明本地模型的精度越高;当
Figure BDA00038209888200001012
值接近于0时,则相反。
(6)用户激励Incentives:比较出本轮中精度损失值最接近1的前三位合法用户,给予响应奖励作为激励机制,鼓励其做出的贡献。
MEC服务器根据计算得出的精度损失值,比较出本地模型精度最高的三位合法用户,
作为鼓励给予一定的响应奖励。
(7)模型聚合Model-aggregation:精度损失值最接近1的合法用户被选举成为本轮的临时领导者,聚合合法用户的全局模型,再将最新的全局模型发布到区块链中,其余的合法用户将验证生成的区块,当3/4的节点同意该区块,新的区块才会被接纳。
当合法用户上传的本地模型达到一定数量之后,MEC服务器会根据本轮的精度损失值,
选举出本地模型精度最高的合法用户作为临时领导者,执行此轮全局模型聚合过程:
Figure BDA0003820988820000111
其中,
Figure BDA0003820988820000112
表示第t轮的全局模型,|Di|表示用户参与FL任务的数据集大小,具有更大数据集的合法用户能得到更大的权值
(8)多轮迭代Multiple-iterations:训练参与用户下载最新的全局模型,开始新一轮迭代。
ui为第i个合法用户的数据点索引值,并令ni=|ui|,
Figure BDA0003820988820000113
则有:
Figure BDA0003820988820000114
其中,
Figure BDA0003820988820000115
表示合法用户i第t轮的损失值,Lt(ω)表示n个合法用户第t轮的总损失值。最终,通过最小化任务的损失函数Lt(ω)来优化全局模型参数ω,表示为:
ω=argminLt(ω)
本实施例的其他部分与上述实施例1-3任一项相同,故不再赘述。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。

Claims (9)

1.一种支持身份证明的联邦学习方法,其特征在于,包括以下步骤:
步骤1:初始化可信机构,生成系统安全参数,将系统安全参数和从委托人获取的利用深度学习初始化函数生成的初始全局模型M0发布在区块链中;
步骤2:将从训练参与用户获取的训练参与用户所需的身份信息和地理位置发送至可信机构注册,并将从可信机构获取的注册成功的训练参与用户的公私钥对发布在区块链上;
步骤3:将从训练参与用户获取的模型参数,利用随机梯度下降算法更新得到的训练参与用户当前的模型参数;
步骤4:根据步骤3得到的当前的模型参数,更新从训练参与用户获取的当前的训练参与用户所要签名的本地模型,根据从可信机构获取的公私钥对生成环签名,并将生成的环签名发送至MEC服务器进行验证,若通过验证,则判断当前的训练参与用户是合法用户;
步骤5:将步骤4判断出的合法的训练参与用户,计算出合法的训练参与用户的本地模型的精度损失值;
步骤6:根据步骤5计算得出的精度损失值,将精度损失值最接近1的三位合法的训练参与用户,利用设定的奖励机制给予响应奖励;
步骤7:将精度损失值最接近1的合法的训练参与用户选举为本轮的临时领导者,聚合合法的训练参与用户的本地模型,并将最新的本地模型发布到区块链中;
步骤8:获取第i个合法的训练参与用户的数据点索引值,利用最小化任务的损失函数得到优化后的全局模型参数。
2.如权利要求1所述的一种支持身份证明的联邦学习方法,其特征在于,所述步骤2的具体操作为:将从可信机构获取的在集合
Figure FDA0003820988810000011
中选取的随机数x作为主密钥,计算随机数x对应的主公钥,将从训练参与用户获取的训练参与用户所需要的身份信息和地理信息发送至可信机构注册,生成合法的训练参与用户,根据所有合法的训练参与用户生成独立的公钥和公钥对应的私钥返回给对应的训练参与用户,将公钥集用集合Q表示,并发布在区块链上。
3.如权利要求2所述的一种支持身份证明的联邦学习方法,其特征在于,所述步骤3的具体操作为:将从训练参与用户获取的训练参与用户从区块链上下载的初始全局模型M0和存储在本地的数据训练训练参与用户的本地模型,并利用随机梯度下降算法更新得到的训练参与用户当前的模型参数。
4.如权利要求3所述的一种支持身份证明的联邦学习方法,其特征在于,所述步骤4具体包括以下步骤:
步骤41:根据从训练参与用户获取的在加法循环群中选取的随机算子αi,计算出训练参与用户的签名元素ci,在集合Z* q中选取一个随机数r,计算出当前签名用户在加法循环群中的算子αu、当前签名用户的签名元素cu、当前签名用户的签名参数V;
步骤42:根据步骤41计算出的当前签名用户在加法循环群中的算子αu、当前签名用户的签名元素cu、当前签名用户的签名参数V、当前签名用户的公私钥对,计算出当前签名用户的本地模型的环签名σ;
步骤43:根据步骤41计算出的训练参与用户的签名元素ci,验证环签名是否有效,若通过验证,则判断当前的训练参与用户是合法用户。
5.如权利要求1所述的一种支持身份证明的联邦学习方法,其特征在于,所述步骤5中利用计算出的精度损失值判断训练参与用户的本地模型的精度高低的具体操作为:若训练参与用户的本地模型的精度损失值越接近于1,则训练参与用户的本地模型的精度越高;若训练参与用户的本地模型的精度损失值接近于0时,则训练参与用户的本地模型的精度越低。
6.如权利要求1-5任一项所述的一种支持身份证明的联邦学习方法,其特征在于,所述系统安全参数包括阶为q的加法循环群G1、加法循环群G1的生成元E、阶为q的乘法循环群G2、双线性映射e:G1×G1→G2、哈希函数H1、H2,H1:{0,1}*→G1、H2
Figure FDA0003820988810000021
7.一种支持身份证明的联邦学习系统,其特征在于,包括初始单元、注册单元、训练单元、签名验证单元、精度损失单元、激励单元、聚合单元、输出单元;
所述初始单元,用于初始化可信机构,生成系统安全参数,将系统安全参数和从委托人获取的利用深度学习初始化函数生成的初始全局模型M0发布在区块链中;
所述注册单元,用于将从训练参与用户获取的训练参与用户所需的身份信息和地理位置发送至可信机构注册,并将从可信机构获取的注册成功的训练参与用户的公私钥对发布在区块链上;
所述训练单元,用于将从训练参与用户获取的模型参数,利用随机梯度下降算法更新得到的训练参与用户当前的模型参数;
所述签名验证单元,用于将得到的当前的模型参数,更新从训练参与用户获取的当前的训练参与用户所要签名的本地模型,根据从可信机构获取的公私钥对生成环签名,并将生成的环签名发送至MEC服务器进行验证,若通过验证,则判断当前的训练参与用户是合法用户;
所述精度损失单元,用于判断出的合法的训练参与用户,计算出合法的训练参与用户的本地模型的精度损失值;
所述激励单元,用于根据计算出的精度损失值,将精度损失值最接近1的三位合法的训练参与用户,利用设定的奖励机制给予响应奖励;
所述聚合单元,用于将精度损失值最接近1的合法的训练参与用户选举为本轮的临时领导者,聚合合法的训练参与用户的本地模型,并将最新的本地模型发布到区块链中;
所述输出单元,用于获取第i个合法的训练参与用户的数据点索引值,利用最小化任务的损失函数得到优化后的全局模型参数。
8.一种电子设备,其特征在于,包括存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序时实现如权利要求1-6任一项所述的支持身份证明的联邦学习方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述的支持身份证明的联邦学习方法。
CN202211047582.XA 2022-08-29 2022-08-29 一种支持身份证明的联邦学习方法、系统、设备及介质 Pending CN115438322A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211047582.XA CN115438322A (zh) 2022-08-29 2022-08-29 一种支持身份证明的联邦学习方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211047582.XA CN115438322A (zh) 2022-08-29 2022-08-29 一种支持身份证明的联邦学习方法、系统、设备及介质

Publications (1)

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

Family

ID=84243726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211047582.XA Pending CN115438322A (zh) 2022-08-29 2022-08-29 一种支持身份证明的联邦学习方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN115438322A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116720594A (zh) * 2023-08-09 2023-09-08 中国科学技术大学 一种去中心化的分层联邦学习方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116720594A (zh) * 2023-08-09 2023-09-08 中国科学技术大学 一种去中心化的分层联邦学习方法
CN116720594B (zh) * 2023-08-09 2023-11-28 中国科学技术大学 一种去中心化的分层联邦学习方法

Similar Documents

Publication Publication Date Title
CN112434280B (zh) 一种基于区块链的联邦学习防御方法
US11700183B2 (en) Token mining consensus mechanisms
US11146394B2 (en) Systems and methods for biometric key generation in data access control, data verification, and path selection in block chain-linked workforce data management
Samuel et al. IoMT: A COVID-19 healthcare system driven by federated learning and blockchain
Miers et al. Zerocoin: Anonymous distributed e-cash from bitcoin
KR20200054128A (ko) 준동형 암호화를 사용하는 블록체인 데이터 보호
Seifelnasr et al. Scalable open-vote network on ethereum
CN115152177B (zh) 提供机密知识的专门证明的系统和方法
CN111899023B (zh) 一种基于区块链的群智感知机器学习安全众包方法及系统
Huang et al. Blockchain-assisted personalized car insurance with privacy preservation and fraud resistance
Lu et al. On enabling machine learning tasks atop public blockchains: A crowdsourcing approach
CN112613601B (zh) 神经网络模型更新方法、设备及计算机存储介质
Patel et al. Blockchain-envisioned trusted random oracles for IoT-enabled probabilistic smart contracts
CN107636663A (zh) 使用环境的位置相关物理属性的测量来保护应用的方法和装置
US11627125B1 (en) Apparatus and methods for credentialing users across user devices
CN115640305B (zh) 一种基于区块链的公平可信联邦学习方法
Platt et al. Sybil attacks on identity-augmented Proof-of-Stake
EP4333368A2 (en) Knowledge proof
CN115438322A (zh) 一种支持身份证明的联邦学习方法、系统、设备及介质
CN116187471A (zh) 基于区块链的身份匿名与可问责隐私保护联邦学习方法
CN116980426A (zh) 一种基于区块链激励物联网数据共享的奖惩方法
Neloy et al. A remote and cost‐optimized voting system using blockchain and smart contract
Wang et al. Smart contract-based integrity audit method for IoT
Kadam et al. Blockchain Based e-Voting System
CN114844653B (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