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

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

可信执行环境

可信执行环境的核心思想是构建一个独立于操作系统而存在的可信的、隔离的机密空间,数据计算仅在 该安全环境内进行,通过依赖可信硬件来保障其安全。可信执行环境的概念源于 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 实现 的可信执行环境是一种算力和内存隔离的安全机制。而从开源的视角来看,隐私计算的开源项目还是大多集中在联邦学习领域。

【关联阅读】

  • 从隐私到隐私计算

  • 隐私计算之全同态加密

  • 隐私计算中的联邦学习

  • 从操作系统看Docker

  • Polytree 的随笔

  • DHT算法的一知半解

  • 一文读懂“语言模型”

  • 一文读懂中间件

  • 分布式系统的一致性再思考

  • 计算机体系结构的一知半解

  • WebAssembly的一知半解

  • 数据系统读写权衡的一知半解

  • 这是你了解的P2P 么?

  • 从语义网到知识图谱

  • 难以捉摸?机器学习模型的可解释性初探

  • 微服务的隐性收益

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

  1. 隐私计算技术解读:可信执行环境(TEE)概要及应用

    本文阐释梳理了可信执行环境(TEE)的概念定义及发展脉络,剖析 TEE 与基于密码学的隐私保护技术的对比及其在联邦学习中的应用,最后介绍 TEE 的现有框架和相关应用. 作者 | 深圳市洞见智慧科技有 ...

  2. 冲量在线亮相英特尔隐私计算研讨会,基于可信执行环境技术构建更安全的数据流通方案

    近日,冲量在线受邀参与由英特尔(中国)联合上海国创科技产业创新发展中心于上海召开的"隐私计算技术研讨会--安全与效率"会议,同各位隐私计算领域的前沿技术专家共同畅谈数据智能时代隐私 ...

  3. 将可信执行环境与区块链相结合

    研究人员探索了应对这些挑战的密码解决方案,如各种零知识证明系统和安全多方计算.然而,这些方法具有显著的性能开销,并且仅适用于计算相对简单的有限用例.一个更具性能和通用性的选项是使用可信执行环境(TEE ...

  4. 可信执行环境TEE介绍及在区块链领域的应用

    随着移动设备的发展,移动设备的功能越来越强大,移动设备会存储用户的资产,处理支付等操作.目前移动端的系统运行环境叫做REE(Rich Execution Environment),在其中运行的系统叫做 ...

  5. 冲量在线受邀参加可信执行环境技术沙龙:持续深耕数据流通,构建数据生态

    在大数据和互联网技术迅速发展的今天,隐私的重要性不言而喻,每次有大公司的客户隐私泄露的情况出现,都会在网络中激起千层浪.据<中国网民权益保护调查报告2020>调查显示,82.3%的网民亲身 ...

  6. 隐私计算:可信硬件技术

    1.前言 最近在看一本书<隐私计算> 其中有一句话比较映像深刻,隐私计算的关键–>实现数据的可用不可见. 那么为了实现这样的目的现在所具有的技术主流的三种:多方安全计算(密码学技术) ...

  7. 微软将为Linux 操作系统带来TEE的支持:TEE(Trusted Execution Environment,可信执行环境)

    安智客之前多次提到过,百度,阿里,Google都在积极布局TEE,都积极发展自己的TEEOS,微软也不会缺席,将为Linux 操作系统带来"可信执行环境"的支持,为机密计算提供安全 ...

  8. 可信执行环境(TEE)介绍

    可信执行环境(TEE)是Global Platform(GP)提出的概念.针对移动设备的开放环境,安全问题也越来越受到关注,不仅仅是终端用户,还包括服务提供者,移动运营商,以及芯片厂商.TEE是与设备 ...

  9. 转载:可信执行环境(TEE)介绍

    原 可信执行环境(TEE)介绍 2013年05月03日 23:12:39 braveheart95 阅读数:11559 查看全文 http://www.taodudu.cc/news/show-561 ...

最新文章

  1. centos7下搭建git和gitlab版本库
  2. asyncio.Protocol socket 断线重连
  3. mongodb 事务_MongoDB 事务 — 基础入门篇
  4. java求阶乘的程序_按要求编写Java程序(阶乘)
  5. python with循环_Python for循环、while循环
  6. php如何打出的正方形行列,javascript实现输出指定行数正方形图案的方法
  7. 贪吃蛇程序 php,微信小程序-贪吃蛇教程实例
  8. UVA-10859 - Placing Lampposts(树形DP)
  9. java搜索引擎框架_搜索引擎框架介绍
  10. python代码加密解密_Python实现对字符串的加密解密方法示例
  11. doctrine-orm基础(单用doctrine避坑指南)
  12. 张一鸣:所谓逆袭,不过是30年如一日的拼命努力!
  13. 在canvas上实现3D效果
  14. 基金从业考试一般要准备多长时间?
  15. 中设智控牵手欧派,助力欧派提升设备管理水平
  16. 灾备联盟牵头研制《云灾备技术发展趋势与应用白皮书》
  17. vue axios请求成功却进入catch的原因分析
  18. windows下nginx配置OpenSSL自签名证书
  19. 函数凹凸性与黑塞矩阵
  20. P1823 [COI2007] Patrik 音乐会的等待(单调栈)

热门文章

  1. CTO养成记(一)CTO理论知识恶补
  2. arduino学习笔记十九--水位报警器
  3. WMA文件信息格式分析及代码
  4. shell获取目录下所有文件夹的名称并输出
  5. linux adduser命令路径,Linux adduser命令解析
  6. java输入数字返回字符串_java Scanner输入数字、字符串
  7. Linux之汇编复习篇(三)复杂指令及宏指令
  8. 福利定时关机小工具,定时器,定时关机,定时休眠
  9. nginx配置之proxy_pass
  10. linux下geany配置python_Linux系统下搭建基于Geany+Python开发环境