从可信执行环境到企业级大规模密文计算
星期五, 九月 6, 2019
数字经济时代,数据是企业的核心资产,数据的全生命周期加密处理是保护企业数据核心资产的最有效最可靠手段之一。在信息安全的发展过程中,我们已经建立起国家乃至世界级的技术体系,很好解决了数据加密存储和传输的安全,让数据在全世界流动起来,从而产生今天的数字经济规模。但是,在这一数据全生命周期链路中,有一个至关重要的处理过程因为技术等原因一直没有很好解决,那就是加密后数据在计算过程中的处理问题。传统的方式是要求先解密数据再进行计算,这给数据生命周期安全留下了一个巨大的缺口。
为应对上述安全缺口,传统的方式是让计算和数据都处于拥有者控制之下,即计算和数据都在拥有者统一的安全域中,因而上述安全缺口不会造成特别严重的问题。
然而,在今天,数字经济已经促使计算模式和数据共享层次发展到了一个全新的高度,数据拥有方、存储方、计算方和使用方都高度分散,再让他们处于统一的安全域中已不太可能。数字经济的发展,呼唤填补上述安全缺口的新技术出现和大规模使用,从而助力数字经济发展到新的阶段。
事实上,上述安全缺口是一个两难问题,一方面我们期望实际计算的是明文数据,另一方面我们要保证数据不可触及,即实际操作的计算方不知道明文数据是什么,我们把解决这一两难问题的技术统称为密文计算,常用“可用不可见”更形象化的名称来表达。
当前业界实现数据“可用不可见”的技术路线有两条。
第一条是基于密码学技术的密态计算,以安全多方计算、可搜索加密、同态加密、零知识证明等技术为代表。其核心思想是设计特殊的加密算法和协议,从而支持在加密数据之上(不用解密)直接进行计算,得到所需的计算结果,同时不接触数据明文内容。这一领域的相关内容请参考其它资料,下面我们主要介绍第二条。
第二条是基于可信执行环境技术(TEE,Trusted Execution Environment)的可信计算,以Intel的SGX,AMD的SEV,ARM的Trust Zone等技术作为代表。其核心思想是以可信硬件为载体,提供硬件级强安全隔离和通用计算环境,在完善的密码服务加持下形成“密室”,数据仅在“密室”内才进行解密并计算,除此之外任何其他方法都无法接触到数据明文内容,数据在离开“密室”之前又会被自动加密,从而实现“可用不可见”。
为了提高灵活性,在TEE环境构造的“密室”内,可以运行外界上传的经过数字签名的代码,同时,TEE环境会以一种可验证的方式向计算参与方证明“密室”内当前所运行代码的行为,计算参与方如果信任证明结果(例如,“密室”内运行的代码就是数据拥有方编写并上传的),就可以放心地按一定协议将数据加密并传输到“密室”内部进行计算,并得到结果。
在上述过程中,代码和数据一旦进入“密室”,对所有参与方就都将不可触及,包括“密室”的运营方和ROOT权限拥有方,他们即使完全控制了“密室”所寄生的操作系统,也改变不了“密室”内的计算行为,得不到“密室”内的数据,除非“密室”主动将数据明文输出到外部环境中。
目前,Intel的SGX及AMD的SEV等TEE技术,都具有通用CPU的计算能力,可用于构建企业级大规模的“可用不可见”通用服务平台,可大规模应用于跨境数据共享、隐私保护、数据融合、AI和大数据计算、数字金融领域。
Gartner已经将数据隐私列为 2019年十大战略技术趋势之一,而“可用不可见”是实现数据隐私的主要技术之一。此外,以TEE为基础的“可用不可见”技术已经在全行业呈现全线铺开之势。
Fortanix是使用类Intel SGX的TEE技术较早的公司之一,基于SGX技术实现密文计算,推出了一款称为运行时加密(Runtime Encryption)的服务平台,以及自防护的密钥管理系统。
计算机业界巨头IBM则与Fortanix合作为其Data Guard服务提供密文计算的能力,计划在MySQL、Nginx、OpenDJ、OpenStack Barbican等开源软件中提供SGX支持。
Equinix通过和Fortanix合作,以服务形式提供自证明安全的在线密钥管理系统SmartKey,保护分布式数据和密钥的安全。
安全供应商Gemalto已开始利用该新技术打造一款称为SafeNet的基于云的密钥管理服务。
隐私数据存储计算的去中心化平台 Enigma 则利用 SGX技术来增强智能合约对隐私的保护,Enigma 发布了利用 SGX进行计算的测试网。钱包硬件企业 Ledger 与英特尔达成盟友关系,探讨利用 SGX 技术存储私钥。Golem 发布了 Graphene-ng 以帮助开发人员编写支持 SGX 的代码。
微软研究密文计算多年,在其产品Azure中已经采用Intel SGX 技术,支持基于TEE的密文计算功能,目前正在推出其软件开发工具,也开源了相关软件系统以方便开发人员使用。
谷歌基于Intel SGX技术之类的可信执行环境,强势推出了其开源安全应用开发框架Asylo,从而加入密文计算这一领域的竞争。Asylo框架的出现使得更多的开发人员能够使用TEE技术实现密文计算,并支持各种计算环境——从企业内部系统到云端。
百度则将Rust语言和Intel SGX技术相结合,推出了通用安全计算框架MesaTEE,它综合采用了混合内存安全技术(Hybrid Memory Safety),密文计算技术(Confidential Computing,如Intel SGX),以及可信计算技术(如TPM),提供隐私和安全保障能力。
阿里巴巴非常重视保护隐私数据安全,近几年,在数据可用不可见技术的研发上,做了持续深入的探索与投入。在公司内部,有关使用TEE技术实现密文计算支持新型数字经济发展的相关研究,正有计划地在阿里经济体各研究部门与业务部门展开,并推出了一系列的技术和产品。
阿里云推出了支持Intel SGX的云主机租售服务;蚂蚁金服推出了安全计算平台“数巢”系统和“摩斯”系统,支持基于TEE及MPC为基础的密文计算,已广泛应用于联合金融风控、保险快速理赔、民生政务、多方联合营销、多方联合科研、跨境数据合作等多个领域;阿里集团安全部基于Intel SGX技术,推出了大规模可信计算集群及其集成开发环境,为阿里生态提供“可用不可见”服务,目前已经成功应用于密文搜索、跨安全域数据融合、高安全高可信自防护密钥管理、高敏感网络堡垒主机保护等领域。
目前,阿里巴巴正计划通过TEE、同态加密和安全多方计算等最新的“可用不可见”技术,实现真正的全链路加密数据计算,实现对用户、合作商家、阿里经济体关键数据的隐私保护和全生命周期安全。
综合上述这些事例,从行业趋势上来看,“可用不可见”技术具有广泛的应用前景和商业价值,把原来很多不可为的事情变得可为,让整个行业可通过这一技术进入一个新的发展阶段,从根本上解决用户隐私保护、企业关键数据安全与深层次合作、数字金融安全等制约行业发展的瓶颈问题。从产业发展来看,目前,“可用不可见”应用及产业布局时机已经成熟。
未来,“可用不可见”技术将沿着更安全、更高效、更大规模、更透明易用的方向前进,每一个用户将会因为这项技术而受益,彻底摆脱数据安全问题给我们带来的各种困扰。
作者:阿里巴巴集团安全部高级安全专家 包义保