机密计算:突破传统边界的隐私保护与安全革新
2025-04-13
以下文章来源于微信公众号——全球计算联盟GCC
作者:南方科技大学

南方科技大学
可信系统安全实验室
一支专注机密计算(特别是机密AI)的安全和应用的研究团队,由张殷乾担任负责人。张殷乾,南方科技大学教授、ACM杰出科学家,曾获美国国家科学基金青年科学家奖、国际顶级安全会议ACM CCS时间检验奖,入选全球前2%顶尖科学家终身榜单、《麻省理工科技评论》中国2022隐私计算科技创新人物。
在数据一跃成为生产要素的数字化转型和信息化时代,大数据、人工智能、云计算等技术高速变革,海量数据的采集与分析不断冲刷着各行各业。在金融、医疗、人工智能等行业乃至政府部门,数据的广泛运用除却为其带来效率革命与创新催化之外,还释放了大量经济价值。同时,受行业性质影响,这些数据不可避免地包含大量敏感信息,因此对确保数据的安全性存在极高需求。
机密计算的设计初衷正是为了应对高安全需求场景下的隐私难题。传统的加密技术已经能够很好地保护数据在“存储”与“运输”进程下的安全,然而,如何确保“运行”中的数据安全——机密计算的出现为数据安全版图补全了这“最后一块拼图”。
当前,机密计算技术目前仍处于从技术验证向规模化应用过渡的阶段。基于机密计算自身存在的安全漏洞与伴随的行业发展瓶颈,唯有成功解决技术自身安全问题,在安全性、可用性与性能三重纬度间寻求发展平衡,才有望触发行业发展奇点,使之成为数据安全基础设施的核心组成部分。
一、机密计算:保护运行中的数据
(一)基本概念
有别于传统的数据保护形式,机密计算更关注动态进程下的数据保护,本质上是一种利用可信执行环境(Trusted execution environment,简称TEE)来保护运行中的数据的计算方式。TEE由CPU硬件支持提供安全隔离,能够在通用CPU上通过软硬件协同的方式实现计算环境的隔离以及内存和外部存储的加密,用以防止恶意系统软件对机密数据的读取和篡改,其安全原理包括逻辑隔离,内存加密,远程验证和加密存储。
机密计算正是利用TEE提供的加密和隔离的执行环境,对运行中的数据进行保护,防止恶意软件对运行中的数据进行非法访问和篡改,确保敏感数据在计算的全流程中均处于高度安全的状态。计算服务提供商因此得以用更安全、可信的方式管理机密数据。
(二)发展历程
机密计算并非是凭空产生的一项崭新技术,追溯其来源与发展历程,大致能够分为如下发展阶段。
理念萌芽之初,首要形成的是“可信计算”的概念。可信计算主要通过硬件手段,如可信平台模块(TPM),来增强计算平台的安全性:敏感信息被存储在嵌入计算机主板的安全芯片中,能够确保系统可信启动、验证系统完整性与磁盘加密。在这一阶段,数据的保护仍然聚焦于静态的数据,运行中的数据受到的保护仍然十分有限。
云计算和移动互联网的兴起,对运行中的数据保护需求猛增,ARM TrustZone、Intel SGX、AMD SEV等技术涌现。以Intel SGX为例,它允许应用程序创建“飞地”(Enclave),即在不受信任的环境下创建一个隔离的、受保护的内存区域,以确保敏感代码和数据在运行时仍然可以受到妥善的保护。并且,基于TEE的安全隔离特性,即便主操作系统被攻破,TEE中的数据也不会遭到泄漏。
随着多方数据协作等新场景的出现,数据隐私和安全需求也在不断提升。2019年,机密计算联盟成立,标志着正式进入机密计算阶段。联盟致力于推动机密计算技术的发展和标准化,提出机密计算应当至少具备数据机密性、数据完整性和代码完整性三种属性。
这一阶段的技术迭代更新,随之而来的是Intel TDX、AMD SEV-SNP、ARM CCA等新兴技术,它们进一步确保了数据在使用中的机密性和完整性,能够阻断未经授权的访问与修改,并引入内存加密和隔离技术,提供硬件级的安全功能。在学界和业界的共同努力下,机密计算应用场景得以进一步拓宽,诞生了机密多方计算、机密数据库、机密区块链、机密AI等众多交叉场景。
(三)机遇与挑战
国内机密计算产业尚未迈入规模化应用的阶段,主要受到内生的安全问题和整体外部环境两方面的掣肘。就整体外部环境而言,国内的机密计算技术总体上起步较晚,与AMD、Intel等国外主流厂商相比还处于追赶阶段。不过,随着研究的逐步深入,业界与学界已有一批代表性团队取得了可喜的进展。
在业界范围内,涌现了一批基于TEE技术的软硬件产品。阿里云ECS服务器支持搭建基于Intel SGX、TDX技术的机密计算环境;蚂蚁集团开发“隐语”开源机密计算框架;腾讯云推出了基于TEE技术的T-Sec机密计算平台;百度智能云推出了MesaTEE安全计算平台;华为自主研发了基于TrustZone技术的鲲鹏iTrustee和蓬莱TEE。此外,飞腾、海光和兆芯等国产CPU厂商分别推出了PhyTEE、Hygon-CSV和ZX-TCT等TEE产品。
在学界范围内,诞生了一系列前沿技术研究成果。南方科技大学可信系统安全研究团队与蚂蚁集团合作研发基于Rust安全语言的星绽操作系统,代替Linux成为支撑机密虚拟机的安全操作系统,与字节跳动合作,针对WebAssembly的线性内存模型进行改进,提出了一种面向可信WebAssembly运行时的内存虚拟化方案,在TEE内实现了多个应用模块之间的安全高效数据共享,使“WebAssembly+TEE”这一设计范式能够更好地契合机密计算需求;中科院研究团队针对运行时远程证明,提出了基于动态完整性度量的机密计算运行时监控方案;上海交通大学研究团队提出面向SGX2代新型TEE的内存优化系统、面向小型端侧设备的的SegTEE等;南湖实验室研究团队推出机密计算数据可信流通平台,并通过产学研合作积极推动TEE互联互通发展。
相较业界与学界的蓬勃发展,机密计算行业标准化的步伐便稍显缓慢。当前,关于可信执行环境规范的国家标准已经出台,《机密计算通用框架》国家标准处于已发布待实施阶段,远程证明、侧信道防御、安全性测评等缺乏官方出台的标准化体系。不过,近年来中国计算机学会(CCF)、全球计算联盟(GCC)等组织陆续将目光聚焦到机密计算的发展,通过举办专业论坛、成立分支机构、发布白皮书等方式,积极参与到推进技术规范化和产业化进程当中。
(四)破除机密计算安全瓶颈的创新路径
安全领域普遍认为“没有完美的安全”,相应地,也没有永恒的漏洞。层出不穷的攻击手段可能对机密计算的安全性造成威胁,需要不断更新技术手段来应对,攻击与防御因此相伴而生。如果将机密计算内生的安全问题看作一个金字塔结构,那么自下而上分别是微架构安全、体系结构安全、系统软件安全和应用协议安全。
微架构是计算机系统的物理基石,关系到CPU及其组件如何执行指令,并影响到在其之上的所有计算行为。现代CPU微架构为增强CPU指令并发性,往往采用预测执行和乱序执行。Meltdown和Spectre被称为瞬态执行漏洞,它们利用这一特性,绕过操作系统的安全隔离边界读取内存,借助缓存侧信道窃取敏感数据。Meltdown和Spectre漏洞的覆盖面极广,漏洞公布后Intel、AMD、ARM等硬件厂商迅速作出响应。以Intel为例,其在漏洞公开后第一时间发布了相应的微代码更新,并在两月后发布了新一代处理器的设计改进计划,从根本上缓解漏洞的影响。
体系结构是根据属性和功能不同而划分的计算机理论组成部分及计算机基本工作原理、理论的总称。TEE在体系结构层面的设计关乎它的安全性,密文侧信道攻击正是利用体系结构运行时产生的物理或行为特征来推断敏感信息。在采取确定性加密方法时,它具备这样一个特征:同样的明文总会在同样的地址加密成为同样的密文。因此,攻击者通过反复观察不同的加密操作和密文重复模式,便可能推测出一些有效的信息。非确定性加密、随机化策略和漏洞检测都能够有效降低密文侧信道风险,CipherH是首个针对密文侧信道的漏洞检测工具,它通过动态污点跟踪与路径分析,结合静态的过程内与过程间的符号执行,实现潜在密文侧信道漏洞的精准定位。
系统软件层面,除了传统的内存安全漏洞、线程并发漏洞、调用接口漏洞等安全问题,机密计算领域的攻击者往往还能通过控制系统软件,造成多样化的侧信道威胁。中科院与清华大学的研究团队提出了EnclaveFuzz这一基于模糊测试技术的漏洞检测工具,专门用于检测Intel SGX应用程序中的漏洞。此外,AMD SEV、Intel TDX通过加强TEE与外部OS之间的隔离,减少不必要的数据共享以降低攻击面;华为iTrustee通过采用最小特权原则,使TCB更小以减少攻击面,也是行之有效的两种途径。
应用协议层面存在两类安全问题,即状态延续漏洞和中心化远程验证协议。前者通常利用重放或复用TEE的执行状态,实现回滚攻击和分叉攻击,以破坏TEE应有的安全性;后者则是过于依赖单一可信源的硬件厂商的认证和验证机制,从而被迫承担难以预测的外部安全风险。针对状态延续漏洞,ARM TrustZone借助Secure Element存储时间戳,防止状态回滚;针对单一信任依赖,IETF作为国际标准组织发布了远程认证流程架构,允许使用多种可信根和异构环境,令远程认证的形式更加灵活,进而减少对单一可信源的硬件厂商的依赖,降低供应链攻击的风险。
二、行业应用:机密计算引领下的产业变革
(一)通过机密计算实现普遍的医疗数据安全
医疗数据由于具备高度的敏感性,往往受到更为严格的保护,但仍不乏有数据泄露的事件发生。譬如,在诊所工作过的员工可以轻易地访问所有患者的医疗数据,抑或是黑客组织能够轻易地攻破并不严密的医疗公司内部系统等等。
医疗数据不仅仅包括日常认知中的“病历”,还涵盖基因数据、临床数据、图像记录、治疗记录、财务保险情况等涉及大量个人隐私内容。理想状态下,实现数据共享对推动医疗研究和公共健康能够起到重要作用。然而,无论是数据存储、传输还是运行环节,都极易遭到攻击和数据窃取,难以实现对数据机密性与完整性的保护。
幸运的是,针对医疗数据安全的技术正在逐步普及。以CONFINE系统为例,它是一种基于TEE的去中心化进程挖掘系统,主要由Provisioner节点和Secure Miner节点负责核心操作:Provisioner节点收集并记录敏感数据(如医疗日志),Secure Miner节点则在TEE中处理这些数据,确保在处理过程中数据不会泄露或被篡改。数据在传输时使用加密技术保护,同时借助远程证明机制,确保数据处理请求来源可信,防止恶意节点参与数据处理。
CONFINE系统通过加密数据的安全传输和独立计算,确保多方数据处理时的保密性和完整性,妥善解决了跨组织流程中的数据隐私问题,为疾病机制研究、精准医学、新药研发、远程医疗与辅助决策等提供可观的增益效用。
(二)反洗钱与金融中的机密计算应用
洗钱通常被视为金融犯罪的关键环节,若金融机构被怀疑协助洗钱,不仅需要面对监管机构的层层审查,还可能面临巨额罚款。因此,无论是出于合规还是责任义务的考量,金融机构都必须支持反洗钱(Anti-money laundering,简称AML)。
目前,大多数金融机构更倾向于引入可靠的AML系统代替大部分的人工操作。然而,出于隐私保护的顾虑,不同金融机构往往仅会共享有限的数据,这可能导致犯罪分子通过规避单个机构的监控而逃脱制裁。为了解决这一问题,在AML系统中引入机密计算技术无疑是一个明智的选择。
机密计算利用TEE创建一个加密、隔离的环境,使得数据在不同机构间流转时“可用而不可见”,能够在机密的环境中提供风险识别所需的数据特征,同时确保隐私数据得到可靠保护。
在数据共享的基础上,AML系统能够更迅速地识别出犯罪分子在多个机构之间的可疑活动模式,从而显著提高风险识别的准确性。随着多个机构间的数据共享逐渐普及,犯罪分子的“侥幸逃脱”将被彻底终结。
(三)机密AI
人工智能不断覆盖更多的行业,这一趋势已成为不可逆转的必然。与此同时,数据隐私和安全性成为AI应用落地的关键挑战。机密AI的出现,正是为了确保AI在囊括数据预处理、模型训练、模型推理等环节的全流程始终受到保护。
在数据预处理的阶段,机密计算利用TEE保护数据来源,确保数据在导入和存储过程中不被泄露,并且在安全隔离的环境下对数据进行处理,如转换、去噪等等。不仅能够实现安全的数据预处理,而且在尽量避免人工干预数据的前提下,保障AI用于模型训练的数据公平性。
在模型训练的阶段,传统的训练模式需要访问明文数据,数据泄漏的风险居高不下。在TEE保护下的训练环境中,不仅数据提供方和数据使用方,甚至云服务提供商都无法访问明文数据。进而,机密AI还能促成跨机构数据共享,甚至实现机密的多方训练,在不同组织间进行模型训练协作而不必暴露敏感数据和模型。
在模型推理阶段,数据和模型的保护仍然并存——模型使用者担心包含个人隐私和敏感信息的数据被服务器窃取或泄露,而模型开发者同样担心模型和代码遭到窃取。机密AI通过TEE在云端布署和运行AI模型,无论是输入数据还是模型与代码本身,都能够避免被窃取的风险。
三、机密计算未来展望
正如前文所述,机密计算的设计初衷是面向高安全需求应用场景,只有成功解决机密计算自身的安全问题,才能够真正投入到大规模的产业化进程之中。对于机密计算这样一个新兴产业,“先破后立”是一个恰当的思路。应当客观地、正确地宣传机密计算,从而使业界对这项技术的安全边界与技术局限形成更准确的认识。
在技术层面,坚持自主创新是一条必由之路。当前在软硬件层面存在较为严重的外部技术依赖,可能导致供应链安全风险和技术封锁的隐患。因此,亟需科研机构、企业和政府协同合作,一方面是能够集中力量攻克软硬件架构的安全问题,另一方面是能够研究制定机密计算的相关技术标准和安全规范,推动技术的标准化进程,以促进技术的跨行业应用,提高其兼容性和互操作性,降低技术推广的障碍,进而提高行业整体的安全性和可控性。