主页
- 个人微信公众号:密码应用技术实战
- 个人博客园首页:https://www.cnblogs.com/informatics/
引言
很长一段时间没有更新博客和公众号了,最近做了一个基于区块链的隐私计算项目,主要关于数据安全流通和计算,在一定程度上解决了数据确权、授权使用、数据隐私等问题,保证了数据的可用不可见,可控可计量。项目不久将会对外开源发布,目前项目在收尾阶段。
自十九届四中全会首次将数据纳入生产要素,特别是发布《关于构建更加完善的要素市场化配置体制机制的意见》和《关于构建数据基础制度更好发挥数据要素作用的意见》(“数据二十条”)后,我国数据要素化推进步伐明显提速。数据二十条中也强调始终将数据安全作为数据要素化的前提和基础。在数据要素化发展新阶段加强对隐私计算、区块链、联邦计算等数据生产交易流通等内生安全平台的建设。
该项目也是在国家号召的背景下进行的实践探索,作为隐私计算的第一篇,本文主要用于隐私计算技术基础介绍。
内容组织如下:
- 常见的隐私计算技术及架构
- 基于区块链的数据安全流通整体架构
- 基于区块链的数据安全流通关键流程
- 当前隐私计算亟待解决的关键问题
- 参考资料
隐私计算技术
常见的隐私计算技术有:
- 安全多方计算, Secure Multi-Party Computation (SMPC),简称MPC
- 可信执行环境,Trusted Execution Environment, 简称TEE
- 联邦学习,Federated Learning,简称FL
隐私计算架构
隐私计算工作原理
- MPC:MPC的主要原理是将计算任务分解为多个子任务,并将这些子任务分配给不同的参与方进行计算。每个参与方只能访问自己的输入,而无法获得其他参与方的输入。通过使用密码学协议和安全协议,参与方可以在不共享私密数据的情况下进行计算,并最终得到计算结果。
- TEE: TEE的主要原理是通过创建一个隔离的执行环境,将敏感数据和关键计算与操作系统和其他应用程序隔离开来。这个隔离环境被称为"安全区域",其中的代码和数据受到严格的保护,无法被未经授权的应用程序或操作系统访问。
- FL: 联邦学习的主要原理是将机器学习的训练过程从中央服务器转移到参与方的本地设备上。通过在参与方之间共享模型参数或梯度更新,实现模型的全局训练,而无需共享原始数据。在联邦学习中,训练数据保留在参与方的本地设备上,不需要将其上传到中央服务器。
隐私计算技术对比
对比项 \ 隐私计算技术 | 安全多方计算MPC | 可信执行环境TEE | 联邦学习FL |
---|---|---|---|
主要特点 | 模型不动数据动 采用去中心化架构 |
模型不动数据动 采用中心化架构 |
数据不动模型动 采用分布式架构 |
安全基础 | 纯密码学 | 加密硬件 | 仅共享模型,数据本地训练,不出域 |
关键技术 | 混淆电路GC 不经意传输OT 秘密共享SS等 |
远程证明 PKI技术等 |
纯FL未使用密码技术 |
优点 | 安全性高 | 计算性能高,通用性高 | 计算性能高,仅适合机器学习 |
缺点 | 基于复杂的密码技术,计算效率相对较低; 计算逻辑需要转换为复杂的门电路,实现代价高 |
需要信任硬件厂商 需要特殊的硬件支持,成本高 |
实践中通过模型有可能推导出数据,安全性低, 一般需要结合TEE、MPC或DP技术进行模型保护 |
备注 | 适合数据量不大,计算逻辑不太复杂的场景 | 适合计算性能要求较高,计算逻辑复杂的场景 | 适合机器学习场景 |
基于区块链的隐私计算
隐私计算技术保证了数据的可用不可见,但是仍存在以下问题:
- 数据完整性:隐私计算技术主要关注数据的隐私保护,而对数据的完整性保护相对较弱。在数据安全流通中,确保数据的完整性是一个重要的问题,以防止数据被篡改或损坏。
- 身份认证:隐私计算技术通常不涉及身份认证问题。在数据安全流通中,确保参与方的身份认证是至关重要的,以防止未经授权的访问和恶意行为。
- 数据发现:在传统的数据发现过程中,数据拥有者需要主动公开或与潜在的数据使用者进行直接的交互,以便发现适合其需求的数据集。这可能导致数据拥有者的隐私泄露风险,因为他们需要公开自己的身份和数据细节。
- 数据授权:在传统的数据授权过程中,数据拥有者需要与数据使用者进行直接的协商和授权,以确定数据的使用条件和访问权限。这种过程可能存在信任问题和复杂的合同谈判,导致授权过程的不透明性和低效性。
- 数据使用收益分配:在传统的数据使用收益分配中,数据拥有者和数据使用者之间的收益分配往往需要进行复杂的谈判和协商。缺乏透明度和可信度可能导致不公平的分配结果,同时也增加了分配过程的复杂性和成本。
使用区块链可以解决以上关键问题,如:
- 数据发现:区块链可以提供一个去中心化的数据市场平台,使数据拥有者能够将其数据注册到区块链上,并通过智能合约定义数据的属性和访问规则。数据使用者可以通过区块链上的数据目录和搜索功能发现适合其需求的数据集。
- 数据授权:区块链可以提供身份认证和访问控制机制,确保只有授权的参与方才能访问和使用数据。数据拥有者可以使用智能合约定义数据的访问规则,并授权特定的参与方访问其数据。区块链记录了数据的授权历史和访问记录,实现了数据授权的可追溯性和透明性。
- 数据使用收益分配:区块链可以通过智能合约实现数据使用收益的分配和结算。智能合约可以定义数据使用的条件和收益分配规则,自动执行数据使用交易,并确保参与方按照约定的规则进行操作。这样,数据拥有者可以获得公平的回报,而数据使用者可以获得透明和可信的数据使用权。
- 身份认证:区块链可以提供去中心化的身份认证机制,确保参与方的身份是可信的。每个参与方可以拥有一个唯一的身份标识,并使用加密技术生成公钥和私钥对。通过使用这些密钥对进行数字签名,区块链可以验证参与方的身份,并确保只有授权的参与方才能参与隐私计算过程。
- 数据完整性:数据在使用前将数据哈希值、模型哈希值、计算中间结果哈希值以及计算结果的哈希值上链,保证整个计算过程中数据完整性。
基于区块链的隐私计算整体架构
基于区块链的隐私计算参与方主要包括:数据拥有方、数据认证方、数据使用方(也可是某一个数据拥有方)
- 数据拥有方:提取本地数据对应的元数据(数据描述信息),并在管控台进行登记上链
- 数据认证方:查询区块链上登记的元数据,并进行认证公布
- 数据使用方:数据使用方通过隐私计算数据发现模块查询区块链上被认证公布的元数据信息,并发起数据使用授权。(如图中数据提供方C也为数据使用方)
- 数据拥有方:数据拥有方查看区块链上关于自己的数据使用申请,并进行授权。
授权成功后,隐私计算引擎进行隐私计算,并将结果加密发送给数据拥有方,同时将隐私计算执行中间数据&执行结果进行哈希存证。最后数据使用方在本地解密获取明文结果。
注:以上基于区块链的隐私计算整体架构为简化版,实施过程中可以会有偏差,但整体流程基本一致。
总结
本文对常见隐私计算的技术原理和架构、以及基于区块链的隐私计算技术原理和架构进行了简单介绍,希望读者通过本文的阅读,能对隐私计算以及区块链应用有个整体认识。众所周知,密码技术是支撑区块链和隐私计算的关键底层技术,掌握常用的加解密、签名验证、GC、OT、SS、同态加密、查分隐私DP,对于理解隐私技术的细节有很大帮助。
参考资料
- 中国移动通信联合会, 中科院信工所, 中国信通院. 2021隐私机密计算蓝皮书
- 交通银行. 隐私计算金融应用蓝皮书
- 中国信通院. 联邦学习场景应用研究报告(2022年)
- 北京金融科技产业联盟. 隐私计算技术金融应用研究报告
- 中国移动. 隐私计算应用白皮书(2021)
- 长安链官网.长治久安连接未来
微信公众号:密码应用技术实战
博客园首页:https://www.cnblogs.com/informatics/