CN116996235A - 联合建模的安全认证方法、装置及系统 - Google Patents
联合建模的安全认证方法、装置及系统 Download PDFInfo
- Publication number
- CN116996235A CN116996235A CN202311248994.4A CN202311248994A CN116996235A CN 116996235 A CN116996235 A CN 116996235A CN 202311248994 A CN202311248994 A CN 202311248994A CN 116996235 A CN116996235 A CN 116996235A
- Authority
- CN
- China
- Prior art keywords
- signature
- gradient
- node
- data
- public
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012549 training Methods 0.000 claims abstract description 38
- 230000004931 aggregating effect Effects 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 67
- 125000004122 cyclic group Chemical group 0.000 claims description 15
- 230000002776 aggregation Effects 0.000 claims description 14
- 238000004220 aggregation Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 2
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种联合建模的安全认证方法、装置及系统,该方法包括:生成并发布公开参数PK及文件散列函数H;根据公开参数PK及文件散列函数H,为参与联合建模的各节点生成私钥SK,并将私钥SK及全局模型通过安全信道发送给对应的节点;接收各节点的梯度签名,所述梯度签名是所述节点根据自己的私钥SK、所述公开参数PK及文件散列函数H对所述全局模型训练得到的梯度数据进行签名得到的;确定各节点的梯度签名是否有效;如果所有梯度签名均有效,则对梯度签名进行聚合,得到聚合签名,并将聚合签名发送给各节点。利用本发明方案,可以保证联合建模信息的安全性。
Description
技术领域
本发明涉及联合建模技术领域,具体涉及一种联合建模的安全认证方法、装置及系统。
背景技术
近些年来,随着深度学习的快速发展,已被广泛应用于在政府、交通、医疗、教育、金融、智慧城市等领域。随着边缘计算的兴起与人类活动的进一步扩展,当前数据规模呈现爆炸式增长状态,采用传统深度学习的方法已不再适合。同时,随着个人信息保护以及各大公司对数据安全和隐私的意识逐渐增强,对数据隐私和安全的重视已成为世界范围内的一个主要问题。由于数据规模剧增和隐私安全问题,即使是同一公司的不同部门之间数据共享交换与集成也面临着重重阻力,因此造成了数据往往以孤岛的形式存在,不能充分深入挖掘其应有的数据价值。在此背景下,联邦学习以多方数据参与为驱动,通过数据加密交互实现数据自身价值的最大化,因此在近年来受到广大研究学者的关注与研究,逐步从基础理论研究走向实际应用,为企业进一步发挥数据价值提供了新技术。
联邦学习作为一个分布式的机器学习技术,但在建模过程中,中央服务器无法鉴别节点的身份,导致恶意节点可能会冒充合法节点进行窃取相关信息,造成建模过程失败。因此,如何设计一个安全认证的方法保障各个参与建模节点之间的身份认证是一个待解决的问题。
发明内容
本发明提供一种联合建模的安全认证方法、装置及系统,以保证联合建模信息的安全性。
为此,本发明提供如下技术方案:
一种联合建模的安全认证方法,所述方法包括:
生成并发布公开参数PK及文件散列函数H,所述公开参数PK包括第一公钥和第二公钥;
根据所述公开参数PK及文件散列函数H,为参与联合建模的各节点生成私钥SK,并将所述私钥SK及全局模型通过安全信道发送给对应的节点;
接收各节点的梯度签名及梯度数据,所述梯度签名是所述节点根据自己的私钥SK、所述公开参数PK及文件散列函数H,对所述全局模型训练得到的梯度数据进行签名得到的;
确定各节点的梯度签名是否有效;
如果所有梯度签名均有效,则对所述梯度签名和所述梯度数据进行聚合,得到聚合签名,并将所述聚合签名发送给各节点,以使各节点根据聚合签名进行下一轮次训练。
可选地,生成公开参数PK及文件散列函数H包括:
确定主密钥;
随机选取两个阶为p的循环乘法群G1、G2,并根据所述循环乘法群G1、G2确定双线性映射e;
从群G1中随机选择两个元素作为第一公钥,并利用所述主密钥计算出第二公钥;
根据所述循环乘法群G1、G2、所述双线性映射e、以及所述第一公钥和第二公钥,生成公开参数PK;
确定文件散列函数H:m→G,其中m→G为文件m映射为循环乘法群G1上元素的散列运算;G表示所述循环乘法群G1上的元素;
所述发布公开参数PK及文件散列函数H包括:
将所述公开参数PK及所述文件散列函数H发布到联盟链上;或者
将所述公开参数PK及所述文件散列函数H通过安全信道发送给各节点。
可选地,所述根据所述公开参数PK及文件散列函数H,为参与联合建模的各节点生成私钥SK包括:
获取参与联合建模的各节点的用户身份信息IDi;
随机选取一个整数;
利用所述文件散列函数H与所述整数对所述用户身份信息IDi进行模指数运算,得到对应所述节点的私钥SK。
可选地,所述用户身份信息IDi包括以下任意一种或多种:身份证号、电话号码。
可选地,所述梯度签名包括:第一部分签名、第二部分签名/>、以及第二散列数据/>;
所述对所述梯度签名和所述梯度数据进行聚合,得到聚合签名包括:
对于接收到的参与建模的各节点发送的梯度签名,分别对所述第二部分签名和所述第二散列数据/>进行求和计算,得到第二部分签名聚合值和第二散列数据聚合值;
根据所述梯度数据、所述第一部分签名、所述第二部分签名聚合值、以及所述第二散列数据聚合值,生成聚合签名。
一种联合建模的安全认证方法,所述方法包括:
从服务器获取全局模型及私钥SK、以及服务器公布的公开参数PK和文件散列函数H,所述公开参数PK包括第一公钥和第二公钥;
利用本地数据对所述全局模型进行训练,得到梯度数据;
根据所述私钥SK、公开参数PK和文件散列函数H,对所述梯度数据进行签名,将所述梯度数据及生成的梯度签名发送给所述服务器;
接收所述服务器发送的聚合签名,所述聚合签名是所述服务器根据接收的各节点有效的梯度签名及梯度数据进行聚合得到的;
对所述聚合签名进行验证。
可选地,所述根据所述私钥SK、公开参数PK和文件散列函数H,对所述梯度数据进行签名包括:
选择一个随机数,利用第一公钥和所述随机数/>计算得到第一部分签名/>;
利用所述文件散列函数H将所述梯度数据gradfui映射为第一散列数据;
利用所述用户身份信息IDi、所述梯度数据gradfui、所述第一部分签名和所述文件散列函数H,计算得到第二散列数据/>;
利用所述第一散列数据、所述第二散列数据/>、所述第一部分签名/>、以及所述私钥SK,计算得到第二部分签名/>;
根据第一部分签名、第二部分签名/>、以及第二散列数据生成梯度签名。
(1)一种联合建模的安全认证装置,所述装置包括:
初始化模块,用于生成并发布公开参数PK及文件散列函数H,所述公开参数PK包括第一公钥和第二公钥;
私钥生成模块,用于根据所述公开参数PK及文件散列函数H,为参与联合建模的各节点生成私钥SK,并将所述私钥SK及全局模型通过安全信道发送给对应的节点;
节点签名验证模块,用于接收各节点的梯度签名及梯度数据,确定各节点的梯度签名是否有效;所述梯度签名是所述节点根据自己的私钥SK、所述公开参数PK及文件散列函数H对所述全局模型训练得到的梯度数据进行签名得到的;
梯度聚合模块,用于在所有梯度签名均有效的情况下,对所述梯度签名和所述梯度数据进行聚合,得到聚合签名,并将所述聚合签名发送给各节点,以使各节点根据聚合签名进行下一轮次训练。
(2)一种联合建模的安全认证装置,所述装置包括:
信息获取模块,用于从服务器获取全局模型及私钥SK、以及服务器公布的公开参数PK和文件散列函数H,所述公开参数PK包括第一公钥和第二公钥;
模型训练模块,用于利用本地数据对所述全局模型进行训练,得到梯度数据;
节点签名模块,用于根据所述私钥SK、公开参数PK和文件散列函数H,对所述梯度数据进行签名,将所述梯度数据及生成的梯度签名发送给所述服务器;
聚合签名验证模块,用于接收所述服务器发送的聚合签名,对所述聚合签名进行验证;所述聚合签名是所述服务器根据接收的各节点有效的梯度签名及梯度数据进行聚合得到的。
一种联合建模的安全认证系统,所述系统包括:服务器、以及至少两个参与联合建模的节点设备;所述服务器包括上述(1)的联合建模的安全认证装置,所述节点设备包括上述(2)的联合建模的安全认证装置;
所述服务器,用于将待训练模型发送给各节点设备;
所述节点设备,用于对所述模型进行联合训练;
所述服务器和所述节点设备之间传送的梯度数据基于用户身份信息签名。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行前面所述联合建模的安全认证方法的步骤。
一种联合建模的安全认证设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行前面所述联合建模的安全认证方法的步骤。
本发明提供的联合建模的安全认证方法、装置及系统,利用基于身份信息的密码体制,具有可以简化公钥的获取、没有公钥证书负担的优点,可以实现参与节点与中央服务器之间的身份认证,保证模型数据的安全性。
与现有技术相比,本发明方案的有益效果主要有以下几点:
(1)本发明方案结合了联邦学习技术与基于身份签名体制,实现用户身份与公钥进行绑定,避免了现有公钥基础设施体制存在的公钥证书管理困难、成本高、效率低的问题。
(2)本发明方案为保障模型联合训练过程中的安全性,基于区块链技术,将公开参数及签名等重要信息进行上链,实现了联邦建模过程的安全监管。
(3)本发明方案具有通用性强、安全性高的优点,能够有效解决在联邦学习场景下快速安全地实现共识节点间身份认证的问题。
附图说明
图1是本发明提供的联合建模的安全认证方法的一种流程图;
图2是本发明实施例中生成公开参数PK及文件散列函数H的流程图;
图3是本发明提供的联合建模的安全认证方法的另一种流程图;
图4是本发明提供的联合建模的安全认证装置的一种结构示意图;
图5是本发明提供的联合建模的安全认证装置的另一种结构示意图;
图6是本发明提供的联合建模的安全认证系统的一种结构示意图;
图7是本发明提供的联合建模的安全认证系统中服务器和节点设备之间的数据交互示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
针对现有的联邦学习无法实现节点之间的安全身份认证,进而无法保证建模信息的安全问题,本发明提供一种联合建模的安全认证方法、装置及系统,利用基于身份信息的密码体制,具有可以简化公钥的获取、没有公钥证书负担的优点,可以实现参与节点与中央服务器之间的身份认证。
如图1所示,是本发明提供的联合建模的安全认证方法的一种流程图,包括以下步骤:
步骤101,生成并发布公开参数PK及文件散列函数H,所述公开参数PK包括第一公钥和第二公钥。
所述公开参数PK和所述文件散列函数H由服务器生成,在生成后服务器可以将其发布,以使参与联合建模的各节点都能够获得这些信息。
为了保证公开参数PK及文件散列函数H不会被恶意破坏或修改,在一种非限制性实施例中,服务器可以将其发布到联盟链上;相应地,各节点可以从所述联盟链上得到这些信息。所述联盟链是指由多个私有链组成的集群,由多个机构共同参与管理的区块链,每个组织或机构管理一个或多个节点,其数据只允许系统内不同的机构进行读写和发送。
在另一种非限制性实施例中,服务器还可以通过安全信道将这些信息发送给各节点。
生成公开参数PK和文件散列函数H的具体方法将在后面详细说明。
步骤102,根据所述公开参数PK及文件散列函数H,为参与联合建模的各节点生成私钥SK,并将所述私钥SK及全局模型通过安全信道发送给对应的节点。
在本发明实施例中,可以基于各节点的用户身份信息IDi生成所述节点的私钥SK,即获取参与联合建模的各节点的用户身份信息IDi,根据所述用户身份信息IDi生成所述节点的私钥SK。所述用户身份信息IDi是表示可识别出用户身份的信息,如身份证号、电话号码等信息,获取用户身份信息IDi须经用户同意或授权。
比如,在一种非限制性实施例中,可以按以下方式生成各节点的私钥SK:
首先,随机选取一个整数,比如可以从有限域/>中随机选取一个整数/>;然后利用所述文件散列函数H与该整数/>对所述用户身份信息IDi进行模指数运算,得到对应所述节点的私钥SK,具体可以表示为:SK=/>。
需要说明的是,在实际应用中,还可以采用其它方式生成私钥SK,对此本发明实施例不做限定。
另外,需要说明的是,所述全局模型是指需要联合训练的模型,模型的训练通常会需要多轮次,直至损失函数达到收敛的效果。在初始轮次,服务器发送给各节点的全局模型是初始化模型,在后续轮次的训练中,服务器发送给各节点的全局模型是经过联合训练得到的中间模型,直至训练结束,得到最终模型。
步骤103,接收各节点的梯度签名及梯度数据,所述梯度签名是所述节点根据自己的私钥SK、所述公开参数PK及文件散列函数H对所述全局模型训练得到的梯度数据进行签名得到的。
各节点对模型的训练方法可以根据具体的模型结构等来确定,对此本发明实施例不做限定。
各节点在训练得到梯度数据后,需要根据自己的私钥SK、所述公开参数PK及文件散列函数H对所述全局模型训练得到的梯度数据进行签名,得到梯度签名。
比如,一种非限制性的生成梯度签名的方式可以包括以下几部分:
(1)选择一个随机数,利用第一公钥和所述随机数/>计算得到第一部分签名/>。
比如,从有限域中随机选择一个随机数/>,利用第一公钥计算得到第一部分签名/>。
(2)利用所述文件散列函数H将所述梯度数据gradfui映射为第一散列数据,即。
(3)利用用户身份信息IDi、第一部分签名和所述文件散列函数H计算得到第二散列数据/>。
(4)利用第一散列数据、第二散列数据/>、第一部分签名/>、以及所述私钥SK,计算得到第二部分签名/>。
(5)根据第一部分签名、第二部分签名/>、以及第二散列数据/>生成梯度签名。
步骤104,确定各节点的梯度签名是否有效。
需要说明的是,服务器需要对各节点发送的梯度签名进行验证,若签名有效,则接受该签名;否则,拒绝该签名。
是否有效的确定与签名方式相关,签名方式确定的情况下,签名的验证也随即确定。
以前面步骤103中介绍的梯度签名方法为例,有以下公式:
因此,对各节点的梯度签名可以根据如下等式进行验证:
(1)
如果上述等式(1)的两端成立,则表明该梯度签名是合法的;否则,表明该签名是不合法。
步骤105,如果所有梯度签名均有效,则对所述梯度签名和所述梯度数据进行聚合,得到聚合签名,并将所述聚合签名发送给各节点,以使各节点根据聚合签名进行下一轮次训练。
以上述梯度签名包括第一部分签名、第二部分签名/>、以及第二散列数据/>为例,一种非限制性实施例中,可以按照以下方式生成聚合签名:
对于接收到的参与建模的各节点发送的梯度签名,分别对所述第二部分签名和所述第二散列数据/>进行求和计算,得到第二部分签名聚合值Y和第二散列数据聚合值W,其中:
,/>
其中,n为参与联合建模的节点数。
根据所述梯度数据、所述第一部分签名、所述第二部分签名聚合值Y、以及所述第二散列数据聚合值W,生成聚合签名。比如,可以将梯度数据gradfui、第一部分签名/>、第二部分签名聚合值Y、以及第二散列数据聚合值W作为聚合签名。
在得到聚合签名后,服务器将该聚合签名发送给各节点。
相应地,各节点收到服务器发送的聚合签名后,开始下一轮的模型训练过程。
在上述步骤101中,具体可以按照以下方式图2所示流程生成公开参数PK及文件散列函数H。
参照图2,图2是本发明实施例中生成公开参数PK及文件散列函数H的流程图,包括以下步骤:
步骤201,确定主密钥MSK。
比如,在有限域中随机选择一个整数α作为主密钥(MSK),其中q为大于2512的安全素数。
步骤202,随机选取两个阶为p的循环乘法群G1、G2,根据所述循环乘法群G1、G2确定双线性映射e。
比如,所述双线性映射e可以定义为:G1×G1→G2。
步骤203,从群G1中随机选择两个元素作为第一公钥,并利用主密钥MSK计算出第二公钥。
比如,第二公钥可以按以下公式计算:,其中,g表示第一公钥,Ω表示第二公钥。
步骤204,根据所述循环乘法群G1、G2、所述双线性映射e、以及所述第一公钥和第二公钥,生成公开参数PK,即PK=(G1、G2、e、第一公钥,第二公钥)。
步骤205,确定文件散列函数H:m→G,其中m→G表示文件m映射为循环乘法群G1或G2上元素的散列运算。
上述图1所示实施例从服务器的角度说明了多节点联合建模过程中的安全认证过程。下面结合图3进一步详细说明各节点的安全认证过程。
如图3所示,是本发明提供的联合建模的安全认证方法的另一种流程图,包括以下步骤:
步骤301,从服务器获取全局模型及私钥SK、以及服务器公布的公开参数PK和文件散列函数H,所述公开参数PK包括第一公钥和第二公钥。
对应各节点的私钥SK,是基于各节点的用户身份信息IDi生成,具体可参照前面步骤102中的描述,在此不再赘述。
步骤302,利用本地数据对所述全局模型进行训练,得到梯度数据。
对模型的训练方法可以根据具体的模型结构等来确定,对此本发明实施例不做限定。
步骤303,根据所述私钥SK、公开参数PK和文件散列函数H,对所述梯度数据进行签名,将所述梯度数据及生成的梯度签名发送给所述服务器。
步骤304,接收所述服务器发送的聚合签名,所述聚合签名是所述服务器根据接收的所有有效的梯度签名及梯度数据进行聚合得到的。
步骤305,对所述聚合签名进行验证。
以上述步骤105得到的聚合签名为例,可以得到以下推导过程:
为此,可以按照以下方式对聚合标签进行验证:
首先,计算,/> ;
然后,判断以下等式是否成立:
(2)
如果上面等式(2)两端成立,则表明该聚合签名是合法的;否则,则表明该聚合签名是不合法的。
各节点对聚合标签验证通过后,即可开始下一轮次的模型训练。
需要说明的是,当多参与方联合建模K次,损失函数达到收敛的效果后模型训练结束,此时,服务器可将训练得到的模型发布出来使用。
本发明提供的联合建模的安全认证方法,利用基于身份信息的密码体制,具有可以简化公钥的获取、没有公钥证书负担的优点,可以实现参与节点与中央服务器之间的身份认证,保证了模型数据的安全性。
相应地,本发明实施例还提供一种联合建模的安全认证装置,如图4所示,是该装置的一种结构示意图。
图4所示联合建模的安全认证装置可以设置在中央服务器上,该装置400包括以下各模块:
初始化模块401,用于生成并发布公开参数PK及文件散列函数H,所述公开参数PK包括第一公钥和第二公钥;
私钥生成模块402,用于根据所述公开参数PK及文件散列函数H,为参与联合建模的各节点生成私钥SK,并将所述私钥SK及全局模型通过安全信道发送给对应的节点;
节点签名验证模块403,用于接收各节点的梯度签名及梯度数据,确定各节点的梯度签名是否有效;所述梯度签名是所述节点根据自己的私钥SK、所述公开参数PK及文件散列函数H对所述全局模型训练得到的梯度数据进行签名得到的;
梯度聚合模块404,用于在所有梯度签名均有效的情况下,对所述梯度签名和所述梯度数据进行聚合,得到聚合签名,并将所述聚合签名发送给各节点,以使各节点根据聚合签名进行下一轮次训练。
相应地,本发明实施例还提供一种联合建模的安全认证装置,如图6所示,是该装置的一种结构示意图。
图5所示联合建模的安全认证装置可以设置在中央服务器上,该装置500包括以下各模块:
信息获取模块501,用于从服务器获取全局模型及私钥SK、以及服务器公布的公开参数PK和文件散列函数H,所述公开参数PK包括第一公钥和第二公钥;
模型训练模块502,用于利用本地数据对所述全局模型进行训练,得到梯度数据;
节点签名模块503,用于根据所述私钥SK、公开参数PK和文件散列函数H,对所述梯度数据进行签名,将生成的梯度签名发送给所述服务器;
聚合签名验证模块504,用于接收所述服务器发送的聚合签名,对所述聚合签名进行验证;所述聚合签名是所述服务器根据接收的各节点有效的梯度签名及梯度数据进行聚合得到的。
相应地,本发明实施例还提供一种联合建模的安全认证系统,如图6所示,是该系统的一种结构示意图。
该系统包括服务器600、以及至少两个参与联合建模的节点设备601。其中,所述服务器600用于将待训练模型发送给各节点设备;所述节点设备601用于对所述模型进行联合训练。
所述服务器600包括上述联合建模的安全认证装置400,所述节点设备601包括上述联合建模的安全认证装置500;
所述服务器600和所述节点设备601之间传送的梯度数据基于用户身份信息签名。
下面结合图7详细说明本发明提供的联合建模的安全认证系统中服务器和节点设备之间的数据交互。
如图7所示,是本发明提供的联合建模的安全认证系统中服务器和节点设备之间的数据交互示意图。
首先,在步骤701,服务器生成并发布公开参数PK及文件散列函数H,使各节点设备得到所述公开参数PK及文件散列函数H;
在步骤702,服务器根据公开参数PK及文件散列函数H,为参与联合建模的各节点生成私钥SK;
在步骤703,将私钥SK及全局模型通过安全信道发送给对应的节点设备;
在步骤704,节点设备利用本地数据对所述全局模型进行训练,得到梯度数据;
在步骤705,节点设备根据私钥SK、公开参数PK和文件散列函数H,对所述梯度数据进行签名;
在步骤706,节点设备将生成的梯度签名发送给所述服务器;
在步骤707,服务器确定收到的梯度签名是否有效,并对验证结果进行响应,比如,在验证梯度签名有效后,向节点设备发送ACK(确认)消息;在验证梯度签名无效后,向节点设备发送NACK(拒绝)消息,以使节点设备重新发送有效的梯度签名;
在步骤708,在所有梯度签名均有效的情况下,节点服务器对所有梯度签名进行聚合,得到聚合签名;
在步骤709,服务器将聚合签名发送给节点设备,以使节点设备根据聚合签名进行下一轮次训练。
在步骤710,节点设备对收到的聚合签名进行验证,并对验证结果进行响应,比如,在验证聚合签名有效后,向服务器发送ACK(确认)消息;在验证聚合签名无效后,向服务器发送NACK(拒绝)消息,以使服务器重新发送有效的聚合签名。
节点设备对所述聚合签名验证有效的情况下,开始下一轮次的模型训练过程,得到新的梯度数据,对其进行签名后发送给服务器。依次类推,直至达到模型训练结束条件后,服务器根据各节点的梯度数据生成最终的模型。
进一步地,服务器还可将最终得到的模型发布至联盟链上,使各节点设备能够方便地得到该模型,利用该模型进行相应的业务处理。
需要说明的是,参与联合建立的其它节点设备与服务器的交互过程与图7所示实施例相同。
利用本发明提供的联合建模的安全认证系统,可以方便地实现参与联合建模的各节点与服务器之间的身份认证,有效地保证了建模数据的安全性。
本发明还公开了一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时可以执行前述联合建模的安全认证方法的步骤。所述存储介质可以包括只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁盘或光盘等。存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语 “包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。而且,以上所描述的系统实施例仅仅是示意性的,其中作为分离部件说明的模块和单元可以是或者也可以不是物理上分开的,即可以位于一个网络单元上,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及系统,其仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围,本说明书内容不应理解为对本发明的限制。因此,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种联合建模的安全认证方法,其特征在于,所述方法包括:
生成并发布公开参数PK及文件散列函数H,所述公开参数PK包括第一公钥和第二公钥;
根据所述公开参数PK及文件散列函数H,为参与联合建模的各节点生成私钥SK,并将所述私钥SK及全局模型通过安全信道发送给对应的节点;
接收各节点的梯度签名及梯度数据,所述梯度签名是所述节点根据自己的私钥SK、所述公开参数PK及文件散列函数H,对所述全局模型训练得到的梯度数据进行签名得到的;
确定各节点的梯度签名是否有效;
如果所有梯度签名均有效,则对所述梯度签名和所述梯度数据进行聚合,得到聚合签名,并将所述聚合签名发送给各节点,以使各节点根据聚合签名进行下一轮次训练;
其中,生成公开参数PK及文件散列函数H包括:
确定主密钥;
随机选取两个阶为p的循环乘法群G1、循环乘法群G2,并根据所述循环乘法群G1、G2确定双线性映射e;
从群G1中随机选择两个元素作为第一公钥,并利用所述主密钥计算出第二公钥;
根据所述循环乘法群G1、G2、所述双线性映射e、以及所述第一公钥和第二公钥,生成公开参数PK;
确定文件散列函数H:m→G,其中m→G为文件m映射为循环乘法群G1上元素的散列运算;G表示所述循环乘法群G1上的元素;
所述发布公开参数PK及文件散列函数H包括:
将所述公开参数PK及所述文件散列函数H发布到联盟链上或通过安全信道发送给各节点。
2.根据权利要求1所述的联合建模的安全认证方法,其特征在于,所述根据所述公开参数PK及文件散列函数H,为参与联合建模的各节点生成私钥SK包括:
获取参与联合建模的各节点的用户身份信息IDi;
随机选取一个整数;
利用所述文件散列函数H与所述整数对所述用户身份信息IDi进行模指数运算,得到对应所述节点的私钥SK。
3.根据权利要求2所述的联合建模的安全认证方法,其特征在于,所述用户身份信息IDi包括以下任意一种或多种:身份证号、电话号码。
4.根据权利要求1至3任一项所述的联合建模的安全认证方法,其特征在于,所述梯度签名包括:第一部分签名、第二部分签名/>、以及第二散列数据/>;
所述对所述梯度签名和所述梯度数据进行聚合,得到聚合签名包括:
对于接收到的参与建模的各节点发送的梯度签名,分别对所述第二部分签名和所述第二散列数据/>进行求和计算,得到第二部分签名聚合值和第二散列数据聚合值;
根据所述梯度数据、所述第一部分签名、所述第二部分签名聚合值、以及所述第二散列数据聚合值,生成聚合签名。
5.一种联合建模的安全认证方法,其特征在于,所述方法包括:
从服务器获取全局模型及私钥SK、以及服务器公布的公开参数PK和文件散列函数H,所述公开参数PK包括第一公钥和第二公钥;
利用本地数据对所述全局模型进行训练,得到梯度数据;
根据所述私钥SK、公开参数PK和文件散列函数H,对所述梯度数据进行签名,将所述梯度数据及生成的梯度签名发送给所述服务器;
接收所述服务器发送的聚合签名,所述聚合签名是所述服务器根据接收的各节点有效的梯度签名及梯度数据进行聚合得到的;
对所述聚合签名进行验证。
6.根据权利要求5所述的联合建模的安全认证方法,其特征在于,所述根据所述私钥SK、公开参数PK和文件散列函数H,对所述梯度数据进行签名包括:
选择一个随机数,利用第一公钥和随机数/>计算得到第一部分签名/>;
利用所述文件散列函数H将所述梯度数据映射为第一散列数据;
利用用户身份信息IDi、第一部分签名和所述文件散列函数H,计算得到第二散列数据;
利用第一散列数据、第二散列数据/>、所述第一部分签名/>、以及所述私钥SK,计算得到第二部分签名/>;
根据第一部分签名、第二部分签名/>、以及第二散列数据生成梯度签名。
7.一种联合建模的安全认证装置,其特征在于,所述装置包括:
初始化模块,用于生成并发布公开参数PK及文件散列函数H,所述公开参数PK包括第一公钥和第二公钥;
私钥生成模块,用于根据所述公开参数PK及文件散列函数H,为参与联合建模的各节点生成私钥SK,并将所述私钥SK及全局模型通过安全信道发送给对应的节点;
节点签名验证模块,用于接收各节点的梯度签名及梯度数据,确定各节点的梯度签名是否有效;所述梯度签名是所述节点根据自己的私钥SK、所述公开参数PK及文件散列函数H对所述全局模型训练得到的梯度数据进行签名得到的;
梯度聚合模块,用于在所有梯度签名均有效的情况下,对所述梯度签名和所述梯度数据进行聚合,得到聚合签名,并将所述聚合签名发送给各节点,以使各节点根据聚合签名进行下一轮次训练。
8.一种联合建模的安全认证装置,其特征在于,所述装置包括:
信息获取模块,用于从服务器获取全局模型及私钥SK、以及服务器公布的公开参数PK和文件散列函数H,所述公开参数PK包括第一公钥和第二公钥;
模型训练模块,用于利用本地数据对所述全局模型进行训练,得到梯度数据;
节点签名模块,用于根据所述私钥SK、公开参数PK和文件散列函数H,对所述梯度数据进行签名,将生成的梯度签名发送给所述服务器;
聚合签名验证模块,用于接收所述服务器发送的聚合签名,对所述聚合签名进行验证;所述聚合签名是所述服务器根据接收的各节点有效的梯度签名及梯度数据进行聚合得到的。
9.一种联合建模的安全认证系统,其特征在于,所述系统包括:服务器、以及至少两个参与联合建模的节点设备;所述服务器包括如权利要求7所述的联合建模的安全认证装置,所述节点设备包括如权利要求8所述的联合建模的安全认证装置;
所述服务器,用于将待训练模型发送给各节点设备;
所述节点设备,用于对所述模型进行联合训练;
所述服务器和所述节点设备之间传送的梯度数据基于用户身份信息签名。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至4或5至6中任一项所述联合建模的安全认证方法的步骤。
11.一种联合建模的安全认证设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至4或5至6中任一项所述联合建模的安全认证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311248994.4A CN116996235B (zh) | 2023-09-26 | 2023-09-26 | 联合建模的安全认证方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311248994.4A CN116996235B (zh) | 2023-09-26 | 2023-09-26 | 联合建模的安全认证方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116996235A true CN116996235A (zh) | 2023-11-03 |
CN116996235B CN116996235B (zh) | 2023-12-05 |
Family
ID=88532515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311248994.4A Active CN116996235B (zh) | 2023-09-26 | 2023-09-26 | 联合建模的安全认证方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116996235B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118468344A (zh) * | 2024-07-10 | 2024-08-09 | 中电科大数据研究院有限公司 | 提升联邦学习隐私安全的方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114362940A (zh) * | 2021-12-29 | 2022-04-15 | 华东师范大学 | 一种数据隐私保护的无服务器异步联邦学习方法 |
CN114650128A (zh) * | 2022-03-31 | 2022-06-21 | 启明星辰信息技术集团股份有限公司 | 一种联邦学习的聚合验证方法 |
CN114785510A (zh) * | 2022-01-11 | 2022-07-22 | 扬州大学 | 一种可验证的轻量化隐私保护联邦学习系统及方法 |
WO2023024368A1 (zh) * | 2021-08-21 | 2023-03-02 | 深圳前海微众银行股份有限公司 | 横向联邦学习建模优化方法、设备、介质及程序产品 |
CN115834085A (zh) * | 2022-12-05 | 2023-03-21 | 中电科大数据研究院有限公司 | 一种生成签名的方法和装置、安全认证方法和装置 |
WO2023149660A1 (ko) * | 2022-02-04 | 2023-08-10 | 숭실대학교 산학협력단 | 그룹 서명 기반 연합학습 방법 및 시스템, 이를 수행하기 위한 기록 매체 |
CN116628504A (zh) * | 2023-06-21 | 2023-08-22 | 青岛科技大学 | 一种基于联邦学习的可信模型训练方法 |
-
2023
- 2023-09-26 CN CN202311248994.4A patent/CN116996235B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023024368A1 (zh) * | 2021-08-21 | 2023-03-02 | 深圳前海微众银行股份有限公司 | 横向联邦学习建模优化方法、设备、介质及程序产品 |
CN114362940A (zh) * | 2021-12-29 | 2022-04-15 | 华东师范大学 | 一种数据隐私保护的无服务器异步联邦学习方法 |
CN114785510A (zh) * | 2022-01-11 | 2022-07-22 | 扬州大学 | 一种可验证的轻量化隐私保护联邦学习系统及方法 |
WO2023149660A1 (ko) * | 2022-02-04 | 2023-08-10 | 숭실대학교 산학협력단 | 그룹 서명 기반 연합학습 방법 및 시스템, 이를 수행하기 위한 기록 매체 |
CN114650128A (zh) * | 2022-03-31 | 2022-06-21 | 启明星辰信息技术集团股份有限公司 | 一种联邦学习的聚合验证方法 |
CN115834085A (zh) * | 2022-12-05 | 2023-03-21 | 中电科大数据研究院有限公司 | 一种生成签名的方法和装置、安全认证方法和装置 |
CN116628504A (zh) * | 2023-06-21 | 2023-08-22 | 青岛科技大学 | 一种基于联邦学习的可信模型训练方法 |
Non-Patent Citations (2)
Title |
---|
SNEHA KANCHAN等: "Group Signature Based Federated Learning Approach for Privacy Preservation", 《2021 INTERNATIONAL CONFERENCE ON ELECTRICAL, COMPUTER AND ENERGY TECHNOLOGIES (ICECET)》 * |
王珊等: "联邦学习下高效的隐私保护安全聚合方案", 《计算机系统应用》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118468344A (zh) * | 2024-07-10 | 2024-08-09 | 中电科大数据研究院有限公司 | 提升联邦学习隐私安全的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116996235B (zh) | 2023-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107342859B (zh) | 一种匿名认证方法及其应用 | |
CN110959163B (zh) | 能够在多个存储节点上安全存储大型区块链的计算机实现的系统和方法 | |
US20200304316A1 (en) | Implicitly Certified Digital Signatures | |
Zhao et al. | An efficient certificateless aggregate signature scheme for the Internet of Vehicles | |
CN106254374B (zh) | 一种具备去重功能的云数据公开审计方法 | |
CN104811450B (zh) | 云计算中一种基于身份的数据存储方法及完整性验证方法 | |
CN103546567B (zh) | 一种可信云计算环境中无证书跨域认证方法 | |
CN103024743B (zh) | 一种无线局域网可信安全接入方法 | |
US20120314856A1 (en) | Implicitly certified public keys | |
CN113360943B (zh) | 一种区块链隐私数据的保护方法及装置 | |
CN107493165B (zh) | 一种具有强匿名性的车联网认证及密钥协商方法 | |
CN116996235B (zh) | 联合建模的安全认证方法、装置及系统 | |
CN107294696B (zh) | 针对Leveled全同态密钥分配方法 | |
CN104754570B (zh) | 一种基于移动互联网络的密钥分发和重构方法与装置 | |
CN108270572B (zh) | 一种基于位置和口令的密钥交换协议 | |
CN103634796A (zh) | 一种空天信息网络漫游可信安全接入方法 | |
CN112436938B (zh) | 数字签名的生成方法、装置和服务器 | |
CN109104410B (zh) | 一种信息的匹配方法及装置 | |
CN103347018A (zh) | 一种基于智能卡的多服务环境下远程身份认证方法 | |
CN108494561B (zh) | 固定签名长度的聚合电子签名方法 | |
Yu et al. | Identity‐Based Proxy Signcryption Protocol with Universal Composability | |
CN108390866A (zh) | 基于双代理双向匿名认证的可信远程证明方法 | |
Zhao et al. | Fuzzy identity-based dynamic auditing of big data on cloud storage | |
CN105187208B (zh) | 非授权的基于无证书的强指定验证者签名体制 | |
Liu et al. | Certificate-based sequential aggregate signature |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |