十年前,我从大学毕业并获得计算机科学学位,这之后一直有两个问题困扰着我。首先,经常有人问我 “你能修好我的电脑吗?” 在这个问题之后,偶尔还会接着问到下面的问题,“你知道怎么做网站吗?” 后一个问题直接导致我在业余时间内为朋友与亲戚创建了一些小网站。当然,我需要为这些网站提供主机服务,解决方法是显而易见的,我求助了一家来自云的虚拟机 (VM) 提供商。在众多提供商中进行选择很容易,对我而言,最重要的两点考虑是成本(我是免费为他人做网站的)和可靠性,确保这些网站始终可用。为了达到一个合理的速率,他们提供了一个服务器切片供我运行网站。对于我这种业余爱好者,很容易做出使用云这个低成本的决定。
对于公司,无论规模大小,都很难做出这种决定。尽管在全球范围内,对云计算的优点已经达成广泛共识,但安全性是妨碍它大规模推广的主要原因之一。如果委托第三方为生产功能或机密数据提供主机服务,可能导致服务中断、数据丢失或敏感信息泄露方面的担忧。谁敢说云提供商没有为客户提供增加了某些设备的虚拟机,从而窃取客户的机密数据呢!当需要保证可用性、硬件可靠性、规章合规性与数据私密性时,委托第三方来照看硬件、数据与网络流量显然不是什么好主意。
获得保证有很多种方式:监察机构、证书、定期检查或审查都有助于建立对云提供商的信任,但它们无法提供持续性和权威性的证据来证明一切都没有偏离正常轨道。在考虑属于自己 VM 的磁盘镜像—您如何能肯定地知道 VM 是从正确的设备引导的,而且磁盘镜像从未被篡改过吗?当然,云的本质决定了这是一个必须远程回答的问题,这又带来了其他难题:
- 我如何确定正在与我通信的是正确的计算机,而非某个中间人?
- 我如何知道响应是可靠的,而非被操纵,从而告诉我愿意听到的内容?
可信引导是 PowerSC 标准版的一个组成部分,可以为以上问题提供明确的答案。基于 Trusted Computing Group 的 Trusted Platform Module (TPM) 技术,可信引导仔细检查引导过程的每个步骤,采用了软件安全量度(加密哈希)并在虚拟 TPM (VTPM) 中记录数据。在 VTPM 中记录数据是一次性的,一旦有值被写入,就可以检索它,但不能修改或覆盖它。VTPM 没有提供撤消按钮。
VTPM 功能提供对加密能力的测量,因此伪造测量是不可能的。可信引导为引导过程的每一步骤都打造了牢不可破的信任链。对于 Power Systems 而言,这条信任链从系统管理程序开始,通过分区固件到达 AIX 和应用层中。信任链中的每个链接都负责测量下一环节,并将测量结果锁定在无法篡改的 VTPM 中。对于 AIX 而言,这意味着在有机会执行自己代码的指令之前,它已经被拆开并被“监视”,而测量结果被放在它无法触及的地方。如果有人修改了磁盘上的引导镜像,可信引导立刻就会知道。
图 1 . 可信引导示意图
在 AIX 引导镜像有机会执行之前,PowerVM 系统管理程序会对其进行审查。
AIX 已经包含可信执行(Trusted Execution)这种保护用户空间二进制不被修改的方法。可信引导通过测量可信执行数据库本身进一步加强了这一点。可信引导与可信执行联合为用户提供远程主机中的高级别信任,因为对系统上受监控文件所做的任何修改都将被检测到。
将测量结果与证书传递给第三方检验器是 Open Platform Trust Services (OpenPTS) 的任务。OpenPTS 是由 IBM Tokyo Research Labs 开发的一项开源技术,已经移植到 AIX for PowerSC 上。在笔记本电脑或单独的 AIX 分区上,远程用户可以证实他们的计算机正在运行正确的镜像。引导过程中记录的测量数据和一些其他重要属性会一起发送给检验器。这种交换包含了 VTPM 的唯一私有签名,可防止任何人模仿您特定的计算机。每个证实请求都会交换一个唯一编号,从根本上消除重放以前成功验证的可能性。基于这些标准,OpenPTS 软件仔细研究提供给它的测量信息,如果刚刚收到的信息与它保存的参考信息之间存在不匹配的地方,用户会收到来源不一致的警告。可信引导不会基于完整性检查的结果进行干预或采取行动,而是让用户根据 OpenPTS 提供的信息自行决定。
图 2.OpenPTS 示意图
OpenPTS 远程检验器验证多个 LPAR 中引导镜像的完整性。
当然,操作系统镜像并非静态的,而是需要经常进行更新、升级和打补丁。如果在进行计划内维护时,数据中心内的所有计算机都突然发出警告说有地方存在问题,那么这一定是一件让人讨厌的事情。AIX 知道可信引导何时运行,如果已经应用更新,而且测量数据在下一次引导时可能会发生变化,那么它会向用户发出警告。进行验证以接受或拒绝这些新测量,这是用户的责任。OpenPTS 验证器可以从命令行运行,让管理员能够将它包含在现有脚本和常规安全检查中。 有一个选项支持自动接受更新,但有先见之明的管理员应该始终检查伪更新是否存在。检验器维护一个包含最新值和未决值的集合,以便进行比较,因此可以在更新远程系统的同时保持信任链完全不受影响。
现在,由于在技术、经济与生态方面的优点,云计算正变得越来越流行。它允许企业脱离其 IT 基础架构,从而集中精力于主要活动,而且为交付计算资源(如即付即用资源)提供了新的途径。云计算的用户范围非常广泛,从希望限制初始资金投入的入门用户,到拥有重要处理需求的政府。当然,这种不断增长的要求也代表着令人惊讶的机遇。借助可信引导与 PowerSC 的其他组件,IBM 正在解决妨碍云计算发展的关键障碍,并在云安全性方面处于领先地位。
本文的英文原文最先在 IBM Systems Magazine 在线网站(www.ibmsystemsmag.com)上发布。
学习
- “AIX 安全命令”(developerWorks,2008 年 9 月):安全性是 AIX 操作系统的一个重要方面。阅读这个有关 AIX 安全命令的快速参考指南以了解更多信息。
- “AIX 安全:了解基础知识”(developerWorks,2011 年 11 月):全面了解如何保护您 AIX 系统的安全,包括 LDAP 服务器。
- AIX and UNIX 专区:developerWorks 的“AIX and UNIX 专区”提供了大量与 AIX 系统管理的所有方面相关的信息,您可以利用它们来扩展自己的 UNIX 技能。
- AIX and UNIX 新手入门:访问“AIX and UNIX 新手入门”页面可了解更多关于 AIX 和 UNIX 的内容。
- AIX and UNIX 专题汇总:AIX and UNIX 专区已经为您推出了很多的技术专题,为您总结了很多热门的知识点。我们在后面还会继续推出很多相关的热门专题给您,为了方便您的访问,我们在这里为您把本专区的所有专题进行汇总,让您更方便的找到您需要的内容。
-
AIX and UNIX 下载中心:在这里你可以下载到可以运行在 AIX 或者是 UNIX 系统上的 IBM 服务器软件以及工具,让您可以提前免费试用他们的强大功能。
- IBM Systems Magazine for AIX 中文版:本杂志的内容更加关注于趋势和企业级架构应用方面的内容,同时对于新兴的技术、产品、应用方式等也有很深入的探讨。IBM Systems Magazine 的内容都是由十分资深的业内人士撰写的,包括 IBM 的合作伙伴、IBM 的主机工程师以及高级管理人员。所以,从这些内容中,您可以了解到更高层次的应用理念,让您在选择和应用 IBM 系统时有一个更好的认识。
讨论
- 加入 developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。