首页 > 其他分享 >隐私计算-原理和实践

隐私计算-原理和实践

时间:2024-03-10 22:00:31浏览次数:28  
标签:参与方 实践 隐私 计算 授权 原理 区块 数据

主页

引言

很长一段时间没有更新博客和公众号了,最近做了一个基于区块链的隐私计算项目,主要关于数据安全流通和计算,在一定程度上解决了数据确权、授权使用、数据隐私等问题,保证了数据的可用不可见,可控可计量。项目不久将会对外开源发布,目前项目在收尾阶段。

自十九届四中全会首次将数据纳入生产要素,特别是发布《关于构建更加完善的要素市场化配置体制机制的意见》和《关于构建数据基础制度更好发挥数据要素作用的意见》(“数据二十条”)后,我国数据要素化推进步伐明显提速。数据二十条中也强调始终将数据安全作为数据要素化的前提和基础。在数据要素化发展新阶段加强对隐私计算、区块链、联邦计算等数据生产交易流通等内生安全平台的建设。

该项目也是在国家号召的背景下进行的实践探索,作为隐私计算的第一篇,本文主要用于隐私计算技术基础介绍。

内容组织如下:

  • 常见的隐私计算技术及架构
  • 基于区块链的数据安全流通整体架构
  • 基于区块链的数据安全流通关键流程
  • 当前隐私计算亟待解决的关键问题
  • 参考资料

隐私计算技术

常见的隐私计算技术有:

  • 安全多方计算, Secure Multi-Party Computation (SMPC),简称MPC
  • 可信执行环境,Trusted Execution Environment, 简称TEE
  • 联邦学习,Federated Learning,简称FL

隐私计算架构
image

隐私计算工作原理

  • MPC:MPC的主要原理是将计算任务分解为多个子任务,并将这些子任务分配给不同的参与方进行计算。每个参与方只能访问自己的输入,而无法获得其他参与方的输入。通过使用密码学协议和安全协议,参与方可以在不共享私密数据的情况下进行计算,并最终得到计算结果。
  • TEE: TEE的主要原理是通过创建一个隔离的执行环境,将敏感数据和关键计算与操作系统和其他应用程序隔离开来。这个隔离环境被称为"安全区域",其中的代码和数据受到严格的保护,无法被未经授权的应用程序或操作系统访问。
  • FL: 联邦学习的主要原理是将机器学习的训练过程从中央服务器转移到参与方的本地设备上。通过在参与方之间共享模型参数或梯度更新,实现模型的全局训练,而无需共享原始数据。在联邦学习中,训练数据保留在参与方的本地设备上,不需要将其上传到中央服务器。

隐私计算技术对比

对比项 \ 隐私计算技术 安全多方计算MPC 可信执行环境TEE 联邦学习FL
主要特点 模型不动数据动
采用去中心化架构
模型不动数据动
采用中心化架构
数据不动模型动
采用分布式架构
安全基础 纯密码学 加密硬件 仅共享模型,数据本地训练,不出域
关键技术 混淆电路GC
不经意传输OT
秘密共享SS等
远程证明
PKI技术等
纯FL未使用密码技术
优点 安全性高 计算性能高,通用性高 计算性能高,仅适合机器学习
缺点 基于复杂的密码技术,计算效率相对较低;
计算逻辑需要转换为复杂的门电路,实现代价高
需要信任硬件厂商
需要特殊的硬件支持,成本高
实践中通过模型有可能推导出数据,安全性低, 一般需要结合TEE、MPC或DP技术进行模型保护
备注 适合数据量不大,计算逻辑不太复杂的场景 适合计算性能要求较高,计算逻辑复杂的场景 适合机器学习场景

基于区块链的隐私计算

隐私计算技术保证了数据的可用不可见,但是仍存在以下问题:

  • 数据完整性:隐私计算技术主要关注数据的隐私保护,而对数据的完整性保护相对较弱。在数据安全流通中,确保数据的完整性是一个重要的问题,以防止数据被篡改或损坏。
  • 身份认证:隐私计算技术通常不涉及身份认证问题。在数据安全流通中,确保参与方的身份认证是至关重要的,以防止未经授权的访问和恶意行为。
  • 数据发现:在传统的数据发现过程中,数据拥有者需要主动公开或与潜在的数据使用者进行直接的交互,以便发现适合其需求的数据集。这可能导致数据拥有者的隐私泄露风险,因为他们需要公开自己的身份和数据细节。
  • 数据授权:在传统的数据授权过程中,数据拥有者需要与数据使用者进行直接的协商和授权,以确定数据的使用条件和访问权限。这种过程可能存在信任问题和复杂的合同谈判,导致授权过程的不透明性和低效性。
  • 数据使用收益分配:在传统的数据使用收益分配中,数据拥有者和数据使用者之间的收益分配往往需要进行复杂的谈判和协商。缺乏透明度和可信度可能导致不公平的分配结果,同时也增加了分配过程的复杂性和成本。

使用区块链可以解决以上关键问题,如:

  • 数据发现:区块链可以提供一个去中心化的数据市场平台,使数据拥有者能够将其数据注册到区块链上,并通过智能合约定义数据的属性和访问规则。数据使用者可以通过区块链上的数据目录和搜索功能发现适合其需求的数据集。
  • 数据授权:区块链可以提供身份认证和访问控制机制,确保只有授权的参与方才能访问和使用数据。数据拥有者可以使用智能合约定义数据的访问规则,并授权特定的参与方访问其数据。区块链记录了数据的授权历史和访问记录,实现了数据授权的可追溯性和透明性。
  • 数据使用收益分配:区块链可以通过智能合约实现数据使用收益的分配和结算。智能合约可以定义数据使用的条件和收益分配规则,自动执行数据使用交易,并确保参与方按照约定的规则进行操作。这样,数据拥有者可以获得公平的回报,而数据使用者可以获得透明和可信的数据使用权。
  • 身份认证:区块链可以提供去中心化的身份认证机制,确保参与方的身份是可信的。每个参与方可以拥有一个唯一的身份标识,并使用加密技术生成公钥和私钥对。通过使用这些密钥对进行数字签名,区块链可以验证参与方的身份,并确保只有授权的参与方才能参与隐私计算过程。
  • 数据完整性:数据在使用前将数据哈希值、模型哈希值、计算中间结果哈希值以及计算结果的哈希值上链,保证整个计算过程中数据完整性。

基于区块链的隐私计算整体架构

image

基于区块链的隐私计算参与方主要包括:数据拥有方、数据认证方、数据使用方(也可是某一个数据拥有方)

  • 数据拥有方:提取本地数据对应的元数据(数据描述信息),并在管控台进行登记上链
  • 数据认证方:查询区块链上登记的元数据,并进行认证公布
  • 数据使用方:数据使用方通过隐私计算数据发现模块查询区块链上被认证公布的元数据信息,并发起数据使用授权。(如图中数据提供方C也为数据使用方)
  • 数据拥有方:数据拥有方查看区块链上关于自己的数据使用申请,并进行授权。

授权成功后,隐私计算引擎进行隐私计算,并将结果加密发送给数据拥有方,同时将隐私计算执行中间数据&执行结果进行哈希存证。最后数据使用方在本地解密获取明文结果。

注:以上基于区块链的隐私计算整体架构为简化版,实施过程中可以会有偏差,但整体流程基本一致。

总结

本文对常见隐私计算的技术原理和架构、以及基于区块链的隐私计算技术原理和架构进行了简单介绍,希望读者通过本文的阅读,能对隐私计算以及区块链应用有个整体认识。众所周知,密码技术是支撑区块链和隐私计算的关键底层技术,掌握常用的加解密、签名验证、GC、OT、SS、同态加密、查分隐私DP,对于理解隐私技术的细节有很大帮助。

参考资料

  • 中国移动通信联合会, 中科院信工所, 中国信通院. 2021隐私机密计算蓝皮书
  • 交通银行. 隐私计算金融应用蓝皮书
  • 中国信通院. 联邦学习场景应用研究报告(2022年)
  • 北京金融科技产业联盟. 隐私计算技术金融应用研究报告
  • 中国移动. 隐私计算应用白皮书(2021)
  • 长安链官网.长治久安连接未来

微信公众号:密码应用技术实战
博客园首页:https://www.cnblogs.com/informatics/

标签:参与方,实践,隐私,计算,授权,原理,区块,数据
From: https://www.cnblogs.com/informatics/p/18064968

相关文章

  • PARA第四部分:实践指南(PARA Part 4 Setup Guide)
    内容简介:以前没有用过P.A.R.A个人知识管理系统,现在如何把旧文件迁移到P.A.R.A中呢?这篇文章告诉你如何用简单的5个步骤,完成旧文件的迁移。简单地说,就是“破旧立新”:把旧文件都归档(便于以后查找),把正在做的事情,都放进“项目(projects)”里(便于聚焦手头的事情)。这是一个针对P.A.R.A......
  • [基础] VAE原理
    名称VAE原文TL;DR这篇文章介绍了一种名为Auto-EncodingVariationalBayes(AEVB)的算法。AEVB算法通过引入随机变分推断和学习算法,解决了在大数据集和不可解后验分布情况下的推断和学习问题。文章的主要贡献有两个:首先,提出了一个可以直接使用标准随机梯度方法优化的下界估计器......
  • 编译实践学习 Part1
    本文采用CCBY协议发布。闲话开新坑辣!参考PKU的文档做的。为什么会做这个呢?之前看一位退役OIer的Blog然后发现了这个文档,想着自己退役之后也要做一个。主要是被文档最后的awesome-sysy吸引了。其实之前我在OI里也写过CYaRon!语的编译版本,所以算是有Bear来........
  • 不得不做,敏感词过滤最佳实践
    因为在博客里上线了评论的功能,但是为了防止有些人发一些敏感词汇,所以做这个敏感词过滤是非常有必要的(这也是为啥我不愿意在评论中加图片一样,假如有人发一些奇怪的图片咋整......
  • Java并发编程之CAS原理分析
    Java并发编程之CAS原理分析在并发编程中,我们经常需要处理多线程对共享资源的访问和修改。那么如何解决并发安全呢?一.解决并发安全问题的方案最粗暴的方式就是使用synchronized关键字了,但它是一种独占形式的锁,属于悲观锁机制,性能会大打折扣。olatile貌似也是一个不错的选择,......
  • 扇区级别访问是指直接读取或写入硬盘上的单个扇区,而不是按文件或目录进行访问。下面是
    扇区级别访问是指直接读取或写入硬盘上的单个扇区,而不是按文件或目录进行访问。下面是扇区级别访问的技术实现原理:硬盘控制器:硬盘控制器是负责管理硬盘读写操作的组件。它负责接收来自主机的指令,并将其转换为硬盘可以理解的命令。硬盘控制器通过与硬盘上的磁头和扇区进行交......
  • app自动化测试环境安装和原理解析
    1.移动测试的基本介绍定义:测试手机程序:appApp程序测试点:功能测试安装卸载测试升级测试兼容性测试不同的手机的系统使用测试环境不同androidios其他:基于Android二次开发系统华为:鸿蒙系统小米:澎湃系统网络切换网络终端使用中来电,短信横竖屏切换健壮性......
  • 分布式锁实践
    分布式锁实践安装工具正常是需要在linux安装redis(官方推荐),为了方便在开发环境中,使用windows版本的redisGitHub-redis-windows/redis-windows:Redis6.0.206.2.147.0.15forWindows下载release版本,根据readme,在服务中注册,并启动redis:redis-windows/README.zh_CN.mdatm......
  • 理解 Docker 容器中 UID 和 GID 的工作原理
    理解用户名、组名、用户ID(UID)和组ID(GID)在容器内运行的进程与主机系统之间的映射是构建安全系统的重要一环。如果没有提供其他选项,容器中的进程将以root用户身份执行(除非在Dockerfile中提供了不同的UID)。本文将解释这一工作原理,如何正确授予权限,并提供示例加以说明。逐步分析uid/g......
  • 笔记(七):事务底层与高可用原理
    日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。尤为重要的是二进制日志(binlog)和事务日志(包括redolog和undolog)。MySQL在事务实现机制上采用的是WAL(Wri......