当前位置: 首页 > news >正文

【隐私计算篇】隐私计算使用不当也会泄露原始数据

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)&#xff1a…...

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&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按…...

OpenGL投影矩阵

OpenGL Projection Matrix OpenGL投影矩阵...

Linux中的`make`与`Makefile`:项目自动化构建工具

Linux中的make与Makefile&#xff1a;项目自动化构建工具 在Linux及类Unix系统中&#xff0c;make是一种广泛使用的自动化构建工具&#xff0c;它通过读取和执行Makefile&#xff08;或makefile&#xff0c;文件名不区分大小写&#xff09;中的指令来自动化编译和构建程序。Ma…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日&#xff0c;中天合创屋面分布式光伏发电项目顺利并网发电&#xff0c;该项目位于内蒙古自治区鄂尔多斯市乌审旗&#xff0c;项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站&#xff0c;总装机容量为9.96MWp。 项目投运后&#xff0c;每年可节约标煤3670…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

多元隐函数 偏导公式

我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式&#xff0c;给定一个隐函数关系&#xff1a; F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 &#x1f9e0; 目标&#xff1a; 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z​、 …...