你好,游客 登录
背景:
阅读新闻

云计算重头戏:可信计算技术

[日期:2009-02-03] 来源:IT专家网  作者:毛文波 [字体: ]

可信计算技术的一个重要应用就是保护软件的完整性,或者说是"硬化"软件,并将这一事实向用户作出担保.所以可信计算技术在云计算中也有重头戏可唱。

您也许不知道,中国在可信计算技术这一领域并不象其它许多高科技领域那样比国际上落后不少.可信计算联盟(Trusted Computing Group, TCG www.trustedcomputinggroup.org)是行业中的一个标准组织.TCG于2003年11月公开发布可信计算模块标准.而国内武汉大学早在2001年就开始独立进行可信计算的研究工作了.2004年可信计算样机都已经在武汉做出来了.所以说咱们中国在该领域的研究与开发工作起步一点都不比国外晚.

第三届亚太地区可信基础架构技术大会  将在今年10月14-17日于长江三峡的一条游轮上举办.中国可信计算联盟(CTCU),中国开源软件推进联盟(COPU)以及若干跨国公司将积极参与主办.会议邀请到了12位国际国内资深望重的讲师演讲.许多很有意思的问题如云计算的安全,软件硬化保护,硬件虚拟技术,等都将在会议上作深入浅出的讨论.

前几天我在"可信计算(1)"一文中声称:可信计算技术的一个重要应用就是保护软件的完整性,或者说是"硬化"软件,并将这一事实向用户作出担保.现对这一断言作一番技术说明.希望它Make Sense.

如图给出了可信计算的重要部件,可信平台模块(Trusted Platform Module, TPM),在计算机体系架构中的安装位置.TPM是个具有计算及存储功能的芯片.输入/输出控制器(I/O Controller)是连接外部设备与内存的总线.将TPM安装在I/O Controller中的目的是为了让TPM截获每一个从外存装载入内存的软件.所谓"截获",您尽管可以把它读作"偷听"(或叫"垂帘听政"也行).由 于是硬件连接,只要用户选择了"打开TCG功能",TPM的"偷听"行为就不可避免.当然囿于TPM的内存量,TPM仅存储被它"偷听"到的软件的一个哈 希值.TPM内部配备有哈希函数.

  

按照TCG的设计理念,TPM会按照整个系统及应用软件栈的装载顺序来"偷听"装载到计算平台上的所有软件.请不要担心TPM有没有这个海量, 由于采用了一个很聪明的哈希扩展算法,TPM的确会有办法来存储所有能够被平台所装载的全部软件.举例X86平台的软件装载过程:从机器加电启动开 始,TPM将顺序"偷听"并存储BIOS(通常是存在一个固件中,与附加ROMs一起,叫做BasicBootBlocks), MBR(Master Boot Record, 是系统硬盘上的第一个扇区内容), OS Loader(MBR所指向的一个足够大的磁盘区域,从其能够导入一个足够大的程序来执行OS的装载), OS, 用户应用程序1, 用户应用程序2,...(见下图,来源TCG).

  

如此顺序装载的程序叫做一个链(Chain).图中"度量"一个软件就是对该软件哈希.TPM之所以要把跑在计算平台上的整个软件链的哈希值记 录下来是为了能够把该平台上的软件加载状况向一个关心这一状况的人报告.比如该平台是一台云服务器,而关心者是云服务的用户.TPM可以对一分报告进行数 字签名,确保报告的真实性.TPM内有公钥密码算法使得TPM可以给出数字签名.

除了对TPM给出设计说明,TCG还给出了TPM设备驱动软件的设计说明.到此为止我对TCG技术作了一个非常简单的叙述.

假定在这样一个链中的这些程序都是正确的,则这个从底部BIOS开始到顶部用户应用程序的链就叫做信任链(a Chain of Trust),而BIOS又叫做信任链之根(the Root of a Chain of Trust).TCG当然无法控制任何这些软件的可信性!实际上通过TCG技术,一个平台软件状况的询问者仅仅是得到了平台软件状况而已,判断这些软件的 正确与否还是询问者自己的任务.TCG技术只是对询问者作出了真实的报告.

目前普遍认为TCG所设想的信任链如要包含商用操作系统是不切实际的.从BIOS一直到OS Loader,这些软件都不是很复杂,做到可信不会太难.惟独可信OS是个大难题.目前热门的做法是用可信硬件虚拟化的技术来绕开商用操作系统不可信的问题.我会在以后的一讲中尝试介绍.

推荐 打印 | 录入: | 阅读:
相关新闻      
本文评论   
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款