联手SCQL与CCL,护航隐私计算之路

2024-04-02 01:36

本文主要是介绍联手SCQL与CCL,护航隐私计算之路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.SCQL Overview

SCQL(Secure Collaborative Query Language)是一种专为支持多方安全数据分析而设计的语言,它的目标是在保证数据隐私的前提下,使得不同的参与方能够进行联合数据分析。这一概念和技术是随着隐私计算技术的发展而提出的,特别是在多方安全计算(Multi-party Computation, MPC)领域。

1.核心特性与目标

  1. 结合SQL与MPC技术:SCQL借鉴了SQL语言在商业智能(BI)分析中的易用性和广泛接受度,将其与MPC技术相结合,允许用户像编写传统的SQL查询那样处理多源数据,同时确保数据在计算过程中始终保持加密状态,原始数据不会暴露给任何一方。

  2. 多方数据联合分析:在实际应用中,如金融、医疗等行业,往往需要多个机构或组织共享数据以提升数据分析效果,但又因隐私保护法规和商业机密考虑不能直接交换敏感数据。SCQL为此类场景提供了解决方案,使互不信任的参与者能够在各自的私有数据集上执行联合查询分析,而无需将原始数据离开各自的安全环境。

  3. 屏蔽底层安全协议:SCQL通过封装底层复杂的MPC算法和协议,简化了开发人员和分析师的工作,他们只需关注业务逻辑层面的数据查询和分析,而无需深入理解复杂的密码学原理。

  4. 数据隐私保护:利用先进的加密技术和协议,SCQL确保在计算过程中数据始终处于加密状态,只公开计算结果,即使在计算节点之间传输时也不会泄露原始数据信息。

在这里插入图片描述
总之,SCQL旨在推进隐私计算技术的实用化和大众化,降低多方安全数据分析的技术门槛,促进数据价值的合法合规释放。

2.应用场景

SCQL作为一种专为支持多方安全数据分析而设计的语言,其应用场景可能会涵盖如下几个领域:
医疗数据研究
在医疗领域,SCQL可用于安全地跨不同医疗机构或研究机构联合分析加密后的患者数据。例如:

  • 疾病流行病学研究:各个医院可以通过SCQL提交查询请求,在不暴露患者具体个人身份信息的情况下,对加密后的病例数据进行聚合统计分析,研究某种疾病的发病率、地域分布、关联因素等。
  • 药物疗效评估:制药公司和研究机构可以联合利用SCQL,在保护患者隐私的同时,分析不同治疗方案的实际疗效,推动新药研发和现有药物优化。

联合精准营销
在市场营销特别是医疗健康相关的精准营销场景中,SCQL可以帮助不同企业或医疗机构在遵守隐私法规的前提下,协同进行客户行为分析与预测:

  • 会员交叉销售:药店、保险公司、健身中心等不同类型的机构可通过SCQL共享加密的客户消费行为数据,共同制定更精准的产品推荐和服务计划,提升用户体验和营销转化率。
  • 医疗服务定制:基于患者的匿名化医疗记录和偏好数据,医疗机构可以运用SCQL查询技术发现潜在需求,为患者提供个性化的预约提醒、康复指导、健康咨询等增值服务。

智能保险理赔
在保险行业中,SCQL有助于加快理赔流程,并在数据保护前提下减少欺诈风险:

  • 自动理赔审核:保险公司可以使用SCQL查询从医院、诊所等合作伙伴处获得的加密医疗记录,自动化核查理赔申请的合理性,提高理赔效率。
  • 风险评估与预防:通过对加密的保单持有人健康状况数据进行分析,保险公司能够实时更新风险模型,实施动态定价策略,并针对性地向客户提供预防性健康管理建议,减少长期赔付支出。
    在这里插入图片描述

2.SCQL CCL

1.CCL描述

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

总而言之,CCL是隐私计算中一种重要的机制,用于实现列级别的数据访问权限控制。通过使用CCL,可以确保敏感数据只能被授权的用户或角色访问,从而提高数据隐私和安全性。

2.CCL Examples

下面,用一个简单的CCL案例来加强你对CCL的理解与运用。
首先,src_column、dest_party和constraint分别代表

  • src_column:源列,即参与计算的数据列。
  • dest_party:目标方,即数据的所有者或接收者。
  • constraint:约束,定义了数据如何被处理和披露。

接下来,分别展示了CCL的两个示例:

  1. 示例一:

    • Alice拥有表ta,CCL描述的三元组如下:
      • ta.id,Bob,PLAINTEXT_AFTER_JOIN
    • Bob拥有表tb,CCL描述的三元组如下:
      • tb.id,Alice,PLAINTEXT_AFTER_JOIN
      • tb.col1,Alice,PLAINTEXT_AFTER_AGGREGATE
    • Alice想要执行以下查询:
      • SELECT tb.id, tb.col1 FROM tb INNER JOIN ta ON tb.id = ta.id
    • 这个查询不满足CCL要求,因为Alice试图获取Bob的tb.id和tb.col1,而这些列的约束是不允许明文披露的。
  2. 示例二:

    • Alice拥有表ta,CCL描述的三元组如下:
      • ta.id,Bob,PLAINTEXT_AFTER_JOIN
    • Bob拥有表tb,CCL描述的三元组如下:
      • tb.id,Alice,PLAINTEXT_AFTER_JOIN
      • tb.col1,Alice,PLAINTEXT_AFTER_AGGREGATE
    • Alice想要执行以下查询:
      • SELECT AVG(tb.col1) FROM tb INNER JOIN ta ON tb.id = ta.id
    • 这个查询满足CCL要求,因为Alice只请求了tb.col1的平均值,而这个列的约束允许在聚合操作后以明文形式披露。

在这里插入图片描述
总的来说,这个CCL示例强调了在处理敏感数据时,需要遵守特定的约束来保护数据隐私。

3.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查询,并在保证数据安全和隐私的前提下,提供准确和高效的查询结果。
在这里插入图片描述

这篇关于联手SCQL与CCL,护航隐私计算之路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/868641

相关文章

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

计算数组的斜率,偏移,R2

模拟Excel中的R2的计算。         public bool fnCheckRear_R2(List<double[]> lRear, int iMinRear, int iMaxRear, ref double dR2)         {             bool bResult = true;             int n = 0;             dou

GPU 计算 CMPS224 2021 学习笔记 02

并行类型 (1)任务并行 (2)数据并行 CPU & GPU CPU和GPU拥有相互独立的内存空间,需要在两者之间相互传输数据。 (1)分配GPU内存 (2)将CPU上的数据复制到GPU上 (3)在GPU上对数据进行计算操作 (4)将计算结果从GPU复制到CPU上 (5)释放GPU内存 CUDA内存管理API (1)分配内存 cudaErro

Java - BigDecimal 计算分位(百分位)

日常开发中,如果使用数据库来直接查询一组数据的分位数,就比较简单,直接使用对应的函数就可以了,例如:         PERCENT_RANK() OVER(PARTITION BY 分组列名 ORDER BY 目标列名) AS 目标列名_分位数         如果是需要在代码逻辑部分进行分位数的计算,就需要我们自己写一个工具类来支持计算了 import static ja

OpenStack离线Train版安装系列—2计算节点-环境准备

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版

新一代车载(E/E)架构下的中央计算载体---HPC软件架构简介

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。 无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。 时间不知不觉中,快要来到夏末秋初。一年又过去了一大半,成