在海边休假的刘博士,出发冲浪前用手机浏览了实验室中运行的测试,确认一切正常,安心地打了个“响指”拿起帆板。英国测试团队的Lily,下午收到印度开发团队提交的新功能,熟练地远程登录系统,一键启动自动化测试。
今天,从软件开发、协作医疗,到智能制造、智慧金融,与人工智能(AI)、大数据、物联网以及边缘计算等前沿技术相互融合的云服务,正让自由流动的数据呈现出无与伦比的价值,让我们这个世界变得更为快捷且美好。
然而,数据价值越丰富,其受到的“觊觎”也就越多。翻开各种媒体报道我们就可以发现,近年来云端数据所受到的攻击,包括数据窃取、代码篡改等等层出不穷。这不仅威胁着各行业中云服务应用的使用安全,进一步地,也在造成形形色色的数据壁垒,让数据失去其应有的产业生态价值。
虽然数据安全专家已通过各种安全传输(例如安全传输层协议)和安全存储(例如非对称加密)等技术来保障传输、存储状态下的数据安全,但这些加密方案却无法覆盖使用状态下的数据。这是因为,当数据(包括处理数据的代码)在执行时,CPU与内存需要使用明文(未加密的数据与应用代码)才能进行计算处理,这就给恶意者以可趁之机,通过攻击内存中的内容来实施攻击行为。
图一 三种状态下的数据保护[1]
随着云端协作愈发广泛与频繁,这一安全威胁也正成为云服务在更多领域实现商业化落地的阻碍,尤其是在金融、医疗等受到严格数据监管的行业,对数据泄露的担忧,更让云服务的使用举步维艰。
“软”的不行,那就来“硬”的?看硬件级的机密计算如何保障云数据安全
既然数据与代码在使用状态下,很难使用加密等“软”方法来实现安全措施,那么我们是否可以换一个思路,“软”的不行,那就来“硬”的?
业界的技术发展路线告诉我们,这个想法很靠谱。
现在,基于硬件可信执行环境(Trust Execution Environment,以下简称TEE)的机密计算(Confidential Computing)技术,正为上述数据使用状态下的安全隐患带来有效对策。
正如字面含义所体现的,TEE可以提供一定级别的,保证数据完整性、数据机密性和代码完整性的环境,未经授权的实体无法查看、添加、删除或更改在TEE内使用中的数据或代码。而在具体的技术实现上,TEE会通过CPU,在内存中给敏感数据与代码分配一块隔离的内存,除非经过授权,任何软硬件,包括主机操作系统(Host OS)、虚拟机监控程序 (VMM)、BIOS等统统不能访问。
图二 在可信边界内为敏感数据与代码提供保护
有了TEE的保护,机密计算就可以在云环境中划出一条可信边界,受保护的敏感数据与代码留在可信边界内,而其它不受信任的组件、数据等则留在边界外。这种设计带来的优势显而易见。首先,只有经过授权并获得密钥的应用才能访问数据或代码,而其它组件是无法穿越可信边界去触达到数据或代码,这满足了对云端数据“可用不可见”的安全要求。其次,基于硬件的安全区域设置,也保证了可由CPU来实现敏感数据与代码对外界的“强隔离”。
更重要的是,机密计算在为敏感型工作负载提供实时保护、确保云端数据安全性的同时,并没有牺牲云服务的敏捷性。
在以往的云服务方案中,用户可能会战战兢兢地设计出复杂的系统架构来保证数据安全,例如将受到严格保护的本地系统与云上服务对接。这样做的后果之一是,当应用场景发生变化时,云服务的更新也会超级繁琐。
而在硬件中划出安全边界的模式,显然就不存在这样的麻烦。只需要选择支持TEE的硬件产品(例如内置英特尔® SGX的第三代英特尔® 至强® 可扩展处理器)就可以在云环境中方便地部署机密计算方案。
图三 处于上升期的机密计算技术(图中保密计算即机密计算)
这些优势,也促使国际权威独立研究机构Gartner 将机密计算列为其 2021年云安全成熟度曲线上的29种技术之一。一项Gartner的观点表示,“哪怕对于最不情愿采用云的组织而言,现在也有机密计算等一些技术可以解决老大难问题。您不用担心是不是可以信任云提供商。”[2]
如今,机密计算已被广泛应用在密钥/凭证/令牌的安全存储与处理、公有云场景、区块链,以及边缘云与物联网场景中,保护企业和最终用户的敏感数据和代码,免受数据执行期间的安全威胁。
实现TEE的优选方案,英特尔® SGX用“飞地”为敏感数据保驾护航
现在让我们再来谈一谈TEE的具体实现。目前,由英特尔推出的英特尔® SGX(英特尔® Software Guard Extensions,英特尔® 软件防护扩展)和英特尔® TDX(英特尔® Trust Domain Extensions,英特尔® 信任域扩展)无疑是业界在机密计算方案上的重要抓手。英特尔® TDX可将虚拟机(VM)和平台上的虚拟机管理程序(VMM)与任何其他非信任域Trust Domain (TD) 的软件隔离,以保护TD、VM免受软件安全威胁。而由英特尔® SGX提出的“飞地(Enclave)”设计,几乎能够被视为TEE的代名词。
事实上,英特尔® SGX的确有足够骄傲的理由来扮演这个角色——对敏感数据和代码提供的增强型安全防护。
基于第三代英特尔® 至强®可扩展处理器提供的支持,英特尔® SGX能在内存空间中开辟出一个可信的、受到严密保护的安全“飞地”去保障其中的数据完整性、数据机密性和代码完整性,即便是主机操作系统、BIOS等高等级应用和底层基础系统都不能随意访问。
图四 英特尔® SGX 提供的安全“飞地”
借助完备的加密和鉴权能力,英特尔® SGX能确保只有经过授权的应用才能访问“飞地”中的数据与代码。而在此之外,即便高等级应用、底层基础系统在恶意攻击中受损,“飞地”也可通过基于硬件的、增强型的安全防护来阻断这些攻击,避免其中的数据或代码被窃取或篡改。
在新一代的CPU产品中,英特尔也对SGX技术进行了全面强化。例如,目前在双路系统中最高可支持1TB容量的“飞地”空间(配置了面向单路和双路的第三代英特尔® 至强® 可扩展处理器的系统)。“飞地”空间越大,其能承载和提供保护的应用程序和核心数据也就越多,由此用户能够开展的云上协作也可以变得更为丰富多样。
英特尔® SGX助力Azure,为敏感行业客户打造高安全性数据共享模式[3]
作为全球领先的云服务提供商,Azure为用户提供云上机密计算方案的历史由来已久。在Azure看来,由云服务带来的数据共享价值,正使越来越多的行业从中收益。而要让用户的利益最大化、风险最小化,那么首先就要保证云端数据的安全性。
这对于那些严格受到监督的行业而言,尤为重要。传统上,金融、医疗这些行业在部署使用云服务时本来就慎之又慎,而对核心业务、关键数据的“上云”,更是不敢越雷池半步。但与此同时,那些基于区块链、AI等技术构建的新业务、新场景,又对数据共享提出了迫切的需求。
为此,Azure正与英特尔一起,利用英特尔® SGX及云基础设施来打造有效的云上机密计算方案。这两者产生的互补效应显而易见,英特尔®SGX提供基于TEE的安全保护,Azure云服务提供部署的便捷性和易扩展性,面向开发者的Open Enclave SDK或英特尔软件防护扩展的英特尔®SDK帮助Azure机密计算构建平台,“组合拳”下能让不同行业的用户方便地获得安全且高效的数据共享模式,使企业能够简化其保密计算应用的开发和管理。
下面让我们看看实战效果如何?
某金融企业一直致力于通过手机短信应用程序,为用户提供快速、易于使用的加密货币支付方式。既然是加密支付,那用户自然不希望交易数据有半点泄露的风险,甚至Azure提供的云服务本身,也不能染指。
那么这其中的难点就在于,如何让交易数据不可见的同时,完成对交易本身的验证?
为此,Azure提供的机密计算方案给出了巧妙的设计。首先,英特尔® SGX为交易创建了一个基于内存的TEE,任何TEE外的未授权实体都不能访问或者修改其中的数据。其次,TEE中交易的过程是由“不可见”的区块链来完成,这有两层含义。第一,签名者对其所签署的消息是不可见的。第二,签名消息不可追踪。
可以看到,这两种设计的组合,既能保护交易数据的隐秘性,也使交易在云服务中能获得高效验证。
我们再来看看医疗行业的情况。为帮助医疗机构借助X光片来快速了解病患是否面临生命危险,科研人员希望通过AI算法来对大量X光片数据开展训练,并形成高效的X光片阅片及危险识别模型。
众所周知,临床数据是极为重要的隐私数据。为此,某研究机构正计划基于Azure云服务来构建一个具有“零信任”环境的医疗保健平台。在这里,英特尔® SGX将与Azure提供的云基础设施(例如Azure Kubernetes服务,以及专门的数据和工作流)一起,来确保算法对医疗数据的使用是“可用而不可见”的状态。
机密计算与云服务,推动更深入的数据洞察
云服务在部署灵活性、敏捷性上的优势,正使其在更多场景中承担起连接数据、应用和业务价值的重担。尤其在边缘数据愈发充沛的今天,云服务所提供的有效连接,正让数据的采集、汇总、处理和分发变得高效且经济。
但出于对数据保护、安全隐私和监管合规的要求,云端数据的安全性挑战也与日俱增。借助英特尔® SGX、英特尔® TDX等机密计算相关技术的发展与部署,云数据安全专家正为这些安全问题提供有效的解决之道。两者的结合,无疑将为更多行业用户提供更广泛的数据分析和更深入的数据洞察。
[1] 图片来源于研究报告《机密计算乃当务之急》,如欲了解详情请访问:https://www.intel.cn/content/www/cn/zh/cloud-computing/the-critical-need-for-confidential-computing.html
[2] 相关Gartner图文内容摘自公开网络媒体:https://3w.huanqiu.com/a/c36dc8/44sCgH2ZD9b, https://www.163.com/dy/article/FP7RNG2R0511D6RL.html
[3] Better Together:Azure ConfidentialComputing & Intel® Technologieshttps://www.intel.cn/content/www/cn/zh/cloud-computing/azure-confidential-computing.html?