2019杭州云栖大会云安全峰会专场,由阿里云智能首席安全架构师、可信技术大咖李晓宁带来以“零信任网络:应用可信架构构建安全系统”为题的演讲。本文首先对零信任网络到底是什么进行了介绍;接着介绍了传统可信计算技术及产品能力;最后对阿里云加密计算技术是如何发展的进行了介绍。
视频直播回顾(请点击“9.27.PM——云安全峰会”观看)
以下为精彩视频内容整理:
零信任网络
我们去年在云栖大会上已经发布了整个阿里云基于硬件的可信架构,如今在已发布的可信架构基础之上,又推出了一系列的可信安全产品。接下来,今天主要分享的是如何基于这些功能产品去打造更好的零信任网络产品。
零信任网络已经越来越受到大家的关注,这个词在近几年非常的火,包括今年RSA上很多厂商都在提零信任网络,还有各种产品都在往上靠。零信任网络自身的兴起是有一定原因的,在传统的IT架构下,这个网络的边界是一个非常重要的依据去帮助企业划分不同的区域,同时很多时候在可以信任的区域里,很多企业通过简化信任的基础来提高信任的效率。事实上随着新技术的发展,云计算技术和网络本身的边界已经开始经常性的发生变化,就使得整个单独的依靠网络来做加护面临很多的挑战。这些年来有大量的安全攻击,这些攻击在内网通过简化的信任横向移动造成了很大的影响,而零信任网络就是要去解决这些问题的。零信任网络通过在弱化网络边界的基础上产生一套新的架构去避免这些已有的根据网络边界划分的安全假设。在去年阿里云发布的可信架构上,今年有新的产品已经落地,包括传统的可信计算相关的产品,以及基于阿里云加密计算的产品,这些产品实际上和零信任网络是可以结合起来的。
零信任网络设计
零信任网络比较经典的一个设计或者说业务元素主要包括这几个方面,由于零信任网络需要弱化网络本身的鉴权机制,那么本身如何去鉴别一个合法的访问,就是需要我们去准确解决的一个问题。那么在零信任网络架构下,大家更多的去依赖于可信的用户通过凭证在可信的设备上,对已有的资源进行访问。这里的策略扮演着非常重要的角色,这些访问策略通过对这些凭证的检查,能够确保正确的信息反馈给用户,而恶意的请求会被阻拦掉,这个时候在没有内外网检测的情况下,内外网也能够获得相同的内容。
用户及设备身份凭证的基石
可以看到,整个信任的凭证变得越来越重要,那么怎么样去确保一个远程的访问,来自的设备是可信的呢?另外,用户在做这些远程访问和提供凭证的时候,这些敏感的数据、敏感的操作有没有足够的安全保护,这些都是我们需要解决的问题。
可信计算产品架构
接下来分享一下关于设备可信的问题,基于传统的标准TPM可信计算已经有很长的时间了。在传统的架构上是通过一个可信根,接着在可信根的基础上启动链的度量,然后在整个TPM的可信根上都会存放整个状态,那么这个状态在稍后做很多访问的时候,就需要作为凭证提供给服务器。通过传统的远程证明技术,可以拿它来判断这个设备是不是在信任的一个状态。
回到零信任网络,设备的管理是非常重要的一块,我们通过产品能够对这些设备进行很好的初始化管理,特别是对它的相关密钥进行管理,因为这些密钥后期会用来作为设备是否可信的一个凭证。当这些初始化可以正常完成之后,在每一次发起这些访问的时候,我们可以把基于TPM度量扩展的信息作为凭证发送给远端服务器,这个时候就需要有一个可信的客户端在本地去获取这些信息,同时这些信息拿到之后需要发送给远端服务器。比如说有相关的远程证明功能服务,这些远程证明服务根据预先已经设置好的白名单就可以做一个合法的判断,即当前的设备是不是我的设备,是不是我信任的设备,同时这个设备是不是运营在一个可信的状态或者说一个正确的状态。如果这个状态并不是我们认可的,那么我们可以通过报警的机制去发送到运营中心,向安全运营中心进行报警。这样的整个流程或者说整个架构是一个非常典型的可信计算产品架构。
专有云可信产品
在专有云3.8以后,整个云平台侧已经有整套的解决方案可以部署上去,去支持在云平台侧的平台可信。大家可以看到,这个能力和零信任结合起来后,这个能力很好的解决了设备的可信任问题,可以帮助服务器去鉴定这个设备是不是一个可信的设备。除此之外,对于应用程序在专有云3.8之后,增加了白名单的功能,通过对应用程序行为的识别和白名单去做判定,进而防止恶意的攻击。在专有云3.8之后,平台可信以及应用可信都已经可以作为商业化产品输出进行售卖。
公有云可信计算产品
目前,在公有云上已经开始部署在云平台侧的可信解决方案,包括我们的机器通过整套的解决方案进行初始化,然后部署在客户端。通过部署可信服务和运营中心打通,在整个过程中确保机器可信的状态。在公有云上,还提供了另外一个非常重要的功能,就是虚拟可信根。在整个虚拟化架构或者说公有云架构下,阿里云基于物理的TPM有这样的可信能力。此外,还需要通过软件的形式把它透穿到虚拟化里,通过确保物理可信对整个虚拟可信根进行度量以确保它的安全性。在此基础上会把它作为一个虚拟设备导出给虚拟机,目前已经具有可以在线上支持VTPM的ECS实例。
加密计算技术及产品能力
阿里云加密计算技术
在传统可信架构上,阿里云已经发布了一些产品,用户可以很好的用这些产品去打造设备可信部分。在可信执行环境上,作为另外一个非常重要的部分,阿里云推出了加密计算技术。在这里列出了从推出加密计算技术开始到今天主要的节点,包括在2017年云栖大会上正式发布的加密计算技术以及在2018年正式发布的商业化产品,之后在此基础之上进行了扩展和技术创新,在去年发布了基于FPGA和网卡的加密计算技术,再之后跟一些厂商、软件厂商达成了商业合作,同时也发布了基于阿里云加密计算来进行密钥保护的阿里云区块链服务。
Graphene-SGX Golang支持
接下来分享一下最新的产品和进度,首先今天的加密计算技术是基于Intel SGX技术,这个技术需要开发者重新编码,这会给开发者带来额外的开发成本。如何让没有修改过的代码可以直接运行在SGX保护区域内部,这是一个公开的技术挑战。Graphene是一个开源软件,Graphene SGX试图去解决编译好的软件,不需要重新编译就能够运行在SGX内部的这样一个问题。但是今天尤其是在云上有很多的用户可以用各种编程语言,包括Golang。Golang是一个非常流行的语言,这个语言解决的一个很重要的问题是整个环境一致性的问题。通过GO语言编程序的依赖性非常低,这样的好处是兼容性各个方面非常容易,但是对于Graphene SGX,Golang编译出的程序包含很多指令,这些指令是不能够运行在SGX里的,因此阿里云就这个问题和英特尔展开了合作,在Graphene SGX上共同开发了对Golang语言的支持,可以让在Golang上开发的程序不需要任何的修改就可以运行在Graphene SGX上。
全加密数据库发布
另外一个是全加密数据库,所谓的全加密数据库更多的是在网络传输、磁盘加密以及动态运算时全部支持加密保护,这里其实最核心的是在运行时的动态保护。全加密数据库是阿里云的数据库团队以及达摩院一起联合开发的一款产品,它通过让用户完整的控制密钥,并且只在用户加密的数据在服务器需要运行时,才从用户那里通过保护SGX环境来获得密钥的方式来降低攻击。那么也就是说,如果整个系统被攻击,但是无法访问SGX里保护的数据,就依旧拿不到敏感数据,进而攻击失败。
全加密云数据库PostgreSQL版
阿里云团队经过很长时间的研发,发布了一款全加密云数据库产品,这个产品能够帮助云上的用户保护数据。
Gartner2019年云安全技术成熟度曲线报告
今年Gartner发布技术成熟度曲线如图所示,首次把机密计算放进云安全技术成熟度曲线中,这也就说明Gartner作为非常重要的分析机构,他们开始意识到SGX对云安全来说是非常重要的技术方向。同时阿里云作为典型的云厂商入选到这个报告之中,通过两年多的技术布局在加密计算技术上,我们推出了众多的产品和新的技术。
2019首届SGX应用创新大赛
为了进一步推广加密计算技术,今年阿里云还和浙江大学合作,联合举办了2019年首届SGX应用创意大赛,实际上阿里云在SGX技术或者说加密计算技术的应用上已经走得非常远了。阿里云做了大量的应用程序改造,在很多场景下都开始应用加密计算技术来解决数据安全问题。但是阿里云想在整个生态或者说整个行业,让更多的人参与进来,因此提供了这样的一个机会,希望大家可以一起来参与,然后把大家的想法、创意提出来,进而让更多的人意识到这个技术的重要性以及有更多的应用场景。
机密计算联盟
机密计算联盟是Linux开源基金会组织的一个新的联盟,阿里云作为一个初创会员在8月份已经加入了这个组织,这个组织的目的就是通过整个行业上的联合,通过开源社区的力量,进一步推动机密计算技术在工业界的落地。阿里云加盟进去也是希望能够和整个行业、整个生态在一起进一步的推动机密计算技术在行业上的落地,能够通过各种新的产品和解决方案来帮助用户,让他们的数据更加的安全。
阿里云加密计算技术进展
加密计算技术演进
加密计算技术的演进如图所示,在2017年开始推动加密计算技术,那个时候的IntelSGX1.0内存比较小,所以在开始阶段很多公司开始用,但是大部分都是区块链公司,这个也是非常容易理解。对于区块链而言,它的密钥保护至关重要,智能合约对内存的消耗比较小,所以这些公司通过内存比较小的Intel SGX技术也一样的能够解决他们的问题。去年为了解决内存的问题,开始和英特尔以及Mellanox合作,把加密计算技术分别扩展到FPGA和网卡上,这只是刚刚开始的一步,在以后英特尔会推出IntelSGX2.0技术。在这个上面,阿里云会在处理器的大内存上进行进一步的拓展,然后通过处理器大内存来实现在处理器上支持大数据运算这样的场景。将来阿里云还会尽可能拓展,把基于SGX技术的应用环境进行扩展,然后在整个虚拟化层面上去支持加密计算。
零信任网络中的经典应用
回到零信任网络上,大家可以看到我们已经发布的这些技术和产品,其实非常好的解决了两个问题。如果在零信任的网络上,需要非常严格的对用户和设备进行信任的认可,那么可以通过可信计算或者加密计算技术去分别解决平台的信任问题,以及用户或者应用凭证自身的信任问题,这里头当然包括了在运行时通过SGX这样的技术去保护用户的凭证,确保系统更安全的问题。
零信任网络的信任基石
可信计算技术可以很好的解决零信任网络里面的设备信任问题,同时加密计算技术也给零信任网络中用户、应用的可信凭证提供了更强的保护功能。