各位来比大家下午好然后我这边是来自浪潮然后我所带来的演讲是在拥计算环境下去实现一个确战可信力的构建以及我们的一个最佳实验的一个经验因为名是False Deck Security Trail TrustBased Practice eCloud这个技术我们是基于我们浪潮的eCloud OpenStack所做的它就是我们在eCloud OpenStack里面的安全特性之一它基于一个核心的技术是TPM切换没反应切换点 切换吧这个稍微有点技术问题我就继续这个是这样的我们其实就是说TPM是由TCG所定义的一个安全的芯片为什么我们要在拥环境里面去做这个事情呢首先 安全对于用心与拥环境中的工作负载来说或者虚拟机来说它的重要性是不言而喻的随之这几年来安全攻击技术的一个发展它的攻击技术的发展它又呈现了这样一个情况就是我们从早期的对网络的攻击对系统的攻击开始下程到对硬件的攻击硬件其实是在拥服商这边去做的硬件其实是在拥服商这一侧对于工作负载来说它极需要有一个拳站可信的平台就是说我这个安全不只是说我的系统是安全的我的网络是经过认证的而且我是说我的硬件是经过认证的我的系统是经过认证的我所在的我的工作负载所运行的环境是安全的这个安全的构建其实是要有三个图经历三个过程首先是说我在整个计算节点的启动过程的一个安全的一个解册那在关键部件的这个引导和加载的以及启动的过程中我要有一个安全的这个保护那针对一些关键的部件我在我解册的它不安全或者不可信的时候我能够地下一个恢复那这个就是说我们在购界 确战 安全 可信所要经历的一个三个阶段那在这个过程中有一个非常重要的一个部件就是TPM它所起到的一个作用就是将我们从服务器的一个硬件一直到这个虚拟化的软件再一直到这个虚拟化的软件再一直到这个用用型期间的一个穿插什么意思呢就是说因为比如说我们的这个操作系统拿到这个空置权的时候它其实是并不知道就是说我之前的环节是不是可信的那这个可信是需要有一个报告来源的那这个报告来源呢就是这个TPM那TPM是一什么东西呢TPM是一个其实说白了它是一个就有安全从储空间和一个进入的密码加密引擎的一个安全芯片那当时它设计的一个理念呢是一个低成本的一个理念这个用数据中心的一个服务器来说它的成本其实是相对来说比较低的但它是起到了一个安全的一个作用那在这个启动过程中从服务器的上电一直到系统的运行它都会记录每一个组件我家又加在组件的一个状态然后我可以去解释说我所使用的这个状态组件是不是可信如果可信我就会让我的下一个组件会继续去运行那TPM作为这样的一个组件在用环节中的应用呢其实已经得到了一个业界的认可其实早在那个OpenStack的一个FalseM这个版本里面发现FalseM这个版本里面呢其实我们已经就已经做到了这样的一个工作但是现阶段的话就是说我们所能做到的是从服务器的硬件一直到这个服务器的这个用心期间就是那个速主软件就是VMM这一侧的一个一个形成的传递比如说从这个VMM或者说我们的这个速主系统到这个虚拟机这一侧其实是没有做到的那它这一侧的是要想实现说从这个虚拟化软件一直到这个到这个虚拟机它需要有一个东西叫VTPM因为我们知道这个TPM它是一个低承保的一个硬件它不支持这个虚拟化所以说我们需要为了给每一个虚拟机去提过这个可信根我们就需要比如一个部件叫叫这个VTPM那这个VTPM它所解决的一个对于虚拟机租过来说它的价值是什么首先说我可以承载来自这个我的速主系统它自身的一个安全的一个状态就是我知道说我在一个安全的一个节点上其实呢我对于虚拟机租过来说我可以给自己的可信根去加密自己的数据而这个密钥是我的租户自己控制的这个其他人是控制不到的那其实这样的一个世界在业界呢也就有大量的一个探索从早期的这个最早其实是IBM在做这个事情但是他们做了很多的一些方案然后之后其实在VIRRA的一个VNEX包括这个Vimware都引入了VTPM这样的一个特性但是在这些的引入的时候他们会获得获少对虚拟机的一个使用比如说虚拟机的一个生命周期会有一些会有一些会有一些约束那比如说Microsoft的这个方案它就是说我需要卸置虚拟机不能切移或者说对切移是有一些限制的那这样来的话就是降低了虚拟机的高可用和一些虚拟机的一些就是说高可用的一些场景包括比如说它的一些快照啊这些场景那其实我们归纳一下就是说要想给虚拟机去提供VTPMVTPM这样的一个组织我们需要去解决哪些挑战的问题其实针对TPM模就是整个业务逻辑的模拟其实我们的业界已经给了很多的一个发言而且小到成熟那么在这一个和VM和虚拟机的这个生命周期的这个兼容性方面我们可能是我们做的工作的一个重点那其实主要是几个点一个就是说SMX算法的一个集成这是是我们在算法上的一个扩展因为TPM这是算法的自己的扩展那另外一个就是说认证它是一个继续软件去办法的东西在融合环境下如何去认证这个VTPM是不是安全的是不是可信的那另外一个就是说我VTPM服务于工作负载也就是服务于虚拟机它如何在能够适应虚拟机动态性和一个狗可运的情况下它的一个数据安全那最后一个就是它的一个安全可惜根那其实这个工作是我们在我们的浪潮的这个一个浪潮的OpenStack里面去做的那一个浪潮的OpenStack是浪潮推出的一块即是OpenStack推出的一块勇操作系统那其中安全也是我们很重要的一个部件那我们在这里面就基于TPM这个特性我们实现了一个软件第一安全然后我们能够提供什么样的一个服务呢可惜报告服务可惜业证服务和虚拟机可惜服务就提过一个为虚拟机提供一个虚拟可惜根那其实我这么去说大家可能不太明白它的作用是什么那其实看这张图我们大概能够明白它的作用是什么就是首先就是说我基于这个VTPM我能去确保这个我的虚拟机始终用行在一个安全可惜的一个工作虚拟化这个计算解解之上什么意思呢就是说首先我承载这个包含一个VTPM的这个虚拟机的硬件和我的这个速度系统是完成了这个全站安全可惜的一个购借的那么在这之上我又基于这个VTPM加这种安全可惜的一个购借的就是这个现任扩展到了这个虚拟机里面这样的话我就可以保障这个虚拟机运行在这个安全可惜的节点上那它是怎么去说保障说我只能运行在这个计算解解之上呢因为虚拟机是会迁移的那么这里面其实有一个点就是我们会提供一些API我们在我们的API就做了一些扩展这个扩展里面会做一些就是说我的目标主机是不是可信的我的原虚拟机是不是可信的是不是安全的我会加一些标签这样我就会卸之说安全的虚拟机始终在安全的这个计算解体之上图而保证了这个虚拟机的全生命周期的一个安全那首先就是说我们如何去保障就是说首先我加了一个VTPM但是我又不能去卸之这个或者约束我这个虚拟机的这个虚拟机的这个生命周期呢那我们的这个方法就是说我基于这个首先我的业务逻辑是基于软充软件模拟的但是呢我的这个设备管理是基于这个QEMU QOM这样一个机制去实现的然后呢我可以保持它的一个一致性那如何保障就是说虚拟机启动之前它的这个安全那我们会在整个虚拟机启动过程中我们会业证这个度量和业证虚拟机所使用的每一个组织包括它的Libwurt包括它的这个NOWA包括它的QEMU这个固件我们这个里面的固件包括了这个UEFI 8S等等那全生命周期内我们是涵盖了哪些全生命周期内包括了这个从虚拟机的创建启动运行切移暂停暂停恢复以及重启还有快照这样的机制过程中在这些过程中我有保障这个虚拟可行和数据的安全那我们怎么做到的话就是这里面我们基于了一个点就是说基于这个QEMU的LUKS这样的一个机制这样就是说在这个虚拟机的快照过程中包括这个虚拟机的这个切移过程之后的数据安全其实快照我们知道现在大部分的QEMU这个QEMU实现里面快照完的数据其实是不安全的举个简单的例子就是说我们给这个虚拟机内从做快照的时候其实这个文件它是明文的也就是说如果说用户在内从里面又行了一段数据它可能包含了一些敏感信息比如说你的密要你的口令那可能就是说它会把这些数据它会把这些数据会透露给这个外围所以说有一些就是可能会暴露出来从而产生一些不安全的一些因素那另外一个的话就是切移那切移的过程之后我们也会会做一些这个约束首先是说我的一个可信节点其实刚才我已经说到了就是我切移的时候会做一些业证就是只能说让这个安全的虚拟机始终用一些安全的节点之上就是一个加密去报告这个虚拟机的一个始终的一个安全那另外一个的话就是这个快照的一个节点那这个呢是我们基于这个我们刚才所做的VTPM所构建的一个方案就是说它的一个实践那么我们基于这个底层的TPM到中间的一个引导过程的这个可信一直到这个虚拟机的一个可信然后从而实现了纵下的一个可信的一个扩展那么同时呢我们通过这个去TPM的一个可信状态的报告保证了这个横向切异的横向的形式扩展就是说从而达到了就是这个为这个虚拟为组互的这个虚拟机提供一个安全可用的这个全站的一个可信的一个工作环境谢谢各位