各种区块链技术TEE 为何如此重要

时间:2024-09-20  分类:电子


Uber的旧金山总部与大多数科技公司类似,有着开放式的楼层设计,员工们可以自由活动,分享自己的想法。然而,在主楼层的中心,有那么一间鲜有员工涉足的房间。金属和玻璃的外墙、一个可以让透明玻璃变得不透明的开关,以及频繁出现的安保人员,都让这个房间显得十分神秘。


这就是Uber的「作战室」,一个全天候运作的空间,主要供高管们集思广益,以解决公司面临的最大问题。为了保密,这个房间严格按照「needtoknow」原则开放。而这种保密措施是极其必要的,毕竟为占据网约车市场的主导地位,Uber需要在全球范围内与竞争对手展开激烈的竞争,而对手们不会放过任何可能泄露其战略的机会。在作战室里发生的一切只会留在这个房间里。


Uber的作战室内部;来源:AndrewChen,a16z


这种在原本可进入空间内设置私人隔间的做法很常见。苹果公司在开展秘密项目时,会将指定团队安置在与总部分开的其他建筑中。国会大厦和其他美国政府大楼都设有敏感信息设施(SCIF),为敏感讨论提供隔音墙和电磁屏蔽。我们自己家里或入驻的酒店房间也会设有保险箱。


安全飞地(SecureEnclaves)已经延展到了物理世界之外。如今,我们主要通过计算机来存储数据和处理信息。随着我们对硅基机器的依赖性的不断增长,攻击和泄露的风险也在增加。就像Uber的作战室一样,计算机需要一个独立的空间来存储最敏感的数据并执行关键计算。这个空间被称为可信执行环境(TEE)。


虽然TEE已成为加密货币行业的热门词汇,但其目的和功能却经常被误解。我们希望通过本文来改变这一现状。在此,我们将向您解释关于TEE的一切必要知识,包括它们是什么、为什么重要、我们每天使用它们的方式,以及它们如何帮助构建更好的Web3应用。


TEE已无处不在


首先,我们先来了解一下TEE的定义。


TEE是设备主处理器内的专用安全区域,可确保正在处理的数据和代码的机密性。TEE提供了一个独立于主操作系统的隔离执行环境,对于维护处理敏感信息的应用的数据安全至关重要。


TEE主要提供两种保证。



而要了解TEE的重要性,你们手中可能正在用于阅读本文的设备iPhone,就是很好的说明。FaceID已成为iPhone验证用户访问设备的主要方式。在几百毫秒的时间里,设备内部进行了如下流程:



解锁手机时,投射在脸部的3万个红外点;来源:YouTube


FaceID不仅用于解锁设备,还用于验证其他操作,如登录应用以及进行支付。因此,任何安全漏洞都会造成严重后果。如果模型创建和比对过程遭到破坏,非设备所有者就可以解锁设备、访问所有者的个人数据并进行欺诈性金融交易。如果攻击者设法提取存储的用户面部数学模型,就会导致生物识别数据被盗,并严重侵犯隐私。


当然,苹果公司在实施FaceID时很讲究方法。所有的处理和存储都是通过 TheSecureEnclave 进行的,这是一个内置在iPhone和其他苹果设备中的独立处理器,其功能与其他内存和进程隔离。它的设计目的是,即使设备的其他部分受到攻击,攻击者也无法访问它。除了生物识别技术,它还能存储和保护用户的支付信息、密码、钥匙链和健康数据。


苹果的TheSecureEnclave只是TEE的一个例子。由于大多数计算机都要处理敏感数据和计算,几乎所有的处理器制造商现在都提供了某种形式的TEE。英特尔提供软件防护扩展(SGX),AMD有 AMD安全处理器,ARM有 TrustZone,高通提供 SecureFoundation,而Nvidia的最新GPU则带有保密计算功能。


TEE也有软件变体。例如,AWSNitroEnclaves 允许用户创建隔离的计算环境,以保护和处理亚马逊常规EC2实例中的高度敏感数据。同样,谷歌云和微软Azure也提供保密计算。


苹果公司最近还宣布推出私有云计算(PrivateCloudCompute),这是一个云智能系统,旨在私下处理设备无法在本地提供服务的人工智能请求。类似的,OpenAI 也在为人工智能云计算开发安全基础设施。


TEE之所以令人兴奋,部分原因是它们在个人电脑和云服务提供商中无处不在。它使开发人员能够创建受益于用户敏感数据的应用,而不必担心数据泄露和安全漏洞。它还能通过生物识别身份验证和密码等创新技术直接改善用户体验。


那么,这些与加密货币有什么关系呢?


远程证明


TEE为外部无法篡改的计算提供了可能,而区块链技术也能提供类似的计算保证。智能合约本质上是计算机代码,一旦部署,就会自动执行,外部参与者无法更改。


不过,在区块链上运行计算有一些限制:



TEE并无这些限制。虽然TEE的速度比普通处理器慢,但它们仍然比区块链快上几个数量级。此外,TEE本身具有隐私保护功能,默认情况下会对所有处理过的数据进行加密。


当然,需要隐私和更强计算能力的链上应用可以从TEE的互补功能中获益。但是,区块链是高度可信的计算环境,账本上的每个数据点都应可追溯到其来源,并在众多独立计算机上复制。相比之下,TEE流程发生在本地物理或云环境中。


所以,我们需要一种方法来结合这两种技术,这就需要用到远程验证。那么,何为远程证明,让我们绕道中世纪,先了解一下背景。


在电话、电报和互联网等技术发明之前,由人类信使传递手写信件是远距离发送信息的唯一方式。但是,收信人如何才能确保信息真正来自原定的发信人,并且没有被篡改呢?数百年来,蜡封成为了这一问题的解决方案。


装有信件的信封会用热蜡盖上独特而复杂的图案,通常是国王、贵族或宗教人物的纹章或标志。由于每个图案对发信人来说都是独一无二的,没有原始印章几乎无法复制,因此收信人可以确信信件的真实性。此外,只要印章完好无损,收件人也可以确信信息未被篡改。


英国国玺(GreatSealoftheRealm):用来象征君主批准国家文件的印章


远程证明相当于现代的印章,即由TEE生成的加密证明,允许持有者验证其中运行的代码的完整性和真实性,并确认TEE未被篡改。其工作原理如下: