杜宝坤

V1

2023/01/30阅读:37主题:全栈蓝

可信执行环境

一 背景

由于隐私计算在最近几年的飞速发展,导致其体系化的理论不够成熟,为了能够把隐私计算的体系结构划分清晰,笔者结合自身在多个技术方向均有深度涉及的优势,并且结合自身在隐私计算领域多年的摸爬滚打与经验积累,针对隐私计算的相关技术特性,对隐私计算的技术体系进行了整理、归纳、总结与推演,特将隐私计算的技术总结如下:

  • 五大基座:数学基座、安全基座、工程基座、隐私组件基座、算法基座
  • 三大方向:安全多方计算、可信执行环境、联邦学习

五大基座是整个隐私计算的基础基石,为隐私计算的上层建筑(三大方向)打造牢靠的根基,包含数学基座、安全基座、工程基座、隐私组件基座和算法基座,是隐私计算的基础组件。

三大方向是整个隐私计算的上层建筑,在五大基座的基础上,作为隐私计算的外在表达进行对外展示,作为平台的形式系统化的解决数据流通困境,释放数据要素的价值,促进数字经济的蓬勃发展。包含安全多方计算、可信执行环境、联邦学习三大方向。

本文针对隐私计算三大方向之一的可信执行环境进行讲解。

二 TEE简介

随着移动互联网和云计算技术的迅猛发展,越来越多的数据在云环境下进行存储、共享和计算,云环境下的数据安全与隐私保护也逐渐成为学术界以及工业界关注的热点问题。目前阶段,隐私保护技术主要基于密码算法及协议(如安全多方计算、同态加密等)完成场景落地,其优点主要在于具有较高的安全性和可靠性,然而,由于这些算法或协议的实现依赖于大量复杂计算(如乘法循环群上的乘法、指数运算,Pairing 运算,格上的数学运算等),因此存在较大的性能瓶颈,难以在实际场景中大规模应用。

作为基于密码学的隐私保护技术的一种替代方案,可信执行环境(Trusted execution environment,TEE)基于硬件安全的 CPU 实现了基于内存隔离的安全计算,可在保证计算效率的前提下完成隐私保护的计算。

TEE全名为可信执行环境(Trusted Execution Environment)是Global Platform(GP)提出的概念。是指在计算平台上使用软硬件方法构建的一个安全隔离区域,进而保证在这个安全隔离的区域内拥有的数据和代码的生命周期在机密性和完整性方面得到保护。

TEE的基本思想是:在计算平台的硬件中,为敏感数据单独分配一块隔离的安全空间,进而为这些敏感数据的计算均在这块内存中进行。对于这些数据的访问,除了经过授权的接口外,哪怕是硬件中的其他部分都不能任意访问这块隔离的内存中的数据。进而实现敏感数据的隐私计算。

TEE的最终目标是确保一个任务按照预期去执行,保障数据安全,保证初始状态的机密性、完整性,保证运行时状态的机密性、完整性,保证全生命周期的机密性、完整性。

目前整个互联网行业的安全问题也越来越受到关注,同时关于 OS的漏洞也越来越多,经常爆出各种各样的漏洞,这些漏洞导致无法保障整个系统链路数据的安全。对于各种终端,还有云服务提供者、移动运营商、以及芯片厂商,都会受到这方面的困扰。

TEE基于特殊硬件支撑,作为与硬件设备上的Rich OS(比如Android等)并存的运行环境,为Rich OS提供安全服务。TEE具有其本身的执行空间,比Rich OS的安全级别更高,但是比起安全元素(SE,通常是智能卡)的安全性要低一些。但是TEE能够满足大多数应用的安全需求。从成本上看,TEE提供了安全和成本的平衡。

如前所述,TEE是与Rich OS并存的,可见下图。

三 TEE的发展历程

TEE 技术最早可以追溯到 2006 年。开放移动终端平台(Open Mobile Terminal Platform ,以下简称 OMTP))率先提出一个针对移动终端的双系统安全解决方案,即在同一个终端系统下同时部署两个操作系统,其中一个是常规的操作系统,另一个是隔离的安全操作系统。其中,安全操作系统运行在隔离的硬件环境中,专门处理敏感信息以保障其安全性。

在 OMTP 方案的基础上,ARM 公司提出了一种硬件虚拟化技术 TrustZone 及其相关的硬件实现方案,并于 2008 年第一次发布了 Trustzone 技术白皮书。目前 ARM 是移动端最具影响力的方案供应商,其 TEE 技术也在行业内处于主导地位:高通的骁龙 835/845 系列芯片,海思的麒麟 950/960 系列芯片,联发科的 HelioX20、X25、X30,三星的 Exynos8890、7420、5433 等移动端主流处理器的芯片均基于 ARM 结构,并且它们采用的 TEE 技术也基于 ARM 结构。除此之外,还有一种比较主流的可信执行环境产品是 Intel 公司推出的 SGX(Software Guard Extensions)。

2010 年 7 月,Global Platform(以下简称 GP)正式提出了 TEE 的概念,并从 2011 年开始起草制定相关的 TEE 规范标准,针对 TEE 系统设计了一系列规范,对应用接口,应用流程,安全存储,身份认证等功能进行了规范化。GP 是跨行业的国际标准组织,致力于制定和发布基于硬件安全的技术标准。GP 组织制定和发布的国际标准被称为 GP 标准。此外 GP 组织还设立了 TEE 检测认证体系,对 TEE 产品进行功能检测并颁发证书,国际上大多数基于 TEE 技术的 Trust OS 都遵循了 GP 的标准规范。

国内,银联自 2012 年起与产业链合作开始制定包括 TEE 硬件、TEE 操作系统、TEE 基础服务和应用等各个层面的规范标准,并且于 2015 年通过技术管理委员会的审核发布银联 TEEI 规范。2017 年初,人民银行开始制定 TEE 各层面的需求类规范。2020 年 7 月,中国信通院发布联合 20 家单位共同参与制定的标准《基于可信执行环境的数据计算平台 技术要求与测试方法》。

四 TEE的特点

可信执行环境作为隐私计算三大方向之一,为数据要素的流通保驾护航,保障数据产业的安全合规发展,那么其相关的能力如何呢?下面我们就介绍下可信执行环境的相关特性,针对其特点进行总结归纳如下:

相关特性 相关说明
理论安全性 理论上可信执行环境的隐私保护算法是可以证明的,可以通过数学推导证明其理论的安全性
场景安全性 基于硬件进行沙盒式的隔离计算,通用场景的安全性有保障。 基于某些固定场景的定制化实现可以证明
合法合规性 原始数据出域,与大部分的数据隐私法律法规相冲突
硬件依赖性 SGX依赖Intel,SEV依赖AMD,Trust Zone依赖ARM
计算性能 性能没有瓶颈,媲美本地明文计算的性能
计算模式 集中式计算、分布式查询
应用场景 数据要素的统计、分析、建模等

TEE的计算性能与明文接近,但是由于其对于特定硬件的需求,所以对于其推广使用还是存在不小的限制。

五 TEE的挑战与展望

基于硬件的 TEE 技术具有很高的实现效率,但这也导致它较为依赖底层的硬件架构,与一般的安全多方计算相比,TEE 具有如下优势和劣势:

  • 优势:
  1. 可信硬件部分可支持多层次、高复杂度的算法逻辑实现
  2. 运算效率高,相较于明文计算仅有 3-4 倍损耗,而 MPC 等技术具有上百倍的计算损耗
  3. 能够抵御恶意敌手
  • 劣势:
  1. 方案实现依赖底层硬件架构。
  2. 更新升级需要同步进行软硬件升级。
  3. 不同厂商的 TEE 技术各异,需要形成统一的行业标准。

根据 TEE 技术的优势和劣势,可以总结出 TEE 技术适用于以下应用场景:

  1. 计算逻辑相对复杂的计算场景 。
  2. 数据量大,数据传输和加解密的成本较高。
  3. 性能要求较高,要求在较短时间内完成运算并返回结果。
  4. 需要可信第三方参与的隐私计算场景,且数据(部分或间接)可被可信第三方获取或反推。
  5. 数据的传输与使用环境与互联网直接接触,需要防范来自外部的攻击。
  6. 数据协作的各方不完全互信,存在参与各方恶意攻击的可能。

其中已落地的最常见应用场景包括:隐私身份信息的认证比对、大规模数据的跨机构联合建模分析、数据资产所有权保护、链上数据机密计算、智能合约的隐私保护等。

作为一种新兴的系统安全与隐私保护技术,TEE 技术实现了安全性与可用性之间较好的平衡,是当前传统公钥密码学性能受限情况下的一个较好的替代方案,在适当的应用场景中可以作为一些计算协议中的信任根来减少为了去信任引入的性能代价。然而目前 TEE 技术还无法作为通用的安全技术进行应用,主要原因在于其安全性一定程度上依赖于对硬件厂商的信任,同时攻击面较多、安全边界定义不清晰,这都成为了限制其大规模应用的重要因素。对于用户而言,在 TEE 技术的应用过程中,需要清晰地了解其应用场景和局限性,以免造成不可预知的安全问题和财产损失。

六 番外篇

介绍:杜宝坤,互联网行业从业者,十五年老兵。精通搜广推架构与算法,并且从0到1带领团队构建了京东的联邦学习解决方案9N-FL,同时主导了联邦学习框架与联邦开门红业务。 个人比较喜欢学习新东西,乐于钻研技术。基于从全链路思考与决策技术规划的考量,研究的领域比较多,从工程架构、大数据到机器学习算法与算法框架、隐私计算均有涉及。欢迎喜欢技术的同学和我交流,邮箱:baokun06@163.com

七 公众号导读

自己撰写博客已经很长一段时间了,由于个人涉猎的技术领域比较多,所以对高并发与高性能、分布式、传统机器学习算法与框架、深度学习算法与框架、密码安全、隐私计算、联邦学习、大数据等都有涉及。主导过多个大项目包括零售的联邦学习,社区做过多次分享,另外自己坚持写原创博客,多篇文章有过万的阅读。公众号秃顶的码农大家可以按照话题进行连续阅读,里面的章节我都做过按照学习路线的排序,话题就是公众号里面下面的标红的这个,大家点击去就可以看本话题下的多篇文章了,比如下图(话题分为:

  • 一、隐私计算
  • 二、联邦学习
  • 三、机器学习框架
  • 四、机器学习算法
  • 五、高性能计算
  • 六、广告算法
  • 七、程序人生),知乎号同理关注专栏即可。

一切有为法,如梦幻泡影,如露亦如电,应作如是观。

分类:

后端

标签:

后端

作者介绍

杜宝坤
V1