当前位置: 首页 > 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. …...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

Ubuntu Cursor升级成v1.0

0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开&#xff0c;快捷键也不好用&#xff0c;当看到 Cursor 升级后&#xff0c;还是蛮高兴的 1. 下载 Cursor 下载地址&#xff1a;https://www.cursor.com/cn/downloads 点击下载 Linux (x64) &#xff0c;…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

9-Oracle 23 ai Vector Search 特性 知识准备

很多小伙伴是不是参加了 免费认证课程&#xff08;限时至2025/5/15&#xff09; Oracle AI Vector Search 1Z0-184-25考试&#xff0c;都顺利拿到certified了没。 各行各业的AI 大模型的到来&#xff0c;传统的数据库中的SQL还能不能打&#xff0c;结构化和非结构的话数据如何和…...

AxureRP-Pro-Beta-Setup_114413.exe (6.0.0.2887)

Name&#xff1a;3ddown Serial&#xff1a;FiCGEezgdGoYILo8U/2MFyCWj0jZoJc/sziRRj2/ENvtEq7w1RH97k5MWctqVHA 注册用户名&#xff1a;Axure 序列号&#xff1a;8t3Yk/zu4cX601/seX6wBZgYRVj/lkC2PICCdO4sFKCCLx8mcCnccoylVb40lP...

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...