闫守孟:机密计算,让数据可用但不可见

文/闫守孟,蚂蚁集团研究员、资深总监、可信安全计算部负责人、蚂蚁技术研究院计算系统实验室主任

从金融反诈骗说起

如果评选2023年的热词排行,“诈骗”一定名列前茅。这个世界仍如从前一样有很多强盗,只是他们不敢再明火执仗打家劫舍,而是增加了技术含量——比如通过诈骗的方式,让受害者把银行卡里的钱转给自己。

其实,每个银行都有自己的一整套“风控系统”,可以通过大数据计算的方法来判断哪笔转账可能是受骗者在“懵圈”状态下发起的——如果判断一笔转账存在风险,则马上拦截。

问题来了:不同的金融机构有不同的数据。

同样一笔从账户A到账户B的转账,用支付宝的数据计算,可能就知道它是诈骗引起的转账,不应该批准;可“XX银行”因为没有这些数据,就认为没有风险,可以转账;类推开去,“XX银行”知道有风险的转账,“YY银行”可能又不知道。

于是,骗子就学会了钻空子——让受骗者尝试不同渠道转账,直到某个银行恰巧没有这个风控数据,不拦截交易,他就诈骗成功了。

图片

面对“锲而不舍”的死骗子,最好的办法是啥呢?当然就是把支付宝和A、B、C、D银行的数据联合在一起进行计算,这样就相当于大家合穿了一套最强铠甲。

可现实世界往往有诸多无奈。受限于数据安全法规和公司利益,各家金融机构不能把自己的原始数据给别人,但又想享受这些数据联合计算以后的“风控能力”,非常拧巴。

这里就要引出本文的主题——机密计算了!机密计算可以对使用中的数据进行安全保护,达到数据可用但不可见的效果。用机密计算技术加持联合风控反诈场景,各个银行就可以在联合数据计算的同时,让自己的原始数据得到安全保障。

当然,数据的安全联合计算只是机密计算的一个应用,机密计算还可以用在大数据分析、大模型保护、大模型输入隐私保护、机密数据库、区块链隐私保护、云计算数据安全等众多场景。

什么是机密计算

机密计算是一种新兴的计算范式,旨在实现信任与算力的分离,保证数据在计算过程中的机密性和完整性。

结合传统的数据加密存储和传输技术,机密计算实现了数据在储存、传输和计算全生命周期中的安全闭环,允许数据在不可信的计算平台上使用。机密计算利用技术手段实现了数据的“可用不可见”和 “可算不可识”,开辟了新的应用场景,使能了新的商业模式,具有非常广阔的产业应用前景。

机密计算的技术核心是可信执行环境(Trusted Execution Environment,TEE),它是一种创新的数据隔离和加密处理技术,其重要特点是,TCB(trusted computing base可信计算基) 中仅包含应用自身和基础软硬件,即使OS内核等特权软件都已经遭到破坏甚至本来就是恶意的,TEE中的敏感数据和代码依然能安然无虞。

图片

TEE技术通过底层软硬件构造了一个隔离且可验证的执行环境,它的三个关键技术特点可以概括为:遗世独立、清者自清、与密不透风。遗世独立是指TEE与其它环境是强隔离的,高权限软件不能随意访问TEE中的代码和数据,清者自清是指TEE应用的拥有者或使用者可以通过密码学手段远程验证TEE的真伪以及TEE的软件和配置是否符合预期,而密不透风是指有些TEE会用硬件来支持内存加密功能以高效地防止某些物理攻击(内存加密通常是可选特性)。

机密计算发展现状

TEE实现 

基于ARM架构的TrustZone是公认的第一代TEE技术,但是由于它缺乏对 内存加密和远程验证的支持,同时难以支持开放性的应用部署,不能被直接用于实现机密计算应用场景。

机密计算概念的兴起和推广主要源于主流的处理器厂商推出的新一代的 TEE技术。2013年,英特尔发布了SGX技术白皮书,允许应用程序在云服务器上建立TEE。2016年,AMD推 出支持SEV技术的处理器,并在 2017年和2020年,发布了SEV-ES和SEV-SNP,用于弥补SEV的安全缺陷。2019年,IBM发布了基于IBM POWER9架构的可信执行环境 PEF技术白皮书。2020年,英特尔发布了TDX技术白皮书,基于虚拟化技术以整个虚拟机做为安全域进行机密性和完整性的保护。2021年, ARM发布了新一代可信执行环境CCA的技术白皮书。2022年,英伟达推出了GPU TEE,用于保护GPU上的数据的机密性和完整性。

商用CPU TEE存在异构架构不兼容、黑盒实现不透明、信任根绑定CPU不可控等问题,给机密计算带来了巨大的应用挑战。为应对上述问题,近年来业界出现跨CPU的通用开源TEE 方案。其中,比较具有代表性的HyperEnclave开放跨平台TEE ,在异构CPU上基于广泛支持的虚拟化硬件构建安全边界,提供统一的TEE抽象;其代码完全开源,做到了开放透明;基于可信计算TPM构建信任根,可托管到国家权威机构,实现信任根的可控性。

TEE基础软件

商用硬件厂商提供进程级的TEE(如 Intel SGX),保护应用程序使用的数据, 并实现运行在隔离飞地中的应用的强大安全隔离。然而,虽然硬件限制了外部操作系统对隔离飞地内敏感数据的访问,但也要求对应用程序做出一定修改以提高其安全性,从而降低了软件兼容性。例如,Intel SGX为了降低飞地内软件的可信计算基,要求应用程序被拆分成可信和不可信的部分,并禁止飞地中的可信部分直接使用操作系统接口,导致无法兼容现有软件栈。因此,涌现出一系列工作,探索如何在飞地内实现操作系统复杂接口和抽象,同时保持较低的可信计算基。

Haven是第一个在硬件提供的TEE中引入兼容线程、虚拟内存以及文件 I/O语义的LibOS。Graphene-SGX是第一个开源的SGX LibOS ,它使用不同的飞地来支持多进程,因此多进程应用会遇到较大的开销。Occlum是第一个用Rust语言开发的开源LibOS,采用单个飞地来支持多进程,提高了多进程应用的性能。为了降低飞地内的可信计算基,SCONE和Panoply将操作系统(或者C库)的实现从飞地中移除,直接复用飞地外不可信操作系统的实现,并对外部操作系统的返回进行安全检查。SCONE和Panoply的设计虽然降低了可信计算基,却增加了飞地与外部的通信复杂度,面临接口层交互带来的安全威胁。

除了上述机密计算操作系统,还存在一系列机密计算应用开发框架,一般要求对应用进行分割,应用开发门槛较高。例如,Intel SGX SDK是由 Intel官方开发的开发框架,而OpenEnclave SDK 则是由微软开发的一套跨不同的TEE平台开发框架。Teaclave Rust SGX SDK开发框架使用了Rust语言,将Rust的内存安全特性引入了机密计算应用的开发过程中。Enarx开发框架则是直接复用WebAssembly工具链的跨语言能力以及运行时安全检查能力。

产业落地

机密计算已经在国内外云平台落地。目前, 国外的微软Azure云、亚马逊的AWS和谷歌云,以及国内的阿里云和腾讯云都支持了基于TEE的机密云计算平台。不仅如此,多家业界头部企业组建了机密计算 联盟,加快了TEE技术的标准化和商用化进程。

目前TEE的应用落地,重点聚焦在云计算、区块链、大数据分析、机密数据库、机密大模型、大模型隐私保护、多方联合计算等领域。例如,国内大型银行、通信运营商、蚂蚁集团、锘崴科技等在金融、保险、政务、医疗等敏感数据计算领域进行了应用部署。

国内机密计算产业演化 

随着机密云计算、隐私计算等应用场景的发展,国内机密计算产业也取得了一定成果。我们从TEE厂商、机密计算基础设施、机密计算系统软件、机密计算应用系统等几个角度来介绍。

首先,我国在TEE的硬件实现方面取得了一定的进展。在2019年之前,来自国外厂商的方案是无可争议的市场主流,其中Intel SGX又居于主导性地位。其后, 随着对国产 TEE 的需求逐渐增长,国内厂商也陆续推出了支持TEE的CPU。例如,海光CPU支持CSV(China Secure Virtualization),华为和飞腾的服务器CPU则支持ARM TrustZone。蚂蚁集团开源的HyperEnclave则更进一步,可支持 所有具备虚拟化特性的国内外CPU,且信任根独立于CPU,更为可控和灵活。

此外,国内涌现出一批聚焦机密计算基础设施的公司。例如,浪潮、超聚变等提供机密计算服务器,蚂蚁集团、冲量在线、锘崴科技等提供机密计算一体机,而 阿里云、腾讯云提供机密计算实例。

值得一提的是,我国产业界相对国外较早认识到了异构TEE之间的互联互通可以帮助企业和机构充分利用现有资源,或快速使用新增资源投 入生产。例如,北京金融科技产业联盟,组织了专项产业研究课题,由中国工商银行股份有限公司、蚂蚁科技集团股份有限公司牵头,联合20家单位共同研究攻关, 形成了以“统一远程证明流程抽象”为核心的TEE互联互通接口,并率先完成了 包含5套主流TEE方案的互联互通验证。

国内厂商在机密计算系统软件方面投入较大。一方面,出现了若干国际上颇具影响力的开源项目。Teaclave Rust SDK发源于百度安全实验室,现在是Apache社区孵化项目,是一个基于Intel SGX SDK 的 Rust扩展,被国内外众多开源项目采用。Occlum发源于蚂蚁集团,后来捐献到机密计算联盟社区, 现已成为针对Intel SGX的具有主导地位的开源TEE OS。CNCF项目Inclavare Containers则基于Occlum等TEE OS,将机密计算扩展到容器生态。另一方面,诸多科技大厂都推出了机密计算技术产品,例如,阿里云在公有云提供全加密数据库产品服务,火山引擎推出了Jeddak数据安全沙箱,而华为云则提供TICS可信智能计算服务。

国内机密计算应用呈现百花齐放的态势,涵盖了金融、医疗、政务等领域的众多机密数据融合场景。相应地,涌现了一批提供机密计算应用解决方案的创业公司,例如冲量在线、翼方健数、锘崴科技等等。蚂蚁链基于机密计算实现区块链链上数据隐私保护,并基于Occlum构建了具备处理海量数据规模和AI隐私保护推理能力的MAPPIC分布式可信数据处理平台。百度点石机密计算平台,基于Teaclave SGX Rust SDK和 Occlum实现金融反诈、生物计算、和政务数据开放应用。网商银行基于分布式机密数据库集群,构建密态时空大数据计算范式,生成更有效的信贷风控和运营策略。从公开资料看,国内有不少银行(如工商银行、浦发银行等)和大型通信公司(如中国移动)都在探索基于机密计算的数据协作方案。

总体来看,国内机密计算产业呈现出我国IT产业的普遍特点——在实际应用方面与世界基本齐头并进甚至显示出更加繁荣的态势,但在基础技术方面与世界先进水平仍有差距。如果把基础技术分成系统软件和计算硬件两层来看,可以说 我国在机密计算系统软件方面基本达到了世界水平,尤其是在TEE OS领域甚至 局部有所领先——相对于明文计算,机密计算实际上给我国系统软件在全新赛道超车的机会。另一方面,我国在机密计算硬件方面与国外有较大差距,主要表现 在:第一,并不是所有国产 CPU都支持TEE;第二,国产TEE的实现并不完备,比如ARM架构的国产CPU TEE就没有原生的远程证明支持,而x86架构的国产CPU TEE的安全性还存在若干明显安全问题,不宜直接当作安全可信的TEE实用;第三,国产TEE还没有经过大规模场景试练,真实安全性有待验证。

未来展望 

面向未来,我们建议以国内丰富的机密计算应用为抓手,以有长足进步的国产机密计算系统软件为支撑, 以国内大量安全研究人才为蓝军,对国产TEE有意识地打磨,丰富国产TEE 能力集并提升安全性。尤其地,可以通过开源来增强TEE的透明性和开放性,通过协作来提供更加统一的TEE用户抽象,通过信任根托管权威机构来增强TEE的可信性。通过开放的机密计算生态建设,促进我国机密计算产业从应用、系统软件、到硬件基础的全面提升。

文章来源:中国计算机学会官网,如有侵权,请联系我们删除。

相关新闻

联系我们

联系我们

18055100335

在线咨询:点击这里给我发消息

邮件:support@anyong.net

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
SHARE
TOP