【隐私计算篇】隐私计算使用不当也会泄露原始数据
1. 背景信息
有个有趣的问题,刚好最近有讨论到,在这里也抛一下,就是隐私计算中我们经常谈到主流的一些技术,比如联邦学习、多方安全计算、安全求交、匿踪查询、可信执行环境等,然后笼统地会称这些技术实现了对隐私的保护。然而有一个特别好玩的事情,那就是如果某个数据源方,提供多套的业务服务,且业务之间的数据存在关联,那么很可能会存在原始数据泄密的问题。这个问题似乎一直没有看到有相关厂商谈及,今天作为一个开放性问题抛出来大家一起探讨。
2. 关于匿踪查询的原始数据暴露问题讨论
首先我们来看匿踪查询,其定义:匿踪查询,是一种确保用户在查询信息时,其身份和查询内容不被泄露的技术方案。PIR的主要目的是保护用户隐私,确保服务器无法知道用户查询的具体内容,同时具有严格访问控制,用户只能访问其查询的数据,其他数据对用户完全隐藏。
从该定义就可以看出,匿踪查询并不保护数据源方的原始信息,而只是保护查询方的查询行为不被数据源方探知。因此数据源方的被查询信息最终是被查询方明文获得的。这个关键信息点,在实际业务中,需要被强烈关注,提供匿踪查询的数据源,需要特别小心审查,什么数据可以被查询,可以对外服务,否则可能引来数据合规风险。
匿踪查询根据业务的不同,分为单条查询和批量查询,其中单条查询的风险异常高,因为可能直接涉及到个体信息的暴露。假设数据源方提供黑名单信息的查询,查询方提交某个查询用户id,通过黑名单匿踪查询服务,获取到该个体用户id是否击中黑名单。更进一步,如果提供的是用户的原始数据信息,比如医疗体系中的查询,某个用户是否存在某种症状。这样的业务都会直接暴露个体隐私信息,与国家针对个体数据保护初衷相悖。因此数据源方提供的查询服务,一定要尽可能审查和评估。匿踪查询不解决原始数据暴露的问题。
那么有没有什么方法可以规避? 答案是肯定的。第一种方案,就是提供查询的数据是不涉及个体隐私,或者经过个体授权。第二种方案,则采用群体信息来解决,引入批量匿踪查询,同样还是黑名单查询,假设查询方提交了一批用户id,数据源方不直接返回单条处理的密文数据,而是需要进行聚合计算。比如计算出一个密文状态下的比例信息,即当前查询批中有多少比例的黑名单用户。这样查询方拿到密文结果后解密,只能得到批群体信息的某种特征,而不是具体到个体信息。还有就是采用匿踪联盟的方案,最终查询方仅拿到多方聚合之后的结果,也可以规避某一个单方数据源信息的直接泄露。这里仅讨论有限的规避方案,还有更多的一些其他技术手段。
另外,关于同一数据源的访问次数限制问题,如果是无限次,是否存在被分析出某种分布,或者原始信息被拖库的风险,是否需要针对特定查询方对于特定数据源的查询频率限制?是否需要定期对数据源做一定的变换处理,以减少某种隐患?还有对于匿踪查询结算定价的策略设置,是否也需要起到一定的查询频率的限制作用?开放性问题,欢迎探讨。
3. 关于单数据源多种隐私计算服务的原始数据暴露问题讨论
隐私计算中,比如联邦学习、多方安全计算、安全求交等安全性问题,往往是针对独立的算法本身去探讨,这方面的研究很多,但是如果多种不同的技术都在单一数据源进行提供,这也是业内的现状,隐语、蓝象、洞见、富数都是综合性的技术厂商,都可以提供各种不同的技术,因此机构引入相应的厂商引擎后,往往就具备了多种不同隐私计算服务的能力。单数据源同时提供多种不同的隐私计算服务,假如使用不当,会存在原始信息泄露的隐患。
最明显的,就是联邦学习中,引入安全求交算法。普通的安全求交,计算方之间是会共享交集结果,这种是明显的敏感数据泄露问题。这方面的安全保护进展,可以看富数、微众、蓝象等相继推出的全匿踪联邦学习技术。
另外,联邦学习算法,往往对于标签信息的保护是最关键的。假设A、B两方进行联合风控建模,A方持有特征,B方持有标签为用户是否为逾期黑名单人员,是典型的分类任务。假如B方节点还具有黑名单匿踪查询服务,那么A方完全可以通过与B方进行匿踪查询得到黑名单是否击中的个体样本标签信息,即使是少量的标签,也可能足够A方在自己本地训练模型,一方面B方泄露了个体标签信息,另一方面A方绕开了必须与B方进行联邦学习的限制,对于B方来说损失惨重。所以对于B方,需要非常小心,从全局上考虑各种隐私计算对外的服务之间,是否存在数据泄露的风险和挑战。进一步,A方还可以利用与B方在联邦学习中的安全求交,来缩小匿踪查询的量级,对于B方来说,雪上加霜,火上浇油。
其他如安全多方计算,虽然其本身是属于可证安全的密码学原语,但是在实际业务中同样可能存在数据泄露风险。比如仅有两个数据方进行多方安全加法的计算,且其中一方为结果获取方,那么结果获取方完全可以反推另一方的原始数据,这不是MPC本身能解决的问题,而是一种业务本身的问题。因此一般实际场景中,两方之间不允许做非常基础的简单的计算任务,需要设置比如聚合、非线性、多计算符操作等其他复杂的计算任务。还有的解决方案是结合差分隐私,反馈的数据中包含一定的噪声,但又不影响与原始数据的总体分布一致性。
同样的,可信执行环境,也同样存在一定的安全风险,比如采用侧信道攻击。如果使用的是国外的硬件设备,还可能存在后门风险。
4. 总结
上述内容针对隐私计算技术的使用,抛出了一些关于数据泄露风险的开放性问题。因此在使用隐私计算技术实现各类数据服务,需要通盘考虑安全性,才能做到原始数据的安全保护,更好地推动数据价值流通。
相关文章:
【隐私计算篇】隐私计算使用不当也会泄露原始数据
1. 背景信息 有个有趣的问题,刚好最近有讨论到,在这里也抛一下,就是隐私计算中我们经常谈到主流的一些技术,比如联邦学习、多方安全计算、安全求交、匿踪查询、可信执行环境等,然后笼统地会称这些技术实现了对隐私…...
C++第一讲:开篇
C第一讲:开篇 1.C历史背景1.1C创世主--本贾尼1.2C版本更新1.3C的重要性1.4C书籍推荐 2.C的第一个程序3.命名空间3.1namespace是什么3.2namespace的使用3.3namespace使用注意事项3.4命名空间的使用 4.C输入和输出5.缺省参数6.函数重载7.引用7.1什么是引用7.2引用的定…...
OceanBase V4.2特性解析:MySQL模式下GIS空间表达式的场景及能力解析
1. 背景 1.1. OceanBase Mysql gis空间表达式的应用场景及能力 在OceanBase 4.1版本中,mysql模式下支持了gis数据类型以及部分空间对象相关的表达式,随着客户使用空间数据的需求日益增长,需要快速地补齐空间数据存储和计算分析的能力&#…...
HSL模型和HSB模型,和懒人配色的Color Hunt
色彩不仅仅是视觉上的享受,它在数据可视化中也扮演着关键角色。通过合理运用色彩模型,我们可以使数据更具可读性和解释性。在这篇文章将探讨HSL(Hue, Saturation, Lightness)和HSB(Hue, Saturation, Brightness&#x…...
什么是云原生?(二)
1. 云原生的定义 云原生指构建和运行应用以充分利用通过云技术交付模式交付的分布式计算。云原生应用旨在充分利用云技术平台特有的可扩展性、弹性和灵活性优势。 根据云原生计算基金会 (CNCF) 的定义,云原生技术可帮助企业在公有云、私有云和混合云环境中构建和…...
pytorch 47 模型剪枝实战|基于torch-pruning库代码对yolov10n模型进行剪枝
torch-pruning官方提供了基于yolov8的剪枝代码,基于此代码改进博主实现了对yolov10n模型的剪枝。虽然实现了对yolov10n模型的剪枝,剪枝目标为移除60%的通道,然而实验是失败的,针对coco数据集进行操作,剪枝前的模型map时37,剪枝后只能恢复到22,比预计下降了15个点,剪枝后…...
LeetCode_sql_day15(262.行程与用户)
描述:262. 行程和用户 - 力扣(LeetCode) 取消率 的计算方式如下:(被司机或乘客取消的非禁止用户生成的订单数量) / (非禁止用户生成的订单总数)。 编写解决方案找出 "2013-10-01" 至 "2013-10-03" 期间非禁止…...
【MySQL】详解数据库约束、聚合查询和联合查询
数据库约束 约束类型 数据库的约束类型主要包括以下几种: 主键约束(Primary Key Constraint):确保表中的每一行都有唯一的标识,且不能为NULL。 外键约束(Foreign Key Constraint):…...
bug积累
1.只写 int p[len1 len2]; 时,实际上是在使用 C99 标准中引入的变长数组(VLA, Variable Length Array)的特性。变长数组允许在栈上分配其大小在运行时确定的数组。这意味着 len1 和 len2 的值可以在程序运行时确定,但仍然可以用来…...
版本控制案例:全球虚拟制片领导者Dimension借助Perforce Helix Core简化多供应商协作,控制访问权限,确保数据资产安全(下)
创建虚拟世界和人物角色需要一系列的软件工具。但最终愿景很少是由单一工作室独立完成的。对于大型项目,工作室需要通力合作,将全球的团队成员和数字资产联合起来。 Dimension Studio——体积内容捕捉和虚拟制片领域的领导者——不断将新技术和新方法融…...
Anaconda配置envs和pcks路径
问题 原先Anaconda安装在C盘,安装很多包后只剩几个G了,为了给C盘腾空间,卸载后重新安装在了D盘,但是创建了新环境后发现环境位置依旧在C盘,安装新的包仍然会占用C盘空间。 解决办法 查看conda的配置信息 执行如下命…...
推荐10个在线搭建框架平台
前言 在开发项目的时候,首先就是要搭建一个框架。这个框架可以是纯技术框架,也可以具备一定功能的开源框架。但是在搭建框架的时候,版本的冲突,环境的配置等是新手们一直头痛的问题,在构建开源框架的时候,…...
Linux Shell--函数
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、简介 Shell 函数是一段可以重复使用的代码块,通过定义函数可以避免代码重复,提高脚本的可读性和可维护性。 二、定义函数…...
漏洞复现-CVE-2023-42442:JumpServer未授权访问漏洞
概述 JumpServer存在一个未授权访问漏洞。具体来说,/api/v1/terminal/sessions/ API端点的权限控制存在逻辑错误,允许攻击者匿名访问。未经身份验证的远程攻击者可以利用此漏洞下载SSH日志,并可能借此远程窃取敏感信息。值得注意的是&#x…...
【数据结构之带头双向循环链表的实现】
1.链表的分类 链表的结构有多种多样,以下情况组合起来就有8种(2x2x2)链表结构: 虽然有这么多的链表结构,但是我们实际中最常用的还是两种结构:单链表和双向带头循环链表。 无头单向非循环链表:结…...
【docker】docker数据卷与网络部署服务
Docker 网络模式 选择网络模式 Host Mode (主机模式) 特点: 容器与宿主机共享网络命名空间操作: docker run --nethost ... Container Mode (容器模式) 特点: 容器与指定容器共享网络命名空间操作: docker run --netcontainer:<container-id-or-name> ... None Mode (无…...
Spring MVC框架学习笔记
学习视频:10001 Spring MVC概述_哔哩哔哩_bilibili~11005 请求映射方式_哔哩哔哩_bilibili 目录 1.概述 Java EE三层架构 Spring MVC在三层架构中的位置 编辑 Spring MVC在表现层的作用 Spring MVC的特点 2.Spring MVC入门程序 代码实现 Spring MVC工作原理 Spring …...
LeetCode 100道题目和答案(面试必备)(一)
1.两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按…...
OpenGL投影矩阵
OpenGL Projection Matrix OpenGL投影矩阵...
Linux中的`make`与`Makefile`:项目自动化构建工具
Linux中的make与Makefile:项目自动化构建工具 在Linux及类Unix系统中,make是一种广泛使用的自动化构建工具,它通过读取和执行Makefile(或makefile,文件名不区分大小写)中的指令来自动化编译和构建程序。Ma…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
前端调试HTTP状态码
1xx(信息类状态码) 这类状态码表示临时响应,需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分,客户端应继续发送剩余部分。 2xx(成功类状态码) 表示请求已成功被服务器接收、理解并处…...
