隐语SecretFlow实训营-第7讲:SCQL的架构详细拆解

SCQL是一种支持多方安全数据分析的语言,通过CCL实现细粒度的数据访问控制。它结合了隐私计算技术,如MPC和差分隐私,以在保护数据隐私的同时,降低多方数据分析的技术门槛。SCQL架构包括SessionManager、Parser、Planner、Optimizer等组件,确保在分布式数据库中安全执行SQL查询。
摘要由CSDN通过智能技术生成

SCQL Overview

特性与目标

SCQL(Secure Collaborative Query Language)是一种专为支持多方安全数据分析而设计的语言,它的目标是在保证数据隐私的前提下,使得不同的参与方能够进行联合数据分析。这一概念和技术是随着隐私计算技术的发展而提出的,特别是在多方安全计算(Multi-party Computation, MPC)领域。
image.png
总之,SCQL旨在推进隐私计算技术的实用化和大众化,降低多方安全数据分析的技术门槛,促进数据价值的合法合规释放。

应用场景

image.png

SCQL CCL

在隐私计算中,Column Control List(CCL)是一种用于控制数据访问权限的机制。CCL是一个列级别的访问控制列表,用于定义哪些列可以被哪些用户或角色访问。
CCL中的每个条目通常包含三个关键元素:列名、用户/角色和访问权限。列名指定了需要进行权限控制的列,用户/角色指定了具有访问权限的用户或角色,而访问权限指定了用户/角色对于该列的具体访问权限。
通过使用CCL,可以实现细粒度的数据访问控制。例如,一个数据库表可能包含多个敏感列,如姓名、地址和社会安全号码。通过在CCL中指定只有特定的用户或角色可以访问这些列,我们可以限制对这些敏感信息的访问。
CCL可以与其他隐私计算技术结合使用,如差分隐私、同态加密等。通过将CCL与这些技术结合,可以实现更高级的数据隐私保护,确保只有经过授权的用户才能访问到特定的列数据。
image.png
总而言之,CCL是隐私计算中一种重要的机制,用于实现列级别的数据访问权限控制。通过使用CCL,可以确保敏感数据只能被授权的用户或角色访问,从而提高数据隐私和安全性。

SCQL架构

SCQL(Secure Collaborative Query Language)是一种用于隐私计算的查询语言,它提供了一种描述和执行安全计算任务的方式。
当用户输入SQL语句时,SCQL系统会按照以下步骤处理该输入:

  1. 用户输入:用户通过图形用户界面(GUI)或其他方式向系统提交SQL查询。
  2. Session Manager:接收到用户输入后,Session Manager首先解析SQL语句,将其分解成一个个独立的命令或操作。
  3. Parser:解析器将SQL语句转换为抽象语法树(AST),这是一个表示SQL语句结构的树形数据结构。AST有助于理解和处理复杂的SQL查询。
  4. Planner:查询规划器分析AST,生成逻辑执行计划。这个阶段的目标是确定如何最有效地执行查询,包括选择合适的索引、排序方法等。
  5. Optimizer:查询优化器进一步优化逻辑执行计划,考虑各种可能的执行路径,并选择最佳路径。这可能涉及到重写查询、合并操作、选择最佳索引等。
  6. Translator:将优化后的逻辑执行计划转换为SCQL语句,这是SCQL系统特有的查询语言,用于在多方之间进行安全协作。这个阶段需要考虑如何在保证数据安全的前提下执行查询。
  7. SCDB:Secure Cooperative Database接收转换后的SCQL语句,并负责执行这些查询。SCDB是一个分布式数据库系统,支持SCQL语句的执行。
  8. CCL Manager:根据查询的特定需求,CCL Manager会选择合适的加密协议和安全协议,以确保数据的安全性和隐私性。
  9. SCQL Engine:在各个参与方之间执行SCQL语句,通过MPC(Multiparty Computation)协议实现数据的安全共享和计算。
  10. DataSource Adaptor:适配各种数据源,如MySQL、Postgres、CSV、Hive等,使得不同来源的数据能够被安全地整合和分析。
  11. Apache Arrow:作为一种高性能、跨平台的数据交换格式,Apache Arrow用于在SCQL Engine和DataSource Adaptor之间高效地传输数据。

通过以上步骤,SCQL系统能够处理用户输入的SQL查询,并在保证数据安全和隐私的前提下,提供准确和高效的查询结果。
image.png

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SecretFlow是一个用于保护机密信息的Python库。它提供了下载工具源码和配置Python虚拟环境的步骤,可以通过克隆GitHub仓库、创建虚拟环境和激活虚拟环境来获取SecretFlow的源码。在SecretFlow的官方文档中,你可以找到更详细的教程和说明。在使用SecretFlow时,你可以使用secretflow.init函数以独立模式运行它,并传入一些参数,如'alice', 'bob', 'carol'作为参与者和8个CPU核心的数量。通过这种方式,SecretFlow可以在集群模式下运行,以更高效地保护你的机密信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [SecretFlow:一款功能强大的隐私保护数据分析和机器学习统一框架](https://blog.csdn.net/qq_69775412/article/details/127191864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [SecretFlow隐语-简介](https://blog.csdn.net/lucklilili/article/details/126409906)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值