隐语开源首个工业级多方安全数据分析系统SCQL:像写SQL一样「易用」隐私计算

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
数据安全中心,免费版
简介: 隐语开源首个工业级多方安全数据分析系统SCQL:像写SQL一样「易用」隐私计算


隐语开源首个工业级多方安全数据分析系统 SCQL,填补了产业空白,将进一步延展数据安全协同的链路、拓展数据价值流通的场景。


大模型的兴起,让数据作为新型生产要素的重要性被再一次深刻认知,而隐私计算作为平衡数据利用和数据安全的重要路径,学术价值和应用价值进一步凸显。近年来,在政策驱动和市场需求的双重作用下,隐私计算技术和产业稳步发展,在金融、通信、互联网、政务、医疗等诸多领域得到应用。但整体看,由于技术门槛和建设成本等问题,真正规模化的生产落地应用有,但数量非常少。

3 月 29 日,首届隐语开源社区开放日上,隐语 SecretFlow 开源框架发布了新版本,推出了一项业界期待的重要功能——多方安全数据分析系统 SCQL(Secure Collaborative Query Language)。这是业内首个把 SQL 做到多方安全计算(MPC)技术上的应用,实现了工业级的多方安全数据分析功能,目前在隐语 GitHub 社区开源,面向全球开发者免费开放。

隐语框架 SecretFlow 负责人王磊在隐语开源社区开放日现场发布隐语 SCQL 系统



这也是隐语团队历时三年,经历多轮技术验证,在性能、安全性上满足工业级应用场景之后才开源释放的重要产品功能,希望进一步延展数据安全协同的链路、拓展数据价值流通的场景,特别是满足长尾的和广大中小机构的数据分析需求。
隐语框架负责人、蚂蚁集团隐私智能计算技术部总经理王磊在接受机器之心专访时表示,当隐私计算落到行业中,解决大规模的用户的实际问题时,相比 AI,BI 的应用场景会更广,SQL 是目前大家最熟悉的 BI 分析工具,隐语此次发布 SCQL 系统,就是希望用户能够在熟悉的工作流程基础上,低成本的去理解和使用隐私计算技术。
当前,隐私计算正在进入一个新的阶段,单点技术的安全合规已经经过了试点验证,特别是数据二十条颁布以来,实现大数据和隐私计算的结合,实现隐私计算 BI 的可用和易用,降低技术门槛,成为当前阶段的核心挑战,只有持续拓展技术应用的广度和深度,才能够真正迎接未来大规模数据要素全面密态化的时代。
王磊表示,隐语团队在 SQL 语言解析、MPC 计算性能优化和结果反推的安全性方面取得了技术上的突破,在一些问题上提供了一些非常好的新的解决思路,并且做了工程实现,取得了不错的效果。他同时强调,还有更多具有挑战性的和开放性的问题,期待更多人参与共建隐私计算开源社区,共同探索更多应用场景。

隐语 SCQL:首个开源的工业级多方安全数据分析统
根据中国信息通信研究院今年 1 月发布的《中国企业智能化成熟度报告(2022)》,目前有 84% 的企业仍然处于数字化建设的基础阶段,距离实现智能运营和创新发展有一定距离。对于这部分企业而言,存在大量的 BI 业务需求。

目前可用的大多数 BI 技术都能够在存储或传输数据时保护数据,但缺乏保护数据计算过程安全性的功能,对于有隐私和安全相关诉求的机构而言,这恰好拓宽了传统 BI 技术的边界,可以适用更多场景。随着数据要素市场化进程的推进,隐私计算 BI 分析将出现严重的产业空白。
在这样的背景下,隐语启动了 SCQL 项目,将 BI 分析中最常用的 SQL 和隐私计算中的多方安全计算(MPC)结合起来,作为让隐私计算落到行业,在整个大的复杂生态中大规模应用化的第一步。
聚焦多方数据联合分析的场景,是因为相比于可信执行环境(TEE)技术路线对硬件信任根有要求,而且当前国产化的成熟度尚需时间验证打磨,多方安全计算(MPC)技术路线有特有的优势:数据控制力更强、不依赖特殊硬件等。此外,在一些单方数据比较单薄的场景,也可以通过样本或数据维度的扩充来提升数据分析的质量,也即结合多方数据进行联合决策,最终在业务效果分析、业务策略升级、业务模式创新中取得更优的效益。例如:

  • 金融场景下:不同金融机构间进行合作,在不泄露用户隐私的前提下,通过贷款次数、贷款额度、守信记录等规则的查询,来辨别潜在客群是否为高风险客户;
  • 营销场景下:不同平台之间进行合作,实现用户画像互补,分析用户对内容的偏好,通过更合理的内容推荐提升用户的活跃度;
  • 医疗场景下:不同医院甚至同家医院内的不同科室之间,联合分析患者的就医记录,对挂号或预诊提供决策指导,提高医疗服务效率。


然而,要实现 SQL 与 MPC 的结合有很大的技术挑战。首先 SQL 作为一种复杂的架构,将其引用到隐私计算场景,如何解决架构设计上的复杂性问题,这就涉及到对 SQL 语言进行解析,而这个解析的技术门槛是非常高的。其次,在 SQL 使用场景下,用户对 query 提交后的响应时间有很高的要求,一般都期望立马看到结果,而 MPC 的计算性能很低,如何针对这一点做优化?第三,如何避免灵活的 SQL 查询语言导致查询出用户不希望看到的敏感信息。

隐语团队基于 MPC 技术内核的底层抽象 SPU 设备(SecretFlow Processing Unit,简称 SPU,是隐语平台的密态计算单元,为隐语框架提供安全计算服务),创新实现了多方安全数据分析系统 SCQL。SCQL 支持类SQL的查询语言,这种语言继承了 SQL 作为常用数据分析语言的普及性、易学性和高成熟度,在用户几乎不感知多方安全计算语义的情况下,即可完成联合分析的统计结果生成。

SCQL 架构如下图所示,总体分为两个部分,上层的 SCDB 可以被视为 SCQL 的数据库,负责将 query 翻译成密态执行图,下发给部署在数据参与方的 SCQL Engine 执行;SCQL Engine 是 SCQL 的执行引擎,将协同其他参与方的 SCQL Engine 一起完成密态图的执行,并将结果上报至 SCDB。


具体说,外部用户可以直接发起一个传统的 SQL 请求,这个请求首先会经过 Parser,转化成一个抽象的语法树,通过 Planner,变成 Logical plan。最大的一个挑战是 Logical plan 到 Execution Graph,Translator 在这里需要执行一个多约束条件下最优协议的选择,这是将 SQL 做到隐私计算的一个关键,因为整个计算中有安全性的约束,需要综合考虑数据类型、数据来源、数据状态,而且数据状态还会随计算过程不断发生迁移和改变。

在这里,隐语团队创新性地实现了 CCL(Column Control List)机制,作为多方安全计算场景下对 SQL 灵活性和功能性的一种巧妙的解决思路。CCL 提供了一个辅助性的工具,使得数据拥有者可以在事前审核之前,使用 CCL 描述每列数据在使用过程中的约束,只有严格满足约束条件的,数据分析引擎才会执行。

当前提供了 6 种约束条件,未来隐语框架还将在这方面继续完善和细化。

总结来说,针对正确性、及时性和安全性等技术挑战,隐语  SCQL 方案都做了非常好的尝试,在功能特性上实现了:


  • 易于使用与集成:SCQL 支持类 SQL的查询语言,简单易用,上手成本低。除此之外,SCQL 提供简单易用的 API 接口,便于集成封装,且支持常用的数据源(目前支持MySQL,未来计划支持CSV、Postgres、Hive 等数据源),可以低成本满足业务的多方数据协同分析需求;
  • 精细的数据授权机制:SCQL 创新性地提出了 CCL(Column Control List) 机制,让数据方可以对自己的数据如何被使用进行授权,控制粒度可精细到数据表字段(列);
  • 功能丰富场景灵活:支持大部分常用的SQL语法和函数,可满足大部分场景的联合分析需求;
  • 满足实际生产性能需求:在保护数据隐私的前提下,以尽可能减少密态下的计算量为优化思路,进行了多层面的优化。


目前,蚂蚁保就已经在与保险公司的合作中,面向核赔勘查场景,使用了隐语 SCQL 功能。基于理赔科技平台和隐语框架,打造了「理赔大脑」智能理赔系统,在整个系统中,多方数据联合分析解决方案是核心模块之一,帮助保险公司及其外部医疗数据ISV在原始数据不离开本地、数据价值有保护的前提下,进行联合分析。
在该方案中,保司提供「用户赔案数据」,包含了出险疾病类型、保单生效时间、出险时间等维度,此外保司提供的「既往症免责规则」还包含了出险疾病类型及其对应的免责规则,ISV 提供「用户就医数据」包含确诊疾病类型、就诊时间等维度。在联合分析中,通过 “SELECT FROM”、“INNER JOIN”、“Where” 从句,以及比较运算表达式等组合搭配,即可完成联合分析任务的描述以及执行,在保障保司和 ISV 数据隐私的前提下,分析用户是否满足理赔条件。
这一健康险定制多方数据联合分析解决方案,能够帮助有效发现阳性线索、降低错赔风险,通过数字化调查审核控制了理赔运营成本。
未来,隐语开源社区也将发布 SCQL 的共建任务,包括丰富数据源(如支持 csv 文件)、完善语法和功能,增强易用性等,欢迎大家持续关注隐语 GitHub 社区,甚至将你的共建计划通过 pull request 的方式提交,成为共建任务的组成部分,共同持续建设完善这一功能。
拓展数据流通应用场景需要易用、好用的隐私计算

王磊认为,当前隐私计算整体技术和市场仍处在起步阶段,行业对隐私计算技术的认识不够充分。隐语希望能够树立一个易用、通用的标杆,希望能够帮助激活整个隐私计算行业的应用。当然,「安全是隐私计算的核心,只有在保证安全的前提下,才能够去谈精度、性能、好用,不然完全可以用其他的技术实现。」
通用的理念贯穿在隐语研发的始终。
王磊介绍,蚂蚁集团从 2016 年开始探索隐私计算,并通过内部业务和行业调研进行实践和思考。在此过程中,技术人员发现隐私计算技术路线多且架构不同,因此,一个理想的隐私计算架构首先应具备完备性,支持主流技术框架,并且考虑到新技术的发展。其次,为了方便持续迭代,架构上要做到底层和上层解耦。此外,架构还应具备良好的分层设计,使安全和算法分开,方便应用,提高隐私计算技术的应用广泛度和参与门槛。业务集成和规模化生产能力也很重要,需要有良好的接口设计和规模化生产的能力,如灰度、回滚、弹性扩容和多版本管理。
在这样的理念下,隐语框架 SecretFlow 作为一种通用的隐私计算框架被提出,坚持以下原则,使框架具有最大的包容性和可扩展性,以应对未来隐私计算技术和应用的发展。

  • 完备性:支持多种隐私计算技术,可灵活组装,满足不同场景需求。
  • 透明性:构建统一的技术框架,尽量让底层技术迭代对上层透明应用,具有高内聚和低耦合。
  • 开放性:不同专业方向的人可以轻松参与框架的建设,共同加速隐私计算技术的发展。
  • 连接性:不同底层技术支持的场景中的数据可以相互连接。


隐语框架支持目前主流的隐私计算技术路线,以便更好地适应不同的场景需求,这样也可以更方便地进行多技术路线的融合和迁移,取长补短。同时,在一个更高的规划层面,隐语正在设计支持数据要素持有权、使用权、经营权「三权分置」的技术方案,以从技术上实现数据二十条里提出的数据持有权、使用权和经营权「三权分置」的指导思想。
隐私计算不是绣花功夫,而是真正想产业所想,王磊团队也一直在琢磨如何提供更安全、更高效、性能更强、更灵活的解决方案。目前行业中的大型应用主要分为 BI 和 AI 两大类,BI 又可以细分为许多子类,例如针对传统 SQL 数据分析和基于 Python 的数据分析,以及大数据处理、流批处理等。针对 AI 场景的隐私保护机器学习,目前行业已经较成熟,且市面上有很多可选的技术解决方案和产品。
隐语想到了那些小规模数据机构,倾向于优先从规模较小的、百万或千万级别的数据量开始入手,因为这样的处理能够覆盖许多应用场景,并且在投入和产出方面也更具有可行性。
「由于中小机构的数字化水平处于初期,数据量属于小样本阶段,Al 机器学习的方式不必要也不具性价比,而以 SQL 语言为主要手段的 BI 分析是最具可行性的方案。」

对于大规模数据场景来说,BI 数据分析也是不可或缺的重要分析手段。「从大数据到小数据,SCQL 都能满足密态数据安全分析的需求,」王磊强调。
当然,对于 AI 应用,隐语也会持续进行迭代,如行业中广泛应用 XGB算法,也会有更快的版本开放出来。
王磊表示,隐私计算未来的趋势一定是包含技术融合的,这不仅包含不同技术领域之间的融合,也包括技术工具之间的融合。从整个隐私计算的技术栈来看,最终的解决方案一定是多种技术交叉解决各种不同的问题,根据部署场景的适用性,根据安全要求,选择不同场景的隐私计算技术。

隐语希望通过技术的方式,构建起行业对隐私计算作为数据要素流通基础设施的信任,通过枢纽模式和管道模式共同支撑各种应用,以期在未来支撑全行业的规模化扩展。

隐语开源有两个目的:一是希望更多人能够使用隐私计算;二是希望有更多人能够共建社区。目前参与共建的人数相对较少,隐语计划在今年增加共建方向和完善共建流程,期待与大家积极探索隐私计算更多可能。
隐语官网:https://www.secretflow.org.cn隐语社区:https://github.com/secretflowhttps://gitee.com/secretflow

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
4月前
|
SQL 存储 测试技术
SQL在构建系统中的应用:关键步骤与技巧
在构建基于数据库的应用系统时,SQL(Structured Query Language)作为与数据库交互的核心语言,扮演着至关重要的角色
|
2月前
|
SQL 存储 人工智能
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
Vanna 是一个开源的 Python RAG(Retrieval-Augmented Generation)框架,能够基于大型语言模型(LLMs)为数据库生成精确的 SQL 查询。Vanna 支持多种 LLMs、向量数据库和 SQL 数据库,提供高准确性查询,同时确保数据库内容安全私密,不外泄。
382 7
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
|
3月前
|
SQL 安全 PHP
PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全
本文深入探讨了PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全。
107 4
|
4月前
|
SQL 存储 数据库
SQL在构建系统中的应用:关键要素与编写技巧
在构建基于数据库的系统时,SQL(Structured Query Language)扮演着至关重要的角色
|
4月前
|
SQL 存储 缓存
SQL计算班级语文平均分:详细步骤与技巧
在数据库管理和分析中,经常需要计算某个班级在特定科目上的平均分
|
3月前
|
SQL 数据挖掘 Python
数据分析编程:SQL,Python or SPL?
数据分析编程用什么,SQL、python or SPL?话不多说,直接上代码,对比明显,明眼人一看就明了:本案例涵盖五个数据分析任务:1) 计算用户会话次数;2) 球员连续得分分析;3) 连续三天活跃用户数统计;4) 新用户次日留存率计算;5) 股价涨跌幅分析。每个任务基于相应数据表进行处理和计算。
|
5月前
|
SQL 存储 并行计算
Lindorm Ganos 一条 SQL 计算轨迹
Lindorm Ganos 针对轨迹距离计算场景提供了内置函数 ST_Length_Rows,结合原生时空二级索引和时空聚合计算下推技术,能够高效过滤数据并并行执行运算任务。该方案通过主键索引和时空索引快速过滤数据,并利用多Region并行计算轨迹点距离,适用于车联网等场景。具体步骤包括根据车辆识别代码和时间戳过滤数据、范围过滤轨迹点以及并行计算距离。使用限制包括只支持点类型列聚合运算及表中轨迹点需按顺序排列等。测试结果显示,Lindorm Ganos 在不同数据量下均能实现秒级响应。
52 3
|
5月前
|
SQL 存储 UED
系统里这个同时查冷热表的sql,动动手指,从8s降到3s
系统将交易数据按交易时间分为热表(最近3个月)和冷表(3个月前)。为保证用户体验,当企业门户端查询跨越冷热表时,尤其针对大客户,查询性能优化至关重要。以下是程序的SQL查询语句及其优化版本。
47 1
|
4月前
|
SQL 数据库连接 数据库
管理系统中的Visual Studio与SQL集成技巧与方法
在现代软件开发和管理系统中,Visual Studio(VS)作为强大的集成开发环境(IDE),与SQL数据库的紧密集成是构建高效、可靠应用程序的关键
|
4月前
|
SQL 监控 数据库
管理系统VS SQL:高效集成的关键技巧与方法
在现代企业信息化建设中,管理系统(如ERP、CRM等)与SQL数据库之间的紧密集成是确保数据流动顺畅、业务逻辑高效执行的关键