【51CTO.com快译】几大科技公司在大力采用一种新的安全模式:所谓的机密计算,以更好地保护各种形式的数据。
数据安全的三大支柱需要保护静态数据、传输中数据和使用中数据。保护静态数据意味着使用加密或令牌化等方法,那样即使从服务器或数据库复制数据,窃贼也无法访问该信息。保护传输中数据意味着确保未经授权的人看不到服务器和应用程序之间传输的信息。有明确的方法可以提供两种保护。
不过,保护使用中数据特别困难,因为应用程序需要明文数据(未经加密或其他方式保护的数据)才能进行计算。但这意味着恶意软件可以转储内存中内容以窃取信息。如果数据在内存中泄露时被窃,服务器硬盘上的数据是否进行加密其实并不重要。
机密计算的支持者希望改变这种状况。微软的软件架构师、机密计算联盟技术咨询委员会主席Dave Thaler说:“我们在大力宣传实际上可行的解决方案”以保护使用中数据。
该联盟于去年8月在Linux基金会下启动,旨在为机密计算定义标准,并支持开源工具的开发和采用。成员包括阿里巴巴、AMD、Arm、Facebook、Fortanix、谷歌、华为、IBM(通过其子公司Red Hat)、英特尔、微软、Oracle、瑞士电信、腾讯和VMware等科技巨头。几个科技巨头已经在出售机密计算产品和服务。
机密计算使用基于硬件的技术将数据、特定功能或整个应用程序与操作系统、虚拟机管理程序或虚拟机管理器以及其他特权进程隔离开来。数据存储在可信执行环境(TEE)中,即使借助调试器,也无法从外部查看数据或对数据执行的操作。TEE确保只有授权的代码才能访问数据。如果代码被更改或被篡改,TEE将拒绝操作。
由于担心数据可能泄露,许多组织拒绝将一些最敏感的应用程序迁移到云端。Fortanix的市场营销副总裁兼机密计算联盟外联主席Seth Knox表示,机密计算使不同的组织可以合并数据集进行分析,无需访问彼此的数据。比如说,零售商和信用卡公司可以反复核查客户和交易数据、查找潜在的欺诈行为,无需让另一方访问原始数据。
机密计算可能还有与安全无关的其他好处。比如说,图像处理应用程序可以将文件存储在TEE中,而不是将视频流发送到云端,因而节省带宽并缩短延迟。该应用程序甚至可以在处理器层面划分这类任务,主CPU负责大部分处理,但依靠网卡上的TEE处理敏感计算。
这种技术还可以保护算法。机器学习算法或分析应用程序(比如股票交易平台)可以驻留在TEE中。Gartner的技术分析师Martin Reynolds说:“您不希望我知道您在交易的股票,我也不希望您知道算法。在这种情况下,您无法搞到我的代码,我也无法搞到您的数据。”
机密计算需要软硬件供应商之间广泛的协作,以便应用程序和数据可以与TEE兼容。如今执行的大多数机密计算在搭载英特尔软件保护扩展(SGX)的英特尔服务器(比如至强系列)上运行,SGX可将特定的应用程序代码和数据隔离开来,以便在内存的专有区域中运行。然而最近的安全研究表明,英特尔SGX很容易受到侧通道攻击和定时攻击。
幸好,TEE并非仅出现在英特尔硬件中。OP-TEE是面向在Arm Cortex-A核心上运行的非安全Linux内核的TEE。微软的虚拟安全模式是Windows 10和Windows server 2016中一种基于软件的TEE,由Hyper-V(Windows系统的虚拟机管理程序)实现。
机密计算联盟目前支持少数几个开源项目,包括英特尔GX SDK for Linux、微软的Open Enclave SDK和Red Hat的Enarx。并非项目得到该联盟的认可才可以被认为是机密计算:比如说,谷歌的Asylo与Enarx很相似,微软Azure的机密计算服务同时支持英特尔SGX和微软的虚拟安全模式。
Thaler表示,基于硬件的TEE可以补充其他安全技术,包括同态加密和可信平台模块之类的安全元件芯片。他说:“您可以结合使用这些技术,因为它们不一定互为排斥。您是关注云还是边缘?可以选择要使用的技术。”
原文标题:What Is Confidential Computing?,作者:Fahmida Y Rashid
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】