无信任链可信计算模型与可信虚拟化云计算数据中心解决方案

目前信息技术的使用正在开始转向云服务,不可避免的对云安全的需求随之而来。云安全有许多含义。在公有云方面,用户会担心受网络稳定性、带宽速度所影响的服务体验,解决这些问题可以理解为提供一种初级的安全保障。而入侵检测、病毒控制和防火墙等等传统网络安全技术手段可以进而保证云端免遭网络来自外部入侵的威胁。

云计算中除了Web2.0,搜索引擎,电子商务,社交网络应用等等终端用户不愿意或不习惯付费使用的服务之外(让我们姑且认为云计算广义上含有这些内容,比如云杀毒,云拼音,云游戏,等诸如此类带有云的叫法),剩下来能够对终端用户真正提供价值的-----真正的含义是能够让用户愿意掏腰包购买-----是处理用户私有数据的服务。个人认为只有提供处理用户私有数据的服务才算是真正意义(狭义)上的云计算。顺便提一句:用户不付费使用的广义云服务具有一个共性:即服务提供商处理的数据是它自己的而不是用户的,这也是为何那些广义云服务提供商往往通过商务或业务安排(比如广告,餐饮,购物等)来获得服务收入。狭义云计算服务处理用户私有数据则不可避免要保障用户数据的安全。

除了第一段提到的传统网络安全技术手段之外,如何保证用户私有数据在云计算数据中心接受处理服务时不被非法非授权访问,不仅要免遭源自于外部入侵的威胁,特别还要防范可能由云服务数据中心系统管理人员发起的内部攻击所造成的危害,这才是云计算安全需求有别于传统网络安全需求之处:传统网络安全偏重或仅须防范来自于外部的攻击,云安全则一定还要有手段防范内部攻击。对于企业来说,在云服务环境中要掌握控制管理措施:不仅要明确知晓谁有权限访问数据,并有能力在客户端有效管理和控制数据的访问策略。这些都是企业采用云服务必须考虑的问题。

有人说云安全是服务安全,是服务诚信问题,我同意这样的说法。传统诚信的建立一般是靠服务提供商长期提供优质可靠服务的历史而建立起来的。但云计算还在“婴儿”时期,所以这个长期历史考察还有待时日,工业界等不及。通过可信第三方认证方法可以加速诚信的建立。这方面相关的技术是可信计算。可信计算的核心是一个装在物理计算平台上的硬件模块叫做可信平台模块TPM(Trusted Platform Module),又叫做基于硬件的信任根(Hardware Based Root of Trust)。这个TPM硬件模块是打不开,绕不过的,里面有密码算法,从外部无法影响模块内部由密码算法所制定安全策略的执行,所以TPM信任根可以理解为服务平台上的一个可信第三方,能够通过由密码学方法强制执行的安全策略,确保平台服务提供方与服务使用方的利益。云服务数据中心,比如系统管理员,如果想要通过不当方法获取用户数据,如果违反由硬件信任根所设定的安全策略,他是无法操作的。TPM信任根是一个带有私钥的硬件,相对应的公钥可以让一个可信第三方做认证,就是通常公钥认证的方法,可信第三方认证方可以是持有由政府或工业标准组织颁发资质的服务商。当然,云安全也需要有一些法律框架层面的做法来制定游戏规则,激励云服务商提供可信服务,提高攻击的成本。所以,可信计算是解决一个诚信问题的技术手段,通过技术手段证明云服务提供商所采用的安全信息处理方法值得信任。从多方面来看可信计算技术应用于加强云安全是一个方向,是增加服务方诚信的一个有效方法。配备有可信计算技术强制的安全策略执行,法律框架层面制定的服务规则也变得容易,具有可操作性。

云计算数据中心广泛使用虚拟化计算平台,这个虚拟化架构上的VMM,叫做类型1 虚拟机监控器(Type 1 Hypervisor),又叫做Bare-metal(直接跑在硬件上的)Hypervisor,它的系统优先权很高,它又是一段静态代码,所以它可以被可信计算技术“度量”,也就是对二进制代码取哈希值,将结果存入TPM。经过度量以后我们可以说,比如在公开源代码的情况,这个VMM是一个玻璃的盒子,是透明的,如有设计错误可以比较容易找出来,而度量呢,实际上是把玻璃盒子硬化形成了一个钢化玻璃的盒子。度量完了以后就不能再更改了,改过的东西是不会通过平台报告的。客户端用户希望你服务端那边跑的是一个什么什么版本的VMM,是不是我同意的版本,里面是否可能存在漏洞,攻击者能不能去利用它,这些用户关心的的问题都可以通过可信平台报告方法让客户端用户使用公钥验证方法得到验证确认。公钥验证方法还得到可信第三方颁发证书得到认证,这就是采用技术手段让用户验证确认服务方的诚信度。

在采用虚拟化架构的云计算数据中心里用户租用虚拟机处理数据,一个虚拟机只是一堆数字,不用的时候就存放在数据中心磁盘上。和物理硬件机器一样,虚拟机中不可避免保存有用户秘密信息,比如最起码要有用户登录所需的密钥或证书(Crypto Credential),否则数据中心就连用户身份都无法识别区分。既然虚拟机只不过是一堆数字,虚拟机中的用户秘密也是作为数字以明文的形式存储在外部存储器上的。与用户持有并通常会妥善保管自己的物理机器时情况不同,在云计算情况用户的虚拟机是以数字形式存储在数据中心磁盘上。所以虚拟机中的用户秘密信息,若不加以保护,则是以明文形式直接暴露在数据中心磁盘上的。攻击者可以简单从磁盘拷贝获得用户虚拟机,然后换一台主宿虚拟架构平台就可启动使用他人的虚拟机,进而非法获取用户私密数据。我们需要提醒:拷贝虚拟机至另一虚拟架构上运行,这是一种十分简单容易得逞的攻击技术,云计算数据中心虚拟化计算平台必须采取有效手段防止此类简单攻击。然而根据我们调研了解,至今工业界在云安全方面尚未推出实用有效的虚拟化安全产品或解决方案可以防范此类简单的虚拟机拷贝攻击。

将可信计算技术应用于虚拟化计算平台提供安全服务,比如防止上述拷贝用户客体虚拟机的简单攻击,可信计算技术十分有效。用户客体虚拟机中的秘密,比如密钥,可以由主宿物理服务器上的可信平台模块TPM保护起来。用户虚拟机可以设计成压根不含有任何用户秘密信息。如果将这样的用户虚拟机拷贝到另一台主宿虚拟架构上,则或者由于该主宿虚拟架构根本不配备有可信计算技术,或者由于支撑该主宿虚拟架构的硬件信任根不同于原宿主虚拟架构的信任根因而不含有被拷贝客体虚拟机的用户秘钥,无论哪一种情况,被拷贝的用户虚拟机不能正常跑起来。即便攻击者通过重置虚拟机的credential 强行让它跑起来,或直接分析该虚拟机映像文件,也因为该虚拟机中没有相应密钥而无法解密虚拟机中被原主宿虚拟化架构下硬件信任根所加密的用户数据。

现在让我们转而讨论可信计算技术的问题,包括可信计算集团TCG标准与Intel公司的可信执行技术TXT。国内外在可信云计算技术方面尚处于依赖从硬件信任根向上逐级度量系统软件栈中每一软件,所谓建立信任链的方法(TCG方法)。此方法如果限于应用至系统底层软件,比如类型1虚拟机监控器,还是可行的。这是因为此类系统软件,或位于此类系统之下信任链中更低层的系统软件,具有静态、不含用户态系统配置数据、无对外通信功能等“简单”性质。度量这样具有“简单”性质的软件具有确定性,所以可以很容易检查度量结果。然而一旦一个系统软件开始具有“非简单”性质,比如动态代码(如使用动态联编库连接外设驱动器),含有用户态系统配置数据(如需要配置可信第三方IP地址用以下载认证证书等),或可以与外部世界通信(如在通信端口收发解析IP包),诸如此类等等“非简单”性质,则再对其做TCG意义上的软件度量就几乎会失去软件度量原本定义、设计所赋予的含义。单说系统配置这一件事,就需要人的参与才可能准确完成。所谓无人值守云数据中心的设想,大概可以用共产主义理想来比拟吧,似乎比人工智能更具野心,个人感觉应该具有自动判定停机问题那样的难度。具体将该问题映射到虚拟化架构上,比如Xen VMM的Dom0,ESX VMM的Service Console,等操作系统就属于此类系统软件。请注意此类系统不可避免需要人工(系统管理员)参与才能完成系统配置工作。若采用TCG可信计算方法对其做度量,由于不可能对人的不可靠行为做度量,此类系统的行为,即便应用TCG可信计算方法度量后,仍然是不可确定的。又由于此类系统专门用于部署、管理虚拟架构上其它虚拟机,处于TCG可信计算方法期望建立的信任链之中间要害部位,所以它们的不确定性导致了所期望建立的信任链恰恰断裂于此处。Intel公司已经认识到了TCG可信计算方法在这方面的缺陷,推出的TXT技术仅强调可信度量链终止于所谓的“度量过的启动环境”(Measured Launch Environment,MLE),这个MLE大致是一个Type 1 Hypervisor。个人看法:在Type 1虚拟化架构上采用TCG可信计算方法逐层度量系统软件建立信任链直至客体虚拟机(包括如IBM Research推出的“vTPM“系统架构中的后端服务vTPM虚拟机),用TCG这种“强攻”(Brute Force)度量方法来建立可信软件环境应该属于说起容易做到难的事情。建立可信软件计算环境,尤其是在虚拟架构上,如何穿透不可度量的“非简单”性质服务系统(service console),至今仍还是一个科技攻关难题。严格讲ESX(Type 1),KVM(Type 2)这一类宏 hypervisors,也因为含有外设驱动,通信等等功能,也不再具有“简单”可度量性质。还是个人看法:若在虚拟架构上退而求其次,采用Intel TXT做法将度量链终止于MLE,则Type 1 Hypervisor中属于轻量级的Xen VMM最具有可信计算的可度量意义,应属于实现可信虚拟架构的首选VMM。但是TXT技术仅将有效软件度量终止于MLE这样的底层系统,无法让可信软件环境旁路掉Service Console这类不可度量系统而达到用户客体虚拟机(也无法达到IBM推出的vTPM后端服务虚拟机),我们所以说:在虚拟架构上建立可信云计算环境是:“革命尚未成功,同志仍需努力!”

TCG可信计算技术的信任链模型由于存在以上分析的内在缺陷,TXT技术由于度量不彻底问题,事实上造成了可信计算技术在应用上多年徘徊不前的尴尬局面。因而TCG技术从十多年以前提出最初理念,TXT技术推出也有不少年头了,迄今未能取得商业上成功的应用。这个问题已经成为实现可信虚拟化云计算数据中心的瓶颈。

道里云公司自主创新研究开发,提出并实现了一种叫做“无信任链可信计算技术”,专门针对TCG技术可信链断裂及TXT技术度量不彻底等难题提供了一种解决方案。这一技术能够让一个客体虚拟机与主宿Type 1 VMM二者实现互信,居于它们中间的“非简单”性质不可度量的服务console系统可以被完全绕过,仅用其提供与信息安全策略强制执行无关的服务业务。让我们共同努力创新,为可信计算技术与标准的进一步发展及其在可信云计算虚拟化架构上的有效应用做出应有的贡献。


原文链接: http://blog.csdn.net/wenbomao/article/details/6902379

你可能感兴趣的:(无信任链可信计算模型与可信虚拟化云计算数据中心解决方案)