机密计算在金融数字化中的应用
作者:中国银联股份有限公司 袁航 陈钟正 邹奋 周雍恺 高鹏飞
随着数字技术的不断发展,数据已成为关键生产要素,数字经济也成为我国当前发展的重要引擎。在保障数据安全的前提下,实现数据流通和共享,有效激发金融数据潜能,成为金融业数字化转型升级的关键。当前,数据保护技术大多聚焦在网络传输和数据存储阶段,而缺少一种通用的安全技术对计算中的数据进行防护。对此,本文提出基于机密计算构建金融可信基础设施的方案,借助机密计算硬件安全能力构建全生命周期的金融数据安全闭环,为金融数据的安全应用及价值创造提供有力支撑。
一、机密计算技术产生的背景
目前,我国金融业已建成较为完善的基于IT技术的金融服务体系。因此,在社会整体由信息化向数字化发展的过程中,数字化转型也成为金融业发展的必由之路。随着金融数字化转型的逐步深入,金融数据安全风险不断增多,如金融数据传输网络在端侧依赖于公共通信网络,金融服务网络出口不断增加,数据处理链条不断加长等,都带来了一定的安全风险。数据安全是系统性问题,虽然我国目前已经构建了相应的法律框架,但仍需要大量具体的技术给予支撑。在互联网时代,就已经诞生大量的数据应用安全防护技术,但这些技术对数据的保护大多集中在网络传输和数据存储阶段,如HTTPS、TLS、磁盘加密等,而在核心的数据使用或计算阶段,则缺少一种通用的安全技术,使得数据计算成为数据整个生命周期中安全防护较为薄弱的阶段。在此情况下,机密计算技术应运而生。作为一项新兴的突破性技术,机密计算基于服务器的物理硬件,可实现对计算中数据的隔离和加密保护,即使是物理服务器的所有者,在未获得授权的情况下也无法侵入机密计算环境中获取数据。因为机密计算是基于基础设施硬件而保障数据安全,所以其计算效率更高、通用性更强,可应用于数据合作、云计算、物联网等多个场景中。可以预见,机密计算技术将成为推进数据要素市场建立的重要支撑技术,也将成为金融行业防护数据安全必备的基础性技术。
二、机密计算技术介绍
1.机密计算技术概述
机密计算是一种在受信任的硬件基础上配套相应的固件和软件,构建加密、隔离、可证明的计算环境,保证环境内数据和代码的机密性、完整性以及运算过程机密性的计算模式。机密计算的主要目标是借助具有通用计算能力的可编程硬件可信执行环境(TEE)对使用中的数据进行保护。
2.机密计算技术发展情况
当前,多家芯片厂商相继推出了机密计算解决方案,国外一些科技巨头如亚马逊、谷歌、微软、IBM等持续加大力度布局机密计算产品,国内一些大型厂商如阿里、腾讯、百度、华为也相继推出了机密计算相关产品。近年来,随着国内外监管部门对数据安全提出更高要求,机密计算在金融、银行、医疗、保险等行业的应用快速增长。
3.机密计算核心特性
(1)机密性
机密计算通过为运行状态下数据和代码提供保护,可保证运行时这些信息不泄露给非授权的用户或实体。该特性在多用户系统(虚拟化和公有云)中尤其重要,能有效防御潜在的内外部攻击。
(2)可信保证
一是确保运行环境的可信。经过身份验证的启动可以确保信任链上的每一阶段都是在前一阶段的安全保证下启动。启动后远程用户可对运行环境进行验证,保证应用是在可信的环境中运行。二是保证用户自定义代码的可信。机密计算可以提供用户当前应用状态的证据或度量值,并支持远程用户进行验证,保证相关软件和数据未受到恶意篡改。
(3)可编程性
机密计算支持用户自定义运算逻辑代码,以便用户通过机密计算提供的基础功能设计上层应用服务。
三、主流机密计算技术安全能力研究
机密计算技术流派较多,本文只对SGX、CSV和TrustZone三种主流机密计算技术的安全能力进行研究。
1.基于机密进程架构的SGX数据计算安全实现
(1)SGX内存数据加密
芯片中的内存加密引擎(Memory Encryption Engine,MEE)负责确保内存的机密性和身份验证。SGX预留了一个称为“处理器保留内存(PRM)”的内存区域,与Enclave相关的内容都存储在该区域或缓存中。PRM中的数据为加密状态,当CPU对内存进行访问时,需要由MEE对PRM内存数据进行解密后使用。在CPU计算完成后,MEE再负责对写入内存的数据进行加密。
(2)SGX内存访问控制
CPU拒绝所有非Enclave代码对PRM的内存访问,包括操作系统内核、Hypervisor和SMM的访问,以及来自外围设备的DMA访问。PRM内存区域分为若干4KB大小的Enclave Page Cache(EPC)页面,用于存储Enclave代码和数据。同时,CPU使用Enclave Page Cache Map(EPCM)跟踪每个EPC页面的状态,以确保每个EPC页面只属于一个Enclave。SGX RPM的内存访问控制检查发生在地址转换之后、转换结果写入TLB之前。这种控制检查是通过在虚拟地址到物理地址转换之后增加几个验证来实现的,具体的访问控制检查流程如图1所示。
2.基于机密虚拟机架构的CSV数据计算安全实现
(1)CSV安全虚拟机隔离
CSV是AMD-V架构的扩展,支持在物理节点中启用多个加密虚拟机。CSV内部使用ASID(Address Space ID)来区分不同的加密虚拟机,每个加密虚拟机使用独立的Cache、TLB等CPU资源,实现加密虚拟机、主机之间的资源隔离。同时CSV也会使用ASID标记虚拟机所有的代码和数据,从而明确数据来自哪个虚拟机或发往哪个虚拟机。
(2)CSV内存加密
CSV具备安全内存加密能力,内存数据加/解密通过片内控制器中专用的高性能SM4加/解密引擎来执行。操作系统或虚拟化层可对加密内存进行管理,通过设置内存物理地址的第47位(也被称为C位)来标识该内存是否被加密(C位标识为“1”的被加密保护)。当CPU向物理地址C位为“1”的内存中写入或者读取数据时,都要通过SM4引擎进行加/解密操作。
3.基于机密物理机架构的TrustZone数据计算安全实现
TrustZone机密性保护的核心机制是内外部资源的硬件隔离。在设计上,TrustZone数据计算安全实现主要依赖于在系统总线上针对读写增加的一个额外控制信号位,这个控制信号位叫作Non-Secure或者NS位,是AXI总线针对TrustZone作出的最核心的扩展设计。总线上的所有主设备在发起操作时都会设置相应的信号,总线或从设备上的解析模块会对主设备发起的信号进行识别,以确保主设备发起的操作在安全上没有违规。基于总线隔离,并结合对CPU、MMU、缓存的扩展功能,TrustZone实现了以下隔离能力。
(1)中断源隔离实现
TrustZone能够将普通中断与安全中断进行隔离,使得安全中断不能被正常世界捕获。
(2)片上片外RAM和ROM的隔离
TrustZone将RAM或ROM划分成安全区域和非安全区域。当处理器核心访问片上RAM或ROM的时候,TrustZone会判断访问请求的信号是安全操作还是非安全操作。如果处理器发出的请求为非安全请求,而该请求又尝试去访问安全区域时,TrustZone则不会响应该请求的具体操作。
(3)外围设备硬件隔离
TrustZone的核心特性之一就是能够保护外围设备,如中断控制器、定时器和用户I/O设备等,使外围设备免受恶意用户攻击。这使得安全环境得到扩展,从而能够解决一些更广泛的安全问题,例如,安全中断控制器和定时器允许不间断的安全任务来监控系统、安全键盘外设可实现用户密码的安全输入等。
四、机密计算技术在金融领域的应用探索
1.端云协同场景构建全系统数据安全闭环
在实际业务场景中,数据的采集、传输、处理、存储等往往需要端云间协同,在此过程中,保障用户隐私数据计算和流转的安全至关重要。在对数据安全要求较高的金融场景中,机密计算可为构建全系统数据安全闭环提供有效保障。以典型的生物特征识别场景为例,生物特征在终端TEE中被采集后经安全通道加密传输至机密计算环境,借助机密计算的安全隔离和内存加密能力,在可信的环境中对生物特征数据进行特征提取和比对;处理后的数据在机密计算环境加密后进行安全存储。在此场景中,生物特征数据在传输、计算和存储三个环节全部在加密保护状态下进行,实现了对用户数据的全生命周期防护。
2.为数据融合计算场景提供可信运算环境和基础安全基座
根据数据计算和传输的形式,基于机密计算的数据融合计算可以分为两种主要模式,一种是数据汇集型,另一种是分布式计算型。
(1)数据汇集型
数据汇集型融合计算通过机密计算技术构建核心枢纽节点,建立可信金融数据网络,供数据需求方、数据提供方等多方角色接入,从而构建数据协作统一的安全基座(如图2所示)。
数据提供方可通过机密计算远程证明机制对数据安全融合平台身份进行实时验证,在确保对方身份符合预期并且运行在机密计算环境中后,可通过可信数据网络将数据加密传输至该平台,并通过授权机制对数据的使用进行授权。数据安全融合平台在获得授权后在机密计算环境中对数据提供方的密文数据进行解密,并联合多方数据进行计算,计算结果加密后传输给结果接收方。因为机密计算提供了一个可信的安全计算环境,所以在该环境下可以对明文数据进行计算。相对于联邦学习、MPC等隐私计算技术,机密计算在保障数据安全的同时,计算性能和可用性也得到大幅提升。
(2)分布式计算型
对于一些数据通信量较大或者不宜采用原始数据汇集型计算模式进行处理的情形,可以采用多方分布式计算模式(如图3所示)。该模式下数据提供方、计算协调方均具备机密计算环境,并且不同机密计算环境间在远程证明机制的基础上,还可直接构建端到端的安全通道,用于数据安全传输。数据提供方首先分别在本地机密计算环境中对原始数据进行计算,然后将计算得到的中间过程数据通过安全通道传输至计算协调方的机密计算协调平台,机密计算协调平台整合各数据提供方的中间过程数据进行迭代计算得到最终计算结果。该模式可在原始数据不出域的前提下,实现数据融合计算的目标。
在数字化转型升级过程中,金融行业对数据安全防护的需求愈发强烈。基于此,本文提出采用机密计算技术构建全链路数据安全防护的思路,对业界主流机密计算的架构及关键技术原理进行了研究对比,并结合技术调研及相关实践,提出机密计算在金融场景中的应用构想及相关方案。尽管机密计算技术能够有效保护计算中的数据安全,且在业界得到快速发展,但在课题研究中也发现了一些问题亟待解决,如业界对机密计算技术认识定位不一、技术条线过多难以选择机密计算应用类型,以及应用落地难等。对此,笔者团队希望与业界各机构共同努力,为构建和完善机密计算技术生态贡献更多力量。
基金项目:本文为上海市2020年度“科技创新行动计划”扬帆计划项目(20YF1459900)中的研究成果。本文刊于《中国金融电脑》2023年第2期