Processing math: 3%
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

基于区块链和可信执行环境的属性签名身份认证方案

冉津豪, 蔡栋梁

冉津豪, 蔡栋梁. 基于区块链和可信执行环境的属性签名身份认证方案[J]. 计算机研究与发展, 2023, 60(11): 2555-2566. DOI: 10.7544/issn1000-1239.202330268
引用本文: 冉津豪, 蔡栋梁. 基于区块链和可信执行环境的属性签名身份认证方案[J]. 计算机研究与发展, 2023, 60(11): 2555-2566. DOI: 10.7544/issn1000-1239.202330268
Ran Jinhao, Cai Dongliang. Attribute Signature Identity Authentication Scheme Based on Blockchain and Trusted Execution Environment[J]. Journal of Computer Research and Development, 2023, 60(11): 2555-2566. DOI: 10.7544/issn1000-1239.202330268
Citation: Ran Jinhao, Cai Dongliang. Attribute Signature Identity Authentication Scheme Based on Blockchain and Trusted Execution Environment[J]. Journal of Computer Research and Development, 2023, 60(11): 2555-2566. DOI: 10.7544/issn1000-1239.202330268
冉津豪, 蔡栋梁. 基于区块链和可信执行环境的属性签名身份认证方案[J]. 计算机研究与发展, 2023, 60(11): 2555-2566. CSTR: 32373.14.issn1000-1239.202330268
引用本文: 冉津豪, 蔡栋梁. 基于区块链和可信执行环境的属性签名身份认证方案[J]. 计算机研究与发展, 2023, 60(11): 2555-2566. CSTR: 32373.14.issn1000-1239.202330268
Ran Jinhao, Cai Dongliang. Attribute Signature Identity Authentication Scheme Based on Blockchain and Trusted Execution Environment[J]. Journal of Computer Research and Development, 2023, 60(11): 2555-2566. CSTR: 32373.14.issn1000-1239.202330268
Citation: Ran Jinhao, Cai Dongliang. Attribute Signature Identity Authentication Scheme Based on Blockchain and Trusted Execution Environment[J]. Journal of Computer Research and Development, 2023, 60(11): 2555-2566. CSTR: 32373.14.issn1000-1239.202330268

基于区块链和可信执行环境的属性签名身份认证方案

基金项目: 国家重点研发计划(2019YFB2101703);国家自然科学基金项目(62272107,U19A2066);上海市科技创新行动计划(21511102200);广东省重点领域研发计划(2020B0101090001)
详细信息
    作者简介:

    冉津豪: 1999年生. 硕士研究生. 主要研究方向为区块链、属性基密码、可信执行环境

    蔡栋梁: 2000年生. 博士研究生. 主要研究方向为区块链、属性基密码、零知识证明

    通讯作者:

    蔡栋梁(22110240060@m.fudan.edu.cn

  • 中图分类号: TP399

Attribute Signature Identity Authentication Scheme Based on Blockchain and Trusted Execution Environment

Funds: This work was supported by the National Key Research & Development Program of China (2019YFB2101703),the National Natural Science Foundation of China (62272107,U19A2066) ,the Innovation Action Plan of Shanghai Science and Technology (21511102200),the Key-Area Research and Development Program of Guangdong Province (2020B0101090001).
More Information
    Author Bio:

    Ran Jinhao: born in 1998. Master candidate. His main research interests include blockchain, attribute based encryption, and trusted execution environment

    Cai Dongliang: born in 2000. PhD candidate. His main research interests include blockchain, attribute based encryption, and zero-knowledge proof

  • 摘要:

    身份认证是当前数字化世界中广泛应用的一项技术,对于流量至上的时代,安全而便捷的身份验证方案对于应用服务吸引用户是至关重要的. 去中心化身份通过使用完全去中心化的技术如区块链,让用户完全控制自己的身份. 为了进一步提高身份认证的安全性与便捷性,提出一种基于区块链和可信执行环境(TEE)的属性签名身份认证方案. 现有的身份验证方法存在用户身份凭证管理繁重、安全性不足等问题. 用户利用属性签名生成指向应用服务的持久性凭据,并且凭据是可扩充的. 而用户反复扩充凭据的过程相比单次生成凭据保存更有被攻击者植入木马的风险,可信执行环境则可以在签名过程中提供硬件级别的保护,避免中间参数的泄露. 同时还用较小的额外验证代价实现了对用户身份泄露、冒用的审计,进一步提高了方案的安全性.

    Abstract:

    Identity authentication is a technology widely used in the current digital world. In the era of traffic supremacy, a secure and convenient identity authentication solution is crucial for attracting users to application services. Decentralized identity gives users complete control over their identity by using a fully decentralized technology such as blockchain. In order to further improve the security and convenience of identity authentication, an attribute signature authentication scheme based on blockchain and trusted execution environment is proposed. Existing identity verification methods have problems such as heavy management of user identity certificates and insufficient security. Attribute signatures are used by users to generate persistent credentials pointing to application services, and credentials are extensible. In the process of repeatedly expanding credentials, the user is more likely to be implanted with a Trojan horse than a single generation of credentials. The trusted execution environment can provide hardware-level protection during the signing process to avoid the leakage of intermediate parameters. At the same time, the audit of user identity leakage and fraudulent use is realized with a small additional verification cost, which further improves the security of the scheme.

  • 近年来,数据泄露事件剧增,而作为使用个人数据极为频繁的服务——机器学习(machine learning)备受关注. 随着我国《网络安全法》《个人信息保护法》以及欧盟《通用数据保护条例》等旨在保护用户个人隐私和数据安全法规的出台,工业界和学术界对机器学习的隐私保护越来越重视,Google在2016年提出了联邦学习(federated learning)[1]解决隐私保护等问题. 联邦学习是一种协同分布式训练模型. 传统联邦学习分为中心服务器和参与方两种角色,参与方在中心服务器的协调下共同训练机器学习模型,训练数据仅保存在各参与方本地,依靠参与方本地迭代和与中心服务器的通信完成模型训练和聚合[2].

    联邦学习作为一种新的训练机制,在保护隐私和解决数据孤岛的同时对多方数据进行训练聚合,在医疗、金融等用户信息高度保密的行业有很好的前景. 但是随着联邦学习的广泛应用,它的问题也逐渐浮现出来. 在机器学习中,训练数据可以通过梯度和模型被反推出来[3-4],而在联邦学习这种服务器和参与方每轮迭代都能看到模型梯度的情况中,用户信息就更容易被反推出来[5-6]. 除了隐私泄露的问题外,联邦学习还面临各种各样的恶意攻击,例如投毒攻击[7-8],通过修改训练数据,可以使经过训练的模型出现特定的错误;模型投毒攻击[9]通过修改训练数据的标签,造成模型的判定错误;成员推理攻击[10]中攻击者能够通过机器学习模型和样本来确定该样本是否存在于建立机器学习模型的训练集中. 除此之外,系统还面临服务器的单点故障以及缺乏奖励导致的参与方不愿贡献数据和算力的问题[11].

    为了解决这些问题以及应对联邦学习不断发展的需求,使用联邦学习结合隐私保护技术、区块链、边缘计算和云计算等技术,逐渐成为研究的热门方向[12]. 利用区块链的可追溯、去中心化、不可篡改等特性和智能合约功能,帮助联邦学习克服单点故障、缺乏激励机制、审计困难等问题,在隐私保护和审计记录等方面有很大的提升[13].

    本文提出一种基于区块链和动态评估的隐私保护联邦学习模型——SPFLChain(security privacy federated learning blockchain). 利用区块链的去中心化、不可篡改等特性,为联邦学习建立可信、隐私安全的训练环境. 在模型交互阶段采用稀疏化和差分隐私结合的方式进行隐私保护;在本地局部模型训练完成后对其进行身份验证和性能评估,反映参与方训练出的模型准确率和泛化能力. 最后通过使用深度梯度泄露(DLG)攻击对局部模型和全局模型进行攻击实验,证明SPFLChain的安全性.

    本文的主要贡献包括3个方面:

    1) 提出一种基于区块链的联邦学习隐私保护模型SPFLChain,实现安全的去中心化联邦学习评估模型.

    2) 利用加密算法和数字签名技术验证参与方身份,本地训练采用稀疏化保证链下模型交互的安全性与可信性,并在模型更新时使用差分隐私添加噪声保证模型上链后的隐私安全.

    3) 提出三权重动态评估方案,计算单轮模型和参与方评估值,为参与方进行动态评估,确保激励机制的公平性.

    联邦学习是一种基于隐私保护的分布式机器学习框架,许多参与方在中心服务器的协调下共同训练模型,同时保持训练数据的分散性,在不暴露数据的前提下分析和学习多个数据拥有者的数据,做到数据的可用不可见. 将区块链网络应用于联邦学习系统中,在发挥联邦学习优势的同时,还能够解决联邦学习面临的单点故障、隐私安全和缺乏激励等问题[14].

    Kim等人提出名为BlockFL[15]的区块链与联邦学习系统框架,详细描述了从局部模型更新到上链再到全局模型更新的全过程,其中矿工使用区块链智能合约实现模型的交换和验证,并通过记录为矿工和关联设备分配奖励. Liu等人[16]提出名为FedCoin的支付系统,该系统中包含区块链网络和联邦学习,联邦学习完成本地训练和模型聚合,区块链共识节点协同计算贡献值,为联邦学习提供去中心化无第三方的支付方案. Peng等人[17]提出了一种基于区块链实现的可验证和审计的联邦学习系统框架VFChain,将可验证的记录证明存储在区块链中并设计了一种安全轮换委员会的方案,提出了支持多模型学习任务的方案以优化搜索效率,为区块链结合联邦学习提供了审计和验证的新思路. Li等人[18]提出了一种基于区块链的去中心化委员会共识的联邦学习框架BFLC,其设计的创新型委员会共识机制能够有效减少共识的计算量,降低中心服务器和节点恶意攻击的可能性. 但文献[15-18]的研究工作解决的大多是联邦学习的中心化问题以及区块链结合联邦学习架构中缺乏激励机制的问题,没有考虑模型参数交换和更新带来的隐私泄露问题.

    为了解决上述问题,高胜等人[19]提出了一种基于区块链的隐私保护异步联邦学习,利用区块链解决联邦学习的中心化问题,并结合差分隐私的指数机制选择高贡献率的模型,分配隐私预算保证全局模型的隐私,使用双因子调整机制提高全局模型的效用. Wainakh等人[20]为了增强联邦学习的隐私安全,设计了一种分层的联邦学习架构,即在传统的联邦学习的基础上加入组服务器,将组服务器插入到服务器与参与方之间当作保护层,对有问题的模型进行筛选,同时可以降低用户噪声,提高模型质量.Shayan等人[21]提出了一种隐私安全的区块链系统Biscotti,这是一个去中心化的提供安全私密的多方机器学习系统,提出联邦证明(proof of federation)共识,并结合了防御手段,有很好的扩展性和安全性. Zhao等人[22]提出了一种基于区块链的物联网设备联邦学习系统,利用边缘计算服务器制造初始模型,将局部模型发送到区块链进行聚合,使用差分隐私结合归一化进行特征提取来保护隐私,并设计了激励机制鼓励参与方训练. 周炜等人[23]提出了一种基于区块链的联邦学习模型PPFLChain,使用同态加密对交互的模型进行加密,通过秘密共享方案对密钥进行安全管理,同时使用信誉值机制保证公平.

    区块链技术已经广泛成为解决联邦学习应用中安全问题的工具. 通过联盟链的身份认证和权限设置对参与方进行一定条件的限制,提高系统的安全性. 但是现有研究大多针对链下模型交互时的安全性,对链上存储的安全保障有所欠缺,并且在对局部模型验证评估和参与方贡献评估方面缺乏研究.

    区块链这一概念随着2009年比特币的诞生而产生,其本质上是由P2P、密码学、共识机制、智能合约等一系列技术组合而成的去中心化分布式账本[24]. 它的优势在于使用密码学方式保证了不可篡改和伪造的特性,利用链式结构验证存储数据,利用共识算法在各个分布式的节点之间生成和更新数据,利用智能合约的设计完成对数据的操作.

    区块链可以分为公有链、私有链和联盟链. 公有链对任何人都开放,并且能被参与区块链的任何人维护和读取. 私有链由单个组织或机构单独控制,只有授权用户才能访问链上数据,有着更高的隐私性与效率. 而联盟链由多个组织或机构控制,兼顾了去中心化和隐私安全性.

    稀疏化[25]本质上属于梯度压缩的一种,通过构建d维的掩码矩阵m∈{0,1}d,将梯度gd维向量稀疏表示为ˉgg=mg表示元素相乘,能够减少其通信传递量减轻负载和保护隐私,稀疏比prop定义为:

    ϕ (1)

    在联邦学习中,常见的有2种稀疏化方法:Top-K和Rand-K稀疏化.

    Top-K的思想是基于每个客户端根据绝对值最大的K个梯度进行掩码矩阵的构建,但是对于规模大的神经网络时,需要进行计算量很大的排序操作.

    而Rand-K稀疏化则是构建随机的掩码矩阵,与Top-K相比,Rand-K在复杂度和效率上更好. 但是因为其随机性,误差概率也更大,在很高的稀疏比例中表现不佳.

    差分隐私[26-27]由Dwork提出,它是一种隐私保护方法,通过对数据添加干扰噪声,使得攻击者无法通过已知的发布信息推断出其他有用的信息,保护了数据中的用户隐私.

    相邻数据集. 相邻数据集指2个数据集 D D' 中最多只有一个数据或元素不同,即 ||D - D' ||_1\leqslant 1.

    敏感度. 敏感度衡量了相邻数据集查询结果之间的最大差异,定义为\mathrm{\Delta }{f}=\underset{{D},{{D}}'}{\mathrm{m}\mathrm{a}\mathrm{x}}\;||{{f}\left({D}\right)-{f}\left(D'\right)}||_{1}.

    ε-差分隐私. 拉普拉斯机制定义为M(D) = f(D) + Y\left( {{Y_1},{Y_2}, … ,{Y_k}} \right)f为查询函数,M为随机函数,Y为服从拉普拉斯分布的随机噪声. 当拉普拉斯概率分布\dfrac{1}{{2\lambda }}{{\rm{e}}^{ - \frac{{|x|}}{\lambda }}}=\dfrac{{{{\Delta }}f}}{\varepsilon }时,拉普拉斯机制就满足 \varepsilon -差分隐私: Pr[M(D) \in S] \leqslant {{\text{e}}^\varepsilon } \cdot Pr\left[ {M\left( {D'} \right) \in S} \right] \varepsilon 为隐私预算. 当 \varepsilon 越小时,表明2个数据集经过随机化以后输出结果的概率分布越接近,隐私保证的级别就越高. 严格差分隐私对机制有很高的要求,但是又不能添加过多的噪声以免造成信息的损失,因此就引出了( \varepsilon , \delta ) -差分隐私,其敏感度定义为:

    \Delta f=\underset{{D},{{D}}'}{\mathrm{m}\mathrm{a}\mathrm{x}} {\parallel{f}\left({D}\right)-{f}({{D}}')\parallel}_{2} \text{,} (2)

    即对于任意的 \delta ∈(0, 1),\sigma > \dfrac{{\sqrt {2\ln (1.25/\delta )} {{\Delta }}f}}{\varepsilon },当噪声 Y \sim N\left( {0,{\sigma ^2}} \right) 时,满足( \varepsilon , \delta )-差分隐私:

    Pr[M(D) \in S] \leqslant {{\text{e}}^\varepsilon } \cdot Pr\left[ {M\left( {D'} \right) \in S} \right] + \delta \text{,} (3)

    其中 \delta 为松弛项,表示有1− \delta 的概率满足差分隐私, \sigma 为噪声尺度.

    数字签名是基于非对称加密的验证文档或信息真实性和完整性的技术,通过对信息进行加密和签名生成数字签名,接收方使用其公钥对签名进行解密验证,确保数据没有被篡改,具体流程为:

    密钥生成KeyGen():用户随机选择大素数pq,计算N= q,以及ϕN) = (p−1)×(q−1),随机选择r满足0< r< ϕN),且gdcrϕN))=1,计算d满足e×d = 1 mod ϕN),得出公私钥对:公钥pk = (N, r),私钥sk = (p, q, d).

    签名Sign():首先对要发送的信息m进行Hash运算,h = hashm),然后对其哈希值进行加密签名,生成密文C = Signhashm)) = hd mod N.

    验证签名VerifySign():接收者需要对发送方的签名进行验证时,按照2个流程进行验证:

    1)使用发送方公钥pk对签名进行解密,h' = C^r\; {\rm{mod}}\;N.

    2)对消息m进行Hash运算,若h = h' ,签名有效,否则验证签名无效.

    联邦学习中,中心服务器面临单点故障、梯度参数收集和更新中可能出现的隐私泄露风险. 针对此问题,本文提出了一种基于区块链的联邦学习模型SPFLChain,将多个互不信任的参与方整合到一起协同管理,符合联盟链的应用场景,其中包括任务发布方、区块链、矿工、参与方和共识委员会.

    在执行各自任务之前,需要在区块链上进行注册并进行身份验证. 区块链为联邦学习的参与方和矿工提供可信身份认证,只有被成功授权的节点才能加入到区块链网络中.

    1)任务发布方P0. 联邦学习训练模型的需求方,当任务发布方想要训练机器学习模型,但是设备或数据储备不完善时,可以委托共识委员会进行有偿代训练.

    2)矿工g. 没有关联训练设备,达不到训练条件或拒绝参与训练的参与方,仅作为区块链中的矿工去生成区块和验证参与方的模型.

    3)参与方Pi (i=1, 2, …, n). 数据拥有者,有关联设备能够参与训练,并且能够作为矿工对其它参与方进行模型的验证和生成区块.

    4)共识委员会C. 共识委员会由全节点随机组成,成员总数要根据实际情况控制在一个范围内,避免因为成员人数过多造成资源浪费,或者又因为成员人数过少造成模型误差过大. 主要完成对验证通过的局部模型进行聚合操作,在聚合后把收敛的全局模型上传给任务发布方.

    在SPFLChain中,假设参与方、矿工、共识委员会是半诚实的,严格按照联邦学习中的协议执行,会为了自身利益正确履行训练模型和聚合模型的职责,但是有兴趣推断其他参与方训练数据或者有意义的标签信息. 参与方完成本地训练后,聚合模型交给区块链网络中委员会节点,由区块链网络矿工节点进行局部模型验证. 如图1所示,具体流程如下:

    图  1  SPFLChain训练流程
    Figure  1.  SPFLChain training process

    1)训练需求发布. 作为联邦学习训练模型的需求方,在身份验证完成后,任务发布方P0根据自己的不同需求将训练任务请求广播到区块链上,其中包括要训练的数据集D、初始全局模型w0、支付预算B_{P_0} 和要求达到的准确率等.

    2)记录查询. 共识委员会相当于区块链网络中的全节点,存有区块链中的所有历史信息. 任务发布方P0广播请求后,由共识委员会C检索记录中是否存在要求相同的训练模型. 如果共识委员会C在本地记录中查询到有符合训练请求的模型,根据本地记录中的Hash值,通过getBlockByHash()在链上获取到模型,并发送给任务发布方P0,如图2所示,除了模型的基本信息以外,全局模型包括聚合所用的局部模型序号(sub_model),用于模型出现问题后的溯源工作.

    图  2  共识委员会本地存储记录结构
    Figure  2.  Consensus committee local storage record structure

    3)局部模型训练. 如果查询不到记录,由共识委员会广播任务,参与方Pi (i=1, 2,…,n)监听广播. 参与方接收到训练请求后,根据需求选择是否参与此任务发布方的训练. 由参与方P_1,P_2,…,P_n计算局部损失L(\theta)= \dfrac{1}{N}\displaystyle\sum\nolimits\limits^N_{i=1}{L(\theta;x_i) },本地模型梯度\nabla L(\theta ;b),并进行本地模型更新.

    4)模型发送. 参与方进行本地的迭代训练,利用初始模型和本地数据训练局部模型,完成后用私钥ski以及矿工公钥pkg将局部模型签名加密发送给矿工.

    5)模型验证. 矿工通过解密与双重Hash对比后验证参与方提交模型的所有权.

    6)局部模型发送. 局部模型通过验证,由矿工发送给共识委员会C进行聚合.

    7)全局模型聚合. 只有当共识委员会C收集的模型达到一定数量或者超过一定的时间上限,才能触发智能合约,通过智能合约完成模型聚合,并加入高斯噪声:

    {w^{t}} = w^{t - 1} + {{{\Delta }}^t} + N\left( {0,{\sigma ^2}} \right), (4)

    其中, {{{\Delta }}^t} t轮聚合后的全局模型差值, N\left( {0,{\sigma ^2}} \right) 为服从高斯分布的噪声.

    8)模型评估. 完成验证并在聚合完成后的局部模型要通过智能合约评估,通过其准确率acc、全局模型w与局部模型wk的欧氏距离等因素来为其计算出一个评估值Eval.

    9)生成区块并上链. 评估完成后将本轮次的全局模型打包生成区块并执行共识上传到区块链上. 参与方从链上获取全局模型作为初始模型进行下一轮的迭代训练,直至全局模型的收敛.

    共识委员会C计算的全局模型收敛或者达到迭代轮次上限,将全局模型交付给任务发布方,并把奖励分发给参与方Pi (i=1, 2,…,n)、矿工g和共识委员会C. 评估和奖励分发过程如图3所示.

    图  3  奖励分发过程
    Figure  3.  Reward distribution process

    任务发布方P0需要根据参与方Pi (i=1, 2,…,n)、矿工g、共识委员会C等做出的贡献进行转账,其中包括参与方Pi (i=1, 2,…,n)的训练奖励、数据贡献奖励、矿工的验证评估奖励、共识委员会C的模型聚合奖励以及区块生成奖励.

    在整个流程中,一旦模型进入区块链网络,后续所有验证和聚合操作都会被系统记录在链上. 最终训练结束后为参与方Pi (i=1, 2,…,n)生成一个评估值Score,这为系统数据流转的溯源和激励机制的公平分配提供了保障. 如果出现问题,可以通过查询记录来锁定问题源头,变相降低了参与方、矿工和共识委员会作恶的可能性.

    针对半诚实参与方造成的隐私威胁,SPFLChain用区块链网络替代传统的中心服务器,解决联邦学习的单点故障问题. 训练过程分为本地训练和模型聚合,本地训练使用稀疏化,模型聚合使用差分隐私添加噪声来保护隐私.

    在本地训练阶段,采用随机稀疏化构建一个服从伯努利分布的d维随机矩阵m = {0, 1}d,设置其中的稀疏程度字段propprop值越大,掩码矩阵中的“1”值越多,在本地训练完成后,将梯度和掩码矩阵相乘,计算模型参数,再将参数差值传递给矿工.

    具体过程如算法1所示.

    算法1. 本地稀疏化算法.

    输入:本地训练轮次T,全局轮次t,初始模型w0,掩码矩阵mask,学习率α,参与方Id:k

    输出:模型更新 {{\Delta }}_k^t = w – w0.

    ① 初始化: i=1, w = w0

    ② 利用初始模型w0训练局部模型;

    ③ 对每一轮本地迭代i = 1,2,… ,T,执行:

    while iT do

    划分数据;

    计算梯度 \nabla L(w,b)

    稀疏化: \tilde g = \nabla L(w,b) \otimes mask

    随机梯度下降:w = w0 − α· \tilde g

    参数裁剪: w = {w^0} + ClipFn\left( {w - {w^0}} \right)

    end while

    ④ End

    接收到局部模型进行聚合后,采用添加服从高斯分布的噪声进行模型更新. 具体过程如算法2所示.

    算法2. 模型聚合算法.

    输入:学习率α,噪声参数σ,总轮数E,损失函数Lw),噪声尺度z,梯度裁剪边界值V,参与方k的局部模型wkW ={\sum\limits_k} w_k,当前轮次t

    输出:wt.

    ① 本地训练;

    更新局部模型 {{\Delta }}_k^t

    ② 模型验证;

    ③ 模型聚合

    while tE do

    以概率p挑选参与方集合V^t 参与本轮训练;

    while 参与方k∈V t do

    本地训练;

    end while

    聚合参与方模型:{\Delta }^t = \dfrac{\sum\limits^k_{k=1}w_k\cdot {{\Delta }^t_k}}{PW }

    {{{\Delta }}^t} 进行裁剪:{{{\Delta }}^t} = {{{\Delta }}^t}/\max \left( {1,\dfrac{{\parallel {{{\Delta }}^t}{\parallel _2}}}{V}} \right)

    取高斯噪声的方差:\sigma = \dfrac{{z \cdot S}}{{pW}}

    end while

    更新全局模型参数:

    {w^t} = {w^{t - 1}} + {{{\Delta }}^t} + N\left( {0,{\sigma ^2}} \right);

    ④ 模型评估;

    ⑤ End

    通过迭代直到模型收敛或者达到训练轮次,由共识委员会将聚合后的最终模型交付给任务发布方.

    局部模型的验证评估对全局模型精度和隐私安全都至关重要,模型评估也可以作为最终激励机制奖励发放的重要依据. 通过对模型准确率、训练时长、数据集大小等多种因素综合考虑,本节提出一种模型验证评估方法,由矿工正确验证参与方模型的身份和所有权后,在全局模型聚合后对参与方提交的局部模型进行基于多权重的质量评估. 保证联邦学习安全性的同时,为后续的激励机制提供证明,提高参与方训练积极性.

    为了验证参与方身份,矿工对参与方所发送模型进行验证,参与方随机挑选一个矿工,将本地训练的局部模型提交,由矿工进行验证,验证流程如下.

    1)模型加密. 被选中矿工g通过KeyGen()得到公私钥对:公钥pkg = (Ng, rg),私钥skg = (pg, qg, dg). 参与方Pi使用pkg对其模型m进行加密,然后将加密后的密文Cm提交矿工.

    2)模型签名. 参与方Pi计算得出公私钥对:公钥pki = (Ni, ri),私钥ski = (pi, qi, di). 首先使用Hash算法对模型进行加密,h = hashm),使用私钥skih签名生成密文Ch = hd mod Ni.

    3)Hash对比. 矿工使用自己的私钥skgCm进行解密得到模型m,使用相同的Hash运算对m加密得到h0,再用参与方Pi的公钥pkiCh解密得到h1,对比h0h1,如果相等,则签名有效,否则签名无效.

    4)二次Hash对比. 在当前训练任务中,为了防止模型上链后被懒惰参与方直接取用,矿工需要承担在本地存储局部模型及全局模型的Hash值. 矿工完成第一次Hash对比后,使用hashm)检索本地模型Hash值记录,完成对记录的遍历后无击中即可证明模型有效.

    局部模型的评估需要考虑多种因素,为了保证模型准确率的同时防止过拟合,通过多个因素分配不同权重值来完成评估值的计算. 提出一种三权重评估方法,三权重的值分别为ρ,ξ,ω,分别为准确率、欧氏距离、参与方本地训练数据集大小赋予权重,满足ρ,ξ,ω∈[0,1]且ρ+ξ+ω=1,共同计算模型评估值Eval.

    1)准确率. 在联邦学习,最终目的是向任务发布方交付一个高性能的模型,准确率是衡量模型的重要指标,准确率定义函数为

    Acc(y_i,\hat{ y_i})=\dfrac{1}{n}\displaystyle\sum\limits^{n}_{i=1}(y_i=\hat y_i), (5)

    式(5)表示单轮结束后样本分类结果与真实值进行对比,统计正确分类样本数,将其除以总样本数得到准确率. 仅考虑准确率可能会忽略过拟合的情况,所以需要结合其他因素来综合考虑.

    2)欧氏距离. 欧氏距离反映模型在预测时的泛化能力,本文定义欧氏距离的函数为

    d(x,y)=\sqrt{\displaystyle\sum\limits^{n}_{i=1}(x_i-y_i)^2 }, (6)

    其中,xy分别表示局部模型和聚合后全局模型对矿工拥有的同一测试样本的预测输出.

    3)数据量. 参与方训练数据集D过小会导致训练模型过拟合,即使在训练数据上表现很好,但是也会在新数据的表现不佳. 本地训练数据集的大小也是衡量参与方贡献以及模型质量的一个重要指标.

    4)单轮模型评估值计算. 评估值计算需要考虑1)~3)三种因素的综合表现,参与方Pi在第k轮的模型评估值函数定义为

    Eval_{k}^{{P_i}} = \rho \times Acc({y_j},\hat {{y_j}}) - \xi \times d(x,y) + \omega \times|D|. (7)

    5)参与方评估分计算. 评估分依据前面每轮评估值的计算,每轮评估值都被赋予权重q,权重值递增,满足\displaystyle\sum\limits^{E}_{j=1}q_j=1 {q_j} - {q_{j - 1}} = {q_{j - 1}} - {q_{j - 2}} E为总迭代轮次,参与方PiE轮迭代结束后的评估分计算公式为:

    S core^{P_i}_{ E}=\displaystyle\sum\limits^{E}_{j=1}\dfrac{2j-1}{E^2}\times Eval^{P_i}_{j}. (8)

    评估方案赋予后期迭代更高的权重值,当参与方前面因为各种因素导致训练效果不佳时,能够依靠后期训练提升评估分. 参与方的评估分Score将作为激励机制奖励分配的重要依据,以保证奖励分配的公平性.

    联邦学习允许各个参与方在不贡献本地训练数据前提下,协同训练共享全局模型,因此本地的原始数据得到保护[28]. 但是联邦学习训练过程中会遭受深度梯度泄露等隐私攻击.SPFLChain引入差分隐私技术实现全局模型链上安全存储、链下局部模型加密传输以及稀疏化保证隐私安全,通过采用高斯机制的差分隐私实现在保障安全的情况下均衡模型性能,构建安全的训练过程.

    本文实验使用ResNet18训练CIFAR10数据集,损失函数定义为交叉熵损失函数. 实验中设置10个参与方,每次参与训练的参与方有3个,设置batch_size为32,学习率α为0.005,本地迭代次数为3,全局迭代200轮.

    实验采用CIFAR10数据集.CIFAR10为尺寸32×32的10分类RGB彩色图片,数据集中一共包含50000张训练图和10000张测试图.

    实验所用的开发工具为Jupyter Notebook和PyCharm.编程语言为Python3.8,智能合约由Solidity语言编写. 配备Intel® CoreTM i5-10500 CPU @ 3.10 GHz处理器、16 GB运行内存以及NVIDIA GeForce RTX 3060显卡,操作系统为Windows 10.

    实验先通过局部训练找出稀疏程度prop,以固定的稀疏程度prop训练局部模型,全局模型更新时添加噪声,再通过不同的噪声参数σ进行实验对比. 通过DLG攻击实验证明,SPFLChain不论是在局部模型传输还是全局模型上链,都能在实现隐私保护的同时保证模型效用.

    图4所示,使用了0.2,0.4,0.6,0.8和1.0的稀疏程度进行联邦学习,对比不同稀疏程度对联邦学习模型准确率的影响. 实验结果证明,在随机稀疏程度为0.8时,模型准确率下降仅为0.3%.

    图  4  不同稀疏程度下的模型训练对比
    Figure  4.  Comparison of model training under different sparsity levels

    本地训练进行稀疏化和全局模型使用差分隐私添加噪声. 实验结果如图5所示,采用0.8的稀疏度和0.003的隐私噪声,在损失1.5%准确率的情况下,保证了局部模型和全局模型的隐私.

    图  5  差分隐私添加不同噪声的模型训练对比
    Figure  5.  Comparison of model training with different noise added by differential privacy

    DLG作为一种能够利用梯度还原数据的攻击方法,在联邦学习图像分类这种需要多次交互的模型中更能很好地发挥作用,所以本节采用具有代表性的DLG攻击证明隐私安全实验的可行性.

    实验对使用稀疏化和差分隐私方法后的模型梯度进行DLG攻击,对CIFAR10, CIFAR100, MNIST, Fashion-MNIST多个数据集进行抽样攻击表明本文方案对模型保护的泛化能力.

    图6所示,说明了稀疏程度在0.7,0.8,0.9和1时对恢复图片的效果对比. 在稀疏程度为0.8时,DLG攻击已经造成对绝大多数的图像像素点无法复原,能够很好地保护原始数据集的隐私. 如图7所示,显示全局模型聚合时使用差分隐私添加噪声对DLG攻击的影响对比,在噪声参数为0.003时,能够保护大部分像素不被复原.

    图  6  不同稀疏度程度对DLG攻击图片恢复影响对比
    Figure  6.  Comparison of the effect of different degrees of sparsity on the recovery of DLG attack images
    图  7  不同差分隐私噪声值对DLG攻击图片恢复影响对比
    Figure  7.  Comparison of the effect of different differential privacy noise values on the recovery of DLG attack images

    模型评估值设置3个参与方,其中1个为恶意参与方,在训练期间对本地数据集进行毒化训练. 测试使用CIFAR10中测试集的图片182_bird.jpg,分别使用参与方1、参与方2和恶意参与方的局部模型与聚合的全局模型对该图片进行预测识别,计算局部模型和全局模型的差值作为模型评估的一个标准. 在权重值ρ=0.7,ξ=0.2,ω=0.1时分别对比它们在前50轮中的评估值.

    图8所示,显示3个参与方在前50轮的评估值变化对比. 实验结果表明,本文方案能够有效识别和辨别恶意参与方使用本地毒化数据对局部模型造成的影响.

    图  8  不同的参与方评估值对比
    Figure  8.  Comparison of evaluation values among different participants

    本文提出了一种基于区块链的隐私保护联邦学习模型SPFLChain. 该模型使用区块链网络替代中心服务器,实现了分布式协同解决计算问题,同时避免了数据泄露风险. 为了提高模型的隐私保护性能,在局部训练过程中采用稀疏化,模型聚合更新采用基于高斯机制噪声的差分隐私. 经实验证明,提出的模型实现了链下局部模型和链上全局模型的隐私保护,在略损失训练准确率的前提下,保证了模型的隐私安全. 此外,本文还提出了模型验证和三权重模型评估方法,用于动态评估参与方的训练效果,识别检测参与方的恶意行为. 下一步将优化区块链结合联邦学习的效率,并深入探讨激励机制的公平分配.

    作者贡献声明:刘炜、唐琮轲提出了算法思路和实验方案;唐琮轲、马杰负责完成实验并撰写论文;田钊、王琦、佘维提出指导意见并修改论文.

  • 图  1   Schnorr协议交互流程[31]

    Figure  1.   The interactive flow of Schnorr protocol[31]

    图  2   本方案系统模型

    Figure  2.   The system model of our scheme

    图  3   本方案流程图

    Figure  3.   Flowchart of our scheme

    图  4   普通环境中的VC生成时间及验证算法时间

    Figure  4.   VC generation time and verification algorithm time in common environment

    图  5   VC生成时间及VC扩充时间

    Figure  5.   VC generation time and expansion time

    图  6   不同环境中VC生成流程时间

    Figure  6.   VC generation process time in different environments

    图  7   各验证凭据占用存储空间大小及proofCNT生成时间

    Figure  7.   The storage space occupied by each authentication credential and the generation time of proofCNT

    表  1   中心化身份、联邦身份和自我主权身份对比

    Table  1   Comparison of Centralized Identity,Federated Identity and Self-Sovereign Identity

    特征中心化身份联邦身份自我主权身份
    用户管理登录凭证数量较少唯一
    密钥管理主动权归属应用服务身份提供者用户
    数字身份保存集中程度分散集中分散
    安全风险
    下载: 导出CSV

    表  2   符号及其描述

    Table  2   Symbols and Their Description

    符号描述 符号描述
    GP系统全局参数 m 签名明文信息
    \varOmega应用服务信息属性合集\$ \sigma 属性签名
    AppInfo 应用服务信息属性CNT登录次数计数明文
    SK, x 应用服务私钥{proof}_{{\rm{ZK}}}零知识证明凭据
    PK, y 应用服务公钥 {proof}_{CNT} 身份冒用审计凭据
    ASK, k 属性私钥{r}_{i},{t}_{i},{c}_{i}, {d}_{i}, {R}_{i},{T}_{i}签名中间参数
    APK, r 属性公钥 {C}_{1i},{C}_{2i} 零知识证明承诺
    USK, {s}_{p} 用户私钥 zkc 零知识证明挑战值
    GID, {pk}_{p} 用户全局标识、
    用户公钥
    z 零知识证明响应值
    AK, e 用户属性基密钥{w}_{{\rm{last}}}上轮验证中的ElGamal加密随机参数
    Param, param 属性基密钥中间参数 w ElGamal加密随机参数
    {H}_{1},{H}_{2},{H}_{3},{H}_{4} 哈希函数{h}_{ {{Use} }{ {{r} } }_{ {{p} } } }登录次数计数哈希
    下载: 导出CSV

    表  3   身份认证方案特性对比

    Table  3   Feature Comparison of Identity Authentication Schemes

    方案抗重放攻击安全秘钥计算自我主权身份
    文献[19]
    文献[20]
    文献[27]
    本文方案
    注:“√”表示相关方案具有相应的特性.
    下载: 导出CSV

    表  4   服务器实验环境配置说明

    Table  4   Server Experimental Environment Configuration Instructions

    硬件/软件型号/版本
    CPUIntel® Xeon®Gold 6142 CPU @ 2.60 GHz
    内核数4
    内存8 GB
    操作系统Ubuntu22.04
    Linux 5.15.0-43-generic
    Go1.20.2 Linux/AMD64
    EGov1.2.0
    Solidityv0.6.12+commit.27d51765
    Trufflev5.7.4
    Ganachev7.7.3
    Node.jsv19.6.0
    Web3.jsv1.8.2
    下载: 导出CSV
  • [1] 国家互联网信息办公室. 中央网信办等十六部门联合公布国家区块链创新应用试点名[EB/OL]. 2022[2023-02-28]. http://www.cac.gov.cn/2022&#8722;01/29/c_1645059212139691.htm

    Ciberspace Administration of China. Sixteen departments including the central network information office jointly announced the name of the national blockchain innovative application pilot[EB/OL]. 2022[2023-02-28]. http://www.cac.gov.cn/2022−01/29/c_1645059212139691.htm(in Chinese)

    [2]

    Gayvoronskaya T, Meinel C. Blockchain: Hype or Innovation[M]. Cham, Switzerland: Springer, 2020

    [3]

    Nakamoto S. Bitcoin: A peer-to-peer electronic cash system[EB/OL]. 2008[2023-02-28]. https://bitcoin.org/bitcoin.pdf

    [4]

    Haber S, Stornetta W S. How to Time-stamp a Digital Document[M]. Berlin: Springer, 1991

    [5]

    Dwork C, Naor M. Pricing via processing or combatting junk mail[C] //Proc of the 12th Annual Int Cryptology Conf on Advances in Cryptology. Berlin: Springer, 1993: 139−147

    [6]

    Back A. Hashcash−a denial of service counter-measure[EB/OL]. 2002[2023-05-23]. http://www.hashcash.org/papers/hashcash.pdf

    [7]

    Vukolic M. Eventually returning to strong consistency[J]. IEEE Data Engineering Bulletin, 2016, 39(1): 39−44

    [8] 国家统计局. 中华人民共和国2022年国民经济和社会发展统计公报[EB/OL]. 2023[2023-02-28]. http://www.stats.gov.cn/xxgk/sjfb/zxfb2020/202302/t20230228_1919001.html

    National Bureau of Statistics. Statistical Bulletin of the People’s Republic of China on National Economic and Social Development in 2022[EB/OL]. 2023[2023-02-28]. http://www.stats.gov.cn/xxgk/sjfb/zxfb2020/202302/t20230228_1919001.html (in Chinese)

    [9]

    Avellaneda O, Bachmann A, Barbir A, et al. Decentralized identity: Where did it come from and where is it going?[J]. IEEE Communications Standards Magazine, 2019, 3(4): 10−13 doi: 10.1109/MCOMSTD.2019.9031542

    [10] 魏亮,黄振杰,陈群山. 去中心基于属性不可否认签名[J]. 计算机工程与科学,2020,42(6):1003−1011

    Wei Liang, Huang Zhenjie, Chen Qunshan. Decentralized attribute-based non-repudiation signature[J]. Computer Engineering and Science, 2020, 42(6): 1003−1011 (in Chinese)

    [11]

    Dib O, Toumi K. Decentralized identity systems: Architecture, challenges, solutions and future directions[J]. Annals of Emerging Technologies in Computing, 2020, 4(5): 19−40 doi: 10.33166/AETiC.2020.05.002

    [12]

    Dell’Amico M, Michiardi P, Roudier Y. Password strength: An empirical analysis[C] //Proc of IEEE INFOCOM 2010. Piscataway, NJ: IEEE, 2010: 1−9

    [13]

    Maler E, Reed D. The venn of identity: Options and issues in federated identity management[J]. IEEE Security & Privacy, 2008, 6(2): 16−23

    [14]

    Groß T. Security analysis of the SAML single sign-on browser/artifact profile[C] //Proc of 19th Annual Computer Security Applications Conf. Piscataway, NJ: IEEE, 2003: 298−307

    [15]

    Hardt D. The OAuth 2.0 authorization framework[EB/OL]. 2012[2023-05-30]. https://www.rfc-editor.org/rfc/rfc6749

    [16]

    Naik N, Jenkins P. uPort open-source identity management system: An assessment of self-sovereign identity and user-centric data platform built on blockchain[C] //Proc of 2020 IEEE Int Symp on Systems Engineering (ISSE). Piscataway, NJ: IEEE, 2020: 1−7

    [17]

    Ali M, Nelson J, Shea R, et al. Blockstack: A global naming and storage system secured by blockchains[C] //Proc of the 2016 USENIX Annual Technical Conf. Berkeley, CA: USENIX Association, 2016: 181−194

    [18]

    Maram D, Malvai H, Zhang Fan, et al. Candid: Can-do decentralized identity with legacy compatibility, sybil-resistance, and accountability[C] //Proc of 2021 IEEE Symp on Security and Privacy (SP). Piscataway, NJ: IEEE, 2021: 1348−1366

    [19] 袁和昕,刘百祥,阚海斌,等. 基于区块链和去中心不可否认属性签名的分布式公钥基础设施方案[J]. 中国科学:信息科学,2022,52(6):1135−1148

    Yuan Hexin, Liu Baixiang, Kan Haibin, et al. Distributed public key infrastructure scheme based on blockchain and decentralized non-repudiation attribute signature[J]. SCIENTIA SINICA Informationis, 2022, 52(6): 1135−1148 (in Chinese)

    [20]

    Alangot B, Szalachowski P, Dinh T T A, et al. Decentralized identity authentication with auditability and privacy[J]. Algorithms, 2022, 16(1): 4−25 doi: 10.3390/a16010004

    [21]

    Mckeen F , Alexandrovich I , Berenzon A , et al. Innovative instructions and software model for isolated execution[C/OL] //Proc of the 2nd Int Workshop on Hardware and Architectural Support for Security and Privacy. New York: ACM, 2013.[2023-05-30]. https://doi.org/10.1145/2487726.2488368

    [22]

    Hoekstra M , Lal R , Pappachan P , et al. Using innovative instructions to create trustworthy software solutions[C/OL] //Proc of the 2nd Int Workshop on Hardware and Architectural Support for Security and Privacy. New York: ACM, 2013[2023-05-30]. https://doi.org/10.1145/2487726.2488370

    [23]

    Weisse O, Bertacco V, Austin T. Regaining lost cycles with HotCalls: A fast interface for SGX secure enclaves[J]. ACM SIGARCH Computer Architecture News, 2017, 45(2): 81−93 doi: 10.1145/3140659.3080208

    [24]

    Zhang F, Cecchetti E, Croman K, et al. Town crier: An authenticated data feed for smart contracts[C] //Proc of the 2016 ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2016: 270−282

    [25]

    Dong Chuntao, Shen Qingni, Ding Xuhua, et al. T-Counter: Trustworthy and efficient CPU resource measurement using SGX in the cloud[J]. IEEE Transactions on Dependable and Secure Computing, 2023, 20(1): 867−885 doi: 10.1109/TDSC.2022.3145814

    [26]

    Schuster F, Costa M, Fournet C, et al. VC3: Trustworthy data analytics in the cloud using SGX[C] //Proc of 2015 IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2015: 38−54

    [27]

    Song Tianlin, Wang Wei, Lang Fan, et al. P2A: Privacy preserving anonymous authentication based on blockchain and SGX[C] //Proc of the 16th Int Conf on Information Security and Cryptology. Berlin: Springer, 2021: 257−276

    [28]

    Zhao Bo, Xiao Yu, Huang Yuqing, et al. A private user data protection mechanism in TrustZone architecture based on identity authentication[J]. Tsinghua Science and Technology, 2017, 22(2): 218−225 doi: 10.23919/TST.2017.7889643

    [29]

    ElGamal T. A public key cryptosystem and a signature scheme based on discrete logarithms[J]. IEEE Transactions on Information Theory, 1985, 31(4): 469−472 doi: 10.1109/TIT.1985.1057074

    [30]

    Damgård I. On Σ-protocols[EB/OL]. 2002[2023-05-30]. https://www.cs.au.dk/~ivan/Sigma.pdf

    [31]

    Schnorr C P. Efficient signature generation by smart cards[J]. Journal of Cryptology, 1991, 4: 161−174 doi: 10.1007/BF00196725

    [32]

    Fiat A, Shamir A. How to prove yourself: Practical solutions to identification and signature problems[C]//Proc on Advances in Cryptology (CRYPTO’86). Berlin: Springer, 1987: 186−194

    [33]

    Zhang Qiong, Wang Yuke, Jue J P. A key management scheme for hierarchical access control in group communication[J]. International Journal of Network Security, 2008, 7(3): 323−334

    [34]

    Garg N, Wazid M, Das A K, et al. BAKMP-IoMT: Design of blockchain enabled authenticated key management protocol for Internet of medical things deployment[J]. IEEE Access, 2020, 8: 95956−95977 doi: 10.1109/ACCESS.2020.2995917

    [35]

    Ahmad S, Mehfuz S, Beg J. Cloud security framework and key management services collectively for implementing DLP and IRM[J]. Materials Today:Proceedings, 2022, 62(7): 4828−4836

    [36]

    Edgeless Systems. EGo [EB/OL]. [2023-02-28]. https://github.com/edgelesssys/ego

  • 期刊类型引用(4)

    1. 侯泽超,董建刚. 去中心化场景下的隐私保护联邦学习优化方法. 计算机应用研究. 2024(08): 2419-2426 . 百度学术
    2. 郭倩,赵津,过弋. 基于分层聚类的个性化联邦学习隐私保护框架. 信息网络安全. 2024(08): 1196-1209 . 百度学术
    3. 兰浩良,王群,徐杰,薛益时,张勃. 基于区块链的联邦学习研究综述. 信息网络安全. 2024(11): 1643-1654 . 百度学术
    4. 洪朝群,张锴,张伟霖,罗进开,张珂杰. 基于区块链的差分隐私机制在公共数据要素化中的应用. 海峡科学. 2024(10): 95-104 . 百度学术

    其他类型引用(5)

图(7)  /  表(4)
计量
  • 文章访问数:  343
  • HTML全文浏览量:  52
  • PDF下载量:  158
  • 被引次数: 9
出版历程
  • 收稿日期:  2023-04-02
  • 修回日期:  2023-06-05
  • 网络出版日期:  2023-06-25
  • 刊出日期:  2023-11-14

目录

/

返回文章
返回