第三讲 架构详解:“隐语”可信隐私计算开源框架
目录
隐语架构
隐语架构拆解
产品层
算法层
计算层
资源层
互联互通
跨域管控
本文主要是记录参加隐语开源社区推出的第四期隐私计算实训营学习到的相关内容。
隐语架构
隐语架构拆解
产品层
产品定位:
-
通过可视化产品,降低终端用户的体验和演示成本
-
通过模块化API降低 技术集成商的研发成本
人群画像:作为隐语的直观入口,隐私保护计算从业者均应该关注
-
隐私保护计算集成商
-
隐私保护计算需求方
-
开发人员
-
研究人员
-
产品人员
-
......
特色:
-
SecretPad:轻量化安装、快速体验隐语功能、可定制集成
-
多部署形态:中心模式,后续计划发布P2P模式
-
全栈产品:MPC、TEE、SCQL
-
SecretNote:交互式建模,多节点一站式管理和交互
算法层
PSI/PIR
在前面两讲中对PSI和PIR进行过介绍,PSI是一种特殊的安全多方计算(MPC)协议,其目的是允许持有各自数据集的双方或者多方,执行两方或者多方集合的交集计算。PIR则是用户可以查询服务端数据库中的数据,但服务端不知道用户查询的是哪些数据。
定位:高性能、轻量化、易用的PSI/PIR专用协议模块;
人群画像:
-
PSI/PIR 产品人员
-
PSI/PIR 需求人员
-
PSI/PIR 研发人员
隐语架构中的PSI
1. 支持各类协议(两方\多方)
-
两方(ecdh、kkrt16、bc22、ec-oprf PSI)
-
多方(ecdh-3-party)
2. 优化
-
协议优化
-
性能优化
3. 多层入口
-
白屏用户:产品层
-
开发人员:通过SecretFlow接入、以库的形式集成
隐语架构中的PIR
1. 支持各类协议
-
Sealed PIR
-
Label PIR
-
......
2. 优化
-
协议优化
-
性能优化
3. 多层入口
-
白屏用户:产品层(计划)
-
开发人员:通过SecretFlow接入、以库的形式集成
Data Analysis
目前运营的数据分析主要是SCQL(Secure Collaborative Query Language),一种多方安全数据分析系统,可以让互不信任的参与方在保护自己数据隐私的前提下,完成多方数据分析任务。
定位:屏蔽底层安全计算协议的复杂性,以简单熟悉的 SQL 语言界面,提供多方数据密态分析能力
人群画像:
-
数据分析集成商
-
数据分析产品人员
-
数据分析需求人员
-
数据分析研发人员
核心特性:
-
半诚实安全模型
-
支持多方 (N>=2)
-
易上手,提供 MySQL 兼容的 SQL 方言用户界面
-
支持常用的 SQL 语法和算子,满足大部分场景的需求
-
可实用的性能 ü提供列级别的数据使用授权控制(CCL)
-
支持多种密态协议(SEMI2K/CHEETAH/ABY3)
-
内置支持多种数据源接入(MySQL,Postgres, CSV 等)
Federated Learning
在原始数据不出域的前提下,通过交换中间数据完成机器学习建模。 包含水平联邦和垂直联邦(主要是拆分学习,Split Learning)。
定位:具备安全攻防保障的 明密文混合机器学习框架和算法
人群画像:
-
深度学习需求方
-
深度学习产品人员
-
安全AI研究人员
特色:
1. 安全攻防
-
安全风险度量体系
-
攻防框架
-
攻防算法
2. 性能
-
稀疏化
-
量化
-
流水线
3. 算法
-
营销算法(DeepFM、BST、MMoE)
-
SOTA安全聚合
-
大模型(计划)
计算层
混合编译调度 - RayFed
在Ray基础之上所构建的专注于跨机构的分布式计算调度框架
定位:面向跨机构场景,提供单机构内计算任务独立调度和跨机构计算任务协作的能力。
人群画像:
-
隐语工程开发人员
-
隐语算法开发人员
SPU
SPU全称Secure Process Unit
定位:桥接上层算法和底层安全协议,保持原生AI框架体验的同时为 用户提供透明的、高性能的、基于安全协议的密态计算能力。
人群画像:
-
机器学习研发人员
-
密码协议研发人员
-
编译器研发人员
核心特性:
-
原生对接主流AI前端
-
持丰富的机器学习算法
-
带隐私保护语义的中间表示语言
-
基于MLIR的加密计算编译优化
-
高性能MPC协议虚拟机
-
多种数据并行,指令并行优化
-
丰富的MPC协议,适配各种场景
-
支持协议扩展,支持异构设备接入
HEU
HEU全称Homomorphic Encryption Unit
定位:低门槛,高性能的同态加密库,支持多类 型、可扩展的算法协议和硬件加速生态
人群画像:
-
同态加密用户
-
同态算法研究人员
-
同态硬件研发人员
核心特性
-
支持多种PHE算法
-
性能业界领先
-
支持多种接口(Numpy-like API\C++\Python)
-
硬件加速
TEEU
TEEU全称Trusted Enextution Environment Unit
定位:支持多种可信执行环境的、具备数据使用跨域管控能力的密态计算枢纽,可执行数据分析、机器学习、 MPC/FL加速等功能。
人群画像:
-
数据合规研究人员
-
TEE软件开发人员
-
TEE硬件制造厂商
特点:
1. 跨域管控
-
数据确权
-
使用授权
-
使用鉴权
-
结果授权
2. 可信应用
-
预处理
-
经典机器学习
-
后续计划深度学习、大模型等
3. 多硬件
-
SGX
-
HyperEnclave
-
海光CSV
-
Intel TDX
YACL
YACL全称Yet Another Common Crypto Library
定位:多种隐私计算技术路线共同需要的密码库,具备安全实现保 证、高性能等特点
人群画像:安全/密码研究人员
YACL诞生背景:
当前学术界密码库存在非标准化实现、缺少长期维护以及性能问题。工业界密码库则缺少良好的密码工具抽象,功能上保守的新协议引入等问题。
特色:
1. 性能
-
核心原语:高性能保障
-
详细的benchmarking
2. 安全性
-
安全逻辑“链”
3. 易用性
-
对密码协议开发者:良好的接口抽象
-
注释 = 文档
资源层
kuscia
kuscia全称KUbernetes based Secure Collaborative InfrA
定位:屏蔽不同机构间基础设施的差异,为跨机构协作提供丰富且可靠的资源管理和任务调度能力。
人群画像:
-
运维开发人员
-
隐私保护计算集成商
互联互通
定位:隐语和其它厂商的平台可以互联互通,共同完成一个隐私计算 任务。
人群画像:
-
互联互通需求方
-
算法研发人员
-
平台研发人员
-
隐私保护计算集成商
黑盒模式
-
又称管理调度互联
-
管理面、控制面实现互联互通
-
两边加载相同的算法容器
白盒模式
-
又称基于开放算法协议的互联
-
算法引擎层面可以直接互联
跨域管控
定位:数据离开持有者的运维域后,数据方仍然能够有效地控制数据的流转过程,避免其被窃取或者非预期使用。
人群画像:
-
隐私保护计算需求方
-
监管方
-
运维人员
参考
隐语 · 实训平台
相关文章:
第三讲 架构详解:“隐语”可信隐私计算开源框架
目录 隐语架构 隐语架构拆解 产品层 算法层 计算层 资源层 互联互通 跨域管控 本文主要是记录参加隐语开源社区推出的第四期隐私计算实训营学习到的相关内容。 隐语架构 隐语架构拆解 产品层 产品定位: 通过可视化产品,降低终端用户的体验和演…...
JDBC编程---Java
目录 一、数据库编程的前置 二、Java的数据库编程----JDBC 1.概念 2.JDBC编程的优点 三.导入MySQL驱动包 四、JDBC编程的实战 1.创造数据源,并设置数据库所在的位置,三条固定写法 2.建立和数据库服务器之间的连接,连接好了后ÿ…...
Python绘制太极八卦
文章目录 系列目录写在前面技术需求1. 图形绘制库的支持2. 图形绘制功能3. 参数化设计4. 绘制控制5. 数据处理6. 用户界面 完整代码代码分析1. rset() 函数2. offset() 函数3. taiji() 函数4. bagua() 函数5. 绘制过程6. 技术亮点 写在后面 系列目录 序号直达链接爱心系列1Pyth…...
Spring框架特性及包下载(Java EE 学习笔记04)
1 Spring 5的新特性 Spring 5是Spring当前最新的版本,与历史版本对比,Spring 5对Spring核心框架进行了修订和更新,增加了很多新特性,如支持响应式编程等。 更新JDK基线 因为Spring 5代码库运行于JDK 8之上,所以Spri…...
Linux关于vim的笔记
Linux关于vim的笔记:(vimtutor打开vim 教程) --------------------------------------------------------------------------------------------------------------------------------- 1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键…...
linux mount nfs开机自动挂载远程目录
要在Linux系统中实现开机自动挂载NFS共享目录,你需要编辑/etc/fstab文件。以下是具体步骤和示例: 确保你的系统已经安装了NFS客户端。如果没有安装,可以使用以下命令安装: sudo apt-install nfs-common 编辑/etc/fstab文件&#…...
【vue】导航守卫
什么是导航守卫 在vue路由切换过程中对行为做个限制 全局前置守卫 route.beforeEach((to, from, next)) > {// to是切换到的路由// from是正要离开的路由// next控制是否允许进入目标路由next(false); //不允许 }路由级别的导航守卫 const routes [{path: /User,name: U…...
基于Matlab实现LDPC编码
在无线通信和数据存储领域,LDPC(低密度奇偶校验码)编码是一种高效、纠错能力强大的错误校正技术。本MATLAB仿真程序全面地展示了如何在AWGN(加性高斯白噪声)信道下应用LDPC编码与BPSK(二进制相移键控&#…...
PostgreSQL 中约束Constraints
在 PostgreSQL 中,约束(Constraints)是用于限制进入数据库表中数据的规则。它们确保数据的准确性和可靠性,通过定义规则来防止无效数据的插入或更新。PostgreSQL 支持多种类型的约束,每种约束都有特定的用途和语法。以…...
✨系统设计时应时刻考虑设计模式基础原则
目录 💫单一职责原则 (Single Responsibility Principle, SRP)💫开放-封闭原则 (Open-Closed Principle, OCP)💫依赖倒转原则 (Dependency Inversion Principle, DIP)💫里氏代换原则 (Liskov Substitution Principle, LSP)&#x…...
【Linux】多线程(下)
目录 一、生产者消费者模型 1.1 概念 1.2 基于阻塞队列 1.3 POSIX信号量 初始化信号量 销毁信号量 等待信号量 发布信号量 1.4 基于环形队列和POSIX信号量 二、线程池 2.1 概念 2.2 代码 三、封装Linux线程库 四、单例模式 4.1 概念 4.2 单例模式的实现方式 4…...
Element-Plus如何修改日期选择器输入框el-date-picker的圆角
使用 el-date-picker 的 style 属性 :style"{ --el-border-radius-base: 10px }"<!-- 日期 --> <el-form-item label"日期" prop"establishmentDate"><el-date-picker v-model"form.establishmentDate" type"dat…...
skywalking es查询整理
索引介绍 sw_records-all 这个索引用于存储所有的采样记录,包括但不限于慢SQL查询、Agent分析得到的数据等。这些记录数据包括Traces、Logs、TopN采样语句和告警信息。它们被用于性能分析和故障排查,帮助开发者和运维团队理解服务的行为和性能特点。 …...
故障排除-------K8s挂载集群外NFS异常
故障排除-------K8s挂载集群外NFS异常 1. 故障现象2. 原因梳理2.1 排查思路2.2 确认yaml内容2.3 创建k8s内的nfs测试2.3.1 创建nfs和svc2.3.2 测试创建pvc2.3.3 测试结果 2.4 NFS服务端故障排除2.4.1 网络阻断排除2.4.2 排除服务状态问题2.4.3 排查NFS权限问题 3. 故障排除 1. …...
Easyexcel(6-单元格合并)
相关文章链接 Easyexcel(1-注解使用)Easyexcel(2-文件读取)Easyexcel(3-文件导出)Easyexcel(4-模板文件)Easyexcel(5-自定义列宽)Easyexcel(6-单…...
解决登录Google账号遇到手机上Google账号无法验证的问题
文章目录 场景小插曲解决方案总结 场景 Google账号在新的设备上登录的时候,会要求在手机的Google上进行确认验证,而如果没有安装Google play就可能出现像我一样没有任何弹框,无法实现验证 小插曲 去年,我在笔记本上登录了Googl…...
【Redis_Day5】String类型
【Redis_Day5】String类型 String操作String的命令set和get:设置、获取键值对mset和mget:批量设置、获取键值对setnx/setex/psetexincr和incrby:对字符串进行加操作decr/decrby:对字符串进行减操作incrbyfloat:浮点数加…...
Python MySQL SQLServer操作
Python MySQL SQLServer操作 Python 可以通过 pymysql 连接 MySQL,通过 pymssql 连接 SQL Server。以下是基础操作和代码实战示例: 一、操作 MySQL:使用 pymysql python 操作数据库流程 1. 安装库 pip install pymysql2. 连接 MySQL 示例 …...
Java技术分享
剖析equals方法 1、对于Object来说,其equals()方法底层实现就是"",都是比较对象的引用是否相等,下为JDK源码。 Object c 1; Object d 1; boolean equals c.equals(d);public boolean equals(Object obj) {return (this obj);…...
CentOS7卸载node
CentOS7卸载node 在 CentOS 7 上卸载 Node.js 可以通过以下步骤进行。具体步骤取决于你是如何安装 Node.js 的。常见的安装方法包括使用包管理器(如 yum 或 nvm)和手动安装。 方法 1:使用 yum 卸载 Node.js 如果你是通过 yum安装的 Node.j…...
LeetCode 2257. Count Unguarded Cells in the Grid
🔗 https://leetcode.com/problems/count-unguarded-cells-in-the-grid 题目 给出一个 m x n 的二维表格,格子上有士兵 guard,有墙 wall士兵可以盯上他上下左右所有的格子,碰到墙的格子就停止返回没有被士兵盯到的格子的数量 思…...
即时通讯服务器被ddos攻击了怎么办?
攻击即时通讯系统的主要手段 击键记录 目前盗取即时通讯工具帐号信息的最主要方法是通过特洛伊木马等恶意软件,例如QQ木马,这类程序能够盗取QQ密码信息,常见的能够盗取最新版本QQ密码的木马程序有十几种之多。几乎所有主要的QQ木马程序都采…...
【大数据学习 | Spark-Core】Spark中的join原理
join是两个结果集之间的链接,需要进行数据的匹配。 演示一下join是否存在shuffle。 1. 如果两个rdd没有分区器,分区个数一致 ,会发生shuffle。但分区数量不变。 scala> val arr Array(("zhangsan",300),("lisi",…...
【代码pycharm】动手学深度学习v2-08 线性回归 + 基础优化算法
课程链接 线性回归的从零开始实现 import random import torch from d2l import torch as d2l# 人造数据集 def synthetic_data(w,b,num_examples):Xtorch.normal(0,1,(num_examples,len(w)))ytorch.matmul(X,w)bytorch.normal(0,0.01,y.shape) # 加入噪声return X,y.reshape…...
李宏毅机器学习课程知识点摘要(1-5集)
前5集 过拟合: 参数太多,导致把数据集刻画的太完整。而一旦测试集和数据集的关联不大,那么预测效果还不如模糊一点的模型 所以找的数据集的量以及准确性也会影响 由于线性函数的拟合一般般,所以用一组函数去分段来拟合 sigmoi…...
React(五)——useContecxt/Reducer/useCallback/useRef/React.memo/useMemo
文章目录 项目地址十六、useContecxt十七、useReducer十八、React.memo以及产生的问题18.1组件嵌套的渲染规律18.2 React.memo18.3 引出问题 十九、useCallback和useMemo19.1 useCallback对函数进行缓存19.2 useMemo19.2.1 基本的使用19.2.2 缓存属性数据 19.2.3 对于更新的理解…...
UE5时间轴节点及其设置
在 Unreal Engine 5 (UE5) 中,时间轴节点 (Timeline) 是一个非常有用的工具,可以在蓝图中实现时间驱动的动画和行为。它允许你在给定的时间范围内执行逐帧的动画或数值变化,广泛应用于动态动画、物体移动、颜色变化、材质变换等场景中。 1. …...
git 命令之只提交文件的部分更改
git 命令之只提交文件的部分更改 有时,我们在一个文件中进行了多个更改,但只想提交其中的一部分更改。这时可以使用 使用 git add -p 命令 Git add -p命令允许我们选择并添加文件中的特定更改。它将会显示一个交互式界面,显示出文件中的每个更…...
算法 差分修改 极简
N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a < b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过…...
pcb元器件选型与焊接测试时的一些个人经验
元件选型 在嘉立创生成bom表,对照bom表买 1、买电容时有50V或者100V是它的耐压值,注意耐压值 2、在买1117等降压芯片时注意它降压后的固定输出,有那种可调降压比如如下,别买错了 贴片元件焊接 我建议先薄薄的在引脚上涂上锡膏…...
娱乐网站设计多少行业/找资源的关键词有哪些
如何开启MySQL的远程帐号-1)首先以 root 帐户登陆 MySQL在 Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,然后cd 进入MySQL 的 bin 目录下,然后输入下面的命令。> MySQL -uroot -p123456 …...
有什么做家纺的网站/网站优化排名资源
📢博客主页:https://blog.csdn.net/zhangay1998📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉📢未来很长,值得我们全力奔赴更美好的生活✨目录 📢前言🎬【点名神器2.0】可直接导入Excel文档在电脑中使用�…...
做断桥铝窗户的网站/汕头seo排名
第二章习题 2.1 在2.8节中基本数据类型可以在多个文件中定义。例如,在FreeBSD 8.0中,size_t在29个不同的文件中都有定义,由于一个程序可能包含这29个不同的头文件,在ISO C 却不允许对同一个名字进行多次typedef,那么如…...
一个网站建设域名的构思/公司宣传软文
🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…...
曲阜文化建设示范区网站/百度门店推广
Vue框架常见面试题 1、active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件。 2、怎么定义vue-router的动态路由?怎么获取传过来的动态参数? 答:在router目录下的index…...
重庆有哪些公司/保定seo排名优化
经验篇,游戏手柄使用教程,刀锋游戏手柄连接安卓苹果手机设置方法2020-03-25 11:20:181点赞1收藏0评论我相信大部分游戏玩家都使用过游戏手柄,游戏手柄确实带来了很多操作便利,而且游戏手柄在手机、电脑、电视平台上玩游戏优势确实非常明显,毕…...