数据作为流淌在网络之中的血液,信息时代的无价之宝,正在面临前所未有的安全挑战。如何才能有效保护我们的数据安全?目前少数大型技术企业正大力发展被称为机密计算的新安全模型。作为一项新兴的突破性技术,机密计算使数据在处理和使用时也可以保持加密,不再有安全风险和数据泄露,从而彻底改善目前面临的数据安全困境。

1. 保护使用中的数据成挑战

在最初构建互联网时,工程师专注于启动和运行互联网,并且注重互联网的功能性优先于保护用户数据。当黑客开始出现时,整个行业的许多先驱者聚集在一起,为互联网增加了更多防御层以抵御攻击。数据加密得到了更广泛的使用,使得互联网变得更加安全。

但伴随着互联网技术的进一步发展,诸如物联网和人工智能之类的技术要求对原有互联网技术基础架构进行现代化改造。为优化成本,提高反应速度,云计算已成为主流。但随着云使用量激增,数据泄漏的情况正在上升。公司需要考虑更好的方法来保护其数据。这种保护数据的需求导致了许多数据安全解决方案随之出现。

根据定义,数据安全需要保护静态数据、传输中数据和使用中数据。保护静态数据意味着使用加密或令牌化等方法,即使从服务器或数据库复制数据,窃贼也无法访问该信息。保护传输中数据意味着确保未经授权的人看不到服务器和应用程序之间传输的信息,目前有明确的方法可以提供两种保护。

不同于前两类数据,保护使用中数据特别困难,因为应用程序需要明文数据(未经加密或其他方式保护的数据)才能进行计算。但这意味着恶意软件可以转储内存中内容以窃取信息。如果数据在内存中泄露时被窃,服务器硬盘上的数据是否进行加密其实并不重要。

在当前广泛应用云计算这一背景下,当组织(尤其是受监管行业的组织)准备将工作负载转移到云中时,最大的挑战之一就是如何在保持敏感数据的同时保持私有状态。在处理数据时,没有一个简单的解决方案来对其进行加密。

机密计算的支持者认为,机密计算有希望改变这种状况。微软的软件架构师、机密计算联盟技术咨询委员会主席戴夫・塞勒(Dave Thaler)说:“我们在大力宣传实际上可行的解决方案”以保护使用中数据。

2. 机密计算究竟是一项什么技术?

机密计算作为一项突破性的技术,可以在处理数据时对使用中的数据进行加密。在机密计算环境的理想情况下处理数据时,甚至服务提供商也无法访问数据。

机密计算的原理是使用基于硬件的技术将数据、特定功能或整个应用程序与操作系统、虚拟机管理程序或虚拟机管理器以及其他特权进程隔离开来。在后台,机密计算环境将数据加密保存在内存中以及CPU外部的其他位置,称为可信执行环境(TEE)。在TEE中,即使借助调试器,也无法从外部查看数据或对数据执行的操作。TEE确保只有授权的代码才能访问数据。如果代码被更改或被篡改,TEE将拒绝操作。这使得其中的数据受使用软件或硬件的保护,并以这种方式为敏感数据增加了一层额外的保护。当然,在保证数据安全的情况下也需要兼顾数据处理效率,机密计算利用内存控制器使用云提供商无法访问的嵌入式硬件密钥在CPU边界内解密数据,这种方式在保留了机密性的同时也可以有效的处理云中数据。

机密计算的好处非常明显:它允许端到端加密;在处理数据时能保护您的敏感数据;它使您可以更好地控制数据及其处理;它可以保护您的敏感数据不受外部人员的任何授权访问在两个不同环境之间移动数据时,确保敏感数据保护

正是由于机密计算的光明前景,2019年8月,在Linux基金会下启动了机密计算联盟技术咨询委员会,旨在为机密计算定义标准,并支持开源工具的开发和采用。成员包括阿里巴巴、AMD、Arm、Facebook、Fortanix、谷歌、华为、IBM(通过其子公司Red Hat)、英特尔、微软、Oracle、瑞士电信、腾讯和VMware等科技巨头。几个科技巨头已经在出售机密计算产品和服务。几周前,Google Cloud推出了第一个机密计算产品,称为机密VM。谷歌的技术专家表示:“我们很高兴能提供这种级别的安全性和隔离性,同时为客户提供一个不影响性能的简单易用的选项。”

由于担心数据可能泄露,许多组织拒绝将一些最敏感的应用程序迁移到云端。Fortanix的市场营销副总裁兼机密计算联盟外联主席赛恩・诺克斯(Seth Knox)表示,机密计算使不同的组织可以合并数据集进行分析,无需访问彼此的数据。比如说,零售商和信用卡公司可以反复核查客户和交易数据、查找潜在的欺诈行为,无需让另一方访问原始数据。

机密计算可能还有与安全无关的其他好处。比如说,图像处理应用程序可以将文件存储在TEE中,而不是将视频流发送到云端,因而节省带宽并缩短延迟。该应用程序甚至可以在处理器层面划分这类任务,主CPU负责大部分处理,但依靠网卡上的TEE处理敏感计算。

这种技术还可以保护算法。机器学习算法或分析应用程序(比如股票交易平台)可以驻留在TEE中。Gartner的技术分析师马丁・雷诺(Martin Reynolds)说:“您不希望我知道您在交易的股票,我也不希望您知道算法。在这种情况下,您无法搞到我的代码,我也无法搞到您的数据。”

机密计算需要软硬件供应商之间广泛的协作,以便应用程序和数据可以与TEE兼容。如今执行的大多数机密计算在搭载英特尔软件保护扩展(SGX)的英特尔服务器(比如至强系列)上运行,SGX可将特定的应用程序代码和数据隔离开来,以便在内存的专有区域中运行。然而最近的安全研究表明,英特尔SGX很容易受到侧通道攻击和定时攻击。

幸好,TEE并非仅出现在英特尔硬件中。OP-TEE是面向在ArmCortex-A核心上运行的非安全Linux内核的TEE。微软的虚拟安全模式是Windows10和Windows server 2016中一种基于软件的TEE,由Hyper-V(Windows系统的虚拟机管理程序)实现。

机密计算联盟目前支持少数几个开源项目,包括英特尔GX SDK for Linux、微软的Open Enclave SDK和Red Hat的Enarx。并非项目得到该联盟的认可才可以被认为是机密计算:比如说,谷歌的Asylo与Enarx很相似,微软Azure的机密计算服务同时支持英特尔SGX和微软的虚拟安全模式。

戴夫・塞勒表示,基于硬件的TEE可以补充其他安全技术,包括同态加密和可信平台模块之类的安全元件芯片。他说:“您可以结合使用这些技术,因为它们不一定互为排斥。您是关注云还是边缘? 您可以选择任一要使用的技术。”

3. 机密计算技术是否适合你?

尽管近来机密计算越来越受欢迎,但其生态系统尚未组织完全。可能尚不清楚哪些技术和解决方案适用于或者属于此类别。

即便如此,各公司组织也可以通过问自己这些问题来了解有关机密计算的更多信息,并选择最佳的解决方案。

1)您打算保护哪种数据?

选择任何数据保护服务之前,请务必考虑计划保护的数据类型。如果使用的数据加密涉及应用程序中数据的解密,那么需要三思而后行地使用该解决方案。

2)您是否需要基于软件或硬件的解决方案?

考虑哪种软件与您当前的体系结构匹配是重中之重。是基于软件还是基于硬件?如果您的数据涉及应该实时处理的数字或文本数据,那么基于服务的解决方案将派上用场。

3)您需要处理什么类型的数据?

在寻找数据安全解决方案时,这也非常重要。例如,搜索销售报告所涉及的数据过程不同于搜索客户记录的那些过程。理想情况下,应根据业务数据流程来选择数据安全性。

4)您需要实时结果吗?

如果您要进行数据分析,则可能需要考虑一个解决方案,该解决方案允许多个计算过程而不是加密数据。可能出现的性能延迟也应该被考虑在内。

回到题目当中提出的问题,机密计算是数据安全游戏的终结者吗?

保护数据安全性这场游戏永远不会结束。即便如此,机密计算仍然是一项著有成效的技术,如果操作正确,可以有效的帮助保护您的敏感数据。在2020年云安全技术成熟度曲线中,Gartner将机密计算列为33种关键安全技术之一。

不过,现阶段,机密计算还没有发挥出它真正的潜力。Gartner认为,机密计算在理论上非常有用,但它不是即插即用的技术。要正常使用机密计算,还需要5到10年的时间。

不断发展、不断进步的技术将解决问题,使我们的生活变得更好,机密计算就是其中之一。它将会并且应该成为每个企业与组织云部署的一部分。

想像一下,在不远的未来,当机密计算真正实现了持续的行业合作,能够在跨地区,跨竞争者的云中进行基因组研究合作,同时又能保护机密健康记录的私密性。由于安全的协作,能够更快地设计或发现疫苗并治愈疾病。这种可能性是无止境。

这是一个雄心勃勃的目标,需要大家共同努力以提高技术水平。现在,是时候开始一起释放各种可能性了。

声明:本文来自安全内参,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。