隐私计算实训营第七讲-隐语SCQL的架构详细拆解

隐私计算实训营第七讲-隐语SCQL的架构详细拆解

文章目录

  • 隐私计算实训营第七讲-隐语SCQL的架构详细拆解
    • [1.SCQL Overview](#1.SCQL Overview)
      • [1.1 多方数据分析场景](#1.1 多方数据分析场景)
      • [1.2 多方数据分析技术路线](#1.2 多方数据分析技术路线)
        • [1.2.1 TEE SQL方案](#1.2.1 TEE SQL方案)
        • [1.2.2 MPC SQL方案](#1.2.2 MPC SQL方案)
      • [1.3 Secure Collaborative Query Language(SCQL)](#1.3 Secure Collaborative Query Language(SCQL))
        • [1.3.1 SCQL 系统组件](#1.3.1 SCQL 系统组件)
        • [1.3.2 SCQL 关键特性](#1.3.2 SCQL 关键特性)
      • [1.4 SCQL应用场景](#1.4 SCQL应用场景)
    • [2. SCQL CCL](#2. SCQL CCL)
      • [2.1 CCL有什么用?](#2.1 CCL有什么用?)
      • [2.2 CCL是什么?](#2.2 CCL是什么?)
      • [2.3 CCL Example](#2.3 CCL Example)
    • [3.SCQL 架构](#3.SCQL 架构)

1.SCQL Overview

1.1 多方数据分析场景

在多方数据分析场景中,数据的分散性是一个显著的挑战。当数据集中存储在一个机构内时,分析任务相对简单,因为所有相关数据都处于同一个受控环境中。然而,随着数据隐私和安全意识的提高,以及数据保护法规的实施(如欧盟的GDPR),越来越多的场景下数据被存储在数据所有者的本地环境中,不同机构间的数据共享和分析变得复杂而困难。

1.2 多方数据分析技术路线

在涉及跨机构数据分析的场景中,保护数据隐私和安全是一个重要目标。针对这一需求,两种主要技术方案被提出:基于受信执行环境(TEE,如Intel SGX)的SQL(TEE SQL)方案,以及基于多方计算(MPC)的SQL(MPC SQL)方案。下面分别介绍这两种方案的优缺点:

1.2.1 TEE SQL方案

优点:

  • 高性能:TEE方案通常可以提供接近原生硬件性能的计算效率,因为它直接在CPU上执行,减少了额外的计算开销。
  • 易于部署:由于TEE是基于硬件的解决方案,它通常更易于在现有的硬件和软件架构上部署,无需复杂的网络配置或软件支持。
  • 强隔离性:TEE提供了强大的安全隔离,确保即使在操作系统或虚拟机管理器被攻破的情况下,数据和计算过程仍然安全。

缺点:

  • 可信硬件依赖:TEE方案高度依赖特定的硬件支持,这意味着其可用性和安全性取决于硬件供应商的技术和政策。
  • 安全漏洞风险:历史上TEE,尤其是Intel SGX,被发现有安全漏洞,这些漏洞可能被攻击者利用来破坏TEE的安全保障。
  • 有限的资源:TEE环境通常受限于较小的内存和存储空间,这可能限制其处理大规模数据集的能力。
1.2.2 MPC SQL方案

优点:

  • 无需可信硬件:MPC方案不依赖特定的硬件支持,因此具有更好的通用性和兼容性,可以在各种硬件和平台上实现。
  • 理论上的安全性:MPC提供了基于数学证明的安全保障,即使参与计算的一部分或多数方不可信,也能保证计算结果的正确性和数据的隐私。
  • 灵活性:MPC支持多种计算模型和复杂的数据分析任务,适用于不同的应用场景和需求。

缺点:

  • 性能开销:与直接在硬件上执行相比,MPC的计算过程涉及大量的加密和通信操作,这导致了较高的性能开销。
  • 复杂的协议设计:实现一个既安全又高效的MPC系统需要复杂的协议设计和优化,这增加了开发的难度和成本。
  • 网络依赖:MPC的效率在很大程度上依赖于参与方之间的网络连接质量,高延迟或低带宽的网络环境可能会显著降低性能。

总的来说,TEE SQL方案在性能和部署上具有优势,但依赖特定的硬件和面临安全漏洞的风险;而MPC SQL方案提供了强大的安全性和灵活性,但以牺牲计算效率和增加实现复杂度为代价。选择哪种方案取决于特定应用的安全需求、性能要求以及可用资源。

1.3 Secure Collaborative Query Language(SCQL)

1.3.1 SCQL 系统组件
  • SCDB:部署在可信第三方,负责将查询(query)翻译成密态执行图,然后下发给SCQLEngine。本身不参与计算,主要作用是查询预处理和协调。

  • SCQLEngine:部署在数据参与方,负责协同其他参与方一起完成执行图的计算。这是数据处理和计算的核心组件。

1.3.2 SCQL 关键特性
  • 半诚实安全模型:假设参与者不会主动破坏协议执行,但可能试图从过程中获取额外信息。SCQL设计以确保数据隐私,即使在半诚实假设下。

  • 支持多方(N>=2):允许两方或更多方参与者共同进行数据查询和分析,增加了系统的应用灵活性。

  • 易上手:提供MySQL兼容的SQL用户界面,使用户能够快速上手,无需学习新的查询语言。

  • 支持常用的SQL语法和算子:满足大部分数据查询和分析场景的需求,提高了系统的适用性和灵活性。

  • 可实用的性能:优化了数据处理和计算效率,确保在保护数据隐私的同时,也能提供可接受的性能。

  • 提供列级别的数据使用授权控制(CCL):增强了数据安全和隐私保护,允许精细控制数据访问权限。

  • 支持多种密态协议(SEMI2K/CHEETAH/ABY3):适应不同安全需求和计算环境,提供灵活的安全保护选项。

  • 内置支持多种数据源接入(MySQL, PostgreSQL, CSV等):提高了系统的兼容性和易用性,简化了数据导入和处理过程。

1.4 SCQL应用场景

2. SCQL CCL

2.1 CCL有什么用?

2.2 CCL是什么?

2.3 CCL Example

3.SCQL 架构

3.1总体架构

3.3执行流程

相关推荐
杨诚实16 分钟前
20240905软考架构-------软考126-130答案解析
架构
图灵追慕者1 小时前
全球性“微软蓝屏”事件的深思:网络安全与系统稳定性的挑战与应对
网络·安全·web安全·微软蓝屏
Cosmos复调3 小时前
黑马JavaWeb开发笔记15——用JAVA进行Web开发时候的请求、响应流程,B\S架构、C\S架构(概述)
java·spring boot·笔记·架构·web
2301_815255183 小时前
中间件解析漏洞
安全·web安全·php
一水鉴天3 小时前
“智能化自动化” 架构之5:从“选择”一词的考虑到智能选择机制、反向工程和时空无感符号无关的形式化文法定义
运维·人工智能·架构·自动化
爱吃红薯拔丝的小鹿4 小时前
【渗透测试专栏】1.2认证和授权类-越权访问(水平/垂直越权)
安全
Reactor20204 小时前
【云原生•容器】Docker架构剖析,它还是从前那个Docker吗?(上)
运维·docker·云原生·容器·架构
黑客大佬5 小时前
红队攻防 | 利用GitLab nday实现帐户接管
运维·网络·学习·nginx·安全·gitlab
怀后同学.5 小时前
sql-libs第三关详细解答
数据库·sql·安全·网络安全
李白LeeBai5 小时前
AUTOSAR Adaptive与智能汽车E/E架构发展趋势
架构·汽车