大家好,我今天汇报的题目的是《创新发展中的机密计算》。首先我谈谈实际应用中信息安全的三大基本假设。
第一个假设是物理假设。现实中存在一个物理计划可以筹划关键数据,比如说保险柜。如果你局部的记忆力好,大脑也算一个物理的环境。
第二个假设是计算假设。现实的计算能力是有限的,因此随着计算能力的提高需要不断地创新和发展安全机制用来抵抗计算能力的技术进步。抗量子计算密码就是一个现实的例子。
第三个假设是随机假设。现在可以生成不可预测地数,也就是可以生成随机数,这个很重要。比如说2013年斯诺登事件就爆出某发达国家在随机数算法中植入后门,以降低安全强度。通过控制让这个数比原来更短或者随机性更弱来降低安全强度,所以这个随机数在安全领域也是很重要的。对于机密计算而言,就是安全飞地,也就是硬件可信执行环境(TEE),在这个安全理念下,必将导致传统的安全体系结构、安全模型、安全策略、安全措施等的变革和创新,也必将催生一批新兴的安全技术。
我们另外还要谈谈安全理念的问题,目前主要有两种理念,一种是商业化安全理念,一种是专业化安全理念。商业化安全理念就是平衡安全、性能、投入(人员、经费的投入),还有便利性等因素。其终极目标是相对安全,够用即可,是一种近似的安全。专业化安全理念就是安全第一,兼顾性能、投入、便利性等因素,终极目标是绝对安全,是一种精确的安全。
当前最前沿的研究方向尤其是在数据安全领域是数据使用安全,通常数据保护涉及数据的三种不同状态。
存储时的数据,也就是休息时候的数据,它的安全保护措施主要有加密、访问控制、安全数据库、数据容灾备份等。这些存储时的数据安全问题就是数据资产安全问题。
传输时的数据,它的安全保护措施主要有加密、隐藏、SSL/TLS、IPSec、VPN和HTTPS等。传输时的数据安全主要关注的是通信安全和网络安全这方面的工作。
使用中的数据,它的安全保护包括内存、处理器进行计算时的形态机密性和完整性保护,也就是运行态数据安全或者流动的数据安全。
数据使用安全是当前数据安全中最薄弱的环节。刚才我们说的数据传输、数据存储这方面都有丰富的研究内容,但是在数据使用安全这个方向上还比较薄弱,也是一个短板。机密计算就是计算效率约束条件下解决使用中的数据安全的一种重要技术,主要解决几个安全问题。
一是如何确保海量数据应用场景下“数据可用不可见”,提高数据共享流通安全性。
二是如何有效保障多方参与者(包括数据所有者、平台所有者、数据使用者等)相关利益和数据隐私。
三是能否信任机密平台TEE硬件及系统软件栈,保障数据和程序的机密性和完整性。
机密计算的主要特点表现在这几个方面。
一是基于硬件信任,且可远程证明和验证的可信计算方式。
二是数据、算法、平台三者完全独立的安全计算模式。
三是与可信计算、隐私计算形成安全互补。
机密计算是一个前沿交叉研究方向,涵盖体系结构、系统安全、密码技术、人工智能等多个领域,它是一个典型的交叉研究领域。
我认为机密计算可以定义为一种保护使用中的数据安全的计算范式,它提供硬件级的系统隔离,保障数据安全,特别是多方参与下数据使用中的安全。机密计算的主要研究内容包括六个方面:
第一个方面是信任模型。机密计算打破了系统层次保护模型,也就是安全环境的一种模型,为非特权级应用提供额外的安全保护。机密计算打破了原有的安全环模型,非特权级机密计算应用直接受安全CPU等硬件保护,这就是被控制的恶意虚拟机监控器、主机操作系统也无权访问机密计算应用的数据和代码。改变了原有可信计算信任链逐级传递模式,机密计算应用直接根植于安全CPU建立的信任。
当前围绕机密计算信任模型主要包括两个方面:
一是解耦CPU厂商与平台的强绑定信任,建立通用证明框架。
二是面向不同TEE架构建立机密计算应用的兼容性运行。
第二个方面是安全架构。现有的机密计算安全架构根据其安全边界和受保护对象,可以分为以下四个类型:
一是系统级TEE安全架构。
二是应用级TEE安全架构。
三是异构TEE安全架构(外设TEE保护安全架构)。
四是密钥保护安全架构。
我们认为目前机密计算路线中X86体系相对比较成熟,ARM和RISC V体系也在跟进发展,系统级“飞地”方案受到了更多关注,是未来重要的发展方向。第三个方面是安全机制。机密计算的安全机制主要包括平台安全启动、度量、证明、隔离、可信存储、内存加密等,目前已有很多成熟方案。这方面国家在可信计算领域早做了深入的研究。
第四个方面是TEE构建技术。现有的机密计算TEE构建技术根据其核心组件的性质可以分为以下四类方案:
一是基于离散芯片的TEE构建方案。这类方案构建的可信执行环境位于一个独立的硬件安全芯片或者安全协处理器中,与主机环境是物理隔离的。代表性工作有TPM/TCM可信芯片、安全协处理器等。
二是基于指令集扩展的TEE构建方案。这类方案构建的可信执行环境与主机环境使用相同的物理处理器,但是通过对处理器指令集进行扩展,可以确保两个环境之间的隔离。代表性工作有ARM的TrustZone/CCA、Intel的SGX/TDX等。
三是基于软件的TEE构建方案。这类方案不再依赖硬件安全来保护可信执行环境,而是依赖系统软件或者虚拟化模块来维护类似的安全性与隔离性,灵活性增强,安全性相对减弱。代表性工作有VSM、Open-SGX模拟器等。
四是基于异构可信的TEE构建方案。这类方案在可信执行环境的边界从通用CPU处理器扩展到GPU、FPGA等异构设备,使得安全隔离保护的范围得到了扩展,计算过程不仅受到CPU、TEE的保护,还受异构TEE(如GPU、TEE)的保护。代表性工作有HETEE、SGX-FPGA等。
第五个方面是平台安全服务框架。目前机密计算平台安全服务框架主要是在基础机密计算安全服务上增强应用安全性,扩展机密计算平台的易用性和兼容性,形成通用的服务框架标准,包括四个方面:
一是基础安全服务。包括密钥管理、远程证明服务、完整性和信任、安全存储等。
二是安全性增强。包括安全编程模型JE,比如内存安全语言。
三是机密云服务。尤其是包括机密云虚拟机服务、机密计算云服务商业化等。
四是框架标准。大家都在推进相应的机密计算平台服务框架标准。
第六个方面是应用安全。机密计算在对数据、算法(代码)平台三者相互独立的安全和隐私保护上有较大的优势,通过硬件和执行环境提供的安全计算环境实施机密计算、隐私计算可保障不同数据拥有者、应用开发者、平台服务提供者各方面相关利益和隐私。
根据需求与使用的特点,我们将机密计算应用主要分为两大类:
一是系统与平台基础应用。
二是技术领域结合应用。
这方面的研究成果目前是最丰富的,主要是将其与其他技术或者应用领域进行深度结合,开发一些新的计算模式,形成一些新的安全服务。
机密计算的发展目前可以概括为以下三个阶段,主要是从两条线来发展的,一个是产业界,像IBM的4758协处理器、ARM的TrustZone等;另外就是学术界,比如斯坦福大学的,还有一个是XOM CPU架构等。
第一阶段就是技术初步应用阶段。这个阶段我们主要是指2003—2014年,主要聚焦于TPM/TCM和ARM TrustZone,其核心思想是实现少量安全功能与主机系统的隔离,以信任根和信任链方式构建可信计算环境。基于TPM/TCM专用安全芯片,隔离系统环境应用到PC、服务器、移动嵌入式等领域。智能手机平台ARM TrustZone实现普通系统和安全系统隔离,并展开初步的快速应用。
第二阶段就是技术路线多样化阶段。这个阶段主要是从2015年到2018年。2015年英特尔推出了SGX安全CPU方案并商业化量产,引发了产业界和学术界广泛关注。这一阶段X86平台主要有英特尔的SGX应用级TEE、AMD的安全加密虚拟化SEV。ARM平台TrustZone在智能手机广泛应用,ARM推出TZ-M将TEE引入嵌入式平台领域。RISC V平台上加州伯克利大学的Keystone,麻省理工学院的Sanctum安全性有所改进。
第三个阶段是应用生态构建阶段。这个阶段主要从2019年到今天。2019年8月,Linux基金会成立了机密计算联盟(CCC),旨在建立机密计算标准并支持开源工具的开发和使用。英特尔TDX、ARM CCA等技术升级路线持续发展,以开源项目群方式建立应用生态。机密计算、机器学习、数据安全的技术生态快速融合,形成了PPML等多个行业应用模式。
这就是我今天的报告,最后预祝大会圆满成功,谢谢。
(以上内容根据嘉宾发言速记整理)
扫一扫在手机上查看当前页面