【隐私计算实训营007——隐语SCQL的架构详细拆解】

1.SCQL Overview

SCQL属于隐私保护的BI。

1.1 对于安全聚合查询语言的两种常见的技术方案

1.2 SCQL系统组件

  • SCDB
    • 部署在可信第三方,负责将query翻译成密态执行图,下发给SCQLEngine,本身不参与计算
  • SCQLEngine
    • 部署在数据参与方 ,负责协同其他参与方一起完成之星途的计算。

1.3 SCQL的特点

  • 基于半诚实安全模型
  • 支持多方(N>=2)
  • 易上手,提供 MySQL 兼容的 SQL 方言用户界面
  • 支持常用的 SQL 语法和算子,满足大部分场景的需求
  • 可实用的性能
  • 提供列级别的数据使用授权控制 (CCL)
  • 支持多种密态协议(SEMI2K/CHEETAH/ABY3)
  • 内置支持多种数据源接入(MySQL,Postgres,CSV 等)

1.4 SCQL应用场景

2.SCQL CLL

CCL全程是Column Control List

是一个三元组<src_column,dest_party,constraint>

数据拥有方允许某列数据(src_column)被某个参与方(dest _party) 以满足某种约束条件下进行访问

满足CCL的语句不等于安全

  • 不满足CCL约束一定不安全
  • 满足CCL约束不一定安全

从完全的人工检查------预先定义一些规则来排除一部分不合规的SQL,减轻审核人员的压力。

2.1 常见的CCL中的constraint

  • PLAINTEXT
    • 允许以任何形式进行披露,通常用于非敏感数据,谨慎使用。
  • PLAINTEXT_AFTER_JOIN
    • 作为 INNERJOIN 的 key,经过JOIN 后可以明文披露。
  • PLAINTEXT_AFTER_GROUP BY
    • 作为GROUP BY的分组列,在分组后可以明文披露。
  • PLAINTEXT_AFTER_AGGREGATE
    • 被约束的列经过聚合操作(如: SUM、AVG、MIN、MAX、COUNT) 后的结果可以明文披露
  • PLAINTEXT_AFTER_COMPARE
    • 被约束的列经过比较操作 (如: <,>,>=,=,!= 等等)后的结果可以明文披露。
  • ENCRYPTED_ONLY
    • 始终以密态的形式参与计算,不允许任何形式的披露,除了 COUNT外 (SCOL 不保护计算中
      间结果的size)。

3. SCQL架构

3.1 SCQL的工作流

相关推荐
zhixingheyi_tian3 小时前
Spark 之 Aggregate
大数据·分布式·spark
PersistJiao3 小时前
Spark 分布式计算中网络传输和序列化的关系(一)
大数据·网络·spark
宅小海6 小时前
scala String
大数据·开发语言·scala
小白的白是白痴的白6 小时前
11.17 Scala练习:梦想清单管理
大数据
java1234_小锋6 小时前
Elasticsearch是如何实现Master选举的?
大数据·elasticsearch·搜索引擎
Java 第一深情10 小时前
零基础入门Flink,掌握基本使用方法
大数据·flink·实时计算
MXsoft61810 小时前
华为服务器(iBMC)硬件监控指标解读
大数据·运维·数据库
PersistJiao11 小时前
Spark 分布式计算中网络传输和序列化的关系(二)
大数据·网络·spark·序列化·分布式计算
九河云11 小时前
如何对AWS进行节省
大数据·云计算·aws
FreeIPCC12 小时前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源