观点分享 | 冲量在线联合创始人&CTO陈浩栋:服务端TEE技术的探索实践与思考
北京冲量在线科技有限公司联合创始人&CTO陈浩栋介绍了TEE可信执行环境的技术概况、结合TEE的软硬件结合隐私计算方案以及TEE服务端的应用案例。冲量在线使用TEE的软硬件提供数据安全可信高效流通的基础能力,针对多方联合隐私计算和机密计算的不同场景需求进行平台化加强。TEE隐私计算一体机产品集数据计算、数据交易功能于一体,提供最优的硬件性能调配,内置加速芯片与安全启动芯片,已在应用中体现出丰富的场景适用性。在机密计算场景中,冲量在线推出了机密计算SaaS解决方案,并与国产化GPU厂商合作研发了TEE GPU的安全扩展功能,能够将CPU端TEE机密性扩展到GPU设备,支持深度学习模型的升级运行。陈浩栋认为TEE为主的硬件安全将会逐步覆盖到数据流通中完整的计算链路中,各类计算芯片都将会统一度量和认证的标准,为软硬件结合的数据流通体系提供完整的硬件安全基础。
附部分演讲PPT:
PART 01:可信执行环境TEE技术展望
隐私计算作为公认解决数据流通安全问题而生的技术,其包含三种技术路径:多方安全计算、联邦学习、可信执行环境(TEE),其中可信执行环境可以兼并隐私安全和性能。

在过去的几年TEE进入了加速发展时期,2022年英伟达提出了全球第一个异构计算芯片GPGPU上的TEE功能,保证GPU的执行过程可信机密。并且于同年下半年,微软、谷歌等国际头部计算机芯片厂商联合AMD、英伟达等硬件厂商提出了Caliptra标准规范,旨在用开源芯片设计和规范标准化数据中心服务器里信任根的实现,把不同类型的芯片的度量方式和认证接口做统一。
由此来看,未来的2-3年是服务器端TEE快速普及的时间节点,同时可信执行环境会逐步覆盖到各种具备计算能力的芯片上,不仅仅局限于CPU。
PART 02:TEE安全特性与实现

TEE具备三个最基本、最通用的安全特性,第一是数据机密性,也就是在TEE当中运算的数据无法被查看,不会泄露;第二是数据的完整性,可以保证数据在计算过程当中不会被篡改;第三是保证代码的完整性,即在TEE当中执行的代码和预期的一致,第一个特性主要是通过TEE的隔离机制来保证的,第二和第三种特性是通过度量和背书证明对外保证。
PART 03:TEE软硬件结合隐私计算方案

在数据流通系统中,一共有三类流通要素需要撮合,包括数据、算法和计算算力。由于各个要素之间彼此并不一定在同一个机构域内,所以跨域的可信和隐私性保护是各要素能够流通起来的前提。在目前的方案中,一是通过数据水印、结合区块链的数据确权、合约定价以及数据NFT技术来保证数据的可溯源可验证能力。二是通过隐私计算基于密码学协议的算法以及基于TEE的计算程序可验证度量保证算法的安全性和可验证性。而计算算力上,冲量在线基于可信执行环境可以在智算、超算、私有云和混合云上提供可验证的可信执行环境。这些可信技术与区块链去中心化技术进一步结合就可以派生出像可信分布式身份DID、数据确权、可验证计算、数据血缘等等数据流通当中必备的可信溯源能力。
整套系统裁剪后则可以服务两大场景,经典的多方联合隐私计算场景与机密计算场景。包括联合统计、联合建模、数据交易、AI SaaS以及数据密态沙箱等数据流通中常见的应用需求。

在经典隐私计算结合多方数据的场景下,冲量在实际落地项目及产品快速迭代的过程中逐渐打磨出了三大基本功。首先是数据平台生态的能力,即具备对接到不同客户的数据底座能力,包括与不同种类数据源、数据平台的对接,遵守各行业客户大数据部的数据治理标准规范流程等。其次是硬件层面,冲量可以将不同种类的TEE硬件在底层打平,抽象成一套密态计算资源,灵活调用。最后围绕算法本身,能够支持高性能的分布式能力,比如Spark、机器学习框架等;以及现有算法工程师自研的算法也可以快速的迁移到平台上。
冲量一站式平台包括数据互联平台,即隐私计算平台,解决数据使用的安全问题;数据交易平台,提供关于数据确权,血缘跟踪,交易管理等相关能力;AI开放平台,提供AI深度学习的SaaS化一站式解决方案能力。

以上平台都是在TEE的硬件基础上来搭建,为保证交付形态的友好性,除了支持软件私有化部署外,冲量也推出了一体机产品,把软硬件打包共同交付,将软硬件资源性能调配到最优,同时可以把TEE的安全能力扩展到更多的异构加速设备上面,通过TPM/TPCM等来统一整个计算平台硬件信任根。
目前,冲量在线已经与国内全部主流芯片厂商达成合作,包括X86、ARM、自主架构,既满足信任根和信任链完全国产化、自主可控的要求,同时也可以保证产品开箱即用,迅速投入到生产环境当中。

在机密计算的软硬件结合的实践方面,目前仍存在瓶颈点,即基于TEE的计算环境对于上层应用,如编程框架、基础库、硬件的异构环境等均存在局限性。冲量在线打造的机密计算SaaS平台,解决了和传统应用,如工具链,依赖库,客户管理平台的衔接问题,另一方面用平台化的思路去提供在线服务,降低应用程序本身改造的代价。
由于应用程序方面存在敏感数据的输入,模块之间的传输,需要按照机密计算的要求去改造,我们抽象出来三个复用性最高的基本组件,包括算力管理子系统,把TEE硬件抽象成私有云,可以将计算资源进行灵活调度;算法管理子系统,提供适配TEE的算法开发框架;安全管理子系统,提供在线的接口层服务,具备安全扩展的特性,例如远程认证,度量、挑战、以及数据封存的IO接口。
软件层面,机密计算SaaS平台纳管了两类应用,包括在线的机密计算任务,以及离线的批处理任务。SaaS平台可以集成到信算云等管理平台,也可以独立的提供服务。

硬件层面,融合异构加速硬件的可信执行环境,核心问题是如何把CPU端的TEE能力扩展到GPU上。当前把CPU端TEE特性扩展到GPU端的实现思路主要有直通模式和代理模式两类。直通模式要求GPU内核态调用可以在TEE中实现,代理模式是通过调用转发的形式在用户态完成数据密态的设备通信。两种方式都可以实现GPU度量和认证、PCIe总线加密、显存加密控制。冲量在线和国产GPU厂商在不同路径上都进行了原型验证,并已经针对生产环境的模型进行过安全性和性能验证,实现涉及包括对TEE-OS内核、GPU驱动、GPU runtime的修改。目前的方案能够对应用层模型保持兼容友好性,且性能加速比与明文计算环境中GPU的加速比接近。当GPU厂商进一步将密码计算逻辑硬件化后,性能优势有望进一步释放。
PART 04:TEE服务端应用实践
冲量基于TEE服务端典型软硬件结合的应用实践主要有两个。

第一个是基于TEE的数据机密计算沙箱,让数据使用方直接可以使用线上原始的数据进行回测,但同时保证数据的机密性。一方面要保证数据分析算法全部在沙箱中运行,那另一方面数据管理方需要验证机密计算的算法,是否和他报备的一致,继而从数据湖里面把原始的,例如线上数据加密之后,放到机密计算沙箱里做,严格保证没有数据落盘,可以通过TEE接口关闭实现。我们在运行TEE计算容器之后,内存里面的这些数据即使是加密状态,也要在TEE当中做销毁,清理掉它的运行环境,所以最后的结果就是数据使用方只能获取这个回测的结果,一般这种就是模型在线上数据集上的一个评价指标,所有计算过程当中,数据都是通过TEE直接推到审计平台里面,比如检索的语句、数据字典、数据哈希、算法的度量值、运行的结果等都会存证到审计平台上。

另一个是关于机密计算在金融场景中的应用。在开放银行的背景下,AI SaaS服务如何通过应用TEE技术手段解决业务痛点,即在AI场景中,模型提供方与服务使用方不互信的前提下同时保证推理特征与模型的机密性。机密计算可作为基础框架,隐私计算平台纳管多个机密计算节点为工作节点;将诸如OCR算法、待推理数据(如合同、发票等)运行在机密计算节点上,客户的合同和发票等敏感数据不会被落盘和泄漏,实现数据方和模型方的互信。
硬件安全和密码学安全同样重要,是保证数据流通安全的基石,软硬件结合一定是隐私计算必要的手段。下一个五年TEE为主的硬件安全理念预计会逐步覆盖到数据流通完整计算链路的过程,所有参与到机密数据流通的芯片都将具备度量、认证的基础能力。这也是冲量在线未来的努力方向。