隐私计算实训营 第1期|第8讲:隐语SCQL的开发实践丨笔记

本文介绍了SCQL的使用和集成最佳实践,包括其在隐私计算中的应用、部署流程、项目设置、CCL权限管理以及与MPC框架的交互。还详细讲述了如何通过SecretFlow和SecretNote平台进行上手体验。
摘要由CSDN通过智能技术生成

视频链接:第8讲(上):隐语SCQL的开发实践丨隐私计算实训营 第1期_哔哩哔哩_bilibili

第8讲(下):隐语SCQL的开发实践丨隐私计算实训营 第1期_哔哩哔哩_bilibili

具体内容如下:

一、SCQL使用/集成最佳实践

                对于单次查询,SCQL 在计算过程中提供满足 CCL 权限要求的数据机密性保护。
具体可以参考:SecretFlow

                SCQL目前仅开放了API供用户使用和集成,可以使用SCDBClient(类似Mysql Client)上手体验,也可以基于SCQL API开发封装白屏产品,或直接集成到业务链路中。对于SCQL而言,所有的请求都是以Query的形式表达,目前提供了两类接口,一类是用户异步提交查询再轮训结果,另一类是用户同步提交Query,等待Query结束后,返回结果。对于查询执行时间比较短的情况,例如DDL/DCL或者小规模DQL,推荐使用SubmitAndGet接口,更加简单。对于耗时比较长,规模较大的查询,更推荐异步接口。简单来说,自定义客户端应该为用户的 SQL 构建 HTTP 请求,提交到 SCDB 并解析 SCDB 的响应,其中SCDB即SCQL as a Database。

                SCDB 支持如下三种接口,Submit:异步 API,用于提交 SQL 查询并返回,服务器监听 ${SCDBHost}/public/submit_query;Fetch:异步 API,尝试获取 SQL 查询的结果,服务器监听 ${SCDBHost}/public/fetch_result;SubmitAndGet:同步 API,提交查询并等待获取查询结果,服务器监听server listen on ${SCDBHost}/public/submit_and_get。

                SCQL的使用分为3个流程,首先是部署系统(SCQL 支持两种部署架构:中心化和 P2P),其次进行项目设置(创建用户,Create User XXX PARTY_CODE party_code IDENTIFIED BY  'XXX' WITH auth_opt ENDPOINT endpoint,每个用户都隶属于某个参与方,目前一个参与方只允许创建一个用户;创建DB也就是项目,CREATE DATABASE XXX;创建表,即物理表在DB里的映射,CREATE TABLE XXX REF_TABLE=XXX DB_TYPE=XXX,这里创建表意味着将表名映射到现有的物理表,该物理表由 REF_TABLE 选项指定并位于查询发出方。在 SCQL 中,用户在虚拟表上运行查询,这有助于简化权限控制和使用;权限包括给用户授权和设置CCL, GRANT XXX ON XXX TO XXX),最后进行联合分析查询DQL。

                SCDB 提供了类似 SQL 的用户界面,与大多数 MySQL 语法兼容。

二、SCQL工作原理

                Secure Collaborative Query Language (SCQL) 是一种能够将 SQL 语句转换为明密文混合执行图,并在联合数据库系统上执行的系统。该系统的 MPC 框架由 SPU 提供支持,SCQL把SPU当作lib来使用。

三、使用SecretNote上手体验SCQL

        首先部署SCQL p2p节点,执行example/p2p-tutorial目录下bash setup.sh,setup.sh 脚本将为各方生成私钥,并交换各参与方的公钥,将公钥添加到 authorized_profile.json 配置中。之后通过docker compose 启动

        

        然后部署启动SecretNote(Both Alice and Bob)

        启动后如下图所示:

        在Alice侧创建项目,Add New Project,之后Bob Accept

        Alice添加数据表ta,Bob添加数据表tb,并分别设置CCL

        最后进行联合分析查询

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值