1、隐私计算新思路:可信密态计算潘无穷 蚂蚁科技集团股份有限公司 高级专家|01背景02TECC技术路线TECC的主要性质是什么样的03TECC实现现状介绍我们团队现有的实现情况04总结和展望对之前讲过的主要内容进行总结目录CONTENT|哪些客观事实促使TECC的提出|01背景哪些客观事实促使TECC的提出|迈入密态时代数据流通是必然的评估消费情况发现犯罪团伙 同行业 跨行业 稀缺数据密态流通是主要形式 安全 合规 商业明文传播导致泛滥评估偿还能力|密态计算的难度远远超过传统密码算法传统加密:在密文上做传输甲加密解密乙甲加密加密乙密态计算隐私计算:在密文上做计算解密加、乘;异或、与;比较、移位、
2、选择除、log、ex、sinx、;地址访问、查询、排序、联合机器学习、数据分析(类型转化)不是天然支持所有算子 支持的耗时不一致 底层差异导致上层需重新设计|部分算法存在恶意敌手攻击、合谋攻击恶意敌手:攻击者不遵守协议。部分算法假设不会出现敌手。合谋攻击:多个攻击者合作。部分算法假设不会出现合谋攻击。会不会出现恶意敌手?答:大概率会的,攻击者没有道理去遵守协议。会不会出现合谋攻击?答:在数据利益足够大的时候会。第三方:预计算乘法对甲乙甲乙|部分算法存在信息熵泄露信息熵泄露:原始信息的运算结果被泄露,导致原始信息的不确定性减少。更新样本导数下一棵树乙(特征+标签)甲(特征)计算分桶导数和计算分桶
3、导数和下一个节点计算分裂得分选取最优分裂划分子节点明文密态明文某著名的隐私XGB算法:信息熵泄露会不会带来安全问题?答:视规模而定 量小,风险可控。量大,大概率存在有效攻击形式。泄露量会累加,长期可能很大|性能是算法类隐私计算技术最大障碍甲:x发送y的密文:Enc(y)乙:y,密钥(pri,pub)产生随机数rz1=-r在密文状态下计算:Enc(xy+r)z2=xy+r解密获得xy+r一个抵御合谋攻击的密态乘法:z1+z2=xy密态耗时分析:加解密:1ms级网络往返:10ms级传输耗时:100us级(按1000比特、10mbps 网估算)明文耗时:一个CPU时钟周期,大概0.3ns耗时膨胀5-
4、7个数量级,少量场景适用,不适合大规模的密态数据中心。|系统实现漏洞SGAxe:CVE-2020-0549侧信道攻击分支预测类攻击微体系结构攻击Specture:CVE-2017-5753、CVE-2017-5715、CVE-2017-5754、CVE-2018-3640、CVE-2018-3639、CVE-2018-3693LVI:CVE-2020-0551CrossTalk:CVE-2020-0543ZombieLoad:CVE-2019-11135、CVE-2018-12130Fallout:CVE-2018-12126RIDL:CVE-2018-12127Lazy FP state r
5、estore:CVE-2018-3665Plundervolt:CVE-2019-11157软件层硬件层供应链内存安全、开放的动态反序列化(ODD)等CVE-2020-25459|02TECC技术路线TECC的主要性质是什么样的|可信密态计算TECC大数据联合建模主要原理:参与方将数据密态拆分,将每个分量传递给不同分区的可信计算节点。每个可信计算节点只有分片数据,多个TEE分区通过密码协议完成目标计算。可信计算节点受TEE、TPM、全栈可信保护,运营者无法窥探。密码协议的同一个角色由一个TEE分区集群承担,可以进行并行化加速。参与方1参与方2参与方3大数据联合分析PythonSQLLRXGBP
6、SI计算节点调度层TECC TECC 计算集群参与方4计算节点A2计算节点A1全栈,TPM,TEE计算节点B2计算节点B1全栈,TPM,TEE计算节点C2计算节点C1全栈,TPM,TEETECC通过在多个高速互联的可信执行环境中运行密码协议,将两者有机地结合在一起,安全性可抵御现实攻击,成本低于一个量级,性能和稳定性接近明文。|TECC整体安全模型TECC验证TEE全栈可信TEETEE彼此验证全栈可信TEE节点B1TEE全栈可信TEE节点C1TEE全栈可信TEE节点C2全栈可信TEE节点A2TEE全栈可信TEE节点B2TEE节点A1全栈可信参与者验证验证验证彼此验证彼此验证彼此彼此验证彼此验证
7、彼此验证本地程序,绝对信任经远程验证后信任经信任的TEE验证后信任拆分逻辑TEE验证 参与者通过TEE远程认证技术确认TECC节点行为如预期。全栈可信、TEE、密态分片形成三层纵深防御,既防黑客也防运营者。全栈可信阻断攻击TEE的前提条件。密态(分片)形式消除TEE的大部分安全隐患。TEE可防御恶意敌手攻击、合谋攻击。|TECC实现安全性(软件层)TECC的核心代码是Rust语言。采用Rust编程语言需要一些额外的开发成本,包括注明变量的所属关系及所属关系的转移等。可以避免变量被非预期的代码访问、以及因为内存越界或多线程冲突导致的安全问题。对于生态中的非Rust代码,使用形式化的方法进行验证,
8、能够确保特定的安全问题不会出现。目前TECC的实现已经验证了内存安全问题。|TECC实现安全性(硬件层、供应链)内存总线TEE电源线调用接口地址信息能量曲线敏感信息TECCTECC抵消侧信道攻击:分片数据不作为地址和判断条件TECC中不成立操纵输入CPU多次执行分支1突然转向分支2CPU惯性执行分支1TECC中不成立TECCTECC抵消分支预测攻击:输入数据不会作为判断条件x1 y1z1 u1 v1 w1TEE ATEE Bx2 y2z2u2 v2 w2TECC中不对应同一个明文TECCTECC缓解微体系采样结构攻击:多个TEE泄露的分片数据不对应同一个明文地址判断条件TECC缓解供应链攻击:
9、有隐患的TEE放到同一个分区,全部沦陷无安全问题。维修过的主机/TEE计算节点集群A计算节点集群B计算节点集群C全栈,TPM,TEE全栈,TPM,TEE全栈,TPM,TEE正常的主机/TEE正常的主机/TEE|TECC性能可接近明文。A1B1C1A2B2C2AtBtCt密码协议角色A密码协议角色B密码协议角色C。子任务1目标任务子任务2子任务t。1、TECC对密码协议的需求仅为“密态数据”,可采用轻量级的密码协议。2、内网带宽高达25gbps以上。3、通过并行化再提升1-2数量级。|适用性优点一:多种安全和成本选择密态计算甲乙丙丙甲甲丙丙乙乙乙甲密态结果优点二:任意参与方数量、不同数据分割形式
10、,代码相同相同逻辑的多种情形,代码相同比如PIR、密态数据库缺点一:需要将逻辑密态化。通过提供通用接口兼容现有生态,可缓解该缺点。|成本和稳定性成本:稳定性:无公网交互,稳定性高。设备:膨胀1个量级,性能可接近明文网络:无额外公网成本人力:接入、运维、部署成本低|03TECC实现现状介绍我们团队现有的实现情况|TECC隐私机器学习样本数 环境参数机器学习参数耗时80w16核128G容器12台30棵/4层、分桶数13、特征数84和1332.2分钟1000w16.2分钟耗时情况:机器学习效果:指标明文训练30/4/13TECC训练30/4/13TECC训练50/4/13AUC0.8510.8430
11、.851千一打扰召回率0.1310.1090.123准确率0.5080.4620.493百一打扰召回率0.3340.3160.330准确率0.2080.1990.206TECC XGBoost隐私机器学习训练:全程密态运算、大运算全部分布式密态压缩传输、传输均衡技术有效位精控、多版本比较更新导数分桶求和最优分裂划分节点TEE A1,B1,C1密态解压更新导数分桶求和划分节点TEE A2,B2,C2密态解压更新导数分桶求和划分节点TEE At,Bt,Ct密态解压密态|TECC密态数据分析TECC 密态数据分析:TECC Pandas原生接口、Rust安全编程语言Encrypt in&Encryp
12、t out、非交互式-保证密态分析可以连续进行O(n)的乱序操作-保证连续密态分析不会累加(或产生)泄露量排序耗时情况:规模环境乱序快排重建总时间(分钟)1000万、200列32核128G容器6台0.150.160.150.475000万、200列0.720.830.712.33密态数据结构算法用户自定义Python代码TECC Pandas接口层基础运算+,-,*,/,=,+=,-=,*=,/=,=,=,=,!=数学运算Reciprocal,sqrt,log2,exp,sin,cos,tanh,sigmoid统计运算求和、平均、方差、最大最小值、最大最小值位置、分位数表操作表提取、表拼接、选
13、择、排序、Join、分组、分组后聚合基础算法|04总结与展望对之前讲过的主要内容进行总结|TECC将与计算生态进行深度融合提供者1不限参与方数量TECC 集群密态数据基础算子高级算子集群提供功能用户定义功能业界通用接口pandassparkTensorFlowPSI特征工程LRXGB提供者2提供者3使用者1使用者2不限数据形式访问规则允许数据托管全密态功能生态已有功能|总结TECC提供了非常优异的综合能力:安全:三层防御,Rust,抵消硬件漏洞性能:轻量级密码、内网、并行化适用性:多种成本选择、通用算法成本:一个量级以内稳定性:内网1小时处理亿级样本隐私机器学习、10分钟处理亿级行数密态数据分析。非常感谢您的观看|