隐私计算-TEE执行环境

一、TEE 的定义

论述完 TEE 的概念后,接下来进一步解析 TEE 的深层定义。目前对于 TEE 的定义有很多种形式,针对于不同的安全性需求和平台,TEE 的定义也不尽相同,但在所有 TEE 的定义中都会包含两个最关键的点:独立执行环境和安全存储。在 GlobalPlatform, TEE System Architecture, 2011 中,GlobalPlatform 将 TEE 定义如下:TEE 是一个与设备操作系统并行,但相互隔离的执行环境。TEE 可以保护其中的数据免受一般的软件攻击,TEE 可以使用多种技术实现,在不同的技术实现下 TEE 的安全性等级也会有所不同。

在 IEEE International Conference on Trust 2015 上,Mohamed Sabt 等人使用分离核(separation kernel)对 TEE 进行了崭新的更一般化的定义。分离核最早用于模拟分布式系统,其需要满足以下安全性准则:

数据独立(data separation).储存在某个分区中的数据不能被其他的分区读取或篡改。

时间隔离(temporal separation).公共资源区域中的数据不会泄露任意分区中的数据信息。

信息流控制(Control of information flow).除非有特殊的允许,否则各个分区之间不能进行通信。

故障隔离(Fault isolation).一个分区中的安全性漏洞不能传播到其他分区。

在这里插入图片描述

二、TEE 在联邦学习中的应用

可信执行环境(Trusted Execution Environment,TEE),通过软硬件方法在中央处理器中构建一个安全区域,保证其内部加载的程序和数据在机密性和完整性上得到保护。可信的中央处理器一般是指可信执行控制单元已被预置集成的商用CPU计算芯片,无法后置,因此,只有新研发的部分芯片支持TEE。目前主流的TEE技术以X86指令集架构的Inter SGX和ARM指令集架构的TrustZone为代表,国产芯片厂商如兆芯、海光、飞腾、鲲鹏起步稍晚,芯片处理性能略差。

TEE 作为基于硬件的隐私计算技术,可通过与联邦学习相结合来保障计算效率和安全性。

联邦学习是近年来兴起的一种崭新的机器学习技术,类似于隐私保护下的分布式学习,多个参与方利用自己的数据联合训练一个模型,但每个参与方的数据都不会被暴露。其核心理念是:数据不动模型动,数据可用不可见。

在横向联邦学习中,需要每个参与方(party)独立地根据自己手中的数据训练模型,然后将梯度等模型参数上传到服务端(server)并由服务端进行聚合操作,接着生成新的模型分发给各个参与方。在这一过程中,虽然原始数据仍然只保存在每个参与方手中,但实际上攻击者可从梯度信息恢复出原始数据。为解决上述问题,在实际应用中大多通过加噪或同态加密的方式对梯度信息进行保护。

此外,也可由 TEE 来替代上述场景中的参数服务器,即在可信执行环境中进行联邦学习的参数聚合,假设 TEE 是可信的,则可以通过简单的数字信封的形式实现可信执行环境与计算节点之间的交互,由此省略了复杂的同态加密计算过程,使联邦学习训练的效率大幅提升。

本文以 FLATEE 框架为例,简要介绍 TEE 技术在联邦学习中的应用。如下图所示,在 FLATEE 中,TEE 可以生成用于传输数据和代码的对称加密密钥和公钥。参与方在 TEE 中根据自己的数据训练模型,然后使用这些密钥对模型参数进行加密,并上传至服务端。接收到加密的模型参数后服务端在 TEE 中对加密的模型进行解密,接着通过聚合操作得到新的模型。如果新模型的损失函数在阈值之下,便可宣布算法完成,并把新模型通过 TEE 生成的密钥加密后发送给各个参与方,否则就再进行新一轮的迭代训练,直至到达迭代次数上限或模型训练成功为止。在这个模型中,TEE 同时承担了加解密和隔离计算的功能,可以在不损失计算效率的前提下有效地保障联邦学习算法的安全性。

优势:

可信硬件部分可支持多层次、高复杂度的算法逻辑实现

运算效率高,相较于明文计算仅有 3-4 倍损耗,而 MPC 等技术具有上百倍的计算损耗

能够抵御恶意敌手

劣势:

方案实现依赖底层硬件架构

更新升级需要同步进行软硬件升级

不同厂商的 TEE 技术各异,需要形成统一的行业标准

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

计算逻辑相对复杂的计算场景

数据量大,数据传输和加解密的成本较高

性能要求较高,要求在较短时间内完成运算并返回结果

需要可信第三方参与的隐私计算场景,且数据(部分或间接)可被可信第三方获取或反推

数据的传输与使用环境与互联网直接接触,需要防范来自外部的攻击

数据协作的各方不完全互信,存在参与各方恶意攻击的可能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/4946.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

谈谈分布式一致性机制

分布式中一致性是非常重要的,分为弱一致性和强一致性。 现在主流的一致性协议一般都选择的是弱一致性的特殊版本:最终一致性。下面就从分布式系统的基本原则讲起,再整理一些遵循这些原则的协议或者机制,争取通俗易懂。 但是要真…

【通过代理监听UIScrollView的滚动事件 Objective-C语言】

一、输出,当UIScrollView滚动的时候,实时输出当前UIScrollView滚动的位置, 1.用代理实现吧, contentOffset,代表偏移吧,我需要你当UIScrollView滚动的时候,实时输出UIScrollView滚动的位置, 2.第一,我们如何获得UIScrollView滚动的位置呢,contentOffset,是不是就是…

【创作赢红包】LeetCode:232. 用栈实现队列

🍎道阻且长,行则将至。🍓 🌻算法,不如说它是一种思考方式🍀算法专栏: 👉🏻123 一、🌱232. 用栈实现队列 题目描述:请你仅使用两个栈实现先入先出队…

【论文速递】ACL 2022 - 查询和抽取:将事件抽取细化为面向类型的二元解码

【论文速递】ACL 2022 - 查询和抽取:将事件抽取细化为面向类型的二元解码 【论文原文】:Query and Extract: Refining Event Extraction as Type-oriented Binary Decoding 【作者信息】:Wang, Sijia and Yu, Mo and Chang, Shiyu and Sun,…

IP地址规划方法

一、IP地址规划的基本步骤: (1)判断用户对网络以及主机数的需求; (2)计算满足用户需要的基本网络地址结构; (3)计算地址掩码; (4)…

React Three Fiber动画入门

使用静态对象和形状构建 3D 场景非常酷,但是当你可以使用动画使场景栩栩如生时,它会更酷。 在 3D 世界中,有一个称为角色装配的过程,它允许你创建称为骨架的特殊对象,其作用类似于骨骼和关节系统。 这些骨架连接到一块…

2023-03-24:音视频mp3和h264混合(muxer)编码为mp4,用go语言编写。

2023-03-24:音视频mp3和h264混合(muxer)编码为mp4,用go语言编写。 答案2023-03-24: 这是一个使用FFmpeg库将MP3和H.264混合编码为MP4的Go语言程序。程序的大体过程如下: 1.设置FFmpeg库路径和环境变量。…

ChatGPT来了,让我们快速做个AI应用

你好,我是徐文浩。 过去的两讲,我带着你通过OpenAI提供的Embedding接口,完成了文本分类的功能。那么,这一讲里,我们重新回到Completion接口。而且这一讲里,我们还会快速搭建出一个有界面的聊天机器人来给你…

五分钟了解支付、交易、清算、银行等专业名词的含义?

五分钟了解支付、交易、清算、银行等专业名词的含义?1. 支付类名词01 支付应用02 支付场景03 交易类型04 支付类型(按通道类型)05 支付类型(按业务双方类型)06 支付方式07 支付产品08 收银台类型09 支付通道10 通道类型…

Unity Avatar Cover System - 如何实现一个Avatar角色的智能掩体系统

文章目录简介变量说明实现动画准备动画状态机State 状态NoneStand To CoverIs CoveringCover To Stand高度适配高度检测脚部IK简介 本文介绍如何在Unity中实现一个Avatar角色的智能掩体系统,效果如图所示: 初版1.0.0代码已上传至SKFramework框架Package…

【Nginx】Nginx的学习(3.Nginx命令和nginx配置文件)

1. Nginx命令 1.1 启动nginx systemctl start nginx1.2 停止nginx systemctl stop nginx1.3 重载nginx # 重新加载配置文件 systemctl reload nginx1.4 查看nginx服务端口 netstat -anpl | grep nginx1.5 查看nginx进程 ps aux | grep nginx2. nginx的配置文件 2.1 查看…

git拉取github上的项目

git拉取github上的项目测试创建bash公钥,拉取代码1.先创建github账号和项目;系统安装git程序2.先配置ssh公钥,为了避免每次远程访问需要输密码,将使用ssh登陆。ssh应该与本机信息绑定,查看自己电脑 C:\Users\lenovo\.ssh 目录下是…

预训练语言模型(GPT,BERT)

文章目录GPT 模型预训练语言模型模型和学习BERT 模型去噪自编码器模型和学习模型特点References在自然语言处理中事先使用大规模语料学习基于 Transformer 等的语言模型,之后用于各种任务的学习和预测,称这种模型为预训练语言模型。代表性的模型有 BERT …

STA环境 - 时钟

目录1. 指定时钟create_clock1.1. 时钟延迟set_clock_latency 1.2. 时钟不确定度(时钟抖动)set_clock_uncertainty 1.3. 时钟过渡时间set_clock_transition 2. 衍生时钟create_generated_clock3. 划定时钟域set_clock_groupsSTA环境配置中对时钟如何约束…

【总结】爬虫4-selenium

爬虫4-selenium 1. selenium 基本操作 在使用selenium之前必须先配置浏览器对应版本的webdriver。才可以控制浏览器打开网页 1.1 创建浏览器对象 b Chrome()1.2 打开网页 (需要哪个网页数据,就打开那个网页对应的网页地址) b.get(https…

git 001--建本地仓库和远程仓库和拉代码

要使用Git对我们的代码进行管理,首先需要获得Git仓库。 获取Git仓库通常有两种方式: 在本地初始化Git仓库(不常用) 从远程仓库克隆(常用) 一.建本地仓库 方法一: 在自己电脑的任意目录下创建一个空目录…

字节测试总监,让我们用这份《测试用例规范》,再也没加班过

经常看到无论是刚入职场的新人,还是工作了一段时间的老人,都会对编写测试用例感到困扰?例如: 固然,编写一份好的测试用例需要:充分的需求分析能力 理论及经验加持,作为测试职场摸爬打滚的老人&…

为什么企业需要一个“企业办公浏览器”?

目前,大多数企业还在用着传统的Web浏览器,它是各行业企业办公最常用到的应用程序,搜索资料、打开其他应用工具、打开文档等等,企业员工几乎每天都在用它做这些工作。 但实际上,Web浏览器并不是一个企业专用的办公应用软…

炒黄金所需的k线图基础知识(上)

炒金,一般是指对杠杠式的黄金电子合约(如伦敦金、黄金期货)进行短线的多空操作,从中赚取波动价差的行为。无论投资者从事内盘还是外盘交易,K线图都是基础的、必备的知识。 1、什么叫K线图? K线图源于日本的…

计算机网络名词解释和简答题总结

名词解释 CSMA/CD(载波监听多点接入/碰撞检测协议) CSMA/CD是一种基于冲突检测的载波监听多路访问技术。CSMA/CD协议要求站点在发送数据之前先监听信道。如果信道空闲,站点就可以发送数据;如果信道忙,则站点不能发送…
最新文章