X

干货分享 | 可信硬件在隐私计算应用中的技术路线与实践

本期导读

3月25日下午,隐私计算联盟(PPCA)、中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)联合举办“可信硬件在隐私计算中的应用沙龙”,锘崴科技创始人、董事长王爽教授受邀参会并发表《可信硬件在隐私计算应用中的技术路线与实践》主题分享,与来自中国信通院、华为等行业专家一道,深入研讨可信硬件在隐私计算中的技术路线、产业现状、应用场景和发展趋势。


演讲中,王爽教授从技术和应用两个层面对可信执行环境(TEE)进行了介绍,展示了锘崴科技基于TEE的典型案例,并进一步分析了TEE在实践中可能遇到的挑战与问题。下面将从王爽教授此次演讲中撷取精华干货予以分享。


TEE是通用性最高的技术路线之一

可信执行环境(Trusted Execution Environment, TEE)是计算机系统中一块通过底层软硬件构造的安全区域,通过保证加载到该区域的代码和数据的完整性和隐私性,实现对代码执行与数据资产的保护。


TEE主要功能包括远程认证、隔离运行、数据认证,从而保证数据只在提前被认证的合法节点间流动。以石油运输来比喻,数据类似于石油,TEE类似于石油运输管道,通过专用的管道(TEE)保证石油(数据)安全、合规地运往加工厂。

目前隐私计算主流技术可分为密码学和TEE两大方向,各自在信任机制、实现难度、灵活性和适用性上存在区别。其中,TEE具有运算速度快、语言更友好、算法更好用等特点,更适合商业场景落地和大规模商业应用,是目前隐私计算领域内通用性最高的技术路线之一。


相比于安全多方计算(MPC)和同态加密(HE),在相同场景下,TEE可以处理最高难度和大尺度数据,同时保证计算结果精度。TEE可以实现通用计算,支持多达几百方、几千方计算的场景,适合计算量大、复杂场景、需求变动快的应用场景。MPC/HE参与方一般比较适合有限参与方(两方至三方)的某些特定场景。

锘崴信®一体机

锘崴信®一体机是锘崴科技推出的、软硬件结合的隐私保护计算一站式解决方案。具有以下鲜明的特点:

①开箱即用:锘崴信®一体机架构融合自主可控的TEE、加速卡、加密卡、可信跟芯片以及安全容器等可信软件产品和可信硬件部件集合,开箱即用,大大降低企业搭建应用隐私保护计算平台的难度。


②标准化产品:锘崴信®一体机采用标准化模块,简化交付运维,快速适配业务,易于规模化批量部署。


③国产化支持:锘崴信®一体机可与主流的国产化CPU平台相互认证。

TEE性能优化

在锘崴信®一体机等TEE产品性能优化上,需要针对不同类型的任务采取不同的优化思路。


针对计算密集型任务,应当多线程优化,使用向量指令集进行并行加速。


针对内存密集型任务,需要优化每次加载至enclave的分块大小(match ~EPC and cache)以及建立缓存(Block Cache/User Managed Virtual Memory)避免重复加载数据。


针对IO密集型任务,则需要从减少context matching次数和ID matching两个方面进行优化。

TEE应用的典型案例

演讲中,王爽教授还展示了锘崴科技基于TEE的典型案例,其中包括全球首创隐私保护跨国医疗大数据分析系统等。


2015年,王爽教授带领团队和儿童罕见病联盟合作,完成了一项跨越三国(美国、英国、新加坡)的儿童川崎病研究。在这项研究中,采取了基于TEE和安全联邦学习的隐私保护技术框架:PRINCESS。


PRINCESS框架利用软件保护扩展(SGX)和硬件进行罕见病遗传数据计算和分析。与传统的国际合作模式不同,PRINCESS对加密数据执行安全的分布式计算,解决了医疗数据跨境流动难的问题,保证所有数据共享符合各国数据流动法规监管要求。


具体来说,利用SGX,PRINCESS可在受保护的飞地(Enclave)内隔离敏感数据进行分析。由于其不会对基于软件的技术(如基于乱码电路的FlexSC框架)和基于同态加密的HElib框架所共有的数据分析操作引入显著的计算负荷或大的限制,因此,使得安全的大规模跨国遗传数据分析在实践中可行。


TEE实践中的挑战

目前,TEE可通过远程认证,确保TEE中代码初始时的完整性;通过隔离执行,确保代码运行时不受外部攻击。但是TEE的代码可能存在bug,外界可以通过恶意输入触发漏洞改变程序控制流程,这需要专业工程师针对系统底层提供更安全的TEE代码。


此外,除程序被攻击导致泄密外,TEE还可能存在物理攻击和侧信道攻击等。这需要使用不同的方法来提供安全保护,比如机密容器。

与普通容器(docker)、安全容器(kata container,gvisor等)可能存在的攻击风险相比,机密容器结合TEE,实现容器和操作系统的双向隔离,可以最大程度上对计算过程提供保护。


目前,机密容器也面临一些挑战。在Library OS方案(graphene/occlum)中,其优点是可以直接运行大部分支持的程序,缺点是libOS的TCB比较大,效率较低,任何底层libOS出现漏洞都会导致整个系统出现漏洞。

对此,另一种折中的解决方式是Scone方案,其优点是TCB更小,不需要libOS,使用异步syscall接口实现syscall优化,在enclave内的线程管理;其缺点是与native SGX方案比,有额外的开销,且代码需要重新编译后运行。