TICS端到端实践:企业积分查询作业开发
摘要:本次TICS端到端体验,将以一个“小微企业信用评分”的场景为例。
本文分享自华为云社区《基于华为隐私计算产品TICS实现端到端的企业积分查询作业【玩转华为云】》,作者:breakDawn 。
本次TICS端到端体验,将以一个“小微企业信用评分”的场景为例。
社保、水电气和资助金等数据统一存储在某某政务云,由不同的局进行管理,机构想单独申请进行企业相关评分的计算会非常困难。因此可以由某市政数局出面,统一制定隐私规则,审批数据提供方的数据使用申请, 并通过华为Tics可信智能计算平台进行安全计算。

数据准备
企业税收和资助金情况表tax(partner_gov,属于政府信息提供方,部署在用户计算节点agent_gov上)

企业政府资助金数据表support(partner_gov, 属于政府信息提供方,部署在用户计算节点agent_gov上)

企业水电情况表power(partner_power,能源信息提供方,部署在用户计算节点agent_pow上)

注意以上数据和表结构是根据场景进行模拟的数据,并非真实数据。
从业务角度考虑,我安排了五个阶段,来对TICS系统进行验证和测试。
阶段一:数据发布
首先第一步,肯定是要做好数据准备工作。
我们首先进入Tics服务控制台
在计算节点管理中,找到我们购买的计算节点,通过登录地址,进入计算节点控制台

登录计算节点后,在下图所述位置进行连接器的新建

输入正确的连接信息,以建立数据源和计算节点之间的安全连接:

建立完成后,看到连接器显示正常说明连接正常。

接着进入数据管理,进行数据集发布:

数据集发布动作参考如下:

然后我们以同样的方式,发布了 support资助金数据 表和power_data能源表。
这个过程并不会直接从数据源中导出用户数据,仅仅是从数据源处获取了数据集相关的元数据信息,用于任务的解析、验证等。
阶段二:隐私规则防护
数据集发布后, 作为数据提供方,肯定会担心数据是否可能被随意使用。因此第一步应该先确认tics的隐私规则能力是如何保护大家的数据安全的。
我们首先进入联邦分析的作业执行界面,点击作业创建

可看到如下的作业框,我们可按照下文提供的案例和sql语句进行作业测试。

假设有人试图直接查询敏感数据:
select
tax_bal, id
from
league_creator.tax
则可以看到被提示不支持进行敏感数据的SELECT操作。

如果有人试图拿敏感数据加上自己的数据, 从结果倒推敏感数据,如下所示:
Select
tax_bal + electric_bal
from
LEAGUE_CREATOR.tax a
join ZZZZZZ.power_data b on a.id = b.id
这个操作等同于求原数据, 这个操作也会被tics识别并提示出来。

阶段三:审批防护
上述隐私规则,都是tics系统提供的默认规则。
但规则的完善总是有一个过程的,在规则未完全完善之前, 作为用户,可能更愿意支持开启审批功能, 来进行更“灵活”的作业合法性确认。
如下图所示,当有人直接查询我的敏感数据时,我可以在审批详情中,看到对方试图让敏感字段在结果可见,那就可以由该提供方进行识别,并进行拒绝操作。

对于两个字段相加的情况,也可以在审批中看到相加的情况, 也能看到id是用来做join碰撞的用途。

通过查看字段是否可见, 以及字段用途,能够确认该字段的应用是否符合自己的安全预期。
阶段四:基本计算能力验证
下面场景是计算各企业在2021年的价值评分, 以用于评估信贷能力,其中的公式并非真实公式,仅仅是一个简单的参考计算式。
其目的是为了确认Tics的基础计算能力、
select
c.id as `企业id`,
0.5 * a.tax_bal + 0.8 * b.supp_bal + (0.05 * c.electric_bal + 0.05 * c.water_bal) * 0.1 as `企业评分`
from
Partner1.TAX a,
Partner1SUPPORT b,
Partner2.POWER_DATA c
where
b.id = c.id
and a.id = b.id
审批时可以看到如下的情况,涉及关联字段较多,其使用方式都能够在审批界面中展示出来。

执行结果如下:

可以看到基础的sql语法都能够支持。
并且从作业执行页面的提示上来看,已经支持了相当多的常用语法和sql函数。

阶段五:基于MPC算法的高安全级别计算
如果我度过了前期的demo验证阶段, 准备接入更高安全级别的数据, 就可能会希望提升数据保护级别, 以纯密文的状态做计算, 则我可以通过让开启高隐私级别开关,将联盟安全级别默认提升一个等级。
再次点击刚才的作业,审批时可以看到敏感数据被进行了同态加密。
从DAG图上可以看到 psi + 同态的全过程流向, 基本符合业界已公开的PSI算法流程和同态加密流程。


阶段六:统计型作业的差分隐私保护
假设有以下作业,试图统计各行业的企业税收总和 和用电量总和, 进行统计分析
Select
industry,
sum(tax_bal),
sum(electric_bal)
from
LEAGUE_CREATOR.tax a join
dayu002.power_data b
on a.id = b.id
group by
industry
但是这种统计分析型的作业, 有可能被作业执行方通过增删某个碰撞的id, 得到两次作业之间的差值,从而推算出实际taxpay和water_fee。
此时我可以通过开启差分隐私开关来保护自己的敏感数据, 这类作业则都会自动应用差分隐私算法进行加噪保护计算结果, 在一定误差范围内保证数据无法被恶意偷取。
以下是第一次执行作业时得到的结果:

可以从DAG图看到,我们在返回最终统计结果前,增加了一个差分隐私计算的任务节点。

接着再执行一个sql,这个sql中过滤掉了某个企业,试图用差值去计算这个企业的税收值。
Select
industry,
sum(tax_bal),
sum(electric_bal)
from
LEAGUE_CREATOR.tax a join
dayu002.power_data b
on a.id = b.id
where a.id <> '123400558'
group by
industry
这个企业的实际tax为274:

得到新的结果如下:

经过计算,66539.583321490225131 - 66078.857559963717677 = -461
可以看到并不会像使用者预期的那样直接得到实际的274差值,因此通过差分隐私算法保护了聚合操作的安全性。
华为伙伴暨开发者大会2022火热来袭,重磅内容不容错过!
【精彩活动】
勇往直前·做全能开发者→12场技术直播前瞻,8大技术宝典高能输出,还有代码密室、知识竞赛等多轮神秘任务等你来挑战。即刻闯关,开启终极大奖!点击踏上全能开发者晋级之路吧!
【技术专题】
未来已来,2022技术探秘→华为各领域的前沿技术、重磅开源项目、创新的应用实践,站在智能世界的入口,探索未来如何照进现实,干货满满点击了解
TICS端到端实践:企业积分查询作业开发的更多相关文章
- 美图App的移动端DNS优化实践:HTTPS请求耗时减小近半
本文引用了颜向群发表于高可用架构公众号上的文章<聊聊HTTPS环境DNS优化:美图App请求耗时节约近半案例>的部分内容,感谢原作者. 1.引言 移动互联网时代,APP 厂商之间的竞争非常 ...
- K2 BPM_【解决方案】K2+SAP:端到端无缝集成,为企业全面赋能提速_十年专注业务流程管理系统
企业数字化转型离不开信息技术的支撑,大部分企业的各项业务都会有专业的系统,比如ERP.BI.CRM等.但这些系统往往由于无法融合,造成信息孤岛.数据断层等问题,这阻碍了企业推动数字化转型的进程.如何实 ...
- 基于React Native的跨三端应用架构实践
作者|陈子涵 编辑|覃云 “一次编写, 到处运行”(Write once, run anywhere ) 是很多前端团队孜孜以求的目标.实现这个目标,不但能以最快的速度,将应用推广到各个渠道,而且还能 ...
- 详解APM数据采样与端到端
高驰涛 云智慧首席架构师 据云智慧统计,APM从客户端采集的性能数据可能占到业务数据的50%,而企业要做到从Request到Response整个链路中涉及到的所有数据的准确采集,并进行有效串接,进而实 ...
- JFrog推出全球首个支持混合云架构,端到端的通用DevOps平台 ——JFrog Platform
JFrog Platform,基于屡获殊荣的JFrog Artifactory制品仓库的独特能力,通过多合一的体验提供DevSecOps.CI / CD和软件分发的解决方案. 2020 ...
- 端到端TVM编译器(下)
端到端TVM编译器(下) 4.3 Tensorization DL工作负载具有很高的运算强度,通常可以分解为张量运算符,如矩阵乘法或一维卷积.这些自然分解导致了最近的添加张量计算原语.这些新的原语带来 ...
- BPM端到端流程解决方案分享
一.需求分析 1.企业规模的不断发展.管理水平的不断提升,通常伴随着企业各业务板块管理分工更细.更专业,IT系统同样越来越多.越来越专 业化.不可避免的,部门墙和信息孤岛出现了,企业的流程被部门或者I ...
- Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键?
本文主要介绍WebRTC端到端监控(我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信I ...
- 力软信息化系统快速开发框架 web端+winform端
力软信息化系统快速开发框架是一套集权限管理+快速开发+动态接口+通用组件+动态UI于一体的全新.net信息化快速开发框架.力软信息化系统快速开发框架的使用,大大地缩短了开发周期,提高了软件质量,同时也 ...
- 汽车行业解决方案_K2助力车企实现费控/生产“端到端流程”
如今汽车行业正面对一轮全球范围内新变革周期,这种“变革”一方面来源于在新能源技术.人工智能.信息技术.物联网技术等高新科技地猛烈敲击,另一方面源于全球的经济政策变幻莫测,贸易保护时代地到来,车企深陷发 ...
随机推荐
- 安装 Android x86 并开启 arm 兼容
安装 Android x86 并开启 arm 兼容 Win 11 下开启了 Hyper-v,尝试了各种安卓模拟器,要么不能设置代理(BlueStacks),要么/system目录没办法设置. 获取 A ...
- 每天5分钟复习OpenStack(八)存储虚拟化
KVM存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的.Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种类型,Volume 是在 Storage P ...
- 配置Linux使用ssh私钥登录
友情提示,该操作最好先保留密码登录的方式,等测试私钥可以登录了再根据需要关闭密码登录权限,以免引起不必要的麻烦!!! 一.服务器生成公钥和私钥 1.1.生成公钥和私钥 authorized_keys: ...
- 手撕Vuex-安装模块数据
前言 根据上一篇,[手写Vuex]-提取模块信息,我们已经可以获取到模块的信息了,将模块信息变成了我们想要的数据结构,接下来我们就要根据模块的信息,来安装模块的数据. 在上一篇当中我们定义了一个 Mo ...
- GPTs Hunter 是什么?
原文: https://openaigptguide.com/openai-gpts-hunter/ GPTs Hunter 是一个功能强大的免费导航网站,支持多语言,提供用户友好的界面. GPTs ...
- 文心一言 VS 讯飞星火 VS chatgpt (136)-- 算法导论11.3 2题
二.用go语言,假设将一个长度为r的字符串散列到m 个槽中,并将其视为一个以 128 为基数的数,要求应用除法散列法.我们可以很容易地把数 m 表示为一个 32 位的机器字,但对长度为r的字符串,由于 ...
- 七天.NET 8操作SQLite入门到实战 - 第二天 在 Windows 上配置 SQLite环境
前言 SQLite的一个重要的特性是零配置的.无需服务器,这意味着不需要复杂的安装或管理.它跟微软的Access差不多,只是一个.db格式的文件.但是与Access不同的是,它不需要安装任何软件,非常 ...
- Spring Boot 3.2发布:大量Java 21的支持上线,改进可观测性
就在今天凌晨,Spring Boot 3.2正式发布了!该版本是在Java 21正式发布之后的重要支持版本,所以在该版本中包含大量对Java 21支持的优化. 下面,我们分别通过Spring官方发布的 ...
- CentOS6-详细启动流程
CentOS6的启动流程 第一步:硬件启动阶段 本步的流程: 1. 打开电源: 2. POST自检: 3. BIOS逐一排查设备启动顺序,如果是硬盘启动,读取硬盘的MBR的BootLoader.(这里 ...
- js根据某属性对json数组分类
原数据: var arr = [ {name: '张三', age: 23, work: '计算机'}, {name: '王五', age: 29, work: '计算机'}, {name: '张兴' ...