近年来数据安全事件频发,数据安全威胁日益严峻。
随着《中华人民共和国数据安全法》的颁布和实施,对企业合规安全地发挥数据价值提出了更高的要求。
如何在保障数据安全的前提下发挥数据价值,平衡效率和风险,是当前面临的重要课题。
本文探讨如何将区块链应用于边缘计算、隐私计算联邦学习的场景下的实现数据安全和发挥数据价值效率。
边缘计算是一种分布式系统模型,它由终端设备、边缘服务器、中心服务器三层网络架构组成。
由于边缘服务器位于终端设备和中心服务器之间,相比中心服务器更靠近终端设备,不仅能为终端设备提供更实时的响应,同时也有效减少了在数据传输时带来的通信开销。
边缘计算目前已经广泛应用在车联网、无人驾驶、智慧医疗等领域。
在训练机器学习任务时,需要大量的数据集作为支撑,边缘节点通常负责收集终端设备的数据,并将其发送到中心服务器,进行模型训练。
终端设备上传数据后会失去对数据的控制,这些数据中往往包含着用户不愿透漏的私人信息,如位置信息、医疗信息等。
因此直接将数据上传至边缘服务器或中心服务器可能会造成隐私泄露的问题。
隐私计算是指利用隐私保护的计算系统和技术(软件或硬件方案),能够不泄露原始数据前提的下,对数据进行采集、加工、处理、分析的全过程,保证数据所有者权益、保护用户隐私的同时,充分挖掘数据的价值。
隐私计算体系架构主要包括,以同态加密、差分隐私等为代表的隐私保护底层技术;以联邦学习、可信计算、多方安全计算为代表的应用技术;和上层的数据场景应用。
联邦学习(FederatedLearning,简称FL)最早是谷歌于2016年提出的一个分布式机器学习技术,初衷是用来解决中心方使用大量手机终端用户数据建模的问题,其设计目标是保护终端和个人数据隐私,终端数据不离开本地的前提下在中心方协调下完成建模。
随后因为其有效的解决了数据孤岛问题而被大力推广,其场景范围也越来越广泛。
现在只要是基于多方的并且各自原始数据不对外输出的建模就可以称为联邦学习。
目前联邦学习也是隐私计算发展的重要技术方向。
根据参与各方数据源分布的情况不同,联邦学习可以被分为三类:横向联邦学习、纵向联邦学习、联邦迁移学习。
联邦学习是近年来备受关注的分布式训练框架,在这个框架中,多个终端设备可以联合训练一个机器学习模型,而无需将数据上传,用户数据保留在本地,只上传模型参数到中心服务器,避免了直接上传数据所带来的隐私泄露问题。
联邦机器学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。
联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛,实现AI协作。
基于联邦学习的优点,可以将联邦学习和边缘计算结合进行机器学习模型训练。
即三层架构下的联邦训练,分别为终端设备层,边缘服务器层,和中心服务器层。
终端设备在本地的数据集上进行训练,上传本地模型参数至边缘服务器。
边缘服务器进行部分聚合后,再将部分聚合结果上传至中心服务器进行聚合。
在经典的联邦平均(Federated Averaging, FedAvg)算法中,参与训练的用户直接与中心服务器进行通信,系统的通信复杂度比较高。
在用户和中心服务器中间增加边缘服务器,与 FedAvg 算法相比降低了通信开销。
在联邦学习训练过程中只上传本地模型参数,也会泄露隐私数据信息。
边缘服务器和中心服务器可能是不可信的,通过用户上传的模型参数可以获得用户的隐私数据信息。
此外终端设备在本地训练时可能会发起投毒攻击或者使用低质量的数据集进行模型训练,进而来损害全局模型。
在训练过程中,首先用户在其本地数据集上进行训练,将训练得到的模型参数以秘密共享的方式上传至附近的边缘节点,实现了对用户本地模型参数的保护,然后边缘节点在本地计算它所收到的份额之间的欧几里得距离,并将这些计算结果上传至区块链,最后由区块链负责对模型参数之间的欧几里得距离进行重构,进而去除有毒的更新后,再进行全局模型的聚合。
区块链代替中心服务器对模型参数进行筛选和聚合,避免了不可信中心服务器返回错误结果和中心服务器存在的单点故障。
本网络模型由三种实体组成: 终端设备(用 户)、边缘节点、区块链。
1)终端设备:终端设备即参与联邦训练的移动用户端, 终端设备负责在本地数据集上进行训练,并将本地模型参数上传至附近的边缘节点。
2)边缘节点:边缘节点位于终端设备的附近,是由一定计算能力的服务器组成。
在模型上传阶段,边缘节点负责对终端设备上传的模型参数进行处理并上传至区块链。
在模型下载阶段,边缘节点从区块链上下载全局模型,并将全局模型分发给所在区域参与训练的用户。
3)区块链:区块链负责用户、边缘节点的注册和全局模型的聚合。
区块链在收到注册请求后,会校验时间戳的有效性和相关计算等式是否相等,如果不相等则拒绝注册请求,如果相等则注册成功。
注册成功的用户需要向区块链缴纳一定数量的代币作为押金(这些代币主要用于激励用户参加训练,用户可以使这些代币换取其他服务),区块链上会存储这些注册成功的边缘节点信息和用户信息。
这些注册成功的边缘节点负责从区块链上下载固定序列和当前轮的全局模型参数。并将固定序列和当前轮的全局模型参数下发给所在区域的用户。
区块链在接收到边缘节点上传的消息后,首先检验边缘节点的身份标识和时间戳是否是有效的。如果有效则验证签名的有效性,使用等式进行批量验证,进而减少区块链上的计算开销。
如果验证通过,区块链可通过拉格朗日插值重构出第i 个用户的梯度 和第 j 个用户的梯度之间的欧几里得距离,根据 Multi-Krum 算法选取合法更新的用户列表 。
区块链将判定为投毒用户的提前交付的押金进行扣除,并将这些扣除的押金平均分发给诚实的用户。
边缘节点从区块链上下载列表 ,根据列表边缘节点在本地将合法用户上传的份额 进行求和并上传至区块链,区块链通过拉格朗日插值即可重构出聚合结果。
边缘节点从区块链下载聚合之后的模型参数,并下发给所在区域的用户,用户使用更新后的模型参数进行下一轮的训练,如此迭代,直到模型收敛或达到理想的模型精度。
区块链应用于边缘计算场景下的联邦学习,避免了恶意中心服务器返回错误结果和中心服务器存在的单点故障问题。
在数据上传阶段,既保护了用户数据的隐私,又对数据的合法性和完整性进行了认证。 在数据聚合阶段,能够去除有毒的更新,实现安全可靠的聚合。