隐私计算中可信执行环境的一知半解

半吊子全栈工匠 半吊子全栈工匠     2022-12-16     682

关键词:

隐私计算是使数据“可用不可见”的技术,它包括了密码学、人工智能、安全硬件等众多领域交叉的学科体系。对于隐私计算而言,业界通常分为三大路径技术:以安全多方计算为代表的密码学路径、以可信任执行环境为代表的硬件路径和以联邦学习为代表的人工智能路径。

老码农在了解了《从隐私到隐私计算》之后,对《隐私计算之全同态加密》和《隐私计算中的联邦学习》学习之后,如果不再了解一下可信执行环境,总觉得有点怅然若失。尽管“纸上得来终觉浅”,但与“一无所知”相比, 聊胜于无,略觉心安。

可信执行环境

可信执行环境的核心思想是构建一个独立于操作系统而存在的可信的、隔离的机密空间,数据计算仅在 该安全环境内进行,通过依赖可信硬件来保障其安全。可信执行环境的概念源于 Open Mobile TerminalPlatform( OMTP) 于 2006 年提出的一种保护移动设备上敏感信息安全的双系统解决方案,在传统系统运行环境( Rich Execution Environment,REE) 之外,提供一个隔离的安全系统用于处理敏感数据。2010 年 7 月,Global Platform( 致力于安全芯片的跨行业国际标准组织,简称 GP) 起草制定了一整套可信执行环境系统的体系标准,成为当前许多商业或开源产品定义其各种功能接口的规范参考。

根据全球平台国际标准组织 (GlobalPlatform)的定义,一个可信执行环境体系主要包括 :1)普通执行环境(REE)。普通执行环境是指那些有着丰富功能的环境,如 Android、Windows、iOS 等。这些系统由于广泛使用,功能不断增加,结构也越来越复杂,相应地导致安全性普遍不高。

2)可信执行环境(TEE)。可信执行环境主要指那些与普通执行环境相隔离,用于执行高安全性操作的环境。与普通执行环境相比,可信执行环境的功能相对较少,只保留一些与安全相关的机制,如密钥管理等,同时提供一些必要的系统功能。 

3)客户端应用(CA)。所有运行在普通执行环境中的应用都被称作客户端应用,其中一些可能需要与可信执行环境通信并要求服务。 

4)可信应用(TA)。可信应用是指那些运行在可信执行环境里的应用。这些应用一般用来为客户端应用提供特定的安全服务,或处理一些安全任务,如密钥生成和密钥管理等。

可信执行环境体系结构的构建方法有多种,总体可以归结为 3 种 :扩展协处理器、嵌入式协处理器和处理器安全环境。扩展协处理器和嵌入式协处理器都需要额外的处理器作为安全核来处理安全和完整性保护任 务,不同之处在于扩展协处理器将安全核放置在片外,不与主处理器共享任何资源,而嵌入式协处理器将安全核嵌入片内,一般与主处理器共享部分资源。

可信执行环境的最本质属性是隔离,通过芯片等 硬件技术并与上层软件协同对数据进行保护,且同时 保留与系统运行环境之间的算力共享。目前,可信执行环境的代表性硬件产品主要有 Intel 的 TXT、ARM 的 TrustZone 等,由此也诞生了很多基于以上产品的商 业化实现方案,如百度 MesaTEE、华为 iTrustee 等。下图为基于可信执行环境的数据计算平台技术架构。 

严格来讲,可信执行环境并不属于“数据可用不可见”,但其通用性高、开发难度低,在通用计算、复杂算法的实现上更为灵活,使得其在数据保护要求不是特别严苛的场景下仍有很多发挥价值的空间。 

Intel 的可信执行技术

可信执行技术(Trusted Execute Technology,TXT)是Intel公司的可信计算技术,主要通过改造芯片组和CPU,增加安全特性,通过结合一个基于硬件的安全设备—可信平台模块(Trusted Platform Module,TPM),提供完整性度量、密封存储、受保护的I/O、以及受保护的显示缓冲等功能,主要用于解决启动进程完整性验证和提供更好的数据保护。

英特尔称,TXT技术具备以下保护功能:处理器执行内存、处理器事件处理、系统内存、内存和芯片组路径、存储子系统、人为输入设备和显卡输出等。

可信执行技术给硬件平台增加了许多关键功 能这些功能包括: 

(1) 程序执行保护:保护程序执行和存放敏感 数据的内存空间。这项特性允许某个应用程序在一个相对独立的环境中运行,与平台上的其他程序不 能互相干扰。没有任何其他程序能够监视或读取在 保护环境中运行的程序数据。每个运行在保护环境 中的程序将从处理器和芯片组那里获得独立的系统 资源。 

(2) 加密存储:密封的存储密钥和其他在使用 和存储中易受攻击的数据。TPM 芯片将可以把密 钥加密并存储在硬件中。而集成了 TPM 芯片的系 统将具备解密密钥的能力。任何企图从 TPM 系统 中未经授权的拷贝操作都只能得到一堆毫无意义的 乱码。 

(3) 证明系统能够正确调用可信执行技术同 时也确保一个运行在保护空间的软件的校验值。 

(4) 减少由于改进的服务而所需的技术支持费 用;支持分散或远程计算;鉴别有更高级别保证的平 台配置。 

(5) 内存保护:能够加强系统资源的保护增强 了数据机密性和完整性改进了数据传输的安全性 和敏感数据的保护性。

TXT 技术的这些特性使计算平台在遇到越来越频繁和越来越复杂的软件攻击时更安全。为了实现可信执行技术计算平台需要一些硬 件组成部分主要的硬件元件有:处理器芯片集键 盘和鼠标图形设备TPM 设备。IA-32架构处理器的扩展允许创建多操作环境 比如标准区域和保护区域的并存这样应用软件就 可以独立的被允许在一个受隔离的保护区域。扩展的芯片组加强内存保护机制加强了访问内存的数据保护保护图形设备和 I/O 设备的通道并提供了 TPM 的接口。

此外,Intel TXT 需要系统内建 Trusted Computing Group 定义的 TPM v1.2 和特定软件满足供部分用途,在部分国家的供货可能受到当地法规限制。

ARM 的Trust Zone

TrustZone 技术的主要方法是将设备的硬件和软件资源全部划分成安全区域和非安全区域,两个区域之间不能随意进行数据交换,非安全区域的进程禁止访问安全区域,以保证存储在安全区域的资源不被窃取。下面从硬件和软件两个层面进行分析。

在硬件层面上,TrustZone 将物理处理器核虚拟成两个核,一个称为非安全核(Non-secure,NS),另一个称为安全核(Secure,S),通过 CP15 的 SCR 寄存器中的 NS 位来表明当前所处的状态。非安全核只能访问自己的系统资源,安全核可以访问所有资源 。在安全核和非安全核之间切换的机制称为监视器模 式。非安全核的进程可以通过 SMC 指令或者硬件异常机制进入监视器模式,由此获得安全核的服务。需要注意的是,非安全核的进程只能获得安全核的服务,并不能访问安全核的数据。此外,TrustZone 技术在虚拟内存管理、Cache、外围总线等方面 都做了努力来保证安全核的数据信息不被泄露。

在软件层面上,TrustZone 实现了安全可信启动,即在引导加载过程中先启动安全区域并对启动状态做完整性验证,验证无误后再启动非安全区域,这样能够保证系统启动过程的安全。

目前市面上存在一些基于 TrustZone 的安全技术,如华为 Mate7 手机中使 用的 指 纹识 别 技 术、 苹果 公司的Secure Enclave 技术、三星公司的 Knox 系统等。但到目前为止,这些技术并没有挖掘出 TrustZone 的全部潜力,原因在于 :

1)结构简单,导致功能比较单一,难以扩展 ;

2)平台并不开源,很多开发者不能基于这些安全平台设计新的可信应用。

因此,搭建一个基于 TrustZone 技术的完善的可信执行环境对于平台和应用的开发和研究都是非常有利的 。

小结

信任机制是隐私计算广泛应用的关键,隐私计算技术自诞生以来的重要使命便是保证隐私数据在被利用的过程中不被泄露,以 TEE 为代表 的可信硬件也主要应用于个人移动用户的数据安全保护中。基于 ARM TrustZone 实现的可信执行环境是一种硬件隔离安全机制,以物理方式将系统划分为安全和非安全组件,确保在正常操作下的软件无法直接访问安全区域的数据; 而基于 Intel TXT 实现 的可信执行环境是一种算力和内存隔离的安全机制。而从开源的视角来看,隐私计算的开源项目还是大多集中在联邦学习领域。

【关联阅读】

实现隐私计算的相关技术

目录一、隐私计算(PrivacyComputing)二、实现隐私计算的相关技术1.多方安全计算(SecureMulti-PartyComputationMPC)2.联邦学习(Federatedmachinelearning/FederatedLearning)3.可信执行环境(TrustedExecutionEnvironmentTEE)三种技术... 查看详情

实现隐私计算的相关技术

目录一、隐私计算(PrivacyComputing)二、实现隐私计算的相关技术1.多方安全计算(SecureMulti-PartyComputationMPC)2.联邦学习(Federatedmachinelearning/FederatedLearning)3.可信执行环境(TrustedExecutionEnvironmentTEE)三种技术... 查看详情

硬件可信计算环境计算困难性理论对比

硬件可信计算环境利用CPU等计算硬件为需要隐私保护的数据隔离出一个受保护的计算环境。数据以密文形式传入,在隔离环境内部完成计算后,再以密文形式返回。主流的国内外芯片提供商均提供了类似功能,当前广... 查看详情

历时4年打磨,可信执行环境操作系统occlum1.0发布

...的可信执行环境(TEE)操作系统Occlum1.0在“可信隐私计算研讨会”上发布。Occlum是机密计算领域核心开源软件之一,也是蚂蚁隐语技术栈的重要可信计算基座。Occlum1.0历时4年打磨 查看详情

什么是隐私计算,它是怎样保护我们的隐私安全?

 目录​​隐私计算简单理解​​​​一、隐私安全保护面临的挑战​​​​二、隐私计算技术概念及技术路线​​​​1、安全多方计算(MPC)​​​​2、联邦学习(FL)​​​​联邦学习和多方安全计算的区别​​​​3、... 查看详情

案例解读华为隐私计算产品tics如何实现城市跨部门数据隐私计算

...为可信智能计算服务TICs是如何助力城市跨部门数据实现隐私计算的。本文分享自华为云社区《基于华为隐私计算产品TICS实现城市跨部门数据隐私计算,助力实现普惠金融》,作者:dayu_dls。华为云可信智能计算服务TI... 查看详情

微众银行首席人工智能官杨强:可信联邦学习让隐私计算既安全又可用

...无法满足安全共享和开发的困境。为解决这一问题,隐私计算作为结合密码学、人工智能等的融合技术理念,被寄予实现数据安全的厚望,正在成为解决数据安全与开放共享之间矛盾的重要技术路径。具体来看,... 查看详情

隐私计算与区块链的融合思考

隐私计算是使数据“可用不可见”的技术,实践中仍存在着一些问题,例如,多方安全计算受到网络带宽或者延迟的影响,联邦学习对参与方和服务器之间的通信稳定性和带宽要求较高,可信执行环境依靠的... 查看详情

隐私计算与区块链的融合思考

隐私计算是使数据“可用不可见”的技术,实践中仍存在着一些问题,例如,多方安全计算受到网络带宽或者延迟的影响,联邦学习对参与方和服务器之间的通信稳定性和带宽要求较高,可信执行环境依靠的... 查看详情

tcp:释放价值,构建去中心化的可信计算世界

...代生产要素,蕴含的巨大价值得到逐步释放。但数据隐私及安全问题却日益凸显,用户数据隐私如何保护的问题亟待解决。隐私计算被视为解决此问题的“关键之钥”,与之相关的多方计算、可信计算、联邦学习已在... 查看详情

tcp:释放价值,构建去中心化的可信计算世界

...代生产要素,蕴含的巨大价值得到逐步释放。但数据隐私及安全问题却日益凸显,用户数据隐私如何保护的问题亟待解决。隐私计算被视为解决此问题的“关键之钥”,与之相关的多方计算、可信计算、联邦学习已在... 查看详情

隐私计算+区块链,助力数据可信治理实践

来源| 人民数字Fintech责编|Carol封图|CSDN付费下载自视觉中国近年来,区块链技术应用和产业已经具备良好的发展基础,在防伪溯源、供应链管理、司法存证、政务数据共享、民生服务等领域涌现了一批有代表性的区块链... 查看详情

重磅!蚂蚁开源可信隐私计算框架“隐语”,主流技术灵活组装开发者友好分层设计...

7月4日,蚂蚁集团宣布面向全球开发者正式开源可信隐私计算框架“隐语”,采用Apache-2.0协议,代码托管至GitHub、Gitee两大平台。“隐语”通过良好可扩展的架构设计,用一套通用框架统一支持了包括MPC、TEE、FL、... 查看详情

星际无限:重塑隐私计算,filecoin可真正实现数据可用可信不可见

...体制下”的HTTP的互联网时代是很难做到的。于是乎,隐私计算技术被推上历史的舞台ÿ 查看详情

星际无限:重塑隐私计算,filecoin可真正实现数据可用可信不可见

...体制下”的HTTP的互联网时代是很难做到的。于是乎,隐私计算技术被推上历史的舞台ÿ 查看详情

Android Dev:在可信执行环境 (TEE) 中运行自定义代码,扩展 Keystore

】AndroidDev:在可信执行环境(TEE)中运行自定义代码,扩展Keystore【英文标题】:AndroidDev:RuncustomcodeintheTrustedExecutionEnvironment(TEE),extendingtheKeystore【发布时间】:2018-03-2121:30:01【问题描述】:我对Android开发比较陌生,之前从未使用... 查看详情

可信执行环境 (TEE) 中的客户端应用程序和可信应用程序

】可信执行环境(TEE)中的客户端应用程序和可信应用程序【英文标题】:ClientApplicationandTrustedApplicationinTrustedExecutionEnvironment(TEE)【发布时间】:2018-07-0900:13:02【问题描述】:我是TEE(可信执行环境)的新手。有人可以帮助我解决... 查看详情

快速了解什么是可信执行环境tee技术

1.背景TEE全名为可信执行环境(TrustedExecutionEnvironment)是计算平台上由软硬件方法构建的一个安全区域,可保证在安全区域内加载的代码和数据在机密性和完整性方面得到保护。其目标是确保一个任务按照预期执行,保证初始状... 查看详情