【隐私计算篇】全同态加密应用场景案例(隐私云计算中的大模型推理、生物识别等)

1.题外话

        最近因为奖项答辩,一直在忙材料准备,过程非常耗费时间和精力,很难有时间来分享。不过这段时间虽然很忙碌,但这期间有很多新的收获,特别是通过与领域内专家的深入交流和评审过程,对密码学和隐私计算领域有了更深层次的理解。此外,也体会到工作中严谨和科学的工作方法的重要性。

2. 全同态加密应用案例

2.1 关于全流程加密、密算云的讨论

        近期在全同态加密算法的一些实践,特别是利用GPU来加速密文的处理(可以看下前段时间分享的《替换半同态使用全同态加速计算联邦机器学习算法的实证分析》)。在此过程中,全同态加密算法进行了多方面的改进,性能效率显著优化。让我们看到全同态在联邦机器学习、联邦深度学习上的性能潜力。

        近期行业内逐步出现密算云的实践,我称之为“隐私云计算”。密算是指整个数据以密算形式流通,保障它在存储计算、运维研发全链路是安全可控的【1】。全链路密算的概念,和2022年富数科技以及腾讯、2023年蓝象智联提出的全匿踪联邦学习、全链路加密处理【2】有相似之处,都强调全流程的安全可控以及密态形式数据流转,而不再是原来追求隐私计算的片面安全性,关于隐私计算的片面安全性,可以参考阅读《隐私计算使用不当也会泄露原始数据》。

2.2 关于全同态加密算法及应用案例

2.2.1 全同态加密算法略谈

        关于全链路密算的隐私计算模式,全同态加密算法是一种可行解。 全同态加密(Fully Homomorphic Encryption, FHE)允许对加密数据进行计算,而无需解密。这种特性使得在处理敏感数据时,可以在保护数据隐私的同时,仍然能够执行必要的计算操作。

        全同态加密的工作原理是,通过对数据进行加密后,任何对这些加密数据的计算结果都可以在不泄露原始数据的情况下,得到与直接在明文上计算相同的结果。这使得它在云计算和分布式计算环境中,面向需要保护用户隐私的场景中,有很好的应用潜力。

        在全链路密算中,全同态加密能够有效解决数据传输和存储中的隐私问题。无论是在数据收集、传输还是存储阶段,数据始终保持加密状态,避免了数据在传输过程中的潜在泄露风险。此外,通过全同态加密,参与方可以在保持各自数据隐私的前提下,协同完成复杂的计算任务,实现数据共享与合作。

        全同态加密算法,目前主流和常用的主要是BFV以及CKKS。其中BFV(Brakerski/Fan-Vercauteren)方案主要面向整数向量进行密文处理。基于 CKKS(Cheon-Kim-Kim-Song)方案则是面向实数向量进行密文处理。密文处理又涉及密文 - 密文向量以及密文 - 明文向量进行逐元素的加法、减法和乘法操作, 点积和矩阵乘法等【4】。

2.2.2 全同态加密算法应用案例

        【3】中介绍了几种密算云的应用案例,感觉不错,这里做下分享。

2.2.2.1 案例1--大模型密算

        大模型(云)能够辅助完成各种任务,从训练成本和实用功能的角度来看,具有显著的数据价值,通常作为通用服务提供给用户。然而,大模型应用中一个备受关注的问题是,用户提供给模型的输入可能包含敏感信息。当用户以明文形式输入这些信息时,一方面,模型服务方(云)可能直接获取这些敏感数据;另一方面,模型可能学习到输入内容,从而导致进一步的信息泄露。关于这一点,我会在后续的大模型评估中谈到,其实模型评估的时候也会遇到类似问题,你的prompt很快就会被作为微调或者训练语料被记忆到大模型中,导致静态评估的失效。

        为了解决这一问题,可以采用全同态加密技术。用户可以将自己的输入信息进行全同态加密,然后在密文状态下执行大模型的推理计算,从而生成密文形式的回答。最终,用户可以解密该回答,获得明文内容。在整个过程中,用户的输入和输出信息都得到了有效保护,未发生泄漏。同时,模型所有方也确保了计算过程在自己的服务器上进行,避免了模型信息的泄露。

2.2.2.2 案例2--生物识别

        关于生物识别,之前我们介绍了利用MPC实现人脸识别的案例,对VGG16深度学习模型进行密态推理,可以参考《利用多方安全计算MPC实现VGG16人脸识别隐私推理》。而本案例提出基于全同态加密的方式进行处理。

        公有云平台提供人脸识别及人脸数据库管理服务,应用方(如 APP 公司)可以将用户的人脸数据库委托给公有云进行管理。云平台不仅提供数据库的查询和修改服务,还提供人脸图像的比对、定位和分析等 AI 模型服务。由于人脸数据属于个人生物信息,相关法规要求使用人脸识别技术的产品必须确保人脸数据的安全。针对这一场景,可以采用全同态加密技术,以支持在密文状态下对人脸数据库进行处理和推理。通过将人脸数据库以密文形式托管,不仅可以确保应用方用户的个人数据隐私不被公有云泄露,还能有效防止潜在黑客获取存储在公有云数据库中的敏感信息。在MPC方案中,是通过对数据进行碎片化分布式保存,也就是黑客只要没有拿到全部的碎片或者说没有达到原始数据的恢复碎片数量阈值,就不可能窃取到明文人脸数据。基于全同态加密和安全多方计算实现数据安全保护的方式还是有比较大的差异的。

2.2.2.3 案例3--医疗数据

        基因数据是现代医学研究和疾病诊断的重要组成部分,但同时也涉及到个人隐私的关键数据。在基因诊断应用中,用户需提供自己的基因数据,但必须防止数据泄漏。同时,医疗机构(云)提供的生物信息算法也是其重要资产,机构同样希望保护这些信息不被泄露。通过使用全同态加密算法,用户可以将自己的基因片段加密后发送给医疗机构(云)。医疗机构(云)在密文状态下执行生物信息算法,并将所得结果返回给用户。用户随后解密结果,便可以获得诊断信息。在这一过程中,双方的隐私得到了有效保护,同时用户所获得的诊断结果与在明文数据下的结果一致。

        同样这个模式也适用其他敏感的医疗场景隐私数据的处理,比如用户关于某种自身罕见疾病的信息查询。

3. 参考材料

【1】大模型密算平台(隐语)

【2】全匿踪联邦学习(富数、腾讯、蓝象、洞见等)

【3】全同态密码云计算平台(格物)

【4】全同态加密张量运算库解读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/904940.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安卓开发之登录页面(跳转版)

目录 前言:基础夯实:效果展示:核心代码:网盘源码: 前言: 熟悉安卓开发的基础知识,了解,弹窗,两个页面进行跳转,页面的布局,按钮,文本…

【牛客刷题实战】二叉树遍历

大家好,我是小卡皮巴拉 文章目录 目录 牛客题目: 二叉树遍历 题目描述 输入描述: 输出描述: 示例1 解题思路 问题理解 算法选择 具体思路 解题要点 完整代码(C语言) 兄弟们共勉 !&…

多个项目同时进行,如何做好项目管理?

多项目管理相较于单一项目管理,要面临更大的挑战和难度。多项目管理需要同时管理和协调多个项目,使用项目管理工具可以帮助项目经理和团队成员更好地规划、执行和监控项目。以下是七款多项目管理软件,它们各具特色,能够满足不同项…

[vulnhub] Brainpan1

https://www.vulnhub.com/entry/brainpan-1,51/ 主机发现端口扫描 使用nmap扫描网段类存活主机 因为靶机是我最后添加的,所以靶机IP是166 nmap -sP 192.168.75.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-1…

Java避坑案例 - 线程池使用中的风险识别与应对

文章目录 线程池的基本概念创建线程池的注意事项实例1: newFixedThreadPool 使用无界队列,可能因任务积压导致 OOM实例2: newCachedThreadPool 会创建大量线程,可能因线程数量过多导致无法创建新线程。 线程池参数设置的最佳实践线…

Pytest-Bdd-Playwright 系列教程(5):仅执行测试用例的收集阶段

Pytest-Bdd-Playwright 系列教程(5):仅执行测试用例的收集阶段 一、为什么需要仅收集测试用例二、应用场景三、方法详解【方法1】:添加pytest.ini文件的addopts配置项【方法2】:通过命令行参数运行 四、CI/CD 环境下的…

机器人技术基础(4章逆运动解算和雅克比矩阵)

逆运动解算: 雅克比矩阵: 将动力学分析转向运动的物体 下图中的 n o y 反映了机器人的姿态矩阵, 最后一列 p 反应了机器人在空间中的位置:

未来已来:人工智能赋能软件开发新篇章

引言 在数字化转型的浪潮中,数据已成为推动企业创新与增长的核心资产,而人工智能(AI)则是将这些数据转化为商业价值的关键动力。随着技术的迅速演进,AI 正逐步渗透到软件开发的各个环节,从需求预测到用户体…

C#实现视频会议录制(支持Windows、Linux、银河麒麟、统信UOS)

随着远程办公与异地协作越来越频繁,视频会议系统的使用也是越来越普遍。同时,用户对视频会议系统的功能也提出了更高的要求,比如,其中之一就是希望可以将整个视频会议的过程录制下来,以备之后可以查阅观看。 我们可以…

树莓派开发相关知识四 传感器-温湿度传感器

1、概述 使用DHT11温湿度传感器,传感周期为1s。 DHT11模块一般由3/4个引脚组成,每一次收集数据为40bit。 分别为: 高位在前、8bit湿度整数数据8bit湿度小数数据8bi温度整数数据8bit温度小数数据8bit校验和 我们需要解决的问题,…

vue3+less使用主题定制(多主题定制)可切换主题

假如要使用两套主题:蓝色、红色 例如: 首先确保自己的vue3项目有less,这边不多做接入解释 1、在src目录下建一个styles文件夹,在syles文件夹下面新建两个less文件:theme.less和variables.less; theme.le…

Spring Cloud Sleuth(Micrometer Tracing +Zipkin)

分布式链路追踪 分布式链路追踪技术要解决的问题,分布式链路追踪(Distributed Tracing),就是将一次分布式请求还原成调用链路,进行日志记录,性能监控并将一次分布式请求的调用情况集中展示。比如各个服务节…

春季测试 2023 我的题解

T1 涂色游戏 这道题目还是比较简单的 容易发现,位于 ( x i , y i ) (x_i,y_i) (xi​,yi​) 的格子的颜色只取决于 ​ x i x_i xi​ 行与 y i y_i yi​ 列的颜色。 这时候可以想到开两个数组,分别存储列与行的绘画信息,然后发现前后的互相…

Kali Linux 新工具推荐: Sploitscan

在 2024.2 版本 Kali Linux 增加了一个新攻击工具: Sploitscan 1.简介: Sploitscan 能够发现操作系统和应用程序中的安全漏洞。 2.特点: 简单的命令行界面 扫描多个操作系统和应用程序 检测多种漏洞 提供详细信息 可定制性强 3.示例: 2024.2 及以后的版本 Kali Linux…

【JAVA 笔记】09 ch06_arrays_sort_and_search

第6章 数组、排序和查找 数组介绍 数组的使用 使用方式1-动态初始化数组的定义 使用方式2-动态初始化 使用方式3-静态初始化 数组使用注意事项和细节 数组应用案例 数组赋值机制 数组拷贝 数组添加/扩容 多维数组 二维数组 动态初始化1 动态初始化2 静态初始化 二维数组的应用案…

C语言实现归并排序

#include <stdio.h> #include <stdlib.h> #include<time.h> #include<string.h> #define N 7 // 定义元素类型为整型 typedef int ElemType; // 定义静态表结构体 typedef struct{ ElemType *elem; // 动态分配的数组指针 int TableL…

第十八章 Vue组件样式范围配置之scoped

目录 一、引言 二、案例演示 2.1. 工程结构图 2.2. 核心代码 2.2.1. main.js 2.2.2. App.vue 2.2.3. BaseOne.vue 2.2.4. BaseTwo.vue 2.3. 运行效果 2.4. 调整代码 2.4.1. BaseTwo.vue 2.4.2. 运行效果 三、scoped原理 一、引言 前面的几个章节在介绍组件的时…

Linux 中,flock 对文件加锁

在Linux中&#xff0c;flock是一个用于对文件加锁的实用程序&#xff0c;它可以帮助协调多个进程对同一个文件的访问&#xff0c;避免出现数据不一致或冲突等问题。以下是对flock的详细介绍&#xff1a; 基本原理 flock通过在文件上设置锁来控制多个进程对该文件的并发访问。…

stm32入门教程-- DMA数据转运

目录 简介 原理 实验示例 1、DMA数据转运 实现代码 实验效果 原理 实验示例 1、DMA数据转运 接线图 存储器映像 我们在开始代码之前&#xff0c;可以看下我们定义的数据&#xff0c;到底是不是真的存储在了这个相应的地址区间里&#xff0c;我们看代码&#xff1a; …

SELS-SSL/TLS

一、了解公钥加密&#xff08;非对称加密&#xff09; 非对称加密中&#xff0c;用于加密数据的密钥与用于解密数据的密钥不同。私钥仅所有者知晓&#xff0c;而公钥则可自由分发。发送方使用接收方的公钥对数据进行加密&#xff0c;数据仅能使用相应的私钥进行解密。 你可以将…