隐私计算实训营学习七:隐语SCQL的架构详细拆解

文章目录

  • [一、SCQL Overview](#一、SCQL Overview)
    • [1.1 SCQL背景](#1.1 SCQL背景)
    • [1.2 SCQL Overview](#1.2 SCQL Overview)
  • [二、SCQL CCL](#二、SCQL CCL)
  • 三、SCQL架构

一、SCQL Overview

1.1 SCQL背景

SCQL:属于隐私计算BI范畴,允许多个互不信任参与方在不泄露各自隐私数据的条件下进行联合数据分析。

如下数据在不同机构,同时又要保护原始数据不泄露,需要使用多方数据分析技术,目前主要有两种技术路线:

1、基于可信执行环境TEE SQL: 数据需要出域,数据方首先将数据加密上传到可信执行环境里,可信执行环境能够保证数据安全,在可信执行环境进行计算。

​ 优点:效率高。

​ 缺点:数据要出域,信任根在硬件提供商。

2、多方安全计算MPC SQL: 数据不需要出域,数据拥有方需要部署计算节点,通过MPC协议进行计算。

​ 优点:数据不出域。

​ 缺点:性能较低,规模受限。

1.2 SCQL Overview

SCQL(Secure Collaborative Query Language):是MPC SCQL的一个解决方案,系统组件主要有SCDB与SCQLEngine。

SCDB: 部署在可信第三⽅,负责将 query 翻译成密态执⾏图,下发给 SCQLEngine,本身不参与计算。

SCQLEngine: 部署在数据参与⽅,负责协同其他参与⽅⼀起完成执⾏图的计算。

SCQL特性:

  1. 半诚实安全模型。

  2. ⽀持多⽅(N>=2)。

  3. 易上⼿,提供 MySQL 兼容的 SQL ⽅⾔⽤户界⾯。

  4. ⽀持常⽤的 SQL 语法和算⼦,满⾜⼤部分场景的需求。

  5. 可实⽤的性能。

  6. 提供列级别的数据使⽤授权控制(CCL)。

  7. ⽀持多种密态协议(SEMI2K/CHEETAH/ABY3)。

  8. 内置⽀持多种数据源接⼊(MySQL,Postgres, CSV 等)。

应用场景: 适用于任何多方数据分析场景。

二、SCQL CCL

当前业内基于多方数据分析的安全保障模型审核强度大、周期长、效率低;因此提出CCL的多方数据分析安全保障模型,数据拥有方首先设置数据如何被使用的限制,若未通过CCL检查则直接被拒绝,若通过再由审核员确认,减轻审核员负担。

CCL(Column Control List): CCL 是一种约束机制,使得数据拥有者可以使用CCL描述每列数据在使用过程中的约束,数据分析引擎确保所有执行过程严格满足约束条件。他是一个三元组<src_column, dest_party, constraint>,数据拥有方允许某列数据(src_column)被某个参与方(dest_party)以满足某种约束条件下进行访问。 不满足CCL约束一定不安全,满足CCL约束不一定安全。

例如:Alice对Bob的约束为,Alice table A的salary字段对Bob的权限必须经过聚合操作(sum/avg/min/max)后才能对Bob可见。

目前CCL定义的六种约束:

三、SCQL架构

SCQL架构:

  1. 用户发起一个Query后会先经过Session Manager,Session Manager首先会校验用户身份信息;
  2. 检查通过后会经过Parser解析成语法树AST;
  3. Planner会将AST构建成逻辑执行计划;
  4. 若Query为DDL/DCL语句会直接用SCDB的Executor进行处理,否则将由Translator(会在多种约束条件下选择最优协议,然后选择最佳执行逻辑)将逻辑执行计划翻译成密态执行图;
  5. 在翻译前会先检查CCL,只有CCL检查通过才会进入Graph Optimizer会运用图形化算法对执行图进行优化(节点合并或消除),还会得到一张全局图;
  6. 最后Graph Spliter会将图按照参与方进行切分,每个参与方会看到自己参与计算的节点构成的子图,最后下发给SCQL Engine进行执行;
  7. SCQL Engine得到执行图后,一般会先执行run SCQL节点从数据源读取数据,再使用MPC协议与对方的SCQL Engine配合协作完成计算;
  8. 计算完成将结果汇报给SCDB,SCDB将结果返回给用户。


    示例如下:在条件ta.reduce_long_0 > tb.reduce_long_0,alice.tbl_0与bob.tbl_0进行join后,查询ta.join_long_0结果。
相关推荐
caoerzhong3 小时前
JeeWMS 开源仓库管理系统多租户架构解析:一套 Java WMS 如何同时服务多个货主与多个仓库
java·架构·开源·vue
聚搜云——JuSouClouD3 小时前
阿里云代理商能帮忙设计架构方案吗?有哪些增值服务
阿里云·架构·云计算
白远山4 小时前
智慧场馆解决方案软件开发实战:从架构设计到落地部署指南
java·开发语言·架构·需求分析
m0_587383004 小时前
折扣卡CPS软件开发实战:从系统架构设计到上线指南
java·小程序·架构·需求分析
Dawson Zhu4 小时前
基于 OKF 知识图谱的 Text2SQL 领域知识注入实践——半导体晶圆厂数据资产知识库 MVP 剖析
人工智能·语言模型·架构·aigc·agi
晚安日记wanna5 小时前
批量请求失败只弹一个 Toast面试官想听五层
前端·面试·架构
大模型码小白5 小时前
告别造假数据,直接连数据库查真实时序数据喂给 TimechoAI 大模型
java·数据库·人工智能·microsoft·架构
晚安日记wanna5 小时前
大表 DDL 面试翻车现场Online DDL 为什么还会锁死业务
数据库·面试·架构
晚安日记wanna5 小时前
MySQL 主从延迟别只答并行复制
数据库·面试·架构
狼与自由5 小时前
MCP协议理解
人工智能·架构