众所周知,我们身处一个信息爆炸的时代,数据成为了新的石油,推动了整个数字经济的发展,那么随之而来的是对数字安全性和隐私保护的日益增长关注。机密计算作为一项新兴技术,为我们如何安全处理和计算敏感数据提供了新的视角和解决方案。在2023 龙蜥操作系统大会全面建设安全生态分论坛上,圆桌讨论环节邀请到了 Intel 安全软件与服务部首席工程师王立刚、AMD 中国区数据中心市场及业务发展总监曲大健、Arm 公司代表杨喜乐、海光安全副总裁应志伟、龙蜥社区机密计算 SIG owner 张佳等 5 位重量级大咖,机密容器(CoCo) 社区Maintainer 马丁担任主持人,通过他们的经验分享和洞见对话,期待能共同绘制出一幅机密计算未来的蓝图。以下为本次圆桌讨论原文:
(图/自左到右-CoCo 社区Maintainer 马丁、Intel 安全软件与服务部首席工程师王立刚、AMD 中国区数据中心市场及业务发展总监曲大健、Arm 公司代表杨喜乐、海光安全副总裁应志伟、龙蜥社区机密计算 SIG owner 张佳)
主持人:各位所在企业都在推动机密计算领域发展做了非常多的工作和贡献,那么首先邀请各位专家分享一下关于自己公司的机密计算路线选择和技术方向。
王立刚:非常开心和大家聊一聊英特尔对机密计算路线的想法。首先我从一个更加宏观的角度去理一理英特尔在安全领域的整体思路。英特尔在和用户的合作实践中,逐步认识到,在一个系统中不管软件实现有多么安全,总有其他一层可能会出现问题。如果想从根本上解决这个问题,只能从硬件入手,因此英特尔就有了基于硬件的各种安全技术。英特尔安全战略分为两个主要方向,一个是保障平台的安全,另一个是保障数据的安全。保障平台安全有 Boot Guard、PFR 等技术,保障数据安全分为三个方面:存储安全、传输安全、运行时安全,而英特尔推出的 SGX 和 TDX 两种机密计算TEE 技术就是用来保障运行时的数据安全技术。SGX 和TDX 有各自的优势,可以互为补充:SGX 更适用于对安全性要求更高、代码更易于改动或从头构建的应用 TDX 更适用于大型的成熟应用,用户可以根据使用场景选择更适合自己的技术。最后再强调一点,SGX 和 TDX 在英特尔平台上都会长期共存。
主持人:在王总分享的过程中,我听到了英特尔对于数据安全和平台安全的坚持,以及提供了 SGX 和 TDX 两种不同场景的解决方案。现在 AMD 在第三代的 EPYC 服务器处理器中也已经支持了最新的 SEV-SNP 机密计算特性,请曲大健博士分享一下 AMD 在机密计算中的设计理念、思路以及想法。
曲大健:AMD 对机密计算非常重视并且身体力行。AMD 在 2017 年已经在处理器上Enable SEV 的功能,后来加上了 SEV-ES,第三代把 SEV-SNP 全都加上。那么这三者之间都有什么区分?SEV 只加密内存,但是没有完整性保护,外人可以改,改了就不运行了,文件或者程序改了就不保证一致性。SEV-ES 可以把 cache 和 register 的数据再加密,加密过了从外面读不了,从里面也读不了,中间运行过程之中不会泄露。SEV-SNP 支持防篡改,把内存中的数据加密,加密了别人改了以后就被发现,报 illegal 或者不执行。AMD 尽管经过了几代产品发展,但还是逐渐把机密计算的基本功能全都 enable,在合作的操作系统的伙伴也都把 SEV-SNP 全都 enable,云服务商在云实例上已经发了带 SEV-SNP,也就是加密的虚拟机。未来,AMD 会逐渐和合作伙伴,包括操作系统的提供商以及其他的第三方把 SEV-SNP 功能以及其它的有关机密计算的功能全都 enable 在一起,变成一个端到端的解决方案。AMD 也会逐渐打通国内 confidential 的虚拟机,我们持续不断地朝着这个方向努力,和合作伙伴一起让用户更好地用起这个功能。
主持人:AMD 最开始从机密计算保护数据的机密性,到保护它的完整性,一直到后面的生态建设以及对 AI 等等新兴领域的知识描绘了一幅 AMD 相关硬件的发展蓝图。接下来作为全球领先的半导体设计及软件平台公司,Arm 在机密计算领域推出了相应的 Arm 机密计算架构 (Confidential Compute Architecture, CCA),请杨喜乐分享一下 Arm CCA 在机密计算领域的一些设计哲学。
杨喜乐:Arm 在几年前发布了新一代的架构—Armv9,其中 Arm CCA 作为其中非常重要的架构特性之一,通过在 Arm 架构中引入了一个 realm 领地的安全世界,来保护用户数据在计算中的安全,包含内存加密、寄存器加密、CPU TEE 等安全执行环境。Arm 在设计 CCA 过程有三点考量:第一个是要实现机密计算技术的普惠性,我们知道之前的 TEE 技术需要开发者对应用程序进行拆解,重构成安全和非安全的部分,对一般的应用开发者来讲还是有比较高的使用门槛,CCA 真正实现了机密计算对于开发者的 lift and shift 的体验,开发者无需对应用程序作出任何改动,就可以直接将其运行在基于CCA的可信执行环境中,实现数据在计算中的安全。第二点是可扩展性,我们都知道 Arm 技术的使用场景涵盖了从数据中心到边缘计算和 IoT, 从手机桌面终端到汽车消费电子,全球有 70% 的人在使用基于 Arm 技术的产品,因此在设计 CCA 的时候,我们要考虑的一个重要问题就是如何让 CCA 真正的可扩展,实现各个场景下端到端的机密计算安全。第三个是开放和透明,大家在谈到机密计算时经常会提到 TEE(Trust Execution Environment)这个名词,其中的关键词就是 Trust,那么信任来自于什么?我们认为信任源自于开放和透明,Arm 从 CCA 发布之初,就计划将相关的 Firmware、 Kernel 和 Hypervisor,以及 CCA 中非常重要一部分远程证明方案 Veraison 开源、开放,实现机密计算技术对于整个软件栈端到端的可审计、可追溯。
主持人:Arm 其实在强调三点,就是保证生态的开放,对开发者友好和整个架构,不管是对服务器端还是移动端的,都要有可扩展性。接下来,作为国产机密计算的先行者,海光 CSV 其实也已经有了长足的发展,有请应志伟分享一下海光对机密计算解决方案的一些想法和思考。
应志伟:海光今天可能是这里唯一的国产 CPU 厂商。安全对 CPU 厂商特别重要,第一个是供应链的安全,第二个是 CPU 本身的安全性。海光这两年无论在密码技术、可信计算、机密计算都投入了很大的人力和精力。时代在变化,数据安全变得越来越重要。海光在机密计算上做了很大投入,当初面临选型的时候,一个要保证数据安全,第二个是怎么让新技术快速被接受。最终海光选了把整个虚拟机加密这样一个机密虚拟化的路径,最近推出的海光 CSV3.0 上做了很多创新,如过去只做内存加密,而在海光CSV3.0 中不仅做了内存加密,也做了隔离。我们也通过各种各样的手段提升机密虚拟机本身的安全性,前面提到的数据安全越来越重要,将来的大模型,人工智能的数据,而机密计算扮演一个非常重要的角色,所以我们也会坚定投入下去。
主持人:海光作为国产机密计算的先行者对安全方面有极高的追求,侧信道攻击等都是非常细致的考虑,非常乐见海光 CSV 以后有更好的发展。最后一个问题留给龙蜥社区的张佳,作为云厂商,面临这么多硬件 TEE 技术路线的选择下,面向用户的产品应该怎么发展?
张佳:龙蜥作为一个中立化的社区,又是一个开源组织,非常希望在机密计算上先行试水来帮助中国的研发人员了解、掌握机密计算的一些先进技术,主要原因是机密计算真正有助于通过数据流动性,解决数据孤岛问题,是能进一步释放数据的社会、经济价值的一种突破性技术。关于多 TEE 平台,做软件的人都有一个梗,没有什么问题是不能通过在软件 stack 中再加一层解决的,所以龙蜥社区把四家知名厂商的机密计算技术引进来,在社区软件层提供一个良好的抽象。龙蜥社区最初专注于开发机密容器技术,与机密虚拟机相比,机密容器能够自然地减轻用户的工作负载,同时减少用户对操作系统或硬件知识的依赖,实现快速部署和易于掌握。因此,以机密容器为基础,在龙蜥社区内形成了针对不同 TEE 平台的多种解决方案,后来社区又做远程证明,这项将新技术是一个基于融合新技术的服务,能够让用户确信他们的工作负载和数据是在真正受 TEE 保护的安全环境下运行的。毫无疑问,远程证明服务一定也是不偏不倚的,支持所有的 TEE 平台。现在的远程证明服务已经基本上覆盖了所有的主流 CPU 的 TEE 技术。目前也正在对接和支持 Nvidia 的机密 GPU。未来更多的 TEE 硬件平台都会均衡、公平地支持 TEE 平台,为广大用户提供龙蜥方案,解决各自场景的通用远程证明问题。
主持人:从刚才的对话中,我们从几位专家这里,对硬件厂商和软件厂商对自己的产品设计思想以及背后的理念有了新的认识。接下来进入一些比较有趣的问题,进一步探讨一下当前面临的实际情况,机密计算这个方向是叫好不叫座,具体来说各位认为当前机密计算领域存在哪些主要的挑战。
张佳:关于机密计算叫好不叫座的问题,本质还是机密计算技术现在尚处于早期。我做机密计算已经有四、五年了,但是对于用户来说,他们对机密计算技术还很陌生。另外,这个问题还涉及到很多其它的原因,在这里我就列举个人切身体感,或者我认为最重要的原因,就是是在数据合规机密计算是一种安全可信技术,大家在使用安全技术时,用户的需求有点被动。机密计算做得比较好的,比如金融领域,确实正在如火如荼地快速推进展开。但是,机密计算作为一种通用可编程 TEE,属于通用计算基础设施的一部分,从这个观点来说,机密计算未来应该成为继虚拟化技术之后的通用云计算基础设施的一部分。为什么目前还没有达到这个阶段?主要原因是公有云场景下数据合规问题,俗称数据出域问题。如果机密计算在合规角度缺乏对数据出域的解释,在公有云场景下,机密计算进度一定是缓慢的。不过好消息是,现在信安标委会已经提出了一个国家的机密计算标准,目前这个标准还在草案编写中,是一个整体的技术架构标准。在具备数据合规可解释性的事情完备之前,作为技术人员,我们还是应该有一个技术判断,相信技术合规的问题一定会给一个倾向性的正确评估。在此前提下,可以提前打造和构建机密计算软件生态,做技术先行,而不必等着合规完备了才去做。
应志伟:我个人理解,除了机密计算本身的技术外,较大的问题硬件厂商、软件厂商都已经解得差不多了,但是现在机密计算距离大规模推广还有三个问题,第一个是生态上的问题,从主流的社区拉代码或者从龙蜥社区拉代码,如海光 CPU 或者其他 CPU 能不能变成默认的选项。第二个是最终客户的培育问题,目前行业中能理解机密计算到底是什么,但对于金融、运维、运营商的客户很难真正理解 TEE 是什么技术。第三点是标准问题,国内的生态和国外不太一样,比如金融企业或者运营商要用到机密计算技术,首先得证明安全,得有国家检测的标准,不是技术人员说安全他就认为安全。行业中有行业主管机构认可,能够解决某些问题。前面提到机密计算的标准还在制定中,假以时日,等到检测标准、行业规则落地后,基本会有一个爆发式的发展。
杨喜乐:刚才的嘉宾分别从合规方面,应用场景和标准等方面谈了机密计算目前存在的挑战。我这边从开发者的角度谈一下,因为我们知道一个技术的落地,最终需要开发者能将其非常容易地使用起来。现在主流的机密计算技术,可以实现开发者无需修改应用程序本身,但这里面有个问题是,如何解决远程证明问题?首先,开发者的应用程序怎么无缝的和现有的远程证明流程结合在一起。其次,现在不同架构都有各自的 TEE 实现,那么对开发者来说怎么应对这种复杂度,让应用可以更加容易的适配不同的 TEE 技术,这里面就需要很多相关的标准化工作。Arm 作为机密计算联盟(Confidential Computing Consortium)的重要成员持续和合作伙伴 一起推动相关标准的建立(如 EAT, EAR 等),我们也期待和业界同仁在这方面进行更多交流。
曲大健:刚才各位专家都从技术、开发、产品上做出了很多阐述。我个人觉得机密计算停留在开发者、产品的研发者层面上比较多。随着 AI 技术和各种各样的数字技术开发越来越广泛,在终端用户侧,很多人对技术一无所知,但是慢慢对自己的私密信息的泄露,私密信息被别人滥用方面的忧虑越来越强烈。另一方面,除了积极开发产品,积极使能机密计算的应用时,也要开始积极同步终端用户,让其知道机密计算到底是什么流程,通俗来说就是能带来什么好处。若通过龙蜥社区的open source平台,用户来买虚拟机或者实例时,询问支持机密计算吗,feature是不是都能 enable 起来,能达到以上目的,机密计算下一步的推动扫除了绝大部分障碍,就是机密计算平台大发展的分水岭。
王立刚:首先我从技术方面来聊一聊。技术方面的第一个挑战就是 CPU TEE 和外设协同机密计算能力,这个能力现在比较薄弱,外设包括 GPU、网络设备、其他的加速引擎,CPU TEE 和外设协同起来做机密计算,整个系统的机密计算能力才会更加强大。现在我们可以看到业界已经在做这方面的工作,比如 Nvidia 推出了拥有 TEE 能力的 GPU,H100、H800。第二个来自于技术方面的挑战是对于机密计算应用的开发和部署的平民化、易用化:让开发、部署机密计算应用变得更简单。这需要多方的努力,包括 TEE 的提供商、OS 提供商、独立软件的开发商。第三个技术挑战是机密计算应用开发部署的规范性。针对一些典型的应用场景,如公有云租户对于机密虚拟机的构建和部署,远程认证在几个经典应用场景的需求,应该深刻理解场景各方的需求,共同锤炼出一些能够被各方接受的、规范化的、经典的开发部署方式。技术方面的挑战算是机密计算市场的供给端,那我再介绍一下需求端。需求端从合规方面、终端用户方面,我非常认同以上嘉宾的分享观点。虽然近几年用户对机密计算认识也提高了很多,但是仍然不够,需要投入比较大的力量推广机密计算,尤其是终端用户。让数据安全的意识植根于终端用户的思维中,让他们充分认识到机密计算的作用,只有达到这样的效果,整个生态链、产业链才会活跃起来。
主持人:非常感谢几位专家分享自己对机密计算挑战的一些看法和见解,大概有三个方面的内容:首先是用户市场方面,整个机密计算市场的用户还缺少心智,可能还不太清楚机密计算能够做什么。第二方面是产品和技术研发方面。第三个是法律合规方面。在整个过程中,我听到一个很关键的信任问题,那就是用户为什么相信机密计算技术,它为什么能保护自己的信息。那行业也有人说通过开源的方式就能解决信任问题,邀请各位专家分享一下自己关于开源技术和机密计算之间的关系有什么看法。
王立刚:开源是机密计算成功的前提,也是必由之路。为什么这么说?用户在用机密计算时,忍受了一些成本损失,比如性能的损失,开发部署的不方便。那为什么大家还要用机密计算?机密计算带来了额外的价值,就是机密可信,这个可信依赖于机密计算软硬件实现的可信。这就需要整个机密计算软件模块、各个层面都需要开源,包括底层 TEE 的实现、操作系统、上层应用。只有代码开源了,别人才会信任。英特尔在机密计算开源方面一直在身体力行,比如在开发 SGX 和 TDX 时,软件模块都是开源的,包括核心的 TDX Module、SGX 的 architectural enclave。SGX 的 architectural enclave 在最初设计中放到硬件中实现,最终还是决定以开源软件的形式实现。在这里非常感谢龙蜥提供一个开源平台推广机密计算,英特尔最初也投入了比较大的资源和社区合作很多项目。SGX 和 TDX 底层软件系统软件对龙蜥适配,中间层的机密容器和容器适配,更上层的应用场景的参考方案。针对一些典型的场景,推出的解决方案,比如 PPML,也是和龙蜥合作的。今后也希望和龙蜥社区保持紧密合作,推进机密计算的开源工作。
曲大健:开源分两部分来看。第一部分是加密原理和加密流程是开源的。现在所有的 confidential computing,不管用什么加密原理都是公共的数学加密原理。第二个是通过开源社区建立生态环境时,所有的加密原理和加密流程都是开源的。让大家都可以来利用加密原理和加密流程 API 建立起自己的加密计算环境。这一点至少在开发者层面建立信任,通过难以破解的加密算法实现。从各个层面建立可信性,对加密流程和加密算法的信任,再进一步推广。接触的开发者都知道,加密原理、算法比较绕,再一步推广是让最终的用户充分理解加密是怎么实现的,这也非常重要。龙蜥社区是一个很好的平台,建议龙蜥社区做一个 Demo,不管在哔哩哔哩上或者在其他平台上做一个 Demo,社区应该想个办法做一个直观的东西提供教育场景,对机密计算的整个原理和流程产生信任感。
主持人:龙蜥社区如果能有这样一个 Demo,对于如何培养用户心智非常有帮助。
杨喜乐:前面的嘉宾从开源软件,加密方式的开源谈了很多,我这边接着刚才谈一下信任和开源。最好的信任是开放和透明,开源是实现开放和透明的一个非常好的方式,比如我刚才提到的 Arm 从底层固件到上层软件栈的开源。另外,我们也针对机密计算相关的开源项目(如机密容器)和阿里等合作伙伴也开展了很多社区层面的深入合作,最终将开源贡献输出或者落地到龙蜥社区中。开源作为一种协作方式,提供了不同厂家开放合作的机会。开发者需要面临很多不同架构、不同 TEE 技术的差异,各个架构厂商可以通过开源社区进行合作来屏蔽不同技术的复杂度。最近在 Linux Kernel 社区中,已经实现了不同架构下统一获取 attestation token 的机制,这是一个非常好的开始。希望在开源社区中能看到更多类似的事情,给开发者提供更多统一的接口。
应志伟:前面几位专家讲得特别好,我完全同意。安全不能用黑盒子或者模糊性来代表,这是两码事。无论是加密的算法、原理、流程、架构本身都需要开源,和大家把所有东西讲清楚,最后把密钥掌握在手中,保证安全才是真正的安全,才能经得起考验。说到海光,过去两年和开源社区打了很多交道,去年给整个开源社区大概贡献了 30 万行代码支撑海光所有的安全技术,相信通过开源的方案能把机密计算社区建立起来,总有一天在开源社区下载代码、一键使能,机密生态才可能通过拥抱开源生态的方式真正发展起来。
张佳:前面的嘉宾解释了开源软件对机密计算的必要性。龙蜥社区也正在开源社区,尤其上游社区筹备,通过技术手段把开源软件和软件供应链安全问题协同,一并解决运行在 TEE 内的开源软件的用户信任问题。这一部分会在龙蜥以及开源社区有后续动作,我们会身体力行地应用技术手段,以自动化的方式把这个问题解决掉。
主持人:最近成立了国家数据局,国内外也制定了一系列的数据安全法。从法律法规的角度来看,机密计算作为一个底层技术来支持商业化落地等各种场景都成为了一个发展路径,请各位嘉宾用一些比较简短的话畅谈一下机密计算的未来。
张佳:机密计算未来肯定是前途无量。最关键的点还是人的问题,目前仅靠我们以及我们身后的人是不够的,关键因素是大家对技术的认知,它能解决的问题,以及是否有真正能触达终端用户的案例、方案、开源代码等等。这些问题其实是一个开源软件或者机密计算系统新兴技术都要面对的。作为龙蜥社区机密计算 SIG Owner,我采取的策略更多的还是通过身体力行地以 engineering 的方式,从代码、开源解决方案、用户体感几个方面上,为用户提供一个入门级的开源机密计算解决方案,帮助用户快速部署和使用机密计算,并且在这个框架上继续适配迭代,形成符合自己业务落地的方案。也欢迎大家携手,能把所有的国内相关机密计算的开发资源汇总统一,在各个层面做到不内卷、不内耗、不重复造轮子,以统一标准的方式协同共建,以最小的代价快速把国产机密计算推到高峰。
应志伟:最后我讲两个故事。第一个故事是前面介绍机密计算都谈到数据安全,但事实上我在和某些国内的开发者讨论,国内的软件行业大概发生发展 20 多年,发展得并不好。国内盗版问题盛行,但是我们现在发现机密计算技术能帮助解决软件盗版问题。国内有很多非常有才华的开发者一定能用好工具,能在各方面提供安全性,产业更好地发展。第二个故事,过去上网所有的都是上 http、比如新浪、百度网络传输都不加密,但是现在上的网站都是支持 https,如果网站不支持 https, 浏览器会显示网站是不安全的,它会提示是不是还要继续点进去。最终用户可能未必知道二者的区别,但是通过整个社区产业界的合作,把过去不安全的方法淘汰了。机密计算、隐私计算、国家数据局的成立都需要把数据流动起来,随着大家的努力,一定能看到类似的场景。比如虚拟机起来如果没有加密,标记一下这个信息不安全,这样机密计算生态就可以成了。
杨喜乐:最近半年多以 GPT 为应用的浪潮,感觉进入了 AI 时代。AI 时代中如何保证 AI从数据的产生、模型的训练、部署、推理,如何保证整个端到端的安全。我相信机密计算应该会成为接下来整个 AI 时代非常重要的安全底座,我也希望国内的龙蜥社区能成为机密计算落地的前沿阵地。
曲大健:关于 AI 的事情,但是 AI 的现在所有的模型都是数据驱动的模型。模型可能没有太大的秘密,training 得好与不好取决于数据怎么样。AI 的三要素,算力、算法、数据。未来,数据的交易和数据可能会变得越来越重要,尤其是做AI 应用的时候,怎么样利用加密计算保护数据,更有效地利用数据资产是一个非常重要的方面。我希望通过开源设计技术、工程师、开源社区的努力,让机密计算的应用更快更好地走向大众。
王立刚:我简单分享一下我对机密计算未来的一个愿景,希望不久的将来,每一台计算设备,不管是个人设备还是云端的服务器,都具备机密计算的能力。机密计算服务唾手可得,数据共享,安全通畅,各位用户不再担心自己的隐私被窃取,企业用户不再为数据泄露而烦恼。
精彩视频回放、课件获取:
2023 龙蜥操作系统大会直播回放及技术 PPT上线啦,欢迎点击下方链接观看~
回放链接:https://openanolis.cn/openanolisconference
技术 PPT :关注龙蜥公众号【OpenAnolis 龙蜥】,回复“龙蜥课件”获取。