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

隐私计算实训营第七讲-隐语SCQL的架构详细拆解

隐私计算实训营第七讲-隐语SCQL的架构详细拆解

文章目录

  • 隐私计算实训营第七讲-隐语SCQL的架构详细拆解
    • 1.SCQL Overview
      • 1.1 多方数据分析场景
      • 1.2 多方数据分析技术路线
        • 1.2.1 TEE SQL方案
        • 1.2.2 MPC SQL方案
      • 1.3 Secure Collaborative Query Language(SCQL)
        • 1.3.1 SCQL 系统组件
        • 1.3.2 SCQL 关键特性
      • 1.4 SCQL应用场景
    • 2. SCQL CCL
      • 2.1 CCL有什么用?
      • 2.2 CCL是什么?
      • 2.3 CCL Example
    • 3.SCQL 架构
      • 3.1总体架构
      • 3.3执行流程

1.SCQL Overview

1.1 多方数据分析场景

在多方数据分析场景中,数据的分散性是一个显著的挑战。当数据集中存储在一个机构内时,分析任务相对简单,因为所有相关数据都处于同一个受控环境中。然而,随着数据隐私和安全意识的提高,以及数据保护法规的实施(如欧盟的GDPR),越来越多的场景下数据被存储在数据所有者的本地环境中,不同机构间的数据共享和分析变得复杂而困难。

在这里插入图片描述

1.2 多方数据分析技术路线

在这里插入图片描述
在涉及跨机构数据分析的场景中,保护数据隐私和安全是一个重要目标。针对这一需求,两种主要技术方案被提出:基于受信执行环境(TEE,如Intel SGX)的SQL(TEE SQL)方案,以及基于多方计算(MPC)的SQL(MPC SQL)方案。下面分别介绍这两种方案的优缺点:

1.2.1 TEE SQL方案

优点:

  • 高性能:TEE方案通常可以提供接近原生硬件性能的计算效率,因为它直接在CPU上执行,减少了额外的计算开销。
  • 易于部署:由于TEE是基于硬件的解决方案,它通常更易于在现有的硬件和软件架构上部署,无需复杂的网络配置或软件支持。
  • 强隔离性:TEE提供了强大的安全隔离,确保即使在操作系统或虚拟机管理器被攻破的情况下,数据和计算过程仍然安全。

缺点:

  • 可信硬件依赖:TEE方案高度依赖特定的硬件支持,这意味着其可用性和安全性取决于硬件供应商的技术和政策。
  • 安全漏洞风险:历史上TEE,尤其是Intel SGX,被发现有安全漏洞,这些漏洞可能被攻击者利用来破坏TEE的安全保障。
  • 有限的资源:TEE环境通常受限于较小的内存和存储空间,这可能限制其处理大规模数据集的能力。
1.2.2 MPC SQL方案

优点:

  • 无需可信硬件:MPC方案不依赖特定的硬件支持,因此具有更好的通用性和兼容性,可以在各种硬件和平台上实现。
  • 理论上的安全性:MPC提供了基于数学证明的安全保障,即使参与计算的一部分或多数方不可信,也能保证计算结果的正确性和数据的隐私。
  • 灵活性:MPC支持多种计算模型和复杂的数据分析任务,适用于不同的应用场景和需求。

缺点:

  • 性能开销:与直接在硬件上执行相比,MPC的计算过程涉及大量的加密和通信操作,这导致了较高的性能开销。
  • 复杂的协议设计:实现一个既安全又高效的MPC系统需要复杂的协议设计和优化,这增加了开发的难度和成本。
  • 网络依赖:MPC的效率在很大程度上依赖于参与方之间的网络连接质量,高延迟或低带宽的网络环境可能会显著降低性能。

总的来说,TEE SQL方案在性能和部署上具有优势,但依赖特定的硬件和面临安全漏洞的风险;而MPC SQL方案提供了强大的安全性和灵活性,但以牺牲计算效率和增加实现复杂度为代价。选择哪种方案取决于特定应用的安全需求、性能要求以及可用资源。

1.3 Secure Collaborative Query Language(SCQL)

在这里插入图片描述

1.3.1 SCQL 系统组件
  • SCDB:部署在可信第三方,负责将查询(query)翻译成密态执行图,然后下发给SCQLEngine。本身不参与计算,主要作用是查询预处理和协调。

  • SCQLEngine:部署在数据参与方,负责协同其他参与方一起完成执行图的计算。这是数据处理和计算的核心组件。

1.3.2 SCQL 关键特性
  • 半诚实安全模型:假设参与者不会主动破坏协议执行,但可能试图从过程中获取额外信息。SCQL设计以确保数据隐私,即使在半诚实假设下。

  • 支持多方(N>=2):允许两方或更多方参与者共同进行数据查询和分析,增加了系统的应用灵活性。

  • 易上手:提供MySQL兼容的SQL用户界面,使用户能够快速上手,无需学习新的查询语言。

  • 支持常用的SQL语法和算子:满足大部分数据查询和分析场景的需求,提高了系统的适用性和灵活性。

  • 可实用的性能:优化了数据处理和计算效率,确保在保护数据隐私的同时,也能提供可接受的性能。

  • 提供列级别的数据使用授权控制(CCL):增强了数据安全和隐私保护,允许精细控制数据访问权限。

  • 支持多种密态协议(SEMI2K/CHEETAH/ABY3):适应不同安全需求和计算环境,提供灵活的安全保护选项。

  • 内置支持多种数据源接入(MySQL, PostgreSQL, CSV等):提高了系统的兼容性和易用性,简化了数据导入和处理过程。

1.4 SCQL应用场景

在这里插入图片描述

2. SCQL CCL

2.1 CCL有什么用?

在这里插入图片描述

2.2 CCL是什么?

在这里插入图片描述

2.3 CCL Example

在这里插入图片描述

3.SCQL 架构

3.1总体架构

在这里插入图片描述

3.3执行流程

在这里插入图片描述

相关文章:

隐私计算实训营第七讲-隐语SCQL的架构详细拆解

隐私计算实训营第七讲-隐语SCQL的架构详细拆解 文章目录 隐私计算实训营第七讲-隐语SCQL的架构详细拆解1.SCQL Overview1.1 多方数据分析场景1.2 多方数据分析技术路线1.2.1 TEE SQL方案1.2.2 MPC SQL方案 1.3 Secure Collaborative Query Language(SCQL)1.3.1 SCQL 系统组件1.…...

Android JNI开发定义全局变量

要在 C 文件中设置一个 string 类型的全局变量,让其他 C 文件都可以访问,并且可以通过 JNI 方法修改这个变量,可以按照以下步骤进行操作 定义全局变量: 在一个头文件(比如 common.h)中定义一个全局的 strin…...

docker容器部署gitlab的runner的shell模式注册下job中无法使用docker指令

引言 现需通过gitlab-runner来构建jar部署的镜像,发现在job中无法使用docker指令,解决的过程中出现一系列异常,在此做个问题解决的记录。 内容 通过docker-compose部署 name: java-env services:env-gitlab-runner:restart: alwaysimage: env/gitlab-runner-java:latest…...

【SpringCloud】Zuul网关中心 代码详细介绍

Zuul是Spring Cloud中的一个API网关组件,它负责处理服务路由、监控、弹性、安全等API网关的核心功能。Zuul在Spring Cloud Netflix套件中是一个重要的组件,但需要注意的是,随着Spring Cloud的不断发展,Zuul已经被Spring Cloud Gat…...

Delphi D12中实现安卓中文语音合成(中文朗读)不用第三方控件

Delphi开发一个可以朗读中文的APP就非常的简单。 本文给大家介绍使用Delphi开发基于安卓原生的TTS(中文语音合成),将文字转语音实现中文的朗读。APP运行后,需要手机上已安装语音引擎。如果您手机上已安装并设置了语音引擎&#xf…...

设计模式 - Provider 模式

在某些情况下,我们希望为应用程序中的许多(如果不是全部)组件提供数据。尽管我们可以使用 props 将数据传递给组件,但如果应用程序中的几乎所有组件都需要访问 prop 的值,这可能很难做到。 我们经常遇到所谓的属性钻探…...

R语言颜色细分

1.如何对R语言中两种颜色之间进行细分 2.代码&#xff1a; x <- colorRampPalette(c("#FC8D62","#FDEAE6"))(12) #打印向量值 # 按字典顺序排序颜色值 x_sorted <- sort(x,decreasing TRUE)# 打印排序后的颜色值 print(x_sorted)#展示颜色 scales:…...

面向返回编程ROP问题及挑战

像我们描述的执行权限等功能已经使执行任意代码变得越来越困难。这意味着攻击者使用其他方法&#xff0c;比如面向返回编程&#xff08;ROP&#xff09;。ROP利用了许多现代系统中软件堆栈的规模。攻击者分析系统中的软件&#xff0c;寻找小工具&#xff08;gadgets&#xff09…...

vscode shadertoy插件,非常方便的glsl着色器编写工具

很著名的shadertoy网站&#xff0c;集合了非常多大神利用数学写出美妙的shader效果。像shadertoy创始人之一的IQ大神它在这方面有很多的建树。他的利用光线步进和躁声可以创建很多不可思议的3D场景。 vscode有一件shadertoy的插件&#xff0c;安装后可以新建一个*.glsl文件&am…...

网络请求避坑,私有网络请求(Private Network Access)

前言 网络请求&#xff0c;大家肯定熟悉的不能再熟悉&#xff0c;网络请求失败&#xff0c;大家也肯定很熟悉。排查网络请求&#xff0c;也是我们必备的技能&#xff0c;对不&#xff0c;兄弟。 我坦言&#xff0c;最怕两种网络请求失败。 第一种&#xff1a;PC端模拟没有异常…...

AVL树和红黑树

AVL树和红黑树 AVL树理论代码实现 红黑树理论代码实现 AVL树 理论 我们知道二叉搜索树拥有极高的搜索效率&#xff0c;但当二叉搜索树退化成单支时&#xff0c;其查找效率会大幅下降&#xff0c;因此我们需要避免其出现单支的情况&#xff0c;并且尽可能让其接近满二叉树。解…...

多线程入门

多线程 Thread 现在的Thread中的run方法&#xff0c;已经被实现了&#xff0c;所以已经不需要实现了 操作 继承 extends Thread方法 重写run方法 start() 案例 public class ThreadTest extends Thread{public void run() {for (int i 0; i < 100; i) {System.out.…...

#!/bin/sh和#!/bin/bash的区别

前言&#xff1a;都是脚本文件中的 shebang&#xff08;也称为 hashbang&#xff09;行&#xff0c;用于指定脚本文件的解释器 解释&#xff1a; #!/bin/sh&#xff1a;这行告诉操作系统使用 /bin/sh 这个解释器来执行脚本。/bin/sh 是一个标准的 Unix Shell&#xff0c;通常是…...

腾讯云(CVM)托管进行权限维持

前言 刚好看到一个师傅分享了一个阿里云ECS实战攻防&#xff0c;然后想到了同样利用腾讯云CVM的托管亦可实现在实战攻防中的权限维持。 简介 腾讯云自动化助手&#xff08;TencentCloud Automation Tools&#xff0c;TAT&#xff09;是一个原生运维部署工具&#xff0c;它可…...

STM32-03基于HAL库(CubeMX+MDK+Proteus)输入检测案例(按键控制LED)

文章目录 一、功能需求分析二、Proteus绘制电路原理图三、STMCubeMX 配置引脚及模式&#xff0c;生成代码四、MDK打开生成项目&#xff0c;编写HAL库的按键检测代码五、运行仿真程序&#xff0c;调试代码 一、功能需求分析 搭建完成开发STM32开发环境之后&#xff0c;开始GPIO…...

DS3231SN

这份文件是关于DS3231SN芯片的数据手册&#xff0c;由Maxim Integrated公司生产。DS3231SN是一款高精度的I2C接口集成实时时钟&#xff08;RTC&#xff09;/温度补偿晶体振荡器&#xff08;TCXO&#xff09;/晶体的芯片。以下是该芯片的核心内容概述&#xff1a; 产品概述&…...

tsconfig.json文件翻译

原文件 {"compilerOptions": {/* Visit https://aka.ms/tsconfig to read more about this file *//* Projects */// "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects.…...

树状数组学习笔记

树状数组 拜读了大佬的讲解博文&#xff08;树状数组(详细分析应用)&#xff0c;看不懂打死我!&#xff09;&#xff0c;写一篇Python版的笔记巩固消化&#xff0c;附带蓝桥杯历年真题作为例题演示 一、作用 用于快速读取列表中 某个区间内所有元素的和 实现单点修改&#xff…...

【bugfix】如何解决svg到线上显示空白或者svg的viewBox为空

svgo的默认机制是当width和height和viewbox一样会删除viewbox&#xff0c;这都是为了svg的压缩做的&#xff0c;详情可以看issue中的讨论&#xff0c;我们可以通过更改babel的配置来解决 https://github.com/svg/svgo/issues/1128 https://github.com/ant-design/ant-design-we…...

docker基础学习指令

文章目录 [toc] docker基础常用指令一、docker 基础命令二、docker 镜像命令1. docker images2. docker search3. docker pull4. docker system df5. docker rmi1. Commit 命令 三、 docker 容器命令1. docker run2. docker logs3. docker top4. docker inspect5. docker cp6. …...

跨端三维GIS实战:uni-app集成Cesium.js的RenderJS方案解析

1. 为什么需要跨端三维GIS解决方案 最近几年三维GIS应用越来越普及&#xff0c;从传统的Web端到移动端APP&#xff0c;开发者都希望实现"一次开发&#xff0c;多端运行"的目标。uni-app作为跨端开发框架&#xff0c;天然具备这个优势。但当我们想在uni-app中集成Cesi…...

算力入门:从FLOPS到PUE全解析

算力入门:FLOPS、TFLOPS、EFLOPS、算力规模、能效比、PUE 全解 算力(计算能力)是衡量计算机系统性能的关键指标,尤其在科学计算、人工智能和大数据处理等领域至关重要。本指南将逐步解释FLOPS、TFLOPS、EFLOPS、算力规模、能效比和PUE这些核心概念,帮助您快速入门。所有内…...

双强联袂,数智共舞 | 中聚信 × 金蝶启联巅峰对话,共探财税未来新航道

3 月 26 日&#xff0c;由金蝶软件&#xff08;中国&#xff09;有限公司、贵州启联科技有限公司联合主办&#xff0c;中聚信财税技术研究中心协办的「AI 时代 先进管理用金蝶」主题峰会&#xff0c;在贵阳国际生态会议中心圆满落幕。这场聚焦制造企业数字化转型与 AI 赋能管理…...

GD32F303硬件I2C实战:手把手教你用AT24C02 EEPROM存储和读取设备配置参数

GD32F303硬件I2C实战&#xff1a;构建工业级参数存储系统 在嵌入式设备开发中&#xff0c;系统参数的持久化存储是个看似简单却暗藏玄机的需求。想象一下&#xff0c;当你的智能温控器经历突然断电后&#xff0c;所有用户设置的日程和偏好全部归零——这种体验足以让产品口碑崩…...

Prometheus 自定义指标监控:Python Exporter 编写与业务指标告警配置

前言 Prometheus 监控系统指标&#xff08;CPU、内存、磁盘&#xff09;这件事很多人熟悉&#xff0c;但不少开发者有个共同疑问&#xff1a;业务特有的指标——比如队列积压数、订单待处理量、API 调用成功率——Prometheus 能监控吗&#xff1f; 答案是&#xff1a;完全可以…...

CDMA功率测量技术与Agilent 8960系统优化

1. CDMA功率测量技术背景与挑战在cdma2000移动通信系统中&#xff0c;精确的功率控制是实现高质量通信的核心技术之一。与GSM等采用固定功率等级的系统不同&#xff0c;CDMA要求移动台(MS)能够在80dB动态范围内精确调整发射功率。这种需求源于CDMA系统的自干扰特性——所有用户…...

技术Leader的困境:为什么你越努力,团队越依赖你?

在软件测试领域&#xff0c;我们比任何角色都更懂“依赖”这个词。测试环境依赖稳定、测试数据依赖真实、测试用例依赖需求文档。但有一种依赖&#xff0c;最致命却也最容易被忽视——团队对你的依赖。很多从一线测试骨干晋升为测试Leader的人&#xff0c;都会陷入一个怪圈&…...

时间序列预测总翻车?试试用Python实现嵌套交叉验证来守住‘未来’数据

时间序列预测中的嵌套交叉验证&#xff1a;用Python守住数据的时间壁垒 当你在预测下周的销售额、下个月的电力负荷或明天的股价时&#xff0c;最可怕的不是模型不够复杂&#xff0c;而是它偷偷"作弊"了——通过窥探未来的数据来假装自己很聪明。这种时间序列预测中的…...

BGA虚焊别头疼!从焊膏印刷到回流焊曲线,一份保姆级的SMT工艺避坑指南

BGA虚焊别头疼&#xff01;从焊膏印刷到回流焊曲线&#xff0c;一份保姆级的SMT工艺避坑指南 在SMT产线上&#xff0c;BGA虚焊问题就像个幽灵&#xff0c;时不时冒出来折腾工程师。上周产线刚报修一批主板&#xff0c;X光下那些不规则焊点像极了抽象派画作——可惜客户要的是工…...

用LangChain Tools打造会自主查资料的GPT模型

1. 项目概述&#xff1a;为什么你需要一个“会自己查资料”的GPT模型&#xff1f;我第一次在ChatGPT里输入“2024年巴黎奥运会新增了哪些比赛项目&#xff1f;”时&#xff0c;得到的回复是&#xff1a;“我的训练数据截止于2021年9月&#xff0c;无法提供2024年的最新信息。”…...