一文读懂机密计算SGX:区块链、AI技术的一把安全锁

图片来源:视觉中国

区块链够安全吗?

从其分布式存储的特点来看,我们会给出一个肯定的回答,因为其避免了数据被篡改的可能性。

但从数据传输的角度,区块链并不能阻止数据泄漏事件的发生,原因在于,区块链在分布式存储的过程中,数据在一定条件下仍然是公开可见的。

那么,在区块链已经被广泛应用的当下,我们应该如何保证“链”上数据的安全呢?

上周,来自 清华大学的三人团队历经六个月的紧张研发 ,破解了这一难题。以李琦教授为代表的清华大学TrustFL团队在“机密计算技术实践及首届 SGX 应用创意大赛”上获得了一等奖。

获奖作品以 《基于 SGX 技术的可靠增强的联邦机器学习》 命名,顾名思义,该作品旨在通过SGX 技术解决联邦机器学习过程中,参与者不按预期执行训练任务,通过不训练或少训练来骗取奖励,从而造成的模型污染或模型准确性降低的问题。

这听起来有些抽象,所以如果要进一步介绍清华团队这一作品背后透露出的,SGX技术在AI、大数据、区块链等新兴科技落地过程中凸显出来的数据安全价值,我们可能要先从三个问题说起:

第一,SGX是什么,与联邦机器学习、区块链等新科技有着什么样的关系;

第二,SGX技术行业现状怎么样,处于哪种发展阶段;

第三,SGX发展还有哪些问题待解决?

本文将通过对清华大学李琦教授,以及大赛联合发起单位、阿里云智能首席安全架构李晓宁的采访试图回答以上问题。

SGX与联邦机器学习等的数据安全场景高度契合

SGX(Software Guard Extensions),是 Intel CPU 提供的可信执行环境,可以为云上数据代码的完整性和保密性提供芯片级的安全保障。

业界也把SGX 作为“机密计算”的典型代表,因为机密计算技术可以支持云上用户基于芯片硬件技术和云上虚拟映像和软件工具,创建一个完全隔离的可信执行环境(安全区)。

由于机密计算可以对正在使用/执行中的数据进行加密,因此主机操作系统和云服务提供商都无法识别到这些安全区的敏感信息,从而防止任何第三方对正在执行中的数据进行篡改。

举例来讲,在某种生活或工作场景下,我们可能需要用身份证号或者手机号做认证,在输入相关认证信息的过程中,我们的身份证或手机号可能存在被盗取的风险。

但是,假设我们可以把信息输入的过程放在保险箱中加密,这种盗号的风险就会大大降低,而 SGX就是一种构建保险箱,并对保险箱中的数据编码输入、解码输出的技术。 这等于为数据传输上了一道安全锁。

SGX的这一功能恰巧契合了联邦机器学习、区块链对数据安全的需求,这里重点以清华大学TrustFL团队所讨论的联邦机器学习(FL)场景为例。

联邦机器学习(FL)是AI、大数据技术合力促成的一项技术,简单来讲,“联邦”有“众筹”和“协作”之意。由于AI建模需要大量的数据用于训练,但一般情况下A机构或企业都只有各自领域的数据,为了AI精确计算的需要,其对B机构、C企业的数据也有需求,但根据对用户数据隐私保护的需求,不能粗暴地把几方数据简单加以合并。

于是FL想要做到的是各个企业的自有数据不出本地的情况下,联邦系统可以通过加密机制下的参数交换方式建立一个虚拟的共有模型,这个模型之所以是虚拟的是因为数据本身并不移动,所以也不会泄漏用户隐私。 然而这样的计算模型难以控制参与者的本地训练过程,其容易受到模型污染攻击和后门攻击等等。 例如,参与者可能会在不训练或者少训练的情况下骗取奖励,从而导致模型训练方的经济损失。

SGX作为基于硬件的保护工具,可以有效且高效的保证机器学习训练的正确执行。因此,通过应用SGX技术可以为联邦机器学习提供有效的安全防护。

“本项目聚焦于将SGX技术与联邦机器学习场景结合,在不影响FL计算模型对数据隐私保护的前提下,确保参与者按预期对本地数据进行训练,从而提高整个联邦机器学习网络的可靠性。”李琦教授在接受钛媒体采访时说。

除了增强联邦机器学习(FL)技术在实施过程中的数据安全性,SGX在区块链安全领域的应用也尤为明显。

在接受钛媒体采访时,大赛联合发起单位、阿里云智能首席安全架构李晓宁分析,SGX技术会优先被区块链领域采纳用于解决问题,很大原因是今天的区块链技术虽然解决了完整性与可用性问题,但是始终没有解决机密性问题。

“机密是区块链今天最大的一个空缺,所以当机密技术出来之后,大量区块链公司通过SGX做保护,确保链上安全性。”

尚未完全成熟的高期待值技术

无论是在联邦机器学习还是在区块链领域,SGX都才刚刚开始做技术落地的探索。不过通过“机密计算技术实践及首届 SGX 应用创意大赛”,李晓宁身后的阿里云团队也重新看到了SGX技术应用的新机会。

李晓宁坦言,清华大学这项基于SGX技术的可靠增强联邦机器学习作品,的确为时下联邦机器学习的热门问题提供了一个解决思路。“印象很深刻,专家评委们对清华大学TrustFL团队取得大赛第一名,没有任何异议,争议主要在第二、第三名的应用创新性上。”

他在回忆评奖环节时,仍然清楚记得获得大赛第三名的作品中(第二名两个,第三名三个),有团队将 SGX 技术应用到了让智能电视用户通过声纹,完成在线支付的场景中,该作品旨在保留声音支付便捷性的同时保障声纹支付的安全性。

“虽然提供了一个SGX的应用场景,但SGX技术在其中起到的是赋能作用,不是大家完全想不到的全新场景。”与此相反,专家评委团们对清华大学TrustFL作品的技术实现完整性、创新完整性、实用性都做出了一致肯定。

但就是这样一个获得一等奖的基于SGX技术的作品在真正商业化落地上仍然还需要一段时间。据李琦教授分析,清华大学这一获奖作品目前只是完成了方案的可行性验证:

要实现商业化落地,还 需要实现灵活生成对任意FL模型的安全验证模块,并在SGX中移植轻量级高效安全的机器学习库,然后根据用户模型定义在enclave中生成相应的训练代码。 这样在不增加FL开发者的开发难度的情况下,为其提供安全验证模块,可能还需要半年多的优化。

将视野从清华大学TrustFL团队的这一获奖作品扩展到整个SGX行业,与TrustFL团队的验证类似,SGX技术的应用才刚刚迈出一小步,业界普遍还处于对SGX商业化应用的探索阶段。

Gartner2019年云安全技术成熟度曲线首推机密计算

早在2017年阿里云就与英特尔联合发布了基于 SGX 的加密计算技术,从芯片层面解决了云上客户系统运行时环境可信这一业界难题。与阿里云同年,微软Azure也在2017年宣布推出了公有云中首个支持SGX的服务器。

2018年,基于SGX技术,阿里云又推出了基于SGX技术的区块链服务平台;2019年的云栖大会,阿里云智能也与阿里云数据库团队联合发布了全加密数据库产品。此外业界便没有更多关于SGX商业化的消息。

今年9月,Gartner发布了2019年云安全技术成熟度曲线报告中首度列入机密计算,这对正在探索SGX商业化道路的服务商来说无疑是一个利好消息。“我们目前已经感受到了AI技术的普惠,与AI一样,SGX也是一项非常基本、有很大发展潜力的能力,它可以让不同的应用得到更好的保护。”

需要时间更需要技术突破

SGX技术如果要做到像AI技术一样普惠,不仅需要时间,甚至还需要取得研发技术上的突破。李琦教授表示,单就《基于 SGX 技术的可靠增强的联邦机器学习》这一获奖作品来讲,清华大学团队就攻克了“联邦机器学习中利用SGX技术确保参与者的诚实DNN训练执行”这一问题,然而,直接在SGX内执行所有DNN训练过程可能会导致极大的性能下降。

李琦教授将这一问题归结为三个原因:

1.SGX广泛集成在商用英特尔CPU处理器中,CPU进行机器学习训练比当前GPU训练效率低一到两个数量级;

2.现在支持SGX的CPU只支持限制为128MB处理器保留内存(PRM)(应用程序可用的内存大约90MB)。当需要超过PRM限制的内存时,它们可能会导致显著的换页开销;

3.enclave内的程序无法直接访问操作系统服务如系统调用,如果enclave需要发起系统调用,会导致飞地/非飞地模式转换,这也可能导致性能下降。因此,本项目的技术难点在于,在参与者端,不牺牲过多性能的情况下,利用SGX技术验证参与者的本地机器学习训练执行。

加速器的运用也是SGX面临的另一项问题。李晓宁认为,从架构层面来讲,今天有很多AI计算是在CPU和FPAG上进行的,如何将CPU与FPGA上的数据与SGX进行打通,形成无缝的开发环境或者运营环境,还有很多创新的东西需要做。”

今年8月,Linux基金会宣布推出了机密计算联盟,里面包含了微软、IBM、英特尔、阿里巴巴、腾讯等多家厂商,“技术如果不做布局,不跟进,很有可能导致战略踩空的,我相信任何一个大企业,重要厂商,他们的技术领导都有职责和义务开这个技术,都是给用户更好的保护。”李晓宁表示

时间推进至今,SGX技术未来在实际应用场景中还将如何落地,各个厂商在SGX技术上将会作出何种突破,都是值得期待的一件事。(本文首发钛媒体,作者/秦聪慧)

更多精彩内容,关注钛媒体微信号(ID:taimeiti),或者下载钛媒体App