隐私计算实训营第七讲-隐语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执行流程

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rust项目组织结构和集成测试举例

概述 在学习rust的过程中,当项目结构略微复杂的时候,写集成测试的时候发现总是不能引用项目中的代码,导致编写测试用例失败。查阅了教程,一般举例都很简单。查阅了谷歌和百度以及ai,也没有找到满意的答案。这里记录一…

用户体验:探讨Facebook如何优化用户体验

在数字化时代,用户体验是社交媒体平台成功与否的关键因素之一。作为全球最大的社交媒体平台之一,Facebook一直在努力优化用户体验,从功能设计到内容呈现再到隐私保护,不断提升用户满意度。本文将深入探讨Facebook如何优化用户体验…

【EasyExcel】—— 实现excel动态表头设置、多个sheet

引入jar <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.0</version></dependency>代码 public static void main(String[] args) {//选择存储地址String fileName "/User…

Linux基础概念

Linux Linux 和 UNIX 中的文件系统是一个以 / 为根的树状式文件结构&#xff0c;/ 是 Linux 和 UNIX 中的根目录&#xff0c;同样它也是文件系统的起点。所有的文件和目录都位于 / 路径下&#xff0c;包括经常听到的 /usr、/etc、/bin、/home 等。在早期的 UNIX 系统中&#x…

论文阅读RangeDet: In Defense of Range View for LiDAR-based 3D Object Detection

文章目录 RangeDet: In Defense of Range View for LiDAR-based 3D Object Detection问题笛卡尔坐标结构图Meta-Kernel Convolution RangeDet: In Defense of Range View for LiDAR-based 3D Object Detection 论文&#xff1a;https://arxiv.org/pdf/2103.10039.pdf 代码&…

数据结构初阶:顺序表和链表

线性表 线性表 ( linear list ) 是 n 个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使 用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串 ... 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的, 线性…

Python读取Excel根据每行信息生成一个PDF——并自定义添加文本,可用于制作准考证

文章目录 有点小bug的:最终代码(无换行):有换行最终代码无bug根据Excel自动生成PDF,目录结构如上 有点小bug的: # coding=utf-8 import pandas as pd from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import letter from reportlab.pdfbase import pdf…

linux通过进程pid查询容器docker

我遇到的问题是在docker中启动了进行&#xff0c;占用显卡&#xff0c;如下nvidis-smi查看&#xff1a; 现在要查询pid16325属于哪个容器ID&#xff0c;指令&#xff1a; ps -e -o pid,cmd,comm,cgroup | grep 16325查到如下结果&#xff0c;其中12:cpuset:/docker/ 后面的 8…

js实现websocket断线重连功能

在项目开发中我们可能经常要使用websocket技术&#xff0c;当连接发生断线后&#xff0c;如果不进行页面刷新将不能正常接收来自服务端的推送消息。为了有效避免这种问题&#xff0c;我们需要在客户端做断线重连处理。当网络或服务出现问题后&#xff0c;客户端会不断检测网络状…

玩转ChatGPT:Kimi测评(科研写作)

一、写在前面 ChatGPT作为一款领先的语言模型&#xff0c;其强大的语言理解和生成能力&#xff0c;让无数用户惊叹不已。然而&#xff0c;使用的高门槛往往让国内普通用户望而却步。 最近&#xff0c;一款由月之暗面科技有限公司开发的智能助手——Kimi&#xff0c;很火爆哦。…

Linux基础篇:VMware centos7虚拟机网络配置——桥接模式

VMware centos7虚拟机网络配置——桥接模式 1 搞清楚什么是桥接模式 桥接模式允许虚拟机直接连接到物理网络&#xff0c;就像它是物理网络中的一个独立设备一样。在这种模式下&#xff0c;虚拟机将具有与宿主机相同网络中的其他设备相同的网络访问权限。虚拟机将获得一个独立…

Navicat for MySQL 15免费注册方法

一、效果图如下&#xff1a; 注&#xff1a;此方法仅用于非商业用途&#xff0c;请勿传播&#xff0c;否则后果自负。 二、下载安装 下载安装包&#xff0c;分为32位和6位&#xff0c;下载文件名&#xff1a;Navicat for MySQL 15.zip&#xff08;https://download.csdn.net/…

Flutter 开发学习笔记(4):widget布局容器学习

文章目录 前言相关链接Widget 有状态和无状态Flutter 代码风格去掉烦人的括号后缀提示代码缩进 Flutter 布局最简单的布局widgets和Material widgets Dark语法习惯Flutter 布局默认布局Center居中Padding 填充Align对齐默认居中顶部底部右上角 通用 WidgetContainer处于性能原因…

K8S Pod 的生命周期

本文会介绍 1个 POD 从启动到被关闭删除&#xff0c; 有什么事情发生&#xff0c; 和有什么组件被参与进来 容器环境初始化阶段 apiserver 接受到创建容器的指令时&#xff0c; 在构建容器之前会有一些环境的设置阶段&#xff0c; 例如node 选择&#xff0c; image 镜像下载等…

路由和远程访问是什么?

路由和远程访问在现代互联网时代中&#xff0c;扮演着至关重要的角色。它们为我们提供了便捷的信息传递途径&#xff0c;让不同地区的电脑、设备以及人们之间能够轻松进行通信和交流。 对于路由来说&#xff0c;它是连接互联网上的各个网络的核心设备。一台路由器可以将来自不同…

【Qt】使用Qt实现Web服务器(九):EventSource+JSON实现工业界面数据刷新

1、效果 效果如下,实时刷新温度、湿度 2、源码 2.1 index.html <html><body> <!-- 页面布局,本人对HTML标签不熟悉,凑合看吧 --> <div><label for

前后端开发之——文章分类管理

原文地址&#xff1a;前后端开发之——文章分类管理 - Pleasure的博客 下面是正文内容&#xff1a; 前言 上回书说到 文章管理系统之添加文章分类。就是通过点击“新建文章分类”按钮从而在服务端数据库中增加一个文章分类。 对于文章分类这个对象&#xff0c;增删改查属于配…

PyQt ui2py 使用PowerShell将ui文件转为py文件并且将导入模块PyQt或PySide转换为qtpy模块开箱即用

前言 由于需要使用不同的qt环境&#xff08;PySide&#xff0c;PyQt&#xff09;所以写了这个脚本&#xff0c;使用找到的随便一个uic命令去转换ui文件&#xff0c;然后将导入模块换成qtpy这个通用库(支持pyside2-6&#xff0c;pyqt5-6)&#xff0c;老版本的是Qt.py(支持pysid…

Appium无线自动化实用教程

文章目录 简介核心特点工作原理使用Appium进行自动化测试的一般步骤 环境设置安装和启动Appium Server使用Node.js和npm安装Appium Server&#xff1a;启动Appium Server:命令行启动使用Appium Desktop安装和启动Appium Server&#xff1a;使用代码启动appium server 编写测试代…

Linux|centos7|postgresql数据库主从复制之异步还是同步的问题

前言&#xff1a; postgresql数据库是一个比较先进的中型关系型数据库&#xff0c;原本以为repmgr和基于repmgr的主从复制是挺简单的一个事情&#xff0c;但现实很快就给我教育了&#xff0c;原来postgresql和MySQL一样的&#xff0c;也是有异步或者同步的复制区别的 Postgre…