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

第三讲 架构详解:“隐语”可信隐私计算开源框架

目录

隐语架构

隐语架构拆解

产品层

算法层

计算层

资源层

互联互通

跨域管控


本文主要是记录参加隐语开源社区推出的第四期隐私计算实训营学习到的相关内容。

隐语架构

隐语架构拆解

产品层

产品定位:

  • 通过可视化产品,降低终端用户的体验和演示成本

  • 通过模块化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

定位:屏蔽不同机构间基础设施的差异,为跨机构协作提供丰富且可靠的资源管理和任务调度能力。

人群画像:

  • 运维开发人员

  • 隐私保护计算集成商

互联互通

定位:隐语和其它厂商的平台可以互联互通,共同完成一个隐私计算 任务。

人群画像:

  • 互联互通需求方

  • 算法研发人员

  • 平台研发人员

  • 隐私保护计算集成商

黑盒模式

  • 又称管理调度互联

  • 管理面、控制面实现互联互通

  • 两边加载相同的算法容器

白盒模式

  • 又称基于开放算法协议的互联

  • 算法引擎层面可以直接互联

跨域管控

定位:数据离开持有者的运维域后,数据方仍然能够有效地控制数据的流转过程,避免其被窃取或者非预期使用。

人群画像:

  • 隐私保护计算需求方

  • 监管方

  • 运维人员

参考

隐语 · 实训平台

相关文章:

第三讲 架构详解:“隐语”可信隐私计算开源框架

目录 隐语架构 隐语架构拆解 产品层 算法层 计算层 资源层 互联互通 跨域管控 本文主要是记录参加隐语开源社区推出的第四期隐私计算实训营学习到的相关内容。 隐语架构 隐语架构拆解 产品层 产品定位: 通过可视化产品,降低终端用户的体验和演…...

springboot项目使用maven打包,第三方jar问题

springboot项目使用maven package打包为可执行jar后,第三方jar会被打包进去吗? 答案是肯定的。做了实验如下: 第三方jar的项目结构及jar包结构如下:(该第三方jar采用的是maven工程,打包为普通jar&#xf…...

突破内存限制:Mac Mini M2 服务器化实践指南

本篇文章,我们聊聊如何使用 Mac Mini M2 来实现比上篇文章性价比更高的内存服务器使用,分享背后的一些小的思考。 希望对有类似需求的你有帮助。 写在前面 在上文《ThinkPad Redis:构建亿级数据毫秒级查询的平民方案》中,我们…...

【Linux】Linux系统电源状态

前言 本文主要介绍Linux系统电源状态。 Linux内核代码声明如下,位于kernel/power/suspend.c。 参考链接 Linux系统电源状态 在Linux操作系统中,将电源划分为如下几个状态: ACPI StateLinux StateDescriptionS0On(on)WorkingS1Standby(sta…...

《用Python画蔡徐坤:艺术与编程的结合》

简介 大家好!今天带来一篇有趣的Python编程项目,用代码画出知名偶像蔡徐坤的形象。这个项目使用了Python的turtle库,通过简单的几何图形和精心设计的代码来展示艺术与编程的结合。 以下是完整的代码和效果介绍,快来试试看吧&…...

ARM(安谋) China处理器

0 Preface/Foreword 0.1 参考博客 Cortex-M23/M33与STAR-MC1星辰处理器 ARM China,2018年4月established,独立运行。 1 处理器类型 1.1 周易AIPU 1.2 STAR-MC1(星辰处理器) STAT-MC1,主要为满足AIOT应用性能、功…...

硬中断关闭后的堆栈抓取方法

一、背景 性能和稳定性是一个计算机工程里的一个永恒的主题。其中尤其稳定性这块的问题发现和问题分析及问题解决就依赖合适的对系统的观测的手段,帮助我们发现问题,识别问题原因最后才能解决问题。稳定性问题里尤其底层问题里,除了panic问题…...

电影风格城市夜景旅拍Lr调色教程,手机滤镜PS+Lightroom预设下载!

调色教程 电影风格城市夜景旅拍通过 Lightroom 调色,将城市夜晚的景色打造出如同电影画面般的质感和氛围。以独特的色彩和光影处理,展现出城市夜景的魅力与神秘。 预设信息 调色风格:电影风格预设适合类型:人像,街拍…...

基于FPGA的2FSK调制-串口收发-带tb仿真文件-实际上板验证成功

基于FPGA的2FSK调制 前言一、2FSK储备知识二、代码分析1.模块分析2.波形分析 总结 前言 设计实现连续相位 2FSK 调制器,2FSK 的两个频率为:fI15KHz,f23KHz,波特率为 1500 bps,比特0映射为f 载波,比特1映射为 载波。 1&#xff09…...

【Python】构建事件驱动架构:用Python实现实时应用的高效系统

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 事件驱动架构(Event-Driven Architecture,EDA)是一种基于事件流动进行系统设计的模式,广泛应用于游戏开发、实时监控和分布式系统中。它通过解耦事件的生产者和消费者,提升系统的可扩展性和灵活性。本文章从…...

安装 Docker(使用国内源)

一、安装Docker-ce 1、下载阿里云的repo源 [rootlocalhost ~]# yum install yum-utils -y && yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && yum makecache # 尝试列出 docker-ce 的版本 [rootlocalh…...

001 MATLAB介绍

前言: 软件获取渠道有很多,难点也就是百度网盘下载慢; 线上版本每月有时间限制。 01 MATLAB介绍 性质: MATLAB即Matrix Laboratory 矩阵实验室的意思,是功能强大的计算机高级语言, 已广泛应用于各学科研究部门、…...

vscode利用ofExtensions插件可以调试单进程Openfoam,但是不能调试mpi多进程案例

问题: 准备调试流固耦合案例,包括流体和固体的,但是用ofextensions插件。但是流体的话使用的是域分解方法,将大的单元分成了小的单元用mpi并行处理,里面的program必须输入"/usr/bin/mpirun", // 这里改为使…...

2022年计算机网络408考研真题解析

第一题: 解析:网络体系结构-数据链路层 在ISO网络参考模型中,运输层,网络层和数据链路层都实现了流量的控制功能,其中运输层实现的是端到端的流量控制,网络层实现的是整个网络的流量控制,数据链…...

React-useEffect的使用

useEffect react提供的一个常用hook,用于在函数组件中执行副作用操作,比如数据获取、订阅或手动更改DOM。 基本用法: 接受2个参数: 一个包含命令式代码的函数(副作用函数)。一个依赖项数组,用…...

python学习笔记(10)算法(3)列表

一、列表 列表(list)是一个抽象的数据结构概念,它表示元素的有序集合,支持元素访问、修改、添加、删除和遍历 等操作,无须使用者考虑容量限制的问题。列表可以基于链表或数组实现。 ‧ 链表天然可以看作一个列表&#…...

嵌入式系统与单片机工作原理详解

随着现代科技的发展,嵌入式系统已经深入到我们日常生活中的方方面面。无论是智能家居、汽车电子,还是工业控制、医疗设备,都离不开嵌入式系统的支持。而单片机作为嵌入式系统的核心组件,是实现这些功能的关键之一。本文将详细介绍…...

Spark SQL 之 QueryStage

ExchangeQueryStageExec ExchangeQueryStageExec 分为两种...

Flink Standalone 集群模式安装部署教程

目录 一、前言 二、环境准备 三、安装步骤 1. 下载并安装 Flink 4. 配置 Flink 5. 配置环境变量 6. 启动 Flink 集群 7. 访问 Flink Web 界面 四、简单测试 五、常见问题和解决办法 1. 启动失败,无法连接到 TaskManager 2. Web 界面无法访问 六、总结 …...

【运维】 使用 shell 脚本实现类似 jumpserver 效果实现远程登录linux 服务器

实现效果 通过序号选择登录: 配置证书登录 配置证书登录可以免去每次都输入密码的麻烦。详见另一篇博文: 【ssh】使用秘钥对(公钥/私钥)登录linux主机以及原理介绍 自动登录脚本 直接复用以下脚本即可,在 server…...

根据实验试要求,打通隧道连接服务器上的数据库,前端进行数据调用。

1.背景介绍 数据库布置在了工大实验试K80服务器上,本地属于外网无法直接访问校园内网。需要打通隧道,通过堡垒机进行服务器的访问。获取到数据库数据进行前端展示。 2.打通隧道 访问指令: 我选择使用Xshell打通隧道。优点:凭证…...

ubuntu 安装 docker 记录

本文假设系统为 Ubuntu,从 16.04 到 24.04,且通过 APT 命令安装。理论上也其他 Debian 系的操作系统。 WSL 也一样。 感觉 Docker 官方在强推 Docker Desktop,搜索 Docker 安装文档,一不小心就被导航到了 Docker Desktop 的安装页…...

46.坑王驾到第十期:vscode 无法使用 tsc 命令

点赞收藏加关注,你也能住大别墅! 一、问题重现 上一篇帖子记录了我昨天在mac上安装typescript及调试的过程。今天打开vscode准备开干的时候,发现tsc命令又无法使用了,然后按照昨天的方法重新安装调试后又能用了,但是关…...

pytorch3d linux安装

目录 测试成功2024.11.21: 测试成功2024.11.21: python3.10 GitHub - facebookresearch/pytorch3d: PyTorch3D is FAIRs library of reusable components for deep learning with 3D data 安装脚本: cd pytorch3d && pip install…...

P1168 中位数

网址如下:P1168 中位数 - 洛谷 | 计算机科学教育新生态 一道求中位数的题,本来是想再用二分法来试一下的,但是出现了一点问题,先把AC的放出来 很简单,一个记录比中位数大的数的最小堆,和一个记录比中位数小…...

全面解析多种mfc140u.dll丢失的解决方法,五种方法详细解决

当你满心期待地打开某个常用软件,却突然弹出一个错误框,提示“mfc140u.dll丢失”,那一刻,你的好心情可能瞬间消失。这种情况在很多电脑用户的使用过程中都可能出现。无论是游戏玩家还是办公族,面对这个问题都可能不知所…...

✅✅✅【Vue.js】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本

api.js //封装ajax方法 import $g from "../sg";//vue项目使用 import $ from jquery;//(提示:原生开发页面请前往https://jquery.com下载最新版jQuery) import { Message } from "element-ui";//element项目使用 // import axios from "…...

【Python】分割秘籍!掌握split()方法,让你的字符串处理轻松无敌!

在Python开发中,字符串处理是最常见也是最基础的任务之一。而在众多字符串操作方法中,split()函数无疑是最为重要和常用的一个。无论你是Python新手,还是经验丰富的开发者,深入理解并熟练运用split()方法,都将大大提升…...

非root用户安装CUDA

1.使用nvidia-smi查看当前驱动支持的最高CUDA版本: 表示当前驱动最多支持cuda12.1 2.进入cuda安装界面,https://developer.nvidia.com/cuda-toolkit-archive,选择想要安装的版本,例如想要安装CUDA11.4: 如果需要查看ub…...

Qt中2D绘制系统

目录 一、Qt绘制系统 1.1Qt绘制基本概念 1.2 绘制代码举例 1.3画家 1.3.1 QPainter的工作原理: 1.3.2 自定义绘制饼状图: 1.4画笔和画刷 1.4.1画笔 1.4.2 画刷填充样式 1.5 反走样和渐变 1.6绘制设备 1.7坐标变换 1.8QPainterPath 1.9绘制文…...

实战项目负载均衡式在线 OJ

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:能自己实现负载均衡式在线 OJ。 > 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安! > 专栏选自&#xff1…...

shell脚本启动springboot项目

nohup java -jar springboot.jar > springboot.log 2>&1 & 表示日志输出重定向到springboot.log日志文件, 而原本的日志继续输出到 项目同级的log文件夹下, 所以这个重定向没必要. 我们没必要要2分日志 #!/bin/bash# 获取springboot项目的进程ID PID$(ps -e…...

Django 自定义路由转换器

步骤 创建自定义转换器类 必须定义 regex 属性(用于匹配参数)。必须实现 to_python 和 to_url 方法。 to_python: 将匹配的参数转换为视图函数可用的 Python 数据。to_url: 将数据转换为 URL 格式(用于反向解析)。 注册转换器 使用…...

低速接口项目之串口Uart开发(二)——FIFO实现串口数据的收发回环测试

本节目录 一、设计思路 二、loop环回模块 三、仿真模块 四、仿真验证 五、上板验证 六、往期文章链接本节内容 一、设计思路 串口数据的收发回环测试,最简单的硬件测试是把Tx和Rx连接在一起,然后上位机进行发送和接收测试,但是需要考虑到串…...

Oracle 数据库 IDENTITY 列

IDENTITY列是Oracle数据库12c推出的新特性。之所以叫IDENTITY列,是由于其支持ANSI SQL 关键字 IDENTITY,其内部实现还是使用SEQUENCE。 不过推出这个新语法也是应该的,毕竟MyQL已经有 AUTO_INCREMENT列,而SQL Server也已经有IDENT…...

算法笔记:单调队列

单调队列: 队列元素之间的关系具有单调性(从队首到队尾单调递增/递减),队首和队尾都可以进行入队出队(即插入删除)操作,本质是由双端队列deque实现。 适用问题 通常解决动态小区间中寻找极值…...

深度解析:Nginx模块架构与工作机制的奥秘

文章目录 前言Nginx是什么?Ngnix特点: 一、Nginx模块与工作原理1.Nginx的模块1.1 Nginx模块常规的HTTP请求和响应的流程图:1.2 Nginx的模块从结构上分为如下三类:1.3 Nginx的模块从功能上分为如下三类: 2.Nginx的进程模型2.1 Nginx进程结构2.2 nginx进程…...

【git】commit之后,想撤销commit

一、已经commit,想要回退到上一步 保留代码 git reset --soft HEAD^回退到具体的哪一步 HEAD^的意思是上一个版本,也可以写成HEAD~1如果你进行了2次commit,想都撤回,可以使用HEAD~2二、git reflog 查看 sha值 git reflog 回到…...

实现在两台宿主机下的docker container 中实现多机器通讯

基于我的实验背景 上位机:ubuntu 20.04 (docker humble 22.04) 下位机:ubuntu 22.04(docker noetic 20.04) 目标:实现在上位机中的docker container 容器的22.04环境去成功远程访问 非同网段的下位机的20.04的contai…...

Python 网络爬虫操作指南

网络爬虫是自动化获取互联网上信息的一种工具。它广泛应用于数据采集、分析以及实现信息聚合等众多领域。本文将为你提供一个完整的Python网络爬虫操作指南,帮助你从零开始学习并实现简单的网络爬虫。我们将涵盖基本的爬虫概念、Python环境配置、常用库介绍。 上传…...

vue3 uniapp 扫普通链接或二维码打开小程序并获取携带参数

vue3 uniapp 扫普通链接或二维码打开小程序并获取携带参数 微信公众平台添加配置 微信公众平台 > 开发管理 > 开发设置 > 扫普通链接二维码打开小程序 配置链接规则需要下载校验文档给后端存入服务器中,保存配置的时候会校验一次,确定当前的配…...

高标准农田智慧农业系统建设方案

1 项目概述 1.1 建设背景 我国是农业大国,近30年来农田高产量主要依靠农药化肥的大量投入,大部分化肥和水资源没有被有效利用而随地弃置,导致大量养分损失并造成环境污染。我国农业生产仍然以传统生产模式为主,传统耕种只能凭经验施肥灌溉,不仅浪费大量的人力物力,也对环…...

【python图解】数据结构之字典和集合

【python图解】数据结构之字典和集合 在 Python 中,字典和集合是另外的两种重要数据结构,它们分别用于存储键值对和无序的唯一元素集合。下面我们将详细介绍字典和集合的定义、操作方法、使用场景及相关案例。 1. 字典(Dictionary&#xff0…...

vue 预览pdf 【@sunsetglow/vue-pdf-viewer】开箱即用,无需开发

sunsetglow/vue-pdf-viewer 开箱即用的pdf插件sunsetglow/vue-pdf-viewer, vue3 版本 无需多余开发,操作简单,支持大文件 pdf 滚动加载,缩放,左侧导航,下载,页码,打印,文本复制&…...

TCL嵌入式面试题及参考答案

USB2.0 和 USB3.0 的速度区别是什么? USB2.0 和 USB3.0 在速度上有显著的区别。USB2.0 理论上的最高传输速度为 480Mbps,也就是 60MB/s 左右。而 USB3.0 的理论传输速度则可达到 5Gbps,即约 625MB/s ,这比 USB2.0 快了很多倍。 在实际应用中,USB2.0 通常用于一些对速度要求…...

即时通讯服务器被ddos攻击了怎么办?

攻击即时通讯系统的主要手段 击键记录 目前盗取即时通讯工具帐号信息的最主要方法是通过特洛伊木马等恶意软件,例如QQ木马,这类程序能够盗取QQ密码信息,常见的能够盗取最新版本QQ密码的木马程序有十几种之多。几乎所有主要的QQ木马程序都采…...

RTC QoS方法十三.(ReedSolomonFEC简介)

一、FlexFEC恢复的困局 在使用FlexFEC进行冗余的时候,经验值需要冗余5倍的丢包率,才能有比较高的恢复率。 Flex FEC在2D数组异或时能获得比较高的恢复率,但是如上图所示,25个包发送10个FEC包,成本为10/2540%的冗余度。…...

嵌入式开发工程师面试题 - 2024/11/24

原文嵌入式开发工程师面试题 - 2024/11/24 转载请注明来源 1.若有以下定义语句double a[8],*pa;int i5;对数组元素错误的引用是? A *a B a[5] C *(p1) D p[8] 解析: 在 C 或 C 语言中&am…...

《Shader入门精要》透明效果

代码以及实例图可以看github :zaizai77/Shader-Learn: 实现一些书里讲到的shader 在实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道(Alpha Channel)​。当开启透明混合后,当一个物体被渲染到屏幕上时&…...

一篇文章了解Linux

目录 一:命令 1 ls命令作用 2 目录切换命令(cd/pwd) (1)cd切换工作目录命令 3 相对路径、绝对路径和特殊路径 (1)相对路径和绝对路径的概念和写法 (2)几种特殊路径的表示符 (3)练习题: 4 创建目录命令&#x…...