隐语可信数据空间MOOC第29讲笔记:安全协作查询语言SCQL

叶开233 2025-11-20 12:55:24

笔记内容来自隐语Mooc,欢迎一起来学习。Mooc课程地址:https://www.secretflow.org.cn/community/bootcamp/2narwgw4ub8rabq/course/vhii941jitkl122?tab=outline

img

一、SCQL 背景与概述

1.1 联合数据分析场景

场景类型特点技术方案
传统数据分析数据使用方拥有数据权限MySQL、Spark等成熟方案
联合数据分析数据分散在多家机构且高度敏感需要隐私计算技术

1.2 典型应用场景

  • 金融机构 + 电商平台:联合用户画像分析
  • 多家医院:联合研究药物疗效
  • 跨机构数据协作:在保护隐私前提下进行数据分析

1.3 技术路线对比

技术路线优点缺点
TEE SQL计算效率高数据要出境,依赖专有硬件
MPC SQL数据不出境,通用硬件计算效率相对较低
SCQL平衡安全性与性能支持多种密态协议

二、SCQL 核心概念

2.1 SCQL 定义

  • 全称:Secure Collaborative Query Language
  • 定位:提供多方联合数据分析能力的安全查询语言

2.2 关键特性

特性说明
安全性半诚实安全模型,列级别数据授权控制(CCL)
易用性支持MySQL语法,多种数据源接入(MySQL、Postgres、CSV)
扩展性支持多方(N≥2)协作
性能支持亿级求交,千万量级聚合,多种密态协议

2.3 支持的密态协议

  • SEMI2K
  • CHEETAH
  • ABY3

三、CCL(列控制列表)详解

3.1 CCL 定义与作用

  • 全称:Column Control List
  • 本质:数据使用约束机制,描述每列数据在使用过程中的约束条件
  • 形式:三元组 <src_column, dest_party, constraint>

3.2 CCL 约束类型

约束类型说明适用场景
PLAINTEXT无限制使用非敏感数据
PLAINTEXT_AFTER_JOINJOIN后可明文关联键
PLAINTEXT_AS_JOIN_PAYLOADJOIN负载字段可明文关联值字段
PLAINTEXT_AFTER_GROUP_BY分组后可明文分组统计
PLAINTEXT_AFTER_AGGREGATE聚合后可明文统计指标
PLAINTEXT_AFTER_COMPARE比较后可明文条件过滤
ENCRYPTED_ONLY始终密文高度敏感数据
UNKNOWN未定义,默认拒绝安全默认

3.3 CCL 安全模型

  • 安全原则:不满足CCL约束一定不安全,满足CCL约束不一定安全
  • 审批优化:降低数据使用审批负担,提供优化机会

3.4 CCL 示例

数据授权:

Alice <salary, Bob, PLAINTEXT_AFTER_AGGREGATE>
Bob <id, Alice, PLAINTEXT_AFTER_JOIN>

合法查询:

SELECT AVG(tb.col1)
FROM tb
INNER JOIN ta ON tb.id = ta.id

非法查询:

SELECT tb.id, tb.col1  -- 违反CCL约束
FROM tb
INNER JOIN ta ON tb.id = ta.id

四、SCQL 系统架构

4.1 P2P模式系统组成

组件职责
SCQLBroker用户交互、状态同步、SQL分析、任务调度
SCQLEngine明密文混合执行引擎,完成多方分析任务

4.2 架构特点

  • 去中心化:P2P部署模式(从中心化演进而来)
  • 模块化:Broker与Engine分离,职责清晰
  • 可扩展:支持多种数据源和计算后端

五、SCQL 实践指南

5.1 典型应用场景

场景描述:

金融机构Alice联合电商平台Bob进行用户画像分析

分析目标:

  • 统计不同信用等级的活跃用户人数
  • 计算平均收入和平均交易额
  • 年龄范围:20-30岁

SQL查询:

SELECT
    ta.credit_rank,
    COUNT(*) as cnt,
    AVG(ta.income) as avg_income,
    AVG(tb.order_amount) as avg_amount
FROM
    ta
INNER JOIN tb ON ta.ID = tb.ID
WHERE
    ta.age >= 20
    AND ta.age <= 30
    AND tb.is_active = 1
GROUP BY
    ta.credit_rank;

5.2 SCQL 使用流程

部署系统
    ↓
项目设置(创建项目、邀请用户)
    ↓
数据授权(创建表、设置CCL)
    ↓
联合分析执行

5.3 部署模式演进

  • 历史:中心化部署
  • 当前:P2P部署(支持SecretNote演示)

六、SCQL 核心价值

6.1 安全性保障

  • 🔒 细粒度授权:列级别数据使用控制
  • 🔒 约束执行:引擎严格保证CCL约束
  • 🔒 半诚实安全:实用的安全模型

6.2 易用性设计

  • 🎯 SQL兼容:MySQL语法,学习成本低
  • 🎯 多数据源:支持常见数据库和文件格式
  • 🎯 工具生态:提供SecretNote等可视化工具

6.3 性能优化

  • 协议选择:支持多种密态协议适配不同场景
  • 规模支持:亿级数据求交,千万级聚合
  • 混合引擎:明密文混合执行提升效率

七、学习建议

7.1 入门路径

  1. 理解概念:掌握CCL机制和安全模型
  2. 环境搭建:部署SCQL系统(P2P模式)
  3. 实践案例:运行示例查询,理解CCL配置
  4. 场景扩展:尝试复杂业务场景的CCL设计

7.2 进阶方向

  • CCL设计:学习如何为不同敏感度数据设计合适的约束
  • 性能调优:了解不同密态协议的适用场景
  • 系统运维:掌握P2P模式下的系统管理和监控

7.3 注意事项

  • CCL谨慎配置PLAINTEXT约束需特别谨慎
  • 安全理解:满足CCL不等于绝对安全,需结合业务风险评估
  • 性能平衡:在安全性和性能间找到合适平衡点
...全文
117 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文介绍了浙江蚂蚁密算科技有限公司及其推出的“隐语标准版”隐私计算产品。文章首先阐述了国家对数据要素和数据安全的重视及政策支持,包括一系列法律法规的出台和完善。接着详细介绍了蚂蚁密算科技在隐私计算领域的探索和成就,强调其技术优势和行业影响力。隐语标准版通过端云协同、轻量化部署等方式,实现了数据安全流通和高效利用,广泛应用于广告营销、保险定价、金融风控、医保理赔等多个领域。此外,产品获得了多项权威认证,并积极参与国内外标准制定。 适合人群:对数据安全和隐私计算感兴趣的从业者、研究者及企业管理者。 使用场景及目标:①广告营销中的精准投放和用户召回;②保险定价中的精算模型构建;③金融风控中的黑名单共享和联合建模;④医保理赔中的智能化审核和DRGs付费体系优化。目标是提升数据流通的安全性和效率,推动各行业的数字化转型。 其他说明:隐语标准版不仅具备高性能和高安全性,还支持多种硬件架构和操作系统,易于部署和使用。蚂蚁密算科技凭借强大的技术研发能力和丰富的实践经验,在隐私计算领域占据领先地位,并致力于构建透明开放的数据流通生态网络。

574

社区成员

发帖
与我相关
我的任务
社区描述
隐语开源社区,隐私计算开发者交流和讨论的平台。
密码学可信计算技术安全 企业社区
社区管理员
  • 隐语SecretFlow
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

【最新活动】

3月18日:隐私计算实训营第一期

试试用AI创作助手写篇文章吧